Skip to content

Commit 39efdd5

Browse files
committed
Merge origin/master
2 parents 7dec3fe + 81085d3 commit 39efdd5

File tree

3 files changed

+19
-30
lines changed

3 files changed

+19
-30
lines changed

CHANGELOG.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,10 @@ This project uses a custom versioning scheme (and not [Semantic Versioning](http
8282
* Ant build script
8383
* Generate output in unified diff format (thanks for Bill James)
8484

85-
[Unreleased]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-4.0...HEAD
86-
[4.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diff-utils-3.0...java-diff-utils-4.0
87-
[3.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diff-utils-2.2...diff-utils-3.0
88-
[2.2]: https://github.com/java-diff-utils/java-diff-utils/compare/diff-utils-2.0...diff-utils-2.2
85+
[Unreleased]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-parent-4.5...HEAD
86+
[4.5]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-parent-4.4...java-diff-utils-parent-4.5
87+
[4.4]: https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-4.0...java-diff-utils-parent-4.4
88+
[4.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diffutils-3.0...java-diff-utils-4.0
89+
[3.0]: https://github.com/java-diff-utils/java-diff-utils/compare/diffutils-2.2...diffutils-3.0
90+
[2.2]: https://github.com/java-diff-utils/java-diff-utils/compare/diffutils-2.0...diffutils-2.2
8991

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,13 @@ Just add the code below to your maven dependencies:
8080
<dependency>
8181
<groupId>io.github.java-diff-utils</groupId>
8282
<artifactId>java-diff-utils</artifactId>
83-
<version>4.4</version>
83+
<version>4.5</version>
8484
</dependency>
8585
```
8686

8787
or using gradle:
8888

8989
```groovy
9090
// https://mvnrepository.com/artifact/io.github.java-diff-utils/java-diff-utils
91-
implementation "io.github.java-diff-utils:java-diff-utils:4.4"
91+
implementation "io.github.java-diff-utils:java-diff-utils:4.5"
9292
```

java-diff-utils/src/main/java/com/github/difflib/UnifiedDiffUtils.java

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -59,25 +59,7 @@ public static Patch<String> parseUnifiedDiff(List<String> diff) {
5959
Matcher m = UNIFIED_DIFF_CHUNK_REGEXP.matcher(line);
6060
if (m.find()) {
6161
// Process the lines in the previous chunk
62-
if (!rawChunk.isEmpty()) {
63-
List<String> oldChunkLines = new ArrayList<>();
64-
List<String> newChunkLines = new ArrayList<>();
65-
66-
for (String[] raw_line : rawChunk) {
67-
tag = raw_line[0];
68-
rest = raw_line[1];
69-
if (" ".equals(tag) || "-".equals(tag)) {
70-
oldChunkLines.add(rest);
71-
}
72-
if (" ".equals(tag) || "+".equals(tag)) {
73-
newChunkLines.add(rest);
74-
}
75-
}
76-
patch.addDelta(new ChangeDelta<>(new Chunk<>(
77-
old_ln - 1, oldChunkLines), new Chunk<>(
78-
new_ln - 1, newChunkLines)));
79-
rawChunk.clear();
80-
}
62+
processLinesInPrevChunk(rawChunk, patch, old_ln, new_ln);
8163
// Parse the @@ header
8264
old_ln = m.group(1) == null ? 1 : Integer.parseInt(m.group(1));
8365
new_ln = m.group(3) == null ? 1 : Integer.parseInt(m.group(3));
@@ -102,6 +84,14 @@ public static Patch<String> parseUnifiedDiff(List<String> diff) {
10284
}
10385

10486
// Process the lines in the last chunk
87+
processLinesInPrevChunk(rawChunk, patch, old_ln, new_ln);
88+
89+
return patch;
90+
}
91+
92+
private static void processLinesInPrevChunk(List<String[]> rawChunk, Patch<String> patch, int old_ln, int new_ln) {
93+
String tag;
94+
String rest;
10595
if (!rawChunk.isEmpty()) {
10696
List<String> oldChunkLines = new ArrayList<>();
10797
List<String> newChunkLines = new ArrayList<>();
@@ -116,14 +106,11 @@ public static Patch<String> parseUnifiedDiff(List<String> diff) {
116106
newChunkLines.add(rest);
117107
}
118108
}
119-
120109
patch.addDelta(new ChangeDelta<>(new Chunk<>(
121-
old_ln - 1, oldChunkLines), new Chunk<>(new_ln - 1,
122-
newChunkLines)));
110+
old_ln - 1, oldChunkLines), new Chunk<>(
111+
new_ln - 1, newChunkLines)));
123112
rawChunk.clear();
124113
}
125-
126-
return patch;
127114
}
128115

129116
/**

0 commit comments

Comments
 (0)