Log in

No account? Create an account

Mozilla CVS

« previous entry | next entry »
Mar. 6th, 2007 | 09:55 am

There's some things I'd like to try on the mozilla code base, but since I lack write access to their CVS branching or creating new directories doesn't work so well.

So I had this bright idea, why not try converting the mozilla cvs to git (one of several distributed version control systems). Git's performance is quite impressive, I tried to import a checked out copy of gnucash into darcs 1.0.5 and darcs couldn't process the entire tree in one pass, and recursively committing chunks took an hour or two. Git not only imported the whole tree, it did it in a couple of minutes. Git is also used for developing the linux kernel and so seems like a good choice for large projects.

Unfortunately the tools to convert repositories have a bit of trouble with a 3.3 GiB CVS tree.

git-cvsimport (1.5.0) runs for a few a little while and then dies looking for a branch "origin" which it was supposed to have created. Tailor using cvsps sometimes fails at checking out the tree, and regardless ends up thinking there are no objects to commit. Tailor with just cvs churned for a while before running out of memory.

I tried a version of parsecvs I got with git clone http://www.kernel.org/pub/scm/linux/kernel/git/viro/parsecvs.git (which when I pulled yesterday needed to be compiled against git-1.5.0 or higher).

Parsecvs did actually create a git tree after several hours (on a slow system), but got stuck in an infinite loop trying to parse the branch information. When I did a gdb attach and stopped parsecvs it was running in:
rev_find_head (rl=0x85c5ce0, name=0x8afa888 "CONRAD_DYN_PROFILE_BRANCH")
    at revlist.c:44

Maybe I should just do the lazy thing and have a simple CVS checkout which I import into git, its not like I need to roll back to firefox 1.0 or something. I just need to branch against the mozilla cvs HEAD

Link | Leave a comment | Share

Comments {0}