Commit Briefs

d9787ed86e Omar Polo

make got_commit_graph_iter_next use caller-provided storage for the id

and adjust the callers. discussed with and ok stsp@


e15c42decf Omar Polo

plug leak in the commit graph iterator

We fail to release the memory for the nodes. To fix it however, we some consumer of the commit graph iterator need to be corrected: the returned pointer is safe to be used only up until the next iter_next call; save a copy it if it's needed afterwards too. ok stsp@


932b646a7d Stefan Sperling

replace an indirect call to idset_add(), via add_node(), with a direct call

Avoids leaking the node structure returned from add_node(). ok op@


c877c43747 Omar Polo

free commit on error path

while here drop the ternary too: if add_node succeeds `new_node' is non-NULL. ok stsp@


85a99d1ea6 Omar Polo

plug leak: release nodes not added to the iter list

ok stsp@


9aae736683 Omar Polo

got_commit_graph_close: free tailq contents

The tailq should ideally be empty when we reach got_commit_graph_close, but consumer code may exit the commit graph loop earlier. spotted by and ok stsp@


d7b5a0e827 Stefan Sperling

inline struct got_object_id in struct got_object_qid

Saves us from doing a malloc/free call for every item on the list. ok op@


a44927cc05 Stefan Sperling

stop relying on commit cache for good performance of got_object_id_by_path()

Instead of internally opening and closing the same commit object over and over again, require callers to pass an open commit object in. Avoids an inherent dependency on the commit object cache for reasonable performance. ok op@


4e91ef1519 Stefan Sperling

make it possible to merge vendor branches with 'got merge'


dbdddfee14 Christian Weisgerber

switch from SIMPLEQ to equivalent STAILQ macros

The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp



5aa813935b Stefan Sperling

add copyright year for files already touched in 2020



e7a5b9e9b7 Stefan Sperling

commit graph's close_branch() can be inlined in one place


df8cd9c6cd Stefan Sperling

small simplification in got_commit_graph_iter_next()


a450c2bf91 Stefan Sperling

remove a misleading comment


48595de13a Stefan Sperling

remove redundant code from add_node_to_iter_list()




7e33c8c53e Stefan Sperling

no need to open a commit in got_commit_graph_iter_start()



14159a7b73 Stefan Sperling

remove unused 'node' parameter from advance_branch()


8e29169599 Stefan Sperling

commit graph's idset data pointers were not actually used



ec1904dc6e Stefan Sperling

fix error in previous commit