lib


Log

Author Commit Date CI Message
Stefan Sperling 2c7829a4 2019-06-17T14:15:05 implement 'got init'
Stefan Sperling 102ff934 2019-06-11T11:59:18 don't report 'base bumped' status if base is up-to-date
Stefan Sperling a484d721 2019-06-10T12:10:37 don't report base-bump-only updates as 'already up to date'
Stefan Sperling 1a36436d 2019-06-10T11:58:32 relax out-of-dateness check for 'got commit'
Stefan Sperling 46b6ee73 2019-06-04T20:59:48 rename some variables
Stefan Sperling af12c6b9 2019-06-04T16:49:20 ensure that file index is synced to disk in case of errors
Stefan Sperling e20a8b6f 2019-06-04T16:35:01 allow multiple file path arguments for 'got revert'
Stefan Sperling 07f5b47a 2019-06-02T21:30:22 don't leak 'relpath' memory in got_worktree_schedule_add()
Stefan Sperling 17ed4618 2019-06-02T21:24:17 allow removing multiple paths at once for 'got rm'
Stefan Sperling 03415a1a 2019-06-02T20:31:34 allow 'got cherrypick' with a root commit (adds all files in commit)
Stefan Sperling a8db5ed8 2019-06-02T18:39:00 remove unused fields from struct merge_file_cb_arg
Stefan Sperling 2b92fad7 2019-06-02T17:52:19 test and fix expected file status after 'got cherrypick'
Stefan Sperling 9c6338c4 2019-06-02T17:10:29 introduce sync_fileindex() helper in worktree.c
Stefan Sperling 234035bc 2019-06-01T13:35:47 add 'got cherrypick' command
Stefan Sperling aaa13589 2019-06-01T15:25:13 generalize got_diff_tree() by adding a diff output callback
Stefan Sperling 1de5e065 2019-06-01T14:44:21 use got_object_tree_find_entry() instead of local copy in diff.c
Stefan Sperling 5e54fb30 2019-05-31T14:57:57 test and fix 'got revert' with a path in a sub-directory Relax input path requirements of got_object_id_by_path() to make things easier to callers. Allows the revert code to pass a path from the file index in lieu of a repository path.
Stefan Sperling f6d88e1a 2019-05-29T14:45:50 fix lack of NUL termination of a path; bug exposed by new realpath(3)
Stefan Sperling 79c99a64 2019-05-23T22:24:13 don't leak objects which can't be cached
Stefan Sperling ff563a3d 2019-05-23T21:04:23 replace got_pack_get_packfile_size() with simple fstat()
Stefan Sperling 57377f07 2019-05-23T14:50:57 stat .idx file to determine its size, not the .pack file
joshua stein 0d0c539e 2019-05-22T10:43:30 got_opentemp_named: include path in error message
Stefan Sperling 01cd7614 2019-05-22T14:06:03 add cache debug output for too large elements
Stefan Sperling a60c9e77 2019-05-22T13:48:28 don't cache objects larger than 1MB
Stefan Sperling 6331840f 2019-05-22T13:06:33 fix got_error_from_errno() arguments in inflate.c
Stefan Sperling da506691 2019-05-22T13:00:28 set_max_datasize() should be a static function
Stefan Sperling b3a605ce 2019-05-22T12:58:40 no need to zero memory in got_inflate_to_mem_mmap()
Stefan Sperling f2c5fe0e 2019-05-22T12:58:26 no need to zero memory in got_inflate_to_mem_fd()
Stefan Sperling 691332dd 2019-05-22T12:54:45 increase GOT_INFLATE_BUFSIZE (trades memory usage for speed)
Stefan Sperling 6dc3b75a 2019-05-22T12:54:14 no need to zero memory in got_inflate_to_mem()
Stefan Sperling b48e2ddb 2019-05-22T12:31:30 set datasize limit of got-read-pack helpers to maximum
Stefan Sperling 1a35c1bc 2019-05-22T11:48:27 fix double-frees in error path when resolving deltas fails
Stefan Sperling c932eeeb 2019-05-22T10:25:50 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.
Stefan Sperling 8cbe5809 2019-05-21T11:08:12 plug /dev/null file descriptor leaks in diffreg.c
Stefan Sperling 8656d6c4 2019-05-20T16:31:38 make struct got_commitable opaque to library users
Stefan Sperling a3df2849 2019-05-20T16:02:16 fix bug reproduced by xfail test 'test_commit_added_subdirs'
Stefan Sperling 7d45c7f1 2019-05-15T07:31:58 error.c: use <limits.h> instead of <sys/param.h>
Stefan Sperling df056ada 2019-05-15T07:27:06 introduce got_error_path()
Stefan Sperling 2ee32b23 2019-05-15T07:09:37 fix build with -DGOT_OBJ_CACHE_DEBUG
Stefan Sperling f6912001 2019-05-15T06:51:55 spawn more pack file helpers again now that leaks got fixed /usr/src updates have become slower for some reason and my best guess is that caching of packed data has become less effective with df613bb4d8662c28a9888714a80ca572bff9d924 (leaks were subsequently fixed by 2cb49fa8fb84f3a8fc2eb6036a6bd9b64c57e347 and by 0dd5271bd8f2a4f92ac3536fcc493eebc39b86e5)
Stefan Sperling 024e9686 2019-05-14T13:22:16 add branch support to 'got update'
Stefan Sperling 08573d5b 2019-05-14T12:16:51 add branch support to 'got checkout'
Stefan Sperling b416585c 2019-05-13T18:19:59 store file's base commit ID in got_commitable and use it for OOD check
Stefan Sperling 016a88dd 2019-05-13T18:02:39 report base commit of fileindex entries to status callback
Stefan Sperling c4e12a88 2019-05-13T17:52:58 rename got_commitable's 'base_id' to 'base_blob_id'; more obvious
Stefan Sperling 0f148cb7 2019-05-13T17:28:57 revert c191ed664f6c437ebc3e0c859c53e48b445401f1 'got ref' should only work with naked ref names; implicitly putting things into 'refs/heads' is a job for something like a 'got branch' command.
Stefan Sperling 6e472abb 2019-05-13T17:27:39 fix a segfault in got_ref_open()
Stefan Sperling aedda007 2019-05-13T17:09:11 make open_ref() tolerate missing reference dirs and files
Stefan Sperling c191ed66 2019-05-13T17:08:16 allow single-component reference names with got_ref_alloc()
Stefan Sperling 08680430 2019-05-13T13:59:50 mention where code for got_path_find_prog() came from
Stefan Sperling 0ee7065d 2019-05-13T13:56:40 make 'got commit' look up EDITOR in PATH The previous code only worked if EDITOR contained an absolute path.
Stefan Sperling 82751bc5 2019-05-13T12:48:44 fix typo in error message and improve indentation
Stefan Sperling 638f9024 2019-05-13T12:40:57 rename got_error_prefix_errno() to got_error_from_errno()
Stefan Sperling 19332e6d 2019-05-13T11:04:22 avoid undefined behaviour (comparison with string literal)
Stefan Sperling a9833bc9 2019-05-13T10:56:15 add got_commit_graph_find_youngest_common_ancestor()
joshua stein 33ad4cbe 2019-05-12T19:53:17 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
Stefan Sperling f5c58ad1 2019-05-12T18:05:59 fix leftover lockfiles from parse_ref_file()
Stefan Sperling a875589a 2019-05-12T17:55:03 fix locking of packed ref file in got_ref_open()
Stefan Sperling 0885ce8f 2019-05-12T17:48:22 handle well-known refs more obviously in got_ref_open()
Stefan Sperling 5b575c25 2019-05-12T17:45:10 don't hide errors in got_ref_open()
Stefan Sperling 7f2a8dc2 2019-05-12T15:33:37 plug fd leak in got_path_dir_is_empty()
Stefan Sperling 280f921b 2019-05-12T15:30:43 heed API namespace: got_dir_is_empty -> got_path_dir_is_empty
joshua stein 3c45a30a 2019-05-12T14:56:24 checkout: if worktree path exists and is empty, suppress mkdir failure
Stefan Sperling 2f17228e 2019-05-11T21:18:39 lock branch reference file during 'got commit' to prevent a race
Stefan Sperling 03df25b3 2019-05-11T19:13:10 disallow directories with 'got add'; add a TODO item for them
Stefan Sperling 1dd54920 2019-05-11T18:50:57 open the file index just once when adding multiple files
joshua stein 2af4a041 2019-05-11T16:21:20 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
Stefan Sperling e009fd0f 2019-05-11T14:30:02 identify an error source correctly
joshua stein 656b1f76 2019-05-11T14:26:12 while (1) -> for (;;)
joshua stein 230a42bd 2019-05-11T13:04:38 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)
joshua stein 48b8b0eb 2019-05-11T10:40:57 error: introduce got_error_prefix_errno for better errno messages
joshua stein 10689f3a 2019-05-11T10:30:34 error: fix definition of got_error_from_errno
Stefan Sperling 72151b04 2019-05-11T09:37:08 introduce got_path_strip_trailing_slashes()
Stefan Sperling 324d37e7 2019-05-11T09:14:30 make got path APIs available to library consumers
Stefan Sperling 0dd5271b 2019-05-10T19:57:25 plug fd leak in got_pack_stop_privsep_child()
Stefan Sperling 2cb49fa8 2019-05-10T19:41:58 revert eb73a30f7effc51c1cfee2864102635e3659f87a Not waiting for children can make us blow the fork() ulimit with lingering zombies; the Ctrl-C issue will need some other fix.
Stefan Sperling df613bb4 2019-05-10T19:21:28 fork less pack file readers to avoid running into ulimits
Stefan Sperling 4229330b 2019-05-10T18:44:42 fix allocation size in alloc_added_blob_tree_entry()
Stefan Sperling 8c4eabf2 2019-05-10T18:40:10 redo: fix tree_entry_dup error path
Stefan Sperling 83a7ae6d 2019-05-10T18:38:59 revert previous
Stefan Sperling 3ffe981f 2019-05-10T18:38:23 fix tree_entry_dup error path
Stefan Sperling 0f63689d 2019-05-10T18:20:01 remove unnecessary allocation in match_ct_parent_path()
Stefan Sperling ce0de6b6 2019-05-10T18:16:20 fix memleak in write_tree()
Stefan Sperling 797eca75 2019-05-10T18:16:03 remove dead code
Stefan Sperling 9ba0479c 2019-05-10T15:09:13 fix memleaks in write_tree()
Stefan Sperling 36a38700 2019-05-10T14:53:03 stop caching head ref's value in struct got_worktree; may become stale
Stefan Sperling 1251a9e5 2019-05-10T13:06:00 note potential problem in the existing out-of-dateness check
Stefan Sperling d56d26ce 2019-05-10T11:24:37 move out-of-dateness check to a helper function
Stefan Sperling 7200e87c 2019-05-10T11:19:49 handle blobs deleted in HEAD correctly in commit out-of-date check
Stefan Sperling 819f385b 2019-05-10T11:16:09 ensure that commits use intended base blobs for changes
Stefan Sperling e75eb4da 2019-05-10T10:55:08 rename field in 'struct commitable'
Stefan Sperling 588edf97 2019-05-10T10:52:00 commit against the HEAD commit, not the work tree's base commit
Stefan Sperling 44d03001 2019-05-09T17:07:33 don't traverse into unmodified subtrees during commit
Stefan Sperling 8eecaf36 2019-05-09T16:18:14 don't close a tree in the wrong place; fixes a bus error crash
Stefan Sperling bc70eb79 2019-05-09T15:45:21 fix bug in concurrent commit check and add another commit test
Stefan Sperling 09f5bd90 2019-05-09T15:33:57 try to detect concurrent commits; not perfect yet (see comments)
Stefan Sperling 768aea60 2019-05-09T14:41:50 fix perms in committed tree entries
Stefan Sperling f2c16586 2019-05-09T13:50:52 update HEAD reference after commit
Stefan Sperling b249b824 2019-05-09T13:47:59 add APIs to change references
Stefan Sperling ebf99748 2019-05-09T13:22:33 update fileindex after commit