Commits


move got_repo_cmp_tags() to got_ref_cmp_tags()


move cmp_tags() into the library


move match_object_id() into the library; supersedes got_repo_resolve_commit_arg


fix 'tog log -c' with tags


don't bother swapping the first pack index cache pointer, and improve comment


fix pack index cache; don't open/close pack index files needlessly


add copyright year for files already touched in 2020


detect duplicate object IDs during ambiguity check; packed regress passes now


parse remotes from gitconfig


convert tree entries from SIMPLEQ to an array


when an object id string is bad, include the bad string in the error message


rename 'got init' and 'got import' default branch to "main"; patch by kmos@


handle empty trees during 'import' and 'checkout'; spotted by sthen@


Add missing includes for time() and ctime() These headers were implicitly used on OpenBSD, but building on Linux revealed that <time.h> wasn't included directly. diffreg.c uses ctime(), which additionally needs <sys/types.h>.


check calloc() for NULL return value


use author name/email from ~/.gitconfig if GOT_AUTHOR is not set


obtain repo format version and commit author name/email from .git/config


prevent theoretical double-free with non-OpenBSD asprintf (found by jasper)


don't mask "not a git repo" errors in got_repo_open()


add support for reading .git/config; parser was based on isakmpd/conf.c


make 'got tag -l' list tags by time stamp in descending order


allow got_ref_list() to restrict returned refs to a particular namespace


untie cancel callback declaration from the work tree


add support for tag objects to 'got diff'


add support for tags to -c options of some got commands