> > If I read this correct, you mean your development team used a zero > content checkin workaround in order to prevent file deletions. Because, > there is no code in vss2svn that will rewrite deletions into zero content. > Well I can only guess why someone would want to check in a zero length file. But this is what I found in the database and vss2svn just omitted these checkins and the file was fully restored after the conversion.
> > The change in line 769 just moves the timestamps into my timezone > > (UTC+2h). This would be a candidate for a command line parameter. > > In C/C++ there is a corresponding "localtime" function that will return > the time in the correct timezone. Isn't there an equivalent function for > perl? But anyway, we could also change it into a command line parameter. > Yes but VSS timestamps are already local time. And applying localtime to a local time would shift the time even farther away from UTC. What would be needed here is a function that guesses the correct timezone and daylight savings active at that time and reverse it. > > The FixAddParentTimestamp corrects the problem that some parents are > > created after their childs which causes the svn import to fail. > > This is a workaround for the archive or delete szenario, where the real > parents of the item does not exist anymore. I'm not sure, whether this > is the correct solution and I don't want to be picky here. The old code > should have detected this situation in the SanityChecker and should have > moved all these problematic files into the orphaned folder, until the > creation of their new parent. I think we should work on this side and > improve the logic, to fix the remaining issues. I expect also > conflicting szenarios that are very problematic to solve. for example > think of two projects with the same name. > There was at least one action for the child that was related to a particular existing parent before its creation otherwise the svn import would not have failed. Actually without the widetime patches these files were orphaned but then missing in the parent and the import succeeded. > > Files that have beed deleted, recovered then shared and pinned back > > past the point where they had been recovered. They have a newer > > version than they are pinned to. > > is the pin point also before the point where the item has been deleted, > or is it in between? See also your last observation. > I believe these files had no version between the deletion and the recovery to which they could have been pinned. I will check that again. > > I've found one file that has been branched first then shared. No idea > > how this could happen. > > Why is this problematic? E.g. you can branch baaaaaaa to caaaaaaa, and > later share baaaaaaa to some other place. also you can share the > branched item caaaaaaa to any other place. Or did I misunderstood you? > I think the branch was the very first action before any share. Maybe I am misinterpreting this. Please see the attachment. > > And one file that was recovered has seen a commit while it was deleted. > > Yes this can happen via shares. If one share of a shared file is > deleted, the still existing share will also update the deleted share > during commits (the physical file of the two share is identical). If you > recover, the item will be recovered to the latests state, regardless of > the state prior to the delete. > > In svn each item is seperate. Commiting to a shared item will result in > a commit to all shares. Since one of the item is deleted, we can not > commit to this deleted item. Recovering, will recover to the state prior > of the delete. The only way is to not really delete the items, but to > move them into the _Attic. There they can take place in commits and if > we recover, we move them out of the _Attic. > > Another alternative would be to not recover the file, but to copy From > one of the vivid shares. > > A third alternative would be to generate 2 subversion actions: 1 > recover, and one commit to the last state > The first alternative would be best if this is only done for files that had a commit during the deletion. The last alternative would produce a commit that no one knows where it was coming from. The second is ok when there is a comment stateing that this was meant to be a recover.
datacache.PhysicalAction.tmp.txt:196837 JQLAAAAA 1 \N ADD BLACKBOX.H 2 903622448 sf 0 \N 1 AAAAALQJ 0 datacache.PhysicalAction.tmp.txt:233870 JQLAAAAA \N LPLAAAAA ADD BLACKBOX.H 2 903622448 sf 0 \N 1 AAAAALQJ 1 datacache.PhysicalAction.tmp.txt:167391 JBPAAAAA \N IBPAAAAA ADD BLACKBOX.H 2 922204213 sf 0 \N 1 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:187187 JBPAAAAA 1 \N ADD BLACKBOX.H 2 922204213 sf 0 \N 1 AAAAAPBJ 0 datacache.PhysicalAction.tmp.txt:189214 JEJBAAAA 2 \N BRANCH BLACKBOX.H 2 950785128 sf 0 JBPAAAAA 3 AAAABJEJ 0 datacache.PhysicalAction.tmp.txt:494972 JBPAAAAA \N YRAAAAAA SHARE BLACKBOX.H 2 950785616 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:494973 JEJBAAAA \N YRAAAAAA BRANCH BLACKBOX.H 2 950785641 sf 0 JBPAAAAA 3 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:167588 JBPAAAAA \N IBPAAAAA DELETE BLACKBOX.H 2 951472781 sf 0 \N 5 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:167590 JBPAAAAA \N IBPAAAAA RECOVER BLACKBOX.H 2 951697254 sf 0 \N 5 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:34604 BPSBAAAA 5 \N BRANCH BLACKBOX.H 2 956500011 sf 0 JEJBAAAA 3 AAAABSPB 0 datacache.PhysicalAction.tmp.txt:294633 BPSBAAAA \N OOSBAAAA BRANCH BLACKBOX.H 2 956500011 sf 0 JEJBAAAA 3 AAAABSPB 1 datacache.PhysicalAction.tmp.txt:294632 JEJBAAAA 4 OOSBAAAA SHARE BLACKBOX.H 2 956500011 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:1910 BCUBAAAA \N ACUBAAAA BRANCH BLACKBOX.H 2 956500255 sf 0 JBPAAAAA 3 AAAABUCB 1 datacache.PhysicalAction.tmp.txt:24887 BCUBAAAA 2 \N BRANCH BLACKBOX.H 2 956500255 sf 0 JBPAAAAA 3 AAAABUCB 0 datacache.PhysicalAction.tmp.txt:1909 JBPAAAAA 1 ACUBAAAA SHARE BLACKBOX.H 2 956500255 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:169652 IEFCAAAA 5 \N BRANCH BLACKBOX.H 2 959341441 sf 0 JEJBAAAA 3 AAAACFEI 0 datacache.PhysicalAction.tmp.txt:421789 IEFCAAAA \N VDFCAAAA BRANCH BLACKBOX.H 2 959341441 sf 0 JEJBAAAA 3 AAAACFEI 1 datacache.PhysicalAction.tmp.txt:421788 JEJBAAAA 4 VDFCAAAA SHARE BLACKBOX.H 2 959341441 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:159931 IRGCAAAA \N HRGCAAAA BRANCH BLACKBOX.H 2 959341750 sf 0 JBPAAAAA 3 AAAACGRI 1 datacache.PhysicalAction.tmp.txt:179740 IRGCAAAA 2 \N BRANCH BLACKBOX.H 2 959341750 sf 0 JBPAAAAA 3 AAAACGRI 0 datacache.PhysicalAction.tmp.txt:159930 JBPAAAAA 1 HRGCAAAA SHARE BLACKBOX.H 2 959341750 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:323496 JEJBAAAA 4 PYADAAAA SHARE BLACKBOX.H 2 974293175 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:262249 JBPAAAAA 1 NBBDAAAA SHARE BLACKBOX.H 2 974293471 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:214687 JEJBAAAA 4 KQFDAAAA SHARE BLACKBOX.H 2 991407248 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:276744 JBPAAAAA 2 NSFDAAAA SHARE BLACKBOX.H 2 991407366 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:59818 JEJBAAAA 4 CUGDAAAA SHARE BLACKBOX.H 2 992356087 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:122294 JBPAAAAA 2 FWGDAAAA SHARE BLACKBOX.H 2 992356236 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:146633 JEJBAAAA 4 HBJDAAAA SHARE BLACKBOX.H 2 1006246226 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:264885 JBPAAAAA 2 NDJDAAAA SHARE BLACKBOX.H 2 1006246385 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:5685 JEJBAAAA 4 AGLDAAAA SHARE BLACKBOX.H 2 1013697881 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:132682 JBPAAAAA 2 GILDAAAA SHARE BLACKBOX.H 2 1013697943 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:371775 JEJBAAAA 4 SPMDAAAA SHARE BLACKBOX.H 2 1015518179 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:495812 JBPAAAAA 2 YRMDAAAA SHARE BLACKBOX.H 2 1015518248 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:487309 JEJBAAAA \N YHODAAAA SHARE BLACKBOX.H 2 1018634358 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:111946 JBPAAAAA \N FKODAAAA SHARE BLACKBOX.H 2 1018634454 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:54254 JEJBAAAA 4 CNUDAAAA SHARE BLACKBOX.H 2 1032262617 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:178297 JBPAAAAA 2 IPUDAAAA SHARE BLACKBOX.H 2 1032262684 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:265309 JEJBAAAA 4 NDWDAAAA SHARE BLACKBOX.H 2 1034872830 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:423839 JBPAAAAA 2 VFWDAAAA SHARE BLACKBOX.H 2 1034873217 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:230180 JEJBAAAA 4 LKDEAAAA SHARE BLACKBOX.H 2 1077268363 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:351784 JBPAAAAA 2 RNDEAAAA SHARE BLACKBOX.H 2 1077268414 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:431351 JEJBAAAA 4 VPMEAAAA SHARE BLACKBOX.H 2 1113844472 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:217033 JBPAAAAA 2 KSMEAAAA SHARE BLACKBOX.H 2 1113844514 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:8677 JEJBAAAA 4 AJREAAAA SHARE BLACKBOX.H 2 1126801169 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:312885 JBPAAAAA 2 PLREAAAA SHARE BLACKBOX.H 2 1126801360 sf 0 \N 2 AAAAAPBJ 1 datacache.PhysicalAction.tmp.txt:291247 JEJBAAAA 4 OKZEAAAA SHARE BLACKBOX.H 2 1148288490 sf 0 \N 2 AAAABJEJ 1 datacache.PhysicalAction.tmp.txt:315499 JBPAAAAA 2 POZEAAAA SHARE BLACKBOX.H 2 1148288552 sf 0 \N 2 AAAAAPBJ 1
_______________________________________________ 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