Commit Briefs

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@


c9aa63fb7d Thomas Adam

tweak a gotd regress test to cover incremental 'got fetch'

Previously the gotd tests were only running fresh clones.


ab9f7b8731 Thomas Adam

fix tempfile handling in gotd's got_object_raw_open()

There was a bug where we reused a file stored in *outfd from a previous call, resulting in a raw object backed by a file but with tempfile_idx -1. This then caused bad confusion during deltification. Fix this by passing tempfd to read_raw() functions and only setting *outfd in case it is actually required, and returning tempfd to the repository tempfile pool otherwise. ok tracey


145ca42a7a Thomas Adam

gotwebd: templateify gotweb_render_tag

ok tracey@


617497a67c Thomas Adam

gotwebd: templateify gotweb_render_tags

ok tracey@


ebe6ec920b Thomas Adam

use a caller-specified size limit for mapped files in got_object_raw_alloc()

Without this we end up being confused about whether a raw object has been mapped into memory, leading to crashes. ok op@


1eda26823a Thomas Adam

adjust a misleading error message in got_object_raw_alloc()

ok op@


b296ac1cb1 Thomas Adam

fix *size not being passed out of read_packed_object_raw()

ok op@


aa7a111714 Thomas Adam

tog: add mutt-like =/* keymaps as home/end aliases

Also, separate g/G from home/end in the manual and runtime help text as only the former accept a prefixed count modifier. Based on initial diff from Mikhail. ok stsp@


a2f760e600 Thomas Adam

util/got-build-regress.sh: simplify lockfile cleanup

trap on EXIT too so the lockfile is deleted on quit (both successful and not.) While here simplify a cd too. ok stsp@


b891075b5e Thomas Adam

util/got-build-regress.sh: switch from getopt(1) to getopts

ok stsp@