hrtimer: Remove unused inline function debug_hrtimer_free()
[linux-2.6-microblaze.git] / scripts / setlocalversion
index 20f2efd..bb709ed 100755 (executable)
@@ -45,7 +45,7 @@ scm_version()
 
        # Check for git and a git repo.
        if test -z "$(git rev-parse --show-cdup 2>/dev/null)" &&
-          head=$(git rev-parse --verify --short HEAD 2>/dev/null); then
+          head=$(git rev-parse --verify HEAD 2>/dev/null); then
 
                # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore
                # it, because this version is defined in the top level Makefile.
@@ -59,11 +59,22 @@ scm_version()
                        fi
                        # If we are past a tagged commit (like
                        # "v2.6.30-rc5-302-g72357d5"), we pretty print it.
-                       if atag="$(git describe 2>/dev/null)"; then
-                               echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}'
-
-                       # If we don't have a tag at all we print -g{commitish}.
+                       #
+                       # Ensure the abbreviated sha1 has exactly 12
+                       # hex characters, to make the output
+                       # independent of git version, local
+                       # core.abbrev settings and/or total number of
+                       # objects in the current repository - passing
+                       # --abbrev=12 ensures a minimum of 12, and the
+                       # awk substr() then picks the 'g' and first 12
+                       # hex chars.
+                       if atag="$(git describe --abbrev=12 2>/dev/null)"; then
+                               echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),substr($(NF),0,13))}'
+
+                       # If we don't have a tag at all we print -g{commitish},
+                       # again using exactly 12 hex chars.
                        else
+                               head="$(echo $head | cut -c1-12)"
                                printf '%s%s' -g $head
                        fi
                fi