Matt Burke 087ccbfd90 Make the release package match the appveyor package
See the artifact for https://ci.appveyor.com/project/pmiossec/git-tfs-v2qcm/build/0.24.0.213/artifacts with these files:

Archive:  git-tfs_2d2a69cf0d60170342161328a471bf30c6d6ac7b.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
   248320  12-09-15 03:07   git-tfs.exe
      198  12-09-15 03:06   git-tfs.exe.config
        0  12-09-15 03:07   GitTfs.Vs2010/
    61440  12-09-15 03:07   GitTfs.Vs2010/GitTfs.Vs2010.dll
        0  12-09-15 03:07   GitTfs.Vs2012/
    61952  12-09-15 03:07   GitTfs.Vs2012/GitTfs.Vs2012.dll
   616088  03-15-13 00:05   GitTfs.Vs2012/Microsoft.TeamFoundation.Build.Client.dll
   183960  03-15-13 00:05   GitTfs.Vs2012/Microsoft.TeamFoundation.Build.Common.dll
  1464448  03-15-13 00:05   GitTfs.Vs2012/Microsoft.TeamFoundation.Client.dll
   680064  03-15-13 00:05   GitTfs.Vs2012/Microsoft.TeamFoundation.Common.dll
    21064  07-26-12 19:08   GitTfs.Vs2012/Microsoft.TeamFoundation.Common.Library.dll
    36896  07-26-12 19:08   GitTfs.Vs2012/Microsoft.TeamFoundation.Diff.dll
    24584  07-26-12 19:08   GitTfs.Vs2012/Microsoft.TeamFoundation.dll
  1168080  08-14-15 02:50   GitTfs.Vs2012/Microsoft.TeamFoundation.VersionControl.Client.dll
   272608  08-14-15 02:50   GitTfs.Vs2012/Microsoft.TeamFoundation.VersionControl.Common.dll
    47768  07-26-12 19:08   GitTfs.Vs2012/Microsoft.TeamFoundation.VersionControl.Common.Integration.dll
    24760  07-26-12 19:08   GitTfs.Vs2012/Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll
   528200  10-30-13 00:28   GitTfs.Vs2012/Microsoft.TeamFoundation.WorkItemTracking.Client.dll
    69808  07-26-12 19:08   GitTfs.Vs2012/Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll
   534232  03-15-13 00:05   GitTfs.Vs2012/Microsoft.TeamFoundation.WorkItemTracking.Common.dll
   133744  07-26-12 19:08   GitTfs.Vs2012/Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll
   299520  07-26-12 16:59   GitTfs.Vs2012/Microsoft.WITDataStore.dll
        0  12-09-15 03:07   GitTfs.Vs2013/
    62464  12-09-15 03:07   GitTfs.Vs2013/GitTfs.Vs2013.dll
   625944  10-05-13 02:38   GitTfs.Vs2013/Microsoft.TeamFoundation.Build.Client.dll
   202520  05-01-14 01:50   GitTfs.Vs2013/Microsoft.TeamFoundation.Build.Common.dll
  1536768  10-05-13 02:38   GitTfs.Vs2013/Microsoft.TeamFoundation.Client.dll
   732928  05-01-14 01:50   GitTfs.Vs2013/Microsoft.TeamFoundation.Common.dll
    38136  10-05-13 02:38   GitTfs.Vs2013/Microsoft.TeamFoundation.Diff.dll
  1268032  06-28-15 21:58   GitTfs.Vs2013/Microsoft.TeamFoundation.VersionControl.Client.dll
   277312  06-28-15 21:58   GitTfs.Vs2013/Microsoft.TeamFoundation.VersionControl.Common.dll
    49008  10-05-13 02:38   GitTfs.Vs2013/Microsoft.TeamFoundation.VersionControl.Common.Integration.dll
    26512  10-05-13 02:40   GitTfs.Vs2013/Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll
   524104  05-01-14 01:50   GitTfs.Vs2013/Microsoft.TeamFoundation.WorkItemTracking.Client.dll
    71560  10-05-13 02:38   GitTfs.Vs2013/Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll
   556872  10-05-13 02:38   GitTfs.Vs2013/Microsoft.TeamFoundation.WorkItemTracking.Common.dll
   135496  10-05-13 02:38   GitTfs.Vs2013/Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll
   159520  10-05-13 02:38   GitTfs.Vs2013/Microsoft.VisualStudio.Services.Client.dll
   141600  10-05-13 02:38   GitTfs.Vs2013/Microsoft.VisualStudio.Services.Common.dll
   382240  10-05-13 02:38   GitTfs.Vs2013/Microsoft.VisualStudio.Services.WebApi.dll
   302296  10-05-13 02:38   GitTfs.Vs2013/Microsoft.WITDataStore.dll
   407776  10-02-13 12:10   GitTfs.Vs2013/Newtonsoft.Json.dll
   168616  07-09-13 11:04   GitTfs.Vs2013/System.Net.Http.Formatting.dll
   323240  07-09-13 11:04   GitTfs.Vs2013/System.Web.Http.dll
        0  12-09-15 03:07   GitTfs.Vs2015/
    62464  12-09-15 03:07   GitTfs.Vs2015/GitTfs.Vs2015.dll
   188704  12-09-15 03:07   GitTfs.Vs2015/Microsoft.IdentityModel.Clients.ActiveDirectory.dll
    51008  12-09-15 03:07   GitTfs.Vs2015/Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll
  3724784  12-09-15 03:07   GitTfs.Vs2015/Microsoft.ServiceBus.dll
   624408  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Build.Client.dll
   207640  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Build.Common.dll
   139040  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Build2.WebApi.dll
    34064  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Chat.WebApi.dll
  1526016  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Client.dll
   913664  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Common.dll
    62744  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Core.WebApi.dll
    35120  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.DeleteTeamProject.dll
    37112  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Diff.dll
    86320  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Discussion.Client.dll
    39728  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Discussion.WebApi.dll
    35600  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Git.Client.dll
   271120  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Lab.Client.dll
   124688  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Lab.Common.dll
    35672  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Lab.TestIntegration.Client.dll
    33640  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Lab.WorkflowIntegration.Client.dll
    39200  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Policy.WebApi.dll
   106280  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.ProjectManagement.dll
   231280  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.SharePointReporting.Integration.dll
   325440  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.SourceControl.WebApi.dll
    36624  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Test.WebApi.dll
    47920  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.TestImpact.Client.dll
  1160512  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.TestManagement.Client.dll
    57152  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.TestManagement.Common.dll
   108352  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.TestManagement.WebApi.dll
  1157952  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.VersionControl.Client.dll
   270656  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.VersionControl.Common.dll
    47992  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.VersionControl.Common.Integration.dll
    53016  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.Work.WebApi.dll
    26000  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll
   530760  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.WorkItemTracking.Client.dll
    67464  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll
   531784  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.WorkItemTracking.Common.dll
   130888  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll
    99656  12-09-15 03:07   GitTfs.Vs2015/Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll
   368928  12-09-15 03:07   GitTfs.Vs2015/Microsoft.VisualStudio.Services.Client.dll
   285472  12-09-15 03:07   GitTfs.Vs2015/Microsoft.VisualStudio.Services.Common.dll
   717600  12-09-15 03:07   GitTfs.Vs2015/Microsoft.VisualStudio.Services.WebApi.dll
    17520  12-09-15 03:07   GitTfs.Vs2015/Microsoft.WindowsAzure.Configuration.dll
   482528  12-09-15 03:07   GitTfs.Vs2015/Microsoft.WITDataStore32.dll
   626552  12-09-15 03:07   GitTfs.Vs2015/Microsoft.WITDataStore64.dll
   504832  12-09-15 03:07   GitTfs.Vs2015/Newtonsoft.Json.dll
   135864  12-09-15 03:07   GitTfs.Vs2015/System.IdentityModel.Tokens.Jwt.dll
   185032  12-09-15 03:07   GitTfs.Vs2015/System.Net.Http.Formatting.dll
   471240  12-09-15 03:07   GitTfs.Vs2015/System.Web.Http.dll
    27648  12-09-15 03:07   GitTfs.VsFake.dll
   339968  12-09-15 03:06   LibGit2Sharp.dll
   597071  12-09-15 03:06   LibGit2Sharp.xml
    10174  12-09-15 03:06   LICENSE
        0  12-09-15 03:07   NativeBinaries/
        0  12-09-15 03:07   NativeBinaries/amd64/
  1004544  12-09-15 03:06   NativeBinaries/amd64/git2-e0902fb.dll
        0  12-09-15 03:07   NativeBinaries/x86/
   762880  12-09-15 03:06   NativeBinaries/x86/git2-e0902fb.dll
    22016  12-09-15 03:06   NDesk.Options.dll
     1055  12-09-15 03:06   NOTICE
     9903  12-09-15 03:06   README.md
   245760  12-09-15 03:06   StructureMap.dll
   188453  12-09-15 03:06   StructureMap.xml
 --------                   -------
 34738182                   108 files
