For example we could accept a "directory map" input file such as:

${ROOT} = /trunk
${LABELS} = /labels
${ORPHANS} = /orphan
/projects/Website1 = /trunk/web/site1
/projects/Website2 = /trunk/web/site2

It would need to be a strict string replace anchored to the beginning of the path string, otherwise it would be impossible to be sure that there are no overlapping targets. And we can't have overlapping or duplicate targets because it would completely throw off the internal state tracking and sanity checker for individual items.

Of course if it didn't require that the mappings must match path boundaries then your example would still work. In other words we're talking about a simple s/^$from/$to/ without needing to check whether the "from" grabbed an entire folder name or just part of one.

Huh, tough task. My change was rather simple compared to this, since I only renamed the physical root record "AAAAAAAA" [1] during the conversion. You are more looking for a search and replace within the converted VssAction history. Why not. So one have to assure, that the problematic actions like rename, branch, archive and so on does not mess up with this. Intermediate missing directories are created on the fly. But I would still stick to do the first 3 (ROOT, LABELS; ORPHANS) during the conversion, and only to do some logical rearrangements after the ActionHandler.

Dirk

[1] http://www.pumacode.org/projects/vss2svn/browser/trunk/script/Vss2Svn/ActionHandler.pm#L718

_______________________________________________
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