Merge branch 'nd/multiple-work-trees'
commit68a2e6a2c80303144807c8c91a087427e3c8e727
authorJunio C Hamano <gitster@pobox.com>
Mon, 11 May 2015 21:23:39 +0000 (11 14:23 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 May 2015 21:23:39 +0000 (11 14:23 -0700)
tree96f1e79d314e0250141fe7bc88995361ebd21c18
parent17c7f4d8e4e0e54148f77db4cf73e07aae484ae9
parent562bc080934b1bd16099723e80cc82a0dc6356b7
Merge branch 'nd/multiple-work-trees'

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: (41 commits)
  prune --worktrees: fix expire vs worktree existence condition
  t1501: fix test with split index
  t2026: fix broken &&-chain
  t2026 needs procondition SANITY
  git-checkout.txt: a note about multiple checkout support for submodules
  checkout: add --ignore-other-wortrees
  checkout: pass whole struct to parse_branchname_arg instead of individual flags
  git-common-dir: make "modules/" per-working-directory directory
  checkout: do not fail if target is an empty directory
  t2025: add a test to make sure grafts is working from a linked checkout
  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/worktrees/...
  gc: support prune --worktrees
  gc: factor out gc.pruneexpire parsing code
  gc: style change -- no SP before closing parenthesis
  checkout: clean up half-prepared directories in --to mode
  checkout: reject if the branch is already checked out elsewhere
  prune: strategies for linked checkouts
  checkout: support checking out into a new working directory
  ...
35 files changed:
Documentation/config.txt
Documentation/git-checkout.txt
Documentation/git.txt
builtin/branch.c
builtin/checkout.c
builtin/clone.c
builtin/commit.c
builtin/fetch.c
builtin/fsck.c
builtin/gc.c
builtin/init-db.c
builtin/prune.c
builtin/receive-pack.c
builtin/remote.c
builtin/repack.c
builtin/rev-parse.c
cache.h
daemon.c
environment.c
fast-import.c
git-am.sh
git-rebase--interactive.sh
git-sh-setup.sh
git.c
notes-merge.c
path.c
refs.c
refs.h
run-command.c
run-command.h
sha1_file.c
submodule.c
trace.c
transport.c
wrapper.c