Commits


got-build-regress.sh: add another round of testing with ref-deltas ok stsp


regress: run gotadmin pack -D if $GOT_TEST_PACK=ref-delta ok stsp


gotadmin pack: add a -D flag to force using ref-delta Intended mostly for the regress suite, so we'll be able to test also the ref-delta code paths. ok stsp@


got-build-regress.sh: use -eq/-ne instead of ==/!= for numbers


regress: allow to run only a subset of the test cases This allows to run only the test cases named on the command line.


add -n to 'got commit' usage; patch by Josiah Frentsos


keep regress testname copypasta fix from 2a19e2e21a s/fetch_branch/fetch_honor_wt_conf_bflag so we don't report the wrong test in the case of failure. The incorrect testname was introduced in 1cb79834ea as the result of too much copypasta. It was subsequently fixed in 2a19e2e21a but then backed-out.


backout got: always fetch remote HEAD except when -b is used As pointed out by naddy, this behaviour is not ideal when users want to limit their repository to a particular branch which will diverge from HEAD over time, such as -stable branches. See https://marc.gameoftrees.org/mail/1676388048.8632_0.html


got: always fetch remote HEAD except when -b is used Rather than only fetch HEAD when there are no branches set in got.conf and there is no branch to be inferred from a work tree, or said branches don't exist on the server, always fetch HEAD unless 'got fetch -b branch' is used. ok stsp@


got.1: tweak commit -A description. ok jamsek


got: drop commit -A $GOT_AUTHOR restriction As discussed with op and stsp on irc, this prevents the valid case of changing a commit's author to yourself during a histedit operation, and potentially blocks other valid use cases too. ok stsp@ and op@


got/tog/gotadmin: pledge earlier In the case of tog move setlocale(3) before pledge(2), as suggested by stsp. ok stsp@


send_tree_entries: simplify len computing


make 'got fetch -b branch' error reporting more helpful The patch to got-fetch-pack.c was written by stsp with only minor tweaks by me. Regress updated to account for the change in reporting. stsp's original got-fetch-pack.c diff ok op jamsek ok stsp@


regress: fetch -b/got.conf/wt/remote HEAD interaction The added test checks we honour the correct precedence of branches to be fetched, which is determined by: the -b flag; branches set in got.conf; the work tree's current branch; and the remote repository's HEAD branch. If a branch is specified with -b, only fetch this branch and if it does not exist, simply report to the user--do not fallback to other branches. Otherwise, if branches are either not set in got.conf or are set but do not exist on the server: - if invoked in a work tree, fallback to the work tree's current branch - if not in a work tree or the work tree's current branch does not exist on the server: - fallback to remote HEAD. With this, only the -b case can result in an unsuccessful fetch due to the requested branch(es) not existing on the server. All other cases will either fetch updates or report "Already up-to-date" (excepting errors). ok stsp@