-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use patched go-ethereum from fork instead of patching it on-the-fly #1184
Conversation
I'm generally now more in favour of this approach because it will help in switching to Go modules, but I don't really get the moment of:
Why it's not impossible? We're not patching on-the-fly, only when bumping up go-ethereum version, right? Or am I missing something? |
@divan because if you use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure that the research team is aware of this changes so they don’t break the fork repo.
@adambabik if fork is patched instead of vendored copy, what is the reason to keep patches in status-go? |
@dshulyak it's actually hard to figure out a good place for the patches in our fork. We can have a special branch in our fork where patches could live. Now, if a new version appears, we would checkout them from that branch and apply on the new version branch. It seems like the same effort. But primarily, I wanted to do as few changes as possible. When using a fork, we can can also think about getting rid of the patches completely. We could have |
Instead of patching code after running
dep ensure
, use a patched fork.The problem I encountered is that it's impossible to use status-go as a package due to patches on its dependency, mainly
github.com/ethereum/go-ethereum
. Even ifdep
is able to resolve dependencies, compiling will fail due to code differences betweengit.luolix.top/ethereum/go-ethereum
and patched version that status-go uses.A proposed solution is to use change source of
github.com/ethereum/go-ethereum
inGopkg.toml
to our fork:After this operation, I am able to create a new project with the following
Gopkg.toml
:Todo
vendor-check
andupdate-geth
,patch
andpatch-revert
so they work on our go-ethereum fork,_assets/patches/geth
.