The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 4,261 other subscribers

Downgrading to SourceTree 1.5.x from 1.6.x, but keeping up with the youngest embedded Git and Mercurial

Posted by jpluimers on 2015/01/15

Hopefully it is not a coincidence that Steve Streeting left the SourceTree team four years after the first SourceTree release and shortly after the first release of SourceTree 1.6. version, but the SourceTree 1.6.x versions suck: it often hangs and is (often extremely) slow. This apart from numerous NullReferenceExceptions. I find this odd, as 1.5.x is far more stable in that respect, hence my hope it is not about Steve Streeting.

Even though many people complained about 1.6.x. being bad (read the comments on the release page), and quite a few ask for a way to downgrade, a downgrade option isn’t provided there.

A SourceTree downgrade itself is not that difficult. Ensuring the embedded versions of Git and Mercurial/Hg are up to date is more difficult. Getting that right is especially important on Windows: hgflow works much better with the embedded Mercurial/Hg. More importantly: both Git and Mercurial/Hg recently had a very nasty security issue.

So here are steps on how to downgrade, then upgrade the embedded versions of Git and Mercurial.

Downgrade to SourceTree 1.5.x

The basic steps are these:

  1. uninstall SourceTree 1.6.x
  2. download SourceTree 1.5.2
  3. install SourceTree 1.5.2

You will loose parts of your settings, but SourceTree 1.5.2 refuses to install over SourceTree 1.6.x.

Here is how to get the Windows version list of SourceTree (you get this URL when running Fiddler, then inside SourceTree perform a check for updates):

http://www.sourcetreeapp.com/update/windowsupdates.txt

From there, you can find the youngest 1.5.x version is 1.5.2 and can be downloaded here:

http://downloads.atlassian.com/software/sourcetree/windows/SourceTreeSetup_1.5.2.exe

(there is still an issue that the 1.5.1 version also points to the 1.5.2 download)

Upgrading the embedded Git and Mercurial/Hg

This is a bit more tricky, as these versions are hard-coded in the SourceTree installation itself.

The downloads of Git all are of this format though (from SourceTree 1.6.5.0):

http://downloads.atlassian.com/software/sourcetree/windows/PortableGit-1.8.3-preview20130601.7z

From this, you can find that it is easy to get the latest version through the main MSysGit repository:

https://github.com/msysgit/msysgit/releases

The downloads of Mercurial/Hg all are of this format though (from SourceTree 1.6.5.0):

http://downloads.atlassian.com/software/sourcetree/windows/PortableHg_2.6.1.7z

This poses more of a problem, as Google cannot find a download for it.

SourceTree 1.6.12 and the update link above however mentions the most current versions:

BugFix=HOT-25006 Updated embedded Git to v1.9.5 and Hg v3.2.3 to address CVE-2014-9390.

And these links indeed work with a little help from https://github.com/msysgit/msysgit/releases:

SourceTree downloads these into the following subdirectories:

  • %LOCALAPPDATA%\Atlassian\SourceTree\PortableGit.7z
  • %LOCALAPPDATA%\Atlassian\SourceTree\PortableHg.7z

and then recursively decompresses them into:

  • %LOCALAPPDATA%\Atlassian\SourceTree\git_local
  • %LOCALAPPDATA%\Atlassian\SourceTree\hg_local

So those are the steps to follow as well:

  1. Download the youngest PortableGit and PortableHg
    1. Get the version numbers from http://www.sourcetreeapp.com/update/windowsupdates.txt
    2. Update the above download link URLs
  2. Copy these to %LOCALAPPDATA%\Atlassian\SourceTree using the filenames PortableGit.7z and PortableHg.7z
  3. Unzip these to %LOCALAPPDATA%\Atlassian\SourceTree using directory names git_local and hg_local
  4. In SourceTree, go to the Tools -> Options menu, then verify the embedded Git and Mercurial/Hg versions match the downloads.

–jeroen

PS: The stability and usability issues also affect SourceTree for Mac, see for instance the comments at SourceTree for Mac 1.9 – Out Now! | SourceTree Blog..

7 Responses to “Downgrading to SourceTree 1.5.x from 1.6.x, but keeping up with the youngest embedded Git and Mercurial”

  1. […] Similar to Downgrading to SourceTree 1.5.x from 1.6.x, but keeping up with the youngest embedded Git and Mercur…. […]


    https://polldaddy.com/js/rating/rating.js

  2. […] I am one of the many people complaining about recent SourceTree stability and usability.Issues are not limited to the Windows 1.6.x versions, but since I do most development work on Windows, I wrote Downgrading to SourceTree 1.5.x from 1.6.x, but keeping up with the youngest embedded Git and Mercur…. […]

  3. jpluimers said

    Hopefully the JIRA team will coerce the SourceTree teams to make better Mac and Windows versions: https://plus.google.com/u/0/+atlassian/posts/4CiTsEJGrKi

    The Mac version also suffers from Quality Issues: https://plus.google.com/+JeroenPluimers/posts/GdubBvQisgE

  4. sglienke said

    I really have no idea who approved these changes… the new file list control is just a horribly slow, broken and space wasting pos. Checkboxes for performing actions (staging/unstaging) make no sense and overall the user experience is horrible.
    The should have worked on actually missing features (like auto stash when pulling) instead of breaking working ones -.-

  5. I wouldn’t normally nitpick things like this, but since you’ve pinged my blog specifically and failure to respond could be interpreted as confirming your concerns, I will.

    So for the record, the last version of SourceTree for Windows I wrote code for was version 1.4.1. After that I went back to Mac only until I left the team. Both 1.5 and 1.6 were written by the same Windows development team. 1.6 had a lot of large & complex changes in it and I know the current team is working hard on stability & performance issues that have been raised.

    • jpluimers said

      Thanks for your message. I’m glad you explained a bit about the background and confirmed it wasn’t about your leave.

      I know my post was a bit provocative, but it’s hard to find out what the team is working on (I’m almost exclusively on the Windows side of things) especially with the number and duration of issues.

      I really hope the team can fix the issues, as in the base it is a good product. While they’re at it, I’ll stay on 1.5 to keep being productive.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.