diff options
author | Anders Kaseorg <andersk@mit.edu> | 2021-12-01 14:15:45 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-01 22:18:25 -0800 |
commit | 38baae6cfe4ac3af60e127b9e7f9de04c47c4881 (patch) | |
tree | 1332dbbcff637e08f089a40e349ff3f797391046 | |
parent | fetch: protect branches checked out in all worktrees (diff) | |
download | tgif-38baae6cfe4ac3af60e127b9e7f9de04c47c4881.tar.xz |
receive-pack: clean dead code from update_worktree()
update_worktree() can only be called with a non-NULL worktree parameter,
because that’s the only case where we set do_update_worktree = 1.
worktree->path is always initialized to non-NULL.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/receive-pack.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 525b021ec0..29dc0e56f7 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -1449,29 +1449,22 @@ static const char *push_to_checkout(unsigned char *hash, static const char *update_worktree(unsigned char *sha1, const struct worktree *worktree) { - const char *retval, *work_tree, *git_dir = NULL; + const char *retval, *git_dir; struct strvec env = STRVEC_INIT; - if (worktree && worktree->path) - work_tree = worktree->path; - else if (git_work_tree_cfg) - work_tree = git_work_tree_cfg; - else - work_tree = ".."; + if (!worktree || !worktree->path) + BUG("worktree->path must be non-NULL"); if (is_bare_repository()) return "denyCurrentBranch = updateInstead needs a worktree"; - if (worktree) - git_dir = get_worktree_git_dir(worktree); - if (!git_dir) - git_dir = get_git_dir(); + git_dir = get_worktree_git_dir(worktree); strvec_pushf(&env, "GIT_DIR=%s", absolute_path(git_dir)); if (!hook_exists(push_to_checkout_hook)) - retval = push_to_deploy(sha1, &env, work_tree); + retval = push_to_deploy(sha1, &env, worktree->path); else - retval = push_to_checkout(sha1, &env, work_tree); + retval = push_to_checkout(sha1, &env, worktree->path); strvec_clear(&env); return retval; @@ -1592,9 +1585,7 @@ static const char *update(struct command *cmd, struct shallow_info *si) } if (do_update_worktree) { - ret = update_worktree(new_oid->hash, - find_shared_symref(worktrees, "HEAD", - name)); + ret = update_worktree(new_oid->hash, worktree); if (ret) goto out; } |