I worked a very interesting case this week with a customer using XCode 5 (5A1413) on a Mac (OS X 10.8.5). He was seeing XCode hang indefinitely when trying to connect to a Git repo living on a TFS 2013 RC machine (domain joined). To make matters worse he said that this was actually hanging the TFS machine as well, and other clients (like VS 2013 RC) would start getting TF400324 errors ("Team Foundation Services are not available from server...") while his XCode tried to connect. I reached out to members of the VC dev team here who said they were able to use this combo just fine, so I started looking more closely at the customer's setup.
We took hang dumps of the w3wp process, which looked just fine - it did not appear that TFS was hung at all. Next step was for me to get a Mac... and figure out how to use it. 🙂 Once I got it all configured and was able to access my own TF server I found that I too was unable to connect with XCode 5! It did not hang up my TF Server like the customer, but XCode did spin indefinitely. I got a copy of XCode4 on the same Mac and that connected up, lickity split.
After a bunch of trial and error I found this process that allowed me to connect my XCode 5 to my TFS 2013 RC Git repo... and it worked for the customer too! Hopefully if you're here with the same problem, it will work for you as well. I cannot flat-out blame Xcode 5 for this, but fact is web access, VS, and XCode 4 all connected to the same machine with no problems. It was just Xcode 5 that had the issue... so take from that what you will. 😉
PROBLEM: XCode 5 (5A1413) on a Mac (OS X 10.8.5) hangs trying to connect to a Git repo hosted on TFS 2013 RC or Team Foundation Service
CAUSE: Undetermined. Bug in XCode 5 maybe? XCode 4 works a treat
1. Open Safari and connect to your Git repo on the TF Server (http://XXXXX:8080/tfs/DefaultCollection/TeamProject/_git/XXX for example).
2. When you are prompted for creds, enter them and make sure you check the “Remember this password in my keychain”. This should connect you.
3. Open XCode 5 and try to connect to the same Git repo you used in step 1. You may see a prompt here that says “XCode wants to use your confidential information stored in “XXXXXX” in your keychain”. If you do, select the “Always allow” option.
This should get you connected.