|
78f5ac24
|
2022-03-19T15:06:37
|
|
move got_patch file status checking in worktree.c
check_file_status used got_worktree_status to check if the file was in
an allowed state, but it's wrong since the callback is not invoked on
unchanged files.
While here also fix a relate bug: unlink(newpath) is in the wrong spot
and ends up removing files even when it shouldn't, so move it early in
the got_worktree_schedule_* error handling.
Finally, update the appropriate test case. It was passing before
because got_worktree_schedule_add returned GOT_ERR_FILE_STATUS, not
because check_file_status failed.
ok stsp@
|
|
46ebad13
|
2022-03-17T16:38:43
|
|
style
|
|
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@
|
|
95d68340
|
2022-03-16T18:23:03
|
|
got patch: create missing directories when adding files
ok stsp@
|
|
2be5e1a2
|
2022-03-16T18:23:03
|
|
got patch: keep permissions after patching a file
ok stsp@
|
|
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
|
|
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!
|
|
5b67f96e
|
2022-03-13T15:36:59
|
|
got patch: require exact match when removing files
|
|
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.
|
|
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.
|
|
b95c53df
|
2022-03-12T16:01:09
|
|
apply_patch: move sanity check early in recv_patch
|
|
33df9995
|
2022-03-11T17:25:33
|
|
save `pos' in locate_hunk instead of calling ftello again
ok thomas, stsp
|
|
d955343d
|
2022-03-08T16:01:03
|
|
pass the callback data instead of hardcoding NULL, ok stsp
|
|
6f5cb1bd
|
2022-03-08T12:22:36
|
|
fix path to the temp file used to accumulate the patch edits
ok stsp
|
|
e9ce266e
|
2022-03-07T22:26:08
|
|
add `got patch' command for applying unified diffs
|