I'm trying to use SourceTree with MS TFS Service using HTTPS connection to repository. The problem is that when I'm trying to clone my repo - I get a login dialog, fill it in correctly - but it fails to login (it's my Live ID email and password). I'm sure my credentials are correct (I use the same credentials from Visual Studio Git plugin and it works fine there).
Tried to drag-n-drop existing local repo - it reads it all nicely, but when I push - I've got the same logon failure. Specifically, the full output looks like this:
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master Pushing to https://myrepo1.visualstudio.com/defaultcollection/_git/MyRepo1 fatal: Authentication failed
Is there anything I'm missing? Is it a known problem?
I set up a free TFS account to test this and can reproduce the problem. I can also reproduce it using the standard install of Git from http://git-scm.com - it appears that out of the box, TFS won't work with standard Git.
However you can make it work by allowing 'Alternative Authentication Credentials' in TFS.
4 and 5 seem to be optional, but I did it anyway. Once I did this, I could clone from TFS using either my full email as a user name or the alternative user name I'd created. It seems like the default TFS authentication is some kind of custom system that only works with the VS tools, and just enabling this alternative authentication makes it work with other systems (why isn't this the default, Microsoft?)
I had the same issue. Before implementing the proposed solution I upgraded SourceTree to version 220.127.116.11 just released. Because I already had a local Git repository with a TFS origin, after a while SourceTree asked me for my credentials to the TFS server. I entered my TFS user id and password. Now login to the TFS server works! (I am now able to push and pull to/from a TFS Git repository)
I've used a full email to log in to other services (Kiln for example) so in theory this should work, but I don't have a TFS instance to test with. The way this works is that Git calls our authentication callback when needed, which is what gives you the login prompt, and those details are passed to the command prompt, so it's hard to know what could be going wrong there - it works with countless other services.
What happens if you use the command line? SourceTree basically just calls git commands under the hood, but it would be interesting to know if TFS prompts differently somehow (although that's unlikely since it's Git providing the prompts).