Git and Team Foundation Server

Update: I no longer use TFS. But from the comments, I see that git-tfs is obviously the way to go now.

Can anyone use Git as a standalone solution for Team Foundation Server?

For Subversion, you can use git-svn to store a private repository with the svn band.

I tried using SvnBridge and git-svn to work with TFS. It looked promising at first, but Visual Studio recognizes the solution as being under the control of the TFS version and intervenes during the commit.

Are there other ways to combine the two?

+57
git tfs
Mar 05 '09 at 10:27
source share
9 answers

I started working with a tool called git-tfs, similar to git-svn.

https://github.com/git-tfs/git-tfs

+84
Feb 10 '10 at 19:21
source share

New offer from Microsoft: Git -tf

Announcement: Git Announcement Integration with TFS

Download: here

Source (CodePlex): here

+14
Aug 27 '12 at 18:31
source share

I am sure that this is possible, but in its construction it will be a very ruble of goldberg-ian and, most likely, will lead to pain rather than pleasure. I suggest choosing a version control system and go with it.

If you need real offline support, then git is awesome, but Windows support is still a bit fluffy.

+8
Mar 05 '09 at 10:42
source share

We just decided to do it at work. Here's a blog post on how we did this.

http://blog.lozanotek.com/archive/2009/10/20/git-svn_SvnBridge_and_TFS_Source_Control.aspx

Just found this project on Github too .. it might work, but I haven't tried it yet.

http://github.com/spraints/git-tfs

+5
Oct 21 '09 at 17:58
source share

I can tell you that this is possible ...

Also here you can find some small details about someone with the same experience: http://blog.zobie.com/2009/04/using-git-to-avoid-problems-with-tfs/

+3
Apr 22 '09 at 20:02
source share

A little off topic to your question, but I wrote a Powershell script that converts a TFS repository to Git. May also be helpful.

See my Github repository for script

+2
Jan 04 '11 at 18:44
source share

TFS now supports git: tfs news git support

+2
Jan 30 '13 at 17:52
source share
Brian Harry describes in detail the new new integration of Git repositories in Team Foundation Service , as well as Team Foundation Server 2013 . There are many interesting points that he makes that are especially important for enterprises and in general for teams that take care of having reliable hosting of their Git repositories:

Easy to install . Weve now installed Git as a seamless part of the TFS installation. Theres nothing to go and hunt down and download. Nothing needs to be installed and configured separately. You simply install TFS 2013 and automatically get Git support.

Support and service . Since we ship it, we support it. This means that if you have any problems, you can contact our support team and get help. You will receive security updates, patches, regular Updates, and much more, just as you are used to receiving them. Well, make sure your TFS server is healthy and up-to-date no matter what features you use.

High availability . From the very beginning, we have been working on TFS support for high availability. Our support for Git is no exception - we support all the same things that you are used to with TFS - load balancing and clustering to ensure that your server will continue to work despite hardware and software failures, Geo-replication, if you need be that you maintain business continuity even in the face of regional disruptions, online backup and recovery as an integrated part of TFS, to existing enterprise-level backup and recovery policies (full th, incremental and transaction log) will continue to work (providing you good RTO and RPO).

Scale . As with TFS, you can easily scale your TFS installation as your needs grow. This includes scaling both the application tier and storage tier, as you need to add extra capacity.

Simplicity of management . Our Git implementation is fully integrated into TFS so that all of your management policies can remain unchanged - service account management, hardware migration, software patching, backup and recovery, monitoring, permission management, and more.

Integrated Authentication Our Git support fully integrates Windows Active Directory Authentication to all your access control, auditing, etc. can be done against a consistent and manageable infrastructure. As part of this, all changes are checked for what you know who made each change.

Extended permissions . Weve built (and is building) a bunch of additional repository and permission management features that allow administrators to "control chaos." The first set includes the ability to manage repositories (create, delete, rename, etc.) and storage-level permissions that control reading, writing, and administering permissions. We also include the fourth permission, which accesses the key, is issued by many clients using Git - "Force push", which effectively allows users to "change history". Although we enable this, we also allow administrators to disable it using permission. Now we are also working on additional permissions - for example, branch-level permissions, which will allow administrators to control which can create, delete and use separate branches. In this case, developers can use the branching in any way that they choose locally, but when they are going to return to the master repo, they are limited by the policies that the administrator sets.

ALM integration . And, of course, we fully integrate Git into TFS ALM workflows — work item tracking, build automation, reports, code review, and more. Not all of this integration is still there, but combine it well through 2013 Updates and, when we are done, we should have full control over the integration of ALM capabilities between Team Foundation Version Control and Git Version Management.

Localization - Like our entire product, our Git features will be localized in the same languages ​​as the rest of VS, making it more accessible in parts of the non-English-speaking world.

Source: Enterprise Grade Git Repos

+2
Jul 10 '13 at 14:18
source share

I agree with Matt Burke, I think http://git-tfs.com is your choice. But there is a drawback:

  • you need to commit 2 times, once in VS and once in the Git console

  • if you want to associate a change set with some element, you need to know more about git -tfs statement (rcheckin, ...)

0
Oct 18 '13 at 8:27
source share



All Articles