Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Introducing SourceTree for Windows – a free desktop client for Git (blog.bitbucket.org)
210 points by Lightning on March 19, 2013 | hide | past | favorite | 112 comments


Git AND MERCURIAL client. There's not a single decent Mercurial client on Windows. EasyMercurial is better than nothing, but not by much.

We a few .Net projects, (we mainly do Python), some of the projects we haven't even bothered moving from Subversion, because of the lack of good Windows Mercurial clients.

Having SourceTree on both Mac and Windows is huge to us.

EDIT: Just realized that they didn't include Mercurial support yet. Then I don't care at all.


SourceTree support for Windows is coming. We're implementing Mercurial support now and will release ASAP. We decided to put the product in the hands of everyone soon as we had a usable product.


TortoiseHg is an awesome Mercurial client, what are you talking about?


I can't speak for mrweasel, but in my experience, TortoiseHg struggles with performance on large repos, with basic operations (like refreshing the list of modified files in the Commit window) taking many seconds to complete. It consumes a lot of memory while idle (around 500MB on my machine), often becomes unresponsive or crashes, progress bars only represent the lowest level operations, not overall progress (eg: checking out a repo containing subrepos results in the bar going from start to finish several times), etc, etc.

It's not terrible by any means, but I'm interested to see what other clients can bring to the party.


Excessive TortoiseHG user here. Many rather large repos with multiple branches, tags, forks, etc. All hg processes together take less than 130 MB RAM. I don't recall having any crash at all in the last few years, nor did it become unresponsive, not even on my old TP60 (2007).


TortoiseHg was and possibly still is the best graphical VCS extension, and Mercurial, being written in Python, has always been better on Windows than Git.


TortoiseHG is pretty awesome, it has everything you could possibly need. You should try it.


Have you tried the mercurial command line? I find it very easy to use, it has a low barrier to get entry, and works the same on all platforms.


Thank you for explaining this point. It made my mind too :)


I installed it a couple weeks ago, and I would not recommend this yet. I have appreciated the frequent and easy update process during the beta. But, wow, still a long ways to go performance-wise. In the working copy view, where I spend the most time in ST, most clicks take seconds to respond. I'm optimistic it improves, I've been a fan of the Mac version for a while.


Please could you give us some details about your circumstances & repo at https://jira.atlassian.com/browse/SRCTREEWIN ? I test with quite a few repos and your performance experience with the Win beta is unusual - viewing files in the working copy should usually average well under a second. Do you have very large diffs for example? Info about the repo you are testing with would be very useful, especially if it's public. The Mac version of ST went through a lot of tuning over the years so we'll probably have a bunch to do on Windows too, your assistance would be welcome :)

Steve Streeting, SourceTree dev @ Atlassian


Some feedback for you since you probably wouldn't find out in other ways. I used the Mac version for a while comparing against the Github client. SourceTree then insists you register to continue use which isn't unreasonable. However registration wanted me to create an atlassian account of some sort that looked like a really crappy bug tracker (ie yet another username and yet another password on yet another site that I had no intention of using). So I gave up and kept using the Github client (and the command line mostly). I had expected registration to amount to a one off name and address kind of thing.


Sure, I'll share my experience over there. The slowest part seems to be multiple file selects or working with multiple file selects (right click to add or remove from index) in the Working Copy changes and Staged Changes windows.


I had a similar problem until today when I saw in the release notes you can turn off the gravatar icons that appear in each of the commits.

Doing this I found that the entire interface was much more responsive.


thanks for the heads up, just turned it off


I have ST on my Mac. It's a pretty beefy machine - i7, 4gb of ram. And it runs like a lazy dog in a hot August day in North Carolina, i.e., very slowly.

I really wish it'd be sped up and I sincerely hope that the Windows version is massively faster.


I use ST frequently on OSX and can't say I've personally encountered any slowness. Are there any specific actions you find slow?


Pretty much everything. Slow to load, slow to refresh, slow dialog boxes.

Other stuff on my system is quite fast.


The usual reason for slowness on OS X is one of the following:

1. Lack of HDD space (10%+ is benchmark to keep OS X's dynamic defrag happy) 2. Low memory - ST has to launch git & hg binaries and low memory affects those tasks especially 3. Running Mercurial on the App Store version on 10.8 - this is a little esoteric but it's down to Python precompilation and slight differences in versions. You can resolve that by using the system Mercurial instead of the embedded one for now.


It used to be rather slow for me, too. It got a lot faster with their 1.5 release, and (of course) ever since I did 'git gc' it also got a lot faster.


I have a slow, old MBP (2.53 C2D), and it's very fast, even on big repos (like Sinatra). So maybe your settings are wrong, or something. It's worth investigating if you use ST regularly IMO :)


