Subject: Re: ms/customizable-ident-expansion

From: Junio C Hamano <[email-masked]>
Date: Mon, 08 Nov 2021 12:01:56 -0800

Ævar Arnfjörð Bjarmason <[email-masked]> writes:

> On Sun, Nov 07 2021, Maksym Sobolyev wrote:
>
>> Junio, well it works and passes Occam Razor test. I even added a
>> reasonable number of test cases. As I tried to explain at least once,
>> having it per-directory might be advantageous, if the project pulls
>> sources from all different places where you might "mute" ID
>> replacement for certain parts of the tree or use a different one. Most
>> of that would have to be thrown away if the feature is to be reworked
>> to your liking.
>
> Yes, isn't there also a practical use for this in the source trees of
> the various *BSDs who import each other's sources (but I don't know if
> it's useful for that).

What are the users trying to record with that, though?  If FreeBSD
source tree wants to keep the sign that some things originated from
OpenBSD, wouldn't they want to keep the OpenBSD marking intact?  At
that point, storing $OpenBSD$ and expanding to $OpenBSD: <blob>$ is
not what they want, as the object name will keep changing.

Also, these users need to be aware which path uses what identifier
by looking at .gitattributes and what the ident attribute says.  If
you add $Id$ to a new file, but the .gitattribute entry that covers
it says $FreeBSD$ will be the one expanded for that file, nothing
will happen until you realize your mistake.  I am hesitant to adopt
that proposal because dealing with that kind of confusion is not
something worth spending time of developers (I mean those who have
to figure out and decide between $Id$ and $FreeBSD$, not the
developer cycle of Git project).

So...