Commit Briefs

Thomas Adam

gotwebd: abort tree and blob as well


Thomas Adam

gotwebd: abort blame if the client disconnect midway thru

Without setting err when the callback fails we continue the blame machinery.



Thomas Adam

garbage-collect redundant read_logmsg() parameter

As identified and suggested by stsp, with the previous commit, 'strip_comments' is now always set thus no longer needed. ok stsp@


Thomas Adam

got: use timestamp and emptiness to validate log message

As suggested by naddy: consider commit log messages valid provided the temp file time stamp has changed and the file is not empty. This heuristic provides the desired behaviour (i.e., reusing cherrypicked/backed-out log messages) that's currently provided but is simpler to grok. Improved by and ok stsp@


Thomas Adam

convert two files to utf8

ok stsp





Thomas Adam

do not expect to see a DISCONNECT message in repo processes

The parent no longer sends this message. Perform related cleanup in the shutdown path instead. ok op@


Thomas Adam

add functions to extract object ids from fileindex entries

ok stsp


Thomas Adam

fix gotd segfault in libevent while disconnecting clients

Sending a DISCONNECT message to the repo process and then killing it and freeing its structure won't work. The message ends up on internal libevent queues and will soon crash because we have freed the memory for the event structre. Sending that message is a leftover from the times when the repo procs were persistent.


Thomas Adam

rm unused boolean grammar. ok stsp@


Thomas Adam

make edits made to comments count as a log message modification

This supports use of cherrypick/backout without requiring the user to modify the log message of the original commit. ok jamsek, op


Thomas Adam

fix gotd and gotsh usage() function declaration

"function declaration isn't a prototype" should fix the error seen by tracey@ on sparc64


Thomas Adam

make gotd parent dispatch handlers more robust during teardown

We have observed gotd exiting after "cannot find client for fd N" errors. If this occurs then we are likely in the process of disconnecting a client session while processing an event from a child process. Treat the above error as non-fatal and stop processing more events from the child process.


Thomas Adam

tog: reset 1 second refresh rate after starting search

This fixes an issue reported by Mikhail where CPU usage continuously increases if search is started after the refresh rate has dropped from 100ms to 1s by resetting the 1s refresh rate if search is started after fast initialisation has finished. This is not needed in limit_log_view() because the 1s refresh rate is reset in draw_commits() once the screen is redrawn (i.e., commits_needed == 0). Tested by and based on initial patch from Mikhail. ok stsp@


Thomas Adam

drop double process name from some gotd logs

i.e. "listen: listen: shutting down" -> "listen: shutting down" the procname is already prepended by vlog() ok jamsek


Thomas Adam

portable: make bison's location configurable

Some systems have bison (yacc) in a non-standard location. Since Autotolls is setting the YACC environment variable based on the AC_PROG_YACC macro, let the user override this if YACC is set in the environment already. This issue was found by a user of MacPorts. I did not get any feedback from them as to whether this worked, but my own testing indicates this should work.


Thomas Adam

portable: cross-compile pages.c

When building the template files on the host (which is cross-compiled), do so just by handling pages.c appropriately. Based on a patch by op@, and modified by me.



Thomas Adam

got: use intermediate pointers to plug leak on realloc

And save worktree_branch_len for reuse. ok stsp@ and op@


Thomas Adam

nix unnecessary colon in gotd log output

ok op@


Thomas Adam

fix interaction of 'got fetch -b', got.conf, and work tree

Without branches in got.conf for a remote, and without -b/-R options, the fallback to HEAD would only work when not invoked in a work tree. With this fix 'got fetch' should behave as described in the man page. The -b option now overrides both got.conf and the fallback to the work tree's branch. And fallback to HEAD works as expected when invoked in a repository. Also, do not strictly require remote repositories to provide a branch from the refs/heads/ namespace. In such cases users should be able to use -R to select something to fetch. ok jamsek