I recently needed to move control of a source control repository on Bitbucket from a personal account to a company account. Fortunately, there’s a relatively easy built-in process to transfer it between accounts. In this post, I’ll show how it’s done.
- Open the repository in Bitbucket
- Click on Settings at the bottom of the left navigation
- Click on Transfer repository under General
- Choose the new owner and click the Transfer Ownership button
- Login to Bitbucket as with the account of the new owner
- Click on the user icon in the upper right and select “Inbox”
- You’ll see a message with the transfer request. (It will also be e-mailed to the account owner.)
- Open the message and click the link that it contains
- Click the Accept button to transfer the repository
- Now that the repository has been transferred, it takes you to the Access management screen so you can add users to the repository as needed.
- If anyone already had Source Tree set up to use the repository, they will need to update the repository settings to point to the new location.
- If you try to commit to the original repo url, you get a 404 error when trying to push:
- Open the repository in Source Tree
- Click on the Settings button in the upper right hand corner (or select Repository > Repository Settings)
- Click on the default repository to select it
- Click the Edit button
- Update the URL to replace the previous Bitbucket account name to the new one in two places in the URL
I started receiving an SSLv3 Handshake error message when using SourceTree to synchronize a Mercurial repository to Bitbucket. In this post, I’ll show how the issue can be resolved.
The error message is a bit cryptic:
abort:error:_ssl.c:504:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Earlier versions of Mercurial used SSL V3.0 and are now failing when connecting to Bitbucket as a result.
My SourceTree application is up-to-date, but that doesn’t take care of the problem. The issue is that the underlying version of Mercurial needed to be updated.
Fortunately, the solution is an easy one.
You can check the version of Mercurial being used by SourceTree by selecting Tools > Options and then clicking on the Mercurial tab.
In my configuration, SourceTree is set up to use the system version of Mercurial, which was at version 2.7.1. I switched to the embedded version and ran the update via the button on the right of the screen, but the embedded version was only updated to Mercurial 2.6.1.
Ultimately, I had to download the latest version of Mercurial from Selenic’s site.
After I ran the installation, the problem was fixed.
While testing out SourceTree with a current project after watching David Leedy’s great NotesIn9 episode on the subject I came across an error when I first tried to start Hg Flow, so I want to document how to fix it in case anyone else runs into the same problem.
The error I received was, “abort: No module named ConfigParser!”.
Fortunately, someone has already documented a fix for this error:
I followed the steps in that blog post and it worked.
FWIW – When I installed SourceTree, I selected the options to install both Git and Mercurial within it. However, it is important to note that I previously installed Mercurial binaries and have been using that plugin in DDE, so I’m not sure whether that is related.