This is a follow-on series to [1], which migrated "git checkout --to" functionality to "git worktree add". That series continued using "git checkout" for the initial population of the new worktree, which required git-checkout to have too intimate knowledge that it was operating in a newly created worktree. This series eliminates git-checkout from the picture by instead employing "git reset --hard"[2] to populate the new worktree initially. It is built atop 1eb07d8 (worktree: add: auto-vivify new branch when <branch> is omitted, 2015-07-06), currently in 'next', which is es/worktree-add except for the final patch (which retires --ignore-other-worktrees) since the intention[3] was to drop that patch. [1]: http://thread.gmane.org/gmane.comp.version-control.git/273415 [2]: http://thread.gmane.org/gmane.comp.version-control.git/273415/focus=273454 [3]: http://thread.gmane.org/gmane.comp.version-control.git/273415/focus=273585 Eric Sunshine (16): checkout: avoid resolving HEAD unnecessarily checkout: name check_linked_checkouts() more meaningfully checkout: improve die_if_checked_out() robustness checkout: die_if_checked_out: simplify strbuf management checkout: generalize die_if_checked_out() branch name argument branch: publish die_if_checked_out() worktree: simplify new branch (-b/-B) option checking worktree: introduce options container worktree: make --detach mutually exclusive with -b/-B worktree: make branch creation distinct from worktree population worktree: add_worktree: construct worktree-population command locally worktree: detect branch symref/detach and error conditions locally worktree: make setup of new HEAD distinct from worktree population worktree: avoid resolving HEAD unnecessarily worktree: populate via "git reset --hard" rather than "git checkout" checkout: drop intimate knowledge of new worktree initial population branch.c | 65 +++++++++++++++++++++++++++++++ branch.h | 7 ++++ builtin/checkout.c | 82 +++------------------------------------ builtin/worktree.c | 110 +++++++++++++++++++++++++++++++++++------------------ 4 files changed, 151 insertions(+), 113 deletions(-) -- 2.5.0.rc1.201.ga12d9f8 -- 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