Subject: Re: [PATCH v2 5/7] rebase: drop support for `--preserve-merges`

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Sun, 05 Sep 2021 09:32:28 +0200

On Sat, Sep 04 2021, Johannes Schindelin wrote:

> Hi Ævar,
>
> On Thu, 2 Sep 2021, Ævar Arnfjörð Bjarmason wrote:
>
>> On Wed, Sep 01 2021, Johannes Schindelin via GitGitGadget wrote:
>>
>> >  git-rebase--preserve-merges.sh | 1057 --------------------------------
>>
>> You could, but certainly don't have to, squash in the below. I.e. this
>> is the last user of eval_ngettext!
>
> s/last user/last in-tree user/
>
> Since we install `git-sh-i18n` and semi-advertised it as something to use
> in user scripts (which makes removing it somewhat questionable a goal,
> certainly when you do not even offer a deprecation period), and since the
> removal of such things is completely orthogonal to the intention of this
> patch series, I will not include this patch, let alone squash it into a
> commit whose purpose has nothing to do with gettext whatsoever.

Unlike whatever controversy we're having over git-sh-setup being removed
(see <[email-masked]>[1]), the
git-sh-i18n's gettext() and eval_gettext() can't be useful to anyone out
of git.git's tree, since they accept strings that are expected to be
found in git.git's generated *.mo files.

So it's certainly possible that someone's used out out-of-tree, but that
use of eval_gettext() won't have been doing anything useful in terms of
translation, and if it did that would have been because someone copied a
to-be-translated string as-is, and expected git.git to keep it
byte-for-byte the same as their sources.

Anyway, if you don't want to squash this in I can submit it as some sort
of follow-up, perhaps along with some of the suggestions in
<[email-masked]>[2] if you're generally
aiming to keep the changes here to the depth of the first callstack,
i.e. remove the --preserve-merges use of a foo(), but not a foo()
function itself if that foo() then becomes orphaned as a result.

1. https://lore.kernel.org/git/[email-masked]/
2. https://lore.kernel.org/git/[email-masked]/