From 2a0b0b64aae0ac787d7bb00e1f32d44adeedfed3 Mon Sep 17 00:00:00 2001 From: irengrig Date: Thu, 6 Oct 2011 15:34:21 +0400 Subject: [PATCH] apply patch symmetric deletions and insertions cases --- .../openapi/diff/impl/patch/apply/GenericPatchApplier.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/apply/GenericPatchApplier.java b/platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/apply/GenericPatchApplier.java index a4daa9e3b056..38e42055c993 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/apply/GenericPatchApplier.java +++ b/platform/vcs-impl/src/com/intellij/openapi/diff/impl/patch/apply/GenericPatchApplier.java @@ -393,7 +393,7 @@ public class GenericPatchApplier { myHadAlreadyAppliedMet = value.isHaveAlreadyApplied(); } else { // deletion - myTransformations.put(new TextRange(j, i), new MyAppliedData(Collections.emptyList(), value.isHaveAlreadyApplied(), + myTransformations.put(new TextRange(j, i + (cntStart - endSize)), new MyAppliedData(Collections.emptyList(), value.isHaveAlreadyApplied(), value.isPlaceCoinside(), value.isChangedCoinside(), value.myChangeType)); } } else { @@ -402,7 +402,7 @@ public class GenericPatchApplier { // just took one line assert cntStart > 0; final MyAppliedData newData = - new MyAppliedData(new ArrayList(list.subList(cntStart - 1, endSize)), value.isHaveAlreadyApplied(), value.isPlaceCoinside(), + new MyAppliedData(new ArrayList(list.subList(cntStart - (j - i), endSize)), value.isHaveAlreadyApplied(), value.isPlaceCoinside(), value.isChangedCoinside(), value.myChangeType); final TextRange newRange = new TextRange(i, i); myTransformations.put(newRange, newData);