[go: up one dir, main page]

Skip to content

Support for Multiple Upstream Pull Mirrors

Proposal

GitLab should support having multiple upstream pull mirrors when the downstream target branches are specified and not overlapping.

This will be helpful to my company as we manage multiple embedded Linux boards with multiple upstream vendors. Ideally we could pull mainline Linux from github/torvalds, and additionally pull specific branch patterns from vendors like Toradex, STMicro, and TI. This would allow us to have all our development in a single tree and have updates automatically be available regardless of our build target.

From a development and management perspective, this is helpful because the Linux tree is quite large and we wish to minimize the number of copies we have stored and the number of times we have to run long operations like git fetch.

In more detail; we would like to use the existing pull mirror functionality to specify multiple upstream repositories and target branches like so:

Source Branch/Tag Patterns
https://github.com/torvalds/linux.git master|^v[0-9\.]+$
https://github.com/STMicroelectronics/linux.git v.*stm32mp.*
https://github.com/Freescale/linux-fslc.git .*fslc

It might be hard to prove that branches do not overlap since I wish to use regexes to ensure we're getting the latest release branches and tags from everyone. But there might be able to be some priority rule where mirrors listed first take precedence.

Incidentally, this would help us work around issues like #384325 which crop up when trying to push big updates to our local tree because we will be doing it continuously rather than in one big chunk.