lib/patch.c


Log

Author Commit Date CI Message
Omar Polo 46ebad13 2022-03-17T16:38:43 style
Omar Polo 60aa1fa0 2022-03-17T16:38:43 augment patch progress callback with hunks info; recover from errors Augment got_patch_progress_cb by providing the hunks that were applied with offset (or that failed) and the recoverable error encountered during the operation (bad status, missing file, ...) got_patch now proceeds when a file fails to be patched and exits with GOT_ERR_PATCH_FAILED if no other errors are encountered. While here, also add a test for the 'hunk applied with offset' case and shrink test_patch_dont_apply and illegal_status by taking advantage that 'got patch' doesn't stop at the first error. (And add some other cases to illegal_status too.) discussed with and ok stsp@
Omar Polo 2be5e1a2 2022-03-16T18:23:03 got patch: keep permissions after patching a file ok stsp@
Omar Polo 95d68340 2022-03-16T18:23:03 got patch: create missing directories when adding files ok stsp@
Omar Polo b22138f5 2022-03-16T15:41:10 introduce got_patch_progress_cb This introduce a proper got_patch specific progress callback that is invoked after processing a patch. It also drops the hackish printf in the modified case and takes `nop' out of the struct got_patch. ok stsp
Omar Polo 899fcfdf 2022-03-13T20:31:44 add a dry-run/nop mode for got patch with lots of help from stsp for the manpage bits!
Omar Polo 5b67f96e 2022-03-13T15:36:59 got patch: require exact match when removing files
Omar Polo dbda770b 2022-03-13T15:36:56 check file status before applying the patch Don't allow `got patch' to delete files that are not known, or add files that are already known and to edit files that are known, not obstructed and without conflicts.
Omar Polo 6e96b326 2022-03-12T16:02:51 refactor apply_patch to support renaming files add two helper functions (schedule_add, schedule_del) and move the guts of apply_patch into a new function `patch_file'. This simplifies apply_patch and makes easier to figure out what happens. Then, drop GOT_ERR_PATCH_PATHS_DIFFER since we allow the to rename files.
Omar Polo b95c53df 2022-03-12T16:01:09 apply_patch: move sanity check early in recv_patch
Omar Polo 33df9995 2022-03-11T17:25:33 save `pos' in locate_hunk instead of calling ftello again ok thomas, stsp
Omar Polo d955343d 2022-03-08T16:01:03 pass the callback data instead of hardcoding NULL, ok stsp
Omar Polo 6f5cb1bd 2022-03-08T12:22:36 fix path to the temp file used to accumulate the patch edits ok stsp
Omar Polo e9ce266e 2022-03-07T22:26:08 add `got patch' command for applying unified diffs