On Nov 29, 2010, at 4:19 AM, Lester Caine wrote: >>> I've not used git or hg much at all, but bzr has always satisfied my >>> needs for DVCS, and has recently gotten much faster and more space >>> efficient than it was in the past. >> Sorry, but I think bzr is not a good fit. It's numerous changes to the >> repository format make it impossible to use. It's either slow if you use an >> old >> version, or it's incompatible with old clients, let's say on an old debian >> box. >> >> So I think php.net is better of using mercurial or git, but if we put >> together >> an RFC for a migration, I'll make sure bzr is covered as well in an >> evaluation. > Personally I would need a very good reason to add yet another DVCS to the mix > here! I've not found bzr as easy to link to from hg as git is. In fact I've > not actually got it to play at all as yet ... while hg does work into git > with only the problems of managing multiple repo's which is still work in > progress on both of them. > > That said, bzr does seem to handle the multiple repo's in a more user > friendly manor? It is just a pity that there is NOT a single target solution > for DVCS as everybody is currently scurrying off to their own corners :( The > barriers have already been drawn rather then there being concensus on some > sort of standard.
I think it's high time I tossed in my 1.682¥(JPY) (according to current exchange rates)... I've been out of the PHP dev community for some months now, so anything I say has to be taken with a grain of salt; I simply don't have the time right now to catch up in any detail on the current state of affairs. That in mind, I was already disgusted with SVN by the time the move to it was finished. At the risk of drawing a bit of fire, I have to say I agree with Linus Torvalds' attitude about it, when he said (search "Linus Torvalds subversion" on Google for the reference) that it was pointless and that CVS couldn't be done right. SVN ditched things CVS had that should've been kept. Sub-repo management (modules) and module merging/aliasing are the two I fought most with during the migration; externals were a BAD patch on the problem! SVN was trying to "do CVS right", but that simply doesn't hold together in the modern software development world. Centralized servers by themselves are an old model. Simple, but old. That's why DVCSs exist in the first place! So yes, I think PHP needs to move past Subversion, which is being constantly held back by a model that's just too limited. The branching/merging nightmare seals the coffin, as far as I'm concerned. Which DVCS do I think is best? Git is the massive favorite out there at the moment, according to my Googling. I myself have never been able to fully get my head around it; someone said earlier in the thread that it's "a swiss army knife with a boom button", a sentiment I tend to agree with. Still, someone else also correctly said that the huge majority of devs in PHP right now do use it, and that can't be ignored. It is my observation that the Windows issues have been largely solved in more recent times. GitHub itself (while I would prefer something we host ourselves), is pretty easy to use. I don't know much about Mercurial, having never used it, so I can't comment much on it. The fact that it continues to be prevalent at all versus Git says something for it, but it falls down against the ubiquity argument, as a quick glance suggests to me that the learning curve would actually be a bit worse than Git's. Its Web interface makes me cringe. Bazaar is -my- current favorite, as its commands tend to translate almost directly from SVN's and while a minority, it has a passionate following (largely thanks to Ubuntu and MySQL, I think). But it being my personal favorite doesn't mean much. I also find Launchpad a bit incomprehensible, and Bazaar being written in Python feels a little odd to me. Don't we rely enough already on competing languages? :) (Mercurial also suffers from this.) I am not going to attempt any kind of conclusion based on technical merits (branching/merging ability, sub-repo support, etc.), as I don't know what the status of these features is, and even if I did, I no longer have enough knowledge of PHP's current state to apply the knowledge. So, I have to base my thought on what the most people are going to have the least trouble working with, and that's Git, hands down. There are more than enough people around the community with the full knowledge necessary to undertake the migration with minimum fuss; it's been pointed out that the kind of massive manual balancing I had to do for CVS->SVN would be completely absent. I just wish I didn't have to also admit that Trac is a really great project management system. Unless things have changed drastically since I was last active, PHP still needs one. ^^; -- Gwynne -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php