Merge branch 'jn/rebase-cmdline-fix'
* jn/rebase-cmdline-fix: rebase: improve error message when upstream argument is missing
This commit is contained in:
commit
0f0169d153
@ -3,7 +3,7 @@
|
|||||||
# Copyright (c) 2005 Junio C Hamano.
|
# Copyright (c) 2005 Junio C Hamano.
|
||||||
#
|
#
|
||||||
|
|
||||||
USAGE='[--interactive | -i] [-v] [--force-rebase | -f] [--no-ff] [--onto <newbase>] [<upstream>|--root] [<branch>] [--quiet | -q]'
|
USAGE='[--interactive | -i] [-v] [--force-rebase | -f] [--no-ff] [--onto <newbase>] (<upstream>|--root) [<branch>] [--quiet | -q]'
|
||||||
LONG_USAGE='git-rebase replaces <branch> with a new branch of the
|
LONG_USAGE='git-rebase replaces <branch> with a new branch of the
|
||||||
same name. When the --onto option is provided the new branch starts
|
same name. When the --onto option is provided the new branch starts
|
||||||
out with a HEAD equal to <newbase>, otherwise it is equal to <upstream>
|
out with a HEAD equal to <newbase>, otherwise it is equal to <upstream>
|
||||||
@ -198,14 +198,6 @@ test -f "$GIT_DIR"/rebase-apply/applying &&
|
|||||||
|
|
||||||
is_interactive "$@" && exec git-rebase--interactive "$@"
|
is_interactive "$@" && exec git-rebase--interactive "$@"
|
||||||
|
|
||||||
if test $# -eq 0
|
|
||||||
then
|
|
||||||
test -d "$dotest" -o -d "$GIT_DIR"/rebase-apply || usage
|
|
||||||
test -d "$dotest" -o -f "$GIT_DIR"/rebase-apply/rebasing &&
|
|
||||||
die 'A rebase is in progress, try --continue, --skip or --abort.'
|
|
||||||
die "No arguments given and $GIT_DIR/rebase-apply already exists."
|
|
||||||
fi
|
|
||||||
|
|
||||||
while test $# != 0
|
while test $# != 0
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -370,6 +362,13 @@ do
|
|||||||
done
|
done
|
||||||
test $# -gt 2 && usage
|
test $# -gt 2 && usage
|
||||||
|
|
||||||
|
if test $# -eq 0 && test -z "$rebase_root"
|
||||||
|
then
|
||||||
|
test -d "$dotest" -o -d "$GIT_DIR"/rebase-apply || usage
|
||||||
|
test -d "$dotest" -o -f "$GIT_DIR"/rebase-apply/rebasing &&
|
||||||
|
die 'A rebase is in progress, try --continue, --skip or --abort.'
|
||||||
|
fi
|
||||||
|
|
||||||
# Make sure we do not have $GIT_DIR/rebase-apply
|
# Make sure we do not have $GIT_DIR/rebase-apply
|
||||||
if test -z "$do_merge"
|
if test -z "$do_merge"
|
||||||
then
|
then
|
||||||
|
@ -126,9 +126,20 @@ test_expect_success 'Show verbose error when HEAD could not be detached' '
|
|||||||
test_must_fail git rebase topic 2> output.err > output.out &&
|
test_must_fail git rebase topic 2> output.err > output.out &&
|
||||||
grep "Untracked working tree file .B. would be overwritten" output.err
|
grep "Untracked working tree file .B. would be overwritten" output.err
|
||||||
'
|
'
|
||||||
|
rm -f B
|
||||||
|
|
||||||
|
test_expect_success 'dump usage when upstream arg is missing' '
|
||||||
|
git checkout -b usage topic &&
|
||||||
|
test_must_fail git rebase 2>error1 &&
|
||||||
|
grep "[Uu]sage" error1 &&
|
||||||
|
test_must_fail git rebase --abort 2>error2 &&
|
||||||
|
grep "No rebase in progress" error2 &&
|
||||||
|
test_must_fail git rebase --onto master 2>error3 &&
|
||||||
|
grep "[Uu]sage" error3 &&
|
||||||
|
! grep "can.t shift" error3
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'rebase -q is quiet' '
|
test_expect_success 'rebase -q is quiet' '
|
||||||
rm B &&
|
|
||||||
git checkout -b quiet topic &&
|
git checkout -b quiet topic &&
|
||||||
git rebase -q master > output.out 2>&1 &&
|
git rebase -q master > output.out 2>&1 &&
|
||||||
test ! -s output.out
|
test ! -s output.out
|
||||||
|
Loading…
Reference in New Issue
Block a user