|
Rockbox mail archiveSubject: Re: Informal poll, change to git?Re: Informal poll, change to git?
From: Ray Lambert <codemonkey_at_interthingy.net>
Date: Thu, 02 Jun 2011 12:10:38 -0400 I haven't done any rockbox hacking in a while (other than changing the keymap on new releases to work around the broken REC button on my X5) but I have served as lead developer on two projects in my company in the last several years. I transitioned one of those projects from Subversion to Mercurial and I thought my experiences might be helpful to this discussion. First, the benefits of a DVCS in our case was significant, given that we were not always able to work on our network. There are other benefits as well but I won't go into them here (there's plenty of that on the web). There are definitely some good reasons to switch to a DVCS and it's certainly worthwhile to consider it for rockbox. Disclaimers: When I switched my project to Mercurial I only considered git and Mercurial so my comments apply mainly to them. (However, from what I hear Bazaar is also quite good and very similar.) I chose Mercurial obviously and I've now been using it exclusively both at work and on my personal stuff for several years so I obviously have a bias and I also may not be aware of recent advances in git. Some folks have implied that git has a leg up because it's more popular and more people know it. I don't think that's a real issue. The feature set AND command set of both tools (and Bazaar as well, I believe) are so similar that anyone switching between them can be up to speed in minutes. There's also a good amount of support for Mercurial in tools and web sites, etc. (there certainly isn't enough of a deficiency to make this a significant issue). I don't think that git's popularity is a wise reason for choosing it over another tool. The transition of the actual repository data is pretty easy and doesn't take very long. In my case I did a one time import from Subversion into Mercurial. All history came through, etc., and we've never looked back. Some folks are rightly concerned about gui tools. While Mercurial doesn't have as many tools as git or Subversion, it does have the excellent TortoiseHG tool (a port of TortoiseSVN) which works on both Windows and Linux (and elsewhere). It integrates with Windows Explorer and Gnome Nautilus (which, of course, can also be run under KDE, etc.) and the latest versions now have an excellent stand-alone "workbench" tool that can track multiple repositories. Other tools (like IDEs and meld) have Mercurial support and more are adding support. I have certainly not felt burdened by a lack of tools (gui or otherwise). Mercurial and TortoiseHG are written in Python so obviously they can go anywhere that Python can and should work right out of the box. (Meld, incidentally, is also written in Python; significant given how important a diff/merge tool is.) Command line Mercurial works well pretty much everywhere, including Cygwin (I think it can also be used from the Windows command prompt but I haven't tried it myself). Mercurial is also very well documented for end users. Lastly, I'll mention the reasons that I chose Mercurial over git. These may not be important to everyone but, obviously, they were to me (and I think others will likely agree). There were essentially two reasons that made the difference for me: (1) given the brash way in which Linus introduced git to the world and continues to promote it, I perceive it as having a certain level of political baggage which I just don't want to be bothered with; and (2) Mercurial appeared to follow a superior design and development process; it just seemed better thought-out and planned and I like that it consistently uses Python (whereas git seems to be a bit of a mishmash). One other thing which, admittedly, is a bit silly: I kinda like the notion of using the chemical symbol for Mercury (hg) as the command name (not to mention it's easy to type)... ;) So, anyway, to each his own and all that and I hope this was helpful someone, someway. :) ~ray Received on 2011-06-02 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |