aboutsummaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-09-22 12:24:50 +0900
committerJunio C Hamano <gitster@pobox.com>2017-09-24 08:42:12 +0900
commite5435ff1fc64d93cce73ec4ee2571219384a92a9 (patch)
tree5251a141e243c41eac971ca335e0e84aab9457d7 /config.c
parent52d59cc6452ed1aeec91f4c168a853ea8d9d5496 (diff)
downloadgit-e5435ff1fc64d93cce73ec4ee2571219384a92a9.tar.gz
git-e5435ff1fc64d93cce73ec4ee2571219384a92a9.tar.xz
branch: fix "copy" to never touch HEAD
When creating a new branch B by copying the branch A that happens to be the current branch, it also updates HEAD to point at the new branch. It probably was made this way because "git branch -c A B" piggybacked its implementation on "git branch -m A B", This does not match the usual expectation. If I were sitting on a blue chair, and somebody comes and repaints it to red, I would accept ending up sitting on a chair that is now red (I am also OK to stand, instead, as there no longer is my favourite blue chair). But if somebody creates a new red chair, modelling it after the blue chair I am sitting on, I do not expect to be booted off of the blue chair and ending up on sitting on the new red one. Let's fix this before it hits 'next'. Those who want to create a new branch and switch to it can do "git checkout B" after doing a "git branch -c B", and if that operation is so useful and deserves a short-hand way to do so, perhaps extend "git checkout -b B" to copy configurations while creating the new branch B. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
0 files changed, 0 insertions, 0 deletions