setlocalversion (992ebfab2a75c276fe27f7fd7a3fb326ccd7225b) setlocalversion (75280bdf49b2f563fb5404df7c7b735c118695fe)
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3#
4# This scripts adds local version information from the version
5# control systems git, mercurial (hg) and subversion (svn).
6#
7# If something goes wrong, send a mail the kernel build mailinglist
8# (see MAINTAINERS) and CC Nico Schottelius

--- 20 unchanged lines hidden (view full) ---

29 local short
30 short=false
31
32 cd "$srctree"
33 if test "$1" = "--short"; then
34 short=true
35 fi
36
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3#
4# This scripts adds local version information from the version
5# control systems git, mercurial (hg) and subversion (svn).
6#
7# If something goes wrong, send a mail the kernel build mailinglist
8# (see MAINTAINERS) and CC Nico Schottelius

--- 20 unchanged lines hidden (view full) ---

29 local short
30 short=false
31
32 cd "$srctree"
33 if test "$1" = "--short"; then
34 short=true
35 fi
36
37 # Check for git and a git repo.
38 if test -z "$(git rev-parse --show-cdup 2>/dev/null)" &&
39 head=$(git rev-parse --verify HEAD 2>/dev/null); then
37 if test -n "$(git rev-parse --show-cdup 2>/dev/null)"; then
38 return
39 fi
40
40
41 # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore
42 # it, because this version is defined in the top level Makefile.
43 if [ -z "$(git describe --exact-match 2>/dev/null)" ]; then
41 if ! head=$(git rev-parse --verify HEAD 2>/dev/null); then
42 return
43 fi
44
44
45 # If only the short version is requested, don't bother
46 # running further git commands
47 if $short; then
48 echo "+"
49 return
50 fi
51 # If we are past a tagged commit (like
52 # "v2.6.30-rc5-302-g72357d5"), we pretty print it.
53 if atag="$(git describe 2>/dev/null)"; then
54 echo "$atag" | awk -F- '{printf("-%05d", $(NF-1))}'
55 fi
45 # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore it
46 # because this version is defined in the top level Makefile.
47 if [ -z "$(git describe --exact-match 2>/dev/null)" ]; then
56
48
57 # Add -g and exactly 12 hex chars.
58 printf '%s%s' -g "$(echo $head | cut -c1-12)"
49 # If only the short version is requested, don't bother
50 # running further git commands
51 if $short; then
52 echo "+"
53 return
59 fi
54 fi
60
61 # Check for uncommitted changes.
62 # This script must avoid any write attempt to the source tree,
63 # which might be read-only.
64 # You cannot use 'git describe --dirty' because it tries to
65 # create .git/index.lock .
66 # First, with git-status, but --no-optional-locks is only
67 # supported in git >= 2.14, so fall back to git-diff-index if
68 # it fails. Note that git-diff-index does not refresh the
69 # index, so it may give misleading results. See
70 # git-update-index(1), git-diff-index(1), and git-status(1).
71 if {
72 git --no-optional-locks status -uno --porcelain 2>/dev/null ||
73 git diff-index --name-only HEAD
74 } | read dummy; then
75 printf '%s' -dirty
55 # If we are past a tagged commit (like
56 # "v2.6.30-rc5-302-g72357d5"), we pretty print it.
57 if atag="$(git describe 2>/dev/null)"; then
58 echo "$atag" | awk -F- '{printf("-%05d", $(NF-1))}'
76 fi
59 fi
60
61 # Add -g and exactly 12 hex chars.
62 printf '%s%s' -g "$(echo $head | cut -c1-12)"
77 fi
63 fi
64
65 # Check for uncommitted changes.
66 # This script must avoid any write attempt to the source tree, which
67 # might be read-only.
68 # You cannot use 'git describe --dirty' because it tries to create
69 # .git/index.lock .
70 # First, with git-status, but --no-optional-locks is only supported in
71 # git >= 2.14, so fall back to git-diff-index if it fails. Note that
72 # git-diff-index does not refresh the index, so it may give misleading
73 # results.
74 # See git-update-index(1), git-diff-index(1), and git-status(1).
75 if {
76 git --no-optional-locks status -uno --porcelain 2>/dev/null ||
77 git diff-index --name-only HEAD
78 } | read dummy; then
79 printf '%s' -dirty
80 fi
78}
79
80collect_files()
81{
82 local file res=
83
84 for file; do
85 case "$file" in

--- 42 unchanged lines hidden ---
81}
82
83collect_files()
84{
85 local file res=
86
87 for file; do
88 case "$file" in

--- 42 unchanged lines hidden ---