These patches enables .git to be a textfile containing the path to the git directory proper. It passes all the tests so hopefully there are no regressions, but there may be bugs and omissions lurking when this feature is actually used; I've exercised it in my git, cgit and dayjob repos but git is big and has many codepaths so I wouldn't be suprised if there still are some git commands left which fails to obey the .git file. PS: These patches could certainly be squashed into a single patch, but I've left them as is to make each one easier to review. PPS: If included, the .git file should probably be used by git-submodule to clone submodule repositories into something like $GIT_DIR/submodules/<name>, as that would make local submodule changes more resistant to dataloss due to checkout/reset in the containing repository. Shortlog: Add platform-independent .git "symlink" Fix setup of $GIT_DIR in git-sh-setup.sh Teach resolve_gitlink_ref() about the .git file git-submodule: prepare for the .git-file Teach GIT-VERSION-GEN about the .git file Diffstat: Documentation/repository-layout.txt | 5 ++- GIT-VERSION-GEN | 2 +- cache.h | 1 + environment.c | 38 ++++++++++++++++++ git-sh-setup.sh | 12 ++--- git-submodule.sh | 4 +- refs.c | 17 +++++++- setup.c | 9 ++++ t/t0002-gitfile.sh | 74 +++++++++++++++++++++++++++++++++++ 9 files changed, 148 insertions(+), 14 deletions(-) - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html