Merge remote-tracking branch 'public/bug2402_again' into maint-0.2.1

This commit is contained in:
Nick Mathewson 2011-04-06 16:13:22 -04:00
commit 32341ac467
5 changed files with 29 additions and 54 deletions

View File

@ -1,4 +0,0 @@
o Minor bugfixes (build)
- Do not include Git version tags as though they were SVN tags when
generating a tarball from inside a repository that has switched between
branches. Bugfix on 0.2.1.15-rc; fixes bug 2402.

6
changes/bug2402_redux Normal file
View File

@ -0,0 +1,6 @@
o Minor bugfixes
- Use micro-revision numbers in 0.2.1.x instead: apparently, they
were more used than we had known. (Bugfix on 0.2.1.30).
- Instead of generating our micro-version numbers using SVN revisions,
use git revisions instead. Bugfix on 0.2.1.15-rc; fixes bug 2402.

View File

@ -55,53 +55,19 @@ noinst_HEADERS = or.h eventdns.h eventdns_tor.h micro-revision.i
tor_main.o: micro-revision.i
micro-revision.i: FORCE
@svkdir=$$SVKROOT; \
if test "x$$svkdir" = x ; then \
svkdir=$$HOME/.svk; \
fi; \
if test -d ../../.git && test -x "`which git 2>&1;true`" ; then \
if test -d ../../.git/svn && test -x "`which git-svn 2>&1;true`" ; then \
git-svn info ../../README | \
sed -n 's/^Revision: \([0-9][0-9]*\).*/"\1"/p' \
> micro-revision.tmp \
|| true; \
fi; \
elif test -d ../../.svn && test -x "`which svn 2>&1;true`" ; then \
svn info ../.. | \
sed -n 's/^Revision: \([0-9][0-9]*\).*/"\1"/p' > micro-revision.tmp \
|| true; \
elif test -x "`which svk 2>&1;true`" && test -d $$svkdir/local; then \
location=../..; \
rev=x; \
while test x$$rev = xx; do \
x=`svk info $$location | \
sed -n 's/^Mirrored From:.*, Rev\. \([0-9][0-9]*\)/\1/p'`; \
if test x$$x != x; then \
rev=$$x; \
break; \
else \
loc=`svk info $$location | \
sed -n 's/^Copied From: \(.*\), Rev\. [0-9][0-9]*/\1/p' | \
head -1`; \
if test x$$loc = x; then \
break; \
else \
location=/$$loc; \
fi; \
fi; \
done; \
if test x$$rev != xx; then \
echo \"$$rev\" > micro-revision.tmp; \
fi; \
fi; \
if test ! -f micro-revision.tmp ; then \
if test ! -f micro-revision.i ; then \
echo '""' > micro-revision.i; \
fi; \
elif test ! -f micro-revision.i || \
test x"`cat micro-revision.tmp`" != x"`cat micro-revision.i`"; then \
mv micro-revision.tmp micro-revision.i; \
fi; true
@rm -f micro-revision.tmp; \
if test -d ../../.git && test -x "`which git 2>&1;true`"; then \
HASH="`git rev-parse --short=16 HEAD`"; \
echo \"$$HASH\" > micro-revision.tmp; \
fi; \
if test ! -f micro-revision.tmp ; then \
if test ! -f micro-revision.i ; then \
echo '""' > micro-revision.i; \
fi; \
elif test ! -f micro-revision.i || \
test x"`cat micro-revision.tmp`" != x"`cat micro-revision.i`"; then \
mv micro-revision.tmp micro-revision.i; \
fi; true
#Dummy target to ensure that micro-revision.i _always_ gets built.
FORCE:

View File

@ -827,7 +827,16 @@ static char *_version = NULL;
const char *
get_version(void)
{
return VERSION;
if (_version == NULL) {
if (strlen(tor_svn_revision)) {
size_t len = strlen(VERSION)+strlen(tor_svn_revision)+16;
_version = tor_malloc(len);
tor_snprintf(_version, len, "%s (git-%s)", VERSION, tor_svn_revision);
} else {
_version = tor_strdup(VERSION);
}
}
return _version;
}
/** Release additional memory allocated in options

View File

@ -1576,8 +1576,6 @@ router_guess_address_from_dir_headers(uint32_t *guess)
return -1;
}
extern const char tor_svn_revision[]; /* from tor_main.c */
/** Set <b>platform</b> (max length <b>len</b>) to a NUL-terminated short
* string describing the version of Tor and the operating system we're
* currently running on.