git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty

From
Mathias Lafeldt <misfire@debugon.org>
Date
Oct 23, 2010, 12:23 UTC
Message-ID
<4CC2D3B4.5030607@debugon.org>
In-Reply-To
<20101022151140.GC9224@burratino>
On 10/22/2010 05:11 PM, Jonathan Nieder wrote:
Show 11 quoted lines
> Mathias Lafeldt wrote:
> 
>> Currently, GIT-VERSION-GEN invokes the plumbing commands "git update-index" and
>> "git diff-index" to determine if the working tree is dirty. It then appends
>> "-dirty" to the version string returned by "git describe".
>>
>> However, as of Git v1.6.6, "git describe" can be told to do all that with the
>> "--dirty" option, saving us the plumbing.
> 
> This has a minor downside, which is avoiding the nice version numbers when
> building Git with git 1.5.6 installed.  What is the upside?

The upside is that the number of executed commands to get the version string is reduced from three to one.

I understand your point, though it would only be a "problem" once when doing the upgrade.

If backwards compatibility is more important here, I'd at least add a comment to GIT-VERSION-GEN. Something like:

diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index d441d88..5c226f6 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -16,6 +16,10 @@ elif test -d .git -o -f .git &&
        case "$VN" in
        *$LF*) (exit 1) ;;
        v[0-9]*)
+               # As of Git v1.6.6, we can use "git describe --dirty" to
+               # determine if the working tree is dirty. However, to still
+               # have nice version numbers when building Git with older
+               # versions of git installed, we keep using plumbing.
                git update-index -q --refresh
                test -z "$(git diff-index --name-only HEAD --)" ||
                VN="$VN-dirty" ;;

-Mathias
Previous: Jonathan NiederNext: Mathias Lafeldt
Message 3 of 7 in “GIT-VERSION-GEN: make use of git describe --dirty”
  1. 1/3 GIT-VERSION-GEN: make use of git describe --dirtyMathias Lafeldt, Oct 22, 2010
  2. Jonathan NiederOct 22, 2010
  3. Mathias LafeldtOct 23, 2010
  4. Mathias LafeldtOct 27, 2010
  5. Jakub NarebskiOct 27, 2010
  6. 2/3 GIT-VERSION-GEN: tweak processing of version fileMathias Lafeldt, Oct 22, 2010
  7. 3/3 GIT-VERSION-GEN: style nitpicksMathias Lafeldt, Oct 22, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.