Commit Briefs

Omar Polo

histedit_parse_list: avoid needless free(line)

getline(3) allows to safely re-use the storage. While here rename `size' to `linesize', `len' to `linelen', and properly initialize `linesize' to zero; suggested by tb@ ok tb@


Stefan Sperling

in got.1, clarify what users are expected to do during 'histedit -e'

Gap in the documentation pointed out by James Cook.


Stefan Sperling

fall back to vi(1) instead of ed(1) if neither EDITOR nor VISUAL are set

ed users are reading files with their minds rather then their eyes, and might therefore be missing important visual clues we write into files before the user gets to edit them. Use of vi(1) ensures that such clues will not be missed.


Omar Polo

fix GOT_IMSG_COMMIT_TRAVERSAL_REQUEST

The sending and receiving side are sending the data differently. It works now by chance since a struct got_object_id is "just" a SHA1_DIGEST_LENGTH sized buffer, but will break in the future. Furthermore, the structure of the data as described in got_lib_privsep.h is not respected, as the path_len field is not transmitted. Change it to send/receive a whole struct got_object_id, the path without the NUL and the proper length. (The path is also actually mandatory, so assert it too.) improvements + ok stsp@


Omar Polo

remove now unused sha1 handling from inflate and deflate

both were changed to use the new got_hash APIs.


Christian Weisgerber

add xfail test for "got update" replacing a file with a directory

ok stsp


Christian Weisgerber

regress: git_rm will cd into the test repo by itself



Stefan Sperling

fix bad wording used in previous commit



Stefan Sperling

properly initialize csum struct in write_packed_object()

fixes send.sh test fallout on arm64 and should also fix i386 ok op@


Christian Weisgerber

format message digest as hex string directly without snprintf()

ok op


Omar Polo

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@


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@


Omar Polo

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

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