Commit Briefs

b54930d535 Omar Polo

add got_repo_get_object_format()

and use it to avoid hardcoding the digest type in a few places. ok stsp@


87a3ab84d3 Omar Polo

provide functions to parse/serialize different hashes

it abstracts over the hash type and ensures that object ids are zero'ed before their sha1 digest is written. Needed by the incoming sha256 support. ok stsp@


53bf0b5419 Omar Polo

rename lib/sha1.c to lib/hash.c

It will soon grow functions to deal with sha256 too. stsp@ agrees.


5822e79e39 Omar Polo

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>


c7a4fcc8be Omar Polo

gotadmin pack: add a -D flag to force using ref-delta

Intended mostly for the regress suite, so we'll be able to test also the ref-delta code paths. ok stsp@


839bbaae43 Omar Polo

gotd, gotadmin: install packfiles and index files as 0444

gotd used 0600 (due to mkstemps(3)), gotadmin 0644; change it to 0444 since packfiles shouldn't change once created. Mirrors what git does. ok stsp@


b90054ed55 Stefan Sperling

use mkstemps(3) instead of mkstemp(3) for opening named temporary files

Allows 'got commit' to use a ".diff" suffix for temporary diff files. ok op@


cae60ab8f2 Stefan Sperling

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.


a32780aad7 Stefan Sperling

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@


894e4711ff Stefan Sperling

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@


5e91dae4dd Stefan Sperling

remove trailing whitespace; patch by Josiah Frentsos


2edc2f9dc1 Florian Obser

If the first readdir() returns NULL err is uninitialized.

This can't happen in practice, but llvm's scan-build doesn't know this. OK stsp


d7b5a0e827 Stefan Sperling

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@



8934ea8b1b Omar Polo

factorize imsg_clear calls after imsg_flush failures

imsg_clear frees and closes resources allocated as part of enqueueing imsgs so it's a no-op after reads. discussed with and ok stsp@


67fd684965 Stefan Sperling

reuse existing deltas when creating pack files

tested by thomas, naddy, and myself




211cfef0b2 Stefan Sperling

use time-based rate-limiting for gotadmin progress output

Suggested by naddy some time ago. ok tracey


e7ae0bafef Stefan Sperling

add O_CLOEXEC (close-on-exec) to openat(2) calls

suggested by millert ok thomas_adam


8bd0cdad05 Stefan Sperling

add O_CLOEXEC (close-on-exec) flag to open(2) calls

suggested by millert ok thomas_adam



abc59930d5 Christian Weisgerber

indentation fixes


f8a36e2210 Stefan Sperling

add 'got send' command for sending changes to remote repositories

Known to work against git-daemon and github Git server implementations. Tests by abieber, naddy, jrick, and myself. Man page additions reviewed by Lucas.