##// END OF EJS Templates
fix: add :enabled sub-config for fixer tools...
Danny Hooper -
r43328:808a57a0 default
parent child Browse files
Show More
@@ -173,6 +173,7 b' FIXER_ATTRS = {'
173 'priority': 0,
173 'priority': 0,
174 'metadata': 'false',
174 'metadata': 'false',
175 'skipclean': 'true',
175 'skipclean': 'true',
176 'enabled': 'true',
176 }
177 }
177
178
178 for key, default in FIXER_ATTRS.items():
179 for key, default in FIXER_ATTRS.items():
@@ -726,6 +727,7 b' def getfixers(ui):'
726 fixers[name]._priority = int(fixers[name]._priority)
727 fixers[name]._priority = int(fixers[name]._priority)
727 fixers[name]._metadata = stringutil.parsebool(fixers[name]._metadata)
728 fixers[name]._metadata = stringutil.parsebool(fixers[name]._metadata)
728 fixers[name]._skipclean = stringutil.parsebool(fixers[name]._skipclean)
729 fixers[name]._skipclean = stringutil.parsebool(fixers[name]._skipclean)
730 fixers[name]._enabled = stringutil.parsebool(fixers[name]._enabled)
729 # Don't use a fixer if it has no pattern configured. It would be
731 # Don't use a fixer if it has no pattern configured. It would be
730 # dangerous to let it affect all files. It would be pointless to let it
732 # dangerous to let it affect all files. It would be pointless to let it
731 # affect no files. There is no reasonable subset of files to use as the
733 # affect no files. There is no reasonable subset of files to use as the
@@ -734,6 +736,9 b' def getfixers(ui):'
734 ui.warn(
736 ui.warn(
735 _('fixer tool has no pattern configuration: %s\n') % (name,))
737 _('fixer tool has no pattern configuration: %s\n') % (name,))
736 del fixers[name]
738 del fixers[name]
739 elif not fixers[name]._enabled:
740 ui.debug('ignoring disabled fixer tool: %s\n' % (name,))
741 del fixers[name]
737 return collections.OrderedDict(
742 return collections.OrderedDict(
738 sorted(fixers.items(), key=lambda item: item[1]._priority,
743 sorted(fixers.items(), key=lambda item: item[1]._priority,
739 reverse=True))
744 reverse=True))
@@ -1341,6 +1341,22 b' pattern config is missing, and that we o'
1341
1341
1342 $ cd ..
1342 $ cd ..
1343
1343
1344 Tools can be disabled. Disabled tools do nothing but print a debug message.
1345
1346 $ hg init disabled
1347 $ cd disabled
1348
1349 $ printf "foo\n" > foo
1350 $ hg add -q
1351 $ hg fix --debug --working-dir --config "fix.disabled:command=echo fixed" \
1352 > --config "fix.disabled:pattern=foo" \
1353 > --config "fix.disabled:enabled=false"
1354 ignoring disabled fixer tool: disabled
1355 $ cat foo
1356 foo
1357
1358 $ cd ..
1359
1344 Test that we can configure a fixer to affect all files regardless of the cwd.
1360 Test that we can configure a fixer to affect all files regardless of the cwd.
1345 The way we invoke matching must not prohibit this.
1361 The way we invoke matching must not prohibit this.
1346
1362
General Comments 0
You need to be logged in to leave comments. Login now