Preserve fork relation when importing from GitHub

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

When we import a project from GitHub, we should preserve some metadata that allows us to re-establish fork relation.

Here is the idea:

By using the repository api: https://developer.github.com/v3/repos/#get we can check whether it's a "fork": false or "fork": true. When it's a fork the "parent:{} will contain the upstream project/repository. With that information, we can do two things:

When importing a previously forked, we look for the same project (by verifying it was imported, not a new one created at the same namespace/project) and establish the fork relation. If none is found we store a "future fork information". When the root project is imported, we look for any existing, previously imported project with a "future fork information" and re-establish any fork link.

For existing, previously imported projects, we can also backfill this information, if we still get oauth access to user's repositories.

Edited Jul 29, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading