Commit Briefs

Thomas Adam

add missed `size' initialization for use with getline(3)

ok tb@



Thomas Adam

make gotd repo_read store want/have commit IDs in ID sets rather than arrays

Currently only used to detect and avoid storing duplicate IDs sent in want and have lines by the client. If in the future we ever wanted to check which IDs the client has already sent us we could now do O(1) hash table lookups rather than iterating arrays. ok op@



Thomas Adam

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@


Thomas Adam

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

Gap in the documentation pointed out by James Cook.


Thomas Adam

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.


Thomas Adam

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@


Thomas Adam

remove now unused sha1 handling from inflate and deflate

both were changed to use the new got_hash APIs.


Thomas Adam

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

ok stsp


Thomas Adam

portable: configure: remove unused variable

found_libbsd isn't used any more.


Thomas Adam

portable: update PLATFORM display

Fixes openbsd.



Thomas Adam

portable: improve SHA detection

Original patch from Omar Polo. Tweak by me.


Thomas Adam

portable: remove compat/xmalloc.[ch]

These wrappers aren't used in -portable. From Omar Polo.


Thomas Adam

portable: add LICENCE util/got-portable-ver.sh to dist

Update EXTRA_DIST to include these two files.


Thomas Adam

portable: add missing copyright headers



Thomas Adam

portable: template: use Makefile.common

libbsd-overlay needs to be declared properly with the correct AM_CFLAGS, but this only happens via a common Makefile.common.in template which gets filled out at ./configure time. This properly ensures libbsd compat libraries, such as getprogname() are correctly found on the system.


Omar Polo

portable: template: add AC_USE_SYSTEM_EXTENSIONS

Fixes, for example, a few warnings on GNU systems where -D_GNU_SOURCE needs to be used for asprintf(3) visibility. Patch by Anna Vyalkova, thanks!



Thomas Adam

fix bad wording used in previous commit



Thomas Adam

properly initialize csum struct in write_packed_object()

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


Thomas Adam

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@