f1402509d2a60908912527ba2bc91f44ff011395
The original code would null out currentCommit after parsing the FIRST changeset id in the log message, and associate the null commit hash with any additional changeset ids in the message for the same commit. This eventually leads to a null reference error when executing git commands that require the hash. The new code ignores all of the changeset ids in the commit message except for the last one, which is the only one that matters.
Introduction
git-tfs is a two-way bridge between TFS and git, similar to git-svn.
Usage
Cloning a repository
git tfs clone http://tfs:8080/tfs/DefaultCollection $/some_project
(wait for git-tfs to pull your history)
-or-
git tfs quick-clone http://tfs:8080/tfs/DefaultCollection $/some_project
(cd some_project and hack away, using only git, until you need to share with TFS...)
Pushing your changes to TFS
Check-in
git tfs checkintool
-or-
git tfs checkin -m "Did stuff"
Shelveset
git tfs shelve A_SHELVESET_NAME
Other commands
git tfs help
Installing
Using Chocolatey:
cinst GitTfs
You need .NET 4 and either the 2008 or 2010 version of Team Explorer installed.
Building
Prerequisites
- Visual Studio 2010 SDK
- Visual Studio 2008 SDK
- MSBuild (included in .NET 4)
Building
Building With MSBuild
- Update submodules.
git submodule updateto get the libgit2sharp dependencies. - Build with
msbuild GitTfs.sln /p:Configuration=debugfor the default debug build.
####Building With Rake
You can also do rake build:debug.
Contributing
If you contribute patches, please set core.autocrlf to true. (git config core.autocrlf true)
Contributions are always welcome. For more information about contributing, please see the wiki.
Community
#git-tfs on FreeNode, and the mailing list
Thanks to travis-ci and jetbrains (teamcity) for providing CI!
Description
Languages
C#
99.2%
PowerShell
0.8%
