summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-06-18 14:59:57 -0700
committerShawn O. Pearce <sop@google.com>2009-06-18 16:32:53 -0700
commitbabe4f2046053613a859540c97ff412231d93a14 (patch)
treea2227901d3532d4576b7ff8a9d8ef1cecd4300ba
parent0acca08266a619ae8d10f1a443baf952668fdab0 (diff)
Fix server error when remaining hunks are comments
If the remaining hunks of a file are empty (because they are dummies for a file) we shouldn't delete them, but instead leave them intact for further hunk passes. Bug: GERRIT-227 Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r--src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java b/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java
index 6e71f37eca..f72a287bc9 100644
--- a/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java
+++ b/src/main/java/com/google/gerrit/server/patch/PatchScriptBuilder.java
@@ -312,9 +312,16 @@ class PatchScriptBuilder {
if (end(curEdit, aCur, bCur) && ++curIdx < edits.size()) {
curEdit = edits.get(curIdx);
- while (curEdit.getType() == Edit.Type.EMPTY && curEdit != endEdit) {
+ while (curEdit.getType() == Edit.Type.EMPTY) {
+ if (aEnd <= curEdit.getBeginA() || bEnd <= curEdit.getEndB()) {
+ break;
+ }
edits.remove(curIdx);
- curEdit = edits.get(curIdx);
+ if (curIdx < edits.size()) {
+ curEdit = edits.get(curIdx);
+ } else {
+ break;
+ }
}
}
}