Commit Briefs



0141ae45ce Thomas Adam

add -v option to 'got tag' usage string






2140c6ec56 Thomas Adam

check for specific chars instead of using isspace(3)

Reminded by naddy and stsp; it was missing a cast to unsigned char to prevent issues on archs with signed chars and was too broad anyway. While here, drop an extra check immediately after. ok stsp@


ef0f20a887 Thomas Adam

got_date.h: add explicit #includes

Don't rely on implicit/"hidden" includes, but rather add them to the header file so their inclusion doesn't result in missing values. Although not explicitly a functional change, this does help -portable. This ensures size_t/time_t are always present. OK @jrick


2b82da7bd8 Thomas Adam

remove duplicate test_parseargs call

spotted by op@


492a65d969 Thomas Adam

fix echo/printf order and actually run the test


d5775a924f Thomas Adam

portable: object_create: remove sys/queue.h

This is included portably.


ea578852ff Thomas Adam

Add time_t


eb427b1c53 Thomas Adam

portable: add sigs/buf for signed commits

Add support for upstream's tag signing commits, but adding the relevant files to autotools, and making those portable-compatible.


94ff3fb6ac Thomas Adam

create and verify tags signed by SSH keys

This adds a new -s flag to 'got tag' that specifies the signer identity (for example, a key file) of the tagger. The tag object will include a signature that validates each of the tag object headers and the tag message. Verifying these signed tags requires maintaining an allowed signers file which maps signer identities (i.e. the email address of the tagger) to SSH public keys. See ssh-keygen(1) for more details of the allowed signers file. After creating this file and providing the path to it in got.conf(5) using the allowed_signers option, tags may be verified using with 'got tag -V tag_name'. The return code will be non-zero if a signature fails to verify. ok stsp@


c4d68ce020 Thomas Adam

Use pipe() which is a more understood syscall than pipe2() which doesn't

exist on MacOS, for instance. Since we we're passing in 0 to pipe2(), this mean no fcntl() flags were being sent. As such, it's the same syscall as pipe() which also has the added benefit that it's more portable. committing on behalf of thomas with my ok


ea08db7370 Thomas Adam

whitespace fix


64313a9ca0 Thomas Adam

fix tag signing when the key file does not exist

This should fail without creating any tag. Before, ssh-keygen(1) would print an error to stderr, but got would create an unsigned tag. ok op@



459c9b5d72 Thomas Adam

rename got.conf(5) mirror-references to mirror_references for consistency

Existing configuration files will keep working for now since the old name with dashes is still recognized by the config parser.


25eb584767 Thomas Adam

rename got.conf(5) fetch-all-branches to fetch_all_branches for consistency

Existing configuration files will keep working for now since the old name with dashes is still recognized by the config parser.


634cb45445 Thomas Adam

tog: add C-g/backspace key map to abort compound cmds

Problem reported by stsp: 9999j would tie up tog till completed. While here, trim trailing whitespace in tog.1 and make C-g alias existing backspace abort key map for search and G in log view. ok op@ and stsp@


444d532558 Thomas Adam

tog: expand horizontal split support to all views

With this, hsplits are now available to the same parent/child view combinations as vsplits. Includes OB1 log truncation fix from op@ that was reported by stsp. ok stsp@


871bd03807 Thomas Adam

create and verify tags signed by SSH keys

This adds a new -s flag to 'got tag' that specifies the signer identity (for example, a key file) of the tagger. The tag object will include a signature that validates each of the tag object headers and the tag message. Verifying these signed tags requires maintaining an allowed signers file which maps signer identities (i.e. the email address of the tagger) to SSH public keys. See ssh-keygen(1) for more details of the allowed signers file. After creating this file and providing the path to it in got.conf(5) using the allowed_signers option, tags may be verified using with 'got tag -V tag_name'. The return code will be non-zero if a signature fails to verify. ok stsp@


39b829747f Thomas Adam

fix imsg_add TREE_ENTRY: Result too large on i386

There's a math error when computing the size of one entries in the batching code. Reported by semarie, ok semarie stsp