Commits


remove trailing whitespace; patch by Josiah Frentsos


wrap overlong lines


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'