diff options
author | Tzafrir Cohen <tzafrir@cohens.org.il> | 2010-08-03 11:39:10 +0300 |
---|---|---|
committer | Tzafrir Cohen <tzafrir@cohens.org.il> | 2010-08-03 11:39:10 +0300 |
commit | d4e0a0bffe3c28fd9903e296f2f5eb67d5fe8ae8 (patch) | |
tree | e38d9ad168ba7b15f5b770a7b75e5b44243311f2 | |
parent | db3c485cf7fdb4f58a30409854ebe1a739c13ba7 (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-x | version_hook | 65 |
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 |