Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge settings one place instead of five places #15934

Merged
merged 6 commits into from
Nov 8, 2019

Conversation

ryanofsky
Copy link
Contributor

@ryanofsky ryanofsky commented May 1, 2019

This is a refactoring-only change that makes it easier to add a new settings source.

This PR doesn't change behavior. The util_ArgsMerge and util_ChainMerge tests added in #15869 and #15988 were written specifically to confirm that ArgsManager settings are parsed, merged, and returned the same way before and after this change.

This change:

The original motivation for this change was to make it easy to add a new persistent setting source without introducing more bugs and inconsistencies. Two commits building on top of this to add a persistent -wallet setting are pretty straightforward and show how the new code can be extended:

@DrahtBot
Copy link
Contributor

DrahtBot commented May 2, 2019

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #17385 (WIP: refactor: Use our own integer parsing/formatting everywhere by laanwj)
  • #15454 (Remove the automatic creation and loading of the default wallet by achow101)
  • #14866 (Improve property evaluation way in bitcoin.conf by AkioNak)
  • #11082 (Add new bitcoin_rw.conf file that is used for settings modified by this software itself by luke-jr)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

Copy link
Member

@promag promag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had a refactor (which I did't submit) that supported chaining ArgsManager. The idea was to support changing some args when calling some RPC, so a ArgsManager is created with the "overridden" args and passed thru. Is this something you are considering supporting or do you see a different approach?

Concept ACK.

src/util/system.cpp Outdated Show resolved Hide resolved
src/util/system.cpp Outdated Show resolved Hide resolved
@ryanofsky ryanofsky force-pushed the pr/mergeset branch 5 times, most recently from 19e84b7 to 1d543ad Compare May 8, 2019 15:59
@ryanofsky
Copy link
Contributor Author

re: #15934 (review) from promag

I had a refactor (which I did't submit) that supported chaining ArgsManager. The idea was to support changing some args when calling some RPC, so a ArgsManager is created with the "overridden" args and passed thru. Is this something you are considering supporting or do you see a different approach?

This change does make it easier to add new settings sources (with consistent handling of negated args and things), so it should be compatible with your idea and maybe helpful.

Depending on the situation, I think having chained or scoped settings could be a good idea or not. I do think that in wallet code and application code generally it's good to get away from using key-value storage classes like ArgsManager or UniValue as quickly as possible, and switch to more direct representations like CCoinControl that are type safe and can be accessed more simply.

@ryanofsky ryanofsky changed the title WIP: Dedup settings merge code Dedup settings merge code May 14, 2019
@ryanofsky ryanofsky marked this pull request as ready for review May 14, 2019 14:53
@fanquake
Copy link
Member

Concept ACK

Copy link
Member

@jamesob jamesob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested ACK 1d543ad

Generated and reviewed the test output locally. Mucked around with various argument formulations using the following config file:

dbcache=100
[main]
dbcache=200
[test]
dbcache=300

and commandline invocations e.g.

./src/bitcoind -conf=$(pwd)/test.conf -dbcache=1000 -dbcache=500 | grep Using

to verify dbcache being set as expected.


This is a well-written change that cleans up a lot of gnarly, duplicated settings munging. It explicitly outlines surprising corner cases in existing behavior (with docs too), and makes reasoning about settings merge order easier. This change also introduces substantial test coverage to settings management (util::Settings).

After this is merged, adding a read-write settings file (whether it's JSON or something else) will be much easier.

src/util/settings.cpp Outdated Show resolved Hide resolved
src/util/settings.cpp Outdated Show resolved Hide resolved
src/util/system.cpp Outdated Show resolved Hide resolved
// Weird behavior preserved for backwards compatibility: command line
// options with section prefixes are allowed but ignored. It would be
// better if these options triggered the IsArgKnown error below, or were
// actually used instead of silently ignored.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the nice comment. Potentially out of scope: could we log warnings for this instead of silently ignoring?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re: #15934 (comment)

Potentially out of scope: could we log warnings for this instead of silently ignoring?

I'm planning on making followup PRs that simplify and clean up all these "Weird behavior preserved for backwards compatibility" instances. I'd rather not add warnings in this PR partly because I'm disinclined to mix up behavior changes and refactoring changes in the same PR, but also because having some invalid options result in warnings and other invalid options result in errors seems even more strange and complicated than what the code does now.

// test parses and merges settings, representing the results as strings that get
// compared against an expected hash. To debug, the result strings can be dumped
// to a file (see comments below).
BOOST_FIXTURE_TEST_CASE(Merge, MergeTestingSetup)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool test! The formatted output is really helpful. Encourage other reviewers to run and inspect with

SETTINGS_MERGE_TEST_OUT=results.txt ./src/test/test_bitcoin --run_test=settings_tests/Merge

src/test/util.h Outdated Show resolved Hide resolved
src/test/settings_tests.cpp Show resolved Hide resolved
@ryanofsky ryanofsky changed the title Dedup settings merge code Separate settings merging from parsing May 29, 2019
Copy link
Contributor Author

@ryanofsky ryanofsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated 1d543ad -> 2dfeff1 (pr/mergeset.6 -> pr/mergeset.7), compare) with suggested changes.
Rebased 2dfeff1 -> 955c782 (pr/mergeset.7 -> pr/mergeset.8) to share common code with #15988.

src/test/settings_tests.cpp Show resolved Hide resolved
src/util/settings.cpp Outdated Show resolved Hide resolved
src/util/settings.cpp Outdated Show resolved Hide resolved
src/util/system.cpp Outdated Show resolved Hide resolved
// Weird behavior preserved for backwards compatibility: command line
// options with section prefixes are allowed but ignored. It would be
// better if these options triggered the IsArgKnown error below, or were
// actually used instead of silently ignored.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re: #15934 (comment)

Potentially out of scope: could we log warnings for this instead of silently ignoring?

I'm planning on making followup PRs that simplify and clean up all these "Weird behavior preserved for backwards compatibility" instances. I'd rather not add warnings in this PR partly because I'm disinclined to mix up behavior changes and refactoring changes in the same PR, but also because having some invalid options result in warnings and other invalid options result in errors seems even more strange and complicated than what the code does now.

src/test/util.h Outdated Show resolved Hide resolved
@jamesob
Copy link
Member

jamesob commented May 29, 2019

re-tACK 955c782 based on the interdiff and running an abbreviated version of the testing above.

@ryanofsky
Copy link
Contributor Author

Rebased 955c782 -> 14a6dfc (pr/mergeset.8 -> pr/mergeset.9) due to conflict with #16278

@jamesob
Copy link
Member

jamesob commented Jun 27, 2019

reACK 14a6dfc based on interdiff. Only change since pr/mergeset.8 is a trivial LogPrintf fix.

uvhw added a commit to uvhw/Bitcoin-Foundation that referenced this pull request Feb 14, 2022
Master-headers-dns (bitcoin/bitcoin#15934) del (bitcoin/bitcoin#15934) ipc-export (bitcoin/bitcoin#15934) pr/= (bitcoin/bitcoin#15934) pr/argcheck (bitcoin/bitcoin#16545, bitcoin/bitcoin#15934) pr/argcheck.12-rebase (bitcoin/bitcoin#15934) pr/argcheck.18-rebase (bitcoin/bitcoin#15934) pr/argcheck.19-rebase (bitcoin/bitcoin#15934) pr/argcheck.20-rebase (bitcoin/bitcoin#15934) pr/argcheck.21-rebase (bitcoin/bitcoin#15934) pr/argcheck.22-rebase (bitcoin/bitcoin#15934) pr/argcheck.24-rebase (bitcoin/bitcoin#15934) pr/argcheck.25-rebase (bitcoin/bitcoin#15934) pr/argcheck.26-rebase (bitcoin/bitcoin#15934) pr/argmap (bitcoin/bitcoin#15934) pr/argscripts (bitcoin/bitcoin#15934) pr/argscripts.1-rebase (bitcoin/bitcoin#15934) pr/argscripts.3-rebase (bitcoin/bitcoin#15934) pr/argscripts.5-rebase (bitcoin/bitcoin#15934) pr/argscripts.7-rebase (bitcoin/bitcoin#15934) pr/atw-nomerge (bitcoin/bitcoin#15934) pr/atw-nomerge.74-rebase (bitcoin/bitcoin#15934) pr/atw-nomerge.76-rebase (bitcoin/bitcoin#15934) pr/atw-nomerge.77-rebase (bitcoin/bitcoin#15934) pr/atw-nomerge.78-rebase (bitcoin/bitcoin#15934) pr/badbdb (bitcoin/bitcoin#20974, bitcoin/bitcoin#15934) pr/badsalv (bitcoin/bitcoin#15934) pr/block (bitcoin/bitcoin#15934) pr/block.1-rebase (bitcoin/bitcoin#15934) pr/bp (bitcoin/bitcoin#15934) pr/capconst (bitcoin/bitcoin#15934) pr/cblock (bitcoin/bitcoin#15934) pr/ccoins-cleanup (bitcoin/bitcoin#9384, bitcoin/bitcoin#15934) pr/ccoins-cleanup.12-rebase (bitcoin/bitcoin#15934) pr/ccoins-cleanup.13-rebase (bitcoin/bitcoin#15934) pr/ccoins-cleanup.14-rebase (bitcoin/bitcoin#15934) pr/ccoins-cleanup.16-rebase (bitcoin/bitcoin#15934) pr/cleanset (bitcoin/bitcoin#15934) pr/commoninit (bitcoin/bitcoin#15934) pr/create (bitcoin/bitcoin#15934) pr/create.1-rebase (bitcoin/bitcoin#15934) pr/defw (bitcoin/bitcoin#15934) pr/dep-libevent (bitcoin/bitcoin#15934) pr/ensa (bitcoin/bitcoin#15934) pr/ensa.1-rebase (bitcoin/bitcoin#15934) pr/exist (bitcoin/bitcoin#15934) pr/exist.1-rebase (bitcoin/bitcoin#15934) pr/exist.2-rebase (bitcoin/bitcoin#15934) pr/exist.3-rebase (bitcoin/bitcoin#15934) pr/fee (bitcoin/bitcoin#10443, bitcoin/bitcoin#15934) pr/fee.49-rebase (bitcoin/bitcoin#15934) pr/fee.50-rebase (bitcoin/bitcoin#15934) pr/fee.51-rebase (bitcoin/bitcoin#15934) pr/fee.52-rebase (bitcoin/bitcoin#15934) pr/fee.56-rebase (bitcoin/bitcoin#15934) pr/fee.57-rebase (bitcoin/bitcoin#15934) pr/fee.58-rebase (bitcoin/bitcoin#15934) pr/fee.59-rebase (bitcoin/bitcoin#15934) pr/fee.60-rebase (bitcoin/bitcoin#15934) pr/fee.62-rebase (bitcoin/bitcoin#15934) pr/fee.63-rebase (bitcoin/bitcoin#15934) pr/fee.64-rebase (bitcoin/bitcoin#15934) pr/fee.65-rebase (bitcoin/bitcoin#15934) pr/fee.66-rebase (bitcoin/bitcoin#15934) pr/fee.67-rebase (bitcoin/bitcoin#15934) pr/fee.68-rebase (bitcoin/bitcoin#15934) pr/fee.69-rebase (bitcoin/bitcoin#15934) pr/fixref (bitcoin/bitcoin#15934) pr/frpc (bitcoin/bitcoin#15934) pr/frpc.1-rebase (bitcoin/bitcoin#15934) pr/frpc.3-rebase (bitcoin/bitcoin#15934) pr/frpc.5-rebase (bitcoin/bitcoin#15934) pr/frpc.6-rebase (bitcoin/bitcoin#15934) pr/frpc.7-rebase (bitcoin/bitcoin#15934) pr/fsd (bitcoin/bitcoin#15934) pr/getblock (bitcoin/bitcoin#15934) pr/green (bitcoin/bitcoin#15934) pr/grind (bitcoin/bitcoin#15934) pr/gsync (bitcoin/bitcoin#15934) pr/guishut (bitcoin/bitcoin#15934) pr/indexy (bitcoin/bitcoin#24230, bitcoin/bitcoin#15934) pr/indexy.1-rebase (bitcoin/bitcoin#15934) pr/initc (bitcoin/bitcoin#15934) pr/intarg (bitcoin/bitcoin#15934) pr/intarg.1-rebase (bitcoin/bitcoin#15934) pr/intarg.2-rebase (bitcoin/bitcoin#15934) pr/ipc (bitcoin/bitcoin#10102, bitcoin/bitcoin#15934) pr/ipc-bal (bitcoin/bitcoin#15934) pr/ipc-bal.1-rebase (bitcoin/bitcoin#15934) pr/ipc-bal.3-rebase (bitcoin/bitcoin#15934) pr/ipc-banmap (bitcoin/bitcoin#15934) pr/ipc-banmap.1-rebase (bitcoin/bitcoin#15934) pr/ipc-blob (bitcoin/bitcoin#15934) pr/ipc-broadcast (bitcoin/bitcoin#15934) pr/ipc-build (bitcoin/bitcoin#15934) pr/ipc-build.13-rebase (bitcoin/bitcoin#15934) pr/ipc-build.22-rebase (bitcoin/bitcoin#15934) pr/ipc-build2 (bitcoin/bitcoin#15934) pr/ipc-build2.5-rebase (bitcoin/bitcoin#15934) pr/ipc-build2.7-rebase (bitcoin/bitcoin#15934) pr/ipc-client (bitcoin/bitcoin#15934) pr/ipc-clients (bitcoin/bitcoin#15934) pr/ipc-clients.1-rebase (bitcoin/bitcoin#15934) pr/ipc-connect (bitcoin/bitcoin#19460, bitcoin/bitcoin#15934) pr/ipc-connect.10-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.11-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.12-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.13-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.14-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.15-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.16-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.17-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.18-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.19-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.2-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.20-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.21-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.22-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.23-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.24-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.25-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.26-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.27-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.3-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.4-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.5-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.6-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.7-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.8-rebase (bitcoin/bitcoin#15934) pr/ipc-connect.9-rebase (bitcoin/bitcoin#15934) pr/ipc-conv (bitcoin/bitcoin#15934) pr/ipc-conv.3-rebase (bitcoin/bitcoin#15934) pr/ipc-conv.5-rebase (bitcoin/bitcoin#15934) pr/ipc-conv.6-rebase (bitcoin/bitcoin#15934) pr/ipc-count (bitcoin/bitcoin#15934) pr/ipc-ctx (bitcoin/bitcoin#15934) pr/ipc-echo (bitcoin/bitcoin#15934) pr/ipc-echo.10-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.11-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.12-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.13-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.18-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.19-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.20-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.21-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.22-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.23-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.26-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.28-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.29-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.3-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.30-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.5-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.6-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.7-rebase (bitcoin/bitcoin#15934) pr/ipc-echo.9-rebase (bitcoin/bitcoin#15934) pr/ipc-fill (bitcoin/bitcoin#15934) pr/ipc-found (bitcoin/bitcoin#15934) pr/ipc-gui (bitcoin/bitcoin#19461, bitcoin/bitcoin#15934) pr/ipc-gui.1-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.10-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.11-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.12-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.13-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.14-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.15-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.16-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.17-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.2-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.4-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.5-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.6-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.7-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.8-rebase (bitcoin/bitcoin#15934) pr/ipc-gui.9-rebase (bitcoin/bitcoin#15934) pr/ipc-init (bitcoin/bitcoin#15934) pr/ipc-make (bitcoin/bitcoin#15934) pr/ipc-make.1-rebase (bitcoin/bitcoin#15934) pr/ipc-make.4-rebase (bitcoin/bitcoin#15934) pr/ipc-make.5-rebase (bitcoin/bitcoin#15934) pr/ipc-mv (bitcoin/bitcoin#15934) pr/ipc-rpath (bitcoin/bitcoin#15934) pr/ipc-sargs (bitcoin/bitcoin#15934) pr/ipc-signer (bitcoin/bitcoin#15934) pr/ipc-signer.1-rebase (bitcoin/bitcoin#15934) pr/ipc-tapc (bitcoin/bitcoin#15934) pr/ipc-txup (bitcoin/bitcoin#15934) pr/ipc-wset (bitcoin/bitcoin#15934) pr/ipc.100-rebase (bitcoin/bitcoin#15934) pr/ipc.102-rebase (bitcoin/bitcoin#15934) pr/ipc.103-rebase (bitcoin/bitcoin#15934) pr/ipc.104-rebase (bitcoin/bitcoin#15934) pr/ipc.106-rebase (bitcoin/bitcoin#15934) pr/ipc.108-rebase (bitcoin/bitcoin#15934) pr/ipc.109-rebase (bitcoin/bitcoin#15934) pr/ipc.110-rebase (bitcoin/bitcoin#15934) pr/ipc.112-rebase (bitcoin/bitcoin#15934) pr/ipc.113-rebase (bitcoin/bitcoin#15934) pr/ipc.115-rebase (bitcoin/bitcoin#15934) pr/ipc.116-rebase (bitcoin/bitcoin#15934) pr/ipc.118-rebase (bitcoin/bitcoin#15934) pr/ipc.119-rebase (bitcoin/bitcoin#15934) pr/ipc.120-rebase (bitcoin/bitcoin#15934) pr/ipc.121-rebase (bitcoin/bitcoin#15934) pr/ipc.123-rebase (bitcoin/bitcoin#15934) pr/ipc.124-rebase (bitcoin/bitcoin#15934) pr/ipc.125-rebase (bitcoin/bitcoin#15934) pr/ipc.129-rebase (bitcoin/bitcoin#15934) pr/ipc.130-rebase (bitcoin/bitcoin#15934) pr/ipc.131-rebase (bitcoin/bitcoin#15934) pr/ipc.133-rebase (bitcoin/bitcoin#15934) pr/ipc.134-rebase (bitcoin/bitcoin#15934) pr/ipc.137-rebase (bitcoin/bitcoin#15934) pr/ipc.138-rebase (bitcoin/bitcoin#15934) pr/ipc.139-rebase (bitcoin/bitcoin#15934) pr/ipc.140-rebase (bitcoin/bitcoin#15934) pr/ipc.141-rebase (bitcoin/bitcoin#15934) pr/ipc.142-rebase (bitcoin/bitcoin#15934) pr/ipc.143-rebase (bitcoin/bitcoin#15934) pr/ipc.144-rebase (bitcoin/bitcoin#15934) pr/ipc.145-rebase (bitcoin/bitcoin#15934) pr/ipc.146-rebase (bitcoin/bitcoin#15934) pr/ipc.147-rebase (bitcoin/bitcoin#15934) pr/ipc.148-rebase (bitcoin/bitcoin#15934) pr/ipc.149-rebase (bitcoin/bitcoin#15934) pr/ipc.150-rebase (bitcoin/bitcoin#15934) pr/ipc.152-rebase (bitcoin/bitcoin#15934) pr/ipc.153-rebase (bitcoin/bitcoin#15934) pr/ipc.154-rebase (bitcoin/bitcoin#15934) pr/ipc.155-rebase (bitcoin/bitcoin#15934) pr/ipc.156-rebase (bitcoin/bitcoin#15934) pr/ipc.157-rebase (bitcoin/bitcoin#15934) pr/ipc.158-rebase (bitcoin/bitcoin#15934) pr/ipc.159-rebase (bitcoin/bitcoin#15934) pr/ipc.160-rebase (bitcoin/bitcoin#15934) pr/ipc.161-rebase (bitcoin/bitcoin#15934) pr/ipc.162-rebase (bitcoin/bitcoin#15934) pr/ipc.164-rebase (bitcoin/bitcoin#15934) pr/ipc.165-rebase (bitcoin/bitcoin#15934) pr/ipc.167-rebase (bitcoin/bitcoin#15934) pr/ipc.169-rebase (bitcoin/bitcoin#15934) pr/ipc.170-rebase (bitcoin/bitcoin#15934) pr/ipc.171-rebase (bitcoin/bitcoin#15934) pr/ipc.172-rebase (bitcoin/bitcoin#15934) pr/libnode (bitcoin/bitcoin#15934) pr/loader (bitcoin/bitcoin#15934) pr/locka (bitcoin/bitcoin#15934) pr/locka.1-rebase (bitcoin/bitcoin#15934) pr/lockb (bitcoin/bitcoin#15934) pr/macs (bitcoin/bitcoin#15934) pr/mergeset (bitcoin/bitcoin#15934) pr/named (bitcoin/bitcoin#19762, bitcoin/bitcoin#15934) pr/names (bitcoin/bitcoin#15934) pr/names.10-rebase (bitcoin/bitcoin#15934) pr/names.11-rebase (bitcoin/bitcoin#15934) pr/names.13-rebase (bitcoin/bitcoin#15934) pr/names.15-rebase (bitcoin/bitcoin#15934) pr/names.2-rebase (bitcoin/bitcoin#15934) pr/names.3-rebase (bitcoin/bitcoin#15934) pr/names.4-rebase (bitcoin/bitcoin#15934) pr/names.5-rebase (bitcoin/bitcoin#15934) pr/names.6-rebase (bitcoin/bitcoin#15934) pr/names.7-rebase (bitcoin/bitcoin#15934) pr/names.8-rebase (bitcoin/bitcoin#15934) pr/names.9-rebase (bitcoin/bitcoin#15934) pr/next (bitcoin/bitcoin#15934) pr/next.4-rebase (bitcoin/bitcoin#15934) pr/next.5-rebase (bitcoin/bitcoin#15934) pr/next.6-rebase (bitcoin/bitcoin#15934) pr/nodest (bitcoin/bitcoin#15934) pr/nodest.10-rebase (bitcoin/bitcoin#15934) pr/nodest.11-rebase (bitcoin/bitcoin#15934) pr/nodest.12-rebase (bitcoin/bitcoin#15934) pr/nodest.13-rebase (bitcoin/bitcoin#15934) pr/nodest.2-rebase (bitcoin/bitcoin#15934) pr/nodest.3-rebase (bitcoin/bitcoin#15934) pr/nodest.4-rebase (bitcoin/bitcoin#15934) pr/nodest.5-rebase (bitcoin/bitcoin#15934) pr/nodest.6-rebase (bitcoin/bitcoin#15934) pr/nodest.7-rebase (bitcoin/bitcoin#15934) pr/nodest.9-rebase (bitcoin/bitcoin#15934) pr/nodestg (bitcoin/bitcoin#15934) pr/nonot (bitcoin/bitcoin#15934) pr/nosig (bitcoin/bitcoin#15934) pr/notify-shared (bitcoin/bitcoin#15934) pr/novp (bitcoin/bitcoin#15934) pr/novp.1-rebase (bitcoin/bitcoin#15934) pr/novp.10-rebase (bitcoin/bitcoin#15934) pr/novp.11-rebase (bitcoin/bitcoin#15934) pr/novp.12-rebase (bitcoin/bitcoin#15934) pr/novp.13-rebase (bitcoin/bitcoin#15934) pr/novp.14-rebase (bitcoin/bitcoin#15934) pr/novp.15-rebase (bitcoin/bitcoin#15934) pr/novp.16-rebase (bitcoin/bitcoin#15934) pr/novp.17-rebase (bitcoin/bitcoin#15934) pr/novp.19-rebase (bitcoin/bitcoin#15934) pr/novp.2-rebase (bitcoin/bitcoin#15934) pr/novp.20-rebase (bitcoin/bitcoin#15934) pr/novp.21-rebase (bitcoin/bitcoin#15934) pr/novp.22-rebase (bitcoin/bitcoin#15934) pr/novp.23-rebase (bitcoin/bitcoin#15934) pr/novp.25-rebase (bitcoin/bitcoin#15934) pr/novp.26-rebase (bitcoin/bitcoin#15934) pr/novp.27-rebase (bitcoin/bitcoin#15934) pr/novp.28-rebase (bitcoin/bitcoin#15934) pr/novp.3-rebase (bitcoin/bitcoin#15934) pr/novp.4-rebase (bitcoin/bitcoin#15934) pr/novp.5-rebase (bitcoin/bitcoin#15934) pr/novp.6-rebase (bitcoin/bitcoin#15934) pr/novp.7-rebase (bitcoin/bitcoin#15934) pr/novp.8-rebase (bitcoin/bitcoin#15934) pr/novp.9-rebase (bitcoin/bitcoin#15934) pr/nowa (bitcoin/bitcoin#15934) pr/nowa.3-rebase (bitcoin/bitcoin#15934) pr/path (bitcoin/bitcoin#15934) pr/path.2-rebase (bitcoin/bitcoin#15934) pr/path.4-rebase (bitcoin/bitcoin#15934) pr/path.5-rebase (bitcoin/bitcoin#15934) pr/path.6-rebase (bitcoin/bitcoin#15934) pr/path.7-rebase (bitcoin/bitcoin#15934) pr/path.8-rebase (bitcoin/bitcoin#15934) pr/patharg (bitcoin/bitcoin#24306, bitcoin/bitcoin#15934) pr/pollbug (bitcoin/bitcoin#15934) pr/pool (bitcoin/bitcoin#15719, bitcoin/bitcoin#15934) pr/pool.10-rebase (bitcoin/bitcoin#15934) pr/pool.11-rebase (bitcoin/bitcoin#15934) pr/pool.12-rebase (bitcoin/bitcoin#15934) pr/pool.13-rebase (bitcoin/bitcoin#15934) pr/pool.14-rebase (bitcoin/bitcoin#15934) pr/pool.16-rebase (bitcoin/bitcoin#15934) pr/pool.19-rebase (bitcoin/bitcoin#15934) pr/pool.20-rebase (bitcoin/bitcoin#15934) pr/pool.21-rebase (bitcoin/bitcoin#15934) pr/pool.23-rebase (bitcoin/bitcoin#15934) pr/pool.26-rebase (bitcoin/bitcoin#15934) pr/pool.27-rebase (bitcoin/bitcoin#15934) pr/pool.28-rebase (bitcoin/bitcoin#15934) pr/pool.29-rebase (bitcoin/bitcoin#15934) pr/pool.30-rebase (bitcoin/bitcoin#15934) pr/pool.31-rebase (bitcoin/bitcoin#15934) pr/pool.32-rebase (bitcoin/bitcoin#15934) pr/pool.35-rebase (bitcoin/bitcoin#15934) pr/pool.36-rebase (bitcoin/bitcoin#15934) pr/pool.37-rebase (bitcoin/bitcoin#15934) pr/pool.38-rebase (bitcoin/bitcoin#15934) pr/pool.39-rebase (bitcoin/bitcoin#15934) pr/pool.40-rebase (bitcoin/bitcoin#15934) pr/pool.7-rebase (bitcoin/bitcoin#15934) pr/pool.8-rebase (bitcoin/bitcoin#15934) pr/pool.9-rebase (bitcoin/bitcoin#15934) pr/provide (bitcoin/bitcoin#15934) pr/provide.1-rebase (bitcoin/bitcoin#15934) pr/qtset (bitcoin/bitcoin#15936, bitcoin/bitcoin#15934) pr/qtset.10-rebase (bitcoin/bitcoin#15934) pr/qtset.11-rebase (bitcoin/bitcoin#15934) pr/qtset.12-rebase (bitcoin/bitcoin#15934) pr/qtset.15-rebase (bitcoin/bitcoin#15934) pr/qtset.16-rebase (bitcoin/bitcoin#15934) pr/qtset.17-rebase (bitcoin/bitcoin#15934) pr/qtset.19-rebase (bitcoin/bitcoin#15934) pr/qtset.20-rebase (bitcoin/bitcoin#15934) pr/qtset.21-rebase (bitcoin/bitcoin#15934) pr/qtset.22-rebase (bitcoin/bitcoin#15934) pr/qtset.23-rebase (bitcoin/bitcoin#15934) pr/qtset.25-rebase (bitcoin/bitcoin#15934) pr/qtset.26-rebase (bitcoin/bitcoin#15934) pr/qtset.27-rebase (bitcoin/bitcoin#15934) pr/qtset.5-rebase (bitcoin/bitcoin#15934) pr/qtset.7-rebase (bitcoin/bitcoin#15934) pr/qtset.8-rebase (bitcoin/bitcoin#15934) pr/qtset.9-rebase (bitcoin/bitcoin#15934) pr/qtwd (bitcoin/bitcoin#15934) pr/qtx (bitcoin/bitcoin#15934) pr/qtx.3-rebase (bitcoin/bitcoin#15934) pr/qtx.4-rebase (bitcoin/bitcoin#15934) pr/qtx.5-rebase (bitcoin/bitcoin#15934) pr/qtx.7-rebase (bitcoin/bitcoin#15934) pr/reconstruct (bitcoin/bitcoin#15934) pr/rev (bitcoin/bitcoin#15934) pr/rev.1-rebase (bitcoin/bitcoin#15934) pr/rwset (bitcoin/bitcoin#15934) pr/rwset.10-rebase (bitcoin/bitcoin#15934) pr/rwset.12-rebase (bitcoin/bitcoin#15934) pr/rwset.13-rebase (bitcoin/bitcoin#15934) pr/rwset.5-rebase (bitcoin/bitcoin#15934) pr/rwset.6-rebase (bitcoin/bitcoin#15934) pr/sfix (bitcoin/bitcoin#15934) pr/simpreq (bitcoin/bitcoin#15934) pr/simpreq.1-rebase (bitcoin/bitcoin#15934) pr/sql (bitcoin/bitcoin#15934) pr/sql-orig (bitcoin/bitcoin#15934) pr/sql.2-rebase (bitcoin/bitcoin#15934) pr/sql.3-rebase (bitcoin/bitcoin#15934) pr/sql.4-rebase (bitcoin/bitcoin#15934) pr/stdfs (bitcoin/bitcoin#15934) pr/subfee (bitcoin/bitcoin#15934) pr/subfee.3-rebase (bitcoin/bitcoin#15934) pr/subfee.5-rebase (bitcoin/bitcoin#15934) pr/sysroot (bitcoin/bitcoin#15934) pr/throt (bitcoin/bitcoin#15934) pr/txfun (bitcoin/bitcoin#15934) pr/txfun.1-rebase (bitcoin/bitcoin#15934) pr/txfun.2-rebase (bitcoin/bitcoin#15934) pr/txfun.3-rebase (bitcoin/bitcoin#15934) pr/txfun.4-rebase (bitcoin/bitcoin#15934) pr/txfun.5-rebase (bitcoin/bitcoin#15934) pr/txfun.6-rebase (bitcoin/bitcoin#15934) pr/txmove (bitcoin/bitcoin#15934) pr/txmove.1-rebase (bitcoin/bitcoin#15934) pr/txmove.2-rebase (bitcoin/bitcoin#15934) pr/txmove.3-rebase (bitcoin/bitcoin#15934) pr/txmove.4-rebase (bitcoin/bitcoin#15934) pr/txmove.5-rebase (bitcoin/bitcoin#15934) pr/txmove.6-rebase (bitcoin/bitcoin#15934) pr/txmove.7-rebase (bitcoin/bitcoin#15934) pr/txmove.8-rebase (bitcoin/bitcoin#15934) pr/txstate (bitcoin/bitcoin#15934) pr/txstate.10-rebase (bitcoin/bitcoin#15934) pr/txstate.11-rebase (bitcoin/bitcoin#15934) pr/txstate.12-rebase (bitcoin/bitcoin#15934) pr/txstate.13-rebase (bitcoin/bitcoin#15934) pr/txstate.14-rebase (bitcoin/bitcoin#15934) pr/txstate.16-rebase (bitcoin/bitcoin#15934) pr/txstate.17-rebase (bitcoin/bitcoin#15934) pr/txstate.18-rebase (bitcoin/bitcoin#15934) pr/txstate.19-rebase (bitcoin/bitcoin#15934) pr/txstate.2-rebase (bitcoin/bitcoin#15934) pr/txstate.20-rebase (bitcoin/bitcoin#15934) pr/txstate.21-rebase (bitcoin/bitcoin#15934) pr/txstate.22-rebase (bitcoin/bitcoin#15934) pr/txstate.23-rebase (bitcoin/bitcoin#15934) pr/txstate.24-rebase (bitcoin/bitcoin#15934) pr/txstate.3-rebase (bitcoin/bitcoin#15934) pr/txstate.4-rebase (bitcoin/bitcoin#15934) pr/txstate.5-rebase (bitcoin/bitcoin#15934) pr/txstate.6-rebase (bitcoin/bitcoin#15934) pr/txstate.7-rebase (bitcoin/bitcoin#15934) pr/txstate.8-rebase (bitcoin/bitcoin#15934) pr/txstate.9-rebase (bitcoin/bitcoin#15934) pr/txwait (bitcoin/bitcoin#15934) pr/u8path (bitcoin/bitcoin#15934) pr/u8path.1-rebase (bitcoin/bitcoin#15934) pr/u8path.11-rebase (bitcoin/bitcoin#15934) pr/u8path.15-rebase (bitcoin/bitcoin#15934) pr/u8path.16-rebase (bitcoin/bitcoin#15934) pr/unlock (bitcoin/bitcoin#15934) pr/unlock.12-rebase (bitcoin/bitcoin#15934) pr/unlock.13-rebase (bitcoin/bitcoin#15934) pr/unlock.15-rebase (bitcoin/bitcoin#15934) pr/valfix (bitcoin/bitcoin#15934) pr/walset (bitcoin/bitcoin#15934) pr/walset.10-rebase (bitcoin/bitcoin#15934) pr/walset.11-rebase (bitcoin/bitcoin#15934) pr/walset.12-rebase (bitcoin/bitcoin#15934) pr/walset.13-rebase (bitcoin/bitcoin#15934) pr/walset.15-rebase (bitcoin/bitcoin#15934) pr/walset.6-rebase (bitcoin/bitcoin#15934) pr/walset.8-rebase (bitcoin/bitcoin#15934) pr/walset.9-rebase (bitcoin/bitcoin#15934) pr/wargs (bitcoin/bitcoin#15934) pr/wc (bitcoin/bitcoin#15934) pr/wclient (bitcoin/bitcoin#15934) pr/wclient.1-rebase (bitcoin/bitcoin#15934) pr/wclient.10-rebase (bitcoin/bitcoin#15934) pr/wclient.11-rebase (bitcoin/bitcoin#15934) pr/wclient.2-rebase (bitcoin/bitcoin#15934) pr/wclient.3-rebase (bitcoin/bitcoin#15934) pr/wclient.4-rebase (bitcoin/bitcoin#15934) pr/wclient.5-rebase (bitcoin/bitcoin#15934) pr/wclient.6-rebase (bitcoin/bitcoin#15934) pr/wclient.7-rebase (bitcoin/bitcoin#15934) pr/wclient.8-rebase (bitcoin/bitcoin#15934) pr/wclient.9-rebase (bitcoin/bitcoin#15934) pr/wdlist (bitcoin/bitcoin#17580, bitcoin/bitcoin#15934) pr/wdlist.10-rebase (bitcoin/bitcoin#15934) pr/wdlist.11-rebase (bitcoin/bitcoin#15934) pr/wdlist.3-rebase (bitcoin/bitcoin#15934) pr/wdlist.4-rebase (bitcoin/bitcoin#15934) pr/wdlist.6-rebase (bitcoin/bitcoin#15934) pr/wdlist.7-rebase (bitcoin/bitcoin#15934) pr/wdlist.9-rebase (bitcoin/bitcoin#15934) pr/wdmult (bitcoin/bitcoin#17493, bitcoin/bitcoin#15934) pr/wdmult.4-rebase (bitcoin/bitcoin#15934) pr/wdmult.5-rebase (bitcoin/bitcoin#15934) pr/wdmult.6-rebase (bitcoin/bitcoin#15934) pr/wdmult.7-rebase (bitcoin/bitcoin#15934) pr/wdnolist (bitcoin/bitcoin#17783, bitcoin/bitcoin#15934) pr/wdnolist.1-rebase (bitcoin/bitcoin#15934) pr/wdnolist.2-rebase (bitcoin/bitcoin#15934) pr/wdnolist.3-rebase (bitcoin/bitcoin#15934) pr/wdnolist.6-rebase (bitcoin/bitcoin#15934) pr/wdnolist.7-rebase (bitcoin/bitcoin#15934) pr/wdpy (bitcoin/bitcoin#15934) pr/wdpy.2-rebase (bitcoin/bitcoin#15934) pr/wdpy.4-rebase (bitcoin/bitcoin#15934) pr/wdqual (bitcoin/bitcoin#15934) pr/wdrev (bitcoin/bitcoin#17581, bitcoin/bitcoin#15934) pr/wdrev.2-rebase (bitcoin/bitcoin#15934) pr/wdrev.3-rebase (bitcoin/bitcoin#15934) pr/wdrev.4-rebase (bitcoin/bitcoin#15934) pr/wdrev.5-rebase (bitcoin/bitcoin#15934) pr/wdrev.6-rebase (bitcoin/bitcoin#15934) pr/wp (bitcoin/bitcoin#15934) review.13339.5-edit (bitcoin/bitcoin#15934) review.15454.2-edit (bitcoin/bitcoin#15934) review.15454.8-edit (bitcoin/bitcoin#15934) review.16426.4-edit (bitcoin/bitcoin#15934) review.16426.5-edit (bitcoin/bitcoin#15934) review.17373.6-fix (bitcoin/bitcoin#15934) review.17681.2-edit (bitcoin/bitcoin#15934) review.18112.2-edit (bitcoin/bitcoin#15934) review.18338.1-edit (bitcoin/bitcoin#15934) review.18551.1-edit (bitcoin/bitcoin#15934) review.18907.1-edit (bitcoin/bitcoin#15934) review.18926.1-edit (bitcoin/bitcoin#15934) review.19503.2-edit (bitcoin/bitcoin#15934) review.20459.1-edit (bitcoin/bitcoin#15934) review.20744.7-edit (bitcoin/bitcoin#15934) review.22928.1-edit (bitcoin/bitcoin#15934) review.23280.3-edit (bitcoin/bitcoin#15934) review.23732.2-edit (bitcoin/bitcoin#15934)
Stackout pushed a commit to VeriBlock/vbk-ri-btc that referenced this pull request Feb 17, 2022
Suggestion from John Newbery <john@johnnewbery.com> in
bitcoin#15934 (comment)
Stackout pushed a commit to VeriBlock/vbk-ri-btc that referenced this pull request Feb 17, 2022
includeconf -> conf_file_names
to_include -> conf_file_name
include_config -> conf_file_stream

Suggestion from John Newbery <john@johnnewbery.com> in
bitcoin#15934 (comment)
Stackout pushed a commit to VeriBlock/vbk-ri-btc that referenced this pull request Feb 17, 2022
Easier to review ignoring whitespace

Suggestion from John Newbery <john@johnnewbery.com> in
bitcoin#15934 (comment)
Stackout pushed a commit to VeriBlock/vbk-ri-btc that referenced this pull request Feb 17, 2022
Suggested by James O'Beirne <james.obeirne@gmail.com>
bitcoin#15934 (comment)

This commit does not change behavior.
Stackout pushed a commit to VeriBlock/vbk-ri-btc that referenced this pull request Feb 17, 2022
Suggested by Antoine Riard <ariard@student.42.fr>
bitcoin#15934 (comment)

and John Newbery <john@johnnewbery.com>
bitcoin#15934 (comment)

This commit does not change behavior.
Stackout pushed a commit to VeriBlock/vbk-ri-btc that referenced this pull request Feb 17, 2022
Rename suggested by João Barbosa <joao.paulo.barbosa@gmail.com>
bitcoin#16545 (comment)

This also gets rid of ArgsManager::NONE constant, which was an implementation
detail not meant to be used by ArgsManager callers.

Finally this reverts a change from e03483f
bitcoin#15934 adding "-" characters to argument
names. Better for GetArgFlags to require "-" prefixes for consistency with
other ArgsManager methods, and to be more efficient later when GetArg functions
need to call GetArgFlags (bitcoin#16545)

This commit does not change behavior.
Stackout pushed a commit to VeriBlock/vbk-ri-btc that referenced this pull request Feb 17, 2022
Suggested by John Newbery <john@johnnewbery.com>
bitcoin#15934 (comment)

This commit does not change behavior.
kwvg pushed a commit to kwvg/dash that referenced this pull request Apr 13, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 13, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 14, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 16, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 16, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 20, 2022
kwvg added a commit to kwvg/dash that referenced this pull request May 7, 2022
kwvg added a commit to kwvg/dash that referenced this pull request May 9, 2022
kwvg added a commit to kwvg/dash that referenced this pull request May 13, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Jun 2, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Jun 2, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Jun 2, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Jun 3, 2022
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
kwvg added a commit to kwvg/dash that referenced this pull request Jun 4, 2022
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 7, 2022
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 7, 2022
…etArgFlags

Rename suggested by João Barbosa <joao.paulo.barbosa@gmail.com>
bitcoin#16545 (comment)

This also gets rid of ArgsManager::NONE constant, which was an implementation
detail not meant to be used by ArgsManager callers.

Finally this reverts a change from 7f40528
bitcoin#15934 adding "-" characters to argument
names. Better for GetArgFlags to require "-" prefixes for consistency with
other ArgsManager methods, and to be more efficient later when GetArg functions
need to call GetArgFlags (bitcoin#16545)

This commit does not change behavior.
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 7, 2022
…etArgFlags

Rename suggested by João Barbosa <joao.paulo.barbosa@gmail.com>
bitcoin#16545 (comment)

This also gets rid of ArgsManager::NONE constant, which was an implementation
detail not meant to be used by ArgsManager callers.

Finally this reverts a change from 7f40528
bitcoin#15934 adding "-" characters to argument
names. Better for GetArgFlags to require "-" prefixes for consistency with
other ArgsManager methods, and to be more efficient later when GetArg functions
need to call GetArgFlags (bitcoin#16545)

This commit does not change behavior.
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 10, 2022
…etArgFlags

Rename suggested by João Barbosa <joao.paulo.barbosa@gmail.com>
bitcoin#16545 (comment)

This also gets rid of ArgsManager::NONE constant, which was an implementation
detail not meant to be used by ArgsManager callers.

Finally this reverts a change from 7f40528
bitcoin#15934 adding "-" characters to argument
names. Better for GetArgFlags to require "-" prefixes for consistency with
other ArgsManager methods, and to be more efficient later when GetArg functions
need to call GetArgFlags (bitcoin#16545)

This commit does not change behavior.
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Jun 14, 2022
…etArgFlags

Rename suggested by João Barbosa <joao.paulo.barbosa@gmail.com>
bitcoin#16545 (comment)

This also gets rid of ArgsManager::NONE constant, which was an implementation
detail not meant to be used by ArgsManager callers.

Finally this reverts a change from 7f40528
bitcoin#15934 adding "-" characters to argument
names. Better for GetArgFlags to require "-" prefixes for consistency with
other ArgsManager methods, and to be more efficient later when GetArg functions
need to call GetArgFlags (bitcoin#16545)

This commit does not change behavior.
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet