Quantcast
Channel: SourceTree by Atlassian
Viewing all 64 articles
Browse latest View live

Bookmarks Window: Reloaded

$
0
0

SourceTree’s bookmarks window has always been one of its defining features. We focused on this feature for SourceTree 1.4 to give users a considerably enhanced view that offers key information and an improved experience. Let’s dive in and see what’s changed.

New Visual Style

The most obvious change we’ve made is the new visual style. We’ve redesigned the UI to make it easier on the eyes. After compacting the bookmarks window vertically, more projects can be seen at once. See the current branch that your repository is on, and — if necessary — rename bookmarks by simply pressing Return, as you would in Finder. We’ve also improved the way the Bookmarks Window animates tree expansions and dragging/dropping to make the entire experience much more intuitive.

Live Searching

Having a hard time finding a repository? Live search is your friend. It doesn’t matter where in the bookmarks tree the repository you’re looking for is. Just start typing in the search box and SourceTree will instantly drill down and find it.

Quick Re-sorting

If your bookmarks window is becoming a little too cluttered, you can sort your repositories alphabetically or by version control system. Right-click on a folder and select ‘Sort by Name’ or ‘Sort by Type’ to reorganize your bookmarks in a snap.

 

Actions Menu

Save time and access repository functions right from the bookmarks window with Action Menus. Click the gear to jump to the repository folder in Finder or launch a Custom Action you’ve defined.

Create New Repositories with Drag & Drop

Previously, only two things could be dragged & dropped into the bookmarks window: your existing Mercurial or Git repositories from Finder and clone URLs from your browser. With SourceTree 1.4, you can now drop a plain source code folder into the window. SourceTree will save you some steps and offer you the option to turn this folder into a Mercurial or Git repository.

We hope you like the new bookmarks window. Try it out and improve your development process today!


Draft your commit messages in SourceTree 1.4

$
0
0

Another useful new feature introduced in SourceTree 1.4 is the ability to draft your commit messages as you work, potentially long before you hit the commit button. This feature lets you jot down any information you want to include in the commit message later, without having to remember it!

To start, click the new button at the bottom left of the repository window or press the keyboard shortcut ⇧⌘D.



In the pop-up window, draft the contents of your next commit message:


When you’re finished, just press Escape or click somewhere outside the pop-up. The draft commit is saved along with your repository, so it will persist even if you close SourceTree. You can refine the message whenever you like, and of course when you finally do open the commit dialog, your commit message will be automatically populated with your draft, to be committed as-is or refined one last time.

Draft commit messages were added in 1.4 to help streamline your work process, we hope you like this feature!

Say Hi at WWDC!

$
0
0

From June 11 – June 15, SourceTree creator Steve Streeting will be at Apple’s Worldwide Developers Conference.

Steve will be taking advantage of his first WWDC and attending as many talks as he can, and he’d love to meet you! Get your questions answered, score a free SourceTree t-shirt, or just share some SourceTree love.

Don’t have a WWDC ticket? Can’t find him at the event? No worries! Steve will be around for a couple of the WWDC Parties during the week. Catch him at:

Look forward to seeing you!

Mac App Store: Sandboxing Update

$
0
0

A few months ago, I discussed how new sandboxing requirements have prompted us to move away from  the Mac App Store for future releases. Since that blog post, a few things happened:

  1. The deadline was delayed to 1st June, giving everyone some extra time
  2. Apple made some changes to OS X to allow more behaviours to be supported within the sandbox
  3. Apple decided that they would still allow bugfix updates to non-sandboxed apps that were already available in the Mac App Store prior to 1st June

All these moves were welcome, and we thank Apple for making them. We have subsequently been able to publish SourceTree 1.4 to the App Store. We even had an expedited bug fix approved after the 1st June deadline, which was very useful.

Going forward with future releases, however, the changes that have been made to the sandbox still do not quite address all of the issues we have with it. While we could work around them, it would downgrade the user experience, which has always been a red line for us. We also have to consider the fact that the main alternatives to SourceTree are not distributed on the Mac App Store and are therefore not constrained by these rules.

Therefore our position has not materially changed since the original decision: SourceTree 1.5 onwards will only be distributed via sourcetreeapp.com. We advise all users on the Mac App Store to migrate to the direct download version, either now or when 1.5 is released, so you can benefit from the awesome new stuff we have in store for you.

[This update is just to clarify the questions we've had from people who have seen the recent 1.4 updates on the Mac App Store. We have already started using the new Developer ID code signatures since 1.4.4, which means the direct download version is compatible with Gatekeeper on Mountain Lion -- Apple's recommended method to distribute apps outside the Mac App Store.]

 

SourceTree 1.5 beta 1

$
0
0

Calling all eager beta testers! SourceTree’s next major release, version 1.5, is now available for you to try out in beta form. As ever we have a bunch of great new features for you, and we’d love to get your feedback.

Probably the leading headline in this release is support for git-flow and hg-flow, but there are lots of others things too, please read the full release notes for details.

Download SourceTree 1.5 beta 1

Read the Release Notes

You can have both the 1.5 beta and the stable 1.4.4 release installed on the same machine if you wish, but don’t run them both simultaneously, that will cause some clashes.

We hope you enjoy using the new release! If you encounter any issues, please raise them on the JIRA tracker. Thanks!

SourceTree 1.5: Going with the Flow

$
0
0

Steve Streeting has made it his mission to reach out to SourceTree users and listen to what they have to say. In the last couple months, he’s even traveled to San Francisco from his hometown in the UK, hosting a drinkup to meet SourceTree customers face to face. He’s taken your feedback and pushed out some of the features you’ve asked for in the latest release – SourceTree 1.5!

What’s New?

Git-flow and Hg-flow Support

A development model first published by nvie, Git-flow (and its Mercurial equivalent – Hg-flow) organizes your repositories by formalizing the use of feature branches, releases, and hot-fixes. SourceTree 1.5 now lets you adopt this model, so you can unclutter your repository and develop stress-free.

Reverse Granular Changes from Previous Commits

Sometimes, you need to revert a change that you made, but undoing an entire commit can be painful. Whether you want to reverse a change made in a line, a chunk of code, or an entire file, SourceTree 1.5 now gives you that power. Highlight the changes you want to reverse and click reverse. Take complete control over your code – the way it should be.

Bitbucket Teams Support

Bitbucket Teams let you create a shared account in Bitbucket to consolidate your team-owned repositories and organize your group’s work. SourceTree now gives you options to configure Teams settings when you create a hosted repository. Easily collaborate on code using SourceTree and Bitbucket.

A Whole Lot More

In addition to bug fixes, we’ve added a couple more of the features you’ve asked for. To name a few:

  • Added support for default push options other than ‘matching branches’. You can change this in Preferences now to other defaults (e.g. ‘current’).
  • Added global preference to disable fast-forward merges, takes effect on context menu merges too
  • Support dragging & dropping bookmarks to other apps (passing the repository paths)
  • Support creating a branch at a commit other than HEAD for Git repositories
  • And a whole lot more! To check out the rest, read through our release notes

Give the new release a try! Download it for free today!

SourceTree adds Retina Display Enhancements in Version 1.5.1

$
0
0

Apple wowed us all at WWDC this year with the introduction of a stunningly beautiful Retina display to the MacBook Pro — cranking up the resolution to an eye-watering 2880×1800 and making all text and vector graphics immediately twice as sharp as before.

Unfortunately, bitmap graphics can’t automatically take advantage of this improvement. When placed next to this super-sharp text and line drawings, standard resolution icons look decidedly fuzzy on a Retina display, which clearly was not acceptable. So like many other Mac app developers, we’ve revisited our icons and upgraded them to look their best.

I’m glad to announce that SourceTree 1.5.1 includes, among other things, a full set of upgraded icons, meaning everything now looks crisp and lovely on Retina displays – you can see the difference by clicking on the image below. Enjoy!

Pretty, huh? Download 1.5.1 for free today!

Smart branching with SourceTree and Git-flow

$
0
0

Note: for brevity this article refers to Git and git-flow, but SourceTree supports exactly the same concepts in Mercurial via Hg Flow too.

In early 2010, Vincent Driessen wrote an article called “A successful Git branching model” which recommended an approach called git-flow to use git branches in your development cycle. The idea was to standardise branching and merging when developing features, handling releases and managing hot fixes, in order to be consistent and gain the advantages of git’s ‘branchy’ development model. Using many separate branches in Git gives you lots of flexibility, but it can get complex. Adopting a standardised approach has many advantages:

  • Keep your repository tidier
  • Keep your procedures clearer
  • Move between projects more easily with familiar branch structures
  • Get new developers up to speed more quickly

SourceTree 1.5 now integrates with git-flow and presents it to you in a friendly and intuitive way.

Summary of the concept

The general idea of git-flow is to use the following branch structure in your repository:

  • Development branch (usually called ‘develop’)
    This is your main development branch where all the changes destined for the next release are placed, either by directly committing small changes or by merging other branches (e.g. feature branches) into this branch.
  • Production branch (usually called ‘master’)
    This branch represents the latest released / deployed codebase. Only updated by merging other branches into it.
  • Feature branches (usually prefixed with ‘feature/’)
    When you start work on anything non-trivial, you create a feature branch. When finished, you’ll merge this branch back into the development branch to queue it for the next release.
  • Release branches (usually prefixed with ‘release/’)
    When you’re about to package a new release, you create a release branch from the development branch. You can commit to it during your preparation for a release, and when it’s ready to be deployed, you merge it into both the development branch and the master branch (to indicate that the release has been deployed).
  • Hotfix branches (usually prefixed with ‘hotfix/’)
    If you need to patch the latest release without picking up new features from the development branch, you can create a hotfix branch from the latest deployed code in master. Once you’ve made your changes, the hotfix branch is then merged back into both the master branch (to update the released version) and the development branch (to make sure the fixes go into the next release too)

SourceTree helps you utilise these branches via git-flow actions which we will describe below.

Getting started with git-flow

There’s a handy new addition to the toolbar in SourceTree 1.5 (keyboard shortcut Cmd-Alt-F):

Based on the current state of the repository, the Git-flow button will bring up a dialog with the most likely action you’d want to perform next. So if you haven’t set up git-flow on this repo yet, it’ll help you do that by default. If you’re on the development branch, it will default to starting a new feature. If you’re already on a feature branch, it will offer to finish your current feature and merge it back into the development branch, and so on. You can always get to all the other git-flow actions via this button as well, but most of the time the default option will be the action you’ll want SourceTree to perform.

If you haven’t used git-flow already on this repository, the first thing SourceTree will do is initialise your repository to use it. You’ll probably just want to use the defaults in the initialisation window so that’s not covered here. For more details please see the Help section included in SourceTree. Next up, we’ll concentrate on the actions we can perform with Git-flow and SourceTree.

Starting a feature

You can commit trivial changes directly to the development branch (‘develop’) if you like, but any time you start on something non-trivial you should explicitly start a new feature. This ‘Start Feature’ action will be the default action when you click the Git-flow button if you are currently on the dev branch.

The first thing to note is the ‘Preview’ window, which is present on all of the action dialogs and shows you what will actually happen when you confirm the dialog. In this case, a new feature branch called ‘feature/my-new-feature’ will be created (I used the default prefix when I initialised this repository). You commit your feature implementations to this branch. If you want, you can push the feature branch to your remote while you work on it (your team can decide on whether that’s normal practice or not).

If at any time you want to switch branches, either to another feature branch or to somewhere else, just use the normal mechanisms in SourceTree to do that, such as double-clicking a log entry or a branch in the sidebar. Git-flow determines your context simply from the branch you currently have checked out, so it’s fine to jump around if you like.

Finishing a feature

Eventually when you’re done implementing a feature, use the ‘Finish Feature’ action (again, this will be the default action from the toolbar button if you’re on a feature branch):

Again, the Preview shows you what will happen — the feature branch will merge into the main development branch, essentially queueing it for inclusion in the next release. Feature branches are deleted by default but you can opt to retain them if you like.

Starting a release

You start a release branch when you want to start preparing a new release, which probably coincides with a feature freeze. Accessing the Start Release option –either from the menu or from the toolbar action selection window — brings up the following dialog:

The preview shows that a new release branch will be created. Most of the time, you want to start the release from the latest commit in the development branch, but you can choose to base it on another commit if you wish. This essentially freezes the release, so it’s not affected by subsequent development. You can also perform preparatory tasks for the release process on this branch, such as updating the version number in source files, updating changelogs, or committing other tweaks. Once these tweaks are done, you can finish the release as described below.

Finishing a release

Once all the adjustments required for the release are done and committed, you can conclude the release process.If you’re on the release branch already, the git-flow button will show you the following dialog:

The preview illustrates that the release branch will be merged into the production branch (‘master’ or ‘default’ normally) to indicate an update to the deployed version. Sourcetree will also create a tag here for the release. The release branch changes will also merge back into the development branch to make sure the develop branch is kept up to date.

Starting a hotfix

What if you need to just fix a bug on the latest release? You don’t want to create a new release, because that will pick up the recent changes from the development branch. So instead, you can start a hot fix:

Hot fixes always start from the latest production code from the ‘master’ or ‘default’ branch. Other than that, they’re basically the same as release branches. Moreover, when you’re finished with the hot-fix, they behave the same way as finishing a release branch. The changes are merged back into both the production branch and the development branch, and a tag is created on the production branch for the hot fix release.

Wrapping up

Git-flow is a great way to automate your handling of branch-based development in Git, and SourceTree now provides a simple and clear way to use it with an easy-to-use and intuitive GUI. Big thanks to Vincent Driessen for coming up with git-flow in the first place!

Try the Git-flow workflow yourself with Sourcetree 1.5!


Merge or Rebase?

$
0
0

As you’re no doubt aware, Git and Mercurial are great at re-integrating divergent lines of development through merging. They have to be, since their design strongly encourages developers to commit changes in parallel in their own distributed environments. Eventually some or all of these commits have to be brought together into a shared graph, and merging and rebasing are two primary ways that let us do that. So which one do you use?

What does Merge or Rebase mean?

Let’s start by defining what merging and rebasing are.

Merging brings two lines of development together while preserving the ancestry of each commit history.

In contrast, rebasing unifies the lines of development by re-writing changes from the source branch so that they appear as children of the destination branch – effectively pretending that those commits were written on top of the destination branch all along.

Here’s a visual comparison between merging and rebasing a branch ‘feature/awesomestuff’ back to the master branch (click for full size):

So merging keeps the separate lines of development explicitly, while rebasing always ends up with a single linear path of development for both branches. But this rebase requires the commits on the source branch to be re-written, which changes their content and their SHAs. This has important ramifications which we’ll talk about below.

[An aside: merging in Git can sometimes result in a special case: the 'fast forward merge'.  This only applies if there are no commits in the destination branch which aren't already in the source branch. Fast-forward merges create no merge commit and the result looks like a rebase, because the commits just move over to the destination branch - except no history re-writing is needed (we'll talk about this re-writing in a second). You can turn fast-forward merges off in SourceTree so that a merge commit is always created if you want - check the 'Create a commit' option in the Merge dialog or set it globally in Preferences > Git.]

So, what are the pros and cons of merging and rebasing?

Pros and Cons

Merging Pros

  • Simple to use and understand.
  • Maintains the original context of the source branch.
  • The commits on the source branch remain separate from other branch commits, provided you don’t perform a fast-forward merge. This separation can be useful in the case of feature branches, where you might want to take a feature and merge it into another branch later.
  • Existing commits on the source branch are unchanged and remain valid; it doesn’t matter if they’ve been shared with others.

Merging Cons

  • If the need to merge arises simply because multiple people are working on the same branch in parallel, the merges don’t serve any useful historic purpose and create clutter.

Rebase Pros

  • Simplifies your history.
  • Is the most intuitive and clutter-free way to combine commits from multiple developers in a shared branch

Rebase Cons

  • Slightly more complex, especially under conflict conditions. Each commit is rebased in order, and a conflict will interrupt the process of rebasing multiple commits. With a conflict, you have to resolve the conflict in order to continue the rebase. SourceTree guides you through this process, but it can still become a bit more complicated.
  • Rewriting of history has ramifications if you’ve previously pushed those commits elsewhere. In Mercurial, you simply cannot push commits that you later intend to rebase, because anyone pulling from the remote will get them. In Git, you may push commits you may want to rebase later (as a backup) but only if it’s to a remote branch that only you use. If anyone else checks out that branch and you later rebase it, it’s going to get very confusing.

Practical tips

Looking at the above pros/cons, it’s clear that it’s generally not a case of choosing between one or the other, but more a case of using each at the appropriate times.

To explore this further, let’s say you work in a development team with many committers, and that your team uses both shared branches as well as personal feature branches.

Shared branches

With shared branches, several people commit to the same branch, and they find that when pushing, they get an error indicating that someone else has pushed first. In this case, I would always recommend the ‘Pull with rebase’ approach. In other words, you’ll be pulling down other people’s changes and immediately rebasing your commits on top of these latest changes, allowing you to push the combined result back as a linear history. It’s important to note that your commits must not have been shared with others yet.

In SourceTree, you can do this in the Pull dialog:

You can also set this as the default behavior in your Preferences if you like:

By taking this approach, when developing in parallel on a shared branch, you and your colleagues can still create a linear history, which is much simpler to read than if each member merges whenever some commits are built in parallel.

The only time you shouldn’t rebase and should merge instead is if you’ve shared your outstanding commits already with someone else via another mechanism, e.g. you’ve pushed them to another public repository, or submitted a patch or pull request somewhere.

Feature branches

