Re: git: 4ab6c1871671 - main - */*: Remove GNU_CONFIGURE_MANPREFIX

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sun, 28 Apr 2024 18:21:07 UTC
Emanuel Haupt <ehaupt@FreeBSD.org> writes:

> Nuno Teixeira <eduardo@freebsd.org> wrote:
>
>> Hello Emanuel,
>> 
>> I did the same for my ports and I'm doing it when it applies to ports
>> from PRs updates.
>> Today I found a problem when I tried to cherry-pick a port without
>> GNU_CONFIGURE_MANPREFIX fix as it appears that 2024Q2 doesn't have
>> 9fd7ee1cdf6c applied.
>> 
>> I've checked Mk/bsd.port.mk and it remains pointed to man and not
>> share/man.
>> 
>> Am I missing something? I was thinking that 2024Q2 was delayd because
>> of this...
>> 
>> Here is a case where I did remove manprefix fix and tried to
>> cherry-pick to quarterly.
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278589
>> 
>> Cheers,
>
> That's the problem with sweeping commits: eventually, you make it
> impossible to use cherry-pick because that would end up including the
> entire commit, along with all other Makefiles it touched. In the past,
> I've simply committed the change manually in the quarterly branch (git
> commit, git push).

Sweeping commits are atomic changes across many ports. Blob commits
are many unrelated changes to the same port. The former is not supposed
to be cherry-picked and causes merge conflicts while the latter can
break build when cherry-picking if not careful. In post-Git world one it's
easy to split changes into multiple commits, avoiding "while I'm here" blobs.

That said, bug 278589 MFH looks trivial:

$ git cherry-pick -x 09151791bf5e
$ git reset @~1
$ git add -p # Skip GNU_CONFIGURE_MANPREFIX part
$ git commit -c @{1}
<Remove GNU_CONFIGURE_MANPREFIX from the commit message>