2015-12-11 20:57:09 -05:00
2015-12-08 15:09:34 -05:00
2015-12-03 00:02:02 +01:00
2015-12-03 00:02:02 +01:00
2015-04-21 21:39:18 +02:00
2014-02-11 11:57:55 -05:00
2015-06-01 22:57:49 +02:00
2015-04-21 21:39:18 +02:00
2015-12-07 10:07:14 -05:00
2013-11-17 02:02:45 +01:00
2009-10-26 12:22:43 -04:00
2015-07-18 23:54:51 +02:00
2015-12-03 00:18:12 +01:00
2015-09-19 16:38:18 +02:00
2010-02-12 09:25:18 -05:00
2012-01-30 08:21:20 -05:00
2012-11-14 07:56:31 -05:00
2015-12-07 10:07:14 -05:00
2015-08-05 17:54:46 +02:00
2015-12-07 10:07:14 -05:00

Introduction

git-tfs is a two-way bridge between TFS (Team Foundation Server) and git, similar to git-svn. It fetches TFS commits into a git repository, and lets you push your updates back to TFS.

The most recent version is 0.24.0. See the change history for details.

If you're having problems, check out the troubleshooting page. And read how to report an issue, before doing so ;)

Get git-tfs

To get a stable version:

To get a development version

  • Build from source code. See §Building for more informations...
  • Download a package of the development version generated by the last builds (in the artifacts section).

