X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=epoch.c;h=3a767486da3e92b782bb67601a60921b7c747bff;hb=d0080b3cdab3a309385ad3fb3b4d2f6a08212985;hp=6dbcfb34a5a8762608e99fe79f1a4f17475d6f8a;hpb=f4b3a4c30b5ea3a5de2a2597a3c53266017d02ba;p=git.git diff --git a/epoch.c b/epoch.c index 6dbcfb34..3a767486 100644 --- a/epoch.c +++ b/epoch.c @@ -190,7 +190,7 @@ static void free_mass_counter(struct mass_counter *counter) * enqueued, enqueuing the commit in a list of pending commits, in latest * commit date first order. * - * The algorithm then preceeds to visit each commit in the pending queue. + * The algorithm then proceeds to visit each commit in the pending queue. * Upon each visit, the pending mass is added to the mass already seen for that * commit and then divided into N equal portions, where N is the number of * parents of the commit being visited. The divided portions are then injected @@ -255,11 +255,11 @@ static int find_base_for_list(struct commit_list *list, struct commit **boundary if (!parent_node) { parent_node = new_mass_counter(parent, &distribution); - insert_by_date(&pending, parent); + insert_by_date(parent, &pending); commit_list_insert(parent, &cleaner); } else { if (!compare(&parent_node->pending, get_zero())) - insert_by_date(&pending, parent); + insert_by_date(parent, &pending); add(&parent_node->pending, &parent_node->pending, &distribution); } } @@ -499,7 +499,7 @@ static int emit_stack(struct commit_list **stack, emitter_func emitter, int incl if (*stack || include_last) { if (!*stack) next->object.flags |= BOUNDARY; - action = (*emitter) (next); + action = emitter(next); } } @@ -545,7 +545,7 @@ static int sort_in_merge_order(struct commit *head_of_epoch, emitter_func emitte if (next->object.flags & UNINTERESTING) { action = STOP; } else { - action = (*emitter) (next); + action = emitter(next); } if (action != STOP) { next = next->parents->item; @@ -562,7 +562,7 @@ static int sort_in_merge_order(struct commit *head_of_epoch, emitter_func emitte } if (next && (action != STOP) && !ret) { - (*emitter) (next); + emitter(next); } return ret; @@ -582,14 +582,8 @@ int sort_list_in_merge_order(struct commit_list *list, emitter_func emitter) int action = CONTINUE; struct commit_list *reversed = NULL; - for (; list; list = list->next) { - struct commit *next = list->item; - - if (!(next->object.flags & DUPCHECK)) { - next->object.flags |= DUPCHECK; - commit_list_insert(list->item, &reversed); - } - } + for (; list; list = list->next) + commit_list_insert(list->item, &reversed); if (!reversed) return ret; @@ -612,7 +606,7 @@ int sort_list_in_merge_order(struct commit_list *list, emitter_func emitter) while (reversed) { struct commit * next = pop_commit(&reversed); - if (!(next->object.flags & VISITED)) { + if (!(next->object.flags & VISITED) && next!=base) { sort_first_epoch(next, &stack); if (reversed) { /*