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;
int sort_list_in_merge_order(struct commit_list *list, emitter_func emitter);
-#define UNINTERESTING (1u<<2)
-#define BOUNDARY (1u<<3)
-#define VISITED (1u<<4)
-#define DISCONTINUITY (1u<<5)
-#define DUPCHECK (1u<<6)
-#define LAST_EPOCH_FLAG (1u<<6)
+/* Low bits are used by rev-list */
+#define UNINTERESTING (1u<<10)
+#define BOUNDARY (1u<<11)
+#define VISITED (1u<<12)
+#define DISCONTINUITY (1u<<13)
+#define LAST_EPOCH_FLAG (1u<<14)
#endif /* EPOCH_H */
#define SEEN (1u << 0)
#define INTERESTING (1u << 1)
#define COUNTED (1u << 2)
-#define SHOWN (LAST_EPOCH_FLAG << 2)
+#define SHOWN (1u << 3)
+#define DUPCHECK (1u << 4)
static const char rev_list_usage[] =
"usage: git-rev-list [OPTION] commit-id <commit-id>\n"
commit = get_commit_reference(arg, flags);
if (!commit)
continue;
+ if (commit->object.flags & DUPCHECK)
+ continue;
+ commit->object.flags |= DUPCHECK;
insert(commit, &list);
}