Merge branch 'nd/multiple-work-trees' into next
A replacement for contrib/workdir/git-new-workdir that does not
rely on symbolic links and make sharing of objects and refs safer
by making the borrowee and borrowers aware of each other.
* nd/multiple-work-trees: (31 commits)
checkout: don't require a work tree when checking out into a new one
git_path(): keep "info/sparse-checkout" per work-tree
count-objects: report unused files in $GIT_DIR/repos/...
gc: support prune --repos
gc: factor out gc.pruneexpire parsing code
gc: style change -- no SP before closing parenthesis
prune: strategies for linked checkouts
checkout: detach if the branch is already checked out elsewhere
checkout: clean up half-prepared directories in --to mode
checkout: support checking out into a new working directory
use new wrapper write_file() for simple file writing
wrapper.c: wrapper to open a file, fprintf then close
setup.c: support multi-checkout repo setup
setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
setup.c: convert check_repository_format_gently to use strbuf
setup.c: detect $GIT_COMMON_DIR in is_git_directory()
setup.c: convert is_git_directory() to use strbuf
git-stash: avoid hardcoding $GIT_DIR/logs/....
*.sh: avoid hardcoding $GIT_DIR/hooks/...
git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
...
20 files changed: