Subject: Re[2]: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)

From: Ilya Basin <[email-masked]>
Date: Sat, 20 Apr 2013 14:22:51 +0400

Hi Eric.

ESR> cvs-fast-export does not have incremental-import support.
ESR> Whether git-cvs-import has it depend on which version you have
ESR> and what backend it it is using. I don't maintain that wrapper.
Did you mean "git-fast-import"? Or do you know any wrapper that
already uses cvsps3 --fast-export?

>> I need it, because full import takes too long.
>> The central repo of my employer is CVS, other people commit to it and
>> I use git internally to be able to tidy my commit history before
>> exporting to CVS.

ESR> You are out of luck. That feature was dependent on a very fragile
ESR> coupling...
OK, OK, I get it.

First of all, I think cvsps3 has almost everithing required for
incremental import: one could just take the date of the last commit
and invoke cvs ps with the '-d' flag. However, to import new commits
into existing branches the stream should contain the "from" command in
oldest commits in each branch (now missing).
If the branch already exists in the target git repo, it's easy to
refer it in the stream:
    from refs/heads/branchname^0

But if the branch is new, but it's parent commit is already imported,
I guess, the only way to refer it is by its SHA-1
Eric, what parent information can cvsps provide for the first commit
in a branch, when invoked with the '-d' flag?