github-community-projects / private-mirrors

A GitHub App that allows you to contribute upstream using private mirrors of public projects
MIT License
125 stars 13 forks source link

Concurrent contributions through a single private fork #107

Open wrslatz opened 4 months ago

wrslatz commented 4 months ago

Is your feature request related to a problem?

Developers may need to work on multiple open source contributions to the same repository at the same time. Some reasons why this may occur include

When working outside of Internal Contribution Forks today, developers can make separate branches on their fork for each contribution they want to make. This allows multiple contributions to flow through their fork at a given time. Developers can also make branches on their fork from a source branch other than the default branch, allowing them to make a branch off of an existing branch on their fork. This enables stacked pull requests.

Describe the solution you'd like

Through Internal Contribution Forks, support multiple branches in the public fork that sync to corresponding branches in the private repository for internal contributions. Instead of assuming the default branch of the public and private repositories are used for a contribution, these branches need to be configurable.

Specifically, the following features should be supported or considered

Describe alternatives you've considered

Only support concurrent contributions through separate forks. Users will need to manage multiple remotes in their local git config and target the appropriate remotes in git commands, which may get confusing and lead to errors. It is unclear if stacked branches or pull requests would be supported with this model.

Additional context

Here's a helpful blog post on stacked pull requests that walks through the flow for making them. Here are some additional references that may be helpful.