Make a "project" out of various maint/ files
See torspec!193 (comment 2962671)
My current thinking is:
- Make a new git project
maint-common
which is planned to contain the "best versions" of these scripts (but starts out empty) - Use
git-subtree
to merge it intoarti/maint/common
- Move each relevant script into
maint-common
and 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/test
containing 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/maint
will contain a mixture of:
- Bespoke Arti-specific scripts
- Symlinks into
maint/common
for scripts shared with other projects - Scripts which are currently 1 but ought to become 2, where reconciliation is too difficult
- People editing
arti.git
may edit the scripts inmaint-common
in which case it will be someone in the Arti team's job to turn those into MRs against themaint-common
project usinggit-subtree
. (Probably me.) - Alternatively, people editing the scripts may edit them in
maint-common
first and merge them into arti. - Periodically, we should merge changes in both directions. If this happens a lot we could add some automation.