]> source.dussan.org Git - jgit.git/commitdiff
Fix API errors raised on ResolveMerger affecting API providers only 67/30767/2
authorChristian Halstrick <christian.halstrick@sap.com>
Wed, 30 Jul 2014 15:01:56 +0000 (17:01 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Wed, 30 Jul 2014 22:02:17 +0000 (00:02 +0200)
In change If45bc3d078b3d3de87b758e71d7379059d709603 a new parameter was
added to 3 protected methods of ResolveMerger. This breaks the code of
developers which have subclassed ResolveMerger. The API baseline check
in Eclipse reports this as API breakage.

Since this will break only providers but not consumers of the API this
should be allowed also in minor versions. According to OSGi semantic
versioning
http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf
breaking providers in a minor version update is ok.

Therefore silence these errors using API filter rules.

Bug: 440757
Change-Id: Icabbd0e1de7e877c66a5c4a2c8391473f992a1aa
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit/.settings/.api_filters
org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeResult.java
org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java

index 0b8473e719a0fe3d2dc2aa28422a7c7c6a84a7d0..01c243417a798466c748d274137235107dc16fe9 100644 (file)
@@ -8,4 +8,24 @@
             </message_arguments>
         </filter>
     </resource>
+    <resource path="src/org/eclipse/jgit/merge/ResolveMerger.java" type="org.eclipse.jgit.merge.ResolveMerger">
+        <filter comment="Doesn't break consumers. Breaking providers is allowed also in minor versions." id="338792546">
+            <message_arguments>
+                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
+                <message_argument value="mergeTreeWalk(TreeWalk)"/>
+            </message_arguments>
+        </filter>
+        <filter comment="Doesn't break consumers. Breaking providers is allowed also in minor versions." id="338792546">
+            <message_arguments>
+                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
+                <message_argument value="mergeTrees(AbstractTreeIterator, RevTree, RevTree)"/>
+            </message_arguments>
+        </filter>
+        <filter comment="Doesn't break consumers. Breaking providers is allowed also in minor versions." id="338792546">
+            <message_arguments>
+                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
+                <message_argument value="processEntry(CanonicalTreeParser, CanonicalTreeParser, CanonicalTreeParser, DirCacheBuildIterator, WorkingTreeIterator)"/>
+            </message_arguments>
+        </filter>
+    </resource>
 </component>
index bac2b4fa78ce662ff547413ac48a85edf0f1494a..dc3c772efb1337458933e26a770bbca99d4ff343 100644 (file)
@@ -169,6 +169,7 @@ public class MergeResult<S extends Sequence> implements Iterable<MergeChunk> {
         * markers!) as new conflict-free content
         *
         * @param containsConflicts
+        * @since 3.5
         */
        protected void setContainsConflicts(boolean containsConflicts) {
                this.containsConflicts = containsConflicts;
index d9cd50def5f21a49d14477e8481da956686f2d32..a5e30b6e21c54d738ee15f95ad75cddde666529c 100644 (file)
@@ -468,7 +468,7 @@ public class ResolveMerger extends ThreeWayMerger {
         * @throws IncorrectObjectTypeException
         * @throws CorruptObjectException
         * @throws IOException
-        * @since 3.4
+        * @since 3.5
         */
        protected boolean processEntry(CanonicalTreeParser base,
                        CanonicalTreeParser ours, CanonicalTreeParser theirs,
@@ -1021,7 +1021,7 @@ public class ResolveMerger extends ThreeWayMerger {
         *            conflicts.
         * @return whether the trees merged cleanly
         * @throws IOException
-        * @since 3.0
+        * @since 3.5
         */
        protected boolean mergeTrees(AbstractTreeIterator baseTree,
                        RevTree headTree, RevTree mergeTree, boolean ignoreConflicts)
@@ -1082,7 +1082,7 @@ public class ResolveMerger extends ThreeWayMerger {
         *            {@link ResolveMerger#mergeTrees(AbstractTreeIterator, RevTree, RevTree, boolean)}
         * @return Whether the trees merged cleanly.
         * @throws IOException
-        * @since 3.4
+        * @since 3.5
         */
        protected boolean mergeTreeWalk(TreeWalk treeWalk, boolean ignoreConflicts)
                        throws IOException {