Skip to content

Action required: master history was rewritten: affected dates: 2026-07-27 - 2026-08-11 #75

Description

@tifuchs

Hi all,

This affects anyone who has pulled, cloned or forked orGUI in the time frame of

Affected dates: 2026-07-27 - 2026-08-11

If you have a local clone or a fork of orGUI, please do not run git pull
until you have followed the steps below. A plain pull will merge the old and new
history together and duplicate 52 commits.

when what
2026-07-27 21:11 -04:00 7459b38 authored
2026-07-27 21:15 -04:00 pushed to reciprocal_maps — trailer first public
2026-08-04 21:34 UTC #69 merged, so it reached master
2026-08-11 rewritten and force-pushed; trailer removed

The commit reached master through #69 rather than directly, which is why a
commit from late July affects branches merged after it.

What happened

I had to force push to change a commit message. No code was changed

That is also why the steps below are safe: a rebase of your own work onto the
new history cannot produce a content conflict from the rewrite itself.

Affected branches

branch old tip new tip
master d2421e1 98b3e69
reciprocal_maps a37bbcf ab37f5d
DWBA d2b7fb1 33aa9e9
esrf_id31_SIXC_Q_version d098e06 a67b7b5
fix-ctr-interface-layer-accumulation f2aa65c 2d7fa99
fix/issue-23-db-io-hardening 5d71e1c db2db16

No other branch or tag was touched.


Step 0 — back up and check what you have

Commit or stash any uncommitted work first, then:

git fetch origin --prune
git branch backup/pre-rewrite-master master

Now check whether you have local commits that were never pushed:

git log --oneline d2421e1..master
  • No output → you have no local work. Use Path A.
  • Some commits listed → those are yours. Use Path B.

Path A — no local work of your own

git checkout master
git reset --hard origin/master

If you also have any of the other affected branches checked out locally:

for b in reciprocal_maps DWBA esrf_id31_SIXC_Q_version fix-ctr-interface-layer-accumulation fix/issue-23-db-io-hardening; do
  git rev-parse --verify -q "$b" >/dev/null && git branch -f "$b" "origin/$b"
done

Path B — you have your own commits

Replay your work onto the new history. The second argument is the old tip
from the table above:

git rebase --onto origin/master d2421e1 master

For a feature branch that forked off one of the other rewritten branches, use
that branch's old tip — for example, a branch off DWBA:

git rebase --onto origin/DWBA d2b7fb1 my-feature

Do not use git merge-base to find your fork point here. After the
rewrite it resolves back to the commit before 7459b38, which would replay
all 52 rewritten commits as duplicates. Use the explicit old SHA.

If a rebase does stop on a conflict, it is a genuine collision between your work
and someone else's — not an artefact of the rewrite, which is message-only.

Step 3 — verify

git log --oneline -1
git status -sb

You should see 98b3e69 (or the current master commit sha) at the tip of master, no divergence from
origin/master, and 0 trailers.

Then clean up your safety branch:

git branch -D backup/pre-rewrite-master

If you have a fork on GitHub

Do the same in your local clone of the fork, then force-push it to bring your
fork's copy in line:

git push --force-with-lease origin master

Merged pull requests

#65, #66, #67, #68 and #69 have a merge commit that moved. They remain merged
and their diffs still display correctly; only the "merged commit … into master"
link points at a commit no longer reachable from master. Each PR has a comment
recording its old and new SHA. Nothing to do here.


Please comment on this issue if you hit anything the steps above do not cover.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions