Subject: Re: [PATCH v8 03/23] Makefile: refactor GIT-VERSION-GEN to be reusable

From: Junio C Hamano <[email-masked]>
Date: Thu, 21 Nov 2024 09:03:50 +0900

Patrick Steinhardt <[email-masked]> writes:

>> I suspect "%cs" is more in line with the spirit of GIT_DATE if I
>> understand its purpose, i.e. "this is the time this version was
>> recorded in the Git history, with the intention to give it the public"
>> and better than "%as".
>
> While I agree with you, I'll leave this one as-is for now because this
> is preexisting logic.

Ah, then please disregard what I said.  We are not _fixing_ anything
that is not broken in this series.

> But I'll rearrange a bit so that required
> placeholders are only wired up once they are actually used so that it
> can be seen where they come from and that the rewrite is faithful to the
> original logic.

Sounds very good.

> Yeah, being consistent would be nice indeed. But for now I'd prefer to
> keep this as-is because we'd otherwise change the version schema used by
> CMake builds. In theory we can use 4 numbers here, too, where the fourth
> number would correspond to the `PROJECT_VERSION_TWEAK` CMake variable.

As I only write vX,Y,Z with three numbers, any fourth number a build
system comes up with has no bit of information.  So we could consider
what we use is 3-number scheme, and supply a fixed and meaningless '0'
to whoever wants the fourth number.

Which is essentially what you are doing with the "split $(echo $V 0 0 0 0)
with 'read A B C D' construct" ;-)  I am fine with that as long as
we have a shared understanding documented somewhere.

Thanks.