Skip to content

Commit 75280bd

Browse files
committed
setlocalversion: make indentation shallower
Return earlier if we are not in the correct git repository. This makes the code more readable. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Nicolas Schier <[email protected]>
1 parent 992ebfa commit 75280bd

File tree

1 file changed

+41
-38
lines changed

1 file changed

+41
-38
lines changed

scripts/setlocalversion

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -34,46 +34,49 @@ scm_version()
3434
short=true
3535
fi
3636

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
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
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
56-
57-
# Add -g and exactly 12 hex chars.
58-
printf '%s%s' -g "$(echo $head | cut -c1-12)"
59-
fi
37+
if test -n "$(git rev-parse --show-cdup 2>/dev/null)"; then
38+
return
39+
fi
40+
41+
if ! head=$(git rev-parse --verify HEAD 2>/dev/null); then
42+
return
43+
fi
44+
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
6048

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
49+
# If only the short version is requested, don't bother
50+
# running further git commands
51+
if $short; then
52+
echo "+"
53+
return
7654
fi
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))}'
59+
fi
60+
61+
# Add -g and exactly 12 hex chars.
62+
printf '%s%s' -g "$(echo $head | cut -c1-12)"
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
7780
fi
7881
}
7982

0 commit comments

Comments
 (0)