D6726: fix: correctly parse the :metadata subconfig
hooper (Danny Hooper)
phabricator at mercurial-scm.org
Wed Aug 14 20:17:44 UTC 2019
hooper created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
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.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6726
AFFECTED FILES
hgext/fix.py
tests/test-fix-metadata.t
CHANGE DETAILS
diff --git a/tests/test-fix-metadata.t b/tests/test-fix-metadata.t
--- a/tests/test-fix-metadata.t
+++ b/tests/test-fix-metadata.t
@@ -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 ..
diff --git a/hgext/fix.py b/hgext/fix.py
--- a/hgext/fix.py
+++ b/hgext/fix.py
@@ -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
To: hooper, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list