As a reference for everyone, we are talking about this commit in this
thread:
https://github.com/macports/macports-ports/commit/8636b39946229023fecc2c8c5d99be1b0a0bccd1
On 22.05.19 01:06, Christopher Jones wrote:
> Its a merge commit, i.e. the committer at some point pulled in changes to a
> branch which they subsequently pushed to master without rebasing.
Jann, I assume you just ran 'git pull' which created this merge commit.
The better option would have been to run 'git pull --rebase' to avoid
this merge and place your new commit on top of the existing
macports-ports master.
It is indeed a bit complicated and git does not make it easy to
understand it. Please see our documentation that we prefer the rebase
operation:
https://trac.macports.org/wiki/WorkingWithGit#updating
> Its ‘OK’ in that its not a real commit. The changes you see in GitHub won’t
> really happen (if you look in detail they are commits already in master).
I assume GitHub displays it like this because the merge is "reversed" to
their usual workflow. The previous macports-ports master is on the right
hand side of the merge. Therefore it looks like the macports-ports
master was merged into another branch.
As another example, it did not look that horrific in the notification on
macports-changes (HTML only):
https://lists.macports.org/pipermail/macports-changes/2019-May/179654.html
> Avoiding these is why we rebase, i.e. if your setup is configure to work
> directly from a git checkout running ’sudo port sync’ under the hood runs
> ‘git pull —rebase —autostash origin master’ (if your git is new enough).
>
> We don’t really want these commits in the master history, but at this point
> removing it (rewriting history in master) would be a bad idea and possibly
> lead to trouble, so best to leave it, and hope the committer learns not to do
> it again ;)
I agree, there is not much we can do against this without rewriting
history and force-pushing, which would break the next pull operation for
everyone. Also it did not even do any damage, it just looks strange on
the GitHub web interface.
Rainer