From: Sergey Organov <sorganov@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Elijah Newren <newren@gmail.com>,
"C.J. Jameson" <cjcjameson@gmail.com>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: [RFC PATCH] cherry-pick: set default `--mainline` parent to 1
Date: Thu, 21 Mar 2019 14:59:35 +0300 [thread overview]
Message-ID: <87k1gsh1zs.fsf@javad.com> (raw)
In-Reply-To: <xmqqbm24sk68.fsf@gitster-ct.c.googlers.com> (Junio C. Hamano's message of "Thu, 21 Mar 2019 17:31:27 +0900")
Junio C Hamano <gitster@pobox.com> writes:
> Sergey Organov <sorganov@gmail.com> writes:
>
>>> The same effect can be had by just reverting "let's allow -m1 for
>>> single-parent commit", can't it? That is a far simpler solution, I
>>> would say.
>>
>> Those one didn't introduce the issue currently at hand, as we still
>> don't allow merges by default, so why do we need to rewind it?
>
> With it reverted, "[alias] cp = cherry-pick -m1" can be used to train
> the user to blindly pick a range that has a merge without thinking,
> which is what I meant by "ship has already sailed".
Did you mean "With it *not* reverted" here? Because with it reverted,
"cherry-pick -m1" will rather loudly fail on the first non-merge commit
in the range. Such alias would be useless without that patch.
Those who don't like such alias are still free not to define or use it.
> With it reverted, a range pick of a straight single strand of pearls
> would still work just fine. And the user is forced to think and
> chop a range with a merge into a set of subranges each of which is a
> single strand of pearls, plus picking individual merges (if picking
> these merges is really what the user wants, that is).
Unfortunately, this gets us back to the exact problem with practical
use-case the patch was provoked by. There was a large number of commits
to be picked, and the set has been carefully built by "git rev-list" (as
"git cherry-pick" built-in features were not enough: yet another issue).
Some of these commits were merges, and handling all this manually (and
repeatedly) would be a real pain. It was easier to locally patch "git
cherry-pick -m1" to achieve the goal. Then I thought that it could help
others in the future, and then took time to provide the patch. It'd be
a real pity to get back to where I started.
BTW, the above also shows that the issue with "-m 1" existed even before
"git cherry-pick" started to accept ranges, as I was not using these
ranges anyway.
Overall, I mean that I still need a way to tell "git cherry-pick" that I
do know what I'm doing, so that it stops complaining on a non-issue.
Thus if the patch is reverted, a new option should be added just for
this goal, -- back to where we are now, but an option already added.
> As ensuring the users to think is the whole point of excercise,
Yeah, provided they do have a suitable way out. Without that patch,
there was none.
> the original system before we allowed "-m1" for single parent commit
> was after all giving us the right balance, I guess, without having to
> add yet another new option.
No, unfortunately it didn't, and to me the patch in question still seems
to be in the right direction, legitimate, and useful.
Moreover, I still can't see how it's harmful. Just don't use '-m 1' if
you don't want merges.
-- Sergey
next prev parent reply other threads:[~2019-03-21 11:59 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-20 3:54 [RFC PATCH] cherry-pick: set default `--mainline` parent to 1 C.J. Jameson
2019-03-20 4:45 ` Junio C Hamano
2019-03-20 12:01 ` Sergey Organov
2019-03-20 14:39 ` Elijah Newren
2019-03-20 15:59 ` Sergey Organov
2019-03-21 1:51 ` C.J. Jameson
2019-03-21 2:17 ` Junio C Hamano
2019-03-21 3:15 ` Junio C Hamano
2019-03-21 5:40 ` Sergey Organov
2019-03-21 5:47 ` Junio C Hamano
2019-03-21 6:12 ` Sergey Organov
2019-03-21 8:31 ` Junio C Hamano
2019-03-21 8:31 ` Junio C Hamano
2019-03-21 11:59 ` Sergey Organov [this message]
2019-03-22 2:24 ` Junio C Hamano
2019-03-22 15:22 ` Sergey Organov
2019-03-22 18:27 ` C.J. Jameson
2019-03-25 14:55 ` Johannes Schindelin
2019-03-25 15:41 ` C.J. Jameson
2019-03-21 6:54 ` Sergey Organov
2019-03-22 10:23 ` Johannes Schindelin
2019-03-22 10:13 ` Johannes Schindelin
2019-03-20 9:44 ` Duy Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k1gsh1zs.fsf@javad.com \
--to=sorganov@gmail.com \
--cc=cjcjameson@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=newren@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).