Commits


pass the argument to calloc in the right order; no-op in practice reported by smatch.


remove dependency of gitwrapper, gotctl, and gotsh on object_parse.c Move some functions from object_parse.c into hash.c. These functions either require hash.c code anyway or contain object ID implementation internals. Add a new file object_qid.c, for got_object_id_queue and got_object_qid. This new file must be linked to virtually every program.


include sha2.h too where sha1.h is included In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>


remove trailing whitespace; patch by Josiah Frentsos


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


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()


fix bug where duplicates were being added to object idset