Skip to content

Commit 8006986

Browse files
committed
fixes #85
1 parent f292c97 commit 8006986

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

java-diff-utils/src/main/java/com/github/difflib/unifieddiff/UnifiedDiffReader.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
public final class UnifiedDiffReader {
4040

4141
static final Pattern UNIFIED_DIFF_CHUNK_REGEXP = Pattern.compile("^@@\\s+-(?:(\\d+)(?:,(\\d+))?)\\s+\\+(?:(\\d+)(?:,(\\d+))?)\\s+@@");
42-
static final Pattern TIMESTAMP_REGEXP = Pattern.compile("(\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}\\.\\d{3,})");
42+
static final Pattern TIMESTAMP_REGEXP = Pattern.compile("(\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}\\.\\d{3,})(?: [+-]\\d+)?");
4343

4444
private final InternalUnifiedDiffReader READER;
4545
private final UnifiedDiff data = new UnifiedDiff();
@@ -258,8 +258,9 @@ private String extractFileName(String _line) {
258258
if (matcher.find()) {
259259
line = line.substring(0, matcher.start());
260260
}
261+
line = line.split("\t")[0];
261262
return line.substring(4).replaceFirst("^(a|b|old|new)(\\/)?", "")
262-
.replace(TIMESTAMP_REGEXP.toString(), "").trim();
263+
.trim();
263264
}
264265

265266
private String extractTimestamp(String line) {

java-diff-utils/src/test/java/com/github/difflib/unifieddiff/UnifiedDiffReaderTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,4 +192,9 @@ public void testParseIssue85() throws IOException {
192192

193193
assertNull(diff.getTail());
194194
}
195+
196+
@Test
197+
public void testTimeStampRegexp() {
198+
assertThat("2019-04-18 13:49:39.516149751 +0200").matches(UnifiedDiffReader.TIMESTAMP_REGEXP);
199+
}
195200
}

0 commit comments

Comments
 (0)