Boost logo

Boost Users :

Subject: Re: [Boost-users] What's happened to Ryppl?
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2011-01-28 05:34:27


Dean Michael Berris <mikhailberis_at_[hidden]> writes:

> On Fri, Jan 28, 2011 at 4:24 PM, Anthony Williams <anthony.ajw_at_[hidden]> wrote:
>> Edward Diener <eldiener_at_[hidden]> writes:
>>
>>> On 1/27/2011 12:52 PM, Beman Dawes wrote:
>>>> Independent of modularization, ryppl, or anything else, is it time to
>>>> start a discussion on the main list about moving to Git?
>>>
>>> I hope such a discussion entails a very strong justification of why
>>> Git is better than Subversion. I still do not buy it, and only find
>>> Git more complicated and harder to use than Subversion with little
>>> advantage. I fear very much an "emperor's new clothes" situation where
>>> everyone is jumping on a bandwagon, because it is the latest thing to
>>> do, but no one is bothering to explain why this latest thing has any
>>> value to Boost.
>>
>> Indeed. Also, why git rather than another DVCS such as Mercurial or
>> bazaar? Personally, I find Mercurial much easier to use than git, and it
>> has the same major advantages (which are essentially common to all DVCS
>> systems).
>>
>
> I have to be honest here and say up front that I have no idea what the
> features of mercurial are, so I have some questions with it in
> particular:

For a quick summary of the similarities and differences, see
http://stackoverflow.com/questions/1598759/git-and-mercurial-compare-and-contrast

> 1. Does it allow for integrating GnuPG signatures in the commit
> messages/history? The popular way for certifying that something is
> "official" or "is signed off on by <insert maintainer here>" is
> through GnuPG PKI. This is what makes the Linux kernel dev
> organization more like a self-organizing matter.

Yes. See http://mercurial.selenic.com/wiki/GpgExtension

> 2. Does it allow for compacting and local compression of assets? Git
> has a rich set of tools for compressing and dealing with local
> repositories. It also has a very efficient way of preserving objects
> across branches and what not.

Mercurial does compress the repository. How it compares with git, I
don't know.

> 3. Does mercurial work in "email" mode? Git has a way of submitting
> patches via email -- and have the same email read-in by git and parsed
> as an actual "merge". This is convenient for discussing patches in the
> mailing list and preserving the original message/discussion. This
> gives people a chance to publicly review the changes and import the
> same changeset from the same email message.

>From Mercurial, you can export patches to a text file containing the
diffs and a few headers, and import that text file into another repo,
where it preserves the commit message. Is that the sort of thing you
meant?

> 4. How does mercurial deal with forks? In Git a repository is
> automatically a fork of the source repository. I don't know whether
> every mercurial repo is the same as a Git repo though -- meaning
> whether the same repository can be exposed to a number of protocols
> and dealt with like any other Git repo (push/pull/merge/compact, etc.)

Your local repository can push/pull from any remote repository, and you
can set up a default remote repo for "hg push" and "hg pull" without a
repository path. I don't know the full set of protocol options; I use
local and http access.

>> Also, Mercurial works better on Windows than git does in my experience
>> --- the git port for Windows is relatively recent, whereas Mercurial has
>> supported Windows for a while. Since many of the boost developers use
>> Windows I would have thought this was an important consideration. I
>> haven't any personal experience of bazaar, so don't know how it fares in
>> this regard.
>>
>
> I've used Msysgit for the most part, and it works very well --
> actually, works the same in Linux as it does in Windows. Are we
> talking about the same Windows port of Git?

The old port was cygwin based, and was a real pain. I tried using
msysgit and had a few problems, but it was an early version. It might be
much better now. OTOH, Mercurial has always "just worked" for me, on
both Windows and Linux.

Like I said above, my personal opinion is that mercurial is easier to
use. YMMV. I also know people who a big fans of bazaar, but I've never
used it myself.

Anthony

-- 
Author of C++ Concurrency in Action     http://www.stdthread.co.uk/book/
just::thread C++0x thread library             http://www.stdthread.co.uk
Just Software Solutions Ltd       http://www.justsoftwaresolutions.co.uk
15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net