Source control for all dmd source (Git propaganda =)

Leandro Lucarella llucax at gmail.com
Tue Jun 2 17:14:52 PDT 2009


"Jérôme M. Berger", el  2 de junio a las 21:29 me escribiste:
> 	I've started. I'll give you a full report tomorrow when I have
> 	tested it more completely, but I have to tell you that it doesn't
> 	look good for Git. Now, I have to ask: have *you* tried Mercurial
> 	or Bazaar? And what, in your opinion, is the main advantage of Git
> 	over the other two?

I've tried Mercurial. I'm using it now because some Pythons projects I'm
working with (and LDC) use it. I think I tried Bazaar a long time ago, and
it was awful in terms of usability (or maybe it was GNU arch?), but
I definitely can't speak about Bazaar.

Why I think Git is better? Mainly because of how flexible it is in terms
of repository manipulations (aka git rebase -i [*] =), and because it
supports local branches (I didn't read about how branches are managed in
Mercurial yet, but I understand that Mercurial doesn't support local
branches). And then there are the details, which I mention in another
post:
* Syntax highlight in the output of commands (status, diff, log, branch,
  grep)
* Large output goes through a pager by default
* git add -p / git citool

They are trivialities, but they greatly improve the experience.

And maybe some of this things can be done too with Mercurial, I'm just
starting to learn something about it.

[*] I'm now reading about the MqExtension, which let you do something
    *similar* to rebase -i, but it's much more messy and hackish than Git.

> >Anyway, I insist that the main point is having DMDFE in a SCM. If Walter
> >feels comfortable with svn *now*, I think it should be svn *now*. I prefer
> >some no-ideal SCM *now* than the ideal SCM *in a distant future*. We can
> >always migrate the repo to something else when the time is right...
> 	I agree completely with you there. That's more or less why I asked
> 	if we really needed a distributed SCM rather than a simple svn.

Great, I think this is the whole point. Again, I think a DSCM could
improve even more the situation, but any SCM would be a big step forward.

> >>	Moreover, everything I've read on the web seems to indicate that
> >>	git is difficult to use if you want to do more than
> >>	add/commit/update. Mercurial is *very* easy to both setup and use
> >>	on windows as well as linux. I'm less familiar with Bazaar, but
> >>	from what I've seen it's very similar to Mercurial.

I think this is a matter of taste/experience. I find Mercurial much more
harder to use than Git. Git could be hard to *understand* at first, but
I swear it's not hard to *use*. Install is trivial (use the package it
comes with your distribution in Linux or msysgit installer in Windows).

Maybe you have a wrong concept because Git *was* hard to use at the
beginning, there were even "frontends" called porcelains to ease the use
of Git itself. But right now, I think Git is the most usable SCM I've
tried.

> >Again "I've read". =)
> >I'm telling you, git is easy, it just a little harder to get used to it,
> >but it's so much better when you do...
> 	Anything concrete to back your affirmation? Maybe all I've said is
> 	"I've read", but at least I'm giving reasons.

I'm using it for work, school and spare time projects in a daily basis.
I'm telling from experience. Is really hard to give you reasons (besides
the ones I've put above).

> 	All you're saying is "it's better", without saying what makes it
> 	better.

I tried to give you a few reasons above, if you need to know how to do
something in particular with Git I'll happily give you an example.

> >>	Finally, no matter how good it is, TortoiseGIT is not enough (in the same way that TortoiseCVS, TortoiseSVN and TortoiseHg are not enough). You need good 
> >>command-line support so that you can access it easily from custom tools (for example to generate releases automatically).
> >You have a good command-line support.
> 	Maybe you do, but that's not the impression the Git fans here were giving:
>  - Robert Fraser on win32 support: "git's Win32 support via TortoiseGit is nearly as good as SVN's now"
>  - All the discussion between BCS, hasen and Daniel Keep on tortoise git.

TortoiseGIT is not command line =)

> >Having a DSCM would make things easier for people that integrates DMDFE in other
> >projects than DMD.
> 	If you say so...

Come on! Is easier to pull and merge patches, you don't have to do it by
hand! Just do git pull or hg pull you are set!

Well, if you use Git you can always use git-svn and feel at home, but
still =)

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
In Minnesota there's a law
That prevents men from having sex with living fish



More information about the Digitalmars-d mailing list