Commit Briefs


Mark Jamsek

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@


Mark Jamsek

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)


Stefan Sperling

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.


Stefan Sperling

fix documentation of the default unix socket path used by gotwebd

spotted by Paul W. Rankin / rnkn via IRC


Stefan Sperling

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.



Stefan Sperling

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.


Stefan Sperling

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





Stefan Sperling

bump version number


Stefan Sperling

CHANGES for 0.100 (tags/0.100)


Stefan Sperling

sync dist file list


Stefan Sperling

gotadmin sits in section 1, not 8



Stefan Sperling

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.


Stefan Sperling

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@


Mark Jamsek

plug 'got diff obj1 obj2' line metadata memory leak

Despite API callers not requesting it, we collect line metadata due to NULL pointer checks missing a level of indirection. Reported by Kyle Ackerman. ok op and stsp


Omar Polo

plug a leak in a few cmds: forgot to free(cwd) at the end

spotted while investigating for another leak spotted by Kyle Ackerman. ok stsp@ and jamsek




Omar Polo

gotwebd: remove previd and prevset query string parameter

They're no longer used.


Omar Polo

gotwebd: delete dead code

at this point we can't know if the client has disconnected, we just finished parsing the fcgi parameters and started handling the reply. We'll know whether the client disconnected only later, while trying to send the page content.