Add section heading support to diff parse utils
kuoruan opened this issue · comments
Xingwang Liao commented
Current Pattern do not support section heading
: https://en.wikipedia.org/wiki/Diff#Unified_format
It can be:
^@@\\s+-(\\d+)(?:,(\\d+))?\\s+\+(\\d+)(?:,(\\d+))?\\s+@@(?:\\s+(.+))?$
Tobias commented
Could you give an example diff file. I implement it and make a test. However, PRs are welcome.
Xingwang Liao commented
Sure:
--- a/java-diff-utils/src/main/java/com/github/difflib/UnifiedDiffUtils.java
+++ b/java-diff-utils/src/main/java/com/github/difflib/UnifiedDiffUtils.java
@@ -420,11 +420,11 @@ private static void insertOrig(List<List<String>> diffList, List<String> result,
int end = nexMap.get("revRow") - 2;
insert(result, getOrigList(original, start, end));
}
+ int start = map.get("orgRow") + map.get("orgDel") - 1;
+ start = start == -1 ? 0 : start;
if (simb.contains("@@ -1,") && null == nexSimb && map.get("orgDel") != original.size()) {
- insert(result, getOrigList(original, 0, original.size() - 1));
+ insert(result, getOrigList(original, start, original.size() - 1));
} else if (null == nexSimb && (map.get("orgRow") + map.get("orgDel") - 1) < original.size()) {
- int start = map.get("orgRow") + map.get("orgDel") - 1;
- start = start == -1 ? 0 : start;
insert(result, getOrigList(original, start, original.size() - 1));
}
}
github-actions commented
Stale issue message