Commit Briefs

Omar Polo

gotwebd: bubble up got_get_repo_tags

This bubbles up the call to got_get_repo_tags from gotweb_render_tags to its caller, gotweb_process_request and gotweb_render_summary. It helps simplifying gotweb_render_summary and making it easier to templateify, but also helps in untangling a bit the code. At this point gotweb_render_tags becomes just a wrapper to gotweb_render_tags_tmpl so switch completely to it. ok jamsek


Omar Polo

gotwebd: templateify gotweb_render_branches

no functional change intended. Bubble up the allocation of the reflist from gotweb_render_branches to gotweb_render_summary (its only caller) and rewrite it as a template. ok tracey@


Mark Jamsek

got: style(9) and cleanup failure leaks lib/diff.c

Spotted while implementing diffstat plus one introduced with diffstat code. Don't leak 'change' on got_pathlist_append() error. And don't leak modestr{1,2} and l{1,2} char pointers in diff_blobs() and got_diff_tree(), respecitvely. Regarding modestr leaks, rather than free at all error return points, use op's suggestion to lift modestr vars to function scope. ok op@


Mark Jamsek

got: set error on asprintf() failure

ok op@


Omar Polo

replace malloc+memcpy with strndup. no functional change intended

ok stsp@



Stefan Sperling

use just one pointer variable to keep track of a client's repo process

ok op@


Stefan Sperling

update client state tracking in the gotd parent process

The session process takes over the old state definitions under a new name ("session state"). The parent only needs to keep track of whether a client has been granted access, so it only uses two states: NEW, and ACCCESS_GRANTED which is set as soon as the auth process has granted repository access and before the session and repo_read/repo_write children are started. Because 'gotctl info' can no longer observe the session state remove support code for printing it. ok op@




Omar Polo

gotwebd: use from/via in gotweb_render_commits too

like the previous, show also the committer if different from the author.


Omar Polo

gotwebd: make commit page more like `got log' / tog

- drop the "diff commit1 commit2" header; it's already showed in the body of the diff. - hide the tree id (not that useful to show.) - show the committer if different from the author. - use From/Via for Committer/Author. discussed with jamsek, stsp, tracey ok jamsek tracey


Stefan Sperling

remove support for showing client capabilities in 'gotctl info'

The gotd parent process has lost access to client capabilities. Take the easy way out and remove related code. If needed, client capabilities can still be found in the debug log with 'gotd -v'. ok op, jamsek


Mark Jamsek

tog: fix {first,last}_displayed_line dead store

Both are already assigned just above in open_diff_view() ok op@


Mark Jamsek

typo: pass rejectfile--not outfile--to got_ferror()

ok stsp@


Mark Jamsek

catch a few missed got_pathlist_append() error checks

ok stsp@


Mark Jamsek

typo: zap double semi-colon




Omar Polo

gotwebd: templateify gotweb_render_diff

ok tracey@; rebased after recent changes.


Mark Jamsek

got: zap dead variable in add_branch()

ok stsp@ op@


Stefan Sperling

add a gotd session process, split off from the parent process

The new session process is able to manipulate files in the repository and keeps track of the read/write client session state. The parent process now restricts its view of the filesystem to the absolute path stored in argv[0], and combines this with unveil "x" on this path. As a result the parent process can only re-exec itself. small tweaks + ok op@


Omar Polo

regress: strip trailing / from GOT_TEST_ROOT

otherwise most test fails because of double "/" ending in paths and tricking some check into thinking that's failed. ok jamsek stsp



Mark Jamsek

add regress for 'got diff -d' and minor output fix

Ensure an actual file path is displayed in the 'got diff -d -c commit path ...' case when one of the specified paths is a deleted file. Prior to this, the unhelpful "/dev/null" label was shown instead. Includes some copypasta fixes noted by op. ok stsp@ op@