From 51901e96bf592877f7b266d0d9c6cb83b363edce Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 26 Nov 2006 22:16:31 -0800 Subject: [PATCH 1/2] git-merge: tighten error checking. If a branch name to be merged is misspelled, the command leaked error messages from underlying plumbing commands, which were helpful only to people who know how the command are implemented to diagnose the breakage, but simply puzzling and unhelpful for the end users. Signed-off-by: Junio C Hamano --- git-merge.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git-merge.sh b/git-merge.sh index dd4e83dede..5fa8b0d577 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -188,13 +188,13 @@ else # in this loop. merge_name=$(for remote do - rh=$(git-rev-parse --verify "$remote"^0 2>/dev/null) + rh=$(git-rev-parse --verify "$remote"^0 2>/dev/null) && if git show-ref -q --verify "refs/heads/$remote" then what=branch else what=commit - fi + fi && echo "$rh $what '$remote'" done | git-fmt-merge-msg ) @@ -209,7 +209,7 @@ test "$rloga" = '' && rloga="merge: $@" remoteheads= for remote do - remotehead=$(git-rev-parse --verify "$remote"^0) || + remotehead=$(git-rev-parse --verify "$remote"^0 2>/dev/null) || die "$remote - not something we can merge" remoteheads="${remoteheads}$remotehead " done From c1751616381b6e8c8eae311107b5969a0233a6d8 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 26 Nov 2006 22:19:42 -0800 Subject: [PATCH 2/2] git-merge: do not leak rev-parse output used for checking internally. Signed-off-by: Junio C Hamano --- git-merge.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-merge.sh b/git-merge.sh index 5fa8b0d577..75af10d3e4 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -159,7 +159,7 @@ then shift head_arg="$1" shift -elif ! git-rev-parse --verify HEAD 2>/dev/null +elif ! git-rev-parse --verify HEAD >/dev/null 2>&1 then # If the merged head is a valid one there is no reason to # forbid "git merge" into a branch yet to be born. We do