Commits


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.


change got_imsg_painted_commit to use a object id struct ok stsp@


gotd: use a struct got_object_id instead of an hash buffer ok stsp@


gotd regress: update error message


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.


gotwebd: plug fd leak in error path


swap error check in got_gotweb_closefile() to always call ftruncate


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 previous: when using so many words, might as well mention fetch


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


fix histedit -e bug where reverting all changes causes histedit -c cycles ok op@


adjust some SIZE_MAX checks; ok millert@


trim down the somewhat confused one-line description of gotwebd.8


bump version number


CHANGES for 0.100


sync dist file list


gotadmin sits in section 1, not 8


make got.1 point out all the companion tools for easy discovery by new users


reintroduce the 'got init' command as an alternative to 'gotadmin init' New users trying out Got for the first time have reported trouble with finding a way to create a new repository, based on their assumption that Got works like Git which provides a 'git init' command. It doesn't cost us much effort to keep this command available in both programs to make discovery a bit easier for new users coming from Git.


fix pack file transfers which do not use sidebands Found while running 'got clone' against a git9 server, after an unrelated issue was reported by Lucas on IRC, thanks! ok op@