Re: GIT and CVS

Phil Muldoon
2011-10-14T14:52:02Z

Mark Kettenis <mark.kettenis@xs4all.nl> writes:

>> 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)

git pull will fetch and merge changes.

> ...
> (come back a couple of days later)
> $ cvs update
> (merge conflicts, make some more changes)
> ...

Same as above.

> $ cvs update
> (test changes, write changelog, send diff for review)
> ...

No different, if this is how you choose to use GIT.

> $ cvs update
> (test changes again, fixup changelog)

No difference.

> $ cvs commit

git commit

then

git push

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

I think this is where GIT would benefit most. This is something that
GIT, imo, does far faster, and far better than CVS.

> 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.

But I don't see how your workflow changes, at all. You can use GIT with
a CVS-like workflow just fine.

> 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).

Nope, you don't have to commit half finished work at all. Commit it if
you want, or just keep it local as with CVS.

> 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?

I don't know. My one brief experience with bzr while checking out emacs
was painfully slow.

Cheers,

Phil