From 93334b5da72dc2b96aad176c54af04bf072c632d Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 18 Nov 2019 11:10:41 +0100 Subject: [PATCH 1/3] Update release version in README.md (#62) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b7c890c..9e5221e 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Just add the code below to your maven dependencies: io.github.java-diff-utils java-diff-utils - 4.4 + 4.5 ``` @@ -88,5 +88,5 @@ or using gradle: ```groovy // https://mvnrepository.com/artifact/io.github.java-diff-utils/java-diff-utils -implementation "io.github.java-diff-utils:java-diff-utils:4.4" +implementation "io.github.java-diff-utils:java-diff-utils:4.5" ``` From 15a5f060b3822f721e8a50ffb92a3ee86f095e58 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 18 Nov 2019 11:11:53 +0100 Subject: [PATCH 2/3] Fix links in CHANGELOG.md (#61) --- CHANGELOG.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ef251e..b6c3c28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -82,8 +82,10 @@ This project uses a custom versioning scheme (and not [Semantic Versioning](http * Ant build script * Generate output in unified diff format (thanks for Bill James) -[Unreleased]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-4.0...HEAD -[4.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diff-utils-3.0...java-diff-utils-4.0 -[3.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diff-utils-2.2...diff-utils-3.0 -[2.2]: https://github.com/java-diff-utils/java-diff-utils/compare/diff-utils-2.0...diff-utils-2.2 +[Unreleased]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-parent-4.5...HEAD +[4.5]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-parent-4.4...java-diff-utils-parent-4.5 +[4.4]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-4.0...java-diff-utils-parent-4.4 +[4.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diffutils-3.0...java-diff-utils-4.0 +[3.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diffutils-2.2...diffutils-3.0 +[2.2]: https://github.com/java-diff-utils/java-diff-utils/compare/diffutils-2.0...diffutils-2.2 From 81085d368ca8aa1b5dc0d5da5c82cc0665966f91 Mon Sep 17 00:00:00 2001 From: Ibrahim ali abdelghany Date: Mon, 18 Nov 2019 17:29:31 +0200 Subject: [PATCH 3/3] Extract duplicate code into method. (#58) * Extract duplicate code into method. * fix conflicts. --- .../com/github/difflib/UnifiedDiffUtils.java | 35 ++++++------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/java-diff-utils/src/main/java/com/github/difflib/UnifiedDiffUtils.java b/java-diff-utils/src/main/java/com/github/difflib/UnifiedDiffUtils.java index d5812c3..2ed5ba8 100644 --- a/java-diff-utils/src/main/java/com/github/difflib/UnifiedDiffUtils.java +++ b/java-diff-utils/src/main/java/com/github/difflib/UnifiedDiffUtils.java @@ -59,25 +59,7 @@ public final class UnifiedDiffUtils { Matcher m = UNIFIED_DIFF_CHUNK_REGEXP.matcher(line); if (m.find()) { // Process the lines in the previous chunk - if (!rawChunk.isEmpty()) { - List oldChunkLines = new ArrayList<>(); - List newChunkLines = new ArrayList<>(); - - for (String[] raw_line : rawChunk) { - tag = raw_line[0]; - rest = raw_line[1]; - if (" ".equals(tag) || "-".equals(tag)) { - oldChunkLines.add(rest); - } - if (" ".equals(tag) || "+".equals(tag)) { - newChunkLines.add(rest); - } - } - patch.addDelta(new ChangeDelta<>(new Chunk<>( - old_ln - 1, oldChunkLines), new Chunk<>( - new_ln - 1, newChunkLines))); - rawChunk.clear(); - } + processLinesInPrevChunk(rawChunk, patch, old_ln, new_ln); // Parse the @@ header old_ln = m.group(1) == null ? 1 : Integer.parseInt(m.group(1)); new_ln = m.group(3) == null ? 1 : Integer.parseInt(m.group(3)); @@ -102,6 +84,14 @@ public final class UnifiedDiffUtils { } // Process the lines in the last chunk + processLinesInPrevChunk(rawChunk, patch, old_ln, new_ln); + + return patch; + } + + private static void processLinesInPrevChunk(List rawChunk, Patch patch, int old_ln, int new_ln) { + String tag; + String rest; if (!rawChunk.isEmpty()) { List oldChunkLines = new ArrayList<>(); List newChunkLines = new ArrayList<>(); @@ -116,14 +106,11 @@ public final class UnifiedDiffUtils { newChunkLines.add(rest); } } - patch.addDelta(new ChangeDelta<>(new Chunk<>( - old_ln - 1, oldChunkLines), new Chunk<>(new_ln - 1, - newChunkLines))); + old_ln - 1, oldChunkLines), new Chunk<>( + new_ln - 1, newChunkLines))); rawChunk.clear(); } - - return patch; } /**