LKML Archive on
help / color / mirror / Atom feed
* [PATCH] scripts/setlocalversion: fix false positive -dirty tag from ctime
@ 2015-03-10 23:03 Gregory Fong
  0 siblings, 0 replies; only message in thread
From: Gregory Fong @ 2015-03-10 23:03 UTC (permalink / raw)
  To: linux-kernel; +Cc: Michal Marek, Gregory Fong

git-diff-index cannot detect that a file hasn't actually changed when the
file's ctime has changed (e.g. if chmod was used but didn't actually result in
any changes), which was causing setlocalversion to incorrectly add a -dirty
tag.  Run git-update-index beforehand to make sure that the index is correct.

Signed-off-by: Gregory Fong <>
Quick test:
  make defconfig
  make prepare
  chmod u+w Kbuild  # any chmod that doesn't result in a change will do
  CONFIG_LOCALVERSION_AUTO=y /bin/sh scripts/setlocalversion $PWD | grep -q dirty && echo "FAIL" || echo "OK" 

 scripts/setlocalversion | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index 63d91e2..9e97364 100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -45,6 +45,8 @@ 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
+		# Update the index
+		git update-index -q --refresh
 		# 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.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-03-10 23:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-10 23:03 [PATCH] scripts/setlocalversion: fix false positive -dirty tag from ctime Gregory Fong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).