Sinatra is a big repo :-)?


My Bad. I meant Rails (which is huge)!

Though Sinatra isn't very small either. It has a few thousand commits.


I have a mid 2010 mbp with 4gb of ram and it runs pretty fast.


SSD or platter? I use a hard disk, so that might be the cause.


Mid 2012 Mac Mini with 16GB of RAM and a 256GB SSD here and ST flies. Never had performance problems. An SSD is the single best upgrade one can make to their machine.


Platter.


It is a little hefty but make sure you are using SSH, HTTPS is a dog indeed and repos over a few GB it starts to consume memory especially on repos with larger files. On my 16GB Mac Pro it flies, on my iMac with similar specs it does take a while on commits that are larger.


Have you updated to the latest version? They've made several performance improvements in the last few versions especially regarding the graph view.


Why not the command line? One look at that UI and I cannot fathom why it needs all those buttons.

push, pull, checkout, add, commit. I can go days just using those five commands.


It has some useful features that I find easier to use in a gui than using command line.

For example, being able to see a summary of diffs of all staged and unstaged files, and being able to select particular lines of the diffs and stage/unstage/undo them. Or being able to see commits and diffs from other peoples' branches before I pull them.

Honestly, a gui is pretty useful for git, especially when you're doing operations that you want to apply to many specific files in different folders.

> push, pull, checkout, add, commit. I can go days just using those five commands.

You're missing out on a few git features then.

I agree some of the buttons are useless, like adding or removing files. The main window has a list of staged and unstaged files and I just drag and drop files between the two window panes. I've never had to use those buttons before.


>You're missing out on a few git features then.

Including diff, which I forgot, what else do you use everyday?


Merge, fetch, rebase, and blame are all daily commands for me.


log, branch, merge, mv, rm, status, fetch, reset

Some more that aren't used everyday, but certainly quite often


Oh, can't believe I forgot to include status.


You're kidding me right? 'git log' is a POS at really understanding the changesets and what changed when. A GUI is INFINITELY easier to use, especially for larger teams.

Just click a changeset, see what files were changed and click them to see a diff. ESSENTIAL.

If you're hacking on a solo project with only three files then yes, the command line is more than enough, but as for me, I'm really grateful for a GUI as beautiful as this.


Is there anything like this for Linux?

And has anyone managed to get this up and running with Wine/PlayOnLinux?


SmartGitHG's name sucks hard but it's close to SourceTree feature-wise: http://www.syntevo.com/smartgithg/index.html


SmartGitHG is a nice alternative, but it does cost money ($79), while SourceTree is being given away for free (as a way to push BitBucket).

I would love to see a Linux version of SourceTree, but it may be a while. As was pointed out by one of their employees before, they write each application as a native app for each OS to provide the best possible experience, so adding a new OS means adding a lot of work.


While it is not the same of course, I love the Nautilus integration of RabbitVCS.

Of course if you don't use a DE with nautilus ymmv.


git-cola is quite full-featured on Linux (and OS X (and Windows)).


I recommend grabbing the latest git-cola rather than the one in your package manager if you use Ubuntu.

The newest git-cola is so much more feature rich and cleaner in comparison.

git-cola rocks!


I'm pretty new at git and only use github. Why should I use this over the official github client? The official app is pretty easy to use and makes sense to me.


The official Github client is severely crippled and allows you to do little more than clone repos and make commits. This is a full-blown Git client.


And Windows Github client feels really strange, even comparing to Mac's one. Like, I am expected to be, a degree of magnitude dumber or something. Which would be fine, if I did not switch between Windows and Mac every day (Work/home) and got a shock every time...


I guess I do use the app and the actual website. I don't know what I am missing.


Git does not equal Github. SourceTree allows you to use most of the features of Git (the program). The official Github client lets you use some of the features of Git (the program) but is mostly an interface for Github (the website).

By their own admission, the Github client does away with the majority of Git features. If you want to find out what you're missing: http://git-scm.com/book


I can't think of any reason why you couldn't use both. I haven't used this windows client yet, but on the mac it has quite a few features that really make it worth your while. I still commit and manage git from the command line mostly, but its worth the price of admission just for the graphs and diffs alone.


What do you get that gitk doesn't give you?


Sounds like good news for making Git stuff easier on Windows platform. Git Extensions is pretty good, but can be intimidating for the unexperienced.


Agreed, I have team members that are still struggling with Git after 6 months because of issues remembering the right command line and needing to jump back and forth between CLI and Git Extensions for various use cases. Having one interface will make their lives easier. I'm hopeful for a performance boost from ST before I recommend it though.


Great work!

Nice to see companies investing into desktop applications.


And it's a WPF one too.


