Reword a commit already pushed through git subtree to both repos
To reword a mainline commit that was also split and pushed to a subtree repo: (1) Build the reworded subtree-side commit with git commit-tree <old>^{tree} -p <old>^ -F msg, exporting GIT_AUTHOR_*/GIT_COMMITTER_* from the old commit so dates are preserved. (2) Rebase the mainline non-interactively: GIT_SEQUENCE_EDITOR='cp todo' with 'reword <sha>', and GIT_EDITOR='cp msgfile'. Replace any stale rejoin commit with an exec script that commits an empty rejoin whose git-subtree-mainline is $(git rev-parse HEAD) at that point and whose git-subtree-split is the new commit. A wrong mainline trailer makes split re-create everything from an older rejoin. (3) Verify the old and new tip trees are equal, that the split is stable across two runs, and that the split tree matches the remote. (4) Push both with --force-with-lease=<branch>:<expected sha>. git log --format has no quoting helper, so read fields one by one instead of eval.