Why git instead of mercurial?

Luis L. wrote:

… but most
of the Ruby developers that works on projects (Web frameworks or
tools) decided for Git instead of anything else.

Data, please.

I keep reading amazing assertion about how “most Rubyists do this” and
“everyone’s doing that”, but never anything to suggest these are mere
guesses based on selective experiences in specific corners of the vast
Ruby universe.


James B.

“MVC applies to the Web about as well as RPC does.”

  • Bill de hOra

On 25 Mar 2008, at 17:52, James B. wrote:

Luis L. wrote:

… but most
of the Ruby developers that works on projects (Web frameworks or
tools) decided for Git instead of anything else.

Data, please.

And checkout how many mentionings of git in your local ruby news
archive…

I keep reading amazing assertion about how “most Rubyists do this”
and “everyone’s doing that”, but never anything to suggest these are
mere guesses based on selective experiences in specific corners of
the vast Ruby universe.

Generally comes from the blogosphere impression I’d imagine. That is,
if they haven’t stopped looking at the ruby aggregation feeds because
of the large volumes of off-topic stuff coming from some places…

Of course, lots of talk is not necessarily a good thing, it could be a
sign of common problems…

On Tue, Mar 25, 2008 at 1:52 PM, James B. [email protected]
wrote:

Data, please.

Highly unscientific data rom Google hits -

+ruby +git +vcs: 57,600
+ruby +mercurial +vcs: 53,000

(Leaving off the “vcs” garners far more results for both, but I
suspect a lot of those are spurious and have nothing to do with
software development)

Using Google Blog Search:

+ruby +git: 1,845
+ruby +mercurial: 419

On 25 Mar 2008, at 18:06, Avdi G. wrote:

Personally I think that if you’re Linus, Git is undoubtedly the best
tool for the job; but my own workflows don’t really resemble Linus’
much. However, in an Open Source world any DVCS is better than no
DVCS, and I’m glad that Git is popularizing the concept.

Oh totally. I think too many people, way too often just seem to think
that a new tool should just fit their workflow or preconceptions.

This is absolutely a bad way of going about life if you’re switching
tool. It’s kinda like breaching rails conventions, you can do it, but
it’s probably going to hurt you, real bad.

Just the same way as patches should be supplied in the original
authors coding style, and I will even go so far as to mostly use their
own choice of VCS too, I personally believe that you shouldn’t be
unwilling to learn new styles. Moreover, like in a martial art, the
more styles you can perform, the diversity tends to a higher
capability and/or quality of practice.

My ‘workflow’ with git + hg are almost identical, however, so I don’t
really see anyones argument on these things. Maybe if you work on the
linux source tree often, or you’re unfortunate enough to be one of the
few with an old svn repo that’s over 8 gigs or so, then you’d want to
choose one over the other, but seriously, most developers don’t even
know how to use svn yet, apart from checkout and commit. Hell I’ve
seen a lot of people deploying with checkout, and committing by typing
‘commit’ every time (under svn).

As for workflows with things like git-svn, I don’t know any *nix user
in their right mind that wouldn’t alias out stuff.

My workflow is like this:

(some_vcs) update / pull
(some_vcs) status
(some_vcs) branch / checkout
(some_vcs) add / remove
(some_vcs) commit
(some_vcs) distribute

And this only really gets shorter under CVS and SVN, so go figure.

I bumped in to Fossil recently, and I’m now using that for my projects:

http://www.fossil-scm.org/

Cheers,
B

On Wed, Mar 26, 2008 at 02:47:06AM +0900, James B. wrote:

Interesting. I know a number of Ruby people using darcs or hg, but no
one using git. I’m wondering if it’s a Railsville thing, not a Rubyland
thing

Probably the best-known Ruby project using git is Rubinius.

Paul

2008/3/25, John W. [email protected]:

So, perhaps a bit unscientific, but I was still curious. There
certainly seems to be some buzz about git in the rails/ruby
communities.

