>From 0a5e2d469972791cdc2e1db00602142980050af8 Mon Sep 17 00:00:00 2001 From: Mark Struberg <struberg@xxxxxxxx> Date: Mon, 15 Jun 2009 01:25:25 +0200 Subject: [PATCH] fix CommitTimeRevFilter by adding a Between filter subclass --- .../jgit/revwalk/filter/CommitTimeRevFilter.java | 29 ++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java index a3751b8..0aaa78d 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java +++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/filter/CommitTimeRevFilter.java @@ -70,6 +70,18 @@ public static final RevFilter after(final Date ts) { return new After(ts.getTime()); } + /** + * Create a new filter to select commits after or equal a given date/time <code>since</code> + * and before or equal a given date/time <code>until</code>. + * + * @param since the point in time to cut on. + * @param until the point in time to cut off. + * @return a new filter to select commits between the given date/times. + */ + public static final RevFilter between(final Date since, final Date until) { + return new Between(since.getTime(), until.getTime()); + } + final int when; CommitTimeRevFilter(final long ts) { @@ -117,4 +129,21 @@ public boolean include(final RevWalk walker, final RevCommit cmit) return true; } } + + private static class Between extends CommitTimeRevFilter { + private final int until; + + Between(final long since, final long until) { + super(since); + this.until = (int) (until / 1000); + } + + @Override + public boolean include(final RevWalk walker, final RevCommit cmit) + throws StopWalkException, MissingObjectException, + IncorrectObjectTypeException, IOException { + return cmit.getCommitTime() <= until && cmit.getCommitTime() >= when; + } + } + } -- 1.6.0.6 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html