Skip to content

Commit

Permalink
Merge branch 'jn/rebase-cmdline-fix'
Browse files Browse the repository at this point in the history
* jn/rebase-cmdline-fix:
  rebase: improve error message when upstream argument is missing
  • Loading branch information
Junio C Hamano committed Jun 18, 2010
2 parents 2ad6b14 + bffd750 commit 0f0169d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
17 changes: 8 additions & 9 deletions git-rebase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# 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
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>
Expand Down Expand Up @@ -198,14 +198,6 @@ test -f "$GIT_DIR"/rebase-apply/applying &&

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
do
case "$1" in
Expand Down Expand Up @@ -370,6 +362,13 @@ do
done
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
if test -z "$do_merge"
then
Expand Down
13 changes: 12 additions & 1 deletion t/t3400-rebase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 &&
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' '
rm B &&
git checkout -b quiet topic &&
git rebase -q master > output.out 2>&1 &&
test ! -s output.out
Expand Down

0 comments on commit 0f0169d

Please sign in to comment.