It affects other communities :

Steve Dekorte (Io) : “I’ve moved the official repo to github:
git clone git://github.com/stevedekorte/io.git
Please update your repos and let me know if this works ok.”

– Jean-François.

Hi,

In message “Re: Why git instead of mercurial?”
on Wed, 26 Mar 2008 02:47:06 +0900, James B.
[email protected] writes:

|Interesting. I know a number of Ruby people using darcs or hg, but no
|one using git. I’m wondering if it’s a Railsville thing, not a Rubyland
|thing

I personally use git (actually stgit) on my machine, then push/pull
changes to the central subversion repository.

          matz.

On Mar 25, 2:52 pm, James B. [email protected] wrote:

Luis L. wrote:

… but most
of the Ruby developers that works on projects (Web frameworks or
tools) decided for Git instead of anything else.

Data, please.

Web frameworks:
Rails - svn
Merb - git
Ramaze - darcs
Sinatra - git

The new trend is put your Rails/Merb plugin in GitHub or Gitorious…
that is real cool…

Ruby Web servers:
Ebb - git
Thin - git
Mongrel - svn

Web servers:
Apache - svn
Nginx - ?
Cherokee - svn

New R.-like Implementations:
Rubinius - git
Sapphire - cvs
IronRuby - TFS to svn

I keep reading amazing assertion about how “most Rubyists do this” and
“everyone’s doing that”, but never anything to suggest these are mere
guesses based on selective experiences in specific corners of the vast
Ruby universe.

You’re correct, most of use consider Machinists (the guys who run on
Rails) part of the vast Ruby universe, but we should consider them a
different breed of people…

Web frameworks:
Rails - svn
Merb - git
Ramaze - darcs
Sinatra - git

IOWA - Mercurial

Ruby Web servers:
Ebb - git
Thin - git
Mongrel - svn

Swiftiply - Mercurial

Kirk H.

On 25.3.2008, at 9:07, Matt T. wrote:

Plus, with GitHub.com now, it’s hard to say no. Where’s the hghub.com?

The correct address is not hghub.com, but sharesource.org :slight_smile:
Subversion and mercurial support…

izidor

On Mar 26, 8:51 am, Izidor J. [email protected] wrote:

On 25.3.2008, at 9:07, Matt T. wrote:

Plus, with GitHub.com now, it’s hard to say no. Where’s the hghub.com?

The correct address is not hghub.com, but sharesource.org :slight_smile:
Subversion and mercurial support…

izidor

I jumped on the git bandwagon back in october, but later changed my
preference to Mercurial. It’s ui just feels cleaner. As someone
mentioned in a previos reply, branching in git kinda makes more sense
tho. I must admit that GitHub makes me want to change back to git
again - it’s an excellent site. Sharesource.org is just a shell over
hgweb no?

In article
[email protected],
John W. [email protected] wrote:

Well, I guess that was my point. From what I understand, git and
mercurial are essentially feature-identical. In fact, the developer of
mercurial spent some time working on git, wanted to change something
that Linus disagreed with, and decided to go off and rewrite git.

I’m afraid that’s not correct at all. After the BK debacle[1], Linus and
Matt
Mackall decided independantly to write their own VCS. They are very
similar
of course, both used many things from Monotone (use of hashes for
example) but
some very different design decisions.

Avdi G. wrote:

Personally I think that if you’re Linus, Git is undoubtedly the best
tool for the job; but my own workflows don’t really resemble Linus’
much.

There’s a bit of history behind this. The Linux kernel repositories used
to be in something called Bitkeeper. However, while Bitkeeper was free
as in beer, it was not free as in speech. IIRC Git was created in some
kind of code sprint to replace Bitkeeper specifically for the kernel
source tree and Linus’ (and other kernel hackers’) workflows.

