Hello Kenneth, hello Leo,

I see you are using my pin_handler branch. As I said, I only accept patches ;-),but here comes a small explanation:

Since VSS only uses the last known name for each item, but subversion is fully sensitive to the itempathes throughout the history, we need to store each itempath for each item and each version of the item. Since items can be shared and the parents have different pathes, we also need to track the itempathes seperate for each parent. This is done in the ActionHandler. In the Dumpfile I track the mapping between parent/item;version and the Copy-from path and revision.

Since you have the most problems in the ActionHandler, I only refer to the first step. There are the following problematic szenarios:

* pinned and deleted items can be renamed via one of its shares
* unpinning and restoring items restore them to the latest version of the item
* deleting parents can lead to orphaned items
* deleting parents and their ancestors can lead invalid item pathes

So now to the errors:

Use of uninitialized value in join or string at ./vss2svn.pl line 681.
for some reason an action happend on an item, but there was no itempath recoverable for this action. The apropriate _handler in the ActionHandler should answer with a better failure and return 0, but instead return true with an empty itempath.

Please look into the ActionHandler and see, what type of action happend (probably move. This is the only action I havn't taken care of, yet)

Lots of the line 681 error.

Use of uninitialized value in concatenation (.) or string at Vss2Svn/ActionHandler.pm line 494.

The _recover_handler couldn't determine the pathname of the parent. Could it be, that one of the parents is deleted?

I made a change in ActionHandler, line 649, that the path is undefined, if one of the parents is deleted.

ERROR -- No more active itempath to commit to 'ZUKAAAAA':
ZUKAAAAA, OGEAAAAA, OGEAAAAA,
at ./vss2svn.pl line 638

This is strange. Due to shares, we must replicate any commit on all shares. So we lookup all active itempathes for the last version of this item. With active I mean pathes in which the item is not pinned or deleted and all parents and their parents are still active, too. Since you can not checkin if you do not have at least on active path, this shouldn't happen at all.

So please look, whether there was another message about this file before this message, and again, please check the "history" of the item manually in the PhysicalAction cache.

Use of uninitialized value in concatenation (.) or string at Vss2Svn/ActionHandler.pm line 414.

Same as the the _recover_handler above. Could it be, that one of the parents is deleted?

Use of uninitialized value in concatenation (.) or string at Vss2Svn/ActionHandler.pm line 256.

Again the same.

But now the big question: Why can we have such a share/delete/recover if one of the parents is deleted. You can not access the item in this case any more. The only explanation I have for this is a messed up time sequence, or you had a move and moves are not yet correctly handled, since I didn't used this feature. I should better print an error message in case of a move action.

If you can, please try to lookup the history of one of the problematic items manually including its parents.


Dirk

_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users-lists.pumacode.org

Reply via email to