Whatever the way you get git-tfs, you should have git-tfs.exe in your path (and git, too).

Add the git-tfs folder path to your PATH. You could also set it temporary (the time of your current terminal session) using :

set PATH=%PATH%;%cd%\GitTfs\bin\Debug

Use git-tfs

You need .NET 4 and either the 2010, 2012 or 2013 version of Team Explorer installed (or Visual Studio).

Help

#lists the available commands
git tfs help

#shows a summary of the usage of a given command
git tfs help <command>

Cloning

# [optional] find a tfs repository path to clone :
git tfs list-remote-branches http://tfs:8080/tfs/DefaultCollection

# clone the whole repository (wait for a while...) :
git tfs clone http://tfs:8080/tfs/DefaultCollection $/some_project

# or, if you're impatient (and want to work from the last changeset) :
git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project

# or, if you're impatient (and want a specific changeset) :
git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project -c=145

Note: Before cloning your repository, please have a look at the clone command doc or advanced use cases to discover options that could help you!

Working

cd some_project
git log # shows your TFS history, unless you did quick-clone
tf history # error: no workspace ;)

# [do work, do work, just using git], then...
# gets latest from TFS to the branch tfs/default :
git tfs fetch

Checkin

# report all the commits on TFS :
git tfs rcheckin

# or commit using the tfs checkin window
git tfs checkintool 

