diff options
-rw-r--r-- | git-rebase--interactive.sh | 7 | ||||
-rwxr-xr-x | git-rebase.sh | 1 | ||||
-rwxr-xr-x | t/t3428-rebase-signoff.sh | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 104de328ee..7f90a14309 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -900,7 +900,12 @@ then revisions=$upstream...$orig_head shortrevisions=$shortupstream..$shorthead else - revisions=$onto...$orig_head + if test -n "$squash_onto" + then + revisions=$orig_head + else + revisions=$onto...$orig_head + fi shortrevisions=$shorthead fi if test t != "$preserve_merges" diff --git a/git-rebase.sh b/git-rebase.sh index e708a4fc2c..1399f35329 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -62,6 +62,7 @@ $(gettext 'Resolve all conflicts manually, mark them as resolved with You can instead skip this commit: run "git rebase --skip". To abort and get back to the state before "git rebase", run "git rebase --abort".') " +squash_onto= unset onto unset restrict_revision cmd= diff --git a/t/t3428-rebase-signoff.sh b/t/t3428-rebase-signoff.sh index 2ff7f534e3..90ca6636d5 100755 --- a/t/t3428-rebase-signoff.sh +++ b/t/t3428-rebase-signoff.sh @@ -59,7 +59,7 @@ test_expect_success 'rebase --exec --signoff adds a sign-off line' ' test_cmp expected-signed actual ' -test_expect_failure 'rebase --root --signoff adds a sign-off line' ' +test_expect_success 'rebase --root --signoff adds a sign-off line' ' git commit --amend -m "first" && git rebase --root --keep-empty --signoff && git cat-file commit HEAD^ | sed -e "1,/^\$/d" >actual && |