Remove .a files before running ar, to avoid problems with renamed files remaining...
[kugel-rb.git] / tools / svnversion.sh
blob8fe98046228706f609d75a63e95e45578ba2f8bf
1 #!/bin/sh
2 # __________ __ ___.
3 # Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 # \/ \/ \/ \/ \/
8 # $Id$
11 # Usage: svnversion.sh [source-root]
13 # Prints the revision "rXYZ" of the first argument, as reported by svnversion.
14 # Prints "unknown" if svnversion fails or says "exported".
15 svnversion_safe() {
16 # LANG=C forces svnversion to not localize "exported".
17 if OUTPUT=`LANG=C svnversion "$@"`; then
18 if [ "$OUTPUT" = "exported" ]; then
20 # Not a SVN repository, maybe a git-svn one ?
21 if [ -z "$1" ]; then
22 GITDIR="./.git"
23 else
24 GITDIR="$1/.git"
27 # First make sure it is a git repository
28 if [ -d "$GITDIR" ]; then
29 OUTPUT=`LANG=C git --git-dir="$GITDIR" svn info 2>/dev/null|grep '^Revision: '|cut -d\ -f2`
30 if [ -z "$OUTPUT" ]; then
31 echo "unknown"
32 else
33 echo "r$OUTPUT"
35 else # not a git repository
36 echo "unknown"
38 else
39 echo "r$OUTPUT"
41 else
42 echo "unknown"
46 VERSIONFILE=docs/VERSION
47 if [ -n "$1" ]; then TOP=$1; else TOP=..; fi
48 if [ -r $TOP/$VERSIONFILE ]; then SVNVER=`cat $TOP/$VERSIONFILE`;
49 else
50 SVNVER=`svnversion_safe $TOP`;
51 if [ "$SVNVER" = "unknown" ]; then
52 # try getting it from a subdir to test if perhaps they are symlinked
53 # from the root
54 SVNVER=`svnversion_safe $TOP/tools`;
57 VERSION=$SVNVER-`date -u +%y%m%d`
58 echo $VERSION