Commits


remove trailing whitespace; patch by Josiah Frentsos


portable: add back sys/queue.h Now that the handling of including sys/queue.h is better, there's no need to remove those lines from the source. Copy the location of those original sys/queue.h lines from upstream at the same line number, so as to avoid any conflicts in the future.


portable: portably #include siphash.h Now that siphash is being looked for in a portable way, don't assume <siphash.h> as this is most likely not going to be the case on non-BSD systems.


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@


reimplement object-ID set data structure on top of a hash table Siphash suggested by jrick as a better alternative to murmurhash for this use case. with small fixes from and ok op@


check return value of RB_INSERT; ok + memleak fix by op@


fix potential NULL deref in error path of got_object_idset_remove()


reuse existing deltas when creating pack files tested by thomas, naddy, and myself


portable: add FreeBSD support This adds the capability to compile got-portable on FreeBSD.


portable: initial Linux compilation This commit modifies the GoT main branch to be able to compile it under linux.


remove unused function got_object_idset_lookup_data(); same code as idset_get()


include the relevant object ID in NO_OBJ error messages where possible


Add initial support for network protocol. Ported from git9 by Ori Bernstein.


rename got_error_prefix_errno() to got_error_from_errno()


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)


happy new copyright year


remove unused definition of nitems()


avoid use-after-free via got_object_idset_for_each()


allow got_object_idset_for_each() to return an error


remove unnecessary #include


use userspace red-black tree macros, not kernel ones


remove object_idcache; use object_idset instead


implement object idset with a red-black tree


no need to zero new idset elements during allocation


reduce the amount of memcmp() calls via got_object_idset_add()