Git-tfs uses git's configuration system to track most of the important information about repositories.
By default, git-tfs sets these configuration values for the repository
during git tfs init
.
core.ignorecase
is set totrue
, in an attempt to deal with casing issues.core.autocrlf
is set tofalse
. This will make git preserve all characters (including CR and LF) in all files. The reason for doing this is to make the result ofgit tfs clone
as nearly identical, byte-wise, as possible, to the version in TFS.
There is other git-tfs configuration values for the repository:
git-tfs.batch-size
define the number of changesets fetched in the same time from TFS (Could also be set with theclone
command).git-tfs.work-item-regex
could be used to define the regular expression to extract workitems reference from commit message.git-tfs.workspace-dir
is used to define a new directory as the workspace used by TFS to circumvent problem with long paths. The path should be the shortest possible (i.e. "c:\w")git-tfs.export-metadatas
is set totrue
to export all metadata in the commit messages.
Git-tfs can map multiple TFS branches to git branches. Each TFS branch is tracked as a separate "remote", and several config values are stored for each branch.
Each git-tfs remote is assigned an ID. All of a remote's config keys
are prefixed with tfs-remote.<id>.
So, for example, the full url
key for the remote default
is tfs-remote.default.url
.
url
is the URL of the TFS project collection.legacy-urls
is a list, comma-separated, of previous URLs of the TFS project collection. For example, if you started your git-tfs clone from a 2005 or 2008 TFS server ('http://tfs:8080/tfs'), and the server migrated to 2010 or later, moving your project into a project collection ('http://tfs:8080/tfs/DefaultCollection'), then theurl
for your git-tfs remote should be the current url, andlegacy-urls
would be the old url.repository
is the TFS repository path that was cloned to the root of your git-tfs project. Typically this is a TFS project path ($/MyProject
), but it can be a subdirectory ($/MyProject/Dir
) or a branch ($/MyProject/trunk
).username
andpassword
are your TFS credentials. Normally, if you connect to a TFS server on your local Windows domain, you won't need to provide these values, because git-tfs defaults to using integrated authentication.ignore-paths
is a regular expression of TFS paths to ignore when fetching.autotag
can be set totrue
to make git-tfs create a tag for each TFS commit. This is disabled by default, because creating a lot of tags will slow down your git operations.