This series adds two more commands "git worktree move" and "git worktree remove" to do those things. I think I have addressed all comments from the mail threads referenced in "What's cooking" mails. I also added the ability to remove a worktree if its worktree area is already deleted. It's a big code change (I reorganized remove_worktree() a bit for example to keep the last/new patch clean) so I'm not going to send interdiff. There's only one thing left that I should do, mentioned in 6/7, to print detached HEAD before we remove a worktree. But I think if that's a good idea, it could be done separately on top. Big thanks to Junio for keeping this on 'pu' all this time. Must be hard on you to resolve conflicts over and over. Nguyễn Thái Ngọc Duy (7): worktree.c: add validate_worktree() worktree.c: add update_worktree_location() worktree move: new command worktree move: accept destination as directory worktree move: refuse to move worktrees with submodules worktree remove: new command worktree remove: allow it when $GIT_WORK_TREE is already gone Documentation/git-worktree.txt | 28 +++-- builtin/worktree.c | 216 +++++++++++++++++++++++++++++++++ contrib/completion/git-completion.bash | 5 +- t/t2028-worktree-move.sh | 65 ++++++++++ worktree.c | 97 +++++++++++++++ worktree.h | 18 +++ 6 files changed, 418 insertions(+), 11 deletions(-) -- 2.16.0.47.g3d9b0fac3a