diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py index 57a4adbef74d27108e0cdaa25d80cba58b312536_bWVyY3VyaWFsL2RlYnVnY29tbWFuZHMucHk=..8dede0df9de97c003e13ee2e007a45678f5c8b6b_bWVyY3VyaWFsL2RlYnVnY29tbWFuZHMucHk= 100644 --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -1625,8 +1625,12 @@ ) -@command(b'debugformat', [] + cmdutil.formatteropts) -def debugformat(ui, repo, **opts): +@command( + b'debugformat', + [] + cmdutil.formatteropts, + b'[PATTERN] ... [PATTERN]', +) +def debugformat(ui, repo, *patterns, **opts): """display format information about the current repository Use --verbose to get extra information about current config value and @@ -1630,7 +1634,11 @@ """display format information about the current repository Use --verbose to get extra information about current config value and - Mercurial default.""" + Mercurial default. + + If patterns are specified, only format matching at least one of these + pattern will be displayed. + """ maxvariantlength = max(len(fv.name) for fv in upgrade.allformatvariant) maxvariantlength = max(len(b'format-variant'), maxvariantlength) @@ -1658,6 +1666,14 @@ fm.plain(b' config default') fm.plain(b'\n') for fv in upgrade.allformatvariant: + if patterns: + for p in patterns: + # XXX support "re:" at some point + if p in fv.name: + break + else: + # no pattern matches, continue + continue fm.startitem() repovalue = fv.fromrepo(repo) configvalue = fv.fromconfig(repo) diff --git a/tests/test-copies-chain-merge.t b/tests/test-copies-chain-merge.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1jb3BpZXMtY2hhaW4tbWVyZ2UudA==..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1jb3BpZXMtY2hhaW4tbWVyZ2UudA== 100644 --- a/tests/test-copies-chain-merge.t +++ b/tests/test-copies-chain-merge.t @@ -1649,7 +1649,8 @@ > [format] > exp-use-copies-side-data-changeset = yes > EOF - $ hg debugformat -v | grep -E 'changelog-v2|revlog-v2|copies-sdc' + $ hg debugformat -v changelog-v2 revlog-v2 copies-sdc + format-variant repo config default copies-sdc: no yes no revlog-v2: no no no changelog-v2: no yes no @@ -1675,7 +1676,8 @@ > enabled=yes > numcpus=8 > EOF - $ hg debugformat -v | grep -E 'changelog-v2|revlog-v2|copies-sdc' + $ hg debugformat -v changelog-v2 revlog-v2 copies-sdc + format-variant repo config default copies-sdc: no yes no revlog-v2: no no no changelog-v2: no yes no diff --git a/tests/test-copies-in-changeset.t b/tests/test-copies-in-changeset.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1jb3BpZXMtaW4tY2hhbmdlc2V0LnQ=..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1jb3BpZXMtaW4tY2hhbmdlc2V0LnQ= 100644 --- a/tests/test-copies-in-changeset.t +++ b/tests/test-copies-in-changeset.t @@ -32,9 +32,9 @@ $ hg init repo $ cd repo #if sidedata - $ hg debugformat -v | grep -E 'format-variant|revlog-v2|copies-sdc|changelog-v2' + $ hg debugformat -v format-variant revlog-v2 copies-sdc changelog-v2 format-variant repo config default copies-sdc: yes yes no revlog-v2: no no no changelog-v2: yes yes no #else @@ -36,9 +36,9 @@ format-variant repo config default copies-sdc: yes yes no revlog-v2: no no no changelog-v2: yes yes no #else - $ hg debugformat -v | grep -E 'format-variant|revlog-v2|copies-sdc|changelog-v2' + $ hg debugformat -v format-variant revlog-v2 copies-sdc changelog-v2 format-variant repo config default copies-sdc: no no no revlog-v2: no no no @@ -419,7 +419,7 @@ downgrading - $ hg debugformat -v | grep -E 'format-variant|revlog-v2|copies-sdc|changelog-v2' + $ hg debugformat -v format-variant revlog-v2 copies-sdc changelog-v2 format-variant repo config default copies-sdc: yes yes no revlog-v2: no no no @@ -445,7 +445,7 @@ processed revlogs: - changelog - $ hg debugformat -v | grep -E 'format-variant|revlog-v2|copies-sdc|changelog-v2' + $ hg debugformat -v format-variant revlog-v2 copies-sdc changelog-v2 format-variant repo config default copies-sdc: no no no revlog-v2: no no no @@ -470,7 +470,7 @@ processed revlogs: - changelog - $ hg debugformat -v | grep -E 'format-variant|revlog-v2|copies-sdc|changelog-v2' + $ hg debugformat -v format-variant revlog-v2 copies-sdc changelog-v2 format-variant repo config default copies-sdc: yes yes no revlog-v2: no no no diff --git a/tests/test-persistent-nodemap.t b/tests/test-persistent-nodemap.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1wZXJzaXN0ZW50LW5vZGVtYXAudA==..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1wZXJzaXN0ZW50LW5vZGVtYXAudA== 100644 --- a/tests/test-persistent-nodemap.t +++ b/tests/test-persistent-nodemap.t @@ -615,6 +615,7 @@ $ hg share race-repo ./other-wc --config format.use-share-safe=yes updating working directory 5001 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg debugformat -R ./race-repo | grep -E 'share-safe|persistent-nodemap' + $ hg debugformat -R ./race-repo share-safe persistent-nodemap + format-variant repo share-safe: yes persistent-nodemap: yes @@ -619,6 +620,7 @@ share-safe: yes persistent-nodemap: yes - $ hg debugformat -R ./other-wc/ | grep -E 'share-safe|persistent-nodemap' + $ hg debugformat -R ./other-wc/ share-safe persistent-nodemap + format-variant repo share-safe: yes persistent-nodemap: yes $ hg -R ./other-wc update 'min(head())' diff --git a/tests/test-pullling-to-general-delta.t b/tests/test-pullling-to-general-delta.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1wdWxsbGluZy10by1nZW5lcmFsLWRlbHRhLnQ=..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1wdWxsbGluZy10by1nZW5lcmFsLWRlbHRhLnQ= 100644 --- a/tests/test-pullling-to-general-delta.t +++ b/tests/test-pullling-to-general-delta.t @@ -19,7 +19,8 @@ $ hg init server $ hg clone --quiet --pull server client --config format.usegeneraldelta=no - $ hg debugformat -R client | grep generaldelta + $ hg debugformat -R client generaldelta + format-variant repo generaldelta: no Create some complexe history diff --git a/tests/test-revlog-delta-find.t b/tests/test-revlog-delta-find.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1yZXZsb2ctZGVsdGEtZmluZC50..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1yZXZsb2ctZGVsdGEtZmluZC50 100644 --- a/tests/test-revlog-delta-find.t +++ b/tests/test-revlog-delta-find.t @@ -334,7 +334,8 @@ > --config format.usegeneraldelta=no \ > --config format.sparse-revlog=no \ > local-forced-full-p1-no-gd - $ hg debugformat -R local-forced-full-p1-no-gd | grep generaldelta + $ hg debugformat -R local-forced-full-p1-no-gd generaldelta + format-variant repo generaldelta: no $ hg -R local-forced-full-p1-no-gd pull --quiet local-pre-pull-full \ > --config debug.revlog.debug-delta=no diff --git a/tests/test-share-safe.t b/tests/test-share-safe.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1zaGFyZS1zYWZlLnQ=..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1zaGFyZS1zYWZlLnQ= 100644 --- a/tests/test-share-safe.t +++ b/tests/test-share-safe.t @@ -631,7 +631,8 @@ $ hg debugbuilddag -R auto-upgrade --new-file .+5 $ hg -R auto-upgrade update 6 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg debugformat -R auto-upgrade | grep share-safe + $ hg debugformat -R auto-upgrade share-safe + format-variant repo share-safe: no upgrade it to share-safe automatically @@ -641,7 +642,8 @@ > --config format.use-share-safe=yes automatically upgrading repository to the `share-safe` feature (see `hg help config.format.use-share-safe` for details) - $ hg debugformat -R auto-upgrade | grep share-safe + $ hg debugformat -R auto-upgrade share-safe + format-variant repo share-safe: yes downgrade it from share-safe automatically @@ -651,5 +653,6 @@ > --config format.use-share-safe=no automatically downgrading repository from the `share-safe` feature (see `hg help config.format.use-share-safe` for details) - $ hg debugformat -R auto-upgrade | grep share-safe + $ hg debugformat -R auto-upgrade share-safe + format-variant repo share-safe: no diff --git a/tests/test-share.t b/tests/test-share.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1zaGFyZS50..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1zaGFyZS50 100644 --- a/tests/test-share.t +++ b/tests/test-share.t @@ -295,9 +295,10 @@ #endif $ hg init repo-safe-d1 --config format.use-share-safe=yes --config format.exp-rc-dirstate-v2=no - $ hg debugformat -R repo-safe-d1 | grep dirstate-v2 + $ hg debugformat -R repo-safe-d1 dirstate-v2 + format-variant repo dirstate-v2: no $ hg share repo-safe-d1 share-safe-d2 --config format.use-share-safe=yes --config format.exp-rc-dirstate-v2=yes updating working directory 0 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -299,7 +300,8 @@ dirstate-v2: no $ hg share repo-safe-d1 share-safe-d2 --config format.use-share-safe=yes --config format.exp-rc-dirstate-v2=yes updating working directory 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg debugformat -R share-safe-d2 | grep dirstate-v2 + $ hg debugformat -R share-safe-d2 dirstate-v2 + format-variant repo dirstate-v2: yes diff --git a/tests/test-sidedata.t b/tests/test-sidedata.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1zaWRlZGF0YS50..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1zaWRlZGF0YS50 100644 --- a/tests/test-sidedata.t +++ b/tests/test-sidedata.t @@ -61,6 +61,7 @@ ------------------------------------- $ hg init up-no-side-data --config experimental.revlogv2=no - $ hg debugformat -v -R up-no-side-data | grep -E 'changelog-v2|revlog-v2' + $ hg debugformat -v -R up-no-side-data changelog-v2 revlog-v2 + format-variant repo config default revlog-v2: no no no changelog-v2: no no no @@ -65,6 +66,7 @@ revlog-v2: no no no changelog-v2: no no no - $ hg debugformat -v -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data | grep -E 'changelog-v2|revlog-v2' + $ hg debugformat -v -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data changelog-v2 revlog-v2 + format-variant repo config default revlog-v2: no yes no changelog-v2: no no no $ hg debugupgraderepo -R up-no-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data > /dev/null @@ -73,6 +75,7 @@ ----------------------------------------- $ hg init up-side-data --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data - $ hg debugformat -v -R up-side-data | grep -E 'changelog-v2|revlog-v2' + $ hg debugformat -v -R up-side-data changelog-v2 revlog-v2 + format-variant repo config default revlog-v2: yes no no changelog-v2: no no no @@ -77,6 +80,7 @@ revlog-v2: yes no no changelog-v2: no no no - $ hg debugformat -v -R up-side-data --config experimental.revlogv2=no | grep -E 'changelog-v2|revlog-v2' + $ hg debugformat -v -R up-side-data --config experimental.revlogv2=no changelog-v2 revlog-v2 + format-variant repo config default revlog-v2: yes no no changelog-v2: no no no $ hg debugupgraderepo -R up-side-data --config experimental.revlogv2=no > /dev/null diff --git a/tests/test-status-tracked-key.t b/tests/test-status-tracked-key.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC1zdGF0dXMtdHJhY2tlZC1rZXkudA==..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC1zdGF0dXMtdHJhY2tlZC1rZXkudA== 100644 --- a/tests/test-status-tracked-key.t +++ b/tests/test-status-tracked-key.t @@ -211,7 +211,8 @@ $ hg debugbuilddag -R auto-upgrade --new-file .+5 $ hg -R auto-upgrade update 6 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg debugformat -R auto-upgrade | grep tracked + $ hg debugformat -R auto-upgrade tracked-hint + format-variant repo tracked-hint: no upgrade it to dirstate-tracked-hint automatically @@ -221,7 +222,8 @@ > --config format.use-dirstate-tracked-hint=yes automatically upgrading repository to the `tracked-hint` feature (see `hg help config.format.use-dirstate-tracked-hint` for details) - $ hg debugformat -R auto-upgrade | grep tracked + $ hg debugformat -R auto-upgrade tracked-hint + format-variant repo tracked-hint: yes rhg supports this feature @@ -236,5 +238,6 @@ > --config format.use-dirstate-tracked-hint=no automatically downgrading repository from the `tracked-hint` feature (see `hg help config.format.use-dirstate-tracked-hint` for details) - $ hg debugformat -R auto-upgrade | grep tracked + $ hg debugformat -R auto-upgrade tracked + format-variant repo tracked-hint: no diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t index 57a4adbef74d27108e0cdaa25d80cba58b312536_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA==..8dede0df9de97c003e13ee2e007a45678f5c8b6b_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA== 100644 --- a/tests/test-upgrade-repo.t +++ b/tests/test-upgrade-repo.t @@ -61,5 +61,6 @@ no revlogs to process - $ hg debugformat -R share-child | grep dirstate-v2 + $ hg debugformat -R share-child dirstate-v2 + format-variant repo dirstate-v2: yes @@ -65,5 +66,6 @@ dirstate-v2: yes - $ hg debugformat -R share-parent | grep dirstate-v2 + $ hg debugformat -R share-parent dirstate-v2 + format-variant repo dirstate-v2: no $ hg status --all -R share-child C nf0 @@ -131,5 +133,6 @@ no revlogs to process - $ hg debugformat -R share-child | grep dirstate-v2 + $ hg debugformat -R share-child dirstate-v2 + format-variant repo dirstate-v2: no @@ -135,5 +138,6 @@ dirstate-v2: no - $ hg debugformat -R share-parent | grep dirstate-v2 + $ hg debugformat -R share-parent dirstate-v2 + format-variant repo dirstate-v2: no $ hg status --all -R share-child C nf0 @@ -1869,7 +1873,8 @@ Upgrade to dirstate-v2 - $ hg debugformat -v --config format.use-dirstate-v2=1 | grep dirstate-v2 + $ hg debugformat -v --config format.use-dirstate-v2=1 dirstate-v2 + format-variant repo config default dirstate-v2: no yes no $ hg debugupgraderepo --config format.use-dirstate-v2=1 --run upgrade will perform the following actions: @@ -1892,7 +1897,8 @@ removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) $ ls .hg/upgradebackup.*/dirstate .hg/upgradebackup.*/dirstate (glob) - $ hg debugformat -v | grep dirstate-v2 + $ hg debugformat -v dirstate-v2 + format-variant repo config default dirstate-v2: yes no no $ hg status $ dd bs=12 count=1 if=.hg/dirstate 2> /dev/null @@ -1916,7 +1922,8 @@ downgrading from dirstate-v2 to v1 replaced files will be backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob) removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) - $ hg debugformat -v | grep dirstate-v2 + $ hg debugformat -v dirstate-v2 + format-variant repo config default dirstate-v2: no no no $ hg status @@ -1927,7 +1934,8 @@ $ hg init --config format.use-dirstate-v2=no dirstate-v2-empty $ cd dirstate-v2-empty - $ hg debugformat | grep dirstate-v2 + $ hg debugformat dirstate-v2 + format-variant repo dirstate-v2: no upgrade @@ -1951,7 +1959,8 @@ upgrading to dirstate-v2 from v1 replaced files will be backed up at $TESTTMP/dirstate-v2-empty/.hg/upgradebackup.* (glob) removing temporary repository $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob) - $ hg debugformat | grep dirstate-v2 + $ hg debugformat dirstate-v2 + format-variant repo dirstate-v2: yes downgrade @@ -1972,7 +1981,8 @@ downgrading from dirstate-v2 to v1 replaced files will be backed up at $TESTTMP/dirstate-v2-empty/.hg/upgradebackup.* (glob) removing temporary repository $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob) - $ hg debugformat | grep dirstate-v2 + $ hg debugformat dirstate-v2 + format-variant repo dirstate-v2: no $ cd .. @@ -1993,7 +2003,8 @@ $ hg debugbuilddag -R auto-upgrade --new-file .+5 $ hg -R auto-upgrade update 6 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg debugformat -R auto-upgrade | grep dirstate-v2 + $ hg debugformat -R auto-upgrade dirstate-v2 + format-variant repo dirstate-v2: no upgrade it to dirstate-v2 automatically @@ -2003,7 +2014,8 @@ > --config format.use-dirstate-v2=yes automatically upgrading repository to the `dirstate-v2` feature (see `hg help config.format.use-dirstate-v2` for details) - $ hg debugformat -R auto-upgrade | grep dirstate-v2 + $ hg debugformat -R auto-upgrade dirstate-v2 + format-variant repo dirstate-v2: yes downgrade it from dirstate-v2 automatically @@ -2013,10 +2025,11 @@ > --config format.use-dirstate-v2=no automatically downgrading repository from the `dirstate-v2` feature (see `hg help config.format.use-dirstate-v2` for details) - $ hg debugformat -R auto-upgrade | grep dirstate-v2 + $ hg debugformat -R auto-upgrade dirstate-v2 + format-variant repo dirstate-v2: no For multiple change at the same time ------------------------------------ @@ -2017,10 +2030,11 @@ dirstate-v2: no For multiple change at the same time ------------------------------------ - $ hg debugformat -R auto-upgrade | grep -E '(dirstate-v2|tracked|share-safe)' + $ hg debugformat -R auto-upgrade dirstate-v2 tracked share-safe + format-variant repo dirstate-v2: no tracked-hint: yes share-safe: no @@ -2038,7 +2052,8 @@ (see `hg help config.format.use-share-safe` for details) automatically downgrading repository from the `tracked-hint` feature (see `hg help config.format.use-dirstate-tracked-hint` for details) - $ hg debugformat -R auto-upgrade | grep -E '(dirstate-v2|tracked|share-safe)' + $ hg debugformat -R auto-upgrade dirstate-v2 tracked share-safe + format-variant repo dirstate-v2: yes tracked-hint: no share-safe: yes @@ -2047,7 +2062,8 @@ --------------------------- - $ hg debugformat -R auto-upgrade | grep -E '(dirstate-v2|tracked|share-safe)' + $ hg debugformat -R auto-upgrade dirstate-v2 tracked share-safe + format-variant repo dirstate-v2: yes tracked-hint: no share-safe: yes @@ -2062,7 +2078,8 @@ > --config format.use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet=yes \ > --config format.use-share-safe=no - $ hg debugformat -R auto-upgrade | grep -E '(dirstate-v2|tracked|share-safe)' + $ hg debugformat -R auto-upgrade dirstate-v2 tracked share-safe + format-variant repo dirstate-v2: no tracked-hint: yes share-safe: no @@ -2077,7 +2094,8 @@ > --config format.use-share-safe.automatic-upgrade-of-mismatching-repositories=yes \ > --config format.use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet=yes \ > --config format.use-share-safe=yes - $ hg debugformat -R auto-upgrade | grep -E '(dirstate-v2|tracked|share-safe)' + $ hg debugformat -R auto-upgrade dirstate-v2 tracked share-safe + format-variant repo dirstate-v2: yes tracked-hint: no share-safe: yes @@ -2092,7 +2110,8 @@ $ hg status -R auto-upgrade \ > --config format.use-dirstate-v2.automatic-upgrade-of-mismatching-repositories=yes \ > --config format.use-dirstate-v2=no - $ hg debugformat -R auto-upgrade | grep dirstate-v2 + $ hg debugformat -R auto-upgrade dirstate-v2 + format-variant repo dirstate-v2: yes $ chmod -R u+w auto-upgrade @@ -2107,7 +2126,8 @@ $ hg status -R auto-upgrade \ > --config format.use-dirstate-v2.automatic-upgrade-of-mismatching-repositories=yes \ > --config format.use-dirstate-v2=no - $ hg debugformat -R auto-upgrade | grep dirstate-v2 + $ hg debugformat -R auto-upgrade dirstate-v2 + format-variant repo dirstate-v2: yes $ killdaemons.py