Licence: Freeware
Version | Release Date: 2013-12-11 | Download

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.

Other fixes / updates

  • Upgraded the embedded Git version from 1.7.11 to
  • 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
Version 1.6 | Release Date: 2013-05-07 | Download

Major Update for Mac

- Interactive UI Improvements
- Improved Notifications of Remote Changes
- Atlassian ID Integration
- Icon Refresh
- No longer in the Mac Store

Many more listed here:

Version 1.5.1 | Release Date: 2012-07-24 | Download

SourceTree 1.5.1 - Minor Release

Retina display upgrade - SourceTree now includes higher resolution icons and other tweaks to improve the appearance on MacBook Pros with Retina displays.
Display both the author date and commit date in commit details for Git if different
Added a Preferences option in Git to choose between author date and commit date in log table.
Repository window titles now instantly update when bookmarks are renamed.
When unstaging a file deletion in Git, don't automatically restore the file, leave it in the 'Missing' state so that it's the exact inverse of staging a Missing file as expected. The 'Reset' option is still available to undo the deletion and restore the file at the same time.
Make sure base path & strip options are correctly used in the Apply Patch sheet when manually entered and not tabbed out of
Fix the error message when opening an invalid working copy so that it does not imply that local Subversion repositories are supported.
Search %include files referenced in user .hgrc for extensions to ensure they are correctly recognised
In clone sheet, make sure error details button is hidden when clearing the clone source field after an error
Ensure that Bitbucket hg repo URLs don't get reported as Subversion in the event that Mercurial fails for some reason
Fix bug in launching custom actions whose script name is less than 3 characters

Version 1.4.4 | Release Date: 2012-06-16 | Download

What's New in Version 1.4.4

• Fix GitHub access in Hosted Projects following the removal of their v2 API (now using API v3)
• Fix unable to remove remote tag in Git if deleting the tag via the toolbar
• Fix checkout from toolbar button not pre-selecting the current selection on the second time opening
• File log window now remembers its size/position
• Blame window now remembers its size/position
• When cloning, ignore any 'git clone' or 'hg clone' prefix that might get copied/pasted in from command-line hints or documentation
• Fix bookmarks window always opening when using stree to open a repo even if it was closed last time
• When performing operations on a list of files which starts to get into the thousands, detect when the command line is getting too long and split into multiple tasks automatically
• Fix refresh suppression during some tasks which can become long (add, pull) to avoid thrashing
• Fix git summary status reporting a non-zero untracked items count for a dangling submodule when the file status detail already filtered it out
• When pulling in git, make sure we deal with merge conflicts more explicitly so user doesn't have to unintuitively cancel the dialog afterwards to get out to resolve them

Version 1.4.3 | Release Date: 2012-06-05 | Download

What's New in Version 1.4.3

• Offer to delete remote tags in git when deleting them locally
• Support renaming branches from the sidebar in git
• Save & restore a default window frame for non-bookmarked repositories
• Offer the option to disable the SSL cert check in Git
Bug fixes:
• Undo / redo now works correctly in commit message drafting pop-up
• Fix amending a previous commit and changing the author back to the current committer settings
• Fix default destination path when clone source has a colon in its name and no path e.g. SSH aliases
• Deal more explicitly with SSL self-signed certificate errors, offer more helpful advice
• Japanese translation fixes
• Fixed issues with saving passwords to keychain when an incorrect entry already existed.
• If a keychain entry for a specific protocol is not found, try any general protocol before asking the user again - can eliminate an unnecessary prompt where a host is used via multiple protocols.
• Fix editing GitHub and Bibtucket account details if edited after a Stash / Kiln account.
• Synchronise the draft commit message with the commit dialog contents when cancelling so any changes are preserved
• Fix auto-refresh behaviour if hg bookmarks are changed outside SourceTree
• Handle [subpaths] entries in .hgsub correctly
• Fix clipping of lines in the diff preview if the longest line is far down within a single hunk
• Reset the scroll position of of the diff pane back to the top when changing the list of files being diffed, or the commit(s).
• A few memory optimisations

Version 1.4.2 | Release Date: 2012-05-18 | Download

What's New in Version 1.4.2

• Add Add/Remove keyboard shortcut
• Add the ability to change some view options in the Bookmarks Window context menu
• Add Mercurial preferences option to allow user to choose whether to show multiple heads for a branch in the sidebar
• Honour the commit.template setting in git if user has set it by defaulting the contents of the commit window.
• Automatically create hyperlinks for (full) SHAs embedded in commit text
• Support git commit '--signoff' and '--author' options
Bug fixes:
• When pulling from Subversion, don't change the global post-pull action to rebase, just change it for that pull
• Fix failure to properly save hosted accounts in the setup wizard on a clean machine
• Fix using main menu External Diff on log view when a range of revisions is selected
• Fix a problem with determining tracking branch when local branch is not tracking anything but commit message includes square brackets
• Gracefully handle the case of the system running out of file descriptors instead of crashing
• Don't manually sort the branches / tags in the sidebar, use the sorting from hg/git which already deals with version numbering sorting better e.g. 1.10 after 1.2
• Fix log view not loading any extra rows beyond the first 200 if Uncommitted Changes line was displayed for only untracked files.
• Display an obvious spinner when the log is loading new rows in order to display the requested selection
• Fix diff & staging when user enables diff.mnemonicprefix option in their global config
• Commit parent links should cope with git octopus merges
• Fix git commit sheet displaying selected files mode instead of staging mode if launched from the log view when a previous commit is selected

Version 1.4.0 | Release Date: 2012-05-04 | Download

What's New in Version 1.4.0

• Bookmarks window overhaul!
◦ New improved visual style; more compact and easier on the eyes
◦ Live searching
◦ Sorting by name / type at any level
◦ New menus let you get to lots of functions without opening the full repo window, including Custom Actions you've defined
• Support for Atlassian Stash in the hosted projects view
• New setup wizard leads new users through their initial configuration, setting up Bitbucket and GitHub accounts, searching for local repositories etc.
• Mercurial Bookmarks are now fully supported (akin to local branches in Git). Previously these were displayed in the log but you could not manipulate them. Mercurial Bookmarks are now displayed in the sidebar and you can define them inside SourceTree.
• The Log View uncommitted line mode has been significantly enhanced, meaning all the features available in the File Status view are now also avaialable when selecting the uncommitted line in the Log View (previously you could only perform a subset of the actions).
• Commit message drafting - you can now draft commit messages well before you actually commit by clicking the icon at the bottom-left of the repository window or pressing Cmd-Shift-D.
• Custom URL protocol support - SourceTree will now respond to URLs of the form "sourcetree://cloneRepo/CLONE_URL" so websites can expose clickable links to clone in SourceTree. Also SourceTree will optionally handle github-mac:// URLs.
• Archive support exports a copy of your source code to a compressed archive, minus the repository metadata.
• Miscellaneous improvements:
◦ Improved support for handling multiple heads per branch in Mercurial
◦ Repository-level custom actions are now available on file/log context menus too and not just on the main menu bar
◦ Support for ignoring multiple individual files/folders at once rather than only via a pattern
◦ Commit text views now remember and share changes to their spell checking / correction settings
◦ Add the option not to display the 'Add Bookmarks' window when opening unbookmarked repositories
◦ Prune the log view more in Git when 'Current Branch' is selected when 'Show Remote Branches' is still enabled
◦ Dragging plain (non-repository) folders into SourceTree now defaults to creating a new repository in that folder

Version 1.3.3 | Release Date: 2012-03-31 | Download

What's New in Version 1.3.3

• Prevent 'git stash show' diff view being broken by user options like diff.external and colours
• Allow any file to be brought in as a patch file, since the Lion open dialog doesn't allow file type filters to be overridden easily
• Suppress refreshes while applying patch files to avoid thrashing on large patches.
• Optimised processing of command output, particularly large outputs like large stashes / diffs
• Optimisation of memory consumption when dealing with edge cases like viewing very large stashes
• Fix SourceTree reporting SSL errors for self-signed certs in Mercurial when command line just displayed warnings
• Change confirmation message on Git delete remote branch to make it clearer that the change affects the remote
• Git push dialog now respects manually configured push settings, for example those used by Gerrit, while still not needing to check remote. Wildcard matching is also supported.
• Prevent the rare case of the repository refresh causing the sidebar selection to override the log view selection, jumping the view elsewhere.
• Improved handling of inconsistently formatted responses from some hosting APIs.
• Sync 'Select All' checkbox with manual selection changes in Git push dialog
• Don't fail when unshelving changes in hg if the same shelf had been unshelved previously without deleting and then reverted
• Stop hgattic overriding the commit behaviour when you apply a shelved change but don't delete it, causing it to try in vain to open Vim

Version 1.3.2 | Release Date: 2012-02-29 | Download

What's New in Version 1.3.2

• Git pull & push sheets no longer query for remote branches unless prompted to do so, or you use a custom remote path. This speeds up the dialogs considerably; you can click the 'Refresh' button to see any branches you haven't fetched yet on the pull sheet.
• You can now stop a branch from tracking any remote branch from the sidebar, rather than just being able to set it to another branch.
• Unchecking the 'Track?' option in the git push dialog now untracks the branch; previously this only stopped the tracking relationship being set up. The 'Track?' checkbox is now mixed-state, where 'on' means set the tracking relationship, '-' means no change, and 'off' disables tracking on that branch.
• Allow confirmation dialog on branch switch to be disabled in preferences when working copy is clean
• Add extra keyboard shortcuts for log/blame selected
• Diff colours are now configurable in Preferences for accessibility.
• Add an explicit manual refresh button to hosted projects view (View > Refresh / Cmd-R also works)

• Fix gravatar display for emails with +/- in them
• Disallow email addresses as user name for Bitbucket/GitHub, require real user name to avoid invalid clone URLs
• Fix JIRA links consuming superstring references to same-named Crucible project
• Display uninitialised submodules in git. Allow uninitialised git submodules to be automatically initialised when you double-click on their sidebar entry
• When submodules require login and are on a different host, make sure any request for user details is clear about which one is being asked for.
• Automatically synchronise git submodules on pull/checkout, to pick up new submodules and changes in tracked commit without user intervention
• Add '--recursive' option to git submodules update in case you like submodules in your submodules
• Fix items in the sidebar sometimes being cut off so the annotations were not visible.
• Fix problem with using '#' characters in regex commit replacements
• When using 'Discard' or 'Reset' specifically on a working copy change in git, *only* undo the changes in the working copy (git checkout), keep the index. This was potentially confusing.
• Fix conflict between hgsubversion & subrepositories with hg 2.0.1+ which could cause cloning with subrepos to fail.
• Remove defaulting of destination path in clone dialog on App Store version
• Extra safety checking to make sure keycode isn't ever nil on custom actions.
• Always use git config setting core.quotepath to deal with filenames which include utf8. Previously this had to be set in the gitconfig by the user
• Add an author map file option to cloning from Subversion.
• Fix crash when using 'Current Branch' filter in hg on a newly created uncommitted branch. Also fix content display in this case since hg won't filter on that branch until it's committed.
• Fix incorrect git pull default branch selection when config manually changed to branch.master.rebase=true
• Suppress error messages from git log before the first commit on an empty repo
• Allow 'unstage' to work on added files in git before the first commit has been made in a blank repo

Version 1.3.1 | Release Date: 2012-02-11 | Download

What's New in Version 1.3.1

• Default the commit text to the previous commit if the 'Amend previous commit' checkbox is enabled
• Allow suppression of empty commit warning
• Clone: default the destination path (and by derivation, the bookmark name) from the clone source if the user hasn't altered it manually
• Fix being unable to close the Preferences window if you blanked the global ignore list field
• When detecting git-svn, look for .git/svn/refs and not just .git/svn
• Display all remote branches when using git-svn
• Support pushing branches other than the current HEAD to Subversion under git-svn
• Fix Git 'push to tracking branch' dialog refresh shortcut when used the second time for a different branch
• Add '--' delimiters to git tasks to better support unusual filenames like dash prefix
• Fix display of uncommitted line in git when the last commit is a merge
• Support display of git octopus merges in log view
• Add 'Stop Tracking' menu option for files
• Ensure that when the Main Menu 'Update To...' / 'Checkout...' item is used, the update sheet selects the current selection if you were on the log view.
• Cope with Git repositories which use a .git file (not folder) with a 'gitdir' clause to redirect the location of the actual git repo content (Git 1.7.8 creates submodules like this)
• Embedded Git updated to
• Fix pushing a single branch in Mercurial via the advanced section of the push sheet
• Fix a failure to add a git submodule when manual authentication was required on the clone source
• Fix mercurial subrepo commit tracking changes not showing up in the file status view
• When retrieving the SHA of the current commit in Mercurial, force it to return the full version, not the short version (permanent)
• Fix display of blank keyboard shortcuts in Custom Actions
• Handle unexpected git/hg failures better by alerting the user more explicitly instead of just logging
• Fix hgattic getting stuck if you applied a shelf without deleting, then deleted manually
• Fix linking multiple JIRA / Crucible issues if they were adjacent in the text. Note: requires re-saving the JIRA link to update the regex
• Update help index for better searching

Version 1.3.0 | Release Date: 2012-01-31 | Download

What's New in Version 1.3.0

• New application icon!
• Submodule and subrepository support
• Configure custom actions so you can launch any tool or command you like from within SourceTree; your actions will appear in context depending on what parameters you reference (file, SHA etc).
• Commit comments can now link JIRA and Crucible issue numbers to their URLs simply, and you can configure any other system with a regular expression replacement.
• Full screen support on 10.7 Lion
• Many performance improvements, especially in the log view
• Mercurial 'Graft' is now supported, and replaces 'Transplant' by default
• Git 'Reset branch to commit' added so you can re-point your branches and use the soft/mixed/hard options
• Mercurial 'Strip' support added
• Launch SourceTree direct from Finder via the 'Open in SourceTree' item in the Services menu.
• 'Show in Finder' toolbar button now available (find it under Customize... toolbar context menu)
• Mercurial 2.0 compatibility (default embedded version is now 2.0.1).
• Git now embedded
• Updates to French & Japanese translations
• System Mercurial / Git installations can now be sourced from custom locations.
• When invoking 'Blame' or 'Log Selected' in the log / search views, the subsequent view is now presented from the point of view of the selected commit, and not the working copy.
• When pushing while committing in git, only push the current branch and not all tracking branches.
• Git push / pull of tracking branches no longer forces user to wait for remote query
• Added a Preferences option to always show the full console output of tasks
• Added explicit menu options for Continue / Abort of both rebase and graft, instead of needing to hit commit / pull to be prompted to do so.
• You can now override the language used just for SourceTree from Preferences.
• "Add" button in the Log view for Uncommitted changes now works like the file status view
• Git push can now be set to not push all tags by default, and you can push single tags from the sidebar instead.
• Hide 'HEAD' tag in Git log and use branch indicator only, unless repo is on a detached HEAD.
• Display an entry for a detached Git HEAD in the sidebar for easier navigation.
• Fixed 'Ancestor order' option in git log and remember the preference
• Fix file list & diff omitting working copy changes when you range select in the log view on a Mercurial repo including the Uncommitted Changes line
• Fixed 'Ancestor order' option in git log and remember the preference
• Fix file list & diff omitting working copy changes when you range select in the log view on a Mercurial repo including the Uncommitted Changes line
• Fix log view context menu items being disabled incorrectly on first row after uncommitted line has been removed

Version 1.2.91 | Release Date: 2011-11-15 | Download

What's New in Version 1.2.91

• Fix inability to commit a git merge when there are no remaining file changes
• Fix revision field on Mercurial pull sheet needing to be defocussed before bindings were updated
• Fix 'Current Branch' filter in Mercurial log view not displaying enough when current branch is very old
• Fix display of user info in repo settings if user manually updated .git/config and only set one of name/email instead of both
• Fix global ignore being overridden incorrectly because tildes were not being expanded before checking to see if the file existed
• Fix editing global ignore file from Preferences if path included a tilde
• Fix wrong branch getting bold font on the sidebar
• Remember the last repository type when creating a new repo (local or hosted) and default to that in future

Version 1.2.90 | Release Date: 2011-10-31 | Download

What's New in Version 1.2.90

• Fix a parameter problem with using p4merge to resolve conflicts for Mecurial
• Fix a diff panel bug which meant that in the log view, when all the files in the selection had their diffs suppressed by the preferences, the entire diff for the commit was displayed instead.
• Change text in Git push window for Subversion remotes to 'Current Branch' instead of 'All Tracked Branches' to reflect what really happens with 'git svn dcommit'
• Revert to Revision / Reset to Commit should be disabled when the uncommitted changes line is selected in the log
• Display outstanding rebases (caused by mid-rebase conflicts) more conspicuously in the status bar and bookmark summary
• Some performance improvements particularly on Lion during startup
• Find system git in manual installer locations before the core system paths. Lion now comes with git installed by default so we need this to pick up user-installed versions of Git.
• Better diagnostics in a few hg failure cases
• Speed up git file status in pending view when numbers of files increase
• Fix pull/push counts for hgsubversion repositories
• Display a friendlier message when trying to use system Mercurial >= 1.9 (not supported yet due to extension compatibility)

Version 1.2.81 | Release Date: 2011-10-13 | Download
No changes specified