summaryrefslogtreecommitdiff
path: root/builtin/pack-refs.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-10-19 13:57:35 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-10-19 15:13:32 +0900
commitb072a25fad21b8aecfa29f6ffb813a0a6194a764 (patch)
tree361e7cb31b42f55f584a1b41e8c750580d5b4e19 /builtin/pack-refs.c
parentGit 2.18.1 (diff)
downloadtgif-b072a25fad21b8aecfa29f6ffb813a0a6194a764.tar.xz
receive: denyCurrentBranch=updateinstead should not blindly update
The handling of receive.denyCurrentBranch=updateInstead was added to a switch statement that handles other values of the variable, but all the other case arms only checked a condition to reject the attempted push, or let later logic in the same function to still intervene, so that a push that does not fast-forward (which is checked after the switch statement in question) is still rejected. But the handling of updateInstead incorrectly took immediate effect, without giving other checks a chance to intervene. Instead of calling update_worktree() that causes the side effect immediately, just note the fact that we will need to call the function later, and first give other checks a chance to reject the request. After the update-hook gets a chance to reject the push (which happens as the last step in a series of checks), call update_worktree() when we earlier detected the need to. Reported-by: Rajesh Madamanchi Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/pack-refs.c')
0 files changed, 0 insertions, 0 deletions