>> 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

Reply via email to