Re: [PATCH 2/3] rebase: help users when dying with `preserve-merges`
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 26, 2022, 20:42 UTC
- Message-ID
- <xmqq1qwgxbys.fsf@gitster.g>
- In-Reply-To
- <00229772-f075-0b0c-7810-7debf6b971bc@iee.email>
Philip Oakley <philipoakley@iee.email> writes:
>>> Make the `rebase --abort` option available to allow users to remove >>> traces of any preserve-merges rebase, even if they had upgraded >>> during a rebase.
This patch does not make it "available", though.
Suggest using `--abort` to get out of the situation after a failed preserve-rebase and remove traces of ...
perhaps?
I do think the suggestion is worth doing if a user ever gets into the situation, but how likely does it happen? A user has to start "rebase -p" with older Git, wait until Git gets updated to a future version of Git that includes this change, and then say "rebase -p --continue"?
Show 15 quoted lines
>>> } else if (is_directory(merge_dir())) {
>>> strbuf_reset(&buf);
>>> strbuf_addf(&buf, "%s/rewritten", merge_dir());
>>> - if (is_directory(buf.buf)) {
>>> - die("`rebase -p` is no longer supported");
>>> + if (is_directory(buf.buf) && !(action == ACTION_ABORT)) {
>>> + die("`rebase --preserve-merges` (-p) is no longer supported.\n"
>>> + "Use `git rebase --abort` to terminate current rebase.\n"
>>> + "Or downgrade to v2.33, or earlier, to complete the rebase.\n");
>>> } else {
>>> strbuf_reset(&buf);
>>> strbuf_addf(&buf, "%s/interactive", merge_dir());
>> Existing issue: No _(), shouldn't we add it?
> This `strbuf_addf` is forming a path for internal use. It just happens
> to look like legible English ;-)I do not think Ævar meant "%s/interactive"; the enhanced message above that you inherited from the original "no longer supported" that was not marked for translation.
Show 6 quoted lines
>> I wonder if we should use die_message() + advise() in these cases, >> i.e. stick to why we died in die_message() and have the advise() make >> suggestions, as e4921d877ab (tracking branches: add advice to ambiguous >> refspec error, 2022-04-01) does. > > Ah, maybe it's my message.. that needs translating.
Yup.
This whole '-p' business will go away in a few releases down, so a longer message give to the existing die() should be sufficient and there is no need for the choice between "yes, I am still weaning myself off of rebase -p and want to keep seeing the advice" and "thanks, I saw the message often enough, you no longer need to tell me how to get out", I would think.
Thanks.