Commit Briefs
don't undef GOT_AUTHOR in regress
unset only in the subshell so further cose is unaffected. ok stsp@
use GOT_IGNORE_GITCONFIG in regress
fixes test_rebase_no_author_info when a valid ~/.gitconfig is found. ok stsp@
read_gitconfig: fix GOT_IGNORE_GITCONFIG case
set gitconfig_remotes to NULL to avoid a double-free, and reset the global author name/email fields too. ok stsp@
tog: refactor key map -> new view initialisation
Deduplicate view initialisation boilerplate and simplify new key map view requests with dispatch routine. Includes improvements suggested by stsp. ok stsp@
fix `got patch -R' when using diff3 merge
`got patch -R' fails spectacularly when applied on a diff that contains the info of the original blob for the diff3 merge machinery since it tries to apply the reverse of the patch to the old blob. change it to run the patch (_not_ reversed) on the old blob and then swap the arguments to got_diff3_merge which gives us the correct reverse merge of the diff. while here add a test case too. reported by naddy, discussed with and ok stsp@
do not require local author info during 'got rebase'
My commit to reset committer info during rebase was too strict in some use cases. Even when simply forwarding a branch the rebase operation could now fail if GOT_AUTHOR is not set. To fix this, fall back on existing commiter information if no author is configured. And try to obtain author info from Git config in case GOT_AUTHOR is not set. Problems reported by Mikhail.
fix name clash in gotwebd
Rename GOT_PACK_NUM_TEMPFILES in gotwebd, since it clashes with a name already used in lib/repository.c. ok tracey
tog: reset view->offset when clearing log view state
Don't move the selection cursor due to a bogus offset after closing child views following use of 'B', C-l, and backspace log view key maps. ok stsp@
tog: use view->resize idiom to ensure log is populated
Replace view->mode == TOG_VIEW_LOG checks for requesting commits to populate the log view with calls to view->resize(). ok stsp@
tog: populate new child view log lines when switching split
When switching a child log view from a h- to a v-split, new log lines are empty. Rather than (mis)trace height and (not) call request_log_commits(), let resize_log_view() do the math and request commits if needed to draw new lines. ok op@
got_repo_pack_fds_close: don't close(0)
got_repo_pack_fds_close will try to close all of the GOT_PACK_NUM_TEMPFILES fds, even the ones that didn't manage to get a value from got_opentempfd(), which would result in a close(0) if we do not initialize to -1 here.
Correctly track if we sent more data since the last time we looked.
With the narrow scope of bytes_sent_cur it would always be zero, and we would always update progress. Found by llvm's scan-build (Dead store). OK stsp
Prevent use-after-free of packed_refs_path in error path.
Found by llvm's scan-build. OK stsp
Prevent memory leak when asprintf fails.
Found by llvm's scan-build. OK stsp