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 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 ..