

PHP will switch to git - treffer
http://news.php.net/php.internals/55293

======
socratic
Git appears to be fast becoming the standard DVCS.

Is there any reason that all reasonably well-run projects should not be using
git?

GitHub seems vastly superior to BitBucket, and git itself seems pretty much
isomorphic to hg (albeit with worse syntax). (This ignores darcs, bzr, etc.,
but those never seemed terribly competitive for mindshare.) Furthermore, the
network effects (with pull requests on Github, not having to have people learn
a new DVCS to commit to your project, etc.) seem huge.

Aside from some new innovation on the scale of switching from a centralized
VCS to a distributed VCS, I can't imagine anything that would cause me to try
to start a project in something other than git, learn another VCS other than
git, or try to convert someone to another VCS other than git. Is this the
wrong attitude?

Is there any chance that Python might see the light and switch to git from hg?
At this stage, choosing hg over git for reasons that seem increasingly
irrelevant (better Windows support at the time, written in C/shell rather than
Python) is starting to look like a worse and worse historical decision.

~~~
Ixiaus
I'm a pious hg user - even gave git a good run (mostly because of Github). I
can't get over how _amazing_ mercurial patch-queues are. Big win. I love
mercurial's easy plugin development and hooks (thank you Python); I love how
many awesome plugins exist for mercurial. On and on and on.

~~~
jlogsdon
I keep seeing people talk about all the good of hg over git, but I haven't
seen anything that really sets it apart.

If you were doing a sales pitch, what would you show that hg has over git?
What are some specific plugins that ease your development or release process?
What are some real-world advantages of the hg patch-queue over how git handles
pulls?

I'm honestly curious. I just haven't seen anything to sell me on why hg is so
much better than git (or even the other way around).

~~~
owenmarshall
From the perspective of a longtime hg user who switched jobs and is now in git
land: hg is easier to pick up and start using than git.

git lets you do _incredible things_ with your tree, things that hg forbids or
makes impossible. But git also lets you make big mistakes, and isn't very nice
about helping you fix them.

hg, on the other hand, has a much nicer learning curve. As an example, try to
forget _everything_ you know about version control and type `hg help push` and
`git help push`.

Which one would you be able to parse? Personally, when I read "The format of a
<refspec> parameter is an optional plus +, followed by the source ref <src>,
followed by a colon :, followed by the destination ref <dst>", I want to punch
a baby.

At the end of the day, if I want to transition a team away from SVN onto a
DVCS, I'd pick hg -- just because it lets a team Get Shit Done without
spending a ton of time learning a new VCS. But if I'm starting my own project?
I'd pick git in a heartbeat.

------
beaumartinez
The votes are a _stark_ contrast to those of the core Python developers when
they were voting on which DVCS to migrate to[1]—although understandably they
favoured Mercurial, they _disfavoured_ git. (Bazaar got a good share of votes
as well.) The victor's margin was much smaller.

This was all early-2009, though. I wonder if git's increasing popularity has
swayed the core PHP developers?

[1] [http://www.python.org/dev/peps/pep-0374/#why-mercurial-
over-...](http://www.python.org/dev/peps/pep-0374/#why-mercurial-over-other-
dvcss)

~~~
praptak
Mercurial is written in Python - as a Python developer I can attest to the
phenomenon of Python developers preferring software written in Python. Part of
this is rational, part of this is pure "my tribe" bias (by the way, I use and
like git, don't know Mercurial at all.)

PHP developers are less likely to be affected by that.

~~~
lamby
> PHP developers are less likely to be affected by that.

We won't know until someone writes a DVCS in PHP..

~~~
kodisha
hmmmmmmm.....

------
asuth
Rasmus gave a talk yesterday and I asked if they were switching to github. He
said they'd likely switch to git (it's now happening, apparently), but not
github because it can't do ACLs and the PHP project has thousands of people
who need commit access to various places.

~~~
andrewflnr
And plain Git can do ACLs? I didn't know that.

~~~
sho_hn
I assume you already know this, i.e. the above was sarcasm, but: No, it can't.
But since remote access to Git most commonly happens over SSH, ACLs can be
implemented by additional tools which serve as the login shell and filter the
git commands the client wants to run. The best such tool right now is
gitolite, building on concepts established by gitosis. The GitHub-like open
source web repo manager Gitorious also implements an ACL system that way.

~~~
andrewflnr
I was pretty sure, but I never know when I've missed some huge piece of
functionality in a program. Thanks for the explanation.

------
laacz
There is no point in git-vs-hg debate. Main point is that PHP people are
switching to DVCS.

Git is often chosen because it is more popular, has larger community and
stuff-written-about-it.

