Re: GIT and CVS

Mark Kettenis
2011-10-14T10:23:21Z

> Date: Fri, 14 Oct 2011 10:13:31 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> > > If we are going to switch to a dVCS, git is not the only choice. I
> > > like bzr better; bzr is a GNU project, unlike git.
> >
> > Given your question above, does bzr fulfill the roles any better than
> > GIT?
>
> Yes, definitely. For starters, it works on Posix and Windows
> platforms alike. Emacs uses bzr as its VCS for the last 2 years or
> so.

I'm a git hater. And the reason I hate GIT is because of the
development model it enforces. It doesn't match the way I work. My
workflow looks more or less as follows:

$ cvs update
(make some changes)
...
(come back a couple of days later)
$ cvs update
(merge conflicts, make some more changes)
...
$ cvs update
(test changes, write changelog, send diff for review)
...
$ cvs update
(test changes again, fixup changelog)
$ cvs commit

With lots of "cvs diff" invocations in between to check my changes and
remind myself what I'm working on.

I've used SVN, Mercurial and all of those VCSes have commands that are
close enough to CVS that they've allowed me to keep the same workflow
and didn't require me to look at their documentation for every command
I run. With GIT there's several additional commands I have to run,
and I have to commit half-finished work, which I can't bring myself to
do. (I've tried git stash, but it didn't seem to support my
development style, at least "unstashing" didn't "just work" when I did
a git fetch in between).

How does bzr compare here? Is it close enough to CVS that there is a
1:1 mapping of commands with perhaps an additional command to "push"
changes upstream?