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 <johannes.schindelin@xxxxxx> > > 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 > > > >