Feature Request: Automatic Fork Synchronization with Parent Repository
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Summary
Add functionality to automatically sync forked projects with their parent/upstream repositories, similar to Bitbucket's automatic fork synchronization feature.
Problem to solve
When working with forked repositories, keeping the fork in sync with the parent repository requires manual intervention. This creates extra work for developers and can lead to merge conflicts when creating merge requests from outdated forks.
Intended users
- Developers working with forked repositories
- Teams using fork-based workflows
- Open source contributors
Customer Information
- Customer SFDC Link
Proposal
Implement an automatic synchronization mechanism that would:
- Allow users to enable/disable automatic sync for each fork
- Provide configurable sync frequency options (hourly, daily, weekly)
- Allow selection of which branches to automatically sync
- Include conflict resolution options (e.g., auto-merge when possible, notify on conflicts)
- Provide sync status indicators on the repository page
Business value
- Reduces manual maintenance work for developers
- Decreases merge conflicts when submitting MRs from forks
- Improves collaboration efficiency in fork-based workflows
- Enhances GitLab's competitiveness with other Git platforms
User experience
Users would see a new "Fork Sync Settings" option in their forked repository settings. They could enable automatic sync, configure which branches to sync, and set the frequency. The repository page would show sync status indicators.
Implementation details
This would require:
- Background job system to handle periodic syncs
- UI components for configuration
- Conflict detection and notification system
- Sync status tracking and display