we all know the various ways for customizing existing views/templates/etc. But I was wondering how do you check for updates of your customized files? Sure, you can do it manually, but it might be time-consuming. I was thinking of a way to alleviate the process:
- Override the file
- Have some annotation saying the file is overridden against a specific version with an reference to the original.
- Whenever updating, an process checks all the annotations if the files have changed.
- As bonus, compare the old and latest original file and show the diff. For doing so, both versions must be present in the file system (like in the eggs folder).
- The maintainer must then update the overridden file and update the annotation for that file.
For the annotations I was thinking of the declarative way of some kind (using meta.zcml):
<patchwatcher:check original="addon:path/to/file.pt" override="./path/in/your/add-on/file.pt" hash="some_hash" />
The process then checks for any changes. When you incorporated the changes into the override, the process can optionally update the check-statements with the latest hashes (either by directly writing it automatically in the zcml or by printing them in the stdout to copy them manually).
Before re-inventing the wheel, I'd know if there is already a solution for this problem? Maybe there are also other/better ways of doing the same thing. What do you think?