Slightly off topic: best practises for github patches

I’m trying to find best practises on this:

  1. I take an existing project written by someone else and fork it
  2. let’s say I plan ahead and make a branch before I edit the project locally
  3. I make setofchanges#1 in branch1
  4. I send pull request
  5. upstream owner does not merge my change, because busy. It may get reviewed/merged months later, or never
  6. I want to continue to work on that project, and ideally my changes to be in my master branch, because that’s what users see by default when they look at my github fork.

This is where I’m a bit stuck.
If I stop waiting for upstream, merge my change into my master, and then write setofchanges#2
Now I’m a bit stuck for sending them as a separate pull request to upstream because github obviously sends a diff of both setofchanges#1 + setofchanges#2

If instead I create branch#2 on top of branch#1, I can use github to show setofchanges#2 because it can show a diff between 2 branches, but I don’t think I can send a diff between 2 of my branches as a PR to upstream.

The only clean option is to have branch#1 and branch#2 based on master, both have their own separate diffs, and never merge them in my master
until upstream merges my stuff, which could be never.
This sucks for people using my fork since my upstream doens’t have the up to date code, and unless I maintain a prod branch where I manually cherry pick the changes from all my branches, I also don’t have an up to date branch I can use.

If I could send a diff between tags or branches, that would work better, but I don’t think I can in github (with raw git you can of course).

So for now, I’ve created a MarcFork organization in my github, which I use to re-fork the upstream project so that that master is the upstream master (and not my master that is ahead), and hold the change I’m trying to send for review.
If needed I have a MarcFork2 for a 2nd change in parallel.

This seems iffy though. Is there any better solution with github?


Sorry, I don’t have enough GitHub/Git experience to know how to handle this. I wish I had more time to work on this project and accept more pull requests, but I don’t right now, and it’s not going to get easier in the short term.

Maybe if you could let me know which pull requests are the most important for you, I can turn my attention to those briefly and maybe we can make some progress.

no worries about time, I totally know how that works. This thread was totally not about pressuring you into merging things faster, and focussed into making me smarter about using github in general. The problem I described, I’ve encountered with multiple repos and something I wanted to learn how to deal with better.
That said, it think github may not have a good way to deal with this.

Since you offer (and honestly, I wasn’t trying to trick you into this)