>> I just have reverted the delete/recover handling to the algorithm
>> used in the beta-2 version. This is that the deleted items are
>> tracked seperately. If you want to help, you can test the latest
>> revision. I have not done intensive testing with my archive. So be
>> aware, it could brake in other scenarios.
>
> I don't have much time currently, so I didn't tested this modification
> on my archive. I have done this now, and it seems, that the change was
> to short sighted. When you have shared an item between two projects
> and you delete it from both projects only the last revision number is
> remembered. When you recover the first delete you will run into
> problems again, since the revision number is the wrong one.
I have checked in a quick and dirty fix. I haven't tested it on my full
archive, but my test scenario works. You need to rerun the conversion
process from the whole beginning (except probably --resume --task INIT)
since I changed the database layout.
Hi Dirk. The latest change fails when loading the dumpfile. Note
that I also commented out the "sanity check" in Dumpfile.pm for this
conversion.
Basically, multiple files were shared from $/Project/Directory to
$Project/Source/Directory, then deleted in $Project/Source/Directory.
A couple of months later a few of the deleted files were recovered.
What is odd is that in the svn converted repo, only one of the
deleted/recovered files was added back from the recover action, and I
can't figure out why only this file (foo.cpp) was recovered.
The load error is:
svnadmin: File not found: transaction '6142-1', path
'$Project/Source/Directory/sym.cpp'
* editing path : $Project/Source/Directory/sym.cpp ...
Looking at the datacache files :
$ grep symbdrw.cpp d*
datachache.PhysicalAction.tmp.txt:33472 FECAAAAA 1 \N
ADD sym.cpp 2 824167596 Hill 0 \N 1
AAAAACEF 0 \N \N
datachache.PhysicalAction.tmp.txt:59545 JSRCAAAA 24 \N
BRANCH sym.cpp 2 994931476 Bill 0 FECAAAAA
3
AAAACRSJ 0 \N \N
datachache.PhysicalAction.tmp.txt:125130 FECAAAAA \N
VFECAAAA SHARE sym.cpp 2 988984711 Chris 0
\N 2 AAAAACEF 1 \N \N
datachache.PhysicalAction.tmp.txt:125234 JSRCAAAA \N
VFECAAAA BRANCH sym.cpp 2 994931476 Bill 0
F
ECAAAAA 3 AAAACRSJ 1 \N \N
datachache.PhysicalAction.tmp.txt:125297 JSRCAAAA \N
VFECAAAA DELETE sym.cpp 2 1011796376 Tim 0
\N 5 AAAACRSJ 1 \N \N
datachache.PhysicalAction.tmp.txt:125309 JSRCAAAA \N
VFECAAAA RECOVER sym.cpp 2 1017228083 Thai 0
\N 5 AAAACRSJ 1 \N \N
datachache.VssAction.tmp.txt:2240 VFECAAAA FECAAAAA
1 ADD /Project/Source/Directory/sym.cpp' 2 0
\N
datachache.VssAction.tmp.txt:8353 VFECAAAA JSRCAAAA
24 BRANCH /Project/Source/Directory/sym.cpp' 2 0
\N
datachache.VssAction.tmp.txt:20203 VFECAAAA JSRCAAAA
\N DELETE /Project/Source/Directory/sym.cpp' 2 0
\N
datachache.VssAction.tmp.txt:23378 VFECAAAA JSRCAAAA
24 RECOVER /Project/Source/Directory/sym.cpp' 2 0
/Project/Source/Directory/sym.cpp'
datachache.VssAction.tmp.txt:23554 \N JSRCAAAA 25
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
datachache.VssAction.tmp.txt:23685 \N JSRCAAAA 26
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
datachache.VssAction.tmp.txt:38798 \N JSRCAAAA 27
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
datachache.VssAction.tmp.txt:45208 \N JSRCAAAA 28
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
datachache.VssAction.tmp.txt:51680 \N JSRCAAAA 29
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
datachache.VssAction.tmp.txt:57599 \N JSRCAAAA 30
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
datachache.VssAction.tmp.txt:66505 \N JSRCAAAA 31
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
datachache.VssAction.tmp.txt:75475 \N JSRCAAAA 32
COMMIT /Project/Source/Directory/sym.cpp' 2 0 \N
Looking at the code of sym.cpp it corresponds with the version 1 in
the vss database. This version was created in 1996 in
$/Omega/Directory. $/Omega was "renamed" to $Project, which was then
later "renamed" to $Source, then $Project was added and the files were
shared from $Source in 2001. Then, $Source was deleted and destroyed.
So, from this logic the svn repository actually begins on that date
the files were shared to $Project in 2001. Yet, the sym.cpp file was
added to the svn repo from a revision created in 1996. I wonder if
this is causing the error.
I can try to putback the sanity check and see what happens...just
wanted to let you know in the meantime.
Thanks,
Jon
_______________________________________________
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