VERSION obtained from source instead of the previous git tag. #4049

pull wtogami wants to merge 1 commits into bitcoin:master from wtogami:prerelease changing 6 files +22 −9
  1. wtogami commented at 12:11 AM on April 13, 2014: contributor
    • 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
  2. wtogami commented at 12:34 AM on April 13, 2014: contributor

    After discussion this with sipa and gmaxwell, cancel the tag part of this request. This is just to update clientversion.h.

  3. wtogami commented at 2:48 AM on April 13, 2014: contributor

    <sipa> [00:31:35] warren: ack clientversion.h update

  4. laanwj commented at 10:20 AM on April 13, 2014: member

    The version information clientversion.h isn't really used anymore; though it should be kept up to date as long as it's there. The main place of version information is in: https://github.com/bitcoin/bitcoin/blob/master/configure.ac#L3

    Note that the master branch is 0.9.99, not 0.9.0.99.

  5. wtogami commented at 11:38 AM on April 13, 2014: contributor

    Should it be 0.9.99 if the next release from master is intended to be 0.9.2?

  6. laanwj commented at 1:21 PM on April 13, 2014: member

    It won't be tagged on master. We'll make a special branch for 0.9.2 (which, in turn, will be branched from master).

  7. sipa commented at 4:25 PM on April 13, 2014: member

    @laanwj @wtogami @gmaxwell The original reason for this pull request is the confusing automatically constructed version string "0.9.0rc2-commits-hash", as previous tag in the current history is not really obvious without knowing the version tree. Ideally, it is the next tag in the branch, and the number of commits to it... but that requires knowing the future.

    I propose instead to get rid of git-describe for constructing version strings, and instead use the ones from clientversion.h (plus commits and git hash) - which means we need to keep the version there in sync with prospected versions, but I think that's fine.

    Opinions?

  8. laanwj commented at 4:44 PM on April 13, 2014: member

    Agreed @sipa, let's just use the version from clientversion.h there. The automatically constructed versions are not helpful in our case.

  9. wtogami commented at 7:30 PM on April 13, 2014: contributor

    @laanwj Then we're still stuck, do we accept this into master or not? Otherwise nightly builds will need commits that are not in master.

  10. laanwj commented at 5:05 AM on April 14, 2014: member

    If you change this to be version 0.9.99 (which, as I said above, would be consistent with configure.ac) I'll merge it.

  11. wtogami renamed this:
    pre-release version 0.9.1.99
    Get displayed version from source instead of git tag
    on Apr 14, 2014
  12. wtogami commented at 8:56 AM on April 14, 2014: contributor

    As requested, genbuild.sh and version.cpp are modified to obtain the client version from source instead of git tag.

    If you change this to be version 0.9.99 (which, as I said above, would be consistent with configure.ac) I'll merge it.

    Respectfully, I believe doing so would be illogical. You are the person who corrected me when I thought the next release from master would be 0.10 instead of 0.9.2.

    Unless I made any error here this is ready to be merged. This could be cleaned up further to entirely get rid of clientversion.h but I did not want to make such an invasive change touching many source files in this PR.

  13. sipa commented at 10:11 AM on April 14, 2014: member

    How can master be 0.9.1.99, when 0.9.2 is already released? Master should be called 0.9.99.

    EDIT: I'm confused, 0.9.2 is not released yet. But the plan is to do 0.9.2 in a separate branch, and keep master for 0.10 code? (@laanwj correct me if I'm wrong).

  14. nightlybitcoin referenced this in commit ec502b350c on Apr 14, 2014
  15. nightlybitcoin referenced this in commit 1c550b46c6 on Apr 14, 2014
  16. nightlybitcoin referenced this in commit c43cc905c1 on Apr 14, 2014
  17. laanwj commented at 11:38 AM on April 14, 2014: member

    Correct @sipa. Master is pre-0.10. Master is always the breeding ground for the next major release, no matter what the next (minor) release is going to be.

    For this it doesn't matter whether we want to do a 0.9.2 that includes (almost) all changes in master since 0.9.0. This will indeed be done on a seperate branch, in which we may revert some changes if they're not deemed 100% safe for release (in a minor release).

  18. wtogami commented at 12:08 PM on April 14, 2014: contributor

    0.9.2 will be 98%-100% identical to whatever is in master at the time it branches off so I find this versioning approach to be illogical, but I don't care enough to fight it.

    DO NOT MERGE. I want to improve this a bit more. I just realized that I don't want to completely break the ability to have custom -topicbranch names in tags.

  19. wtogami renamed this:
    Get displayed version from source instead of git tag
    VERSION obtained from source instead of the previous git tag.
    on Apr 15, 2014
  20. wtogami commented at 7:50 AM on April 15, 2014: contributor

    VERSION obtained from source instead of the previous git tag.

    • 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
    • v0.9.99
  21. laanwj commented at 6:56 AM on April 16, 2014: member

    This gives me the following error when running 'make' (Ubuntu 14.04):

    $ rm src/obj/build.h
    $ make -j3
    ...
    make -C ../src leveldb/libleveldb.a
    make -C ../src leveldb/libmemenv.a
    ../share/genbuild.sh: 25: [: db60debb4a637194cee1b7231921de808bbd8fb7: unexpected operator
    

    I first thought it was a matter of re-running autogen and configure, but it's still there after a few tries.

  22. VERSION obtained from source instead of the previous git tag.
    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
    3d20cd5f61
  23. wtogami commented at 7:49 AM on April 16, 2014: contributor

    Fixed by replacing the == on line 25 with =. It was a dash vs. bash issue.

  24. BitcoinPullTester commented at 8:24 AM on April 16, 2014: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/3d20cd5f61fff33fe5fffd6efddf2c942c8dd2f9 for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.

  25. laanwj merged this on Apr 16, 2014
  26. laanwj closed this on Apr 16, 2014

  27. laanwj referenced this in commit 31853a1517 on Apr 16, 2014
  28. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me