Just a question, if I fork a project on Github and someone wants to put in a pull request, do they use my new project's Github or the original's?
And if commits are put in based on those pull requests how would anyone else beside the project owner sign and push them?
Login to reply
Replies (6)
Normally you fork the target project to which you wish to make the pull request, commit it in your fork, and request the upstream maintainer to merge your exact commit.
Then your exact commit (with the same byte for byte code changes and commit hash) gets added to the upstream repository, essentially wrapped in a "merge commit" by the maintainer. This preserves the integrity of the code change proposed by the original author.
Right so, what if the original project maintainers and I (the one who forked the project) don't get along? How would I be able to merge code without their permission?
Whoever owns a given GitHub repository has the final say over what code changes are applied to it.
This is the same reason I maintain my Satoshi fork of Bitcoin Core. It contains metric collection code changes that would never be accepted by the upstream project.
So doesn't that really make the argument that "Luke is the sole maintainer" more of a function of the fact that Knots is a fork of Core, than some sort of apathy? Given the contention between the two?
Forks can have multiple maintainers.
Luke could implement the same security practices as Core if he wanted to.
Okay, how exactly? Unless he literally copies the code to his project. Then there would be duplication issues correct? This is obviously more of a Github issue than a code commit, merge, or push issue but still.