RFR: 2143: Support selective tags mirroring

Magnus Ihse Bursie ihse at openjdk.org
Wed Jan 17 08:37:47 UTC 2024


On Tue, 16 Jan 2024 23:36:53 GMT, Erik Joelsson <erikj at openjdk.org> wrote:

> 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.

Looks good as far as I can tell.

vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java line 654:

> 652:     @Override
> 653:     public void push(String refspec, URI uri, boolean force) throws IOException {
> 654:         if (force && !refspec.equals("+")) {

Are you sure you did not mean 
Suggestion:

        if (force && !refspec.beginsWith("+")) {

?

-------------

Marked as reviewed by ihse (Reviewer).

PR Review: https://git.openjdk.org/skara/pull/1600#pullrequestreview-1826753300
PR Review Comment: https://git.openjdk.org/skara/pull/1600#discussion_r1454945960


More information about the skara-dev mailing list