cvsps has changed maintainers, to ESR, and he has ripped out command line flags in the cvsps-3.x series. The changes break git-cvsimport, because it calls cvsps with some flags that are no longer valid in ESR's tree: --norc, -u, -A, -q, and --cvs-direct Arch linux currently installs cvsps-3.4, and git-cvsimport is broken there too. Solutions: 1. Hack /usr/libexec/cvs-core/git-cvsimport (or possibly patch the git ebuild) 2. Downgrade cvsps to 2.2_beta1 I have not thoroughly tested git-cvsimport with the options ripped out, so option 1 may not be any good. I don't know if git-cvsimport depended on any of those options in some subtle way. By the way, cvsps 3.5 is out, although it has the same problem. Reproducible: Always
Can you try his own reimplementation of the importer? http://gitorious.org/cvsps/cvsps/blobs/master/git-cvsimport.py I'd include it and rescribe as a temporary workaround.
Ah! Iand I forgot the main comment: If you have access to the whole cvs tree you might like to use --fast-export.
The python replacement, tested in an empty directory: $ git cvsimport -d :pserver:anonymous@lirc.cvs.sourceforge.net/cvsroot/lirc lirc debug: This is ESR's python script. git_cvsimport: output directory is not a git repository $ git init $ git cvsimport -d :pserver:anonymous@lirc.cvs.sourceforge.net/cvsroot/lirc lirc debug: This is ESR's python script. fatal: bad default revision 'HEAD' git cvsimport: child returned 128.[1] $ git add -A $ git commit --allow-empty -m "." $ git cvsimport -d :pserver:anonymous@lirc.cvs.sourceforge.net/cvsroot/lirc lirc debug: This is ESR's python script. cvsps: NOTICE: used alternate strip path /cvsroot/lirc/lirc/ cvsps: branch symbol lirc-0_8_7pre2-branch not translated fatal: mark :0 not declared fast-import: dumping crash report to .git/fast_import_crash_21509 git_cvsimport: git cvsimport: child returned 128. I'm now using `cvsps --fast-export ... | git fast-import` as you suggested to avoid cvsimport. So far it seems to work.
I've played a bit with git-cvsimport.py and found it quite buggy :] Masked until it will be able to import some decent repo: # Sergei Trofimovich <slyfox@gentoo.org> (05 Jan 2013) # Masked for testing. Known to hang on large repos, # is not compatible with cvsps-2 (like bug #450424) >=dev-vcs/cvsps-3
(In reply to comment #3) > The python replacement, tested in an empty directory: > $ git cvsimport -d :pserver:anonymous@lirc.cvs.sourceforge.net/cvsroot/lirc > lirc > debug: This is ESR's python script. > git_cvsimport: output directory is not a git repository Yeah, it's a bit silly. It needs an explicit missing directoyry as an argument: > $ git cvsimport -d :pserver:anonymous@lirc.cvs.sourceforge.net/cvsroot/lirc -C somewhere lirc should work. but it definetly sucks :]
Pushed 3.7 which does not hang on repos anymore and should import repos N times faster (haven't patched/packaged new git-cvsimport yet).
Moved cvsps-3 to SLOT=3 as: > *cvsps-3.13-r1 (24 Aug 2014) > > 24 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org> +cvsps-3.13-r1.ebuild, > +files/cvsps-3.13-make.patch, -cvsps-2.1.ebuild, -cvsps-3.10.ebuild, > -cvsps-3.13.ebuild: > Slot cvsps-3 to SLOT=3 to let git-cvsimport work with cvsps-2 (bug #450424).
Now git uses cvsps:0 (which is cvsps-2): > 24 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org> git-1.8.1.5-r1.ebuild, > git-1.8.1.5.ebuild, git-1.8.2.1.ebuild, git-1.8.3.2-r1.ebuild, > git-1.8.4.5.ebuild, git-1.8.5.5.ebuild, git-1.9.3.ebuild, git-2.0.2.ebuild, > git-2.0.4.ebuild, git-2.1.0.ebuild, git-9999-r1.ebuild, git-9999-r2.ebuild, . git-9999-r3.ebuild, git-9999.ebuild: > cvsps-3 is explicitely incompatible with git-cvsimport (bug #450424). Thanks for the report!