Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • fix_Makefile.mingw#2
  • update_Makefile.mingw
  • fix_Makefile.mingw
  • fix_API_for_C_apps
  • fix_procinfo_mac
  • boinccmd_gpu_mode_always_until_sigterm
  • fgrp_osx_hotfix
  • fix_boinc_master@f8250782
  • eah_wrapper_improvements
  • diagnostics_win-hotfix
  • diagnostics_win-hotfix-old
  • current_fgrp_apps
  • testing_gw_apps
  • gw_app_darwin_15
  • current_brp_apps
  • current_brp_apps_android10
  • current_gfx_apps
  • current_server
  • current_gw_apps
  • previous_fgrp_apps
  • previous_gw_apps
  • testing_brp_apps
  • apps_FGRP3_1.07
  • apps_FGRP3_1.08
25 results

generate_svn_version.sh

Blame
  • generate_svn_version.sh 1.98 KiB
    #!/usr/bin/env bash
    
    HEADER="svn_version.h"
    TMPFILE="$HEADER.tmp"
    
    echo "#ifndef SVN_VERSION_H" > $TMPFILE
    echo "#define SVN_VERSION_H" >> $TMPFILE
    echo "" >> $TMPFILE
    
    if [ -d .git/svn ]; then
        CMD="git svn info"
    elif [ -d .git ]; then
        GIT_LOG=`git log -n1 --pretty="format:%H"`
        HOST=`hostname`
        BRANCH=`git branch | sed -n 's/^\* *//p'`
        remote=`git config --get branch.$BRANCH.remote`
        URL=`git config --get remote.$remote.url`
        DATE=`git log -n1 --pretty="format:%ct"`
    elif [ -d .svn ]; then
        CMD="svn info"
    else
        CMD=""
    fi
    
    if [ "x$GIT_LOG" != "x" ]; then
        echo "#define SVN_VERSION \"$GIT_LOG [$URL] ($HOST:$PWD [$BRANCH])\"" >> $TMPFILE
        echo "$GIT_LOG" | sed 's/^\(........\).*/#define GIT_REVISION 0x\1/' >> $TMPFILE
        echo "#define GIT_DATE $DATE" >> $TMPFILE
        test "x$URL" = "x" ||
            echo "$URL" |
                sed 's/.git$//;s%.*://%%;s/[^/]*@//;s/[^a-zA-Z0-9]/_/g;s/__*/_/g;
                     y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/;
                     s/^/#define REPOSITORY_/;s/$/ 1/' >> $TMPFILE
    elif [ "x$CMD" != "x" ]; then
        LANG=C 
        URL=`$CMD | awk '
                    /^URL/ { url = $2; };
                    /^Rev/ { rev = $2; };
                    END { print "#define SVN_VERSION \"Repository: " url \
                                " Revision: " rev "\"" >> "'"$TMPFILE"'";
                          print "#define SVN_REPOSITORY \"" url "\"" >> "'"$TMPFILE"'";
                          print "#define SVN_REVISION " rev >> "'"$TMPFILE"'";
                          print url };'`
        echo $URL | 
            sed 's%.*://%%;s/[^/]*@//;s/[^a-zA-Z0-9]/_/g;s/__*/_/g;
                 y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/;
                 s/^/#define REPOSITORY_/;s/$/ 1/' >> $TMPFILE
    else
        echo "#include \"version.h\"" >> $TMPFILE
        echo "#define SVN_VERSION BOINC_VERSION_STRING" >> $TMPFILE
    fi
    
    echo "" >> $TMPFILE
    echo "#endif" >> $TMPFILE
    
    if cmp "$HEADER" "$TMPFILE" >/dev/null 2>&1; then
    	rm -f "$TMPFILE"
    else
    	mv "$TMPFILE" "$HEADER"
    fi