SourceTree for Mac 1.9.5
By Steve on July 8, 2014Today we’re releasing SourceTree for Mac 1.9.5; it’s a point release in name, but it has enough interesting things going on under the hood that we thought it deserved a blog post of its own. Let’s dig in!
Git 2.0: ‘simple’ is the new ‘matching’
Our friend Nicola wrote a great post recently about what changed in git 2.0 from a command line perspective. In SourceTree the main effect is around the default behaviour for pushing branches. Before git 2.0 the default was ‘matching’, which means that branches with the same name on the local and remote would be pushed – in SourceTree terms this means which branches are initially checked when you open the push dialog, although it also affects the which branch is chosen for the ‘push immediately’ option in the commit pane too.
From git 2.0 the default changes to ‘simple’, which means that the default is to push only your current local branch, and to push it to the remote branch that it is tracking, so long as they also have the same name. SourceTree respects this default if you’re running git 2.0+, which currently you’d only be doing if you’d told SourceTree to use the system installed git (our embedded git will be updated at a later date). You can also choose to explicitly set the push branch behaviour in Preferences > Git > Push Branches, regardless of what git version you’re running.
Better memory usage
SourceTree’s memory usage has been optimised considerably in this release. You should find SourceTree uses less memory under heavy use, and that it gives memory back to the rest of the system more quickly when you close repositories and other windows. And who doesn’t like more memory? 🙂
Auto-refreshing & ignored folders
SourceTree automatically refreshes when files change (unless you turn it off), which is a useful feature. However, previously if a file changed inside a folder which you’d told Git or Mercurial to ignore, it would still cause SourceTree to refresh. This is because SourceTree didn’t read your ignore files itself, it left the filtering of file statuses to Git and Mercurial, only providing functions to add items to the ignore lists.
From this update SourceTree reads & caches your ignore files itself, and uses them to make decisions about whether to automatically refresh. If SourceTree is notified of a change in the file system, it will check the cached ignore patterns and filter out changes that are contained within an ignored folder, thus avoiding triggering an auto-refresh for these events. This only works for changes within folders which are ignored in their entirety, not for individual files, because the file system event system in OS X only reports changes at a folder level. However, this feature is particularly useful for build folders and Xcode metadata folders such as username.xcuserdatad, which are frequently written to automatically but are usually ignored.
Many bugs fixed
This probably goes without saying, but we’ve squashed a number of bugs in this release, most notably a particularly nasty one which has been causing seemingly random crashes for a few people; the telltale sign of this one was a crash log featuring ‘NSConcreteFileHandle’. That one sucked, so we’re glad it’s gone now, along with a bunch of other bugs which you can read about in the Release Notes.
So 1.9.5 is a point release; you won’t see any big surface changes, but under the hood things just got a significant tune up, and that stuff is important too. We hope you like it!
35 Comments
Looks like development for Windows version halt.
Far from it, watch this space for a major update on Windows soon.
I’ll be as happy as a pickle if you’ll make Windows release feature-parity. 🙂
I’ll be a sad panda otherwise. 🙁
How soon? Desperate for sn update..
Sourcetree windows has some nasty bugs abd missing features
There’ll be a beta going out to the public within the next couple of weeks.
Which nasty bugs are you referring to?
Cheers
Some random crashers, really poor performance, as it seems to index gitignored files.
Really need folder view, without it, it’s much pain.
Could we get some crash reports to find out what’s going on? Cheers
Any update on this? This week?
I’ll be doing the beta later today
Looking forward to giving it a spin
F5 key has worn down…. Will it be announced on this blog?
Hey Ike, we weren’t planning on it. Sorry, I’ll be doing it today for definite, it’ll be announced via Twitter. The final release (next week) will be announced via the blog.
Thinking the same here. No updates for many months… Github havevthrir shiny new client, sourcetree for windows left rotting.
As Steve said, we’ve been very actively working on a big update on Windows
The image used in this post of the Push dialogue shows a listing with checkboxes and alternating “striping” of the list rows. Why can’t this style be used for all file listings, such as the Working Copy view? It’s basically what we had in 1.8.x, wastes less vertical space, and makes it easier to differentiate rows of information. Changing all listings to use this style would also improve visual consistency throughout the product.
this version looks better. I downloaded 1.9 but I didn’t like it, so I re-install 1.8. The question I use the new version of sourcetree is why hide the option “Amend last commit” in “commit options”? I don’t know this commit is amend in some cases, but I use amend commit a lot. With version 1.8, I just need to notice the mark before amend last commit. it’s very convenient, I need it!!!
whenever I open a repository it simply crashes on my OSX Lion D:
I have the same problem. it crashes when I try to open a repository.
OSX same version here.
We’re actively working on a fix and will ship a hotfix as soon as we are able.
Cheers
Every time I try to open 1.9.5 it crashes immediately.
This has been reported on OS X 10.7 only, we’re working on it, you might want to revert to 1.9.4 until the hotfix is available. Details: https://jira.atlassian.com/browse/SRCTREE-2530
1.9.5 has fixed none of the UI problems introduced by 1.9. File lists still waste a lot of space, the tree view that they finally added back can still not sort files in the same order as Finder in OSX, still no column view, etc, etc. Very disappointing, as there is still no sign that SourceTree will get back to a useful state. I recommend using version 1.8.1, which can be downloaded from: http://downloads.atlassian.com/software/sourcetree/SourceTree_1.8.1.dmg
I too continue to be disappointed that none of these UI regressions has been addressed. I’m afraid I continue to stick with 1.8.1 because it is visually less painful and simply easier to use.
I forgot to add that I experienced one crash while just testing 1.9.5 for 5 minutes, which is of course yet another reason to use the very nice version 1.8.1 instead.
Is there an ETA for the new Windows release?
How can I go back to the previous version? I just updated to the latest version and it constantly crashes. I am still using iOS 1.7.5 Lion. How can I revert back to the previous version? I can’t work right now 🙁
“iOS 1.7.5 Lion”? What is that?
ha ha sorry typo – OSX 10.7.5 – I was typing fast and not reading what I wrote!
A couple of comments down, Martin Fredriksson posted a link to the latest version that has a sane and usable UI (1.8.1). No doubt by modifying that URL you can find a disk image of the version of your choice.
thx Ben. I found it and downloaded it. And after I launched it, there was already a bug update for OSX 10.7.5 , so it all worked out. Thank you so much for your reply.
1.9.5.2 solves all known issues with 10.7. Apologies, it’s getting increasingly difficult to install test versions of 10.7, Apple only really wants developers to support the latest OS X – 1.
After reading this post, I immediately updated my system Git to 2.0 and indeed the default push is perfect now 🙂 Really liking this change. Thanks!
Why all this talk about Git 2.0 when the embedded git version with 1.9.5/6 is still Git 1.8.4.2? Did I miss an install step or something?
No, as mentioned in the blog “…running git 2.0+, which currently you’d only be doing if you’d told SourceTree to use the system installed git (our embedded git will be updated at a later date)”.
We just improved support for people running git 2.0 already, which at the time of writing was only available (for Mac) via Homebrew etc or manual install, git-scm.com didn’t have 2.0 for Mac although they do now. We usually don’t update something as large as embedded git version in a point release and will be doing more long-term testing with git 2.0 before making it the default embedded option.