зеркало из https://github.com/microsoft/git.git
git-pull: disallow implicit merging to detached HEAD
Instead, we complain to the user and suggest that they explicitly specify the remote and branch. We depend on the exit status of git-symbolic-ref, so let's go ahead and document that. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
a0f4280f9e
Коммит
a74b1706c8
|
@ -44,6 +44,10 @@ cumbersome. On some platforms, `ln -sf` does not even work as
|
|||
advertised (horrors). Therefore symbolic links are now deprecated
|
||||
and symbolic refs are used by default.
|
||||
|
||||
git-symbolic-ref will exit with status 0 if the contents of the
|
||||
symbolic ref were printed correctly, with status 1 if the requested
|
||||
name is not a symbolic ref, or 128 if another error occurs.
|
||||
|
||||
Author
|
||||
------
|
||||
Written by Junio C Hamano <junkio@cox.net>
|
||||
|
|
13
git-pull.sh
13
git-pull.sh
|
@ -83,8 +83,17 @@ merge_head=$(sed -e '/ not-for-merge /d' \
|
|||
|
||||
case "$merge_head" in
|
||||
'')
|
||||
curr_branch=$(git-symbolic-ref HEAD | \
|
||||
sed -e 's|^refs/heads/||')
|
||||
curr_branch=$(git-symbolic-ref -q HEAD)
|
||||
case $? in
|
||||
0) ;;
|
||||
1) echo >&2 "You are not currently on a branch; you must explicitly"
|
||||
echo >&2 "specify which branch you wish to merge:"
|
||||
echo >&2 " git pull <remote> <branch>"
|
||||
exit 1;;
|
||||
*) exit $?;;
|
||||
esac
|
||||
curr_branch=${curr_branch#refs/heads/}
|
||||
|
||||
echo >&2 "Warning: No merge candidate found because value of config option
|
||||
\"branch.${curr_branch}.merge\" does not match any remote branch fetched."
|
||||
echo >&2 "No changes."
|
||||
|
|
Загрузка…
Ссылка в новой задаче