Commit Briefs

Thomas Adam

pass the argument to calloc in the right order; no-op in practice

reported by smatch.


Thomas Adam

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.


Thomas Adam

portable: rework SHA detection

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


Thomas Adam

portable: remove sha1.h; found portably

Remove sha1.h as this is found portably across systems.


Thomas Adam

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>



Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

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@


Thomas Adam

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@




Thomas Adam

reuse existing deltas when creating pack files

tested by thomas, naddy, and myself


Thomas Adam

portable: add FreeBSD support

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


Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.






joshua stein

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)


Stefan Sperling

happy new copyright year


Stefan Sperling

remove unused definition of nitems()




Stefan Sperling

remove unnecessary #include