Subject: Re: [PATCH] Make ident dynamic, not just a hardcoded value of "$Id".

From: Junio C Hamano <[email-masked]>
Date: Mon, 23 Aug 2021 11:10:11 -0700

"Maksym Sobolyev via GitGitGadget" <[email-masked]> writes:

> From: Maksym Sobolyev <[email-masked]>
>
> This allows ident to be something like $FreeBSD$ so it provides matching
> functionality for repos migrated from CVS / SVN.
>
> This works by allowing ident to have a parameter, i.e.:
>
> * ident=MyCustomId
>
> In .gitattributes.

I would have expected that, just like cvs uses its configuration
mechanism for LocalKeyword, this would belong to the .git/config
file.

The attribute mechanism is inherently for stuff that you would want
to specify per-path, so the "do we do keyword expansion for this
file (yes/no)?" is a good match to be an attribute, and that
question is what the original 'ident' attribute asks.

I do not think "what keyword do we want to expand as if it were
$Id$?" is a question we want to be giving different answers per
path, and it does not smell like a good match to be an attribute.

By allowing a potentially separate values for

    *.txt ident=FreeBSD
    *.cc  ident=OpenBSD

this gives long rope to create a mess to the users.

I also think that the ident expansion is overrated, and have a
feeling that we should discourage its use, not encourage it, but
that is a separate story.

Thanks.