Merge branch 'cn/pull-rebase-message'
By Carlos Martín Nieto * cn/pull-rebase-message: Make git-{pull,rebase} message without tracking information friendlier
This commit is contained in:
commit
4b4ec3fc64
@ -57,34 +57,31 @@ error_on_missing_default_upstream () {
|
||||
op_prep="$3"
|
||||
example="$4"
|
||||
branch_name=$(git symbolic-ref -q HEAD)
|
||||
# If there's only one remote, use that in the suggestion
|
||||
remote="<remote>"
|
||||
if test $(git remote | wc -l) = 1
|
||||
then
|
||||
remote=$(git remote)
|
||||
fi
|
||||
|
||||
if test -z "$branch_name"
|
||||
then
|
||||
echo "You are not currently on a branch, so I cannot use any
|
||||
'branch.<branchname>.merge' in your configuration file.
|
||||
Please specify which branch you want to $op_type $op_prep on the command
|
||||
line and try again (e.g. '$example').
|
||||
See git-${cmd}(1) for details."
|
||||
echo "You are not currently on a branch. Please specify which
|
||||
branch you want to $op_type $op_prep. See git-${cmd}(1) for details.
|
||||
|
||||
$example
|
||||
"
|
||||
else
|
||||
echo "You asked me to $cmd without telling me which branch you
|
||||
want to $op_type $op_prep, and 'branch.${branch_name#refs/heads/}.merge' in
|
||||
your configuration file does not tell me, either. Please
|
||||
specify which branch you want to use on the command line and
|
||||
try again (e.g. '$example').
|
||||
See git-${cmd}(1) for details.
|
||||
echo "There is no tracking information for the current branch.
|
||||
Please specify which branch you want to $op_type $op_prep.
|
||||
See git-${cmd}(1) for details
|
||||
|
||||
If you often $op_type $op_prep the same branch, you may want to
|
||||
use something like the following in your configuration file:
|
||||
[branch \"${branch_name#refs/heads/}\"]
|
||||
remote = <nickname>
|
||||
merge = <remote-ref>"
|
||||
test rebase = "$op_type" &&
|
||||
echo " rebase = true"
|
||||
echo "
|
||||
[remote \"<nickname>\"]
|
||||
url = <url>
|
||||
fetch = <refspec>
|
||||
$example
|
||||
|
||||
See git-config(1) for details."
|
||||
If you wish to set tracking information for this branch you can do so with:
|
||||
|
||||
git branch --set-upstream ${branch_name#refs/heads/} $remote/<branch>
|
||||
"
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ error_on_no_merge_candidates () {
|
||||
elif [ -z "$curr_branch" -o -z "$upstream" ]; then
|
||||
. git-parse-remote
|
||||
error_on_missing_default_upstream "pull" $op_type $op_prep \
|
||||
"git pull <repository> <refspec>"
|
||||
"git pull <remote> <branch>"
|
||||
else
|
||||
echo "Your configuration specifies to $op_type $op_prep the ref '${upstream#refs/heads/}'"
|
||||
echo "from the remote, but no such ref was fetched."
|
||||
|
@ -380,7 +380,7 @@ then
|
||||
then
|
||||
. git-parse-remote
|
||||
error_on_missing_default_upstream "rebase" "rebase" \
|
||||
"against" "git rebase <upstream branch>"
|
||||
"against" "git rebase <branch>"
|
||||
fi
|
||||
;;
|
||||
*) upstream_name="$1"
|
||||
|
@ -160,14 +160,12 @@ rm -f B
|
||||
|
||||
test_expect_success 'fail when upstream arg is missing and not on branch' '
|
||||
git checkout topic &&
|
||||
test_must_fail git rebase >output.out &&
|
||||
grep "You are not currently on a branch" output.out
|
||||
test_must_fail git rebase
|
||||
'
|
||||
|
||||
test_expect_success 'fail when upstream arg is missing and not configured' '
|
||||
git checkout -b no-config topic &&
|
||||
test_must_fail git rebase >output.out &&
|
||||
grep "branch.no-config.merge" output.out
|
||||
test_must_fail git rebase
|
||||
'
|
||||
|
||||
test_expect_success 'default to @{upstream} when upstream arg is missing' '
|
||||
|
Loading…
Reference in New Issue
Block a user