README.md
Status Patches for geth (go-ethereum)
We keep changes in patches because it gives as a clear picture. In case of merge conflicts, thanks to patches we can easily figure out how the final code should look like.
Syncing with upstream
When a new geth version is released, we need to merge it to an appropriate branch and apply patches.
The format of branches looks like this: patched/1.8
, patched/1.9
, and so on.
In order to sync the upstream, follow this instruction:
- Revert existing patches:
$ _assets/patches/patcher -r
, - Merge a new release:
$ git merge upstream/v1.8.16
wherev1.8.16
is a tag with a new release, - Apply patches back:
$ _assets/patches/patcher
.
In the last step, some patches might be invalid. In such a case, they need to be fixed before proceeding.
Creating patches
Instructions for creating a patch from the command line:
- Do changes in
vendor/github.com/ethereum/go-ethereum/
, - Go to the root
status-go
directory, - Create a patch
git diff --relative=vendor/github.com/ethereum/go-ethereum > _assets/patches/geth/0000-name-of-the-patch.patch
- Commit changes.
How to fix a patch?
TBD