diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-04-06 16:13:22 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-04-06 16:13:22 -0400 |
commit | 32341ac467d5fe51fa674eed4ca20db61ff5486b (patch) | |
tree | ebf2e0eb03a837bcf625981ba60abc606941a5e5 | |
parent | 0cdd2629418f019bda5fa2daa271aae4f7131fa6 (diff) | |
parent | 02d93caa09656b1ef73838608258afad5c090105 (diff) | |
download | tor-32341ac467d5fe51fa674eed4ca20db61ff5486b.tar.gz tor-32341ac467d5fe51fa674eed4ca20db61ff5486b.zip |
Merge remote-tracking branch 'public/bug2402_again' into maint-0.2.1
-rw-r--r-- | changes/bug2402 | 4 | ||||
-rw-r--r-- | changes/bug2402_redux | 6 | ||||
-rw-r--r-- | src/or/Makefile.am | 60 | ||||
-rw-r--r-- | src/or/config.c | 11 | ||||
-rw-r--r-- | src/or/router.c | 2 |
5 files changed, 29 insertions, 54 deletions
diff --git a/changes/bug2402 b/changes/bug2402 deleted file mode 100644 index f16f6773e7..0000000000 --- a/changes/bug2402 +++ /dev/null @@ -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. diff --git a/changes/bug2402_redux b/changes/bug2402_redux new file mode 100644 index 0000000000..84be04a021 --- /dev/null +++ b/changes/bug2402_redux @@ -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. + diff --git a/src/or/Makefile.am b/src/or/Makefile.am index ad2476ff15..51c1b0fb06 100644 --- a/src/or/Makefile.am +++ b/src/or/Makefile.am @@ -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: diff --git a/src/or/config.c b/src/or/config.c index 209a92d159..9cd8149ce8 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -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 diff --git a/src/or/router.c b/src/or/router.c index ba7be3d7d7..52bfa64e43 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -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. |