Skip to content

Commit

Permalink
VERSION obtained from source instead of the previous git tag.
Browse files Browse the repository at this point in the history
Drawback: The version string is no longer a valid git identifier.
          For this reason the 'g' short hash prefix has been removed.

Exception: When building directly from a tag this behaves exactly like the previous behavior.
           This allows formatting release versions with precision     i.e. v0.9.2
           This also allows arbitrary topicbranch names               i.e. v0.9.1-glibc-compat
  • Loading branch information
wtogami committed Apr 16, 2014
1 parent 74dd52a commit 3d20cd5
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 9 deletions.
2 changes: 1 addition & 1 deletion doc/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Bitcoin 0.9.0 BETA
Bitcoin 0.9.99 BETA
=====================

Copyright (c) 2009-2014 Bitcoin Developers
Expand Down
2 changes: 1 addition & 1 deletion doc/README_windows.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Bitcoin 0.9.0rc1 BETA
Bitcoin 0.9.99 BETA

Copyright (c) 2009-2014 Bitcoin Core Developers

Expand Down
2 changes: 0 additions & 2 deletions doc/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ Release Process

###update (commit) version in sources


bitcoin-qt.pro
contrib/verifysfbinaries/verify.sh
doc/README*
share/setup.nsi
Expand Down
14 changes: 12 additions & 2 deletions share/genbuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,30 @@ else
fi

DESC=""
SUFFIX=""
LAST_COMMIT_DATE=""
if [ -e "$(which git)" -a -d ".git" ]; then
# clean 'dirty' status of touched files that haven't been modified
git diff >/dev/null 2>/dev/null

# get a string like "v0.6.0-66-g59887e8-dirty"
DESC="$(git describe --dirty 2>/dev/null)"
# if latest commit is tagged and not dirty, then override using the tag name
RAWDESC=$(git describe --abbrev=0 2>/dev/null)
if [ "$(git rev-parse HEAD)" = "$(git rev-list -1 $RAWDESC)" ]; then
git diff-index --quiet HEAD -- && DESC=$RAWDESC
fi

# otherwise generate suffix from git, i.e. string like "59887e8-dirty"
SUFFIX=$(git rev-parse --short HEAD)
git diff-index --quiet HEAD -- || SUFFIX="$SUFFIX-dirty"

# get a string like "2012-04-10 16:27:19 +0200"
LAST_COMMIT_DATE="$(git log -n 1 --format="%ci")"
fi

if [ -n "$DESC" ]; then
NEWINFO="#define BUILD_DESC \"$DESC\""
elif [ -n "$SUFFIX" ]; then
NEWINFO="#define BUILD_SUFFIX $SUFFIX"
else
NEWINFO="// No build information available"
fi
Expand Down
4 changes: 2 additions & 2 deletions src/clientversion.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
// These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 0
#define CLIENT_VERSION_MINOR 9
#define CLIENT_VERSION_REVISION 0
#define CLIENT_VERSION_BUILD 99
#define CLIENT_VERSION_REVISION 99
#define CLIENT_VERSION_BUILD 0

// Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE false
Expand Down
7 changes: 6 additions & 1 deletion src/version.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,19 @@ const std::string CLIENT_NAME("Satoshi");
# define GIT_COMMIT_DATE "$Format:%cD$"
#endif

#define BUILD_DESC_WITH_SUFFIX(maj,min,rev,build,suffix) \
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-" DO_STRINGIZE(suffix)

#define BUILD_DESC_FROM_COMMIT(maj,min,rev,build,commit) \
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit

#define BUILD_DESC_FROM_UNKNOWN(maj,min,rev,build) \
"v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk"

#ifndef BUILD_DESC
# ifdef GIT_COMMIT_ID
# ifdef BUILD_SUFFIX
# define BUILD_DESC BUILD_DESC_WITH_SUFFIX(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, BUILD_SUFFIX)
# elif defined(GIT_COMMIT_ID)
# define BUILD_DESC BUILD_DESC_FROM_COMMIT(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, GIT_COMMIT_ID)
# else
# define BUILD_DESC BUILD_DESC_FROM_UNKNOWN(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD)
Expand Down

0 comments on commit 3d20cd5

Please sign in to comment.