Now let’s take the case where you deliberately create a separate branch for a feature you’re developing, and for the sake of this example, you are the only person working on that feature branch. This approach is common with git-flow and hg-flow for example. This feature branch may take a while to complete, and you’ll only want to re-integrate it into other lines of development once you’re done. So how do you manage that? There are actually two separate issues here that we must address.

The final merge: When building a feature on a separate branch, you’re usually going to want to keep these commits together in order to illustrate that they are part of a cohesive line of development. Retaining this context allows you to identify the feature development easily, and potentially use it as a unit later, such as merging it again into a different branch, submitting it as a pull request to a different repository, and so on. Therefore, you’re going to want to merge rather than rebase when you complete your final re-integration, since merging gives you a single defined integration point for that feature branch and allows easy identification of the commits that it comprised.

Keeping the feature branch up to date: While you’re developing your feature branch, you may want to periodically keep it in sync with the branch which it will eventually be merged back into. For example, you may want to test that your new feature remains compatible with the evolving codebase well before you perform that final merge. There are two ways you can bring your feature branch up to date:

  1. Periodically merge from the (future) destination branch into your feature branch. This approach used to cause headaches in old systems like Subversion, but actually works fine in Git and Mercurial.
  2. Periodically rebase your feature branch onto the current state of the destination branch

The pros and cons of each are generally similar to those for merging and rebasing. Rebasing keeps things tidier, making your feature branch appear quite compact. If you use the merge approach instead, it means that your feature branch will always branch off from its original base commit, which might have happened quite a long time ago. If your entire team did this and there’s a lot of activity, your commit history would contain a lot of parallel feature branches over a long period of time. Rebasing continually compacts each feature branch into a smaller space by moving its base commit to more recent history, cleaning up your commit graph.

The downside of rebasing your feature branches in order to keep them up to date is that this approach rewrites history. If you never push these branches outside your development machine, this is no problem. But assuming that you do want to push them somewhere, say for backup or just visibility, then rebasing can cause issues. On Mercurial, it’s always a bad idea – you should never push branches you intend to rebase later. With git, you have a bit more flexibility. For example, you could push your feature branches to a different remote to keep them separate from the rest, or you could push your feature branches to your usual remote, as your development team is aware that these feature branches will likely be rewritten so they should not check them out from this remote.

Conclusion

The consensus that I come across most frequently is that both merge and rebase are worth using. The time to use either is entirely dependent on the situation, the experience of your team, and the specific DVCS you’re using.

  1. When multiple developers work on a shared branch, pull & rebase your outgoing commits to keep history cleaner (Git and Mercurial)
  2. To re-integrate a completed feature branch, use merge (and opt-out of fast-forward commits in Git)
  3. To bring a feature branch up to date with its base branch:
    1. Prefer rebasing your feature branch onto the latest base branch if:
      • You haven’t pushed this branch anywhere yet, or
      • You’re using Git, and you know for sure that other people will not have checked out your feature branch
    2. Otherwise, merge the latest base changes into your feature branch

I hope this helps! Please let me know in the comments if you have any questions or suggestions.

 

In Dublin this weekend? Come to our drinkup!

$
0
0

SourceTree creator, Steve Streeting, will be attending PyCon Ireland, and we’re hosting a drinkup in Dublin to meet and greet customers. Details below.

Where? The Stag’s Head in Dublin
When? Saturday, Oct 13, 2012, 7 PM
Who’s invited? Everyone! Even those not attending PyCon

Want to talk Git or Mercurial? Itching to find out how others use SourceTree? Have some feedback to share about Atlassian products? Either way, come through and have drinks on us.

Steve will also be giving away some awesome SourceTree t-shirts to the first 50 guests. So arrive early!

SourceTree for Windows beta signup

$
0
0

SourceTree on Windows

“SourceTree makes Git a pleasure to use and we need it on Windows.”

You asked, we listened! SourceTree, our powerful Mac client for Git and Mercurial distributed version control systems, is coming to the Windows platform in the next few weeks and we want you to be part of the beta! 

Early Access Program

Atlassian is rolling out an early access program to give developers an advance preview of SourceTree for Windows builds and provide feedback before our general launch. Simply give us your email address and over the next two weeks we’ll be emailing a random selection of users to provide feedback.

Sign up for the Windows early access program

New to SourceTree?

SourceTree makes it easy for anyone to interact with and manage repositories, automate complex command line operations, and visualize changesets across multiple branches and forks. Host your source in Bitbucket, Stash or any other popular hosting tool and work with that source in SourceTree.

