[PATCHv3] parse-remote: handle detached HEAD
- From
- Santi Béjar <santi@agolina.net>
- Date
- Dec 6, 2010, 10:20 UTC
- Message-ID
- <1291630811-16584-1-git-send-email-santi@agolina.net>
- In-Reply-To
- <7vfwubtw1g.fsf@alter.siamese.dyndns.org>
get_remote_merge_branch with zero or one arguments returns the upstream branch. But a detached HEAD does no have an upstream branch, as it is not tracking anything. Handle this case testing the exit code of "git symbolic-ref -q HEAD".
Reported-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Santi Béjar <santi@agolina.net> ---
Show 6 quoted lines
> If that is the case, shouldn't we be not calling "echo" at all to begin > with? IOW, shouldn't the code read more like this? > > curr_branch=$(git symbolic-ref -q HEAD) && > test "$origin" = "$default" && > echo ...
Or course, you are right. I didn't know/think about the exit code... Thanks.
Santi
git-parse-remote.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-parse-remote.sh b/git-parse-remote.sh index 5f47b18..4da72ae 100644 --- a/git-parse-remote.sh +++ b/git-parse-remote.sh @@ -66,7 +66,7 @@ get_remote_merge_branch () { origin="$1" default=$(get_default_remote) test -z "$origin" && origin=$default - curr_branch=$(git symbolic-ref -q HEAD) + curr_branch=$(git symbolic-ref -q HEAD) && [ "$origin" = "$default" ] && echo $(git for-each-ref --format='%(upstream)' $curr_branch) ;;
-- 1.7.3.3.399.g0d2be.dirty