Fix API errors raised on ResolveMerger affecting API providers only

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>
This commit is contained in:
Christian Halstrick 2014-07-30 17:01:56 +02:00 committed by Matthias Sohn
parent efce340474
commit adbf0541dc
3 changed files with 24 additions and 3 deletions

View 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>

View File

@ -169,6 +169,7 @@ public boolean containsConflicts() {
* markers!) as new conflict-free content
*
* @param containsConflicts
* @since 3.5
*/
protected void setContainsConflicts(boolean containsConflicts) {
this.containsConflicts = containsConflicts;

View File

@ -468,7 +468,7 @@ private DirCacheEntry keep(DirCacheEntry e) {
* @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 void setWorkingTreeIterator(WorkingTreeIterator workingTreeIterator) {
* 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 @@ protected boolean mergeTrees(AbstractTreeIterator baseTree,
* {@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 {