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.
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.
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 :)
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 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.
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.
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 :)
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.
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.
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 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.
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.
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.
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...
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.
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.
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.
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.
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?
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.
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..
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.
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).
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?
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.
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!
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.
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.