aboutsummaryrefslogtreecommitdiffstats
path: root/commit.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-07-21 14:45:01 -0700
committerJunio C Hamano <gitster@pobox.com>2025-07-21 14:45:01 -0700
commit03dce625bff6598e7f77d9f4a4a25d0288e5e5a8 (patch)
tree6df2d5acf8ba19ff8894e9a6a6ee58b5a8743a4e /commit.h
parentMerge branch 'bc/contribution-under-non-real-names' into next (diff)
parentprio-queue: add prio_queue_replace() (diff)
downloadgit-03dce625bff6598e7f77d9f4a4a25d0288e5e5a8.tar.gz
git-03dce625bff6598e7f77d9f4a4a25d0288e5e5a8.zip
Merge branch 'rs/pop-recent-commit-with-prio-queue' into next
The pop_most_recent_commit() function can have quite expensive worst case performance characteristics, which has been optimized by using prio-queue data structure. * rs/pop-recent-commit-with-prio-queue: prio-queue: add prio_queue_replace() commit: use prio_queue_replace() in pop_most_recent_commit(),MIME-Version: 1.0 commit: convert pop_most_recent_commit() to prio_queue
Diffstat (limited to 'commit.h')
-rw-r--r--commit.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/commit.h b/commit.h
index 70c870dae4..9630c076d6 100644
--- a/commit.h
+++ b/commit.h
@@ -201,10 +201,10 @@ const char *repo_logmsg_reencode(struct repository *r,
const char *skip_blank_lines(const char *msg);
-/** Removes the first commit from a list sorted by date, and adds all
- * of its parents.
- **/
-struct commit *pop_most_recent_commit(struct commit_list **list,
+struct prio_queue;
+
+/* Removes the first commit from a prio_queue and adds its parents. */
+struct commit *pop_most_recent_commit(struct prio_queue *queue,
unsigned int mark);
struct commit *pop_commit(struct commit_list **stack);