mirror of
https://github.com/git/git.git
synced 2026-03-14 18:59:04 +01:00
Merge branch 'jk/tag-contains-ab' into next
* jk/tag-contains-ab: Revert clock-skew based attempt to optimize tag --contains traversal git skew: a tool to find how big a clock skew exists in the history
This commit is contained in:
@@ -25,8 +25,6 @@ static const char * const git_tag_usage[] = {
|
||||
|
||||
static char signingkey[1000];
|
||||
|
||||
static int core_clock_skew = 86400;
|
||||
|
||||
struct tag_filter {
|
||||
const char **patterns;
|
||||
int lines;
|
||||
@@ -53,8 +51,7 @@ static int in_commit_list(const struct commit_list *want, struct commit *c)
|
||||
}
|
||||
|
||||
static int contains_recurse(struct commit *candidate,
|
||||
const struct commit_list *want,
|
||||
unsigned long cutoff)
|
||||
const struct commit_list *want)
|
||||
{
|
||||
struct commit_list *p;
|
||||
|
||||
@@ -71,13 +68,9 @@ static int contains_recurse(struct commit *candidate,
|
||||
if (parse_commit(candidate) < 0)
|
||||
return 0;
|
||||
|
||||
/* stop searching if we go too far back in time */
|
||||
if (candidate->date < cutoff)
|
||||
return 0;
|
||||
|
||||
/* Otherwise recurse and mark ourselves for future traversals. */
|
||||
for (p = candidate->parents; p; p = p->next) {
|
||||
if (contains_recurse(p->item, want, cutoff)) {
|
||||
if (contains_recurse(p->item, want)) {
|
||||
candidate->object.flags |= TMP_MARK;
|
||||
return 1;
|
||||
}
|
||||
@@ -88,22 +81,7 @@ static int contains_recurse(struct commit *candidate,
|
||||
|
||||
static int contains(struct commit *candidate, const struct commit_list *want)
|
||||
{
|
||||
unsigned long cutoff = 0;
|
||||
|
||||
if (core_clock_skew >= 0) {
|
||||
const struct commit_list *c;
|
||||
unsigned long min_date = ULONG_MAX;
|
||||
for (c = want; c; c = c->next) {
|
||||
if (parse_commit(c->item) < 0)
|
||||
continue;
|
||||
if (c->item->date < min_date)
|
||||
min_date = c->item->date;
|
||||
}
|
||||
if (min_date > core_clock_skew)
|
||||
cutoff = min_date - core_clock_skew;
|
||||
}
|
||||
|
||||
return contains_recurse(candidate, want, cutoff);
|
||||
return contains_recurse(candidate, want);
|
||||
}
|
||||
|
||||
static int show_reference(const char *refname, const unsigned char *sha1,
|
||||
@@ -307,14 +285,6 @@ static int git_tag_config(const char *var, const char *value, void *cb)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!strcmp(var, "core.clockskew")) {
|
||||
if (!value || !strcmp(value, "none"))
|
||||
core_clock_skew = -1;
|
||||
else
|
||||
core_clock_skew = git_config_int(var, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return git_default_config(var, value, cb);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user