commit - df8cd9c6cd301882ae057c712e2aee94a4b0b195
commit + e7a5b9e9b763327a7e1ddd69f6bc533565d60794
blob - d2d7bd81d20a0bc7fb36411f186d28e28e4ce1e5
blob + 51276fea65a8e55f42f4dfaa63fe70f9ddabf7d4
--- lib/commit_graph.c
+++ lib/commit_graph.c
}
static const struct got_error *
-close_branch(struct got_commit_graph *graph, struct got_object_id *commit_id)
-{
- const struct got_error *err;
-
- err = got_object_idset_remove(NULL, graph->open_branches, commit_id);
- if (err && err->code != GOT_ERR_NO_OBJ)
- return err;
- return NULL;
-}
-
-static const struct got_error *
advance_branch(struct got_commit_graph *graph, struct got_object_id *commit_id,
struct got_commit_object *commit, struct got_repository *repo)
{
const struct got_error *err;
struct got_object_qid *qid;
- err = close_branch(graph, commit_id);
- if (err)
- return err;
-
if (graph->flags & GOT_COMMIT_GRAPH_FIRST_PARENT_TRAVERSAL) {
qid = SIMPLEQ_FIRST(&commit->parent_ids);
if (qid == NULL ||
commit = arg.tips[i].commit;
new_node = arg.tips[i].new_node;
+ err = got_object_idset_remove(NULL, graph->open_branches,
+ commit_id);
+ if (err && err->code != GOT_ERR_NO_OBJ)
+ break;
+
err = detect_changed_path(&changed, commit, commit_id,
graph->path, repo);
if (err) {
* History of the path stops here on the current
* branch. Keep going on other branches.
*/
- err = close_branch(graph, commit_id);
- if (err)
- break;
continue;
}
if (changed)