aboutsummaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-07-14 11:02:06 -0700
committerJunio C Hamano <gitster@pobox.com>2011-07-14 11:02:06 -0700
commitc6d72c49720aa333e9c646f447147e8e546df174 (patch)
tree0abf78a61462305fa28ab83bf63ac2443136d5b5 /builtin
parent188c35e36d22c39074a8b0ee411483a405065a9a (diff)
downloadgit-c6d72c49720aa333e9c646f447147e8e546df174.tar.gz
git-c6d72c49720aa333e9c646f447147e8e546df174.tar.xz
Revert clock-skew based attempt to optimize tag --contains traversal
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/skew.c50
-rw-r--r--builtin/tag.c36
2 files changed, 3 insertions, 83 deletions
diff --git a/builtin/skew.c b/builtin/skew.c
deleted file mode 100644
index 1046f5f54..000000000
--- a/builtin/skew.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "cache.h"
-#include "commit.h"
-#include "diff.h"
-#include "revision.h"
-
-unsigned long worst_skew = 0;
-
-static void check_skew_recurse(struct commit *c, unsigned long when)
-{
- struct commit_list *p;
-
- if (c->object.flags & SEEN)
- return;
- c->object.flags |= SEEN;
-
- if (parse_commit(c) < 0)
- return;
-
- if (c->date > when) {
- unsigned long skew = c->date - when;
- if (skew > worst_skew)
- worst_skew = skew;
- }
-
- for (p = c->parents; p; p = p->next)
- check_skew_recurse(p->item, c->date < when ? c->date : when);
-}
-
-static void check_skew(struct commit *c)
-{
- check_skew_recurse(c, time(NULL));
-}
-
-int cmd_skew(int argc, const char **argv, const char *prefix) {
- struct rev_info revs;
- int i;
-
- git_config(git_default_config, NULL);
- init_revisions(&revs, prefix);
- argc = setup_revisions(argc, argv, &revs, NULL);
-
- for (i = 0; i < revs.pending.nr; i++) {
- struct object *o = revs.pending.objects[i].item;
- if (o->type == OBJ_COMMIT)
- check_skew((struct commit *)o);
- }
-
- printf("%lu\n", worst_skew);
- return 0;
-}
diff --git a/builtin/tag.c b/builtin/tag.c
index e46869669..f7a7943c9 100644
--- a/builtin/tag.c
+++ b/builtin/tag.c
@@ -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 *pattern;
int lines;
@@ -44,8 +42,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;
@@ -62,13 +59,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;
}
@@ -79,22 +72,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,
@@ -301,14 +279,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);
}