sort-in-topological-order: use prio-queue
Use the prio-queue data structure to implement a priority queue of commits sorted by committer date, when handling --date-order. The structure can also be used as a simple LIFO stack, which is a good match for --topo-order processing. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
13
prio-queue.c
13
prio-queue.c
@ -2,6 +2,19 @@
|
||||
#include "commit.h"
|
||||
#include "prio-queue.h"
|
||||
|
||||
void prio_queue_reverse(struct prio_queue *queue)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
if (queue->compare != NULL)
|
||||
die("BUG: prio_queue_reverse() on non-LIFO queue");
|
||||
for (i = 0; i <= (j = (queue->nr - 1) - i); i++) {
|
||||
struct commit *swap = queue->array[i];
|
||||
queue->array[i] = queue->array[j];
|
||||
queue->array[j] = swap;
|
||||
}
|
||||
}
|
||||
|
||||
void clear_prio_queue(struct prio_queue *queue)
|
||||
{
|
||||
free(queue->array);
|
||||
|
Reference in New Issue
Block a user