Recognize Git repository environment variables

This makes the jgit command line behave like the C Git implementation
in the respect.

These variables are not recognized in the core, though we add support
to do the overrides there. Hence other users of the JGit library, like
the Eclipse plugin and others, will not be affected.

	The location of the ".git" directory.

	The location of the work tree.

	The location of the index file.

	A colon (semicolon on Windows) separated list of paths that
	which JGit will not cross when looking for the .git directory.

	The location of the objects directory under which objects are

	A colon (semicolon on Windows) separated list of object directories
	to search for objects.

In addition to these we support the core.worktree config setting when
the git directory is set deliberately instead of being found.

Change-Id: I2b9bceb13c0f66b25e9e3cefd2e01534a286e04c
Signed-off-by: Robin Rosenberg <>
Signed-off-by: Shawn O. Pearce <>
7 files changed