lib/object.c


Log

Author Commit Date CI Message
Stefan Sperling e1a68182 2020-01-07T17:49:17 fix pack index cache; don't open/close pack index files needlessly
Stefan Sperling ca6e02ac 2020-01-07T11:14:52 add support for first-parent history traversal to got-read-pack
Stefan Sperling 56e0773d 2019-11-28T02:32:58 convert tree entries from SIMPLEQ to an array
Stefan Sperling 5f25cc85 2019-11-26T22:43:12 remove obj->path_packfile which is unused nowadays; saves a few free() calls
Stefan Sperling 6dd1ece6 2019-11-10T11:32:03 when an object id string is bad, include the bad string in the error message
Stefan Sperling ddc7b220 2019-09-08T18:29:14 do not leak ibuf in error paths of read_*_privsep()
Stefan Sperling aba9c984 2019-09-08T17:14:34 obtain repo format version and commit author name/email from .git/config
Stefan Sperling 63c5ca5d 2019-08-24T20:56:15 detect and ignore Git submodules
Stefan Sperling 01073a5d 2019-08-22T14:17:38 initial 'got cat' implementation
Stefan Sperling b02560ec 2019-08-19T09:54:52 fix number of lines accounted for during blame
Stefan Sperling f595d9bd 2019-08-14T22:51:13 fix line offset calculations in got_object_blob_dump_to_file()
Stefan Sperling 5d844a1e 2019-08-13T15:41:46 don't attempt to parse Git's "leightweight" tags as real tag objects
Stefan Sperling 8d2c5ea3 2019-08-13T10:49:23 don't leak memory for pack file path when opening objects
Stefan Sperling 78695fb7 2019-08-12T12:38:08 fix blame with single-commit history and with files without \n
Stefan Sperling d24820bf 2019-08-11T21:19:14 add support for tag objects to 'got diff'
Stefan Sperling 41d2888b 2019-08-11T20:03:36 move an assignment closer to error check in got_object_get_path()
Stefan Sperling e82b1d81 2019-07-27T19:12:22 switch back to searching packed objects first; it is indeed faster
Stefan Sperling 34f480ff 2019-07-27T18:36:14 open local objects before searching packs; faster on large repos
Stefan Sperling e09a504c 2019-06-28T20:59:14 introduce support for abbreviated object IDs
Stefan Sperling 2246482e 2019-06-25T12:27:42 make search actually work in 'tog blame'
Stefan Sperling 6c4c42e0 2019-06-24T22:28:11 implement search for 'tog blame'
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 da506691 2019-05-22T13:00:28 set_max_datasize() should be a static function
Stefan Sperling b48e2ddb 2019-05-22T12:31:30 set datasize limit of got-read-pack helpers to maximum
Stefan Sperling 638f9024 2019-05-13T12:40:57 rename got_error_prefix_errno() to got_error_from_errno()
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
Stefan Sperling 324d37e7 2019-05-11T09:14:30 make got path APIs available to library consumers
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 ed175427 2019-05-07T19:53:44 more progress on generating new tree entries
Stefan Sperling 90bdb554 2019-04-11T14:30:40 expose a static helper function as got_object_get_path()
Stefan Sperling a5b57ccf 2019-04-11T13:37:50 omit unused mode argument to open(2)
Stefan Sperling b7011c59 2019-04-06T06:05:44 fix double-free in error path of open_blob()
Stefan Sperling a129376b 2019-03-29T00:04:52 add initial implementation of 'got revert'
Stefan Sperling 7baf5860 2019-03-19T12:37:32 avoid code duplication in error case of open_blob()
Stefan Sperling 41496140 2019-02-21T15:17:36 prevent double-close(2) of file descriptors passed in imsg
Stefan Sperling 3a6ce05a 2019-02-11T12:32:53 check for errors from close(2)
Stefan Sperling fb43ecf1 2019-02-11T11:59:09 check for errors from fclose()
Stefan Sperling cbe7f848 2019-02-11T11:35:55 check for fflush() errors
Stefan Sperling 0bd18d37 2019-02-01T22:16:47 add potentially useful helpers for tag objects and refs
Stefan Sperling 5d56da81 2019-01-13T17:15:53 happy new copyright year
Stefan Sperling ac544f8c 2019-01-13T15:58:39 pass smallish blobs directly via imsg buffer
Stefan Sperling de060dff 2018-12-24T17:39:23 handle zero-length files in open_blob() correctly
Stefan Sperling 454a6b59 2018-12-24T17:32:40 fix fwrite() call in got_object_blob_dump_to_file()
Stefan Sperling b6752625 2018-12-24T17:28:46 fix an unchecked fwrite() call in got_object_blob_dump_to_file()
Stefan Sperling aea5f015 2018-12-24T14:29:50 drop dead code from got_privsep_send_obj_req()
Stefan Sperling 9f2369b0 2018-12-24T14:25:18 make all the read_privsep functions local to object.c
Stefan Sperling ebc55e2d 2018-12-24T14:18:56 eliminate got_object_open() round-trip when opening blobs
Stefan Sperling 268f7291 2018-12-24T11:18:58 eliminate got_object_open() round-trip when opening tags
Stefan Sperling 13c729f7 2018-12-24T09:35:07 eliminate got_object_open() round-trip when opening trees
Stefan Sperling 8524ff9a 2018-12-23T23:45:06 don't clean up twice in start_pack_privsep_child()
Stefan Sperling 711fb6e8 2018-12-23T23:41:25 de-duplicate some code I copied around in object.c
Stefan Sperling a158c901 2018-12-23T23:35:37 make all the _packed_read_privsep() functions local to object.c
Stefan Sperling 6e72e6a3 2018-12-23T23:21:35 there's no point in embedding the object header in commits
Stefan Sperling 1785f84a 2018-12-23T23:15:42 eliminate got_object_open() round-trip when opening commits
Stefan Sperling 4796fb13 2018-12-23T15:09:42 pass object ID to open_loose_object() instead of an object
Stefan Sperling 15a94983 2018-12-23T14:48:47 remove struct got_object from public library API
Stefan Sperling 6fcac457 2018-11-19T10:05:28 store number of lines in int instead of size_t
Stefan Sperling b7cd37e5 2018-11-19T00:05:48 eliminate strlen() in got_object_id_by_path()
Stefan Sperling 3b7f9878 2018-11-19T00:04:25 eliminate strlen() call in got_object_tree_path_changed()
Stefan Sperling f4a881ce 2018-11-17T16:04:05 more support for tag objects; new code is not yet reachable
Stefan Sperling d1451975 2018-11-11T13:52:20 add custom error code for 'no such tree entry' errors
Stefan Sperling 91a3d81f 2018-11-11T13:41:46 introduce got errors with custom messages; add one for ERR_NO_OBJ
Stefan Sperling 63da309a 2018-11-07T05:22:46 tree entries are sorted, so find_entry_by_name() can exit early
Stefan Sperling 08451938 2018-11-05T23:23:23 no need to zero path during allocation in get_packfile_path()
Stefan Sperling f054b67a 2018-11-05T22:28:03 remove object_idcache; use object_idset instead
Stefan Sperling 984e8a45 2018-11-05T21:18:58 implement object idset with a red-black tree
Stefan Sperling 29696368 2018-11-05T16:58:13 rename local variable in got_object_tree_path_changed()
Stefan Sperling 41fa1437 2018-11-05T15:30:15 back out mini-commits; no significant performance difference
Stefan Sperling 710f3f4e 2018-11-05T15:26:18 make got-read-pack pre-seed the main process mini commit cache
Stefan Sperling 05e1230b 2018-11-05T12:42:03 rename got_commit_object_mini to got_mini_commit_object
Stefan Sperling e32baab7 2018-11-05T12:39:49 add an object cache for mini commits
Stefan Sperling 7762fe12 2018-11-05T11:46:30 add a mini-commit object for use by commit graph
Stefan Sperling 77880158 2018-11-04T13:09:52 move code not used by libexec tools out of object_parse.c
Stefan Sperling 2673a8da 2018-09-19T20:01:20 whitespace
Stefan Sperling 298a4a4b 2018-09-19T20:00:36 avoid unnecessary strlen() call in find_entry_by_name()
Stefan Sperling d9e7e1f6 2018-09-19T16:08:32 match tree entries exactly, not by prefix, in find_entry_by_name()
Stefan Sperling 71eb0e7f 2018-09-16T19:24:26 eliminate redundant cache search in got_object_open_as_tree()
Stefan Sperling 434025f3 2018-09-16T19:22:12 eliminate redundant cache search in got_object_open_as_commit()
Stefan Sperling e8eb494a 2018-09-16T19:18:01 check caches first in got_object_open_as_{tree,commit}()
Stefan Sperling 59790a32 2018-09-15T21:41:21 search pack index before doing a stat for loose objects
Stefan Sperling 65a9bbe9 2018-09-15T21:23:55 avoid strdup in got_object_id_by_path() and got_object_tree_path_changed()
Stefan Sperling a31cea73 2018-09-15T20:43:39 fix leaked trees in got_object_tree_path_changed()
Stefan Sperling f970fa8a 2018-09-15T20:27:04 fix filtering for directory paths in 'got log'
Stefan Sperling 07862c20 2018-09-15T15:32:22 introduce got_object_tree_path_changed() and use it in 'got log'
Stefan Sperling 27d434c2 2018-09-15T13:52:06 replace got_object_open_by_path() with got_object_id_by_path()
Stefan Sperling 6402fb3c 2018-09-15T13:21:51 change got_object_get_id() semantics; avoids pointless allocations
Stefan Sperling 2ff12563 2018-09-15T12:39:48 fix 'make PROFILE=1' build
Stefan Sperling 3840f4c9 2018-09-13T00:06:12 fix "rpath" pledge violation in got-read-pack
Stefan Sperling 6bef87be 2018-09-11T11:23:44 move object cache out of repository.c to its own file
Stefan Sperling 55da3778 2018-09-10T18:39:31 read packed blobs with privsep
Stefan Sperling e7885405 2018-09-10T17:26:06 read packed trees with privsep
Stefan Sperling cfd633c2 2018-09-10T17:07:59 read packed commits with privsep
Stefan Sperling 876c234b 2018-09-10T12:30:47 start reading pack files with privsep; still WIP
Stefan Sperling 7e212e3d 2018-09-09T17:24:46 make got_packfile_extract_object_to_mem() accept pack instead of repo
Stefan Sperling 24140570 2018-09-09T17:19:27 make got_packfile_extract_object() accept a pack instead of a repo
Stefan Sperling 2090a03d 2018-09-09T17:00:33 make got_packfile_open_object() accept a pack instead of a repo
Stefan Sperling ad242220 2018-09-08T16:40:28 implement fork+exec (and by the way, fix the build...)