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

[upload] Support arbitrary topic order #156

Closed jerry-skydio closed 5 months ago

jerry-skydio commented 6 months ago

Started trying this here https://github.com/Skydio/revup/pull/155 but it's actually a very involved refactor of topic_stack.py that touches every function.

The main issue is that the iteration in topic stack goes through topics in order, and uses relative topics as though they are already populated. If we break this assumption, we'll need to refactor every function to iterate topologically. this could potentially be wrapped by all_reviews_iter() but it won't work for populate_reviews which sets up the relationships in the first place.