I’m guessing there’s no such thing as a perfect version control system,
where “perfect” is defined as:

  1. Open source
  2. Implemented in a compiled language (preferably C/C++ or Java) for
    speed
  3. Integrated with pragmatic practices like test/behavior driven
    development, defect tracking/ticket tracking, continuous integration,
    etc.

James T. wrote:

Trending repositories on GitHub today · GitHub

How does that compare to the total number of Ruby projects being done by
everyone, everywhere?

Artima Forums - Ruby Buzz Forum

All I see is a collection representing some small slice of available
Ruby blogs.

And checkout how many mentionings of git in your local ruby news
archive…

That would be zero. :slight_smile:

I keep reading amazing assertion about how “most Rubyists do this” and
“everyone’s doing that”, but never anything to suggest these are mere
guesses based on selective experiences in specific corners of the vast
Ruby universe.

Generally comes from the blogosphere impression I’d imagine. That is, if
they haven’t stopped looking at the ruby aggregation feeds because of
the large volumes of off-topic stuff coming from some places…

Selection bias.

It would be interesting to have an accurate picture of what tools
Rubyists are using.


James B.

http://www.rubyaz.org - Hacking in the Desert
http://www.jamesbritt.com - Playing with Better Toys

Yukihiro M. wrote:

changes to the central subversion repository.

I’m curious: When there was a move away from CVS, why didn’t the ruby
source tree go to git, instead of svn?


James B.

“A language that doesn’t affect the way you think about programming is
not worth knowing.”

  • A. Perlis

Luis L. wrote:

Rails - svn
Merb - git
Ramaze - darcs
Sinatra - git

Nitro: darcs

Don’t know about the other dozen or so Web frameworks.

(Isn’t Rails on git, but synced with svn?)

The new trend is put your Rails/Merb plugin in GitHub or Gitorious…
that is real cool…

If you use Rails/Merb.

Ruby Web servers:
Ebb - git
Thin - git
Mongrel - svn

Rack: darcs, I think.
WEBrick: svn

Projects on rubyforge: svn (at least in some respect), or cvs.


James B.

“A language that doesn’t affect the way you think about programming is
not worth knowing.”

  • A. Perlis

On Wed, Mar 26, 2008 at 4:43 PM, James B. [email protected]
wrote:

And checkout how many mentionings of git in your local ruby news
archive…

That would be zero. :slight_smile:

Mentions according to http://groups.google.com/group/comp.lang.ruby/:

Git: 165
Mercurial: 86
Darcs: 207
Bazaar: 51 (most mentions seem unrelated to the DVCS; “bzr” only
has 5 hits)

So Git is second only to Darcs in mentions over the lifetime of
ruby-talk. There is no way to constrain Google group search to a
subset of dates (that I can find), so I can’t give data on which has
the most buzz recently; but I’ve certainly noticed more mentions of
git than of darcs lately.

Hi,

In message “Re: Why git instead of mercurial?”
on Thu, 27 Mar 2008 05:46:00 +0900, James B.
[email protected] writes:

|I’m curious: When there was a move away from CVS, why didn’t the ruby
|source tree go to git, instead of svn?

  • git didn’t work for Windows then

  • tools for Subversion were more matured (at the time of migration)

  • having explicit central repository is a good thing for Ruby

            matz.
    

On Wed, Mar 26, 2008 at 9:54 PM, Yukihiro M. [email protected]
wrote:

  • having explicit central repository is a good thing for Ruby
    Sorry to be bold for once Matz, but this sentence surprises me a lot,
    why is a single point of failure a good thing?
    What I like most about Mercurial (and distributed VCS in general) to
    have my repository on 4 different PCs and 3 pendrives, while top is
    not on all seven it is almost impossible to really lose data.
    Never been afraid of this?
    Cheers
    Robert

                                                     matz.
    


http://ruby-smalltalk.blogspot.com/


Whereof one cannot speak, thereof one must be silent.
Ludwig Wittgenstein