Re: [PATCH] cherry-pick: do not error on non-merge commits when '-m 1' is specified
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 14, 2018, 02:36 UTC
- Message-ID
- <xmqq5zvwesvz.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <878t0twibw.fsf@javad.com>
Sergey Organov <sorganov@gmail.com> writes:
Show 11 quoted lines
> I came up with the following as a preparatory change. Looks acceptable? > > -- 8< -- > > t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks > > We are going to allow 'git cherry-pick -m 1' for non-merge commits, so > this method to force failure will stop to work. > > Use '-m 4' instead as it's very unlikely we will ever have such an > octopus in this test setup.
Yeah, that is a good approach. Thanks for coming up with it.
I agree that it also is a good idea to use a variable to avoid repeating "4" (and risking the two uses of the constant drifting apart), but I find a single letter variable 'm' a bit too bland and not descriptive enough. Perhaps spell it out as mainline=4, possibly with a comment why that is not a more-commonly-seen number like "1"?
# to make sure that the session to cherry-pick a sequence # gets interrupted, use a high-enough number that is larger # than the number of parents of any commit mainline=4 &&
or something.
Show 26 quoted lines
> Modified t/t3510-cherry-pick-sequence.sh > diff --git a/t/t3510-cherry-pick-sequence.sh b/t/t3510-cherry-pick-sequence.sh > index c84eeef..a873cf4 100755 > --- a/t/t3510-cherry-pick-sequence.sh > +++ b/t/t3510-cherry-pick-sequence.sh > @@ -61,7 +61,8 @@ test_expect_success 'cherry-pick mid-cherry-pick-sequence' ' > > test_expect_success 'cherry-pick persists opts correctly' ' > pristine_detach initial && > - test_expect_code 128 git cherry-pick -s -m 1 --strategy=recursive -X patience -X ours initial..anotherpick && > + m=4 && > + test_expect_code 128 git cherry-pick -s -m $m --strategy=recursive -X patience -X ours initial..anotherpick && > test_path_is_dir .git/sequencer && > test_path_is_file .git/sequencer/head && > test_path_is_file .git/sequencer/todo && > @@ -69,7 +70,7 @@ test_expect_success 'cherry-pick persists opts correctly' ' > echo "true" >expect && > git config --file=.git/sequencer/opts --get-all options.signoff >actual && > test_cmp expect actual && > - echo "1" >expect && > + echo "$m" >expect && > git config --file=.git/sequencer/opts --get-all options.mainline >actual && > test_cmp expect actual && > echo "recursive" >expect && > > -- 8< --