|
db9b9b1c
|
2022-06-14T20:26:15
|
|
let got-read-pack be explicit about whether it could enumerate all objects
This allows the main process to avoid looping over all object IDs again
in case the pack file used for enumeration is complete.
ok op@
|
|
0ab4c957
|
2022-06-13T17:13:59
|
|
Bring back object enumeration inside got-read-pack as a fast path.
The problem that was found in the earlier version has been fixed.
ok op@
|
|
e44d9391
|
2022-06-07T19:20:01
|
|
revert object enumeration in got-read-pack for now; needs more work
This implementation marked commits and trees as enumerated before all trees
which they depend on were enumerated. This behaviour leads to incomplete
pack files when a tree is only partially packed and got-read-pack hits
a missing tree entry as a result. The algorithm must be reworked such
that packed leave nodes are marked enumerated first, then bubble-up.
Found by op@
|
|
cee6a7ea
|
2022-06-07T15:56:46
|
|
implement object enumeration support in got-read-pack
ok op@
|
|
fae7e038
|
2022-05-07T11:50:56
|
|
run the search for deltas to reuse in got-read-pack
This significantly speeds up the deltification step of packing by
avoiding imsg traffic. gotadmin no longer requests individual raw
deltas from got-read-pack to check whether it can reuse them.
Instead, got-read-pack obtains a list of objects we want to pack,
and hands back the list of all deltas in its pack file which can be
reused. Messages are now batched such that imsg buffers are filled
as much as possible.
Another advantage is that deltas we are not going to reuse will
no longer be written to the delta cache file, saving disk space.
Before this patch, any raw delta candidate was written to the
delta cache file by got-read-pack, and the decision whether to
reuse the delta happened afterwards in the gotadmin process.
Code for reading individual raw deltas is now unused and could be
removed at some point.
ok op@
|
|
2d9e6abf
|
2022-05-04T13:43:24
|
|
store deltas in compressed form while packing, both in memory and cache file
This reduces memory and disk space consumption during packing.
with tweaks + memleak on error fix from op@
ok op@
|
|
d7b5a0e8
|
2022-04-20T14:00:12
|
|
inline struct got_object_id in struct got_object_qid
Saves us from doing a malloc/free call for every item on the list.
ok op@
|
|
67fd6849
|
2022-02-13T00:10:25
|
|
reuse existing deltas when creating pack files
tested by thomas, naddy, and myself
|
|
64a8571e
|
2022-01-07T23:32:27
|
|
map raw object files into memory while packing if possible
|
|
94dac27c
|
2021-10-15T09:24:56
|
|
raw object blocksize and read buffer were unused; remove them
|
|
284e7663
|
2021-10-15T09:21:46
|
|
remove unused internal raw object API functions
|
|
d3c116bf
|
2021-10-15T09:10:14
|
|
cache raw objects in order to speed up gotadmin pack
|
|
cc7a354a
|
2021-10-15T07:15:00
|
|
reuse temporary files which were not used by got_object_raw_open()
|
|
d5c81d44
|
2021-07-08T11:03:29
|
|
verify object ID checksums while loose objects are being accessed
|
|
b3d68e7f
|
2021-07-03T19:49:37
|
|
implement 'gotadmin cleanup'
|
|
762d73f4
|
2021-04-10T13:13:56
|
|
introduce got_object_open_loose_fd() for library-internal use
|
|
59d1e4a0
|
2021-03-10T22:49:22
|
|
implement raw object data access; this will be required for packing
|
|
ca6e02ac
|
2020-01-07T11:14:52
|
|
add support for first-parent history traversal to got-read-pack
|
|
5aa81393
|
2020-01-06T19:38:23
|
|
add copyright year for files already touched in 2020
|
|
2c98ee28
|
2019-11-29T04:35:09
|
|
NAME_MAX does not account for a terminating NUL
|
|
56e0773d
|
2019-11-28T02:32:58
|
|
convert tree entries from SIMPLEQ to an array
|
|
5f25cc85
|
2019-11-26T22:43:12
|
|
remove obj->path_packfile which is unused nowadays; saves a few free() calls
|
|
8aa93786
|
2019-08-22T18:04:32
|
|
make 'got cat' output look more like raw object files
|
|
ed175427
|
2019-05-07T19:53:44
|
|
more progress on generating new tree entries
|
|
90bdb554
|
2019-04-11T14:30:40
|
|
expose a static helper function as got_object_get_path()
|
|
e02fc99f
|
2019-03-19T12:40:44
|
|
move declaration of object labels to got_lib_object.h
|
|
5d56da81
|
2019-01-13T17:15:53
|
|
happy new copyright year
|
|
e650241d
|
2019-01-13T16:00:55
|
|
remove unused field from struct got_blob_object
|
|
ac544f8c
|
2019-01-13T15:58:39
|
|
pass smallish blobs directly via imsg buffer
|
|
6e72e6a3
|
2018-12-23T23:21:35
|
|
there's no point in embedding the object header in commits
|
|
1785f84a
|
2018-12-23T23:15:42
|
|
eliminate got_object_open() round-trip when opening commits
|
|
ddf1c734
|
2018-12-23T14:54:03
|
|
make got_object_blob_id_str() a private API
|
|
15a94983
|
2018-12-23T14:48:47
|
|
remove struct got_object from public library API
|
|
45d799e2
|
2018-12-23T12:10:27
|
|
make commit objects opaque in the library's API
|
|
f4a881ce
|
2018-11-17T16:04:05
|
|
more support for tag objects; new code is not yet reachable
|
|
41fa1437
|
2018-11-05T15:30:15
|
|
back out mini-commits; no significant performance difference
|
|
05e1230b
|
2018-11-05T12:42:03
|
|
rename got_commit_object_mini to got_mini_commit_object
|
|
e32baab7
|
2018-11-05T12:39:49
|
|
add an object cache for mini commits
|
|
7762fe12
|
2018-11-05T11:46:30
|
|
add a mini-commit object for use by commit graph
|
|
c59b3346
|
2018-09-11T12:29:46
|
|
stop sending deltas in imsg; cache deltas in got-read-pack
|
|
a440fac0
|
2018-09-06T17:33:13
|
|
move object parsing code into a separate file
|
|
883f0469
|
2018-06-23T17:57:39
|
|
make struct got_tree_object opaque
|
|
7bb0daa1
|
2018-06-22T01:53:06
|
|
add a very simple object cache
|
|
15c8b0e6
|
2018-04-24T10:23:38
|
|
extract blobs to tempfiles instead of reading through zlib
|
|
e033d803
|
2018-04-23T18:30:26
|
|
read tree objects with privsep
|
|
bff6ca00
|
2018-04-23T15:38:35
|
|
read commit objects with privsep
|
|
718b3ab0
|
2018-03-17T17:50:48
|
|
rename the library-internal headers again to a common prefix
|