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