SourceTree helps with several common developer needs:

  • Get a team up and running using common Git and Mercurial commands from a simple GUI
  • Manage all your repositories, local or hosted, through a single, simple client
  • Commit, push, pull and merge changes easily
  • Advanced features such as patch handling, rebase, stash/shelve and much more

Introducing SourceTree for Windows – a free desktop client for Git

$
0
0

The SourceTree team is thrilled to announce the latest addition to our family Atlassian distributed version control system (DVCS) family – SourceTree for Windows.

For some time now many Windows developers have been requesting a native counterpart to the SourceTree Mac desktop client. Windows developers, say goodbye to the command line and use the full capabilities of Git through SourceTree’s beautifully simple interface (and stop being jealous of what your Mac friends are using).

Download SourceTree for Windows


A simple, powerful Git client

SourceTree for Windows

SourceTree for Windows simplifies how you interact with Git repositories so you can focus on coding.

  • Get your team up and running using common Git commands from a simple user interface
  • Manage all your Git repositories, hosted or local, through a single client
  • Put Git commands at your fingertips: commit, push, pull and merge with just one-click
  • Use advanced features such as patch handling, rebase, shelve and cherry picking
  • Connect to your repositories in Bitbucket, Stash, Microsoft TFS or GitHub

Perfect for Git newbies

SourceTree toolbar

SourceTree was built to make Git approachable for every developer – especially those new to Git. Every Git command is just a click away using the SourceTree interface.

  • Create and clone repos from anywhere
  • Commit, push, pull and merge
  • Detect and resolve conflicts
  • Search repository histories for changes

Visualize your repositories

SourceTree keeps track of code activity and provides an at-a-glance view of everything from projects to repositories to changesets.

Visualize your repositories with SourceTree

Use SourceTree’s Bookmarks to get a real-time, aggregated view of all your projects and repositories. Jump directly to the changeset graph to visualize changesets across multiple branches and forks.

Powerful enough for Git veterans

Diff view

SourceTree makes Git simple for everyone, but also makes Git experts faster and more productive. Review your outgoing and incoming changesets, cherry-pick between branches, create and apply patches, rebase, shelve changesets and more with lightning speed.

Git one-stop shop

Atlassian offers a full complement of tools that will help you and your dev team make the most of Git. Whether you’re working on Mac or Windows, behind the firewall or in the cloud, Atlassian’s family of Git tools will bring you the power of Git while making adoption a breeze.

Connect to the cloud or behind the firewall

Instant cloning from Bitbucket and Stash

Thanks to hosting services like Bitbucket, many small teams working with Git repositories begin coding in the cloud. Connect SourceTree to Bitbucket’s free unlimited private repositories to easily manage your Git repositories from the SourceTree interface.

Stash, Atlassian’s Git repository manager for Enterprises, makes it simple to manage your Git Server – behind the firewall. With powerful two-way integration, Stash and SourceTree make it easy for your team to develop with Git. SourceTree can discover and fetch your Stash repositories. And one-click clone operations get you the source you need fast.

If you don’t have Stash or Bitbucket yet, not a problem, SourceTree for WIndows works with any Git repository, including GitHub, Microsoft Team Foundation Server or your own Git server.

What’s coming next?

Windows

We received great feedback from the SourceTree for Windows private beta users (a huge thank you). We will continue to push frequent updates and features to SourceTree for Windows users. We plan to bring all the great features that are part of SourceTree for Mac to Windows as well. What can you expect in the near future:

  • Mercurial support
  • Git-flow support
  • Custom actions
  • JIRA integration
  • and heaps more

Mac

We will continue to push out frequent releases for the Mac client. Stay tuned for an upcoming release featuring:

  • Interactive rebase support
  • Updated icons
  • Desktop notifications

Get SourceTree for Free!

If you’re new to Git, or just want a handy tool to make you even faster, download SourceTree – it’s free at our brand spankin’ new website.

Download SourceTree for Windows


SourceTree for Mac 1.6 Beta

$
0
0

We’re pleased to announce that SourceTree for Mac 1.6 beta is now available to download!

Download SourceTree 1.6 beta 1

We’ll be running the beta for a little while to collect feedback and we’d love to know what you think. Here’s an overview of some of the great features in this version:

Interactive Rebase

interactiverebase

The git rebase –interactive command allows you to reorganise your commits after you’ve created them (but before you’ve made them public), and now you can do this inside SourceTree. Combine (squash) multiple commits together, or re-order them, simply by dragging & dropping. You can also change the commit message, or edit the content of the commits. Just right-click on a commit in the log and choose ‘Rebase children of <sha> interactively’ to kick the process off.

Notifications are Here

notifications

Now when there’s new commits to pull into your repository you don’t have to take a look at your repository window to find out – SourceTree will raise a notification to let you know, either a native Mountain Lion notification or via Growl.

Atlassian ID Integration

onlineregistration

Previously, in order to register with Atlassian, you had to go to our website and download your license file to be imported into SourceTree. Now you can register seamlessly right from within the product itself.

Icon Refresh

icons

Our designer gave us a treat with a new icon set making the user interface look even more satisfying!

And lots more…

  • You can now “Log Selected” on multiple files at once
  • The push sheet in Mercurial shows what branch you’re pushing to
  • Preference added to make the pull count reflect the branch you’ve currently got checked out
  • Git repositories now remember what options were previously selected in the pull/merge sheets
  • The latest Araxis diff/merge tools are now supported
  • The “commit merged changes immediately” option is now remembered between pulls
  • Longer passwords supported for integrating with Bitbucket, Stash, Kiln, and GitHub

Check out the release notes for more information.

SourceTree for Mac 1.6.0b2 Now Available

$
0
0

SourceTree for Mac 1.6.0b2 is now available for download. Automatic update from b1 to b2 is unavailable, any subsequent beta updates will be available through automatic update, however.

Download SourceTree 1.6.0b2

This update contains many enhancements and bugfixes primarily to interactive rebase functionality. Check the release notes for more information.

SourceTree for Mac 1.6.0b3 Now Available

$
0
0

You can now download SourceTree for Mac 1.6.0b3. This is a minor release addressing only a few issues. You can get this through automatic updates if you’re on 1.6.0b2. For those of you on 1.6.0b1 you’ll need to download a copy of the latest release.

Download SourceTree 1.6.0b3

See the release notes for more information on what’s included in this update.


SourceTree for Windows adds Git Flow support

$
0
0

gitflowbutton1

Our Git Flow support in SourceTree for Mac turned out to be really popular, and it’s been one of the top feature requests from the community since we released SourceTree for Windows; so we’re very happy to announce that you can now use Git Flow in Windows as of version 0.9.2 beta!

If you’d like some more detail on what Git Flow is about and how SourceTree helps you use it, the blog post Smart branching with SourceTree and Git-flow is a good place to start. We wrote it for the Mac version, but the Windows version operates in exactly the same way and the interface looks the same too barring a few small details.

gitflowsupport1

We hope you enjoy using this feature! Since the public release of SourceTree for Windows a little over a month ago we’ve been working hard to expand and improve it, and there will be plenty more updates in the weeks to come.

SourceTree for Mac 1.6

$
0
0

After some great community feedback, we are releasing SourceTree for Mac 1.6. This is a major release that contains many new features.

Download SourceTree for Mac 1.6

Interactive Rebase

Having to bring up a terminal when you want to do an interactive rebase is painful. If you aren’t familiar with rebasing or the command-line, the pain levels up to excruciating. We asked ourselves: “How can we make this simpler and keep everything in SourceTree?” Our solution is a visual, drag-and-drop interaction:

FINAL_REBASE

The UI gives you visual feedback on each step of this previously advanced function. Want to re-order your commits? Want two commits to be one commit? No problem, just drag and drop the rows around.

Improved Notifications of Remote Changes

Previously, users checked for the pull counts by going into either the bookmarks view or the repository view.  If your team commits frequently, you were checking there a lot.  Now, the improved notifications center puts this information front and center:

notifications

Are you using OS X 10.6/10.7? No worries, we use Growl so it handles everything for you. If you’re on Mountain Lion, we use the notification centre so you’ve got more granular control over notifications. Prior to Mountain Lion, you could use Growl to control the notification granularity. We find them really useful; especially when we’re expecting changes we need in our local copy.

Atlassian ID Integration

SourceTree won’t cost you a penny but we do ask you to register to continue using it after your 30 day trial.  Registration helps us gather useful statistics that we use build a better SourceTree. Still, we know registration costs you time, so we’ve improved it. We’ve redesigned registration as a two-step process from within SourceTree. No more web registration. Even better, the in-product registration creates an Atlassian ID that can you can use with other Atlassian products.

FINAL_REGISTRATION

Icon Refresh

Have you noticed our new icons? They’ve been out but now we’d like to point them out. We think our new icons have a fresh look that brings SourceTree in line with the rest of Atlassian’s product family.

icons_standard

Mac App Store Note

