Make a "project" out of various maint/ files
See torspec!193 (comment 2962671)
My current thinking is:
- Make a new git project
maint-commonwhich is planned to contain the "best versions" of these scripts (but starts out empty) - Use
git-subtreeto merge it intoarti/maint/common - Move each relevant script into
maint-commonand replace it with a symlink:git mv arti/maint/via-cargo-install-in-ci arti/maint/common && ln -s common/via-cargo-install maint - Make a
maint-cmmon/testcontaining CI tests of the scripts themselves.
For other projects with versions of theses scripts, reconcile changes as part of the import process.
These scripts won't form a framework; rather they're a set of resources that a project (like Arti) can pick and choose from.
After this is done:
-
arti.git/maintwill contain a mixture of:
- Bespoke Arti-specific scripts
- Symlinks into
maint/commonfor scripts shared with other projects - Scripts which are currently 1 but ought to become 2, where reconciliation is too difficult
- People editing
arti.gitmay edit the scripts inmaint-commonin which case it will be someone in the Arti team's job to turn those into MRs against themaint-commonproject usinggit-subtree. (Probably me.) - Alternatively, people editing the scripts may edit them in
maint-commonfirst and merge them into arti. - Periodically, we should merge changes in both directions. If this happens a lot we could add some automation.