Browse Source

request-pull: state what commit to expect

The message gives a detailed explanation of the commit the requester based
the changes on, but lacks information that is necessary for the person who
performs a fetch & merge in order to verify that the correct branch was
fetched when responding to the pull request.

Add a few more lines to describe the commit at the tip expected to be
fetched to the same level of detail as the base commit.

Also update the warning message slightly when the script notices that the
commit may not have been pushed.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 14 years ago
parent
commit
cf7316663e
  1. 34
      git-request-pull.sh
  2. 6
      t/t5150-request-pull.sh

34
git-request-pull.sh

@ -35,7 +35,7 @@ do
shift shift
done done


base=$1 url=$2 head=${3-HEAD} base=$1 url=$2 head=${3-HEAD} status=0


test -n "$base" && test -n "$url" || usage test -n "$base" && test -n "$url" || usage
baserev=$(git rev-parse --verify "$base"^0) && baserev=$(git rev-parse --verify "$base"^0) &&
@ -51,25 +51,29 @@ find_matching_branch="/^$headrev "'refs\/heads\//{
}' }'
branch=$(git ls-remote "$url" | sed -n -e "$find_matching_branch") branch=$(git ls-remote "$url" | sed -n -e "$find_matching_branch")
url=$(git ls-remote --get-url "$url") url=$(git ls-remote --get-url "$url")
if test -z "$branch"
then
echo "warn: No branch of $url is at:" >&2
git log --max-count=1 --pretty='tformat:warn: %h: %s' $headrev >&2
echo "warn: Are you sure you pushed $head there?" >&2
echo >&2
echo >&2
branch=..BRANCH.NOT.VERIFIED..
status=1
fi


git show -s --format='The following changes since commit %H: git show -s --format='The following changes since commit %H:


%s (%ci) %s (%ci)


are available in the git repository at:' $baserev && are available in the git repository at:
echo " $url $branch" && ' $baserev &&
echo && echo " $url${branch+ $branch}" &&
git show -s --format='
for you to fetch changes up to %H:

%s (%ci)

----------------------------------------------------------------' $headrev &&


git shortlog ^$baserev $headrev && git shortlog ^$baserev $headrev &&
git diff -M --stat --summary $patch $merge_base..$headrev || exit git diff -M --stat --summary $patch $merge_base..$headrev || status=1

if test -z "$branch"
then
echo "warn: No branch of $url is at:" >&2
git show -s --format='warn: %h: %s' $headrev >&2
echo "warn: Are you sure you pushed '$head' there?" >&2
status=1
fi
exit $status exit $status

6
t/t5150-request-pull.sh

@ -193,8 +193,14 @@ test_expect_success 'pull request format' '
SUBJECT (DATE) SUBJECT (DATE)


are available in the git repository at: are available in the git repository at:

URL BRANCH URL BRANCH


for you to fetch changes up to OBJECT_NAME:

SUBJECT (DATE)

----------------------------------------------------------------
SHORTLOG SHORTLOG


DIFFSTAT DIFFSTAT

Loading…
Cancel
Save