Hi Ben,
I'll just expand a bit on what Pavel said.
I'm not sure how closely my contribution workflow matches the standard advertised, so just wanted to share it for feedback.�� I may remember wrongly, but my understanding of the advertised process was forking the "pharo-project/pharo" repo, then cloning from my fork.�� However I found it awkward to keep the "master" branch of my fork synchronised with upstream.
It's important to understand that you don't need to keep any branch in your fork synchronized ^^.
Pull requests bind two branches, not two repositories.
Your repository may have 30 branches, all outdated, and the only one that needs to be "up to date" is the one participating in a pull request.
Even, I'd say it's not really required to have the branch of the PR up to date either, as git will just make a merge with it, calculating correctly the point of divergence between the two branches. However, making a branch that started too far away in the history (too old) will just increase the possibility of a merge conflict.
��
Actually, the easiest is that you start working on a branch whose tip points to the same commit the image was created from.
This is to make sure that:
��- you will have correct diffs
��- your PR does not introduce commits that you did not intend to
Sure, I often do the same to avoid feeling lost when I don't understanding where extra changes are coming from.
However right now I have a PR from November that didn't make it into Pharo 7 and I'm now trying bring forward for Pharo 8.
Could work with me to reproduce this to see where I'm going wrong...
My image is up to date with Pharo 8, 2019-01-31 19:23, commit 2c0b5d0.
I repaired the "pharo" repo�� such that remotes after repairing are...
* origin = git@github.com:bencoman/pharo.git
* pharo-project =��git@github.com:pharo-project/pharo.git
though if you use https the rest of this workflow should go the same for you.
Double-checked I was up to date by again checking out "pharo-project/Pharo8.0".
Now I want to bring forward my changes from�� "origin/22637-Minor-cleanup-of-Delay"
Right-clicking on it I only the choice to "Checkout branch", but I don't want to do that��
since I feel its likely to break something.�� A checkout doesn't focus on the package my��
changes are in but reverts months of changes through the whole live system.����
The <Merge> button is another option, choosing "origin" then "22637-Minor-cleanup-of-Delay"
In the preview window is a massive amount of changes that have nothing to do with me.
I guess its again months of every else's changes to Pharo that would be risky and confusing to proceed.
I feel what I need is something like "origin/22637-Minor-cleanup-of-Delay" right-click > Rebase to HEAD
which would determine the common ancestor f2078b5 and integrate just my changes since then.
I can't see any other options.�� ��How would you handle it?�� ��
cheers -ben
P.S. Side info on conflict if you bump into it.�� DelaySpinScheduler was removed from Pharo 7 after I submitted that PR for issue 22637.