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