Provide automated solutions for "Update fork" when there are merge conflicts
Release notes
It's easier to update your fork when there are merge conflicts. Two automated solutions are now provided. The first is rebase your changes i.e. "git pull --rebase" and the second is to discard your change and mirror the upstream branch.
Problem to solve
Some projects like cki-project / kernel-ark · GitLab will rebase to upstream (Linux kernel) very often and most of times updating fork will have conflicts to resolve. As a developer, I want to have a easy way to update my fork. In fact, for large projects, manually resolving conflicts doesn't even work because there are so many changes that GitLab Serve fails with "500 Internal Server Error
",
Enumerating objects: 3256163, done.
Counting objects: 100% (2918825/2918825), done.
Delta compression using up to 8 threads
Compressing objects: 100% (571359/571359), done.
Writing objects: 100% (2851260/2851260), 715.67 MiB | 2.08 MiB/s, done.
Total 2851260 (delta 2432650), reused 2684467 (delta 2271845), pack-reused 0
remote: Resolving deltas: 100% (2432650/2432650), completed with 39525 local objects.
remote: Checking connectivity: 2851129, done.
remote: GitLab: 500 Internal Server Error
To gitlab.com:baoquan_he/kernel-ark.git
Intended users
When merge conflicts are detected after an user clicks the "Update fork" button, two solutions without manually resolving the conflicts will be offered. The first to rebase fork's changes and the second is to discard fork's changes.