[QGIS Commit] r14691 - in trunk/qgis: . scripts

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue Nov 16 15:20:27 EST 2010


Author: jef
Date: 2010-11-16 12:20:27 -0800 (Tue, 16 Nov 2010)
New Revision: 14691

Modified:
   trunk/qgis/CMakeLists.txt
   trunk/qgis/scripts/prepare-commit.sh
Log:
add some git support

Modified: trunk/qgis/CMakeLists.txt
===================================================================
--- trunk/qgis/CMakeLists.txt	2010-11-16 14:19:15 UTC (rev 14690)
+++ trunk/qgis/CMakeLists.txt	2010-11-16 20:20:27 UTC (rev 14691)
@@ -429,6 +429,7 @@
 # create qgssvnversion.h
 
 FIND_FILE(SVN_MARKER entries PATHS ${CMAKE_SOURCE_DIR}/.svn)
+FIND_FILE(GIT_MARKER index PATHS ${CMAKE_SOURCE_DIR}/.git)
 
 IF (SVN_MARKER)
   # See if we have svn installed
@@ -436,26 +437,41 @@
 
   IF(SVNVERSION)
     IF(MSVC)
-	ADD_CUSTOM_COMMAND(
-		OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
-		COMMAND for /f usebackq %%a in "(`\"${SVNVERSION}\"`)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
-		MAIN_DEPENDENCY ${SVN_MARKER}
-		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-	)
+      ADD_CUSTOM_COMMAND(
+        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
+        COMMAND for /f usebackq %%a in "(`\"${SVNVERSION}\"`)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
+        MAIN_DEPENDENCY ${SVN_MARKER}
+        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+      )
     ELSE(MSVC)
-	ADD_CUSTOM_COMMAND(
-		OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
-		COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
-		MAIN_DEPENDENCY ${SVN_MARKER}
-		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-	)
+      ADD_CUSTOM_COMMAND(
+        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
+        COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
+        MAIN_DEPENDENCY ${SVN_MARKER}
+        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+      )
     ENDIF(MSVC)
   ELSE(SVNVERSION)
     MESSAGE(STATUS "svnversion not found - version will be unknown")
     FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"unknown\"")
   ENDIF (SVNVERSION)
 ELSE (SVN_MARKER)
-  FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"exported\"")
+  IF (GIT_MARKER)
+    FIND_PROGRAM(GIT git PATHS c:/cygwin/bin)
+    IF(GIT)
+      ADD_CUSTOM_COMMAND(
+        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
+        COMMAND echo \\\#define QGSSVNVERSION \\\"`${GIT} svn info | sed -ne "s/Revision: //p"`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
+        MAIN_DEPENDENCY ${GIT_MARKER}
+        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+      )
+    ELSE(GIT)
+      MESSAGE(STATUS "git marker, but no git found - version will be unknown")
+      FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"unknown\"")
+    ENDIF(GIT)
+  ELSE (GIT_MARKER)
+    FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"exported\"")
+  ENDIF (GIT_MARKER)
 ENDIF (SVN_MARKER)
 
 ADD_CUSTOM_TARGET(svnversion ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h)

Modified: trunk/qgis/scripts/prepare-commit.sh
===================================================================
--- trunk/qgis/scripts/prepare-commit.sh	2010-11-16 14:19:15 UTC (rev 14690)
+++ trunk/qgis/scripts/prepare-commit.sh	2010-11-16 20:20:27 UTC (rev 14691)
@@ -17,7 +17,14 @@
 set -e
 
 # determine changed files
-MODIFIED=$(svn status | sed -ne "s/^[MA] *//p")
+if [ -d .svn ]; then
+	MODIFIED=$(svn status | sed -ne "s/^[MA] *//p")
+elif [ -d .git ]; then
+	MODIFIED=$(git status | sed -rne "s/^#	(modified|new file): *//p")
+else
+	echo No working copy
+	exit 1
+fi
 
 if [ -z "$MODIFIED" ]; then
 	echo nothing was modified
@@ -25,8 +32,13 @@
 fi
 
 # save original changes
-REV=$(svn info | sed -ne "s/Revision: //p")
-svn diff >r$REV.diff
+if [ -d .svn ]; then
+	REV=$(svn info | sed -ne "s/Revision: //p")
+	svn diff >r$REV.diff
+elif [ -d .git ]; then
+	REV=$(git svn info | sed -ne "s/Revision //p")
+	git diff >r$REV.diff
+fi
 
 ASTYLEDIFF=astyle.r$REV.diff
 >$ASTYLEDIFF



More information about the QGIS-commit mailing list