Commit Briefs
remove now unused sha1 handling from inflate and deflate
both were changed to use the new got_hash APIs.
properly initialize csum struct in write_packed_object()
fixes send.sh test fallout on arm64 and should also fix i386 ok op@
add some helper functions to compute hashes
This adds a set of functions to abstract over SHA1Init, SHA1Update, SHA1Final, their respective SHA256 variants and how to compare digests. Replace all the SHA1*() usage with the new APIs. It's a preparatory step for sha256 handling. ok stsp@
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@
rename lib/sha1.c to lib/hash.c
It will soon grow functions to deal with sha256 too. stsp@ agrees.
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>
gotwebd: add missing colon after 'Message' in diff view
Patch by Josiah Frentsos, thanks!
CHANGES for 0.84 (tags/0.84)
fix tog diff between arbitrary commits
Don't assume commit info is always written. This is only true when diffing a commit against (one of) its direct parent(s). Otherwise we perform an invalid read on a tmp got_diff_line array and end up passing bogus offsets to fseeko(). Bug found and fixed by stsp with a minor tweak by me. ok jamsek for stsp's initial diff ok stsp@
gitconfig.c: look for comments after trimming the start of the line
This fixes the (harmless) errors raised by gitconfig.c on indented comment lines and adds a test case for it. Reported by James Cook, thanks! ok stsp@
gotwebd.conf: sync defaults
The first example is meant to show the default values for all the options. Sync with reality.
fix 'got merge' so it parses gitconfig for author
cmd_merge is the only subcommand that may create commits that doesn't parse the git config files, thusly failing for users without GOT_AUTHOR defined. Problem reported by James Cook who also provided an initial test case, thanks! ok jamsek
fix "got fetch" hang against out-of-date remote repositories
Do not assume that remote repositories will always have our objects. In Git protocol terms: Do not wait for an ACK from the server before sending the final "done" message. Otherwise servers might be waiting for more have-lines from us in order to find a common ancestor, which will never be sent by us. Problem reported by James Cook who also provided an initial test case ok op@
use newly publicised diff_chunk_type() diff API
To skip chunks without newly added lines. ok stsp@
sync files from diff.git e78a8d73c23ee314fdbdf110d5c55866c9ef9680
Moves diff_chunk_type into the public diff API.