Commit Briefs





Omar Polo

got patch: prefer new name if not /dev/null and not a git-style diff

This fixes a common issue when for e.g. generating patches with $ diff -u foo.orig foo where 'got patch' failed because 'foo.orig' has an 'unexpected status'. prodded by naddy, ok stsp


Christian Weisgerber

const-ify string table


Omar Polo

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@


Christian Weisgerber

explicitly include <unistd.h> for close(2)


Christian Weisgerber

move got_errors[] table into a single compilation unit (error.c)

ok stsp


Tracey Emery

rm unused vars


Christian Weisgerber

const-ify tables

ok thomas_adam millert


Omar Polo

style


Omar Polo

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

got patch: create missing directories when adding files

ok stsp@


Omar Polo

got patch: keep permissions after patching a file

ok stsp@


Omar Polo

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


Stefan Sperling

print additional progress information while packing

ok op@


Omar Polo

don't `goto done' if calloc fails

otherwise we call got_repo_close with repo being NULL and segfault there. ok stsp


Stefan Sperling

cache a list of known pack index files when the repository is opened

Avoids overhead due to readdir calls while searching a pack index. ok op@


Omar Polo

add a dry-run/nop mode for got patch

with lots of help from stsp for the manpage bits!



Stefan Sperling

more 'got patch' man page tweaks


Stefan Sperling

some man page tweaks for 'got patch'

ok op@



Omar Polo

improve `got patch' section of the manpage

Simplify some phrasing, explain what preconditions `got patch' has and what happens to the work tree when an error occurs.