Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-core / trunk / build_tools / autorevision.sh
index 2ccdb01..c8f4cf2 100644 (file)
 
 get_git_id(){
        export SCM=git
-       export REVISION=`cd "$1"; git log --no-color -1 | head -n 1 | cut -f 2 -d ' '`
-       export BRANCH=`cd "$1"; git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
-       export DATE=`git-show --pretty=format:%ci HEAD |  head -c 10`
-       DATE=${DATE:0:4}${DATE:5:2}${DATE:8:2}
-       export COMPARE="$1/.git/"
+       export REVISION_ID=`cd "$1"; git log --no-color -1 | head -n 1 | cut -f 2 -d ' '`
+       export BRANCH="`cd "$1"; git branch -a --no-color --contains HEAD | sed -e s/\*\ // | sed -e s/\(no\ branch\)// | tr '\n' ' ' | tr -s ' ' | sed s/^' '//`"
+       if ( echo $BRANCH | egrep origin/master > /dev/null ); then
+               #give a priority to master branch
+               BRANCH='master'
+       else
+               BRANCH=`echo $BRANCH | cut -d ' ' -f 1`
+               BRANCH=${BRANCH##*/}
+       fi
+       export REVISION=`git show --pretty=format:%ci HEAD |  head -c 10 | tr -d '-'`
+       export COMPARE=`git rev-parse --git-dir`
        # The extra * at the end is for Modified
        #REVISION="$REVISION"`cd "$1"; [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"`
 }
@@ -52,8 +58,8 @@ fi
 
 
 # Extract the revision from SVN/git/etc
-if [ -e "$1/../../.git/refs/remotes/origin" ] ; then
-       get_git_id "$1/../.."
+if git rev-parse --git-dir > /dev/null  2>&1 ; then
+       get_git_id "."
 elif [ -d "$1/.git/svn" ] ; then
        get_git_svn_id "$1"
 elif [ -d "$1/../.git/svn" ] ; then
@@ -87,7 +93,7 @@ if [ x = "x$DEVEL_VERSION" ] ; then
                elif [ $SCM = git-svn ] ; then
                        DEVEL_VERSION="SVN r$REVISION (via git)"
                elif [ $SCM = git ] ; then
-                       DEVEL_VERSION="Development version: $DATE \\nBranch: ${BRANCH} \\nRevision ID: $REVISION"
+                       DEVEL_VERSION="Revision: ${REVISION}\\\\nBranch: ${BRANCH}\\\\nRevision ID: ${REVISION_ID}"
                elif [ $SCM = manual ] ; then
                        DEVEL_VERSION="$REVISION (manually configured)"
                fi
@@ -97,5 +103,5 @@ fi
 
 # Output the header
 if [ x != "x$DEVEL_VERSION" ] ; then
-       echo "#define DEVEL_VERSION \"$DEVEL_VERSION\"" >> "$HEADER"
+       printf "#define DEVEL_VERSION \"$DEVEL_VERSION\"\n" > "$HEADER"
 fi