Hi Jon,
I'm moving this discussion to the mailing list again since this is of
general interest.
To all others reading this mail: Jon is working with the pin-handler
branch and has a project that was deleted and later recovered. Since the
recover will restore the version of the item that existed before the
delete, all modifications on the subitems are lost that have been
performed between the last version and the delete. This is due to the
fact, that vss performs a per item versioning. More details can be
lookued up in the ticket #32.
> With the svn repo, the recover action is revision 34081, and it is
> recovering from revision 11978, which is when the PROJECT directory
> was created. Shouldn't it get the revision previous to when the
> directory was deleted? The file in question wasn't created at the
> same time that the directory was created, so is doesn't exist in rev
> 11978.
you are right, this is indeed a valid point. I have to look up the
details of the _track_item_paths function. This function tracks all
"valid" pathes and revisions from where we can copy-from. Currently I
create a new entry if I encounter a *new* traceable version in vss, that
is when an item is modified, so that it creates a new version. It seems,
that I missed to track the delete action.
Thanks for looking this up. I will create a test szenario for this and
see, whether I can solve this issue later easily.
Thank you for creating Ticket #32. I'm currently editing the dumpfile
and removing the "delete" and "recover" revision information.
Hopefully this won't have other side effects that I don't notice. I
was thinking about filtering this dumpfile through the svndumpfilter
to remove empty revisions (after making the edits) to see if that
helps any also.
Is there anything that I can do to help get this fix, and the "move"
command fix in the pinhandler branch?
I had a quick look into both issues, but due to a complete time
overflow, I had no time to dig into this deeper. Also for the
delete/recover issue, it seems, that the impact on the code is much
bigger than I expected. The problem is the per item versioning of VSS.
You can think of the way how the relations are stored in the files as
of a tree, somtimes with bidirectonal links between the parents to the
childs and sometimes only from the parent to the childs. For example the
information of an and addition or share is stored in the parent and the
child. But a delete for example is only stored in the parent.
We know only from the parent, that the file was deleted, and we know the
timestamp when it was deleted. But we do not know the version of the
item when it was deleted. So we can not recover the version previous to
the delete. We must introduce a dummy version or something like that.
When Toby started the converter, he was under the impression, that it is
sufficient to map all information that is stored with the parent back to
the childs. But now we have at least two scenarions, where no child
activity is recorded. I'm currently thinking of a way, how we can
recover the lost information, or whether we need to rethink the design.
So, currently there is no much you can do. I'm sorry.
But you can perform intensive testing after it is finished. I will have
some time this night. If I'm not to tired I will try to make some
progress on these issues.
The conversion is actually starting to look pretty good. I now have a
conversion with 40,000+ revisions! I still need to do diffs on all of
the files, but so far so good.
Nice to here that.
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
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user