From 463093d0aef194ff6e3adc731742880ca890e608 Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 7 Jun 2007 00:25:49 +0000 Subject: (svn r10051) -Add: git "version" detection so we've got at least some indication what version we're playing when using git ;) --- Makefile.src.in | 7 +++++++ config.lib | 15 ++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Makefile.src.in b/Makefile.src.in index 46b425fec..14d827d3b 100644 --- a/Makefile.src.in +++ b/Makefile.src.in @@ -96,8 +96,15 @@ ifeq ($(shell if test -d $(SRC_DIR)/.svn; then echo 1; fi), 1) REV_MODIFIED := $(shell svnversion $(SRC_DIR) | sed -n 's/.*\(M\).*/\1/p' ) # Find the revision like: rXXXX-branch REV := $(shell LC_ALL=C svn info $(SRC_DIR) | $(AWK) '/^URL:.*branch/ { split($$2, a, "/"); BRANCH="-"a[5] } /^Last Changed Rev:/ { REV="r"$$4"$(REV_MODIFIED)" } END { print REV BRANCH }') +else +# Are we a git dir? +ifeq ($(shell if test -d $(SRC_DIR)/../.git; then echo 1; fi), 1) +# Find the revision like: rXXXXM +REV := g$(shell if head=`git rev-parse --verify HEAD 2>/dev/null`; then echo "$$head" | cut -c1-8; fi)$(shell if git diff-index HEAD | read dummy; then echo M; fi)$(shell git branch|grep '*'|sed 's/\* /-/;s/^-master$$//') +endif endif endif + # Make sure we have something in REV ifeq ($(REV),) REV := norev000 diff --git a/config.lib b/config.lib index ec3df61c3..6cd58c7b0 100644 --- a/config.lib +++ b/config.lib @@ -633,10 +633,23 @@ check_params() { revision="`cat $ROOT_DIR/version`" log 1 "checking revision... $revision" + elif [ -d "$ROOT_DIR/.svn" ] && [ -n "`svn help`" ]; then + revision="" + log 1 "checking revision... svn detection" + elif [ -d "$ROOT_DIR/.git" ] && [ -n "`git help`" ]; then + revision="" + log 1 "checking revision... git detection" else revision="" + log 1 "checking revision... no detection" + log 1 "WARNING: there is no means to determine the version." + log 1 "WARNING: please use a subversion or git checkout of OpenTTD." + log 1 "WARNING: this version will be allowed by all game servers," + log 1 "WARNING: but you will be kicked from all incompatible" + log 1 "WARNING: servers as you will desync." + log 1 "WARNING: USE WITH CAUTION!" - log 1 "checking revision... svn detection" + sleep 5 fi fi } -- cgit v1.2.3-70-g09d2