By Kieran Senior on August 19, 2014
We’re excited to announce the release of SourceTree for Windows 1.6, a major step forwards in our recent work to SourceTree’s user interface. This release was the first to have public beta testing so we’d like to thank the community members who provided feedback for some of the improvements we made to 1.6 in the last week. This release includes loads of really great features we think you’ll love.
New Commit Experience
In the previous version of SourceTree the commit experience caused a new dialog to open, showing you the same information as you were seeing on the file status screen. We’ve now merged these two windows to bring you the new commit experience, an all-in-one window to manage your changes and get your files into source control faster than before.
View Configurations & Fluid Staging
Everyone likes a certain view configuration and now there’s a variety of options to suit your needs simply by using the new view configuration menu in the new scope bar.
Two new view configurations are a part of this release, the ‘flat list’ and ‘fluid staging’. To save on screen space the fluid staging mode will group staged and unstaged and display them all in one list, and the flat list will forego columns, displaying the entire path of the file.
What, still no tree view? This release included loads of really major changes to SourceTree for Windows, so to make sure the tree view is just right when we release it we’re happy to announce it’ll be a part of a minor release of 1.6 in the coming weeks and is actively being worked on right now.
Improved Diff View
The newly improved diff view is easier on the eye, less cluttered and provides the more commonly used functions along with horizontal scrolling for each hunk. We’ve moved the less common functions into a pop-out menu and made sure buttons become available based on your current selection.
We’ve completely remade the welcome wizard so you can go from install to first repo as fast as possible. In addition to this, the welcome wizard offers to install Git and Mercurial if SourceTree can’t find an existing installation.
And Loads More…
- Hot swap commit authors
- Sorting in file listings
- Quick-access menu to common functions for files
- Improved asynchronous hosted repository listings
- Smaller borders with bigger grab areas for easier user interface adjusting
- And more…
By Steve on August 12, 2014
Wouldn’t it be great if you could use SourceTree for Mac in your own language?
We’ve supported French and Japanese in SourceTree for Mac for some time, but until now we haven’t been able to expand to more languages efficiently. However, dropping support for OS X 10.6 recently has meant we could finally convert all our user interfaces to auto layout – only supported on OS X 10.7+ – which enables us to add support for many more languages. As many as we want in fact
Good News Everyone!
So, from today we’re adding significantly to the number of languages we intend to support in the next major version, and are asking the community to assist us in populating those translations ahead of the release. You can contribute your translations to the SourceTree for Mac Translation Project – signing up is easy and you can get started in no time.
We’ve added a bunch of languages already, and we may add more in future. Languages that reach a good level of completion (around 60%+) by the time the next major version is released will be included in that release. Right now Russian is the only one which has reached that threshold, so if you’d like your language supported please jump in and translate as much as you can.
Inside each language are a bunch of resources which correspond broadly to functional areas so you’ll probably recognise where they are if you’re a SourceTree user. However if something is ambiguous you can post a comment here or in Transifex to request a clarification.
Thanks in advance! Let’s see how many languages we can support in the next version of SourceTree for Mac!
By Steve on July 8, 2014
Today 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!
By Kieran Senior on May 31, 2014
For another year running one of the SourceTree developers, Kieran Senior, will be at WWDC from June 1 to June 6. Just look out for the guy in the SourceTree t-shirt. Kieran will be at the conference throughout the week and would love to meet you, just come say hi!
Can you still resist this face?
On Tuesday morning outside the Moscone centre Kieran will be accompanied by product manager Justen Stepka where you’ll get the chance to ask us questions about Bitbucket and SourceTree. Just look out for a couple of guys outside the Moscone centre on Tuesday morning. On top of that we’ll also be handing out our new batch of SourceTree t-shirts for free!
Hope to see you there!
By Steve on May 30, 2014
It’s always difficult to make changes to an established product, and SourceTree for Mac 1.9 was no exception. Our goal with 1.9 was to make some of the core views more approachable to new users while retaining what brought more advanced users to SourceTree in the first place. We prototyped, user tested and dogfooded for some months and believed we’d got the balance right.
Things are never that simple though, right? The feedback we’ve received from the wider SourceTree community since indicated that although many people did like the new style and found it more approachable, a lot of existing users thought we simplified things too much, and removed some of the options they really liked in the file view and were core to their workflow.
We listened; today, we’re releasing an update to address the major points you raised.
More View Modes
You can now choose between 3 core view modes in the file list:
- Flat list (single column) – this was the only option previously in 1.9
- Flat list (multiple columns) – splits the flat list into separate columns for file name and path
- Tree view – clearly very popular and makes a comeback in this release
If you’re using a Git repository, you can also choose how you view staged changes:
- No staging – ignore the index and simply commit files that you check
- Fluid staging – staged and unstaged changes are in one list with headers between (previously the only option)
- Split view staging – the view is partitioned vertically into staged & unstaged panes which scroll independently. This also brings back drag & drop to stage/unstage.
The ‘Commit Selected’ option was removed in 1.9 because you can do this by checking the boxes (when not staging) to commit files, but it became clear that it was still a useful shortcut for people. So the feature is back; if you’re not using staging it simply flips the right checkboxes for you and opens the commit popup, if you are using staging then SourceTree temporarily switches to the ‘No staging’ view and checks the boxes so you can commit selected files, then flips back to the staging view afterwards (with the staged changes from before preserved if you didn’t check those files).
There are other changes too:
- Fixed a ‘stuck refresh’ case
- Line selection in diff views is now preserved over refreshes
- More details in the full release notes
Thanks for your feedback and understanding, we hope you enjoy the new release.
By Steve on April 29, 2014
We’re very happy to announce that the next major update to SourceTree for Mac is now available. This release focuses on improved visual design in areas such as the file status and diff views, and a much improved, more streamlined commit experience.
New Commit Experience
We’ve streamlined the commit experience so that it is no longer a separate sheet, but instead it’s built right in to the file status view:
Stage files with checkboxes
You can mark whole files for inclusion in the next commit (stage them in git terms) by checking the boxes in the file list:
[Edit] You can also use the spacebar to toggle the checkboxes for the current selection if you want to stage / unstage many files at once.
If you’re new to SourceTree, our default mode for git is simply for you to check the files you want to commit, which is more approachable to people who don’t understand staging yet. However as soon as you use one of the staging functions, SourceTree will switch to showing the staged and unstaged areas as above, which is what most more advanced Git users will want to see. You can switch back and forth between the simple and advanced modes on the context menu:
Quick access to common file operations
While you can still use the right-click context menu on files to access the full gamut of operations, we’ve also added a quick-access panel for the most commonly used actions, just click the ‘…’ button on the right of a file entry:
The new diff view
The diff view has been given a complete overhaul both visually and functionally. Not only does it look much cleaner, it makes better use of the space, with each hunk hunk of code scrolling independently (rather than everything being one big scrolling area), and controls are locked to the edges of the view for easier access. The functions for manipulating hunks and lines now switch depending on what you have selected; select lines of code to bring up the line buttons, click anywhere outside the code to deselect and bring the hunk buttons back.
Of course you can still stage, unstage and discard from the diff down to a line level:
The new commit pane
Finally when you come to commit, the commit panel simply pops up from the bottom of the file status pane (where you can see any draft message you might have already started to write), either by clicking on it, or using the usual Cmd-Shift-C keyboard shortcut.
As you can see, this is a lot more streamlined, but all the options are still there, and you can drive them with keyboard shortcuts now:
- ⇧⌘P – Toggle the ‘push’ option
- ⇧⌘O – Open the Commit options drop-down (amend last commit, signing etc)
- ⌘↑ – Previous commit messages
- ⌘⏎ – Confirm commit, as before
If you change your mind and don’t want to commit immediately, just hit Escape and everything will be saved for when you want to come back and finish it off.
To access the author settings, just click your avatar:
It’s time to upgrade
From now on SourceTree requires Mac OS X 10.7 or higher; 10.6 is no longer supported although you can of course continue to use previous versions of SourceTree on that platform.
There are lots of other refinements we don’t have room for here:
- Side-by-side binary diffs
- An improved setup wizard to get new users started
- Automatic switching to ‘All Files’ filter when you search on an empty file status list
- Subtree support now includes a squash option when adding
- Amend last commit is now supported in Mercurial too (hg 2.2+ required)
- The Working Copy sidebar entry now has an indicator of the number of files uncommitted
- Hosted Repositories now automatically shows repositories for all the teams/projects/organisations your account has access to
- …and even more
We hope you like the new version of SourceTree as much as we do!
By Kieran Senior on April 7, 2014
With SourceTree 1.4.0 for Windows released just a few weeks ago, we’re excited to announce that 1.5.0 is ready to go. We’ve been steadily playing catchup with the Mac version and we’re happy to ship some highly requested features.
The interactive rebase feature is now available on SourceTree for Windows. Need to mess with your local commits before you go and push them? Go ahead! To use this feature you can either click the Repository menu and hit Interactive rebase to rebase from your last upstream commit, or right-click on a commit in the log and go to Rebase children of <sha> interactively.
A more flexible option to Git’s submodules, subtree allows you to carry out a whole host of tasks when including other repositories into your own repository. You can pull down changes, or even commit and push changes to an unrelated repository. Like submodules, you can add a subtree either from the sidebar or from the Repository menu.
Keeping your tabs organized is an absolute must when dealing with a lot of repositories. To help with that you can now reorder your tabs; Just drag and drop them to wherever you want.
Get SourceTree for Windows or Mac
By Steve on February 26, 2014
Come join us at Atlassian and work on SourceTree, our free Git & Mercurial client for Windows and Mac! We’re looking for a development team lead to help change the way people develop software and spread the adoption of Git and Mercurial. You will be working in a fast paced environment where every line of code you write will be appreciated by a developer community of millions.
You will be responsible for leading a small team of passionate developers who are tasked with designing and implementing the best Git and Mercurial client on the planet. In this role you will spend 70% of your time working on improving the product and 30% of the time leading your team. If you have previous team leading experience, great – if not, this is a great opportunity to give it a go.
What you will do:
- Lead a small and agile development team in building the best Git & Mercurial client
- Dive into the Objective-C and C# codebase to cut some kick-ass features
- Work with Product Management in building the roadmap that ensures SourceTree is loved by its users
- Grow a motivated team that continuously looks to improve and challenge themselves
- Collaborate and coordinate with other product and cross functional teams
- Foster the Atlassian culture and ethic of the team
- Deep understanding and passion for Git and Mercurial
- Experience following current project management practices (Agile, Scrum, Kanban, Lean etc.)
- Extended knowledge of Objective-C or C#
- Knowledge of Cocoa or WPF
- Experience in working with distributed teams would be a plus
This is what we look for in every Atlassian:
- Get It Done (Initiative)
- Think Like An Engineer (Analytical)
- Be David, Not Goliath (Innovative)
- There is No I in Culture (Teamwork)
- You Are Our Ambassador (Communications)
- Legendary Service (Customer Service)
By Steve on January 29, 2014
To celebrate the new year (admittedly a little belatedly), how about a new major version of SourceTree for Windows? We have a doozy for you to start off 2014.
You can now use SourceTree for Windows to interoperate with your old Subversion projects via git-svn. This works by letting you work with a Git repository locally, but you can interact with a remote SVN repository via clone, push, and pull, thereby combining the benefits of a fast and flexible local DVCS, while still collaborating effectively with your projects that are still running legacy repositories.
Command line interface
You can now call SourceTree.exe from wherever you installed it on the command line, and by default it will open up the nearest containing repository for your current directory. You can also specify a different path, and ask SourceTree to immediately navigate to certain views or run certain commands, like so:
SourceTree [-f path] [ <command> [<command_params>] ]
The commands you can use are as follows:
|Opens the clone dialog with the provided URL.
|Opens the repository at the File Status view.
|Opens the repository at the Log view
|Opens the repository at the Search view. If <pattern> is specified, immediately searches for that text.
|Opens the repository and then opens the log for <file>.
|Opens the repository and immediately goes to the commit dialog.
You might wish to add SourceTree’s install directory to your path to make this accessible anywhere.
Thanks to your response to our call for translators, SourceTree for Windows 1.4 now comes in six languages: English, Japanese, Chinese, French, German, and Russian. The latter three are not 100 percent complete yet, but the major elements are translated; If you’d like to help fill in the remaining blanks, please join in the translation effort!
Patch file support
You can now create and apply patches within SourceTree – You can work effectively with patches comprised of uncommitted working state, and with patches containing one or more complete commits. SourceTree gathers all the options for generating a patch into an easy interface, and does the work of recognizing the relative paths and strip options when you’re applying a patch so you don’t have to work it out manually.
You can find the patch features on the Actions menu, labelled Create Patch and Apply Patch.
Would you like to export a full copy of your source without all the Git/Mercurial history and metadata, either at the current state or at some other point in history? Archive is the feature you need for that, available either on the main menu (Repository > Archive), or on the context menu against a commit in the log (right-click a commit and pick Archive).
We want to make SourceTree an even better product for you, and to do this we’d love your help in finding out how you use our product. In the latest version you’ll get a popup asking if it’s OK to gather some data about how you use the product. We want to emphasize that no personal data is taken whatsoever.
We also added a bunch of other smaller things, such as:
- An optional spell checker in the commit dialog
- The ability to bookmark open repositories which you opened with File > Open or via the command line
- Configurable conversion of tabs to spaces in the diff view
- Improved multi-monitor support
- and more…
We hope you like the new version of SourceTree for Windows!
By Kieran Senior on December 11, 2013
We’re happy to announce the release of SourceTree 1.8 for Mac. This release includes the much anticipated Subtree support and important Mavericks updates to improve stability.
Submodules were a feature of Git that many people had trouble working with and so subtrees were introduced as a way to solve many of the problems submodules introduced. We’re happy to announce that you can do all of this right from within SourceTree with a little zest added to make subtrees even easier to manage.
SourceTree stores subtree metadata so you can simply pull commits from your remote into your subtree without having to provide the same information over and over. Take a look at Atlassian’s blog “Alternatives To Git Submodule: Git Subtree” to find out more information about how to use Subtree with Git.
Mavericks Updates and Fixes
With a big thanks to the community we’ve been able to track down any outstanding compatibility issues with Mavericks. Version 1.8 of SourceTree includes a fix for the ‘error on commit’ issue, as well as startup crashes that a small number of users were experiencing.
We want to make SourceTree an even better product for you, our users, and to do this we’d love your help in finding out how you use our product. In version 1.8 you’ll get a popup asking if it’s OK to gather some data about how you use the product. We want to emphasize that no personal data is taken whatsoever.
Other fixes / updates
- Upgraded the embedded Git version from 1.7.11 to 126.96.36.199
- Bookmarks window resize bug fixed when making the window too small
- Now detects the existence of GPG when setting it in SourceTree preferences
- Can now use your system Mercurial
- Visual improvement, patch sheet has had borders added it to it
- Selecting ‘lightweight tag’ now disabled the message text input
- The create pull request dialog is now skipped under certain circumstances
Get SourceTree for Windows