提交 bce62866 编写于 作者: L Linus Torvalds

Remove insane overlapping bit ranges from epoch.c

..and move the DUPCHECK to rev-list.c since both the merge-order and the
upcoming topo-sort get confused by dups.
上级 7e21c29b
......@@ -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;
......
......@@ -10,12 +10,12 @@ typedef int (*emitter_func) (struct commit *);
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 */
......@@ -8,7 +8,8 @@
#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"
......@@ -485,6 +486,9 @@ int main(int argc, char **argv)
commit = get_commit_reference(arg, flags);
if (!commit)
continue;
if (commit->object.flags & DUPCHECK)
continue;
commit->object.flags |= DUPCHECK;
insert(commit, &list);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册