This re-introduces the functionality from the monolithic tool for applying multiple patches in one go, as well as providing extra constraints for MiniZinc.
For extra constraints, it works the same as before, no surprises here.
For multiple patches, we change the setup of the patch-info config file. Specifically, we separate the list of external patch spaces to its own file, since it can be re-used by multiple patches. Next, we will provide the patch-info file to vibes-as, where we transfer the patch-site and patch-size fields to the resulting assembly file. Finally, vibes-patch can now take in a list of assembly files, each of which are telling the patcher where they want to be placed, and iteratively we can chomp away at the external patch spaces if they exist. After that, we can return not only the applied patches but also the modified spaces (since they are now occupied). Right now we just print them out if --verbose is enabled, but we could output them to a file in the future if we want.
This re-introduces the functionality from the monolithic tool for applying multiple patches in one go, as well as providing extra constraints for MiniZinc.
For extra constraints, it works the same as before, no surprises here.
For multiple patches, we change the setup of the
patch-info
config file. Specifically, we separate the list of external patch spaces to its own file, since it can be re-used by multiple patches. Next, we will provide thepatch-info
file tovibes-as
, where we transfer thepatch-site
andpatch-size
fields to the resulting assembly file. Finally,vibes-patch
can now take in a list of assembly files, each of which are telling the patcher where they want to be placed, and iteratively we can chomp away at the external patch spaces if they exist. After that, we can return not only the applied patches but also the modified spaces (since they are now occupied). Right now we just print them out if--verbose
is enabled, but we could output them to a file in the future if we want.