To generate the virtual diff target, squash the old PR into one commit (headoid, parentoid of last commit). Use merge-tree to merge this into
current base. Use -X theirs to prefer the old PR's versions when applicable.
Cases
Old pr conflicts with latest base -- diff will look like it went from old PR-like text to new pr. may be confusing?
Old pr deletes file that base changed -- diff will look like file either remains deleted, or was created
Base deleted file that old pr changed -- diff will look like file is there then got deleted
To generate the virtual diff target, squash the old PR into one commit (headoid, parentoid of last commit). Use merge-tree to merge this into current base. Use -X theirs to prefer the old PR's versions when applicable.
Cases Old pr conflicts with latest base -- diff will look like it went from old PR-like text to new pr. may be confusing? Old pr deletes file that base changed -- diff will look like file either remains deleted, or was created Base deleted file that old pr changed -- diff will look like file is there then got deleted