tools: add canonical sweep.py with explicit coa-elvui exclusion
Two failures that compounded in the last round of ElvUI breakage:
1. The sweep script only lived in /tmp during a session — re-derived
from scratch each time, so the EXCLUDE_FORKS knowledge wasn't
anywhere reviewable.
2. The old filename-only filter ('if -ElvUI in name skip') missed
ElvUI's customizations inside otherwise-stock-named files AND
rsync --delete killed -ElvUI suffixed widgets that exist only in
ElvUI's bundle (e.g. AceGUIWidget-Button-ElvUI.lua).
This tool fixes both:
- Lives in the repo (tools/sweep.py), so the exclusion list is
visible in version control and reviewable.
- EXCLUDED_FORKS = {'coa-elvui'} hardcoded with an in-source comment
explaining why.
- --exclude='*-ElvUI*' passed to every rsync as belt-and-braces, so
even if a future fork accidentally carries an ElvUI-namespaced
file we never wanted to overwrite, the sweep won't touch it.
- Refuses to add new lib dirs — only updates ones already present
in the fork.
- --dry-run flag for safe verification.
README updated with a 'Forks excluded from sweep' section documenting
the same.
This commit is contained in:
@@ -69,3 +69,20 @@ libs. Note the new upstream commit in the README's commit-pin line above, and re
|
||||
the CoA-compat patches listed above against the new revision (the FDID one is mechanical —
|
||||
see `/tmp/fix_fdid.py` history). Keep patches **minimal and documented in this README**;
|
||||
prefer fixing them upstream where reasonable.
|
||||
|
||||
Run the sweep via `tools/sweep.py` from this repo — it walks every sibling `coa-*` fork
|
||||
under `/home/sub/repos/coa`, finds each fork's bundled `LibStub` / `CallbackHandler-1.0` /
|
||||
`Ace*-3.0` dirs, and rsyncs them from this bundle. Use `--dry-run` first.
|
||||
|
||||
### Forks excluded from sweep
|
||||
|
||||
`coa-elvui` is excluded from the sweep — see `EXCLUDED_FORKS` in `tools/sweep.py`. ElvUI
|
||||
ships its own bundled Ace3 stack with ElvUI-specific patches inside otherwise-stock-named
|
||||
files (`AceLocale-3.0.lua`, `AceConfigDialog-3.0.lua`, every `AceGUI-3.0/widgets/*.lua`)
|
||||
**plus** `-ElvUI`-suffixed widgets that don't exist in canonical at all (e.g.
|
||||
`AceGUIWidget-Button-ElvUI.lua`). `rsync --delete` obliterates the latter; an in-place
|
||||
sync overwrites the former. Either failure breaks `/ec` and floods locale errors. ElvUI
|
||||
maintains its own bundle on its own cadence and must never be touched by this tool.
|
||||
|
||||
The sweep also passes `--exclude='*-ElvUI*'` to every rsync as a belt-and-braces guard
|
||||
against future forks that happen to carry an ElvUI-namespaced file we didn't anticipate.
|
||||
|
||||
Reference in New Issue
Block a user