Commit Briefs

Thomas Adam

portable: release 0.84.1 (tags/0.84.1)


Thomas Adam

portable: tweak SHA1 detection/libbsd

Don't rely on AC_RUN_IFELSE as this breaks cross-compilation (voidlinux). Although this is better replaced with AC_CHECK_DECL. In template/ include checking for libbsd.


Thomas Adam

portable: set next version


Thomas Adam

portable: release 0.84 (tags/0.84)


Thomas Adam

portable: remove endian.h

This is included portably.


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

portable: update Makefiles

sha1.c -> hash.c


Thomas Adam

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@


Thomas Adam

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

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


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

gotwebd: add missing colon after 'Message' in diff view

Patch by Josiah Frentsos, thanks!


Thomas Adam

bump version number


Thomas Adam

CHANGES for 0.84


Thomas Adam

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@


Thomas Adam

gotwebd: gc unused opendir(). ok stsp@


Thomas Adam

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@



Thomas Adam

gotwebd.conf: sync defaults

The first example is meant to show the default values for all the options. Sync with reality.


Thomas Adam

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


Thomas Adam

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@


Thomas Adam

use newly publicised diff_chunk_type() diff API

To skip chunks without newly added lines. ok stsp@


Thomas Adam

sync files from diff.git e78a8d73c23ee314fdbdf110d5c55866c9ef9680

Moves diff_chunk_type into the public diff API.


Thomas Adam

have ignore patterns with trailing slashes match directories only

ok jamsek