When will CVS be replaced by modern version control system?

Nils Philippsen nphilipp at redhat.com
Sat Nov 10 12:41:41 UTC 2007


On Thu, 2007-11-08 at 15:58 +0100, Ralf Corsepius wrote:
> On Thu, 2007-11-08 at 09:31 -0500, Jonathan S. Shapiro wrote:
> > I have to say that since we switched to mercurial we haven't looked
> > back. We are finding advantages to distributed VCS even though our
> > workflow model is basically centralized.
> > 
> > For purposes of centralized workflow, the main change is that
> > centralized processing is triggered by "push" rather than by "commit".
> > With this exception, the workflow is basically unchanged relative to
> > other centralized workflows.
> Right things are different, that's all.

Welcome to the 21st century (SCNR).

When talking about the Fedora packaging repository, the only real
difference would be the use of "hg ci; hg push" instead of "cvs ci".
This could easily be wrapped into a "make commit" target which would
make the underlying VCS implementation really uninteresting to the
packager.

> > What hg is buying us is the following:
> [..]
> > 
> > I'm not pushing for any change. I'm just trying to answer the workflow
> > question.
> Where in Fedora's package development would you see niches to apply
> these aspects? I don't see any.
> 
> Finally, being a long term CVS user, would has very mixed experiences
> wrt. SVN, and who has recently been confronted with both git and
> mercurial, I can't deny finding both git and hg as not to be suitable
> for centralized development. They don't really buy much.

Would you elaborate on that? Without examples where these tools
allegedly are lacking this is only your opinion.

I have switched over several of my projects from CVS to mercurial and
have found that everything I did with CVS I could do with mercurial, but
with much less hassle.

For example, merging between branches can become hairy with CVS, as
noted in the Cederqvist[1]: "[...] If you just use the cvs update -j
R1fix m.c command again, CVS will attempt to merge again the changes
which you have already merged, which can have undesirable side
effects.[...]". Modern VCSes remember what I have merged already and
only attempt to merge the rest, with them branching and merging are easy
and enjoyable every-day operations.

As for other areas where CVS and other VCSs are lacking, I'd suggest
viewing "Tech Talk: Linus Torvalds on git"[2].

[1]: http://ximbiot.com/cvs/manual/cvs-1.11.22/cvs_5.html#SEC61
[2]: http://www.youtube.com/watch?v=4XpnKHJAok8

Nils
-- 
     Nils Philippsen    /    Red Hat    /    nphilipp at redhat.com
"Those who would give up Essential Liberty to purchase a little Temporary
 Safety, deserve neither Liberty nor Safety."  --  B. Franklin, 1759
 PGP fingerprint:  C4A8 9474 5C4C ADE3 2B8F  656D 47D8 9B65 6951 3011




More information about the fedora-devel-list mailing list