Mercurial > jhg
diff src/org/tmatesoft/hg/internal/PatchGenerator.java @ 549:83afa680555d
Annotate merge revision (combined diff against two parents without looking further)
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 19 Feb 2013 21:17:39 +0100 |
parents | 15b406c7cd9d |
children |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/internal/PatchGenerator.java Mon Feb 18 19:58:51 2013 +0100 +++ b/src/org/tmatesoft/hg/internal/PatchGenerator.java Tue Feb 19 21:17:39 2013 +0100 @@ -21,6 +21,7 @@ import java.util.Map; import org.tmatesoft.hg.repo.HgDataFile; +import org.tmatesoft.hg.repo.HgInvalidStateException; import org.tmatesoft.hg.repo.HgLookup; import org.tmatesoft.hg.repo.HgRepository; @@ -55,6 +56,13 @@ seq2 = s2; prepare(s2); } + + public void init(T s1) { + if (seq2 == null) { + throw new IllegalStateException("Use this #init() only when target sequence shall be matched against different origin"); + } + seq1 = s1; + } private void prepare(T s2) { @@ -200,7 +208,11 @@ added(changeStartS1, changeStartS2, matchStartSeq2); } else { assert changeStartS2 == matchStartSeq2; - System.out.printf("adjustent equal blocks %d, %d and %d,%d\n", changeStartS1, matchStartSeq1, changeStartS2, matchStartSeq2); + if (matchStartSeq1 > 0 || matchStartSeq2 > 0) { + // FIXME perhaps, exception is too much for the case + // once diff is covered with tests, replace with assert false : msg; + throw new HgInvalidStateException(String.format("adjustent equal blocks %d, %d and %d,%d", changeStartS1, matchStartSeq1, changeStartS2, matchStartSeq2)); + } } } if (matchLength > 0) {