For example, these additions allow wrapping hg fix to do things like:
- Telling fixer tools what commit a file belongs to
- Cleaning up temporary files created by Fixer objects
There are no intended functional changes.
( )
hg-reviewers |
For example, these additions allow wrapping hg fix to do things like:
There are no intended functional changes.
Lint Skipped |
Unit Tests Skipped |
I'm -0 on this: what's special about this functionality that it needs to be an extension of an extension instead of something that can be done in core?
Google's internal use of this extension makes some customizations that I doubt would be appealing in core. This patch makes some of it simpler to implement. Making all of it possible through configs/templates might be unduly complex.
A better version of this might put "ctx" into the templater inside Fixer.command, and maybe add a no-op Fixer.cleanup method to make that part more explicit. I think that would be a less trivial super set of this patch.
What kinds of customizations?
A better version of this might put "ctx" into the templater inside Fixer.command, and maybe add a no-op Fixer.cleanup method to make that part more explicit. I think that would be a less trivial super set of this patch.
One is to aggregate metadata output from multiple fixer tool executions to display a summary at the end (so wrapping cleanup() is sensible). Not sure who else would use that, or if there's a good way to make a generic interface for it.
Another is basically to add a "--nodeid_for_this_file=deadbeef" to a fixer tool command line. That's where it would be sufficient to have the ctx available. It might be nice to put the ctx into the templater, but that raises some questions about implementation that I wanted to punt for now.
A better version of this might put "ctx" into the templater inside Fixer.command, and maybe add a no-op Fixer.cleanup method to make that part more explicit. I think that would be a less trivial super set of this patch.