# or commit with a message
git tfs checkin -m "Did stuff"

# or shelve your changes :
git tfs shelve MY_AWESOME_CHANGES

git-tfs is designed to work outside of any existing TFS workspaces.

More advanced use cases

Have a look to more detailed git-tfs use cases:

Available commands / options

This is the complete list of commands in the master branch on github.

Repository setup

  • list-remote-branches: list tfs branches that can be cloned or initialized - since 0.17
  • clone: clone a tfs path/branch and its history in a git repository - since 0.9
  • quick-clone: clone a specific changeset of a tfs path/branch in a git repository - since 0.9
  • bootstrap: bootstrap an existing git-tfs repository cloned from an existing repository - since 0.11
  • init: initialize a git-tfs repository (without getting changesets) - since 0.9

Pull from TFS

  • clone: clone a tfs path/branch and its history in a git repository - since 0.9
  • fetch: get changesets from tfs and update the tfs remote - since 0.9
  • pull: get changesets from tfs, update the tfs remote and update your work - since 0.9
  • quick-clone: clone a specific changeset (without history) of a tfs path/branch in a git repository - since 0.9
  • unshelve: fetch a tfs shelvesets in your repository - since 0.11
  • shelve-list: list tfs shelvesets - since 0.12
  • labels: fetch tfs labels - since 0.17

Push to TFS

  • rcheckin: replicate your git commits as tfs changesets - since 0.12
  • checkin: checkin your git commits as one tfs changeset - since 0.10
  • checkintool: checkin in tfs using the tfs checkin dialog - since 0.10
  • shelve: create a shelveset from git commits - since 0.9

Manage TFS branches

Other

  • info: get some informations about git-tfs and tfs

  • cleanup: clean some git-tfs internal objects - since 0.10

  • cleanup-workspaces: clean tfs workspaces created by git-tfs - since 0.10

  • help: get help on git-tfs commands - since 0.9

  • verify: verify the changesets fetched - since 0.11

  • autotag option - since 0.12

  • subtree: manage sparse tfs pathes with git-tfs - since 0.19

  • reset-remote: reset a tfs remote to a previous changeset to fetch again its history - since 0.19

  • checkout: checkout a commit by a changeset id - since 0.21

  • diagnostics (for git-tfs developers only) - since 0.9

  • config file

Building

Continuous Integration Status

Teamcity build status & AppVeyor build status ( Great thanks to Teamcity Icon Jetbrains Teamcity and AppVeyor Icon AppVeyor! )

Prerequisites

  • MSBuild (included in .NET 4)

And depending of the version of TFS you use :

Get the source code and build

#get the source code
git clone git://github.com/git-tfs/git-tfs.git
cd git-tfs

#building with MSBuild (with the default configuration: debug)
msbuild GitTfs.sln

#or building with MSBuild in release
msbuild GitTfs.sln /p:Configuration=release

#or with Rake (Ruby)
rake build:debug

Note: if the build fails because you don't have all the Visual Studio SDK, just unload in Visual Studio all the projects you are not interested in to be able to build and use your own version.

Contributing

Contributions are always welcome. Thanks to all our contributors!

There are some simple guidelines.

Especially, don't forget to set core.autocrlf to true (git config core.autocrlf true), and indentation using 4 spaces.

Migrations

If you're migrating a TFS server from 2008 or 2005 to 2010, you might want to Specify Alternate TFS URLs.

If you have questions or suggestions about how we could improve git-tfs you could go to google group.

Example of setting up central git repository that tracks TFS automatically.

Community

Drop in and chat in gitter We also have a mailing list.

S
Description
Languages
C# 99.2%
PowerShell 0.8%