Commits


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


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


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


ensure that old commits remain referenced after rebase and histedit Create automatic "backup" references which ensure that objects from the pre-rebase or pre-histedit state remain in the repository. A new -l option for 'got rebase' and 'got histedit' lists old commits. This makes it easier to recover from botched rebase or histedit operations. Removal of such objects currently requires got ref -d and git-gc. This will be made more convenient in the future. testing and ok jrick


rename got_reflist_object_map_free to got_reflist_object_id_map_free


switch reflist to TAILQ; insert elements more efficiently for sorted input ok naddy


implement an object ID map for reference lists ok naddy


make dangling symbolic references show up in 'got ref -l' Storing a resolved ID for each reference list item was a bad idea. This ID cannot be resolved if a symbolic references points to a reference which does not exist. Such symrefs were skipped by got ref -l as a result. Just let users of reference lists resolve the IDs as needed.


fix got_ref_change_symref(); it changed the ref's name instead of its target


make replacing symrefs actually work in 'got fetch'


move got_repo_cmp_tags() to got_ref_cmp_tags()


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


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


introduce got_ref_alloc_symref() and got_ref_get_symref_target()


lock branch reference file during 'got commit' to prevent a race


add APIs to change references


whitespace formatting fixes in include/


introduce got_ref_list_free() and use it in got and tog


add got_ref_delete(); only loose refs supported for now


implement got_ref_write()


introduce got_ref_alloc()


make 'got log' show packed refs and HEAD ref (pther refs not shown yet)