Mercurial > hg-stable
changeset 42773:2d70b1118af2
fix: correctly parse the :metadata subconfig
It's being handled as a string instead of a bool, though the thruthiness of the
string makes the feature still essentially work. Added a regression test.
Differential Revision: https://phab.mercurial-scm.org/D6726
author | Danny Hooper <hooper@google.com> |
---|---|
date | Tue, 13 Aug 2019 14:20:48 -0700 |
parents | ed0da6e0d6ee |
children | e9f503074044 |
files | hgext/fix.py tests/test-fix-metadata.t |
diffstat | 2 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/fix.py Mon Aug 12 16:39:39 2019 -0700 +++ b/hgext/fix.py Tue Aug 13 14:20:48 2019 -0700 @@ -171,7 +171,7 @@ 'linerange': None, 'pattern': None, 'priority': 0, - 'metadata': False, + 'metadata': 'false', 'skipclean': 'true', } @@ -724,6 +724,7 @@ setattr(fixers[name], pycompat.sysstr('_' + key), attrs.get(key, default)) fixers[name]._priority = int(fixers[name]._priority) + fixers[name]._metadata = stringutil.parsebool(fixers[name]._metadata) fixers[name]._skipclean = stringutil.parsebool(fixers[name]._skipclean) # Don't use a fixer if it has no pattern configured. It would be # dangerous to let it affect all files. It would be pointless to let it
--- a/tests/test-fix-metadata.t Mon Aug 12 16:39:39 2019 -0700 +++ b/tests/test-fix-metadata.t Tue Aug 13 14:20:48 2019 -0700 @@ -43,6 +43,9 @@ > [extensions] > fix = > [fix] + > metadatafalse:command=cat $TESTTMP/missing + > metadatafalse:pattern=metadatafalse + > metadatafalse:metadata=false > missing:command=cat $TESTTMP/missing > missing:pattern=missing > missing:metadata=true @@ -65,6 +68,7 @@ $ hg init repo $ cd repo + $ printf "old content\n" > metadatafalse $ printf "old content\n" > invalid $ printf "old content\n" > missing $ printf "old content\n" > valid @@ -72,15 +76,20 @@ $ hg fix -w ignored invalid output from fixer tool: invalid + fixed metadatafalse in revision 2147483647 using metadatafalse ignored invalid output from fixer tool: missing fixed valid in revision 2147483647 using valid saw "key" 1 times fixed 1 files with valid fixed the working copy - $ cat missing invalid valid + $ cat metadatafalse + new content + $ cat missing old content + $ cat invalid old content + $ cat valid new content $ cd ..