Skydio / revup

Effortlessly create and manage pull requests without changing branches. Powers a stacked diffs workflow with python and git "plumbing" commands.
https://github.com/Skydio/revup
MIT License
309 stars 59 forks source link

Use merge-tree in patchsets instead of update-index #183

Open jerry-skydio opened 2 months ago

jerry-skydio commented 2 months ago

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