Working on implementing TFS throughout our organization. It is easy to integrate with .NET projects and any platform that uses Eclipse or a derivative of Eclipse for editing. What's the best way to use TFS version control with XCode (now that I find out we need to write some iPhone applications)?
One way would be to use the Team Foundation System client under Windows in VMWare, and check out (or whatever TFS calls it) your sources to a directory on your Mac that's shared with the virtual machine. It also looks like Teamprise has a Team Foundation client for Mac OS X built atop Eclipse that would be worth looking into.
That said, I'd very strongly encourage you to use a natively cross-platform source code management system like Subversion or Perforce instead of a platform-specific silo like Team Foundation System for your company's soruce code, especially since you're going to be doing multi-platform development.
While you're not likely to share code between a .NET application and an iPhone application, having full cross-platform access to things like design documents can be really important. Mac OS X 10.5 and later include Subversion, Perforce is readily available, and both Perforce and Subversion are natively supported by the Xcode IDE. Subversion in particular is also more likely to be familiar to experienced Mac and iPhone developers you might bring onto your projects as you ramp up.
XCode integration is something that we at Teamprise have been looking into a lot. One of the main problems for us is that Apple do not provide a version control API that we can hook into to add a new version control system to XCode - for integrated version control it is either the systems that Apple provide access to or nothing at the moment.
That said, we do have a number of customers who develop in XCode for TFS. They either use Teamprise Explorer (which is a standalone GUI client to TFS compiled as a Universal Binary) or they have macros inside XCode that perform basic check-out and get operations in-conjunction with the TFS command line (tf). It's obviously not the ideal experience but acceptable for them. The stand-alone GUI has the advantage that you can do all the work item tracking stuff there as well and integrate this with your check-ins.
Sorry if this is a very "marketing" type answer - just trying to let you know what our current customers do with XCode. If you want more details around the macro approach then let me know.
Hope that helps,
Martin.
Hi Martin
I am interested in knowing about the macro approach. Can you please direct me to a proper link where I can get the commonly used macros? We are developing majorly on Mac using XCode and Teamprise explorer for Mac is not as good as Xcode integration with svn. I am looking for some solution like Xcode with svn and that might only be possible though your suggested macro approach. Please help.
Regards
Gaurav Goyal
Perhaps SVNBridge will do the trick, it's an open source used at CodePlex (Microsoft's Open Source Hosting). Check it out here: http://www.codeplex.com/SvnBridge
I have limited experience with it other than using it briefly to connect to CodePlex.