[Mesa-dev] [PATCH v2 1/2] mesa: don't touch git_sha1.h if sha1 didn't change

Marcin Slusarz marcin.slusarz at gmail.com
Mon May 2 11:06:19 PDT 2011


Less recompiles...
---
 bin/extract_git_sha1     |   10 ++++++++--
 src/mesa/main/.gitignore |    1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/bin/extract_git_sha1 b/bin/extract_git_sha1
index e6e6731..5e635d4 100755
--- a/bin/extract_git_sha1
+++ b/bin/extract_git_sha1
@@ -1,10 +1,16 @@
 #!/bin/sh
-touch src/mesa/main/git_sha1.h
+if [ ! -f src/mesa/main/git_sha1.h ]; then
+	touch src/mesa/main/git_sha1.h
+fi
+
 if which git > /dev/null; then
     # Extract the 7-digit "short" SHA1 for the current HEAD, convert
     # it to a string, and wrap it in a #define.  This is used in
     # src/mesa/main/version.c to put the GIT SHA1 in the GL_VERSION string.
     git log -n 1 --oneline |\
 	sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
-	> src/mesa/main/git_sha1.h
+	> src/mesa/main/git_sha1.h.tmp
+    if ! cmp -s src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h; then
+    	mv src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h
+    fi
 fi
diff --git a/src/mesa/main/.gitignore b/src/mesa/main/.gitignore
index e48030e..2575f44 100644
--- a/src/mesa/main/.gitignore
+++ b/src/mesa/main/.gitignore
@@ -3,3 +3,4 @@ api_exec_es2.c
 get_es1.c
 get_es2.c
 git_sha1.h
+git_sha1.h.tmp
-- 
1.7.4.1



More information about the mesa-dev mailing list