Our GitLab server has a cronjob that is monitoring changes to upstream repositories, pulling updates and pushing them into our forks. This saves our developers time from manually syncing Hypernova's remote branches with upstream as well as eliminates the need of configuring upstream repositories in your local git repository.
Example: We have a GitHub repository Hypernova-Oy/Koha (fork of Koha-Community/Koha). We are also following two branches master and production of Koha-Suomi/Koha. Our goal is to pull latest commits like this:
upstream origin Koha-Community/Koha Hypernova-Oy/Koha master -> master Koha-Suomi/Koha Hypernova-Oy/Koha master -> kohasuomi production -> kohasuomi17.05
We create a small script that pulls from upstream and pushes to origin. Run this task every 5 minute from crontab.
For our developers, see how it's controlled:
ssh git.hypernova.fi su autoupdater && cd ~ cat update_Koha.sh crontab -e