Announcing git-tf: Combining the local repository of Git with the integrated ALM of TFS

Sign in to queue

The Discussion

  • User profile image
    wkempf

    I know I'm in the minority, but I would have preferred an hg-tf or bzr-tf, or all three.

  • User profile image
    BoyOfGreen

    Does this support all common git commands (branch, checkout, merge, fetch, remote etc)?  Awesome tool, its going to be a hit.

  • User profile image
    RedKnight

    @wkempf: You are not the only one Smiley ...

  • User profile image
    RichB

    Does it support reading TFS repositories with a 'tf /destroy /keephistory' in the history?

  • User profile image
    wkempf

    @RedKnight:Not the only one, but it's obvious we're in the minority. Sad Minority or not, though, we should still have hg-tf and bzr-tf.

  • User profile image
    bangoker

    @wkempf: +1 on the hg+tfs

  • User profile image
    AlanBarber

    +1 for hg-tfs... I already use HG with tfs manually but would be nice for a full bridge built into HG.

  • User profile image
    larrymccoy

    Looks interesting.  I was hoping to try out git for local source control when disconnected from TFS, but this should make it even easier!

  • User profile image
    Adam Dymitruk

    Git-TFS has been around for 2 years now. Why am I not shocked that people haven't heard of it? The fallout of NIH sales tactics is going to hurt Microsoft in the end.

  • User profile image
    Duncanma

    @wkempf: I haven't put any time into it, but if the source for this is available (and it appears to be), someone could build hg+tfs right?

  • User profile image
    briankel

    Git-TFS has been around for 2 years now. Why am I not shocked that people haven't heard of it? The fallout of NIH sales tactics is going to hurt Microsoft in the end.

    We are well aware of Git-TFS. We address this in the video, but you should also have a read of Brian Harry's blog where he goes into more detail around the history here. In short, Git-TFS is a Windows only solution whereas Git-tf runs anywhere that Java runs. Here is a relevant excerpt from Brian's blog:

    If you already live in both the Git and TFS worlds, this new tool may look eerily like the existing Git-tfs OSS project.  Well, you are right – they are very similar.  As starting a new OSS project that's very like another is generally considered pretty bad form, I want to say a few words about this.  When we decided that we really wanted to have a good Git/TFS integration solution, the first thing we thought of was to reach out to Matt Burke who owns the existing Git-tfs solution.  Matt Mitrik had a great conversation with him about what we were looking to do and the general direction he was taking the project.  One of our big requirements was to create a cross platform solution that works just as well on Windows, Linux or MacOS.  That really wasn't in the sights for the existing Git-tfs project and, together, we agreed that separate, cross platform solution made sense.  Hence Git-tf was born.

  • User profile image
    wkempf

    @Duncanma: In theory, though not having looked at the source code I can't say that it's a certainty that the source would give anyone any help at all when implementing an hg-tf. However, selfish or not, while I would love to have an hg-tf I don't have the time to create one, even if the git-tf source provides 90% of the work.

  • User profile image
    Deactivated User

    @BoyOfGreen:

    , BoyOfGreen wrote

    Does this support all common git commands (branch, checkout, merge, fetch, remote etc)?  Awesome tool, its going to be a hit.

    git-tf will create a git repository for you (or use your existing repository).  So yes - you can use all the git commands on your git repository - even working with another remote.  You can then "git tf checkin" to TFS from your master HEAD once you've made your changes.

  • User profile image
    Deactivated User

    @RichB:Interesting question that I hadn't thought about.  We'll check it out.

  • User profile image
    PeteGoo

    Is there a way to override the tf checkin name / description? I would hate to see "TF Merged Changeset 6" or similar in TFS history. Also, what about associating or resolving multiple work items in a single checkin?

  • User profile image
    Whirly101

    Great to see git-tf - I'll be trying it out very soon. I had mixed success with git-tfs which failed for me on projects with either lots of files, or a lot of history, or both.

    @PeteGoo - Your mug rocks! Where did you get it?

  • User profile image
    youhana​Naseim

    @RichB : yes git-tf will support reading from tfs servers with " 'tf /destroy /keephistory' in history. 

  • User profile image
    youhana​Naseim

    @PeteGoo : The ability to override the tf checkin description / comment is at the top of our backlog and we will be addressing this in future releases. Git-tf today supports associating and resolving multiple workitems during checking by using any of these options:

    1) Specify the parameter multiple times : git tf checkin --associate=1 --associate=2 --resolve=9 --resolve=10

    2) Specify multiple values delimited by commas (no space) : git tf checkin --associate=1,2 --resolve=9,10

  • User profile image
    Seb

    Hi,

    Those are thonly commands that git-tf.cmd gives me:

    The git-tf commands are:
    help Displays usage information
    clone Initializes a git repository from a TFS pat
    configure Configures an existing git repository to ad
    checkin Checks in changes to a TFS folder
    fetch Fetch the latest code from TFS into FETCH_H
    pull Pulls the latest code from TFS and merge/re
    shelve Shelves the changes to a TFS folder (Beta)

    Did I do something wrong?

  • User profile image
    youhana​Naseim

    @Seb:This is correct, these are the only command currently available. Which commands do you think are missing ?

  • User profile image
    Seb

    Sorry, my bad I did not read documentation well enough. I need to play with it a little more. Good job guys!

  • User profile image
    pnewhook

    Can I create a remote branch in TFS just by pushing a local branch?

  • User profile image
    youhana​Naseim

    @pnewhook: Due to the differences of the branching models in TFS and Git, we don't support branch creation in Git propagating new branches to TFS.

  • User profile image
    Alberto Silva

    Which versions of TFS are supported, will it work with TFS2008? And what about the TFS Services on Azure?

  • User profile image
    martinwoodw​ard

    @Alberto Silva: Should work with TFS 2008 although most testing is done against TFS 2010, TFS 2012 and with tfspreview.com.  To get it working with TFS Preview see the following instructions: http://tfspreview.com/en-us/learn/code/use-git-and-vs-with-tfs/

  • User profile image
    Alberto Silva

    Thanks Martin, will give it a try :)

Add Your 2 Cents