A final note just to say that we no longer publish to the Mac App Store due to sandboxing restrictions. Check Steve’s blog post about sandboxing for more information.

And much more…

  • You can now Log Selected… on multiple files at once.
  • The push sheet in Mercurial shows which branch you’re pushing to.
  • New preference show the pull count for the currently checked out branch.
  • Git repositories now remember the previously selected options in the pull/merge sheets.
  • Support for the latest Araxis diff/merge tools.
  • The “commit merged changes immediately” setting is now remembered between pulls
  • Support for longer passwords for Bitbucket, Stash, GitHub and Kiln.


Work on Windows? We’ve got that covered, too. SourceTree for Windows 0.9.2.2 is now out including git-flow support! Check out our main website for more information and download.

New installer / updater for SourceTree for Windows

$
0
0

We’ve just changed our installer and auto-update system for SourceTree for Windows – up until now we’ve been using ClickOnce, which although quick and simple has caused problems for some people, such as those behind corporate proxy servers. As our user base has grown larger it’s becoming an increasing issue for people that needed to be resolved, hence the new installer.

windows-download-button

If you download SourceTree for Windows now you will automatically get the new installer, which features many improvements over the previous setup:

  1. It’s one file This is just simpler, particularly if you want to download once and install many times across a corporate network.
  2. You can install it when offline. One caveat: if you don’t have .Net 4.5 installed already (only applies to Windows 7) and you’re offline, the installer can’t retrieve it for you, so you’ll need to also download the Standalone .Net 4.5 Installer.
  3. The installer and auto-update system work behind all proxy servers
  4. You can pick the install location, unlike ClickOnce which gave you no choice.
  5. More robust. ClickOnce could sometimes tie itself in knots if something went wrong during the install or update, this system should avoid that.

If you already installed with the ClickOnce installer, you don’t have to grab the new installer yet (there will be one more ClickOnce bugfix update today), but we recommend doing so as soon as it’s convenient for you – you’ll be reminded at startup once the new installer updates become the only path. Installing the new version will happen alongside the ClickOnce install, and will retain all your bookmarks, per-repository settings, and any settings stored with Git itself, however your other settings in Tools > Options will be reset to the default. Once you are up and running with the new version you can simply uninstall the ClickOnce install, which will look something like the below in your Control Panel > Uninstall window:

uninstall_001

Just uninstall the highlighted entry (the one with the ‘globe’ icon, rather than the SourceTree icon).

Switching over to a brand new installer / updater is not something we do lightly, however based on the feedback we’ve had from the community we think this is the best option for everyone for the future. We hope you continue to enjoy using SourceTree for Windows!

 

Say Hello @ WWDC 2013

$
0
0

From June 10 – 14, SourceTree developer Kieran Senior will be at Apple’s Worldwide Developers Conference (WWDC).

This will be Kieran’s first time at WWDC, and he’d love to meet you! Shoot the breeze, get your questions answered, or just share some SourceTree love. Plus, he’s got a SourceTree t-shirt with your name all over it.

How can you resist this face?

Kieran Senior

Didn’t get a WWDC ticket? Can’t find him at the event? No worries, Kieran will be around for some WWDC parties during the week. You can catch him at:

SourceTree 1.0 Released, including Mercurial support

$
0
0

windows-download-button

It’s a big day for SourceTree for Windows: we’re releasing version 1.0 into the wild today. Every developer knows that hitting 1.0 is a seminal moment for every product, and we think we’ve got a cracking release for you to check out. The full release notes have the complete story but here are the highlights:

Mercurial Support

The big headline feature in this release is support for Mercurial, finally bringing the Windows version into line with the Mac. Thanks to everyone who has been asking for this for their patience – to make up for it you get early access to a few Mercurial enhancements which are pending the next version on Mac, such as optimized, full-log previews of incoming / outgoing changes. Enjoy!

Push / Pull Counters

You can now see how many changes you have to push or pull on the toolbar and on your bookmarks. Never forget to push again!

st4w1.0_pull

Automatic Remote Fetching

SourceTree can now periodically fetch new commits from your default remotes in the background so you’re always up to date with what’s going on.

Stage / Unstage Shortcut Buttons

By popular request we added some extra buttons to make staging / unstaging at a file level faster in git.

st4w1.0_stage

…and lots more!

We really hope you enjoy this milestone release of SourceTree for Windows. Let us know what you think!

windows-download-button

Note: if you’re still on 0.9.2.3, please see our previous blog post for how to update.

Viewing all 64 articles
Browse latest View live