Commits


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


make got path APIs available to library consumers


fix allocation size in alloc_added_blob_tree_entry()


remove unnecessary allocation in match_ct_parent_path()


fix memleak in write_tree()


remove dead code


fix memleaks in write_tree()


stop caching head ref's value in struct got_worktree; may become stale


note potential problem in the existing out-of-dateness check