Switching my open-source projects from Bitbucket to Github

June 9th, 2013 at 4:49 pm


I’m switching my public open-source projects from Bitbucket to Github, and in the process also from Mercurial to git. But the switch has little to do with git vs. Mercurial; it’s mostly about Github winning the platform war vs. Bitbucket. I like Mercurial, and it was a natural choice when switching from SVN a few years back. Back then I wasn’t familiar with git, and I am quite a bit more familiar with it now, but still the actual SCM played little role in the decision.

Well, to be precise there’s one thing I find slightly more convenient about git. I really like its throwaway-branch mode of development. I want to be able to create quick local branches for hacking, throw some away, merge others and keep my history clean. I want to commit every single comma if I feel like it, without worrying about polluting the "official" history. So git merge --squash or squashing with interactive rebasing are workflows I appreciate. It’s not that these aren’t possible with Mercurial, which recently gave up a bit on the pedanticism and allows similar workflows via extensions. But it’s not the natural or the familiar way of working with Mercurial. As a proof of that, I kept receiving pull requests with dozens of useless small commits just to implement some feature, and kept asking the contributors to find a way to send me a single commit, or just leave the pull request machinery behind and send an old’n good patch file.

But I’m getting sidetracked. Github is just way, way more popular these days, especially for open source projects. I was very disappointed seeing many contributors say they’re reluctant to contribute because that would require creating a Bitbucket account and fork my projects there. Would I please just switch to Github? sigh… I can understand that – Github managed to give coding a nice social aspect – your Github profile is part of your online "rep". You want your contributions to other projects to be seen through it, so people were feeling that having a fork on Bitbucket is like this hidden place no one will ever see and attribute to them.

A curious anecdote of the relative popularity is something I noticed when I started doing the switch. I had more followers on Github than on Bitbucket! Oh my, even though I had a number of moderately popular open source projects I was furiously hacking on Bitbucket, vs. a bunch of half-neglected forks and hacks on Github.

So here it is; not an overly coherent set of thoughts, I’ll admit, but I hope it makes sense. I don’t have anything against Mercurial or Bitbucket – I’m still a user of both. But the higher-profile open-source projects are now on Github. Happy hacking.

Related posts:

  1. Migrating my personal projects to Mercurial
  2. pycparser v2.09 released, project moved to BitBucket
  3. full fledged open-source project
  4. Choosing an open-source license for my code
  5. Python development switches to Mercurial source control

6 Responses to “Switching my open-source projects from Bitbucket to Github”

  1. Stephen McDonaldNo Gravatar Says:

    I wrote hg-github to deal with the same problem you’re facing, without having to choose either service over the other. Please check it out:


  2. qzncNo Gravatar Says:

    I’m a little bit afraid of Github, as I do not want a single site to “win”. There is now a rising pressure to use Github instead of any other site, because you get more contributions there.

    Personally, I also have git repos on Bitbucket and Github. I would be fine, if people forked my Bitbucket repo to Github. I just git-remote-add their repo and now I can track and merge them just fine. There is no “fork” button on a website to do this, though.

  3. Chris JeffersonNo Gravatar Says:

    I will be interested to see if this leads to an increase in patch numbers. I can’t imagine anyone willing to write a patch worth having wouldn’t also be willing to make a bitbucket account.

    The complete obsession which seems to have formed around git-hub concerns me. What happens if they ever close is anyone’s guess.

  4. elibenNo Gravatar Says:


    It’s not just creating a bitbucket account – it’s learning how to clone repos in it, how to send pull requests, how to use mercurial. But even if I’d use git on bitbucket… There’s a deeper issue of reputation here, and of keeping all your contributions in one place. Github AFAICS does a good job of keeping tracks of one’s commits to other repos via pull requests, and this may be important for the “portfolio” use many programmers attribute to Github these days.

    If they close developers will just switch to other similar services. Github is hardly irreplaceable. That said, I really see not reason for them closing any time soon.

  5. Brent BeerNo Gravatar Says:

    Great read, love hearing these stories!


  6. Manuel E.No Gravatar Says:

    I’m facing the same problem, love Mercurial but Bitbucket UX/Features are miles behind Github’s.

Leave a Reply

To post code with preserved formatting, enclose it in `backticks` (even multiple lines)