RFR: 2143: Support selective tags mirroring
Erik Joelsson
erikj at openjdk.org
Tue Jan 16 23:41:09 UTC 2024
We need a way to mirror tags selectively. Here is how I think I want to solve this. We currently have
"branches": Is either a string of one branch pattern or an array of multiple branch patterns
"tags": Takes either "include" or "only", if value is "only", "branches" cannot also be set
Instead of trying to somehow bend the "tags" parameter into taking some kind of patterns, I want to introduce a new parameter "refspecs". The value is an array (or a single string for convenience). Each string constitutes a single refspec that will be given unmodified to a "git push" command (with a + for force if not already present). The configuration becomes a bit more verbose by using this format, but it's also much more powerful. It makes it possible to express more complex mappings using the mirror bot, which may very well be needed when we start using branches more actively.
When setting "refspecs", we do not accept either "branches" or "tags" in the same configuration.
We still pull everything to the local repository in the bot. The refspec is only applied to the push command. Keeping the local repo the same as the source repo reduced the risk of bot configs interfering with each other through conflicting configurations.
-------------
Commit messages:
- SKARA-2143
Changes: https://git.openjdk.org/skara/pull/1600/files
Webrev: https://webrevs.openjdk.org/?repo=skara&pr=1600&range=00
Issue: https://bugs.openjdk.org/browse/SKARA-2143
Stats: 281 lines in 7 files changed: 257 ins; 10 del; 14 mod
Patch: https://git.openjdk.org/skara/pull/1600.diff
Fetch: git fetch https://git.openjdk.org/skara.git pull/1600/head:pull/1600
PR: https://git.openjdk.org/skara/pull/1600
More information about the skara-dev
mailing list