Skip to contentSkip to conversation

git-project-version

PATCH In review Santi Béjar 2 participants 3 messages Jun 15, 2016 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 git-project-version

Introduce an easy way for projects to get its git version. This is something that other projects using git would like to do, and we don't want them all reinventing the wheel.

---
Hi *,

I would prefer an output with an explicit git string as:

v1.4.2-rc3-git46faaaf

Also I would prefer the dirty state with an ending M as in:

v1.4.2-rc3-git46faaaf-M

to use the same letter of the diff family.

Santi

 Makefile               |    3 ++-
 git-project-version.sh |    9 +++++++++
 2 files changed, 11 insertions(+), 1 deletions(-)
Makefile +2 -1
index d662bd6..7c4e360 100644
@@ -169,7 +169,8 @@ SCRIPT_SH = \
 	git-applymbox.sh git-applypatch.sh git-am.sh \
 	git-merge.sh git-merge-stupid.sh git-merge-octopus.sh \
 	git-merge-resolve.sh git-merge-ours.sh \
-	git-lost-found.sh git-quiltimport.sh
+	git-lost-found.sh git-quiltimport.sh \
+	git-project-version.sh
 
 SCRIPT_PERL = \
 	git-archimport.perl git-cvsimport.perl git-relink.perl \
git-project-version.sh new file +9 -0
new file mode 100755
index 0000000..88b21fa
@@ -0,0 +1,9 @@
+#!/bin/sh
+# First try git-describe.
+VN=$(git describe --abbrev=4 HEAD 2>/dev/null) ||
+VN=$(git rev-parse --short HEAD | sed -e 's/^/g/')
+
+dirty=$(sh -c 'git diff-index --name-only HEAD' 2>/dev/null) || dirty=
+[ "$dirty" ] && VN="$VN-dirty"
+
+echo $VN
Signature · 1 line
1.4.2.rc3.g3f0a-dirty
#1 lore raw

Dear diary, on Fri, Aug 04, 2006 at 11:48:25PM CEST, I got a letter where Santi Béjar <[email protected]> said that...

Quoted 5 lines

Introduce an easy way for projects to get its git version. This is something that other projects using git would like to do, and we don't want them all reinventing the wheel.

Perhaps it would be more useful to have a flag for git-describe to describe not the (HEAD) commit but your working copy (thus HEAD + check for the dirtyness).

Signature · 6 lines
				Petr "Pasky the Hater of Too Many
					Commands" Baudis
Stuff: http://pasky.or.cz/
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
author
#2 lore raw

2006/9/24, Petr Baudis <[email protected]>:

Quoted 6 lines

Dear diary, on Fri, Aug 04, 2006 at 11:48:25PM CEST, I got a letter where Santi Béjar <[email protected]> said that...

Quoted 4 lines

Introduce an easy way for projects to get its git version. This is something that other projects using git would like to do, and we don't want them all reinventing the wheel.

Quoted 6 lines
Quoted 1 line

Perhaps it would be more useful to have a flag for git-describe to describe not the (HEAD) commit but your working copy (thus HEAD + check for the dirtyness).

Sure.