Iteration 1105 — Incoming!

By on February 12, 2011

Visualize the changes between forked repositories

One of the reasons DVCS is awesome is because it makes forking cheap and easy. The Bitbucket team ends up forking repositories almost every day – to work on new features, experiments, bugs fixes, or investigations. But once you’ve got all of those forks out there, you might want see what’s different between the parent repository and the developer’s fork. So that’s what we built!

Click the icon pictured above and you can compare a repository with its parent. Bitbucket will show you a list of the changesets. This works both ways: child to parent, and parent to child. Look for the cycle icon to change the direction of the report.

More accurate mapping of commits to users

When setting up Mercurial, one of the first tasks you should complete is configuring the ~/.hgrc configuration file with your full username:

[ui]
username = Justen Stepka <jstepka@atlassian.com>

Unfortunately, folks often forget to do this. When that happens, their commits are recorded with a login name (something like bob). Prior to today, when these changesets are pushed to Bitbucket we tried to be smart and automatically mapped bob‘s changesets to the Bitbucket user bob.

But there plenty of times when the two Bobs were not actually the same person. Bitbucket user bob got confused, wondering where all of these commits came from. And local bob got scared, because it looked like someone else had access to his repository.

This caused a great deal of confusion and a bunch of support requests. Consequently, we’re no longer going attempt automatic username mapping. If a user forgets to set their username in the Mercurial ~/.hgrc configuration file, these commits will remain un-associated in our interface.

But all is not lost! If you’ve got a bunch of changesets that were committed by poor, hapless bob, you can still make sure those commits get linked up. You can create an alias for that username that tells Bitbucket that bob is really Bitbucket user robert.a.smith.

Anytime an unknown user shows up in one of your repositories, you can click on the little question mark (see screenshot) and make an alias for him. This aliasing only applies to an individual repository, and will hopefully minimize confusion. For more information, check out the documentation for custom username aliases.

Improvements

Bug fixes