* [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty
[not found] <cover.1287746107.git.misfire@debugon.org>
@ 2010-10-22 11:24 ` Mathias Lafeldt
2010-10-22 15:11 ` Jonathan Nieder
2010-10-22 11:24 ` [PATCH 2/3] GIT-VERSION-GEN: tweak processing of version file Mathias Lafeldt
2010-10-22 11:24 ` [PATCH 3/3] GIT-VERSION-GEN: style nitpicks Mathias Lafeldt
2 siblings, 1 reply; 7+ messages in thread
From: Mathias Lafeldt @ 2010-10-22 11:24 UTC (permalink / raw)
To: git
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.
Signed-off-by: Mathias Lafeldt <misfire@debugon.org>
---
GIT-VERSION-GEN | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index d441d88..73d5cf9 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -12,13 +12,10 @@ if test -f version
then
VN=$(cat version) || VN="$DEF_VER"
elif test -d .git -o -f .git &&
- VN=$(git describe --match "v[0-9]*" --abbrev=4 HEAD 2>/dev/null) &&
+ VN=$(git describe --match "v[0-9]*" --abbrev=4 --dirty 2>/dev/null) &&
case "$VN" in
*$LF*) (exit 1) ;;
- v[0-9]*)
- git update-index -q --refresh
- test -z "$(git diff-index --name-only HEAD --)" ||
- VN="$VN-dirty" ;;
+ v[0-9]*) : ;;
esac
then
VN=$(echo "$VN" | sed -e 's/-/./g');
--
1.7.3.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] GIT-VERSION-GEN: tweak processing of version file
[not found] <cover.1287746107.git.misfire@debugon.org>
2010-10-22 11:24 ` [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty Mathias Lafeldt
@ 2010-10-22 11:24 ` Mathias Lafeldt
2010-10-22 11:24 ` [PATCH 3/3] GIT-VERSION-GEN: style nitpicks Mathias Lafeldt
2 siblings, 0 replies; 7+ messages in thread
From: Mathias Lafeldt @ 2010-10-22 11:24 UTC (permalink / raw)
To: git
- check for version file with "test -r"
- read version file using shell builtin "read" rather than "cat"
Signed-off-by: Mathias Lafeldt <misfire@debugon.org>
---
GIT-VERSION-GEN | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 73d5cf9..427d5d6 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -8,9 +8,9 @@ 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 -r version
then
- VN=$(cat version) || VN="$DEF_VER"
+ read VN 2>/dev/null < version || VN="$DEF_VER"
elif test -d .git -o -f .git &&
VN=$(git describe --match "v[0-9]*" --abbrev=4 --dirty 2>/dev/null) &&
case "$VN" in
--
1.7.3.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] GIT-VERSION-GEN: style nitpicks
[not found] <cover.1287746107.git.misfire@debugon.org>
2010-10-22 11:24 ` [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty Mathias Lafeldt
2010-10-22 11:24 ` [PATCH 2/3] GIT-VERSION-GEN: tweak processing of version file Mathias Lafeldt
@ 2010-10-22 11:24 ` Mathias Lafeldt
2 siblings, 0 replies; 7+ messages in thread
From: Mathias Lafeldt @ 2010-10-22 11:24 UTC (permalink / raw)
To: git
- remove superfluous semicolon
- simplify version comparison
- remove empty lines at end of file
Signed-off-by: Mathias Lafeldt <misfire@debugon.org>
---
GIT-VERSION-GEN | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 427d5d6..60bef5a 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -18,7 +18,7 @@ elif test -d .git -o -f .git &&
v[0-9]*) : ;;
esac
then
- VN=$(echo "$VN" | sed -e 's/-/./g');
+ VN=$(echo "$VN" | sed -e 's/-/./g')
else
VN="$DEF_VER"
fi
@@ -31,9 +31,9 @@ then
else
VC=unset
fi
-test "$VN" = "$VC" || {
+
+if test "$VN" != "$VC"
+then
echo >&2 "GIT_VERSION = $VN"
echo "GIT_VERSION = $VN" >$GVF
-}
-
-
+fi
--
1.7.3.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty
2010-10-22 11:24 ` [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty Mathias Lafeldt
@ 2010-10-22 15:11 ` Jonathan Nieder
2010-10-23 12:23 ` Mathias Lafeldt
0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Nieder @ 2010-10-22 15:11 UTC (permalink / raw)
To: Mathias Lafeldt; +Cc: git
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?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty
2010-10-22 15:11 ` Jonathan Nieder
@ 2010-10-23 12:23 ` Mathias Lafeldt
2010-10-27 7:50 ` Mathias Lafeldt
0 siblings, 1 reply; 7+ messages in thread
From: Mathias Lafeldt @ 2010-10-23 12:23 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git
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" ;;
-Mathias
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty
2010-10-23 12:23 ` Mathias Lafeldt
@ 2010-10-27 7:50 ` Mathias Lafeldt
2010-10-27 14:28 ` Jakub Narebski
0 siblings, 1 reply; 7+ messages in thread
From: Mathias Lafeldt @ 2010-10-27 7:50 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git, Junio C Hamano
Mathias Lafeldt wrote:
> 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" ;;
>
Any feedback would be welcome.
-Mathias
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty
2010-10-27 7:50 ` Mathias Lafeldt
@ 2010-10-27 14:28 ` Jakub Narebski
0 siblings, 0 replies; 7+ messages in thread
From: Jakub Narebski @ 2010-10-27 14:28 UTC (permalink / raw)
To: Mathias Lafeldt; +Cc: Jonathan Nieder, git, Junio C Hamano
Mathias Lafeldt <misfire@debugon.org> writes:
> Mathias Lafeldt wrote:
> > 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" ;;
> >
>
> Any feedback would be welcome.
I like it, also because people who use GIT-VERSION-GEN from git
repository as inspiration would get to know more modern technique.
--
Jakub Narebski
Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-10-27 14:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1287746107.git.misfire@debugon.org>
2010-10-22 11:24 ` [PATCH 1/3] GIT-VERSION-GEN: make use of git describe --dirty Mathias Lafeldt
2010-10-22 15:11 ` Jonathan Nieder
2010-10-23 12:23 ` Mathias Lafeldt
2010-10-27 7:50 ` Mathias Lafeldt
2010-10-27 14:28 ` Jakub Narebski
2010-10-22 11:24 ` [PATCH 2/3] GIT-VERSION-GEN: tweak processing of version file Mathias Lafeldt
2010-10-22 11:24 ` [PATCH 3/3] GIT-VERSION-GEN: style nitpicks Mathias Lafeldt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).