Commit Briefs

Thomas Adam

fix off_t type mismatches

off_t is a signed type and depending on the platform, it can be "long" or "long long", so cast to long long for printf(). ok stsp


Thomas Adam

tweak cmd_info; no functional changes intended

* don't allocate unused pack_fds * drop wpath, cpath, proc, exec and sendfd pledge promises * close the worktree ok stsp@


Thomas Adam

don't undef GOT_AUTHOR in regress

unset only in the subshell so further cose is unaffected. ok stsp@


Thomas Adam

use GOT_IGNORE_GITCONFIG in regress

fixes test_rebase_no_author_info when a valid ~/.gitconfig is found. ok stsp@


Thomas Adam

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@


Thomas Adam

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@



Thomas Adam

drop (needless?) sleep(1) in status.sh

ok stsp


Thomas Adam

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@





Thomas Adam

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.


Thomas Adam

portable: add repo version to main string (ta/version)

When compiling got-portable from source, outside of an official release tarball, it's often helpful to know which commit the binary was built from, especially for diagnostic purposes. This adds an extra hook to AC_INIT to derive whether -portable is being built in-tree or via a release tarball.


Thomas Adam

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


Thomas Adam

tog: uppercase alpha key maps that open new views

ok stsp@


Thomas Adam

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@


Thomas Adam

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@


Thomas Adam

reset committer during rebase and histedit

ok op@



Thomas Adam

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@



Thomas Adam

fix wrong error return in cmd_commit()


Thomas Adam

comment tweak


Thomas Adam

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.