[go: up one dir, main page]

Skip to content

Allow to set/change upstream 'forked from' repository.

Problem to solve

Often repo's are forks of upstream repositories, the best example being linux for instance. For one, we want to know who forked us and create network views of this fenomenom. This currently works already when pressing the 'fork' button.

However when I import a repo from, lets say github or create a new project and push my kernel to gitlab, this network, upstream and forking information is lost. Also is it harder to create a MR to upstream. Where is upstream to MR against?

Proposal

The proposal is simple, allow the 'Forked from' field to be editable. Any (http://repo.git) url can be placed here. When saving an indexer can be started to update repo network info. This allows for a user to set and update the upstream repository if the information is only known after an import/clone or needs updating. For example i thought gkhartmann/linux was the upstream repo and i forked from him, but it turns out i was wrong and should have forked from ltorvalds/linux instead. When the repository is external, a simple link would suffice, as it still gives me some form of traceability. Once federated MR are possible, they could use this field even ...

Bonus points, add an button to 'report upstream' where any user can tell the project owner what the upstream 'should' be.

What does success look like, and how can we measure that?

The 'Forked from' becomes always visible on the main repository page, unless the repository is marked as 'this is upstream'. It is editable by the repository owner and once set MR etc become possible. Also after the 'network updating' has completed, upstream can list it as a child and all other networking information is complete and up to date.