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