# HG changeset patch # User Georges Racinet <georges.raci...@octobus.net> # Date 1574273222 -3600 # Wed Nov 20 19:07:02 2019 +0100 # Branch stable # Node ID c557e15674ea6adfe1b034e5b4af1e26bca850dd # Parent ca3dca416f8d5863ca6f5a4a6a6bb835dcd5feeb # EXP-Topic single_head_is_boolean singlehead: making config item a bool again
with the use of `configsuboptions`, the main config item has become a string (unless it's just the default value). This makes it in particular hard to override in a cascade of HGRC files, as we do in Heptapod to re-allow multiple heads on specific repositories while the default behaviour is to forbid them. The added test case reflects that use-case diff -r ca3dca416f8d -r c557e15674ea mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Nov 05 21:35:19 2019 +0900 +++ b/mercurial/localrepo.py Wed Nov 20 19:07:02 2019 +0100 @@ -2090,6 +2090,8 @@ b'experimental', b'single-head-per-branch' ) singlehead, singleheadsub = r + if singlehead is not None and not isinstance(singlehead, bool): + singlehead = stringutil.parsebool(singlehead) if singlehead: accountclosed = singleheadsub.get( b"account-closed-heads", False diff -r ca3dca416f8d -r c557e15674ea tests/test-single-head.t --- a/tests/test-single-head.t Tue Nov 05 21:35:19 2019 +0900 +++ b/tests/test-single-head.t Wed Nov 20 19:07:02 2019 +0100 @@ -259,3 +259,28 @@ abort: rejecting multiple heads on branch "branch_A" (3 heads: 49003e504178 5254bcccab93 42b9fe70a3c1) [255] + + +Test that config can be overriden as the boolean it is +------------------------------------------------------ + + $ cat <<EOF >> $TESTTMP/single-head-server/.hg/hgrc + > [experimental] + > single-head-per-branch = no + > EOF + +let's make a new, non closed head, but because of previous test, we'll also +push c_aL0 and c_aM0. + + $ hg out + $ hg up 'desc("c_aG0")' + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ mkcommit c_aN0 + created new head + $ hg push -f + pushing to $TESTTMP/single-head-server + searching for changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel