Description
There are a bunch of apps that end up being copies of other apps/code but with some changes applied.
Often that original code will have some changes/bugfixes later down the line and it's always a pain to ensure that those get propagated.
Discussed:
The apps might be copies of other apps in the repo, or of built-in functionality that is in other places like https://github.com/espruino/Espruino/blob/master/libs/js/banglejs/E_showMenu_Q3.js
So how do we keep these up to date?
As a simple, fast solution, I'm coming down on something like an entry in metadata.json
:
{
// ...
patches : [
{ ours: "app.js", theirs : "https://raw.githubusercontent.com/espruino/Espruino/master/libs/js/banglejs/E_showMenu_Q3.js", patch: "appchanges.patch" }
]
}
So then (maybe even just in sanitycheck.js
) we just grab the file from the URL given, attempt to patch it and compare the result, then flag up a warning if the two differ or the patch fails to apply?