Commits


don't leak 'relpath' memory in got_worktree_schedule_add()


allow removing multiple paths at once for 'got rm'


allow 'got cherrypick' with a root commit (adds all files in commit)


remove unused fields from struct merge_file_cb_arg


test and fix expected file status after 'got cherrypick'


introduce sync_fileindex() helper in worktree.c


add 'got cherrypick' command


fix lack of NUL termination of a path; bug exposed by new realpath(3)


make 'got update' bump the base commit ID of unchanged files This change makes it actually possible to get around commit-time out-of-dateness by running 'got update'. The test added with this commit shows that our out-of-dateness check is currently too simplistic; an update is required between any two commit operations! It would be better to allow commits to proceed until a situation arises where file content must be merged.


make struct got_commitable opaque to library users


fix bug reproduced by xfail test 'test_commit_added_subdirs'


add branch support to 'got update'


add branch support to 'got checkout'


store file's base commit ID in got_commitable and use it for OOD check


report base commit of fileindex entries to status callback


rename got_commitable's 'base_id' to 'base_blob_id'; more obvious


rename got_error_prefix_errno() to got_error_from_errno()


avoid undefined behaviour (comparison with string literal)


implement spawning an editor to collect a commit message bails on empty messages, trims leading and trailing newlines this currently disables the unveil in the commit process because it's not compatible with spawning the editor also prevent commits when there are no changes


lock branch reference file during 'got commit' to prevent a race


open the file index just once when adding multiple files


got_error_set_errno: take a char arg to pass to got_error_prefix_errno $> got rm a got: : No such file or directory becomes $> got rm a got: /path/to/a: No such file or directory


while (1) -> for (;;)


got_error_from_errno -> got_error_prefix_errno also add got_error_prefix_errno2 and got_error_prefix_errno3 which should hopefully all be merged into a single function with variadic args (but can't alloc mem)


error: introduce got_error_prefix_errno for better errno messages