Re: [PATCH] Make cvs2git a little more consitent
Alex Bennee <[email protected]> Fri, 10 Dec 2010 11:44:19 +0000
| Newsgroups | gmane.comp.version-control.subversion.cvs2svn.devel |
|---|---|
| Message-ID | <[email protected]> |
On 9 December 2010 20:33, Michael Haggerty <[email protected]> wrote: > On 12/09/2010 04:44 PM, Alex Bennee wrote: >> I've been experimenting with switching our incremental CVS repo >> conversion from the unmaintained parsecvs to cvs2git. However I found >> that subsequent imports would yield repos with different base commits. > > Yes, that's not a surprise. > <snip> > Thanks for the patch. Indeed, you found one source of gratuitous > pseudo-randomness in the output, and you are right that the lines in the > log message should somehow be put in a deterministic order. > > But instead of sorting by the CVSSymbol instances (which are ordered by > ID, which itself is not consistent from one run to the next), > <snip> > I hope this helps the consistency. Please let us know about your > experience with incremental conversion -- how reliably does it work for > you? (It certainly cannot work 100% of the time, but I am very curious > what the actual percentage is.) If you can find a recipe that works > most of the time, please report it, as I'm sure other people would be > interested. Ahh yes, that makes more sense. My patch did improve things somewhat but before I applied your patch I did see this artifact: git log <branch> > master.log (for each import) diff --suppress-common-lines -y master.log ../master.testing2.git/master.log) > nms-manager-apps/vsodu/redundancy.c > nms-manager-apps/vsodu/redundancy.h commit 9fd2e977298b096149b696773fa1e7010d7a8e76 | commit 8c800659ae815c5f8b1cbc51395a0cc7acff5914 commit 40a6b9f3113a5b9e30ce4be432c1eddbd093a033 | commit 1b1a68308dd50cc471f4ca8011db33905a377fc1 commit b94c7167e6bee1989fca18eca97745dc80322e3a | commit 5b8fbfc17d258237916bc30b2aea650f9b1a49ec commit da6b8291e9f670f034ae96ef0cf01d19829f812e | commit 36743bab421acf2d4d7f4d91c469831327a6a1c8 commit 25224b0ca540806e39d74e72fc18de73cb23ff6a | commit 09c91be288653c1e8c6fbcb37731f56d44b7e1d7 commit aba638ab2144f5ac0b68d82079a386d3821ff76c | commit 1ff4d6f96ce3ed091dd82c9d28c36edf8c1ad0fb commit 066a4c81934bbdbb4aac279cf1ce84f5dd7fd7a7 | commit 333b9066c19ae299a24921071abf45b1ab5c34d9 commit f848ee7555f1edaa518c392840b33cd409d04e22 | commit a7e13d1429ce679182c889b2bdc96222d6f2390c commit 35ab5a51f5e9e2f510eb45d04d625b0a74bd5bc6 | commit 991d4f405d148f8bdd57df6bb372af0ff0a1276c commit 5dda3c412ed68cd4397b644b7de40110326e8c1d < Author: cvs2svn <[email protected]> < Date: Mon Feb 6 17:46:24 2006 +0000 < < This commit was manufactured by cvs2svn to create branch < 'vectastar-3-3-20-red-e1-opt-branch'. < < Cherrypick from master 2006-02-06 17:46:23 UTC jbpn ' - < nms-manager-apps/vsodu/redundancy.c < nms-manager-apps/vsodu/redundancy.h < < Showing that the manufactured commit makes different decisions when to include some files. That causes the first commit divergence in the history. I will report back once I've done a couple runs with your changes. The import process currently takes around 6 hours so it might be a few days before I have some more examples. On that note I do have some profile output if anyone is interested in looking at performance? -- Alex, homepage: http://www.bennee.com/~alex/ http://www.half-llama.co.uk ------------------------------------------------------ http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2689503 To unsubscribe from this discussion, e-mail: [[email protected]].