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.maint
parent
7e21c29b56
commit
bce6286670
10
epoch.c
10
epoch.c
|
@ -582,14 +582,8 @@ int sort_list_in_merge_order(struct commit_list *list, emitter_func emitter)
|
||||||
int action = CONTINUE;
|
int action = CONTINUE;
|
||||||
struct commit_list *reversed = NULL;
|
struct commit_list *reversed = NULL;
|
||||||
|
|
||||||
for (; list; list = list->next) {
|
for (; list; list = list->next)
|
||||||
struct commit *next = list->item;
|
commit_list_insert(list->item, &reversed);
|
||||||
|
|
||||||
if (!(next->object.flags & DUPCHECK)) {
|
|
||||||
next->object.flags |= DUPCHECK;
|
|
||||||
commit_list_insert(list->item, &reversed);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!reversed)
|
if (!reversed)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
12
epoch.h
12
epoch.h
|
@ -10,12 +10,12 @@ typedef int (*emitter_func) (struct commit *);
|
||||||
|
|
||||||
int sort_list_in_merge_order(struct commit_list *list, emitter_func emitter);
|
int sort_list_in_merge_order(struct commit_list *list, emitter_func emitter);
|
||||||
|
|
||||||
#define UNINTERESTING (1u<<2)
|
/* Low bits are used by rev-list */
|
||||||
#define BOUNDARY (1u<<3)
|
#define UNINTERESTING (1u<<10)
|
||||||
#define VISITED (1u<<4)
|
#define BOUNDARY (1u<<11)
|
||||||
#define DISCONTINUITY (1u<<5)
|
#define VISITED (1u<<12)
|
||||||
#define DUPCHECK (1u<<6)
|
#define DISCONTINUITY (1u<<13)
|
||||||
#define LAST_EPOCH_FLAG (1u<<6)
|
#define LAST_EPOCH_FLAG (1u<<14)
|
||||||
|
|
||||||
|
|
||||||
#endif /* EPOCH_H */
|
#endif /* EPOCH_H */
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
#define SEEN (1u << 0)
|
#define SEEN (1u << 0)
|
||||||
#define INTERESTING (1u << 1)
|
#define INTERESTING (1u << 1)
|
||||||
#define COUNTED (1u << 2)
|
#define COUNTED (1u << 2)
|
||||||
#define SHOWN (LAST_EPOCH_FLAG << 2)
|
#define SHOWN (1u << 3)
|
||||||
|
#define DUPCHECK (1u << 4)
|
||||||
|
|
||||||
static const char rev_list_usage[] =
|
static const char rev_list_usage[] =
|
||||||
"usage: git-rev-list [OPTION] commit-id <commit-id>\n"
|
"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);
|
commit = get_commit_reference(arg, flags);
|
||||||
if (!commit)
|
if (!commit)
|
||||||
continue;
|
continue;
|
||||||
|
if (commit->object.flags & DUPCHECK)
|
||||||
|
continue;
|
||||||
|
commit->object.flags |= DUPCHECK;
|
||||||
insert(commit, &list);
|
insert(commit, &list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue