DEV Community

Discussion on: How to cleanup a branch (PR) with huge number of commits

 
benjioe profile image
Benjioe

Ok, I think I get it:

  • Your tests are too slow (but can't be faster) so launching them get you out of the flow and train of thoughts.
  • You want's independent commits who's can be revert without breaking changes.

So you write the full features with refectaroing without test, send them to the CI to check regressions, fix everythings and when it's good, rewrite history to have independent commits.

Thread Thread
 
albertzeyer profile image
Albert Zeyer

Yea, this is what I do. But this is a lot of work, with lots of effort, lots of trial and error, and lots of waiting. And I feel like there should be tools which at least support me on this to some degree, to make it a bit more convenient. Some of these things could be automated, or semi-automated. E.g. there could be a tool or script which automatically figures out these set of commits which can be applied individually without breaking the tests.

Thread Thread
 
benjioe profile image
Benjioe • Edited

And If you don't test regression but only code style of the new code (configuring your PyCharm with the same rules as CLI) ... tests are still too slow ?

Thread Thread
 
albertzeyer profile image
Albert Zeyer

Yes. Checking the code style is actually slower than the regression tests. But also, the regression are even more important than the code style.

Thread Thread
 
benjioe profile image
Benjioe • Edited

Yeah, I was thinking about Open/Close principle so you don't always have to launch regression testing.

So, yeah a tool like you do or like gitflow cli with a set of command to fix CI errors while keeping your history clean. (but I don't know any :'().

Or git rebase --autosquash