On Wed, May 28, 2008 at 6:03 PM, Pierre Habouzit <madcoder@xxxxxxxxxx> wrote: > Sorry for the top posting but the git list isn't really the upstream > for parsecvs. I'm now Cc-ing keithp who is the author :) I shall keep CC'ing git@ for visibility if anyone else comes across this :-) > > On Wed, May 28, 2008 at 04:53:30PM +0000, Alex Bennee wrote: >> On Wed, May 28, 2008 at 3:50 PM, Alex Bennee <kernel-hacker@xxxxxxxxxx> wrote: >> > Hi, >> > <snip> >> > Anyway today I noticed it had failed to import a sub-directory of the >> > project (not a bit I usually build). <snip> >> >> Well in answer to myself parsecvs does get confused. In an example >> failed to import file: >> >> Load: third-party/libxml/runtest.c,v 8207 of 79070 >> /export/git/master.cvs/third-party/libxml/runtest.c,v spliced: >> 1.1.1.1 >> 1.1 >> Sorted heads for /export/git/master.cvs/third-party/libxml/runtest.c,v >> master 1.1 >> master > BRANCH-3-5-branch 1.1.1.1.0.2 >> master > BRANCH-3-5-16-branch 1.1.1.1.0.4 >> building branches for /export/git/master.cvs/third-party/libxml/runtest.c,v >> file sha1: b694d565caf10fedbc7566f2bf15b893c57d5a19 >> file sha1: b694d565caf10fedbc7566f2bf15b893c57d5a19 >> file has 2 revisions >> >> An lo, looking at the branches mentioned these missing files are >> there. Trouble is the files should be in a number of branches, looking >> at the ,v file in question: <snip> >> BRANCH-3-3-20-red-e1-opt-branch:1.1.1.1 <snip> >> I notice >> looking at the log for some of the files that did make it that the CVS >> revisions for all the branches have a .0.[something] suffix which the >> missing branches in this case don't have. <snip> So I understand how this has happened. This particular module was imported directly into the working branch at the time (BRANCH-3-3-20-red-e1-opt-branch) where as other modules where imported into the CVS HEAD and then branched into the current working branch. As a result the branch tag didn't have the magic 0 in it. We where able to work around the import failure by deleting the branch tag from the module and then branching it again. The new branch tag became: BRANCH-3-3-20-red-e1-opt-branch:1.1.1.1.0.6 which parsecvs was able to correctly parse and assign to the correct GIT branch on import. I'm guessing this is a corner case that could do with better handling but in our case it was solved by tweaking our CVS repository. -- Alex, homepage: http://www.bennee.com/~alex/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html