SourceTree

SourceTree for Mac 1.9.5

By 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!

Download

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!

Download

Say Hello @ WWDC 2014

By 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?

Kieran Senior

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!

SourceTree for Mac 1.9.3 : new view options based on your feedback

By 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:

If you’re using a Git repository, you can also choose how you view staged changes:

Commit Selected

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:

Thanks for your feedback and understanding, we hope you enjoy the new release.

SourceTree for Mac 1.9 – Out Now!

By 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.

Download

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:

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’s more!

There are lots of other refinements we don’t have room for here:

We hope you like the new version of SourceTree as much as we do!

Download

SourceTree for Windows 1.5

By 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.

button_windows_new

Interactive rebase

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.

interactive_rebase

Subtree

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.

subtrees

Tab reordering

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.

tab_reordering

Get SourceTree for Windows or Mac

Grab the latest version from sourcetreeapp.com!

We’re hiring a SourceTree development team lead

By 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.

SourceTree team photo

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:

Key skills:

This is what we look for in every Atlassian:

Apply today

SourceTree for Windows 1.4 released!

By 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.

Download

git-svn support

git-svn_blog.png

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:

clone <url>
Opens the clone dialog with the provided URL.
status
Opens the repository at the File Status view.
log
Opens the repository at the Log view
search [<pattern>]
Opens the repository at the Search view. If <pattern> is specified, immediately searches for that text.
filelog <file>
Opens the repository and then opens the log for <file>.
commit
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.

Translations

SourceTree-Babel-Fish

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.

Archive support

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).

Analytics

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.

Miscellaneous

We also added a bunch of other smaller things, such as:

We hope you like the new version of SourceTree for Windows!

Download

SourceTree for Mac 1.8 – Subtree Support & Mavericks Improvements

By 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.

 

Download SourceTree for free

 

Subtrees

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.

Subtree support in SourceTree

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.

Analytics

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

 

Download SourceTree for free

 

Get SourceTree for Windows

Don’t forget, SourceTree is also on Windows too. Grab the latest version from sourcetreeapp.com!

Help translate SourceTree for Windows!

By on December 9, 2013

SourceTree-Babel-Fish

Wouldn’t it be great if you could use SourceTree for Windows in your own language? We have a couple of translations in SourceTree for Mac (Japanese and French), but so far for Windows we’ve only supported English. Today, we’re asking you to help us fix that.

Translate SourceTree for Windows to your Language

We don’t speak anywhere near as many languages as we’d like to, and the Babel Fish sadly remains a fictional creature, so we need the help of native language speakers to make this happen. You can contribute your translations to the SourceTree for Windows Translation Project – signing up is easy, and you can get started in no time.

We’ve added a selection of languages we’d like to support initially, but we may add more later depending on demand;

If you’re a speaker of one of those languages, please sign up with Transifex, click a language, and start translating! You can also vote on existing translated strings if someone else got there first.

There are two sets of strings for SourceTree for Windows: ‘Labels’ which (unsurprisingly) are mostly about labels in screens, and ‘Messages’ which are mostly longer messages displayed in dialogs. When you’re translating, if you see placeholders like {0} and {1}, these are variable pieces of text such as file names or branch names which are added at run-time, so please make sure you add those placeholders in to your translation too.

Translate SourceTree

Thanks for helping us get SourceTree translated into your language. Look for the i18n release during the first part of 2014 to help bring in the new year!

SourceTree For Windows 1.3 Released

By on October 29, 2013

button_windows_new

We’ve just posted a great new feature release for SourceTree for Windows which we think you’ll like; this time the focus is on extensibility and integration. Here’s a quick rundown of the main features:

Custom actions

Now you can create your own custom menu items so you can execute whatever actions you like, without ever leaving SourceTree. You can find the Custom Actions definitions in Tools > Options, where you can create actions which are either simple global scripts, or ones which are linked to repository, commit SHA or file parameters, controlling which context menu they appear on:

Custom Actions

For example, with this setup, if I right-click a log entry I get these options:

Custom Actions Menu

So now you don’t have to be satisfied with just all the features we thought were useful to put into SourceTree; you can add your own too. Productivity++!

It’s pretty common to include JIRA issue numbers in our commits. What if those were automatically linked to the JIRA issue so you could just click them to open it? Well, now you can, by going into your repository settings (Settings in the toolbar) and linking your repository to a JIRA project:

JIRA Link

Once you’ve done that, mentions of that JIRA project immediately show up in your commits as links like this:

JIRA Links

 

Pretty cool, right? You can add as many JIRA project links as you like to a repository, hosted on any JIRA instance, so long as their project IDs are unique.

There’s more: This feature isn’t limited to JIRA; we provide simple setup for both JIRA and Crucible issues, but if you want you can just use a regular expression to identify text patterns and link them to URLs of your own construction, wherever they might live.

Continue commit mode

Some people like to make lots of code changes at once, then commit parts of their outstanding changes as multiple commits, one after the other in quick succession. If this is how you work, there’s a new option to automatically return to the commit dialog if there are still outstanding file modifications after you make a commit. You’ll find it in Tools > Options.

continuecommit

 

…and much more

There’s a ton of smaller tweaks and bug fixes included in this release as well. You can read the full release notes for details. We hope you enjoy this update!

button_windows_new