Open selfisekai opened 2 weeks ago
This seems like a very promising approach. Thanks for filing this.
Hey I had the same idea by using a similar approach that patch-packages uses for npm packages: https://www.npmjs.com/package/patch-package
I really like this idea after some thinking. Came up to work on some things with @matthew-carroll, maybe we can get something like this working today.
Might be worth checking out https://savannah.nongnu.org/projects/quilt (https://git.savannah.nongnu.org/cgit/quilt.git/plain/doc/quilt.pdf) for a look at another project doing something similar in the wild. Apparently this is used by Debian / Ubuntu.
https://github.com/join-the-flock/nest/tree/main/tools
You can find our first draft of the slightly modified electron tooling here. Got it integrated into some basic workflows with @matthew-carroll over the weekend.
I've listened to a bit of a talk on the space about handling Flock patches on top of alive Flutter branches/releases.
Electron is, I think, an interesting case for Flock to look at: it's a fast-moving, soft fork of Chromium, a gclient-based project.
It has a pretty specific approach: rather than constantly rebasing their repositories, they store git patches as files. The process of cloning Electron is quite literally cloning Chromium and a few extra repositories, then applying these patches on top of the upstream repositories locally.
https://github.com/electron/electron/blob/main/docs/development/patches.md