X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fversion.sh;h=68a8e4fe5d441333d7291ff5feb0415ed3491bb5;hb=480b0bf9797e32398b494a30ebf56101ec35033b;hp=64c77305eea6a334a50e7ea5c7583b9dcdce9195;hpb=d80ff9e6b878be4f29854f4fe99f59efeb5e6e10;p=NeonServV5.git diff --git a/src/version.sh b/src/version.sh old mode 100644 new mode 100755 index 64c7730..68a8e4f --- a/src/version.sh +++ b/src/version.sh @@ -19,18 +19,25 @@ else \ codelines=`find . -type f -regex '\./.*\.h' -or -regex '\./.*\.c' |xargs cat|wc -l` -svn_revision=`svn info | grep Revision | grep -o -E '[0-9]+'` -git_commitcount=0 -if test "x$svn_revision" = "x" ; then - svn_revision=`git log -n 1 --pretty="format:%h"` - if test "x$svn_revision" = "x" ; then - svn_revision="0" + +git_revision_id=`git rev-list -n 1 --pretty="format:%h" --header refs/heads/master | grep '^[0-9a-f]*$'` +if test "x$git_revision_id" = "x" ; then + git_revision="0" + git_commitcount="0" + git_is_stable="1" + git_dev_rev="" +else + git_commitcount=`git rev-list --oneline --first-parent refs/heads/master | wc -l | sed "s/[ \t]//g"` + git_revision="git-$git_revision_id" + + git_real_revision_id=`git rev-list -n 1 --pretty="format:%h" --header HEAD | grep '^[0-9a-f]*$'` + if test "$git_revision_id" = "$git_real_revision_id" ; then + git_is_stable="1" + git_dev_rev="" else - git_commitcount=`git log --pretty=oneline --no-merges --first-parent | wc -l | sed "s/[ \t]//g"` - svn_revision="git-$git_commitcount-$svn_revision" + git_is_stable="0" + git_dev_rev="git-$git_real_revision_id" fi -else - svn_revision="svn-$svn_revision" fi @@ -57,8 +64,10 @@ fi const char *compilation = "$compilation"; const char *creation = "$creation"; -const char *revision = "$svn_revision"; +const char *revision = "$git_revision"; const char *codelines = "$codelines"; +const int revision_master = $git_is_stable; +const char *dev_revision = "$git_dev_rev"; const int patchlevel = ($git_commitcount ? ($git_commitcount - VERSION_PATCHLEVEL) : 0); @@ -78,6 +87,14 @@ const char *get_codelines() { return codelines; } +const int is_stable_revision() { + return revision_master; +} + +const char *get_dev_revision() { + return dev_revision; +} + const int get_patchlevel() { return patchlevel; }