On Fri, Apr 05, 2019 at 04:55:37PM +0200, Johannes Schindelin wrote:
> Hi Denton,
>
> On Mon, 1 Apr 2019, Denton Liu wrote:
>
> > diff --git a/t/t3431-rebase-fork-point.sh b/t/t3431-rebase-fork-point.sh
> > new file mode 100755
> > index 0000000000..8e2483b73e
> > --- /dev/null
> > +++ b/t/t3431-rebase-fork-point.sh
> > @@ -0,0 +1,53 @@
> > +#!/bin/sh
> > +#
> > +# Copyright (c) 2019 Denton Liu
> > +#
> > +
> > +test_description='git rebase --fork-point test'
> > +
> > +. ./test-lib.sh
> > +
> > +# A---B---D---E (master)
> > +# \
> > +# C*---F---G (side)
> > +#
> > +# C was formerly part of master but is side out
> > +#
> > +test_expect_success setup '
> > + test_commit A &&
> > + test_commit B &&
> > + test_commit C &&
> > + git branch -t side &&
> > + git reset --hard HEAD^ &&
> > + test_commit D &&
> > + test_commit E &&
> > + git checkout side &&
> > + test_commit F &&
> > + test_commit G
> > +'
> > +
> > +test_rebase() {
> > + expected="$1" &&
> > + shift &&
> > + test_expect_success "git rebase $@" "
> > + git checkout master &&
> > + git reset --hard E &&
> > + git checkout side &&
> > + git reset --hard G &&
> > + git rebase $@ &&
>
> I think we need this patch, to make the macOS build happy:
Thanks for digging into this, both.
Out of curiosity, t3432 is written similarly:
test_rebase_same_head() {
status="$1" &&
shift &&
test_expect_$status "git rebase $@ with $changes is no-op" "
oldhead=\$(git rev-parse HEAD) &&
test_when_finished 'git reset --hard \$oldhead' &&
git rebase $@ &&
newhead=\$(git rev-parse HEAD) &&
test_cmp_rev \$oldhead \$newhead
"
}
and is also invoked similarly
test_rebase_same_head success ''
but it doesn't seem to fail. Any ideas on why?
Thanks,
Denton
>
> -- snip --
> Subject: fixup??? t3431: add rebase --fork-point tests
>
> Try to fix the Mac build, which currently fails thusly:
>
> ++ git reset --hard G
> HEAD is now at d8775ba G
> ++ git rebase $'\177'
> fatal: invalid upstream '?'
> error: last command exited with $?=128
>
> Signed-off-by: Johannes Schindelin <[email protected]>
>
> diff --git a/t/t3431-rebase-fork-point.sh b/t/t3431-rebase-fork-point.sh
> index 4607e65de6..b41a0c0b68 100755
> --- a/t/t3431-rebase-fork-point.sh
> +++ b/t/t3431-rebase-fork-point.sh
> @@ -34,7 +34,7 @@ test_rebase() {
> git reset --hard E &&
> git checkout side &&
> git reset --hard G &&
> - git rebase $@ &&
> + eval git rebase \"$@\" &&
> test_write_lines $expected >expect &&
> git log --pretty=%s >actual &&
> test_cmp expect actual
> -- snap --
>
> Ciao,
> Dscho
>
> > + test_write_lines $expected >expect &&
> > + git log --pretty=%s >actual &&
> > + test_cmp expect actual
> > + "
> > +}
> > +
> > +test_rebase 'G F E D B A' ''
> > +test_rebase 'G F D B A' '--onto D'
> > +test_rebase 'G F C E D B A' '--no-fork-point'
> > +test_rebase 'G F C D B A' '--no-fork-point --onto D'
> > +test_rebase 'G F E D B A' '--fork-point refs/heads/master'
> > +test_rebase 'G F D B A' '--fork-point --onto D refs/heads/master'
> > +test_rebase 'G F C E D B A' 'refs/heads/master'
> > +test_rebase 'G F C D B A' '--onto D refs/heads/master'
> > +
> > +test_done
> > --
> > 2.21.0.695.gaf8658f249
> >
> >