| <html> |
| <!-- |
| |
| NO NO NO NO NO! |
| |
| ==============> DO NOT EDIT ME! <============== |
| |
| AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT |
| |
| SEE CHANGEME/apichanges.xml |
| |
| --> |
| |
| <head> |
| <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| |
| <title>Change History for the Versioning SPI</title> |
| |
| <link rel="stylesheet" href="prose.css" type="text/css"> |
| |
| </head> |
| |
| <body> |
| |
| |
| <p class="overviewlink"> |
| <a href="overview-summary.html" shape="rect">Overview</a> |
| </p> |
| |
| |
| <h1>Introduction</h1> |
| |
| |
| <p>This document lists changes made to the Versioning SPI.</p> |
| |
| <!-- The actual lists of changes, as summaries and details: --> |
| |
| |
| <hr> |
| <h1> |
| <a name="list-all-apis">Index of APIs</a> |
| </h1> |
| <ul> |
| <li> |
| <a href="#versioning_spi">Versioning SPI</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="incompat-by-date">Incompatible changes by date</a> |
| </h1> |
| <p>Fuller descriptions of all changes can be found below (follow links).</p> |
| <p>Not all deprecations are listed here, assuming that the deprecated |
| APIs continue to essentially work. For a full deprecation list, please |
| consult the |
| <a href="deprecated-list.html">Javadoc</a>.</p> |
| <ul></ul> |
| <h1> |
| <a name="all-by-date">All changes by date</a> |
| </h1> |
| <ul> |
| <li>(Nov 16 '12) <a href="#issue-221831">Support ContextAwareActions</a> |
| </li> |
| <li>(Apr 12 '12) <a href="#issue-210691">Support ContextAwareActions</a> |
| </li> |
| <li>(Apr 12 '12) <a href="#issue-209673">Added VCSHistoryProvider.HistoryEntry.getParent()</a> |
| </li> |
| <li>(Jan 30 '12) <a href="#issue-207126">Added VCSHistoryProvider</a> |
| </li> |
| <li>(Jul 19 '11) <a href="#issue-199986">isExcluded() added to VersioningSupport</a> |
| </li> |
| <li>(May 23 '11) <a href="#issue-196290">New @VersioningSystem.Registration annotation</a> |
| </li> |
| <li>(Aug 27 '10) <a href="#issue-189921">beforeCopy(), doCopy() and afterCopy() methods added to VCSInterceptor</a> |
| </li> |
| <li>(Apr 19 '10) <a href="#issue-181684">refreshRecursively() method added to VCSInterceptor</a> |
| </li> |
| <li>(Dec 8 '09) <a href="#issue-146634">Added getVisibilityQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li>(May 12 '09) <a href="#issue-158681">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li>(Jun 27 '08) <a href="#issue-137822">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li>(Mar 30 '08) <a href="#issue-130044">Added isMutable() method to VCSInterceptor</a> |
| </li> |
| <li>(Jan 25 '08) <a href="#issue-125853">Added getFiles() method to VCSContext</a> |
| </li> |
| <li>(Jun 15 '07) <a href="#version-1.5">Added beforeEdit method to VCSInterceptor</a> |
| </li> |
| <li>(Apr 18 '07) <a href="#version-1.4">Initial version of SPI released</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="all-by-version">Changes by version</a> |
| </h1> |
| <p> |
| These API specification versions may be used to indicate that a module |
| requires a certain API feature in order to function. For example, if you |
| see here a feature you need which is labelled <samp>1.20</samp>, your |
| manifest should contain in its main attributes the line: |
| </p> |
| <pre>OpenIDE-Module-Module-Dependencies: org.netbeans.modules.versioning > 1.20</pre> |
| <ul> |
| <li> |
| (1.37) <a href="#issue-221831">Support ContextAwareActions</a> |
| </li> |
| <li> |
| (1.31) <a href="#issue-210691">Support ContextAwareActions</a> |
| </li> |
| <li> |
| (1.30) <a href="#issue-209673">Added VCSHistoryProvider.HistoryEntry.getParent()</a> |
| </li> |
| <li> |
| (1.29) <a href="#issue-207126">Added VCSHistoryProvider</a> |
| </li> |
| <li> |
| (1.25) <a href="#issue-199986">isExcluded() added to VersioningSupport</a> |
| </li> |
| <li> |
| (1.24) <a href="#issue-196290">New @VersioningSystem.Registration annotation</a> |
| </li> |
| <li> |
| (1.18) <a href="#issue-189921">beforeCopy(), doCopy() and afterCopy() methods added to VCSInterceptor</a> |
| </li> |
| <li> |
| (1.17) <a href="#issue-181684">refreshRecursively() method added to VCSInterceptor</a> |
| </li> |
| <li> |
| (1.10) <a href="#issue-146634">Added getVisibilityQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li> |
| (1.9) <a href="#issue-158681">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li> |
| (1.8) <a href="#issue-137822">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li> |
| (1.7) <a href="#issue-130044">Added isMutable() method to VCSInterceptor</a> |
| </li> |
| <li> |
| (1.6) <a href="#issue-125853">Added getFiles() method to VCSContext</a> |
| </li> |
| <li> |
| (1.5) <a href="#version-1.5">Added beforeEdit method to VCSInterceptor</a> |
| </li> |
| <li> |
| (1.4) <a href="#version-1.4">Initial version of SPI released</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="all-by-class">Changes by affected class</a> |
| </h1> |
| <h2> |
| <a name="org.netbeans.modules.versioning.spi.VCSContext"><code><span style="color:gray">org.netbeans.modules.versioning.spi.</span>VCSContext</code></a> |
| </h2><ul><li>(Jan 25 '08) <a href="#issue-125853">Added getFiles() method to VCSContext</a> |
| </li></ul><h2> |
| <a name="org.netbeans.modules.versioning.spi.VCSHistoryProvider"><code><span style="color:gray">org.netbeans.modules.versioning.spi.</span>VCSHistoryProvider</code></a> |
| </h2><ul><li>(Apr 12 '12) <a href="#issue-210691">Support ContextAwareActions</a> |
| </li> |
| <li>(Apr 12 '12) <a href="#issue-209673">Added VCSHistoryProvider.HistoryEntry.getParent()</a> |
| </li></ul><h2> |
| <a name="org.netbeans.modules.versioning.spi.VCSInterceptor"><code><span style="color:gray">org.netbeans.modules.versioning.spi.</span>VCSInterceptor</code></a> |
| </h2><ul><li>(Aug 27 '10) <a href="#issue-189921">beforeCopy(), doCopy() and afterCopy() methods added to VCSInterceptor</a> |
| </li> |
| <li>(Apr 19 '10) <a href="#issue-181684">refreshRecursively() method added to VCSInterceptor</a> |
| </li> |
| <li>(May 12 '09) <a href="#issue-158681">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li>(Mar 30 '08) <a href="#issue-130044">Added isMutable() method to VCSInterceptor</a> |
| </li></ul><h2> |
| <a name="org.netbeans.modules.versioning.spi.VCSVisibilityQuery"><code><span style="color:gray">org.netbeans.modules.versioning.spi.</span>VCSVisibilityQuery</code></a> |
| </h2><ul><li>(Nov 16 '12) <a href="#issue-221831">Support ContextAwareActions</a> |
| </li></ul><h2> |
| <a name="org.netbeans.modules.versioning.spi.VersioningSupport"><code><span style="color:gray">org.netbeans.modules.versioning.spi.</span>VersioningSupport</code></a> |
| </h2><ul><li>(Jan 30 '12) <a href="#issue-207126">Added VCSHistoryProvider</a> |
| </li> |
| <li>(Jul 19 '11) <a href="#issue-199986">isExcluded() added to VersioningSupport</a> |
| </li></ul><h2> |
| <a name="org.netbeans.modules.versioning.spi.VersioningSystem"><code><span style="color:gray">org.netbeans.modules.versioning.spi.</span>VersioningSystem</code></a> |
| </h2><ul><li>(May 23 '11) <a href="#issue-196290">New @VersioningSystem.Registration annotation</a> |
| </li> |
| <li>(Dec 8 '09) <a href="#issue-146634">Added getVisibilityQueryImplementation() method to VersioningSystem</a> |
| </li> |
| <li>(Jun 27 '08) <a href="#issue-137822">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </li></ul><hr> |
| <h1> |
| <a name="details-by-api">Details of all changes by API and date</a> |
| </h1> |
| <hr style="width:50%"> |
| <h2> |
| <a name="versioning_spi">Versioning SPI</a> |
| </h2> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-221831">Support ContextAwareActions</a> |
| </h3> |
| <em>Nov 16 '12; API spec. version: 1.37; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSVisibilityQuery.html"><code>VCSVisibilityQuery</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=221831"> |
| #221831</a></em> |
| <br> |
| make it possible for Versioning Systems to fire visibility changes for a list of files |
| instead of one unspecific change event. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-210691">Support ContextAwareActions</a> |
| </h3> |
| <em>Apr 12 '12; API spec. version: 1.31; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSHistoryProvider.html"><code>VCSHistoryProvider</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=210691"> |
| #210691</a></em> |
| <br> |
| Ensure that <code>ContextAwareAction</code>-s provided via <code>VCSHistoryProvider.HistoryEntry.getActions()</code> |
| are created with a context containing the selected nodes in a files editor history tab. Those nodes than will have |
| the relevant <code>HistoryEntry</code> and files in their lookup. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-209673">Added VCSHistoryProvider.HistoryEntry.getParent()</a> |
| </h3> |
| <em>Apr 12 '12; API spec. version: 1.30; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSHistoryProvider.html"><code>VCSHistoryProvider</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=209673"> |
| #209673</a></em> |
| <br> |
| New method <code>VCSHistoryProvider.HistoryEntry.getParent()</code> to provide the |
| <code>VCSHistoryProvider.HistoryEntry</code> representing the parent of the given revision. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-207126">Added VCSHistoryProvider</a> |
| </h3> |
| <em>Jan 30 '12; API spec. version: 1.29; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VersioningSupport.html"><code>VersioningSupport</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=207126"> |
| #207126</a></em> |
| <br> |
| New type <code>VCSHistoryProvider</code> makes it possible for versionig systems to |
| provide information about a files history which is then used in that files editor history tab. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-199986">isExcluded() added to VersioningSupport</a> |
| </h3> |
| <em>Jul 19 '11; API spec. version: 1.25; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VersioningSupport.html"><code>VersioningSupport</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=199986"> |
| #199986</a></em> |
| <br> |
| Method <code>isExcluded</code> states that a given folder is excluded from version control completely. |
| All version control systems should respect the return value and consider such folders to be unversioned. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-196290">New @VersioningSystem.Registration annotation</a> |
| </h3> |
| <em>May 23 '11; API spec. version: 1.24; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VersioningSystem.html"><code>VersioningSystem</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=196290"> |
| #196290</a></em> |
| <br> |
| Register a VCS System via the <code>@VersioningSystem.Registration</code> |
| instead of <code>@ServiceProvider</code>. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-189921">beforeCopy(), doCopy() and afterCopy() methods added to VCSInterceptor</a> |
| </h3> |
| <em>Aug 27 '10; API spec. version: 1.18; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSInterceptor.html"><code>VCSInterceptor</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=189921"> |
| #189921</a></em> |
| <br> |
| |
| <code>VCSInterceptor.beforeCopy</code>, <code>VCSInterceptor.doCopy</code>, |
| and <code>VCSInterceptor.afterCopy</code> allow a version control system |
| to better control a copy operation on a file. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-181684">refreshRecursively() method added to VCSInterceptor</a> |
| </h3> |
| <em>Apr 19 '10; API spec. version: 1.17; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSInterceptor.html"><code>VCSInterceptor</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=181684"> |
| #181684</a></em> |
| <br> |
| |
| <code>VCSInterceptor.refreshRecursively</code> allows a version control system to get better control on behavior of recursive listener. |
| With this method a versioning system can disable recursive listening on specific folders (e.g. versioning system metadata) and on the other hand |
| learn about and handle external changes inside the folder in its own way. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-146634">Added getVisibilityQueryImplementation() method to VersioningSystem</a> |
| </h3> |
| <em>Dec 8 '09; API spec. version: 1.10; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VersioningSystem.html"><code>VersioningSystem</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=146634"> |
| #146634</a></em> |
| <br> |
| Some Versioning systems provide a VisibilityQueryImplementation. This API change has two purposes: |
| 1. There will be only one registered VQI (Versioning manager) that will delegate the query to the appropriate |
| versioning system which will speed things up. |
| 2. It makes it clear and explicit that implementors of a VersioningSystem might want to provide the query. |
| It would be possible for them to just implement and register their own VisibilityQueryImplementation but |
| they could easily forget to do that. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-158681">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </h3> |
| <em>May 12 '09; API spec. version: 1.9; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSInterceptor.html"><code>VCSInterceptor</code></a>; made by: tstupka; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=158681"> |
| #158681</a></em> |
| <br> |
| New method getAttribute(File file, String attrName). Provides additional VCS specific information |
| about versioned files. The only supported attribute at this moment is |
| "ProvidedExtensions.RemoteLocation" for which VCS systems |
| overrinding getAttribute should return the files remote repository, resp. remote origin. |
| (e.g. Repository URL in case of SVN or default pull in case of Mercurial). |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-137822">Added getCollocationQueryImplementation() method to VersioningSystem</a> |
| </h3> |
| <em>Jun 27 '08; API spec. version: 1.8; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VersioningSystem.html"><code>VersioningSystem</code></a>; made by: msandor; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=137822"> |
| #137822</a></em> |
| <br> |
| Every Versioning system should provide a CollocationQueryImplementation. This API change has two purposes: |
| 1. It makes it clear and explicit that implementors of a VersioningSystem should provide the query. It would be possible for them |
| to just implement and register their own CollocationQueryImplementation but they could easily forget to do that. |
| 2. There will be only one registered CQI (Versioning manager) that will delegate the query to the appropriate |
| versioning system which will speed things up. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-130044">Added isMutable() method to VCSInterceptor</a> |
| </h3> |
| <em>Mar 30 '08; API spec. version: 1.7; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSInterceptor.html"><code>VCSInterceptor</code></a>; made by: msandor; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=130044"> |
| #130044</a></em> |
| <br> |
| This new method provides ability to override default File.canWrite() query for versioning systems that |
| keep files read-only on disk and are able to make them read-write on demand in the interceptor (eg. in doDelete()). |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="issue-125853">Added getFiles() method to VCSContext</a> |
| </h3> |
| <em>Jan 25 '08; API spec. version: 1.6; affected top-level classes: <a href="./org/netbeans/modules/versioning/spi/VCSContext.html"><code>VCSContext</code></a>; made by: msandor; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=125853"> |
| #125853</a></em> |
| <br> |
| This new method provides access to all files and folders that the user originally selected in the IDE. Current |
| getRootFiles() method removes files from the context if their ancestors are already in the context. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="version-1.5">Added beforeEdit method to VCSInterceptor</a> |
| </h3> |
| <em>Jun 15 '07; API spec. version: 1.5; made by: msandor</em> |
| <br> |
| This is to properly support versioning systems that write-protect their files on local filesystem. They need a way to make |
| a file r/w automatically once something tries to write to it. This is especially needed for refactoring to work. Now they have |
| a chance to check-out a file in the beforeEdit() callback. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="version-1.4">Initial version of SPI released</a> |
| </h3> |
| <em>Apr 18 '07; API spec. version: 1.4; made by: msandor</em> |
| <br> |
| First initial release of the Versioning SPI. |
| Level of stability is development. |
| Allows external modules to plug into IDE's Versioning infrastructure. |
| Such modules should register <code>VersioningSystem</code> implementation |
| in their lookups. |
| |
| |
| <hr> |
| <p><span class="footnote">Built on September 14 2018. | Copyright © 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p> |
| |
| |
| </body> |
| |
| </html> |