Commit Briefs

Christian Weisgerber

indentation fixes


Stefan Sperling

Expose got_ref_name_is_valid() for general purpose use.

This will be needed for a future 'got send' command.


Stefan Sperling

expose got_ref_resolve_symbolic() at the public library API

This will be needed by a future 'got send' command.





Stefan Sperling

expose the reflist_insert() helper function as got_reflist_insert()

This will be needed by 'gotadmin pack'.


Stefan Sperling

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@


Stefan Sperling

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


Stefan Sperling

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


Stefan Sperling

make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere

ok millert, naddy



Christian Weisgerber

replace fparseln(3) with getline(3), for better portability

ok stsp



Stefan Sperling

add tagged object IDs to reference list object ID map

Fixes display of "/tags/..." commit ID decorators in tog which was broken in previous commits.