Dirk wrote:
Hello Toby,

I have modified the sanity checker in the latest pin handler branch. It has now two functions to query for existing items and their parents, one function to get a list of directories that must be created in order to make the path valid and one function, that will mimic the "svnadmin load" behavoir in the sence, that it will use the provided svn dumpfile node to perform the apropriate modification on the state of the repository. I have also moved all "sanity checks" to the action handlers in the Dumpfile.pm. Actually the SanityChecker module should be called DumySvnRepository, or something like that, since it doesn't perform the checks itself. It only provides the necessary information.

The _get_svn_struct_ref_for_move function and its logic is still the heart of the module. It will query the tree and answer all questions in the exists, exists_parent and get_missing_dirs.

What I broke in this modification is the "junkpath" handling. I have no reasonable test szenario to check, how this should work, but I expect, that this is also some kind of "sanity check" within one action handler.
That's no problem for now; I wasn't really sure how that should be handled either and how I did it was probably not the best. Now that we have a separate module that can mimic the SVN repository structure, maybe the junkpath stuff could move to its own separate logic.

Since I "load" the svn nodes to perform the modifications in my dummy-repository I can come across a situation where I need to copy-from a previous revision. Currently I use the copy-from-path to check, whether the path is available in the current state, and then I perform a lookup in the deleted path list. I expect, that this will be a problem, where someone deleted a directory and created a directory with the same name again but with a different content.

The only alternative is to track the state for each revision. But this would be an expensive task.
I agree, tracking each revision I think would become too expensive to be usable!

Hope I didn't messed up your code to much.
Nah, you're still working in the branch so have at it! :) I'm going to leave the 0.10 release with the old code, then I think we can simply copy your branch to trunk wholesale (don't even worry about merging) once that is finished.

toby
_______________________________________________
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
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user

Reply via email to