Search code examples
gitmercurialdvcsbazaar

DCVS + hosting for a startup commercial multiplatform phone app


I'm in lean startup mode, working on a simple phone app that will be published initially as a iThingy app and an Android app with, possibly, Blackberry and Symbian versions to follow. I'm about to go from no repository to needing a central repository that up to 4 very part-time resources will be sharing. Two of us have no version control background, one has used Subversion, and I've used most of the major centralized VCS systems.

I'm not going to be pushing the technical limitations of any VCS for a long time; I'm sure that any of the major systems would work fine. And the hosting accounts I've looked at seem reasonable. So I'm really focussed on minimizing the downside risks. That is, I'd like to find a stable setup that is easy to learn in general, easy to use from Windows/Eclipse, and won't paint me into any obvious corners for the next 12 months or so.

A quick search of the web had led me to consider the following pairs of DVCS and hosting service, with what I think I'm hearing as their strengths and weaknesses (for my purposes):

Bazaar/Launchpad -- My initial choice since I need to get more familiar with this pair for the Google Summer of Code mentoring I'm doing. But, whatever the technical merits, a non-starter for me because they are purely open source, no private repositories plans to purchase that I can see.

Git/GitHub -- Git: Fast, light, ultimately flexible, but relatively less Windows friendly, Eclipse plugin (eGit) available but relatively young, GitHub: widely used, pricing is fine.

Mercurial/BitBucket -- Mercurial: a little less flexible, a little more Windows friendly, Eclipse plugin seems a bit more mature, BitBucket: widely used, pricing is fine, includes a wiki and an issue tracker that we might be able to use instead of something like BaseCamp, at least for a while.

Mercurial/BitBucket seem like the winning pair so far for my particular situation; at least two of us are definitely going to be working mostly from Eclipse on Windows and reducing my own learning curve is a priority. ;-)

But I have two specific questions:

  1. Am I wrong about Bazaar/Launchpad and is there a viable, secure way to use them for proprietary code?
  2. Any reason to think that the Mercurial/Bitbucket pair will end up being a headache for my Mac developer, soon, or for Blackberry or Symbian developers a little later?

Solution

  • I'm a Mercurial developer so I will (of course) support the choice of Mercurial and Bitbucket :-) That being said, all three systems are good. My preference for Mercurial lies in the fact that it gives you the same power as Git, but with fewer sharp edges to look out for.

    About Mercurial, let me add that:

    • MercurialEclipse is backed by a company called Intland and they put a lot of effort into improving the plugin since they use it themselves for all their development.
    • MacHg gives you a nice native Mac frontend for Mercurial. It comes with its own bundled version of Mercurial, so you should be good to go.