Why git instead of mercurial?

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?

···

On Mar 26, 8:51 am, Izidor Jerebic <ij.rubyl...@gmail.com> wrote:

On 25.3.2008, at 9:07, Matt Todd 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

In article <44dddf400803250528w7beab342r3013ea8b789d8430@mail.gmail.com>,

···

John Wells <lists@sourceillustrated.com> 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.

-----
[1] http://www.keltia.net/BSDCan/paper.pdf
--
Ollivier ROBERT -=- EEC/RIF/SEU -=-
Systems Engineering Unit

I develop with Python a few years back, but not for that I'm using
Bazaar right now...

I'm using Bazaar instead of Git mostly because 'it just works' on
Windows and have a truly "official commitment" to support it.

Git, on the other hand, need not just some tweaking but also several
external tools to get it working...

Mercurial is similar to Bazaar (on the Windows support) Git-flavored.

Also the low-level and ugly UI git imposses in the workflow is a no no
for me, For those who like to be in control of everything, the
morphing working tress Git uses (one checkout for every branch you
want to do) I see it as something bad.

Example: I decide to branch the stable branch of one project and fix
some issues related to 'feature-x'

Worked on that branch and fired the spec tasks, which will rake 10
minutes to complete.

With git, I can't checkout another branch unless I do another clone.
With Bazaar, on the other hand, I can branch again, and again, and
again... and start hacking on other things right anyway, even the rake
tests didn't complete yet.

Again with UI, keep track of another head in a repo is a mess... git
track foo -b yyy what!?!? The UI is too complex...

If you want to contribute to a project and get something fixed, the
learning curve of the SCM is so steeped that you make contributors go
away...

Don't forget about "I just reverted long-sha-1-goes-here, since
another-long-sha-1-goes-here-too was broken"... :stuck_out_tongue:

I think is not a Perl/C vs Python/C issue, but Git is the new cool
toy.

Just my point of view,

···

On 25 mar, 10:43, "M. Edward (Ed) Borasky" <zn...@cesmail.net> wrote:

John Wells wrote:
> And God help me, I'd
> rather program in Python and C than Perl and C any day. I assume this
> is true for a lot of Ruby developers...while Ruby has its roots in
> Perl, it's kinda like being a clean cut metrosexual with embarrassing
> redneck parents you still humor and honor, but try not to bring to
> social gatherings...

Well ... I'd much rather program in Perl than Python. Why, you ask?
Because I've been programming in Perl since about 1994 and I've never
written even a single line of Python. I'm sure Python is a perfectly
wonderful language, but the only thing that would "invite" me to learn
it would be to get paid to write it.

--
Luis Lavena

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 :slight_smile:

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.

···

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.

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

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 :wink:

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

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 :frowning:

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

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

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

···

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:

Regards,
--
Luis Lavena

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

···

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.

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

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

Luis Lavena 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 Britt

"MVC applies to the Web about as well as RPC does."
  - Bill de hOra

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

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

Cheers,
  B

Yukihiro Matsumoto wrote:

Hi,

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

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

···

In message "Re: Why git instead of mercurial?" > on Wed, 26 Mar 2008 02:47:06 +0900, James Britt <james.britt@gmail.com> writes:

--
James Britt

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

And God help me, I'd rather program in Python and C than Perl and C any day. I
assume this is true for a lot of Ruby developers...while Ruby has its roots in
Perl, it's kinda like being a clean cut metrosexual with embarrassing
redneck parents you still humor and honor, but try not to bring to
social gatherings...

If software works ok, it does not matter much in what language it is
written.
Personally I would rather pick python than perl, but if the question is
python or perl, then the real answer is:

  Ruby.

:wink:

PS: One reason why Linux kernel folks like Linus use Perl is because
they can not write Ruby or Python code. Harsh statement? Maybe. But I
found it true for many old C hackers. Especially for Ruby. Some of them
know and write python code, but I dont know any of these methusalems
that uses Ruby. :slight_smile:

···

--
Posted via http://www.ruby-forum.com/\.

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.

Git svn push on Windows is broken, mostly because it depends on the
perl bindings that MSYS lacks (since it requires a subversion
build....) :stuck_out_tongue:

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

Me too, but decided to use bzr for personal projects and also keep
track of upstream changes in several others that don't have commit
rights or want to branch and try different things on them.

> 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 :frowning:

I really don't have problems getting Git working on Windows, I've it
running since way before msysgit get released. But in any case,
requiring so many stuff to get it working (like depending on MSYS)
make things quite complicated: you can use internal commands of
windows while have MSYS in the path (like find and others).

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

Exactly, get anyone choose whatever they want, anarchy! :stuck_out_tongue:

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.

By UI I mean the way you access / interface with the tool, name it
command line arguments, CLI or GUI. In case of Git, the complexity of
the commands you need to build to perform simple task put too much
pain in my fingers :wink:

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

:smiley:

···

On Mar 25, 12:51 pm, James Tucker <jftuc...@gmail.com> wrote:

--
Luis Lavena

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 Tue, Mar 25, 2008 at 1:52 PM, James Britt <james.britt@gmail.com> wrote:

Data, please.

--
Avdi

Luis Lavena 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 25 Mar 2008, at 17:52, James Britt wrote:

--
James Britt

"MVC applies to the Web about as well as RPC does."
- Bill de hOra

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

···

On Mar 25, 2:52 pm, James Britt <james.br...@gmail.com> wrote:

--
Luis Lavena

Hi,

···

In message "Re: Why git instead of mercurial?" on Thu, 27 Mar 2008 05:46:00 +0900, James Britt <james.britt@gmail.com> 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.

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

IOWA - Mercurial

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

Swiftiply - Mercurial

Kirk Haines

James Tucker wrote:

Luis Lavena wrote:

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

Data, please.

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.

···

On 25 Mar 2008, at 17:52, James Britt wrote:

--
James Britt

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

Luis Lavena wrote:

Luis Lavena 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

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.

···

On Mar 25, 2:52 pm, James Britt <james.br...@gmail.com> wrote:

--
James Britt

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

* 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

···

On Wed, Mar 26, 2008 at 9:54 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

                                                        matz.

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

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

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.

···

On Wed, Mar 26, 2008 at 4:43 PM, James Britt <james.britt@gmail.com> wrote:

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

That would be zero. :slight_smile:

--
Avdi