[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Why git instead of mercurial?

John Wells

3/25/2008 5:53:00 AM

It seems like the hot new thing these days in Ruby-land is to host
your project in git. Cool....I'm very glad distributed vc is finally
getting the attention it deserves.

However, I'm curious...why are so many in the Ruby community flocking
to git instead of mercurial? It seems that Python/C would be a more
appealing choice than Perl/C...and given that they're largely
feature-identical. I'd appreciate any additional insight you might
provide.

Thanks!
John

33 Answers

Matt Todd

3/25/2008 8:08:00 AM

0

I really don't think the internal implementation has that much
influence over the popularity of the chosen SCMs. I think it has more
to do with the fact that Git is the fastest (but not by much) and has
a greater deal of general use compared to Mercurial. Also, Git is
fairly low level, and I think that a good deal of the Ruby developers
out there want to have this amount of control over their repos.

Plus, honestly, using Git has improved my project work flow, albeit
subtly, by helping me focus on individual topics when changing code,
and providing me ways of organizing my code. Personally I have grown
to prefer the Git way of managing branches compared to Mercurial (hg
making a separate copy on the HD in a new folder, whereas in Git all
branches are managed in the same folder).

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

Matt



On Tue, Mar 25, 2008 at 1:52 AM, John Wells <lists@sourceillustrated.com> wrote:
> It seems like the hot new thing these days in Ruby-land is to host
> your project in git. Cool....I'm very glad distributed vc is finally
> getting the attention it deserves.
>
> However, I'm curious...why are so many in the Ruby community flocking
> to git instead of mercurial? It seems that Python/C would be a more
> appealing choice than Perl/C...and given that they're largely
> feature-identical. I'd appreciate any additional insight you might
> provide.
>
> Thanks!
> John
>
>

Jason Roelofs

3/25/2008 11:36:00 AM

0

I find it funny that your only point of comparison between git and
Mercurial is the technology with which said tool is implemented. Last
time I checked, the *only* time developers care about how something is
implemented is if it's Windows only (.NET, MFC). If the tool works,
people will use it.

How about an actual comparison of git and Mercurial functionality wise?

Jason

On Tue, Mar 25, 2008 at 1:52 AM, John Wells <lists@sourceillustrated.com> wrote:
> It seems like the hot new thing these days in Ruby-land is to host
> your project in git. Cool....I'm very glad distributed vc is finally
> getting the attention it deserves.
>
> However, I'm curious...why are so many in the Ruby community flocking
> to git instead of mercurial? It seems that Python/C would be a more
> appealing choice than Perl/C...and given that they're largely
> feature-identical. I'd appreciate any additional insight you might
> provide.
>
> Thanks!
> John
>
>

James Tucker

3/25/2008 11:41:00 AM

0


On 25 Mar 2008, at 11:36, Jason Roelofs wrote:
> I find it funny that your only point of comparison between git and
> Mercurial is the technology with which said tool is implemented. Last
> time I checked, the *only* time developers care about how something is
> implemented is if it's Windows only (.NET, MFC). If the tool works,
> people will use it.

Java.

> How about an actual comparison of git and Mercurial functionality
> wise?
>
> Jason


Wincent Colaiuta

3/25/2008 1:44:00 PM

0

On 25 mar, 06:52, John Wells <li...@sourceillustrated.com> wrote:

> However, I'm curious...why are so many in the Ruby community flocking
> to git instead of mercurial? It seems that Python/C would be a more
> appealing choice than Perl/C...and given that they're largely
> feature-identical. I'd appreciate any additional insight you might
> provide.

Approximate composition of Git source files, lines of code:

86048 C (81%)
12959 Perl
6714 Shell

Approximate composition of Mercurial source files, lines of code:

36605 Python (94%)
2048 C

So it's not really "Perl/C" vs "Python/C"; it's more like C vs Python
(and as time goes by the proportion of C in Git is only getting
higher).

Cheers,
Wincent

Robert Dober

3/25/2008 2:15:00 PM

0

On Tue, Mar 25, 2008 at 2:45 PM, Wincent Colaiuta <win@wincent.com> wrote:
Although I am a perfect fan and user of Mercurial I believe that this
discussion is at least OT if not futile.
If the Ruby team has chosen GIT they either had
(a) no knowledge of Mercurial and GIT just satisfied their needs
(b) known both and decided to use GIT for some (surely perfectly
reasonable, but not really interesting ) reason
and why should they care about the implementation language?
They might have chosen a different DistVCS if it were written in Ruby maybe ;)

Honestly I do not see any connection to Ruby in this thread.

Cheers
Robert
--
http://ruby-smalltalk.blo...

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

Luis Lavena

3/25/2008 2:39:00 PM

0

On 25 mar, 11:15, Robert Dober <robert.do...@gmail.com> wrote:
> On Tue, Mar 25, 2008 at 2:45 PM, Wincent Colaiuta <w...@wincent.com> wrote:
>
> Although I am a perfect fan and user of Mercurial I believe that this
> discussion is at least OT if not futile.
> If the Ruby team has chosen GIT they either had
> (a) no knowledge of Mercurial and GIT just satisfied their needs
> (b) known both and decided to use GIT for some (surely perfectly
> reasonable, but not really interesting ) reason
> and why should they care about the implementation language?
> They might have chosen a different DistVCS if it were written in Ruby maybe ;)
>

Is not Ruby team that choose Git over Hg over Any-Other-DVCS, but most
of the Ruby developers that works on projects (Web frameworks or
tools) decided for Git instead of anything else.

> Honestly I do not see any connection to Ruby in this thread.

There is a connection anyway. The option for a VCS/DVCS make difficult
for users contribute back with patches to fix issues.

I know there are a few porjects that still uses CVS (win32utils).

