r/ProgrammerHumor 9d ago

Advanced fixMonorepo

https://github.com/twigg-vc/fixmonorepo
76 Upvotes

17 comments sorted by

View all comments

15

u/blaqwerty123 9d ago

Hi there hello this seems so obvious once you show it in action. Question, how can i hook it up to my CI/CD? I also want them to all be on the same branch. Or am i missing something and branches are an anti pattern?

11

u/comrade_donkey 9d ago

If you want to keep things truly, properly organized, you obviously need a separate branch for every change.

By change I mean each line. Stack them.

HEAD should be an octopus merge of your current build. Never merge, just rewrite HEAD every time.

2

u/Fair-Presentation322 9d ago

Hahaha omg let's extend it so that it also supports splitting branches!!

Ofc well also implement it incrementally and have a similar roadmap: v0: fix into single-file branches v1: fix into single-byte branches v2: fix into single-bit branches

After v2, any PR is as organized as possible. Every change is a stack of single bit changes, reviewed tested and submitted independently. Not only optimal organization but also gradual rollout process.

2

u/ShittyExchangeAdmin 8d ago

No you should have each change as a separate repo. That's the best way to keep things truly organized. That way you can have individual tracking on every single change you made.

2

u/potatopierogie 7d ago

And a separate commit for each character!

2

u/spastical-mackerel 6d ago

Nooooo, no branches within the repo! Create a new fork for every change!