Archive | SourceTree RSS for this section

Transferring a Bitbucket Repository

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.

  1. Open the repository in Bitbucket
  2. Click on Settings at the bottom of the left navigation
  3. TransferBitbucket1

  4. Click on Transfer repository under General
  5. TransferBitbucket2

  6. Choose the new owner and click the Transfer Ownership button
  7. TransferBitbucket3

  8. Login to Bitbucket as with the account of the new owner
  9. Click on the user icon in the upper right and select “Inbox”
  10. TransferBitbucket4

  11. You’ll see a message with the transfer request. (It will also be e-mailed to the account owner.)
  12. TransferBitbucket5

  13. Open the message and click the link that it contains
  14. TransferBitbucket6

  15. Click the Accept button to transfer the repository
  16. TransferBitbucket7

  17. 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.
  18. 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:
    • TransferBitbucket8

    • 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
    • TransferBitbucket11

    • Click the Edit button
    • Update the URL to replace the previous Bitbucket account name to the new one in two places in the URL
    • TransferBitbucket12

      TransferBitbucket13

Advertisements

Fixing an SSLv3 Error Connecting to Bitbucket from SourceTree with Mercurial

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

The error message is a bit cryptic:

abort:error:_ssl.c:504:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

SourceTree SSL Error

The Cause

Atlassian’s Head of Security announced that they removed SSL V3 support from cloud platforms due to the POODLE vulnerability.

Earlier versions of Mercurial used SSL V3.0 and are now failing when connecting to Bitbucket as a result.

The Solution

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.

SourceTree - Mercurial version - Before

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.

SourceTree - Mercurial Version - After

Working around a SourceTree Error with Hg Flow

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!”.

SourceTree_ErrorOnHgFlow_1

Fortunately, someone has already documented a fix for this error:

http://blog.omarmohamed.com/fixing-mercurial-problem-abort-no-module-named-configparser/

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.