Re: [PATCH] Documentation/Makefile: don't re-build on 'git version' changes
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Jul 3, 2021, 18:56 UTC
- Message-ID
- <60e0b2f2f198d_2f72081c@natae.notmuch>
- In-Reply-To
- <87mtr38tvd.fsf@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason wrote:
Show 25 quoted lines
> > On Fri, Jul 02 2021, Felipe Contreras wrote: > > > Ævar Arnfjörð Bjarmason wrote: > >> Since 9a71722b4df (Doc: auto-detect changed build flags, 2019-03-17) > >> we've been eagerly re-building the documentation whenever the output > >> of "git version" (via the GIT-VERSION file) changed. This was never > >> the intention, and was a regression on what we intended in > >> 7b8a74f39cb (Documentation: Replace @@GIT_VERSION@@ in documentation, > >> 2007-03-25). > >> > >> So let's add an ASCIIDOC_MANVERSION variable that we exclude from > >> ASCIIDOC_COMMON. The change in 9a71722b4df was only intending to catch > >> cases where we e.g. switched between asciidoc and asciidoctor, not to > >> undo the logic in 7b8a74f39cb and force a re-build every time our HEAD > >> changed in the repository. > > > > Once again, why do we care that the version is 2.32.0.98.gcfb60a24d6 and > > not 2.32.0.97.g949e814b27? > > > > Not just in the documentation, but everywhere. > > It's useful e.g. on my Debian system to see that the "next" Debian > packaged is 2.31.0.291.g576ba9dcdaf in docs & "git version", arguably > less so for documentation.
Obviously packagers would use real versions I meant this only for developers (e.g. DEVELOPER=1).
And BTW, where is that Debian package coming from? I thought distributions didn't package git pre-releases.
Show 9 quoted lines
> > Maybe we can add a GIT_RELEASE variable that unlike GIT_VERSION it > > doesn't contain the precise commit. For example GIT_RELEASE = 2.33-dev. > > I just added this to my pre-make script: > > grep -q ^/version .git/info/exclude || echo /version >>.git/info/exclude > echo $(grep -o -P '(?<=^DEF_VER=v).*' GIT-VERSION-GEN)-dev >version > > It makes use of GIT-VERSION-GEN picking up a tarball "version" file.
This would also do the trick (you need DEVELOPER on the environment though).
--- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -6,9 +6,10 @@ DEF_VER=v2.32.0 LF=' ' -# First see if there is a version file (included in release tarballs), -# then try git-describe, then default. -if test -f version +if test -n "$DEVELOPER" +then + VN="$DEF_VER"-dev +elif test -f version then VN=$(cat version) || VN="$DEF_VER" elif test -d ${GIT_DIR:-.git} -o -f .git &&
-- Felipe Contreras