Commits


let callers of got_pack_create() configure rate-limiting of progress reporting Needed by future gotd(8), where progress reports will be sent to a network socket, rather than a local terminal.


move privsep code from pack_create.c into new file pack_create_privsep.c Needed by future gotd(8). ok op@


move got_opentempfd() call out of got_pack_create() Future gotd(8) needs to run got_pack_create() in a chroot environment, so we can no longer open new temporary files inside got_pack_create(). ok op@


make got_pack_create() write to a file descriptor instead of a stdio FILE The old code required a seekable output file. This conflicts with requirements of future gotd(8), which will write pack file data to network sockets. ok op@


remove trailing whitespace; patch by Josiah Frentsos


mark got_error_fmt as printf-like and fix the arisen errors ok stsp@


implement support for commit coloring in got-read-pack for speed ok op, tracey


build with -Wwrite-strings Throwing this into the mix for a while, we can always get rid of it again if it becomes annoying. No objections from stsp@


allow start_pack_privsep_child() to be called from outside lib/object.c


build with -Wmissing-prototypes ok stsp@


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@


fix error handling in find_pack_for_enumeration(); pointed out by op@


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@


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@


free id and path in load_packed_tree_ids() on error, else they would leak pointed out by op@