Commit Briefs
CHANGES for 0.101 (tags/0.101)
s/pack_sha1_ctx/pack_hash_ctx
it's a bit silly to call the context for got_hash with sha1 since it's an API explicitly thought to abstract over the hash algorithm. Also, this is going to cover sha256 pack files soon too.
dial.c: include sha2.h too
Soon got_lib_hash.h will require sha2.h included, the rest of the tree il ready except dial.c
delete some dead code
None of these structures are used anymore, the only thing still used are the GOT_PACK_OBJ_DELTA_OFF_* defines.
use got_object_id_hex instead of got_sha1_digest_to_str
(where possible) The latter assumes that we only have sha1 digests to pretty-print, while the former could, in the future, automatically switch to sha256. At the moment though, this is a no-op.
gotwebd: change how we deal with a non-existant config file
We don't need a config file since we have some defaults, but we also need a way to set them. After the change to move `listen on' to a global rule, we don't add the default socket anymore when there's no config file. Instead, change how we deal with an *existing* config file and leave the rest of parse_function() to handle the case of missing knobs to set up.
tog: squish horizontal scroll bug that draws trailing '.'
When calling span_wline() to compute the number of columns to skip on a string with a column length less than or equal to the number of columns we want to skip (i.e., that the user has scrolled right), the call to wcwidth(3) returns -1 for a '\n', which we replace with a '.' character. Trim trailing newlines before calling span_wline(). ok op@
fix diff view J keymap to diff the next commit in the log
When the last visible commit in the log view is selected while in a log/diff horizontal split, and fullscreen is then toggled in the diff view, the user cannot scroll to the next commit with the diff view J keymap due to a bad predicate guarding a clamp to prevent scrolling off-screen that should only be applied when in the horizontally split log view and not when scrolling from the diff view. The fix also reveals an off-by-one that's only applicable in the hsplit case in the subsequent commit loading logic that also breaks J when attempting to scroll beyond the last loaded commit. New regress added to cover these cases. ok op@ (caveated that he's unsure exactly why the OB1 fix works)
fix previous; as Paul points out this section talks about the repository path
I didn't take the time to read the surrounding lines, sorry.
fix documentation of the default unix socket path used by gotwebd
spotted by Paul W. Rankin / rnkn via IRC
Remove unnecessary sched_yield(2).
Re-applies commit 6b8a2b8fcd99c4365b1aa9513c0f0149beac2491 which was reverted in commit 82954512f323c8a2d4f89d51be1e6b0f707b6c3a because at the time the change broke the 'search' feature. Quick testing suggests search is now working fine, so let's try again.
tweak the error message shown by 'got send' when ancestry has diverged
The previous message steered users towards rebase; nowadays we also have a merge command and send -f. It's tricky to explain all possibilities of what to do next in a single line, but this is probably better than nothing.
show a more useful error when a reference name collides with another
If a reference cannot be created because a file is present where a directory would need to be created to accomodate the new ref's name, report a name collision rather than an obscure mkstemps ENOTDIR error. issue found by Lucas