summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir@cohens.org.il>2010-08-03 11:39:10 +0300
committerTzafrir Cohen <tzafrir@cohens.org.il>2010-08-03 11:39:10 +0300
commitd4e0a0bffe3c28fd9903e296f2f5eb67d5fe8ae8 (patch)
treee38d9ad168ba7b15f5b770a7b75e5b44243311f2
parentdb3c485cf7fdb4f58a30409854ebe1a739c13ba7 (diff)
version_hook: sruffel's post-commit script
A copy of Shaun Ruffel's post-commit script from http://github.com/sruffell/dahdi-linux/tree/externals
-rwxr-xr-xversion_hook65
1 files changed, 65 insertions, 0 deletions
diff --git a/version_hook b/version_hook
new file mode 100755
index 0000000..139c16b
--- /dev/null
+++ b/version_hook
@@ -0,0 +1,65 @@
+#!/bin/bash
+PROJECT="dahdi/linux"
+
+# Do not update the .version file if it's part of the repository
+git ls-files | grep ^\.version
+if [ $? -eq 0 ]; then
+ exit 0
+fi
+
+if [ -d .git ]; then
+ # If the first log commit messages indicates that this is checked into
+ # subversion, we'll just use the SVN- form of the revision.
+ SVN_REV=`git log --pretty=full -1 | grep git-svn-id | sed -e "s/.*\@\([^\s]*\)\s.*/\1/g"`
+ if [ -z "$SVN_REV" ]; then
+ RESULT=`git log --pretty=format:"%h" -1`
+ echo GIT-${RESULT} > .version
+ else
+ PARTS=`LANG=C git log --pretty=full | grep git-svn | head -1 | awk '{print $2;}' | sed -e s:^.*/svn/${PROJECT}/:: | sed -e 's:/: :g' | sed -e 's/@.*$//g'`
+ BRANCH=0
+ TEAM=0
+
+ if [ "${PARTS}" = "trunk" ]
+ then
+ echo SVN-'trunk'-r${SVN_REV} > .version
+ exit 0
+ fi
+
+ for PART in $PARTS
+ do
+ if [ ${BRANCH} != 0 ]
+ then
+ RESULT="${RESULT}-${PART}"
+ break
+ fi
+
+ if [ ${TEAM} != 0 ]
+ then
+ RESULT="${RESULT}-${PART}"
+ continue
+ fi
+
+ if [ "${PART}" = "branches" ]
+ then
+ BRANCH=1
+ RESULT="branch"
+ continue
+ fi
+
+ if [ "${PART}" = "tags" ]
+ then
+ BRANCH=1
+ RESULT="tag"
+ continue
+ fi
+
+ if [ "${PART}" = "team" ]
+ then
+ TEAM=1
+ continue
+ fi
+ done
+
+ echo SVN-${RESULT##-}-r${SVN_REV} > .version
+ fi
+fi