Re: I have end-of-lifed cvsps
From: Eric S. Raymond <hidden>
Date: 2016-06-15 22:59:26
Martin Langhoff [off-list ref]:
On Wed, Dec 11, 2013 at 11:26 PM, Eric S. Raymond [off-list ref] wrote:quoted
You'll have to remind me what you mean by "incremental" here. Possibly it's something cvs-fast-export could support.User can - run a cvs to git import at time T, resulting in repo G - make commits to cvs repo - run cvs to git import at time T1, pointed to G, and the import tool will only add the new commits found in cvs between T and T1.
No, cvs-fast-export doesn't do that. However, it is fast enough that you can probably just rebuild the whole repo each time you want to move content. When I did the conversion of groff recently I was getting rates of about 150 commits a second - and it will be faster now, because I found an expensive operation in the output stage I could optimize out. Now that you have reminded me of this, I remember implementing a -i option for cvsps-3.0 that could be combined with a time restriction to output incremental dumps. It's likely I could do the same thing for cvs-fast-import.
The above examples assume that the CVS repos have used "flying fish"
approach in the "interesting" (i.e.: recent) parts of their history.
[ Simplifying a bit for non-CVS-geeks -- flying fish is using CVS HEAD
for your development, plus 'feature branches' that get landed, plus
long-lived 'stable release' branches. Most CVS projects in modern
times use flying fish, which is a lot like what the git project uses
in its own repo, but tuned to CVS's strengths (interesting commits
linearized in CVS HEAD).
Other approaches ('dovetail') tend to end up with unworkable messes
given CVS's weaknesses. ]That terminology -- "flying fish" and "dovetail" -- is interesting, and I have not heard it before. It might be woth putting in the Jargon File. Can you point me at examples of live usage? -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a>