|
From: Daniel J S. <dan...@ie...> - 2014-02-20 08:16:57
|
On 02/19/2014 09:43 AM, Eric S. Raymond wrote: > I maintain a tool called reposurgeon that edits and convers > version-control repositories, and a front end for it called > cvs-fast-export that does what its name says. > > Recently a gnuplot contributor attempting to set up a local git mirror of > the gnuplot repository for his own use approached me with a bug report > about cvs-fast-export which I was able to resolve. In the process I > ran a test conversion of the gnuplot history to git. > > I am therefore in a position to state that converting your production > repository out of CVS into a modern distributed VCS would not be > very difficult. If I had an inside collaborator familiar with the > project history I think it would be about a week's work. Most of that > effort would be lifting CVS version references in comments into > a useful form. > > I couldn't do it right now, as I'm presently engaged in converting the > (much larger and messier) Emacs repository. But I could help this > happen in the relatively near-term future. As a past (and possibly > future) GNUPLOT contributor myself I feel I have some interest in > making it happen. I think a more modern source control program for gnuplot would be good. Some on the list might feel there aren't enough mods to move from CVS, but I'm pretty sure others would like a more modern VCS if they were used to it. It aids in development by providing good diff tools, exchanging patches, changesets, push/pull, etc. However, I'm partial to Mercurial at the moment. I'm not saying git wouldn't be considered, but it would take some convincing that git is preferable to Mercurial. (They are both about the same, and both very nice, but I think Mercurial is more straightforward.) To convert the existing CVS repository I suppose I'd approach it by writing in a scripted language with access to unix commands some program that successively gets the versions from CVS followed by an appropriate commit to the new repository with the extracted comment used during the commit steps. One would have to check status for new or deleted files, but I think it would be doable. Just let the computer run overnight. Dan |