Why git instead of mercurial?

J

John Wells

How did you determine this?

It's a general feel based on the following things I've noticed:

1. Go to github.com and look at the number of projects there that are
Ruby-based. It's definitely the majority.
2. Rubinius uses git.
3. Three times in the last two weeks, a project I wanted to use in my
own code included the telltale .git hidden dir.
4. The number of typically ruby-oriented blogs espousing the benefits
of git have increased recently.
5. Peepcode felt compelled to create a git screencast.

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

Avdi Grimm

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
 
J

James Tucker

Data, please.

http://github.com/repositories

http://www.artima.com/buzz/community.jsp?forum=123

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

James Tucker

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

Paul Brannan

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
 
J

Jean-François Trân

2008/3/25 said:
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=E7ois.

http://github.com/stevedekorte/io/tree/master
 
M

M. Edward (Ed) Borasky

Avdi said:
I don't really get the popularity of Git. Most of the advocacy I've
seen it has really been advocacy for features that all DVCSes have,
which suggests to me that a lot of people are being introduced to DVCS
via Git. Or maybe it's just the "more is better" mindset:

ls /opt/local/bin/git-* | wc -l

142 commands? It MUST be the best!

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

Luis Lavena

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

Izidor Jerebic

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 :)
Subversion and mercurial support...


izidor
 
B

Bjørn Arild Mæland

The correct address is not hghub.com, but sharesource.org :)
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?
 
O

Ollivier Robert

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

James Britt

James said:

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



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

James Britt

Luis said:
Web frameworks:
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 Britt

"A language that doesn't affect the way you think about programming is
not worth knowing."
- A. Perlis
 
A

Avdi Grimm

That would be zero. :)

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,285
Messages
2,571,416
Members
48,111
Latest member
PorterZ31

Latest Threads

Top