lib/object.c


Log

Author Commit Date CI Message
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...)
Stefan Sperling 03fa71c8 2018-09-06T17:42:46 move some more functions from object.c to object_parse.c
Stefan Sperling a440fac0 2018-09-06T17:33:13 move object parsing code into a separate file
Stefan Sperling 11cdebc1 2018-09-03T00:59:21 remove unused argument from read_commit_object_privsep()
Stefan Sperling cd31e911 2018-07-23T17:49:17 fix a leak and use recallocarray in read_object_header()
Stefan Sperling 7a132809 2018-07-23T11:41:06 fix leak in object_path()
Stefan Sperling fa2f6902 2018-07-23T11:30:26 use got_object_qid_free() consistently
Stefan Sperling ca008b32 2018-07-22T15:38:50 fix leak in got_object_open_by_path()
Stefan Sperling 062ebb78 2018-07-13T00:30:22 replace some calloc() with malloc() in object.c
Stefan Sperling dbc6a6b6 2018-07-12T19:05:28 allow going back to previously blamed commits in tog blame
Stefan Sperling 84451b3e 2018-07-10T13:17:00 implement incremental blame display for tog
Stefan Sperling 63581804 2018-07-09T22:23:00 rename zbuf to inflate
Stefan Sperling 883f0469 2018-06-23T17:57:39 make struct got_tree_object opaque
Stefan Sperling 4842267f 2018-06-22T20:51:08 remove unnecessary fdopen()
Stefan Sperling cc538cdd 2018-06-22T11:45:31 fix mem leak introduced with caching: actually close objects
Stefan Sperling 1943de01 2018-06-22T10:46:10 add a commit cache as well
Stefan Sperling f6be5c30 2018-06-22T10:33:04 add a tree object cache to struct got_repository
Stefan Sperling 7bb0daa1 2018-06-22T01:53:06 add a very simple object cache
Stefan Sperling 835e0dbd 2018-06-21T23:42:37 init output param of got_object_open_as_*
Stefan Sperling a19581a2 2018-06-21T22:04:27 implement got_object_open_as_blob()
Stefan Sperling 67606321 2018-06-21T21:40:51 fix path length accounting in got_object_open_by_path()
Stefan Sperling db37e2c0 2018-06-21T21:32:13 rename 'entry' to 'te' in got_object_open_by_path()
Stefan Sperling 00530cfb 2018-06-21T21:10:38 don't quit loop too early in got_object_open_by_path()
Stefan Sperling 197aa481 2018-06-21T21:05:01 fix bogus free() in got_object_open_by_path()
Stefan Sperling 1cbc02b6 2018-06-21T21:02:45 fix object type check in got_open_object_as_tree()
Stefan Sperling 35e9ba5d 2018-06-21T19:41:20 introduce got_object_blob_dump_to_file()
Stefan Sperling 776d4d29 2018-06-17T12:34:17 add got_object_open_as_tree() and got_object_open_by_path()
Stefan Sperling 788c352e 2018-06-16T19:18:32 store commit timestamps as 'struct tm' in UTC
Stefan Sperling be6a1b5a 2018-06-11T03:17:51 promote commit graph's open_commit() helper to public API
Stefan Sperling 79f35eb3 2018-06-11T03:09:27 rename got_parent_id to got_object_qid; better generic name
Stefan Sperling 7cd42a1a 2018-06-11T02:17:16 free timezone offset strings in got_object_commit_close()
Stefan Sperling 6c281f94 2018-06-11T02:14:44 show timezone offset in 'got log'
Stefan Sperling 4626e416 2018-06-11T01:25:06 parse commit timestamps when opening commits
Stefan Sperling 6e790f45 2018-06-11T00:50:26 move parse_commit_time() to object.c and make public API
Stefan Sperling bacc9935 2018-05-20T13:02:12 show log message above a diff between commits
Stefan Sperling 511a516b 2018-05-19T16:57:12 move got_opentmp* functions to public API; used from tog
Stefan Sperling b419fc47 2018-04-26T22:17:43 error out if child dies or does not exit with success
Stefan Sperling 8b2180d4 2018-04-26T19:47:10 store fd instead of FILE in struct got_pack to prepare privsep
Stefan Sperling be37c2e6 2018-04-24T22:21:09 don't pass redundant program name to setproctitle()
Stefan Sperling 1a6b3ab7 2018-04-24T13:34:24 fix error code in got_object_blob_open()
Stefan Sperling 2967a784 2018-04-24T13:30:34 verify size of blob received from privsep child
Stefan Sperling ff6b18f8 2018-04-24T12:50:21 read blobs through privsep
Stefan Sperling 068fd2bf 2018-04-24T12:27:59 give some privsep functions shorter names