I can't say the choose for Git is alienating the contribution, but I
can say is performing a sort of discrimination and exclusion for those
users that can't integrate Git properly under their platforms or faces
restrictions regarding the tools that can install under their
environments.

Regards,
--
Luis Lavena

Paul Brannan

3/25/2008 2:41:00 PM

0

On Tue, Mar 25, 2008 at 11:15:28PM +0900, Robert Dober wrote:
> If the Ruby team has chosen GIT they either had

Ruby itself is developed using svn.

> Honestly I do not see any connection to Ruby in this thread.

A lot of Ruby developers these days are moving to git. I think it's
perfectly valid to ask why rather than to blindly follow along.

I wonder how long it will be before we see git support on rubyforge.

Paul


Alexey Verkhovsky

3/25/2008 3:38:00 PM

0

On Tue, Mar 25, 2008 at 8:41 AM, Paul Brannan <pbrannan@atdesk.com> wrote:
> I wonder how long it will be before we see git support on rubyforge.

Yeah, DVCS makes perfect sense for loosely organized OSS projects.
Last time I asked Tom Copeland (RubyForge admin) about git support, he
said he was trying to make it happen. There was also some mention of
ample spare time in his response, iirc :)

We had a conversation along similar line on some internal maillist in
ThoughtWorks. Public opinion there seemed to lean towards Mercurial.
Supposedly, it has more streamlined command-line interface, and is
better documented. Plus there is a decent Windows support. Not that
Git is too hard to learn, but this seemed to be the most meaningful
difference anyone could come up with. Plus Windows support, of course.

--
Alexey Verkhovsky
CruiseControl.rb [http://cruisecontrolrb.though...]
RubyWorks [http://rubyworks.though...]

James Tucker

3/25/2008 3:51:00 PM

0


On 25 Mar 2008, at 14:39, Luis Lavena wrote:
> On 25 mar, 11:15, Robert Dober <robert.do...@gmail.com> wrote:
>> On Tue, Mar 25, 2008 at 2:45 PM, Wincent Colaiuta
>> <w...@wincent.com> wrote:
>>
>> Although I am a perfect fan and user of Mercurial I believe that this
>> discussion is at least OT if not futile.
>> If the Ruby team has chosen GIT they either had
>> (a) no knowledge of Mercurial and GIT just satisfied their needs
>> (b) known both and decided to use GIT for some (surely perfectly
>> reasonable, but not really interesting ) reason
>> and why should they care about the implementation language?
>> They might have chosen a different DistVCS if it were written in
>> Ruby maybe ;)

I seem to remember matz talking a lot about diversity. Without being
so arrogant as to speak for him, I will say that in my opinion, I
think this is means people should be able to use what they want to,
and I think that's a good philosophy, for the most part.

Most of the more modern VCS support import and export into svn, so I
wouldn't be at all surprised if ruby is already being developed on
several different VCS. This also might actually be a damn good reason
for staying with svn, as it leaves people with more choices.

> Is not Ruby team that choose Git over Hg over Any-Other-DVCS, but most
> of the Ruby developers that works on projects (Web frameworks or
> tools) decided for Git instead of anything else.

And many of those people are:
a) Hype heads
b) Working on OS X for development and BSD / Linux for production
c) Totally don't care about other platforms, maybe even actively.

>> Honestly I do not see any connection to Ruby in this thread.

The hype, most of the e-famous rails people are moving to git. Gits
userbase starts growing even faster.

> There is a connection anyway. The option for a VCS/DVCS make difficult
> for users contribute back with patches to fix issues.

Mmm, this is why I'm using (with relative regularity) bazaar, hg, git,
svn and cvs (you know, I think there's another one too, somewhere) :-(

> I know there are a few porjects that still uses CVS (win32utils).
>
> I can't say the choose for Git is alienating the contribution, but I
> can say is performing a sort of discrimination and exclusion for those
> users that can't integrate Git properly under their platforms or faces
> restrictions regarding the tools that can install under their
> environments.

Give me a shout off-list, I've been using git under msys for quite a
while now, and it's ok. The daemon doesn't work, but we can't have
everything :-(

As far as alienation goes, well, the ability to just grab a .git-ball
is quite useful, and it works really gracefully with a lot of the
manual moving around of files that would traditionally leave a mess in
other SCMs. People get used to their workflows though, preference
reigns supreme under pragmatism. :-)

As far as the *underlying* tech goes, I'm really interested in stuff
like this:
http://eigenclass.org/repos/...

I would agree with anyone that said Gits front end is lacking, but
also, I've been using it for quite a long time now, and have never
really used the UI.

Things I have noticed moving from svn to git for my personal work
flows is, massive increase in commit frequency, massive increase in
branch and merge frequency, and the ability to truly work anywhere.
This comes largely from the distributed nature however, and so isn't
really that unique to git. I do have to also say though, git is damned
fast if you keep it gc'd. Also, by comparison to svn, it can save you
a hell of a lot of disk space - there is something to this content
tracking malarky.

One final thing, dcommit <3

>
>
> Regards,
> --
> Luis Lavena
>


Robert Dober

3/25/2008 5:13:00 PM

0

On Tue, Mar 25, 2008 at 3:39 PM, Luis Lavena <luislavena@gmail.com> wrote:

> > Honestly I do not see any connection to Ruby in this thread.
>
> There is a connection anyway. The option for a VCS/DVCS make difficult
> for users contribute back with patches to fix issues.
Hmm maybe bad style of mine to declare the thread OT.
I should rather have expressed the failure to understand OP's concern.
A choice has to be made and such choice will always be unfortunate for
those familiar with the *other* tools.
Or is there something particularly difficult with GIT, than in fact I
would understand OP's concern, which I do not, right now.
Cheers
Robert


--
http://ruby-smalltalk.blo...

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