Commit Briefs

8ea72c47a2 Thomas Adam

histedit: make sure mesg is only used after pick or edit

It doesn't really make sense to use mesg after a fold or drop, or after another mesg. it currently "works" as intended, but the behaviour is confusing and not useful, better abort the operation as it's probably not what the user intended. Suggested by and ok stsp@



ff5e1f0963 Thomas Adam

add signer_id option to got.conf(5)

Setting this option will cause 'got tag' to sign all created tags using the SSH key, unless overridden by the -s flag. ok stsp@


27b10c3cfd Thomas Adam

move 'got init' command to 'gotadmin init'

This functionality is better suited for gotadmin because it is technically a server-side repository operation when we consider the 'got' tool as the client-side tool. I have plans to move 'got import' into gotadmin as well. ok op@


ac669181b8 Thomas Adam

portable: remove sys/queue.h

This is included portably.





0141ae45ce Thomas Adam

add -v option to 'got tag' usage string




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.


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@


fd8b4acb31 Thomas Adam

fix leftovers from long -> int change

when changing the line addresses to be int from long the report callaback was forgotten.


bb90ca7bc1 Thomas Adam

got patch: handle mangled whitespaces

This makes 'got patch' try to ignore whitespaces when trying to match a hunk. Discused with and ok stsp@


25ec70067d Thomas Adam

switch 'tog diff' and 'tog blame' to Myers diff for speed

Make the choice of diff algorithm configurable by diff API users. The got and gotweb programs keep using Patience diffs which are prettier than Myers. But tog should be as fast as possible since it is being used interactively. If performance of Patience diff gets improved later we can consider switching tog back over to it. ok tracey jamsek


dd2e2f52c1 Thomas Adam

move more opentemp out of diffreg.c

ok tracey


9117a7b739 Thomas Adam

move remaining got_opentemp's out of blame. ok op@


68e8cedbff Thomas Adam

make it possible to show just one tag with 'got tag -l'

suggested by jrick ok jrick jamsek


19a6a6b5ee Thomas Adam

move got_opentempfd() out of lib/diff.c again

ok tracey



f4ae6ddb59 Thomas Adam

move got_opentempfd out of open_blob. ok stsp@


9b4458b410 Thomas Adam

always show commit or tree IDs in diff header, in order to help 'got patch'

The idea is that got patch can simply look for a line such as: commit - abcde1234567... to find the merge base commit ID to show in diff3 conflict markers. got log -p now displays commit IDs in its diff header, instead ofl tree or blob IDs. ok op@