Description
Describe the proposed change(s).
Today forkMode
is supported only for GitHub, and nearly 100% of code is within https://github.com/renovatebot/renovate/blob/main/lib/platform/github/index.ts
I would like to refactor it to improve the functionality with GitHub and also add the possibility for other platform support.
Use upstream
terminology
Today we have the term parentRepo
. Let's use the term upstream
instead, to align with GitHub's terminology.
Perform upstream fetching using git
Today we use this API call:
renovate/lib/platform/github/index.ts
Lines 425 to 439 in 9f7d024
But with our git
layer, we should instead use that to fetch instead, by making our git "upstream aware". Doing so would also mean we can more easily support baseBranches
, which is unsupported today for forkMode
. Within git
we should refer to that upstream/parent as upstream
and "fetch from upstream". This can possibly be done in phases, such as using git
to sync upstream default branch only initially before expanding it to support baseBranches
.