[PATCH] rebase: report invalid commit correctly
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- May 30, 2012, 16:39 UTC
- Message-ID
- <1338395982-5448-1-git-send-email-kusmabite@gmail.com>
- In-Reply-To
- <7v7gvt1xz6.fsf@alter.siamese.dyndns.org>
In 9765b6a (rebase: align variable content, 2011-02-06), the code to error out was moved up one level. Unfortunately, one reference to a function parameter wasn't rewritten as it should, leading to the wrong parameter being errored on.
This error was propagated by 71786f5 (rebase: factor out reference parsing, 2011-02-06) and merged in 78c6e0f (Merge branch 'mz/rebase', 2011-04-28).
Correct this by reporting $onto_name istead.
Reported-By: Manuela Hutter <manuelah@opera.com> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> ---
Here's a proper patch, I guess.
On Wed, May 30, 2012 at 5:37 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 10 quoted lines
> Erik Faye-Lund <kusmabite@gmail.com> writes: > >> Indeed. This looks like the result of a bad merge-resolution, but I >> could be mistaken. > > It looks like 9765b6a (rebase: align variable content, 2011-02-06) > originally botched it, which propagated to 71786f5 (rebase: factor > out reference parsing, 2011-02-06) in the series, and finally merged > at 78c6e0f (Merge branch 'mz/rebase', 2011-04-28). >
Thanks for digging, this was very helpful for the commit message.
git-rebase.sh | 2 +- t/t3406-rebase-message.sh | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/git-rebase.sh b/git-rebase.sh index 24a2840..3267c92 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -423,7 +423,7 @@ case "$onto_name" in ;; *) onto=$(git rev-parse --verify "${onto_name}^0") || - die "Does not point to a valid commit: $1" + die "Does not point to a valid commit: $onto_name" ;; esac diff --git a/t/t3406-rebase-message.sh b/t/t3406-rebase-message.sh index fe5f936..6898377 100755 --- a/t/t3406-rebase-message.sh +++ b/t/t3406-rebase-message.sh @@ -62,4 +62,9 @@ test_expect_success 'rebase -n overrides config rebase.stat config' ' ! grep "^ fileX | *1 +$" diffstat.txt ' +test_expect_success 'rebase --onto outputs the invalid ref' ' + test_must_fail git rebase --onto invalid-ref HEAD HEAD 2>err && + grep "invalid-ref" err +' + test_done
-- 1.7.10.msysgit.1.1147.g20e60f3