7 ms·
PHP will switch to git
- asuth 15y agoRasmus 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.
- treffer 15y agoexactly, they want to keep their karma system. But a github mirror is not unlikely. Oh, and that's the reason why the mail states that they'll now figure out how to move php-src to git.
- stoph 15y agoThere is already a github mirror: https://github.com/php/php-src https://github.com/php/php-src
- andrewflnr 15y agoAnd plain Git can do ACLs? I didn't know that.
- jarin 15y agoYep, it can.
- sho_hn 15y agoI 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 15y agoI was pretty sure, but I never know when I've missed some huge piece of functionality in a program. Thanks for the explanation.
- dcope 15y agoWas there any official statement stating that they would switch to GitHub? All I see is that they're switching to git.
- philfreo 15y agono; they aren't moving to github at least right now
- brianmario 15y agoWonder if they knew about GitHub Organizations? https://github.com/blog/674-introducing-organizations https://github.com/blog/674-introducing-organizations
- jlogsdon 15y agoThis only provides repo level access control. They want ACL's to control down to the branch level.
- zbowling 15y agoThink certially and not distributed there :-) This is handled in projects like the Linux kernel. Could easily enough have the commitor push to a different repo than he pulls from. Then you could have person manually review pull his changes into manager (like Linus does with Linux).. or if you wanted some automation, have a script import his changes if they match a set of rules. The other option is submodules.
- pilif 15y ago> Then you could have person manually review pull his changes into manager (like Linus does with Linux) this assumes that there are enough trusted people in the PHP project with enough time to spend for doing nothing but reviewing pull requests. > The other option is submodules. that's a very good idea, especially when you consider how modularized PHP's build system already is. Give them time though. Moving from SVN to git is already a huge step in the right direction, even though the keep most of the old model the same. Once all of that works nicely, a further step can be to move to submodules.
- hm2k 15y agoIsn't decentralised and ACL is a bit of an oxymoron?
- ch0wn 15y agoThis sounds like a horribly broken development process to me. Is there any article that explains the idea behind this? I would really like to know how this could work.
- ranza 15y agoi hope they'll follow the trend and move it to github!
- irrumator 15y agoWhy?
- treffer 15y agobecause github is one of the most visible and most visited source hosting sites?
- skeptical 15y agoI still don't get your point. It's the most visited source hosting site, no doubt about that, so...? On the subject of the topic, I'm getting tired of this git euforia. The linked message says zero about the reason beyond a simple direct voting. So, for no reason they decided to have a voting and ignore the reasons why people vote whatever they did? Sounds like a pretty useless voting for me. Well, except if you want to be popular and use all the tools the cool kids use these days, I guess that's a valid reason. Something tells me that there will be less 'I'm too cool to say positive things about PHP' kind of threads in HN.
- derekorgan 15y agoto be fair the reason is outlined in the post. "... move to a decentralized version control system."
- skeptical 15y agobazaar and mercurial are decentralized too, so that would only rule out SVN.
- jarin 15y agoWell, I mean, there's a reason all the cool kids are using git these days, and it's not just to "look cool".
- d0m 15y agoPHP should switch to Django instead.
- aculver 15y agoHaha. You beat me to it!
- d0m 15y agoI 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.
- aculver 15y agoAnd it was a good joke! I worked with PHP from 2004 to 2010. I worked with PEAR packages, early-adopted and watched the evolution of Zend Framework, ran both the local PHP user group and company's internal PHP user group, used ORM solutions like Doctrine and wrote my own, laughed along when people were handing out "Fails" stickers at php|tek (a play on the Rails logo), helped write some PHP coursework in college, etc. If I can't poke fun at PHP, who can? I started using Rails for personal projects last year. When the opportunity arose, I was happy to join a consulting company that primarily uses Rails for web-based application development. Rails 3 (and now Rails 3.1) is awesome. Your joke is my recommendation to the folks I worked with that still do PHP all day: Check out some of the other things that are going on in the Ruby and Python communities. The developer experience is so much better.
- d0m 15y agoWow, 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 15y agoIt 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 http://ycombinator.com/newsguidelines.html If you want that sort of conversation, go to reddit.
- beaumartinez 15y agoThe 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-other-dvcss http://www.python.org/dev/peps/pep-0374/#why-mercurial-over-...
- 18pfsmt 15y agoInteresting. I was a barely competent sysadmin that couldn't contain my interest in learning how to develop software. So, over the last 6 months I messed around with Vim and Emacs/ Git, Hg, and Bazaar/ and Erlang, Ruby, Lua and Python. I settled on Emacs, Python, and Git; however, the only choice I made that was overwhelmed by popularity was the choice of learning a DVCS because that is a central piece of the functionality: how easy it is to collaborate (as beginner I will fail w/o more informed collaborators). I realize I will have to spend lots of time on my chosen setup, but I hope in a few years I can make transitions more easily.
- Ixiaus 15y agoMercurial has quite a few merits! I like git but I like hg better. The main thing (to me) git has going for it, is GitHub. Even though BitBucket is getting better; it's still not GitHub.
- mkopinsky 15y agoOTOH, bitbucket has free private hosting and git doesn't (AFAIK). I think that is a crucial point for a beginner who is just learning to code and doesn't want to a) pay money, or b) have his ugly code be visible to the world.
- Luyt 15y agoDon't be afraid to show your code to the world. Better yet, paste some in a pastebin and ask for tips in an IRC channel: it'll make you a better developer.
- nato1138 15y agowhere is the downvote...
- socratic 15y agoGit 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.
- sho_hn 15y agoI'm a Git guy myself, but FWIW: While Python seems to be the Mercurial project everyone remembers because it was the most recent biggie to adopt it, there's also Mozilla, and the Ex-Sun-now-Oracle projects and a couple of others.
- socratic 15y agoAh, very interesting list. I guess I think of Python differently from the other projects in your list because the choice of DVCS chosen by the core team seems to me to impact the DVCS that someone will choose for their library in the language. I don't really have any evidence for that, however. Do you think that (a) language communities tend to standardize on the same version control, and if so, (b) that language communities tend to standardize on the version control of the core project for the language?
- sho_hn 15y agoI think (a) is true, yes. I've written about the migration of KDE from SVN to Git in a longer comment elsewhere in this thread, and Qt (not a language, but the library framework most of KDE's products build upon) switching to Git was definitely a significant factor in Git gaining traction among members of the KDE community. The KDE community consciously wanted to harness the potential synergy it saw in the KDE and Qt ecospheres syncing up on the same VCS. OTOH, I think the Python community is pragmatic enough that it wouldn't have chosen Mercurial over Git if it being written in Python would have been the only point in Mercurial's favor, from the POV of their requirement set. But it probably does have an emotional/affinity effect, after all language developers do obviously have to care about language! :) Interestingly, one of the best Git libraries around is actually a pure Python implementation of Git and its protocols: Dulwich.
- deleted 15y ago[deleted]
- jarofgreen 15y agoSome 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 15y agoThis 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&w=2 http://marc.info/?l=php-internals&m=131275031209004&... - PHP Internals Lurker
- laacz 15y agoThere 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.
- tacoe 15y agoI, for one, am happy it's not the other way round