‘git fetch’ (without ‘--update-head-ok’), ‘git receive-pack’, and ‘git
branch -M’ protect the currently checked out branch from being
accidentally updated. However, the code for these checks predates
‘git worktree’. Improve it to protect branches checked out in all
worktrees, not just the current one.
Anders Kaseorg (8):
fetch: lowercase error messages
receive-pack: lowercase error messages
branch: lowercase error messages
worktree: simplify find_shared_symref() memory ownership model
fetch: protect branches checked out in all worktrees
receive-pack: clean dead code from update_worktree()
receive-pack: protect current branch for bare repository worktree
branch: protect branches checked out in all worktrees
branch.c | 45 +++++++-----
builtin/branch.c | 7 +-
builtin/fetch.c | 119 +++++++++++++++++---------------
builtin/notes.c | 6 +-
builtin/receive-pack.c | 92 +++++++++++++-----------
t/t2018-checkout-branch.sh | 2 +-
t/t3200-branch.sh | 11 ++-
t/t5504-fetch-receive-strict.sh | 2 +-
t/t5516-fetch-push.sh | 32 +++++++++
worktree.c | 8 +--
worktree.h | 5 +-
11 files changed, 198 insertions(+), 131 deletions(-)
--
2.34.1