I don't really see that as a plus. Qt would have been my choice but oh well.


We are using Git Extensions at work (http://code.google.com/p/gitextensions/). What would be the interesting new features if we switched to SourceTree ?


The ability to connect up to Git and Mercurial repos. Very nice when working with bitbucket for private repos (git/mercurial) and github (git) for public from one app.


I have been using TortoiseGit for years on Windows and thinks its pretty good, didnt really need more but ill give SourceTree a try as i like the OSX version of it.


Have you tried GitExtensions? I originally tried TortoiseGit after having used TortoiseSVN for years but it never felt quite right. But, now I'm thinking of switching to SourceTree. :)


I prefer SourceTree because it's one window will all the operations rather than having to right-click on a folder or file to interact with it. If you keep it open you see an up-to-date representation of what files have been changed. In general, I just find the single-window-does-everything model better than the explorer extension model.


I've been using the private beta for a few weeks now and it is a fantastic product. I've become a huge fan of BitBucket and SourceTree over the last month.


Looks good, except requires .Net 4.5 which we currently have an embargo on here for our dev machines since it replaces .Net 4.0 rather than side by side.


Out of curiosity, what piece(s) of 4.5 have you found aren't backwards compatible with 4.0 anyway?


We've experienced problems too. I really wish they'd just gone with a side by side release.

Here's the full list of breaking changes http://msdn.microsoft.com/en-us/library/hh367887(v=vs.110).a...


Eh we hit a bug here with WCF discovery when we had the machines run 4.0 code and had 4.5 installed.

I think the official fix has been out, but man did it cause some headaches.



Nice, how about porting it to Linux? last time I tried to use a git gui there I wanted to read a visual basic book, then commit seppuku


What did you try? gitg was a pretty nice gitx clone when I used to work in desktop linux


Free for beta, but what about prices in general?


SourceTree has been free since joining Atlassian. We'll continue to keep the product free as part of our Bitbucket platform to help developers adopt Git and Mercurial.

Cheers, Justen -- Bitbucket & SourceTree product manager


Uhm, excuse me, but the license has a fragment with very strange wording and rather unclear meaning:

"The SOFTWARE PRODUCT is licensed as follows: (a) Installation and Use. Atlassian grants you the right to install and use copies of the SOFTWARE PRODUCT on your computer running a validly licensed copy of the operating system for which the SOFTWARE PRODUCT was designed. 'Validly licensed' means the following: (i) For evaluation, using the software for up to 30 days free of charge, or (ii) After purchasing a single license, using the software on a single computer, OR using the software on multiple computers so long as it is the same person using it"

Could you, or someone, please try to explain what's the intended meaning here, and maybe simplify the original text? Is this really referring to OS license?? Why? Sounds a bit so, but not fully, it is confusing. Please help, kind of fumble point for some people striving to be legal.


I want to thank you for a great product and a perfect price point. Not to look a gift horse in the mouth, but any chance of open sourcing it in the future?


Thanks for using SourceTree!

We distribute source for JIRA, Stash, etc if you're a paying license holder for better plugin development. This is something we'll be sure to review if we add plugin support to SourceTree in the future.


Well the existing SourceTree app for OS X is free, and it looks like this Windows version will be too:

http://www.sourcetreeapp.com/


Bugger. Windows 7+.

I've had Windows 7 sitting on the shelf since the day it launched, but haven't get got round to installing it...


So.. You're either running Vista (and I really doubt that, because the upgrade to 7 is more or less straight forward, you'd have done it a long time ago) or the long dead, end of life, unsupported, zombie OS called Windows XP.

Which is fine. But shouldn't you _expect_ being left out by now? XP came out in 2001 (hazy memory, quoting Wikipedia). OS X (10.0, Cheetah) came out the same year. What's the minimum requirement for the Cocoa app?

Well, a quick lookup says 10.6, which is from 2009. Which, incidently, is the same year Windows 7 came out. So Sourcetree needs an OS that is no more than 3.x years old..

Bugger?


To be fair, SP3 was released in mid 2008, 7 wasn't released until late 2009, and XP had a greater usage share than 7 (and Vista combined) until early 2011.

It is a sensible decision to only target Windows 7+, and the only reason to stick with XP would be specific compatibility with older programs, but it is a stretch to dismiss XP as a product that came out a decade ago when it still has an enormous market share.


I agree. And I still don't know if he runs XP at all, of course.

But being turned off by the '3+ years old OS' requirement is .. just odd.


Yes I do still run XP - I've kept running it for a few reasons:

1) I've spent months customising this install so it 'just works' for me 2) There's over 200 programs I'll have to find, download and install on Windows 7 (finding my license keys, old binaries etc if necessary) 3) I keep saying I'll replace this PC (from late 2006), so it's not worth reinstalling... :)