Also, it has GitHub, which can be attributed for most of the huge boost of git
popularity.

That does not neccessarily mean that git is better. Still, it is good enough
for most of us (and them), and there is just no point in debating. PHP vote
was not about which-is-better. It as about - which-one-to-chose.

------
jarofgreen
Some folk jumping to conclusions in the comments here ...

The linked message is one post on an internal mailing list. It was intended as
a summary of the votes, for the voters. It has no broader context of the
situation they face or no links to any debates that might have happened before
because of the audience it was aimed at.

If anyone from PHP internals wants to tell us about the background of this
decision that would be really interesting.

~~~
breck
This discussion has been going on for a about 1.5 months. Even before that
actually, but the discussion that led to this move starts here:

[http://marc.info/?l=php-
internals&m=131275031209004&...](http://marc.info/?l=php-
internals&m=131275031209004&w=2)

\- PHP Internals Lurker

------
ranza
i hope they'll follow the trend and move it to github!

~~~
irrumator
Why?

~~~
ranza
What treffer said. It'll be like the old days of sourceforge, just better and
simpler. I love how easy it is to commit to projects on github. Also love the
idea of a centralized place to follow all your favorite projects. If linux can
be on github i would think php could as well.

~~~
skeptical
>I love how easy it is to commit to projects on github

It's as simple to commit projects to github as it is to sf, bitbucket, google
code, etc. Wait... you need to set up ssh credentials on github... sorry, it's
more difficult to commit a project to github than it is to most of the
alternatives.

>Also love the idea of a centralized place to follow all your favorite
projects.

It's good that we like different things. I love the FACT that there can't be
such place, it's technically not possible, fortunately!

>If linux can be on github i would think php could as well.

Linux is not on github, Linus Torvalds has one of his branches of the linux
kernel on github, doesn't mean that he doesn't push his commits to other
places too, which he certainly does. Also, linux is much more than the kernel,
and its bits are hosted in literally thousands of different places. Finally,
you can maintain your branch of the linux kernel wherever you wish, there's no
mystical force forcing everybody to use Linus', you can use whatever kernel
build you want from whatever sources you want. So saying "linux is on github"
is a rather vague sentence.

Don't get me wrong, I like github, I would hate not having a reason to. It
appears to me that most of the people don't relaly know why they like github.
Because it's popular maybe?

~~~
derekorgan
nothing to do with being "cool". Github have created a great piece of
management software to view and manage your git repositories. It's easy to use
and that is why its popular not used because its popular. Git itself is
popular because its easier to use than SVN and is decentralized which is very
useful.

~~~
eropple
> Github have created a great piece of management software to view and manage
> _your git repositories_

Therein lies the problem, and why it's not a good collaboration space for
everyone (as has been implied elsewhere in this thread). I won't use it simply
because I dislike dealing with git, for example. Yes, it's a great tool if you
want to use git. The mentality I've seen become more prevalent over the last
year to two years, however, is that you _must_ be on Github to "do open source
right"--setting aside the obvious silliness of that, it does still exist in a
lot of places.

If they supported hg with the same infrastructure, I'd consider switching off
of bitbucket, but given the Github folks' public behaviors in the past, it
wouldn't be a guarantee. I've been treated very well by Atlassian and don't
think particularly highly of the Github guys.

------
tacoe
I, for one, am happy it's not the other way round

------
d0m
PHP should switch to Django instead.

~~~
aculver
Haha. You beat me to it!

~~~
d0m
I went from 999 to 992. I guess I should have kept my mouth shut, but it was
worth it. But tbh, I have nothing against PHP; it was just a joke.

~~~
d0m
Wow, I went from 999 to 964.. that's 35 down-votes! This is insane, but not
surprising coming from PHP folks. (Too serious to laugh, too stupid to switch,
too stubborn to think, too old to learn, amen.)

~~~
rmc
It isn't PHP folks who are down voting you, it's the Hacker News community.
You didn't add anything to this conversation, so you were down voted. Please
read the guidelines: <http://ycombinator.com/newsguidelines.html>

If you want that sort of conversation, go to reddit.

~~~
aculver
Point taken. :) Sorry. Removing my post (and taking most of this thread with
it.)

EDIT: Except I didn't realize I can't do that after folks have replied.
Anyways, it's pretty clear a lot of folks didn't find it funny or appreciate
it. I went from about 90 karma to 55 or so. Sorry to be a bother.

~~~
rmc
No problem. Everyone makes mistakes. Just learn from your experience and move
on. We try to keep a high level of conversation here. Please try to keep
things civil, and make comments that actually add to the conversation. Thanks
:)

