diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateParserTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateParserTest.java
index 98e84fe..6b0632a 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateParserTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateParserTest.java
@@ -77,6 +77,17 @@
 	}
 
 	@Test
+	public void never() throws ParseException {
+		GregorianCalendar cal = new GregorianCalendar(SystemReader
+				.getInstance().getTimeZone(), SystemReader.getInstance()
+				.getLocale());
+		Date parse = GitDateParser.parse("never", cal);
+		Assert.assertEquals(GitDateParser.NEVER, parse);
+		parse = GitDateParser.parse("never", null);
+		Assert.assertEquals(GitDateParser.NEVER, parse);
+	}
+
+	@Test
 	public void now() throws ParseException {
 		String dateStr = "2007-02-21 15:35:00 +0100";
 		Date refDate = SystemReader.getInstance()
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateParser.java
index dc5c7fa..f1743d4 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateParser.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/GitDateParser.java
@@ -62,6 +62,12 @@
  * understands.
  */
 public class GitDateParser {
+	/**
+	 * The Date representing never. Though this is a concrete value, most
+	 * callers are adviced to avoid depending on the actual value.
+	 */
+	public static final Date NEVER = new Date(Long.MAX_VALUE);
+
 	// Since SimpleDateFormat instances are expensive to instantiate they should
 	// be cached. Since they are also not threadsafe they are cached using
 	// ThreadLocal.
@@ -113,6 +119,7 @@
 	 * relative formats (e.g. "yesterday") the caller can specify the reference
 	 * date. These types of strings can be parsed:
 	 * <ul>
+	 * <li>"never"</li>
 	 * <li>"now"</li>
 	 * <li>"yesterday"</li>
 	 * <li>"(x) years|months|weeks|days|hours|minutes|seconds ago"<br>
@@ -146,6 +153,9 @@
 			throws ParseException {
 		dateStr = dateStr.trim();
 		Date ret;
+
+		if ("never".equalsIgnoreCase(dateStr))
+			return NEVER;
 		ret = parse_relative(dateStr, now);
 		if (ret != null)
 			return ret;
