Show 37 quoted lines
> On 10/22/2010 05:11 PM, Jonathan Nieder wrote:
>> 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" ;;
>