Wether we use a symbolic ref, or we specify the branch directly
shouldn't really matter, we would want the branch description either
way.

Signed-off-by: Felipe Contreras <felipe.contre...@gmail.com>
---
 git-request-pull.sh     | 13 +++++--------
 t/t5150-request-pull.sh | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/git-request-pull.sh b/git-request-pull.sh
index 6348dac..3c9a982 100755
--- a/git-request-pull.sh
+++ b/git-request-pull.sh
@@ -37,15 +37,12 @@ done
 
 base=$1 url=$2 head=${3-HEAD} status=0 branch_name=
 
-headref=$(git symbolic-ref -q "$head")
-if git show-ref -q --verify "$headref"
+headref=$(git rev-parse -q --verify --symbolic-full-name "$head")
+branch_name=${headref#refs/heads/}
+if test "z$branch_name" = "z$headref" ||
+       ! git config "branch.$branch_name.description" >/dev/null
 then
-       branch_name=${headref#refs/heads/}
-       if test "z$branch_name" = "z$headref" ||
-               ! git config "branch.$branch_name.description" >/dev/null
-       then
-               branch_name=
-       fi
+       branch_name=
 fi
 
 tag_name=$(git describe --exact "$head^0" 2>/dev/null)
diff --git a/t/t5150-request-pull.sh b/t/t5150-request-pull.sh
index 54f41bf..a9ee96a 100755
--- a/t/t5150-request-pull.sh
+++ b/t/t5150-request-pull.sh
@@ -249,4 +249,36 @@ test_expect_success 'pull request when pushed tag' '
        ! grep "You locally have .* but it does not (yet)" err
 '
 
+test_expect_success 'pull request with branch description' '
+       test_when_finished "(cd local && git checkout - && git branch -D 
for-upstream)" &&
+       rm -fr downstream.git &&
+       git init --bare downstream.git &&
+       (
+               cd local &&
+               git checkout -b for-upstream master &&
+               git config branch.for-upstream.description "Branch for 
upstream$LF" &&
+               git push origin for-upstream &&
+               git request-pull initial origin >../request
+       ) &&
+       cat request &&
+       grep "(from the branch description for for-upstream local branch)" 
request &&
+       grep "Branch for upstream" request
+'
+
+test_expect_success 'pull request with branch description from rev' '
+       test_when_finished "(cd local && git checkout - && git branch -D 
for-upstream)" &&
+       rm -fr downstream.git &&
+       git init --bare downstream.git &&
+       (
+               cd local &&
+               git checkout -b for-upstream master &&
+               git config branch.for-upstream.description "Branch for 
upstream$LF" &&
+               git push origin for-upstream &&
+               git request-pull initial origin for-upstream >../request
+       ) &&
+       cat request &&
+       grep "(from the branch description for for-upstream local branch)" 
request &&
+       grep "Branch for upstream" request
+'
+
 test_done
-- 
1.8.4-fc

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to