Gee, I hope your hard drive keeps spinning, or you'll have a mess on your hands. I think I take the opposite approach. I try to have the most easy-to-reproduce dev (and just general use) environment possible.


Unless I am doing very heavy weight development work all of my dev envs are in VMware Worktstation virtual machines. So flexible to work with and I can archive off the whole devenv with the project once complete knowing I can just load it back up in a few minutes if I need to in the future. Bliss.


Same here. So if my tower blows up for whatever reason, I can be up and running by installing VMware and loading my basic environment image from a backup. Pull down the latest code and I'm good to go.


I'm assuming a lot here, but I would think that ST's userbase would be tech-savvy enough to know that XP isn't going to make the cut 12 years later (in addition not to be using it for that long for any kind of coding/repo management).


I believe there are still more people using XP than using Windows 8.


7 the the first version of Windows that didn't bring me out in hives. Give it a whirl...you might be pleasantly surprised.


I've used windows 7 and do like it - it's the thought of reinstalling ~200 pieces of software that's been putting me off.

Give me apt for Windows..!


http://chocolatey.org/ is perhaps the closest thing you'll find.


Thanks!


You've been missing out on the best OS Microsoft has released IMO.


You have a year to upgrade before Microsoft pulls it completely off of life support: http://www.microsoft.com/en-us/windows/endofsupport.aspx

If you care about security, performance, usability or even basic things like display text quality, upgrade now.


New computer coming this year - when I decide whether to stick with a Windows PC or switch to OSX...

While I love software, you might have gathered I hate computer hardware and the setup of OS's :)


It really makes me wonder what is that they're using that doesn't work for older Windows...


I think it installed .net framework 4.5 - which according to Wikipedia is vista and above. And I bet they just didn't care to support vista.


Perhaps they just don't want to invest in ensuring backwards compatibility, in particular testing overhead.


If you're willing to live slightly dangerously, you can help Plastic SCM test their [Windows-friendly] Git integration: http://codicesoftware.blogspot.com/2013/03/gitsync-is-out-na...


Note that it isn't a real Git client, but a communication layer between a PlasticSCM repo and a remote git repository.


Does it excel at anything, particularly? I still use a mix of command-line git and winmerge. (And I'm willing to try GUI tools, but Git has so many commands and options it becomes complex to know what you're doing in a GUI tool).


The original SourceTree for Mac is a native Cocoa app. If this Windows version has been written in C# it could potentially be ported to Linux with Mono and GTK#/Qyoto. Perhaps the future is one single cross-platform app?


I hope not. I like SourceTree the way it is (on OS X) and every cross platform UI toolkit I know produces apps that don't feel native.

IMHO Bitbucket/Atlassian is doing it the right way: Native on the client side.


Check out Xamarin Studio. It's a full blown IDE and it's quite impressive in terms of native feel. Apparently written in C#, Mono and GTK#.

http://xamarin.com/studio


They have stayed pretty true to it, they bought it about a year ago and made it free. It used to be like Tower or Cornerstone where you had to buy it for $29 bucks or something. Have liked it since then and was a much better client than MacHg at the time for teams. Glad Windows is getting this, I use TortoiseHg and Git there currently but will probably switch.


They would have to rewrite their UI, because Mono does not support WPF. In fact, they could be using a whole plethora of features not included in Mono. Mono is a wonderful project, and I've found it very useful, but the .Net -> Mono transition is still a huge time sink.


SourceTree for Windows appears to be written in C#, but their UI is built with WPF which I believe will be a limiting factor for cross-platform compatibility.


Thank you, thank you & thank you! There is nothing better than this for code review & git management for team.

I love this on Mac but had to compromise on Windows! Looking forward for ubuntu too someday :). Great job guys!


Finally something that developers using Windows want. Command-line is good, but when it comes to Windows I think people expect to have some GUI in place for all tools. Great work!


I prefer to use TortoiseGit. I dont know why ont would want to open a gui client, I prefer the commands integrated nicely into the shell


Can you stage and commit hunks in TortoiseGit? I never knew of this wonderful feature of Git until using SourceTree. SourceTree opened up the power of Git for me, in particular the stage, and more control over commits.


TortoiseGit completely abstracts away the concept of index. Great for those moving from TortoiseSVN. Horrible for git users.


As a TortoiseSVN user, I still think TortoiseGit is horrible period...


The command line is the best "client". I think.


I liked the previous icon set better. I don't see why there's a sudden aversion to color among developers. And why shapes have to be simplified.


Is it open source? I notice the article mentions the word free 6 times(!!!!) while discussing this client.

Which is a strong indicator that it is doing horrible things.


Free as in beer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: