-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
Problem
Simple binding updates have so far been performed via find-and-replace. That did not work for complicated updates, where we opted for rewriting the entire file. This, obviously, does not scale well.
Expected behavior
We could introduce versioned patches and use those to incrementally update files. Old patch files may be removed 2 (?) minor versions after their introduction.
I managed to find one Rust library that can parse patch files (barring git2, which is overkill for this), but it appears unmaintained and lacks an apply method in its public API. We could fork it, add the apply method from its examples, merge some changes from other forks, and publish our own version.
It would be great if we could use the patch command for this instead, but it's not available out of the box on Windows. I don't think it's worth switching between a command/library implementation based on the target platform.