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.


portable: rework SHA detection Simply the SHA detection by not predicating on libcrypto, but instead checking individual header files.


portable: remove sha1.h; found portably Remove sha1.h as this is found portably across systems.


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


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