This repository is a fork of https://github.com/cert-manager/cert-manager.
This repository contains two important branches: master
and upstream-master
.
upstream-master
is a 1:1 copy of themaster
brach of the upstream repositorymaster
follows branchupstream-master
plus Giant Swarm specific changes
TL;DR - Give me just the commands
#!/bin/bash
set -e
set -x
git switch upstream-master
git pull https://github.com/cert-manager/cert-manager.git master --no-edit
git fetch https://github.com/cert-manager/cert-manager.git --tags
git switch master
git merge --no-edit upstream-master
vendir sync
git add vendir.lock.yml deploy/charts/cert-manager/templates/crds.yaml
git commit -m "Update CRDs from upstream"
git push origin master upstream-master
For procedure described below to work, you'll need to set up the upstream repository as remote upstream
. You'll also need to have vendir installed.
Only once after cloning:
git remote add -f upstream https://github.com/cert-manager/cert-manager.git
- Install vendir
Then every time you want to sync your master
branch to upstream:
- Prepare your local
upstream-master
:git switch upstream-master
git pull upstream master --no-edit
- Update your local
master
:git switch master
git merge --no-edit upstream-master
git fetch upstream --tags
to update tags from upstream- Run
vendir sync
to update CRDs - Commit if changed
git add vendir.lock.yml deploy/charts/cert-manager/templates/crds.yaml && git commit -m "Update CRDs from upstream"
- Push everything to the fork
git push origin master upstream-master
- Push the lastest tag to our fork
git push origin vX.XX.X
We want to contribute as much as possible to upstream.
For changes you don't want to contribute to upstream, start your work from master
.
For changes you want to contribute to upstream, start your work from upstream-master
.
Changes you don't want to contribute to upstream should merge into master
.
Changes you want to contribute to upstream should be merged in upstream. Once merge in the upstream repository, update this repository as described in Update from upstream.
In case your change is not useful to upstream, just create a branch from master
, then after you are satisfied with your work, create a PR to merge into master
.
In case you think the change is useful to upstream, create a branch from upstream-master
. Create a first PR to merge into master
. After the first PR is merged, create another PR to merge into upstream.