Skip to content

Commit 7ab2de6

Browse files
author
jef
committedNov 16, 2010
add some git support
git-svn-id: http://svn.osgeo.org/qgis/trunk@14691 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 3992721 commit 7ab2de6

File tree

2 files changed

+44
-16
lines changed

2 files changed

+44
-16
lines changed
 

‎CMakeLists.txt

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -429,33 +429,49 @@ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src/core ${CMAKE_BINARY_DIR}/src/gui)
429429
# create qgssvnversion.h
430430

431431
FIND_FILE(SVN_MARKER entries PATHS ${CMAKE_SOURCE_DIR}/.svn)
432+
FIND_FILE(GIT_MARKER index PATHS ${CMAKE_SOURCE_DIR}/.git)
432433

433434
IF (SVN_MARKER)
434435
# See if we have svn installed
435436
FIND_PROGRAM(SVNVERSION svnversion PATHS c:/cygwin/bin)
436437

437438
IF(SVNVERSION)
438439
IF(MSVC)
439-
ADD_CUSTOM_COMMAND(
440-
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
441-
COMMAND for /f usebackq %%a in "(`\"${SVNVERSION}\"`)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
442-
MAIN_DEPENDENCY ${SVN_MARKER}
443-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
444-
)
440+
ADD_CUSTOM_COMMAND(
441+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
442+
COMMAND for /f usebackq %%a in "(`\"${SVNVERSION}\"`)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
443+
MAIN_DEPENDENCY ${SVN_MARKER}
444+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
445+
)
445446
ELSE(MSVC)
446-
ADD_CUSTOM_COMMAND(
447-
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
448-
COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
449-
MAIN_DEPENDENCY ${SVN_MARKER}
450-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
451-
)
447+
ADD_CUSTOM_COMMAND(
448+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
449+
COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
450+
MAIN_DEPENDENCY ${SVN_MARKER}
451+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
452+
)
452453
ENDIF(MSVC)
453454
ELSE(SVNVERSION)
454455
MESSAGE(STATUS "svnversion not found - version will be unknown")
455456
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"unknown\"")
456457
ENDIF (SVNVERSION)
457458
ELSE (SVN_MARKER)
458-
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"exported\"")
459+
IF (GIT_MARKER)
460+
FIND_PROGRAM(GIT git PATHS c:/cygwin/bin)
461+
IF(GIT)
462+
ADD_CUSTOM_COMMAND(
463+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
464+
COMMAND echo \\\#define QGSSVNVERSION \\\"`${GIT} svn info | sed -ne "s/Revision: //p"`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
465+
MAIN_DEPENDENCY ${GIT_MARKER}
466+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
467+
)
468+
ELSE(GIT)
469+
MESSAGE(STATUS "git marker, but no git found - version will be unknown")
470+
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"unknown\"")
471+
ENDIF(GIT)
472+
ELSE (GIT_MARKER)
473+
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"exported\"")
474+
ENDIF (GIT_MARKER)
459475
ENDIF (SVN_MARKER)
460476

461477
ADD_CUSTOM_TARGET(svnversion ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h)

‎scripts/prepare-commit.sh

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,28 @@ fi
1717
set -e
1818

1919
# determine changed files
20-
MODIFIED=$(svn status | sed -ne "s/^[MA] *//p")
20+
if [ -d .svn ]; then
21+
MODIFIED=$(svn status | sed -ne "s/^[MA] *//p")
22+
elif [ -d .git ]; then
23+
MODIFIED=$(git status | sed -rne "s/^# (modified|new file): *//p")
24+
else
25+
echo No working copy
26+
exit 1
27+
fi
2128

2229
if [ -z "$MODIFIED" ]; then
2330
echo nothing was modified
2431
exit 1
2532
fi
2633

2734
# save original changes
28-
REV=$(svn info | sed -ne "s/Revision: //p")
29-
svn diff >r$REV.diff
35+
if [ -d .svn ]; then
36+
REV=$(svn info | sed -ne "s/Revision: //p")
37+
svn diff >r$REV.diff
38+
elif [ -d .git ]; then
39+
REV=$(git svn info | sed -ne "s/Revision //p")
40+
git diff >r$REV.diff
41+
fi
3042

3143
ASTYLEDIFF=astyle.r$REV.diff
3244
>$ASTYLEDIFF

0 commit comments

Comments
 (0)
Please sign in to comment.