Commits


rename got_commit_graph_iter_start() to got_commit_graph_bfsort() This function begins a breadth-first traversal. The new name makes it easier to distinguish from got_commit_graph_toposort().


make 'got rebase' find a merge base with topological sorting if needed Fixes a problematic case of spurious conflicts encountered by naddy@ on landry's firefox package git repository. The current implementation of toposort is expensive, so this might make rebase appear to run slowly on large repositories. However, this is better than letting users deal with spurious conflicts. ok op@


add support for topological sorting to the commit graph The algorithm implemented here is based on a description I read on github's blog. See code comments for details. ok op@


make got_commit_graph_iter_next use caller-provided storage for the id and adjust the callers. discussed with and ok stsp@


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


add copyright year for files already touched in 2020


simplify got_commit_graph_open()


remove GOT_ERR_ITER_NEED_MORE; the commit graph now fetches internally instead


add cancellation support to commit graph and 'got blame'


add got_commit_graph_find_youngest_common_ancestor()


whitespace formatting fixes in include/


ensure that 'got update' stays on the current branch


use commit graph for path filtering in 'tog log'


add path filtering support to commit graph


got log: allow first-parent traversal with the commit graph


remove got_commit_graph_contains_object() Put equivalent functionality into fetch_commits_up_to() instead.


introduce got_commit_graph_fetch_commits_up_to()


introduce got_commit_graph_contains_object


do not store commits in the commit graph; saves memory


remove unused function


basic commit graph; make 'got log' use it; WIP with known bugs