Commits


avoid a pointless malloc/free in got_reflist_insert() in my previous fix suggested by op@


detect packed vs. on-disk reference collision when listing refs ok op@


Prevent use-after-free of packed_refs_path in error path. Found by llvm's scan-build. OK stsp


portable: add back sys/queue.h Now that the handling of including sys/queue.h is better, there's no need to remove those lines from the source. Copy the location of those original sys/queue.h lines from upstream at the same line number, so as to avoid any conflicts in the future.


build with -Wwrite-strings Throwing this into the mix for a while, we can always get rid of it again if it becomes annoying. No objections from stsp@


make sure callers of got_object_idset_add() free data.


wrap overlong lines


add "e" (close-on-exec) flag to fopen(3) calls suggested by millert ok thomas_adam


fall back to comparison by name when refs have the same timestamp This fixes an issue where some references were missing from lists of references sorted by timestamp.


implement got_reflist_sort() which sorts a ref list in-place


fix uninitialized error from got_ref_cmp_by_commit_timestamp_descending()


allow sorting references by timestamp in tog


speed up 'got histedit -l' and 'got rebase -l' Cache commit timestamps in struct got_reference in case we are sorting references by commit timestamp. This avoids opening and closing commits every time we compare two references with each other. ok thomas.adam


got_sha1_digest_to_str() writes to char * ok stsp


portable: add FreeBSD support This adds the capability to compile got-portable on FreeBSD.


portable: initial Linux compilation This commit modifies the GoT main branch to be able to compile it under linux.


indentation fixes


Expose got_ref_name_is_valid() for general purpose use. This will be needed for a future 'got send' command.


expose got_ref_resolve_symbolic() at the public library API This will be needed by a future 'got send' command.


remove unused 'repo' argument from got_reflist_insert()


track the last modification time of references


allow lockfiles to be used in cases where we have a dir_fd and a relative path


expose the reflist_insert() helper function as got_reflist_insert() This will be needed by 'gotadmin pack'.


validate reference names in open_ref() This catches invalid reference names passed to 'got ref -l' and will also be needed to validate reference names passed to a future 'gotadmin pack' command. ok naddy@


plug a memory leak in got_ref_list_free() Code which inserts a reference into a reflist passes ownership of this reference to the list. However, got_ref_list_free() never closed such references, which resulted in a memory leak. ok tracey