Commit Briefs

e643a76a2e Thomas Adam

got: set error on asprintf() failure

ok op@


fcbb06bf69 Thomas Adam

replace malloc+memcpy with strndup. no functional change intended

ok stsp@



27b11d77ad Thomas Adam

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

ok op@


7b1db75e88 Thomas Adam

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@


8652e5612d Thomas Adam

gotd: delete trailing blanks spotted while re-reading


64d3958760 Thomas Adam

gotwebd: show committer instead of author in BRIEFS


54ffadaf00 Thomas Adam

gotwebd: use from/via in gotweb_render_commits too

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


f7ee760463 Thomas Adam

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


c115f13dfe Thomas Adam

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


0e762e67ce Thomas Adam

tog: fix {first,last}_displayed_line dead store

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


48a5939564 Thomas Adam

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

ok stsp@


c0ce8a2bca Thomas Adam

catch a few missed got_pathlist_append() error checks

ok stsp@


1a0805676b Thomas Adam

typo: zap double semi-colon



3c726c8451 Thomas Adam

remove now unused fields from struct gotd_client


dccd05b415 Thomas Adam

gotwebd: templateify gotweb_render_diff

ok tracey@; rebased after recent changes.


42de9bd192 Thomas Adam

got: zap dead variable in add_branch()

ok stsp@ op@


62ee7d9474 Thomas Adam

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@


4f3c3d1e69 Thomas Adam

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


9c677dea77 Thomas Adam

regress: use `local' for some variables


e80ef83ebe Thomas Adam

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@


21c2d8be42 Thomas Adam

got: minor refactor of got_pathlist_free() API

Accept flag parameter to optionally specify which pointers to free. This saves callers looping through the list to free pointers. ok + fix stsp@


d639f28bed Thomas Adam

fix uninitialised fildes variables in libexec helpers

Reviewed and uncovered as part of the diff in the forthcoming commit (pathlist API refactor). ok stsp@


53d03f970a Thomas Adam

got: expand diffstat -d option to 'got diff'

Like got log -d, add the switch to 'got diff' to display a diffstat of changes; as per stsp's suggestion, we always include diff output with the diffstat. Disabled in gotwebd (for now :) Includes tweaks from op@ ok stsp@