| <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 Git Library API</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 Git Library API.</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="#gitlibrary_api">Git Library</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>(Dec 19 '14) <a href="#issue-249326">API for git stash support.</a> |
| </li> |
| <li>(Dec 11 '14) <a href="#issue-233106">Passing messages from running commands to the caller.</a> |
| </li> |
| <li>(Oct 27 '14) <a href="#issue-248002">New method exporting a diff between two arbitrary commits or trees.</a> |
| </li> |
| <li>(Jul 1 '14) <a href="#issue-235267">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li>(Jun 25 '14) <a href="#issue-245236">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li>(Jun 23 '14) <a href="#issue-245078">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li>(Mar 4 '14) <a href="#issue-242370">New methods in ProgressMonitor informing about the progress of command's subtasks.</a> |
| </li> |
| <li>(Feb 18 '14) <a href="#issue-241798">File status provides also information about the last index entry modification timestamp.</a> |
| </li> |
| <li>(Oct 31 '13) <a href="#issue-237621">The log command returns also branches containing the commits from the result.</a> |
| </li> |
| <li>(Sep 25 '13) <a href="#issue-235882">The log command returns also branches containing the commits from the result.</a> |
| </li> |
| <li>(Aug 22 '13) <a href="#issue-234391">Adding a command setting the upstream branch/tracking of local branches</a> |
| </li> |
| <li>(Mar 12 '13) <a href="#issue-227348">Adding support comparing trees of arbitrary commits</a> |
| </li> |
| <li>(Mar 11 '13) <a href="#issue-226545">Adding support for rebase to the API</a> |
| </li> |
| <li>(Feb 6 '13) <a href="#version-1.7">Adding new method to GitClient: commit(), amending the last commit</a> |
| </li> |
| <li>(Nov 16 '12) <a href="#version-1.5">Adding new method to GitClient: release()</a> |
| </li> |
| <li>(Mar 11 '12) <a href="#version-1.0">Initial version of the API</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.libs.git > 1.20</pre> |
| <ul> |
| <li> |
| (1.31) <a href="#issue-249326">API for git stash support.</a> |
| </li> |
| <li> |
| (1.30) <a href="#issue-233106">Passing messages from running commands to the caller.</a> |
| </li> |
| <li> |
| (1.29) <a href="#issue-248002">New method exporting a diff between two arbitrary commits or trees.</a> |
| </li> |
| <li> |
| (1.27) <a href="#issue-235267">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li> |
| (1.26) <a href="#issue-245236">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li> |
| (1.24) <a href="#issue-245078">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li> |
| (1.21) <a href="#issue-242370">New methods in ProgressMonitor informing about the progress of command's subtasks.</a> |
| </li> |
| <li> |
| (1.19) <a href="#issue-241798">File status provides also information about the last index entry modification timestamp.</a> |
| </li> |
| <li> |
| (1.16) <a href="#issue-237621">The log command returns also branches containing the commits from the result.</a> |
| </li> |
| <li> |
| (1.14) <a href="#issue-235882">The log command returns also branches containing the commits from the result.</a> |
| </li> |
| <li> |
| (1.12) <a href="#issue-234391">Adding a command setting the upstream branch/tracking of local branches</a> |
| </li> |
| <li> |
| (1.9) <a href="#issue-227348">Adding support comparing trees of arbitrary commits</a> |
| </li> |
| <li> |
| (1.8) <a href="#issue-226545">Adding support for rebase to the API</a> |
| </li> |
| <li> |
| (1.7) <a href="#version-1.7">Adding new method to GitClient: commit(), amending the last commit</a> |
| </li> |
| <li> |
| (1.5) <a href="#version-1.5">Adding new method to GitClient: release()</a> |
| </li> |
| <li> |
| (1.0) <a href="#version-1.0">Initial version of the API</a> |
| </li> |
| </ul> |
| <h1> |
| <a name="all-by-class">Changes by affected class</a> |
| </h1> |
| <h2> |
| <a name="org.netbeans.libs.git.GitCherryPickResult"><code><span style="color:gray">org.netbeans.libs.git.</span>GitCherryPickResult</code></a> |
| </h2><ul><li>(Jul 1 '14) <a href="#issue-235267">New method for updating a reference (branch) to a new commit id.</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitClient"><code><span style="color:gray">org.netbeans.libs.git.</span>GitClient</code></a> |
| </h2><ul><li>(Dec 19 '14) <a href="#issue-249326">API for git stash support.</a> |
| </li> |
| <li>(Oct 27 '14) <a href="#issue-248002">New method exporting a diff between two arbitrary commits or trees.</a> |
| </li> |
| <li>(Jul 1 '14) <a href="#issue-235267">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li>(Jun 25 '14) <a href="#issue-245236">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li>(Jun 23 '14) <a href="#issue-245078">New method for updating a reference (branch) to a new commit id.</a> |
| </li> |
| <li>(Oct 31 '13) <a href="#issue-237621">The log command returns also branches containing the commits from the result.</a> |
| </li> |
| <li>(Sep 25 '13) <a href="#issue-235882">The log command returns also branches containing the commits from the result.</a> |
| </li> |
| <li>(Aug 22 '13) <a href="#issue-234391">Adding a command setting the upstream branch/tracking of local branches</a> |
| </li> |
| <li>(Mar 12 '13) <a href="#issue-227348">Adding support comparing trees of arbitrary commits</a> |
| </li> |
| <li>(Mar 11 '13) <a href="#issue-226545">Adding support for rebase to the API</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitMergeResult"><code><span style="color:gray">org.netbeans.libs.git.</span>GitMergeResult</code></a> |
| </h2><ul><li>(Jun 25 '14) <a href="#issue-245236">New method for updating a reference (branch) to a new commit id.</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitRebaseResult"><code><span style="color:gray">org.netbeans.libs.git.</span>GitRebaseResult</code></a> |
| </h2><ul><li>(Mar 11 '13) <a href="#issue-226545">Adding support for rebase to the API</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitRepository"><code><span style="color:gray">org.netbeans.libs.git.</span>GitRepository</code></a> |
| </h2><ul><li>(Jun 25 '14) <a href="#issue-245236">New method for updating a reference (branch) to a new commit id.</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitRepositoryState"><code><span style="color:gray">org.netbeans.libs.git.</span>GitRepositoryState</code></a> |
| </h2><ul><li>(Jul 1 '14) <a href="#issue-235267">New method for updating a reference (branch) to a new commit id.</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitRevisionInfo"><code><span style="color:gray">org.netbeans.libs.git.</span>GitRevisionInfo</code></a> |
| </h2><ul><li>(Sep 25 '13) <a href="#issue-235882">The log command returns also branches containing the commits from the result.</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitStatus"><code><span style="color:gray">org.netbeans.libs.git.</span>GitStatus</code></a> |
| </h2><ul><li>(Feb 18 '14) <a href="#issue-241798">File status provides also information about the last index entry modification timestamp.</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.GitSubmoduleStatus"><code><span style="color:gray">org.netbeans.libs.git.</span>GitSubmoduleStatus</code></a> |
| </h2><ul><li>(Oct 31 '13) <a href="#issue-237621">The log command returns also branches containing the commits from the result.</a> |
| </li></ul><h2> |
| <a name="org.netbeans.libs.git.progress.ProgressMonitor"><code><span style="color:gray">org.netbeans.libs.git.progress.</span>ProgressMonitor</code></a> |
| </h2><ul><li>(Dec 11 '14) <a href="#issue-233106">Passing messages from running commands to the caller.</a> |
| </li> |
| <li>(Mar 4 '14) <a href="#issue-242370">New methods in ProgressMonitor informing about the progress of command's subtasks.</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="gitlibrary_api">Git Library</a> |
| </h2> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-249326">API for git stash support.</a> |
| </h3> |
| <em>Dec 19 '14; API spec. version: 1.31; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=249326"> |
| #249326</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>Adding few new GitClient's methods handling the git stash support. |
| The API supports creating and applying patches and deleting and listing saved patches.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-233106">Passing messages from running commands to the caller.</a> |
| </h3> |
| <em>Dec 11 '14; API spec. version: 1.30; affected top-level classes: <a href="./org/netbeans/libs/git/progress/ProgressMonitor.html"><code>ProgressMonitor</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=233106"> |
| #233106</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>ProgressMonitor now delivers also informational messages from running commands. |
| This is useful to obtain messages during e.g. push process when a remote repository |
| notifies about run push hooks.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-248002">New method exporting a diff between two arbitrary commits or trees.</a> |
| </h3> |
| <em>Oct 27 '14; API spec. version: 1.29; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=248002"> |
| #248002</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>Adding new variant of GitClient.exportDiff which works for any |
| two arbitrary commits. It is also possible to diff between a commit and the working tree |
| or the Index.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-235267">New method for updating a reference (branch) to a new commit id.</a> |
| </h3> |
| <em>Jul 1 '14; API spec. version: 1.27; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a> <a href="./org/netbeans/libs/git/GitCherryPickResult.html"><code>GitCherryPickResult</code></a> <a href="./org/netbeans/libs/git/GitRepositoryState.html"><code>GitRepositoryState</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=235267"> |
| #235267</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>New method GitClient.cherryPick used to cherry-pick commits and apply them in the |
| current branch. The command may interrupt its progress and require some user actions |
| (such as resolve conflicts or commit) and may be continued with different kinds |
| of operation types passed as its arguments.</li> |
| |
| <li>Introduciong new repository state: CHERRY_PICKING and CHERRY_PICKING_RESOLVED |
| marking the states of the repository when a cherry-picking is not finished or |
| it requires resolving conflicts.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-245236">New method for updating a reference (branch) to a new commit id.</a> |
| </h3> |
| <em>Jun 25 '14; API spec. version: 1.26; affected top-level classes: <a href="./org/netbeans/libs/git/GitRepository.html"><code>GitRepository</code></a> <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a> <a href="./org/netbeans/libs/git/GitMergeResult.html"><code>GitMergeResult</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=245236"> |
| #245236</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>Git client accepts the parameter telling the merge command how |
| to proceed with regard to fast-forward commits. Users may require |
| either to enforce or to completely eliminate (and always create a merge commit) |
| fast-forward merges.</li> |
| |
| <li>Git Repository instance allows users to query for the current default fast-forward |
| option via a new getter method.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-245078">New method for updating a reference (branch) to a new commit id.</a> |
| </h3> |
| <em>Jun 23 '14; API spec. version: 1.24; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=245078"> |
| #245078</a></em> |
| <br> |
| |
| <p>In order to simplify a trivial use-case of merging a remote branch into a local branch |
| not currently checked-out we're adding a new method able to update the local branch to |
| the new id. It is possible only if the branch requires a fast-forward merge (does not |
| contain any unpushed commits). |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-242370">New methods in ProgressMonitor informing about the progress of command's subtasks.</a> |
| </h3> |
| <em>Mar 4 '14; API spec. version: 1.21; affected top-level classes: <a href="./org/netbeans/libs/git/progress/ProgressMonitor.html"><code>ProgressMonitor</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=242370"> |
| #242370</a></em> |
| <br> |
| |
| <p>When a long running git command is invoked it usually calls subtasks playing a smaller execution role |
| (e.g. counting remote objects and actual data fetching during fetch command). Git API is now able to pass |
| messages from these subtasks to an API client to let it update a progress bar and UI. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-241798">File status provides also information about the last index entry modification timestamp.</a> |
| </h3> |
| <em>Feb 18 '14; API spec. version: 1.19; affected top-level classes: <a href="./org/netbeans/libs/git/GitStatus.html"><code>GitStatus</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=241798"> |
| #241798</a></em> |
| <br> |
| |
| <p>It may be useful to know when was the last time a file was updated in the index. <code>GitStatus</code> now |
| provides this value via <code>getIndexEntryModificationDate</code>.</p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-237621">The log command returns also branches containing the commits from the result.</a> |
| </h3> |
| <em>Oct 31 '13; API spec. version: 1.16; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a> <a href="./org/netbeans/libs/git/GitSubmoduleStatus.html"><code>GitSubmoduleStatus</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=237621"> |
| #237621</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>Adding new methods to GitClient allowing users to check a submodule's status, initialize them |
| after a clone and update them to a commit relevant to the state in the parent repository.</li> |
| |
| <li>Adding a new class GitSubmoduleStatus wrapping information about a submodule.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-235882">The log command returns also branches containing the commits from the result.</a> |
| </h3> |
| <em>Sep 25 '13; API spec. version: 1.14; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a> <a href="./org/netbeans/libs/git/GitRevisionInfo.html"><code>GitRevisionInfo</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=235882"> |
| #235882</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>Adding a new method GitClient.log (SearchCriteria, boolean, ProgressMonitor) |
| allowing an API client to specify if he wants to know what branches contain |
| the returned commits applying the search criteria. Such information can |
| be used to filter the resulted commits by branches without a need to restart |
| the command again.</li> |
| |
| <li>Adding a method GitRevisionInfo.getBranches() returning all branches |
| that are known to contain the commit.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-234391">Adding a command setting the upstream branch/tracking of local branches</a> |
| </h3> |
| <em>Aug 22 '13; API spec. version: 1.12; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=234391"> |
| #234391</a></em> |
| <br> |
| |
| <p>Adding a new method GitClient.setUpstreamBranch(String, String, ProgressMonitor) |
| allowing an API client to set the tracking/upstream branch for a local branch. |
| </p> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-227348">Adding support comparing trees of arbitrary commits</a> |
| </h3> |
| <em>Mar 12 '13; API spec. version: 1.9; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=227348"> |
| #227348</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>Adding a new method GitClient.getStatus(File[], String, ProgressMonitor) |
| allowing an API client to get statuses of local files not just against the HEAD but against |
| an arbitrary commit.</li> |
| |
| <li>Adding a new method GitClient.getStatus(File[], String, String, ProgressMonitor) |
| allowing an API client to get modifications from the Git history. It is similar to |
| GitRevisionInfo.getModifications but returns file statuses between two arbitrary commits |
| and not just a commit and its parent.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="issue-226545">Adding support for rebase to the API</a> |
| </h3> |
| <em>Mar 11 '13; API spec. version: 1.8; affected top-level classes: <a href="./org/netbeans/libs/git/GitClient.html"><code>GitClient</code></a> <a href="./org/netbeans/libs/git/GitRebaseResult.html"><code>GitRebaseResult</code></a>; made by: ovrabec; issues: <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=226545"> |
| #226545</a></em> |
| <br> |
| |
| <ul> |
| |
| <li>Adding a new method GitClient.rebase delegating to the rebase command.</li> |
| |
| </ul> |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --> |
| <h3> |
| <a name="version-1.7">Adding new method to GitClient: commit(), amending the last commit</a> |
| </h3> |
| <em>Feb 6 '13; API spec. version: 1.7; made by: ovrabec</em> |
| <br> |
| Git supports commit amendments, in other words modifying the last commit and changing its |
| commit message or modified files. Another commit method allows API clients to specify |
| either to amend the last commit or to make a fresh new commit on top of current HEAD. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="version-1.5">Adding new method to GitClient: release()</a> |
| </h3> |
| <em>Nov 16 '12; API spec. version: 1.5; made by: ovrabec</em> |
| <br> |
| JGit repository normally does not close all opened file descriptors |
| and prevents external commands from working with the same repository. |
| Clients of the JGit API are supposed to call JGitRepository.close() |
| when they're done with the repository. We need to pass this method to the |
| Git Library API so when clients are done with calling all required commands |
| the library closes all descriptors and frees the git metadata files |
| for other tools. |
| <!-- AUTOMATICALLY GENERATED - DO NOT EDIT ME! --><h3> |
| <a name="version-1.0">Initial version of the API</a> |
| </h3> |
| <em>Mar 11 '12; API spec. version: 1.0; made by: ovrabec</em> |
| <br> |
| |
| |
| |
| |
| <hr> |
| <p><span class="footnote">Built on September 14 2018. | Copyright © 2017-2018 Apache Software Foundation. All Rights Reserved.</span></p> |
| |
| |
| </body> |
| |
| </html> |