Commit Briefs

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@


f4ae6ddb59 Thomas Adam

move got_opentempfd out of open_blob. ok stsp@


ec242592d3 Thomas Adam

inline struct got_object_id in struct got_object_qid

Saves us from doing a malloc/free call for every item on the list. ok op@


945f922947 Thomas Adam

stop relying on commit cache for good performance of got_object_id_by_path()

Instead of internally opening and closing the same commit object over and over again, require callers to pass an open commit object in. Avoids an inherent dependency on the commit object cache for reasonable performance. ok op@


48b4f23903 Thomas Adam

wrap overlong lines


cc8021afc2 Thomas Adam

implement 'got diff -c' for diffing commits with optional filtering by path

Need for filtering by path sugggested by kn@ ok naddy@


dbdddfee14 Christian Weisgerber

switch from SIMPLEQ to equivalent STAILQ macros

The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp


9ca9aafb02 Stefan Sperling

introduce got_object_id_queue_copy()

This will be required by a future 'gotadmin pack' command.


74a2356f3b Stefan Sperling

add a user data pointer to struct got_object_qid

This will be required by a future 'gotadmin pack' command.





8ba819a354 Stefan Sperling

let 'got checkout' create symlinks in a work tree



56e0773df7 Stefan Sperling

convert tree entries from SIMPLEQ to an array


63c5ca5de4 Stefan Sperling

detect and ignore Git submodules


8e7bd50a82 Stefan Sperling

initial implementation of 'got tag' command


8aa93786da Stefan Sperling

make 'got cat' output look more like raw object files



01073a5d20 Stefan Sperling

initial 'got cat' implementation


0f6650ff48 Stefan Sperling

fix typo in got_object_blob_dump_to_file() docstring


5943eee280 Stefan Sperling

strip Git GPG signatures from log messages


d24820bf83 Stefan Sperling

add support for tag objects to 'got diff'


dd88155e48 Stefan Sperling

disambiguate abbreviated object IDs based on object type


6c4c42e07c Stefan Sperling

implement search for 'tog blame'