| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
| <html> | |
| <head> | |
| <meta http-equiv="content-type" content="text/html; charset=UTF-8"> | |
| <meta name="author" content="troy.giunipero@sun.com"> | |
| <meta name="description" content="A preview of Subversion Features in NetBeans IDE 6.9 and higher"> | |
| <meta name="keywords" content="NetBeans, IDE, integrated development environment, Subversion, | |
| CVS, versioning software, open source, developers, collaborate"> | |
| <link rel="stylesheet" type="text/css" href="../../../netbeans.css"> | |
| <link rel="stylesheet" type="text/css" href="../../../lytebox.css" media="screen"> | |
| <script type="text/javascript" src="../../../images_www/js/lytebox-compressed.js"></script> | |
| <title>Using Subversion Support in NetBeans IDE</title> | |
| </head> | |
| <body> | |
| <!-- | |
| Copyright (c) 2009 - 2014, Oracle and/or its affiliates. All rights reserved. | |
| --> | |
| <h1>Using Subversion Support in NetBeans IDE</h1> | |
| <p>NetBeans IDE provides tight integration with Subversion client versions 1.6.x and | |
| higher. The IDE's Subversion support is designed to help streamline the development | |
| process for groups working from a shared repository, enabling you to perform versioning | |
| tasks directly from your project system within the IDE.</p> | |
| <p>This document demonstrates how to perform basic versioning tasks in the IDE by | |
| guiding you through the standard workflow when using versioning software.</p> | |
| <p>Please note that NetBeans Subversion support <em>does not</em> work when used | |
| with Cygwin.</p> | |
| <p><a href="http://subversion.tigris.org/">Subversion</a> is a popular open source | |
| version control system that is becoming the next-generation replacement for CVS. | |
| It provides various improved features, for example:</p> | |
| <ul> | |
| <li>Full version history is provided for renamed, moved or removed files.</li> | |
| <li>Commit operations are atomic, meaning that a collection of modifications | |
| either enter the repository completely or, in the event of connection failure, | |
| not at all.</li> | |
| <li>Versioning of project metadata is provided.</li> | |
| </ul> | |
| <p><strong>Contents</strong></p> | |
| <img src="../../../images_www/articles/73/netbeans-stamp-80-74-73.png" | |
| class="stamp" | |
| alt="Content on this page applies to NetBeans IDE 6.9 and higher" | |
| title="Content on this page applies to the NetBeans IDE 6.9 and higher"> | |
| <ul class="toc"> | |
| <li><a href="#settingUp">Setting up Subversion</a> | |
| <ul> | |
| <li><a href="#getting">Getting the Software</a></li> | |
| <li><a href="#specifying">Specifying the Path to the Subversion Executable</a></li> | |
| <li><a href="#ensuring">Ensuring you have a Repository to Connect to</a></li> | |
| </ul></li> | |
| <li><a href="#synchronizing">Synchronizing Local Files with a Repository</a> | |
| <ul> | |
| <li><a href="#opening">Opening a Subversion Project in the IDE</a></li> | |
| <li><a href="#checking">Checking out Files from a Repository</a></li> | |
| <li><a href="#importing">Importing Files into a Repository</a></li> | |
| </ul></li> | |
| <li><a href="#editing">Editing Sources</a> | |
| <ul> | |
| <li><a href="#viewingChanges">Viewing Changes in the Source Editor</a></li> | |
| <li><a href="#viewingFileStatus">Viewing File Status Information</a></li> | |
| <li><a href="#comparing">Comparing File Revisions</a></li> | |
| <li><a href="#merging">Merging File Revisions</a></li> | |
| </ul></li> | |
| <li><a href="#committing">Committing Sources to a Repository</a> | |
| <ul> | |
| <li><a href="#updating">Updating Local Copies</a></li> | |
| <li><a href="#resolving">Resolving Conflicts</a></li> | |
| <li><a href="#performing">Performing the Commit</a></li> | |
| </ul></li> | |
| <li><a href="#summary">Summary</a></li> | |
| <li><a href="#seeAlso">See Also</a></li> | |
| </ul> | |
| <p><strong>To complete this tutorial, you need the following software and resources.</strong></p> | |
| <table> | |
| <tbody> | |
| <tr> | |
| <th class="tblheader" scope="col">Software or Resource</th> | |
| <th class="tblheader" scope="col">Version Required</th> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans | |
| IDE</a></td> | |
| <td class="tbltd1">version 6.9, 7.0, 7.1, 7.2, 7.3, 7.4, or 8.0 </td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">Java | |
| Development Kit (JDK)</a></td> | |
| <td class="tbltd1">version 6, 7, or 8 </td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><a href="http://www.open.collab.net/downloads/netbeans/">Subversion client software</a></td> | |
| <td class="tbltd1">1.6.x or more recent</td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <p class="notes"><strong>Note for Windows users: </strong>You can install a bundled Subversion client as a NetBeans IDE plugin. Go to Tools > Plugins, open the Available Plugins tab, and install the Bundled Subversion Client for Windows.</p> | |
| <a name="settingUp"></a> | |
| <h2>Setting up Subversion</h2> | |
| <p>Before you can take advantage of the IDE's Subversion support, you need to | |
| have Subversion client software installed on your computer. The IDE's Subversion | |
| support works by interacting with the Subversion client to carry out versioning | |
| commands. Depending on your system, and whether you install the Subversion | |
| client to a non-default location, you may also need to register the path to the | |
| Subversion executable in the IDE. Finally, you need to make sure that you have a | |
| Subversion repository to connect to.</p> | |
| <ul> | |
| <li><a href="#getting">Getting the Software</a></li> | |
| <li><a href="#specifying">Specifying the Path to the Subversion Executable</a></li> | |
| <li><a href="#ensuring">Ensuring you have a Repository to Connect to</a></li> | |
| </ul> | |
| <div class="indent"> | |
| <a name="getting"></a> | |
| <h3>Getting the Software</h3> | |
| <p>Make sure you have the following software installed on your computer:</p> | |
| <ul> | |
| <li>NetBeans IDE (<a href="https://netbeans.org/downloads/index.html">download</a>)</li> | |
| <li>Java SE Development Kit (<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">download</a>)</li> | |
| <li>Subversion client software (<a href="http://www.open.collab.net/downloads/netbeans/">download</a>)</li> | |
| </ul> | |
| <a name="specifying"></a> | |
| <h3>Specifying the Path to the Subversion Executable</h3> | |
| <p>NetBeans IDE automatically tries to identify the location of the Subversion | |
| executable file by using the <code>$PATH</code> system variable on your computer. | |
| Depending on your platform however, or whether you installed the Subversion | |
| client to a different location, it may be necessary to specify the path to | |
| the executable file explicitly.</p> | |
| <p>By default, the Subversion executable file is installed in the <code>/usr/bin</code> | |
| or <code>/usr/local/bin/</code> folder on UNIX and OS X machines, and in | |
| <code>C:\Program Files\Subversion\bin\</code> (or <code>C:\Program Files\CollabNet | |
| Subversion\bin\</code>) for Windows.</p> | |
| <p class="tips">On *nix-based machines, you can verify the location of the Subversion | |
| executable by typing <code>which svn</code> into a terminal window. On Windows | |
| machines, you can perform a system-wide search for <code>svn.exe</code>.</p> | |
| <p>To set the path to the Subversion executable file in the IDE:</p> | |
| <ol> | |
| <li>Choose Tools > Options (NetBeans > Preferences on OS X) from the main | |
| menu. The Options dialog opens.</li> | |
| <li>Select the Miscellaneous icon along the top of the dialog, then click the | |
| Versioning tab. In the left pane under Versioning Systems, select Subversion. | |
| User-defined options for Subversion display in the main window of the dialog: | |
| <p class="align-center"><a name="svnOptions"></a> | |
| <a href="../../../images_www/articles/73/ide/subversion/svn-options.png" rel="lytebox" | |
| title="Subversion Options dialog featuring user-defined options"> | |
| <img src="../../../images_www/articles/73/ide/subversion/svn-options-small.png" class="margin-around" | |
| alt="Subversion Options dialog featuring user-defined options"></a></p></li> | |
| <li>In the Specify the SVN Home Folder text field, either type in the path to the | |
| executable file or click Browse to navigate to it on your system. Note that | |
| you need not <em>include</em> the Subversion executable file in the path.</li> | |
| <li>Click OK, then restart the IDE to allow changes to take effect.</li> | |
| </ol> | |
| <a name="ensuring"></a> | |
| <h3>Ensuring you have a Repository to Connect to</h3> | |
| <p>Before invoking Subversion actions from the IDE, make sure you have access to a Subversion | |
| repository. The IDE <em>does not</em> provide support for creating Subversion repositories | |
| as this is not a frequently used action (In a production environment a repository is only | |
| created once, after the design of the repository layout has been determined.) and moreover | |
| it requires administrative commands.</p> | |
| <p>If you would like to experiment with the IDE's support using a local repository, | |
| you can create one using the <a href="http://svnbook.red-bean.com/en/1.1/ch09s02.html">svnadmin | |
| tool</a>, which is included in the Subversion client software.</p> | |
| <p>To create a Subversion repository on your computer, use <code>svnadmin create</code>. From a command-line | |
| prompt, type in the following:</p> | |
| <pre class="examplecode">svnadmin create /path/to/your/repository</pre> | |
| <p>For more information, see: <a href="http://svnbook.red-bean.com/en/1.1/ch05s02.html">http://svnbook.red-bean.com/en/1.1/ch05s02.html</a>.</p> | |
| </div> | |
| <p class="align-center"><a href="#top">top</a></p> | |
| <a name="synchronizing"></a> | |
| <h2>Synchronizing Local Files with a Repository</h2> | |
| <p>When using a version control system, you work by synchronizing local files | |
| with a repository, making changes to your local copy, then committing them to | |
| the repository. The following list describes various ways you can synchronize | |
| a project in NetBeans IDE, depending on your specific situation:</p> | |
| <ul> | |
| <li><a href="#opening">Opening a Subversion Project in the IDE</a> </li> | |
| <li><a href="#checking">Checking out Files from a Repository</a></li> | |
| <li><a href="#importing">Importing Files into a Repository</a></li> | |
| </ul> | |
| <div class="indent"> | |
| <a name="opening"></a> | |
| <h3>Opening a Subversion Project in the IDE</h3> | |
| <p>If you already have a Subversion versioned project which you have been working | |
| with outside of the IDE, you can open it in the IDE and versioning features | |
| will automatically become available to you. The IDE scans your open projects | |
| and if they contain <code>.svn</code> directories, file status and context-sensitive | |
| support automatically becomes active for Subversion versioned projects.</p> | |
| <a name="checking"></a> | |
| <h3>Checking out Files from a Repository</h3> | |
| <p>If you want to connect to a remote repository from the IDE, then check out | |
| files and immediately begin working with them, do the following:</p> | |
| <ol> | |
| <li>In NetBeans IDE, choose Team > Subversion > Checkout from | |
| the main menu. The Checkout wizard opens. | |
| <br> | |
| <br> | |
| <strong class="notes">Note: </strong>The IDE's drop-down menus are context-sensitive, | |
| i.e. the available options depend on the item currently selected. | |
| Therefore, if you are already working within a Subversion project, | |
| you can choose Versioning > Checkout from the main menu.</li> | |
| <li>In the first panel of the wizard, enter a URL that contains the connection | |
| protocol and location of the repository you want to connect to. | |
| <br><br> | |
| <a name="protocolTypes"></a> | |
| The IDE supports the following protocol types: | |
| <br><br> | |
| <table > | |
| <tr> | |
| <th class="tblheader" scope="col">Protocol</th> | |
| <th class="tblheader" scope="col" >Access Method</th> | |
| <th class="tblheader" scope="col">Example</th> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><strong>file</strong></td> | |
| <td class="tbltd1">Direct repository access (on local disk)</td> | |
| <td class="tbltd1"><code>file:///repository_path</code></td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><strong>http</strong></td> | |
| <td class="tbltd1">Access via WebDAV protocol to a Subversion-aware server</td> | |
| <td class="tbltd1"><code>http://hostname/repository_path</code></td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><strong>https</strong></td> | |
| <td class="tbltd1">Access via HTTP protocol with SSL encryption</td> | |
| <td class="tbltd1"><code>https://hostname/repository_path</code></td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><strong>svn</strong></td> | |
| <td class="tbltd1">Access via custom protocol to an <code>svnserve</code> server</td> | |
| <td class="tbltd1"><code>svn://hostname/repository_path</code></td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1"><strong>svn+ssh</strong></td> | |
| <td class="tbltd1">Access via SVN protocol through an external SSH tunnel</td> | |
| <td class="tbltd1"><code>svn+ssh://hostname/repository_path</code></td> | |
| </tr> | |
| </table> | |
| <br> | |
| Depending on the protocol you are using, you may need to enter other | |
| information, such as username and password (e.g. for <code>http://</code>, | |
| <code>https://</code>, or <code>svn://</code>), or in the case of <code>svn+ssh://</code>, | |
| you must supply the command to establish the external tunnel. | |
| <br><br> | |
| <strong class="notes">Note: </strong>If you are trying to implement certificated authentication | |
| with <code>https</code>, see: <a href="http://wiki.netbeans.org/wiki/view/FaqSslUserCert">How | |
| to connect to a Subversion repository using user-certified authentication?</a> | |
| <br><br> | |
| For more help with <code>svn+ssh</code>, see: | |
| <a href="http://wiki.netbeans.org/wiki/view/FaqSubversionSSH">How do I | |
| set up SSH with Subversion?</a></li> | |
| <li>If you are using a proxy, be sure to click the Proxy Configuration button | |
| and enter any required information. When you are certain your connection | |
| settings to the repository are correct, click Next.</li> | |
| <li>In the Folders to Checkout panel of the wizard, specify the folder that | |
| you want to check out in the Repository Folder(s) field. If you do not | |
| know the name of the folder you want to check out, click the Browse button | |
| to view all folders currently maintained in the repository. From the Browse | |
| Repository Folders dialog that appears, select any of the listed folders | |
| and click OK. The selected folder is then added to the Repository Folder(s) | |
| field ('MyProject' entered in screen capture below): | |
| <p class="align-center"> | |
| <a href="../../../images_www/articles/73/ide/subversion/checkout.png" rel="lytebox" | |
| title="Subversion Checkout Wizard: Folders to Checkout panel"> | |
| <img src="../../../images_www/articles/73/ide/subversion/checkout-small.png" class="margin-around" | |
| alt="Subversion Checkout Wizard: Folders to Checkout panel"></a></p></li> | |
| <li>Enter a Revision number in the Repository Revision field, otherwise leave | |
| it empty, implying that you want to check out the folder <em>HEAD</em>, or | |
| most recent revision.</li> | |
| <li>In the Local Folder field, enter a location on your computer where you want | |
| files to be checked out to. Leave the Scan for NetBeans Projects after | |
| Checkout option selected, then click Finish to initiate the check out | |
| action. The IDE checks out the specified sources and the IDE's status bar | |
| indicates the progress of the files downloading from the repository to your | |
| local working directory. You can also view files as they are being checked | |
| out from the Output window (Ctrl-4 on Windows/Cmd-4 on OS X). | |
| <br> | |
| <br> | |
| <strong class="notes">Note: </strong>If the checked out sources contain NetBeans projects, | |
| a dialog appears prompting you to open them in the IDE. If the sources do not | |
| contain a project, the dialog appears prompting you to create a new project | |
| from the sources and then open them in the IDE. If you create a new project | |
| for such sources, select the appropriate project category (i.e. in the New | |
| Project wizard) and then use the With Existing Sources option within that | |
| category.</li> | |
| </ol> | |
| <a name="importing"></a> | |
| <h3>Importing Files into a Repository</h3> | |
| <p>Alternately, you can import a project you have been working on in the IDE to | |
| a remote repository, then continue to work on it in the IDE after it has | |
| become synchronized.</p> | |
| <p><strong class="notes">Note: </strong>While you are actually <em>exporting</em> files | |
| from your system, the term 'import' is used in version control systems to | |
| signify that files are being <em>imported into</em> a repository.</p> | |
| <p>To import a project to a repository:</p> | |
| <ol> | |
| <li>From the Projects window (Ctrl-1 on Windows/Cmd-1 on OS X), select an unversioned project and | |
| choose Versioning > Import into Subversion Repository from the | |
| node's right-click menu. The Subversion Import wizard opens.</li> | |
| <li>In the Subversion Repository panel of the Import wizard, specify the | |
| <a href="#protocolTypes">protocol</a> and location of the Subversion | |
| repository as defined by the Subversion URL. Depending on your selection, | |
| you may need to specify further settings, such as repository username | |
| and password, or, in the case of <code>svn+ssh://</code>, you must specify | |
| the tunnel command to establish the external tunnel. See the <a | |
| href="http://wiki.netbeans.org/wiki/view/NetBeansUserFAQ#section-NetBeansUserFAQ-VersionControlSystems">Subversion | |
| User FAQ</a> for further details. Click Next.</li> | |
| <li>In the Repository Folder panel, specify the repository folder in which you | |
| want to place the project in the repository. A folder containing the name | |
| of your project is suggested for you in the Repository Folder text field | |
| by default.</li> | |
| <li>In the text area beneath Specify the Message, enter a description of the | |
| project you are importing into the repository.</li> | |
| <li>Click Finish to initiate the import, or optionally, click Next to continue | |
| to a third panel that enables you to preview all files that are prepared | |
| for import. From this panel, you can choose to exclude individual files | |
| from the import (as shown below), or identify the MIME types of files before | |
| importing. | |
| <p class="align-center"> | |
| <a href="../../../images_www/articles/73/ide/subversion/import.png" rel="lytebox" | |
| title="Subversion Import Wizard: Files to Import panel"> | |
| <img src="../../../images_www/articles/73/ide/subversion/import-small.png" class="margin-around" | |
| alt="Subversion Import Wizard: Files to Import panel"></a></p> | |
| Upon clicking Finish, the IDE uploads the project files to the repository | |
| and the Output window opens to display the progress.</li> | |
| </ol> | |
| </div> | |
| <p class="align-center"><a href="#top">top</a></p> | |
| <a name="editing"></a> | |
| <h2>Editing Sources</h2> | |
| <p>Once you have a Subversion versioned project opened in the IDE, you can begin | |
| making changes to sources. As with any project opened in NetBeans IDE, you can | |
| open files in the Source Editor by double-clicking on their nodes, as they | |
| appear in the IDE's windows (for example, Projects (Ctrl-1 on Windows/Cmd-1 on OS X), Files (Ctrl-2 on Windows/Cmd-2 on OS X), Favorites | |
| (Ctrl-3 on Windows/Cmd-3 on OS X)).</p> | |
| <p>When working with sources in the IDE, there are various UI components at your | |
| disposal, which aid in both viewing and operating version control commands:</p> | |
| <ul> | |
| <li><a href="#viewingChanges">Viewing Changes in the Source Editor</a></li> | |
| <li><a href="#viewingFileStatus">Viewing File Status Information</a></li> | |
| <li><a href="#comparing">Comparing File Revisions</a></li> | |
| <li><a href="#merging">Merging File Revisions</a></li> | |
| </ul> | |
| <div class="indent"> | |
| <a name="viewingChanges"></a> | |
| <h3>Viewing Changes in the Source Editor</h3> | |
| <p>When you open a versioned file in the IDE's Source Editor, you can view real-time | |
| changes occurring to your file as you modify it against your previously checked-out | |
| base version from the repository. As you work, the IDE uses color encoding in the | |
| Source Editor's margins to convey the following information:</p> | |
| <table class="cell"> | |
| <tr> | |
| <td class="align-right cell"><strong>Blue</strong> | |
| ( <span style="background-color:#b8cfe5"> </span> )</td> | |
| <td>Indicates lines that have been changed since the earlier revision.</td> | |
| </tr> | |
| <tr> | |
| <td class="align-right cell"><strong>Green</strong> | |
| ( <span style="background-color:#b4ffb4"> </span> )</td> | |
| <td>Indicates lines that have been added since the earlier revision.</td> | |
| </tr> | |
| <tr> | |
| <td class="align-right cell"><strong>Red</strong> | |
| ( <span style="background-color:#ffa0b4"> </span> )</td> | |
| <td>Indicates lines that have been removed since the earlier revision.</td> | |
| </tr> | |
| </table> | |
| <br> | |
| <p>The Source Editor's left margin shows changes occurring on a line-by-line basis. | |
| When you modify a given line, changes are immediately shown in the left margin.</p> | |
| <p>You can click on a color grouping in the margin to call versioning commands. For | |
| example, the screen capture below left shows widgets available to you when clicking | |
| a red icon, indicating that lines have been removed from your local copy.</p> | |
| <p>The Source Editor's right margin provides you with an overview that displays | |
| changes made to your file as a whole, from top to bottom. Color encoding is | |
| generated immediately when you make changes to your file.</p> | |
| <p>Note that you can click on a specific point within the margin to bring your | |
| inline cursor immediately to that location in the file. To view the number of | |
| lines affected, hover your mouse over the colored icons in the right margin:</p> | |
| <table class="cell" style="width:500px"> | |
| <tr> | |
| <td><a href="../../../images_www/articles/73/ide/subversion/left-ui.png" rel="lytebox" | |
| title="versioning color encoding displayed in editor's left margin"> | |
| <img src="../../../images_www/articles/73/ide/subversion/left-ui-small.png" class="b-all" | |
| alt="Versioning color encoding displayed in editor's left margin"></a> | |
| <br><strong>Left margin</strong></td> | |
| <td><img src="../../../images_www/articles/73/ide/subversion/right-ui.png" class="b-all" | |
| alt="Versioning color encoding displayed in editor's right margin" | |
| title="versioning color encoding displayed in editor's right margin"> | |
| <br><strong>Right margin</strong></td> | |
| </tr> | |
| </table> | |
| <a name="viewingFileStatus"></a> | |
| <h3>Viewing File Status Information</h3> | |
| <p>When you are working in the Projects (Ctrl-1 on Windows/Cmd-1 on OS X), Files (Ctrl-2 on Windows/Cmd-2 on OS X), Favorites | |
| (Ctrl-3 on Windows/Cmd-3 on OS X), or Versioning windows, the IDE provides several visual features | |
| that aid in viewing status information about your files. In the example | |
| below, notice how the badge (e.g. | |
| <img src="../../../images_www/articles/73/ide/subversion/blue-badge.png" | |
| alt="Blue badge">), color of the file name, and adjacent status | |
| label, all coincide with each other to provide you with a simple but | |
| effective way to keep track of versioning information on your files: | |
| <br> | |
| <br> | |
| <img src="../../../images_www/articles/73/ide/subversion/badge-example.png" | |
| class="b-all" alt="Blue badge displayed in Favorites window"></p> | |
| <p>Badges, color coding, file status labels, and perhaps most importantly, | |
| the Versioning window all contribute to your ability to effectively | |
| view and manage and versioning information in the IDE.</p> | |
| <ul> | |
| <li><a href="#badges">Badges and Color Coding</a></li> | |
| <li><a href="#fileStatus">File Status Labels</a></li> | |
| <li><a href="#versioning">The Versioning Window</a></li> | |
| </ul> | |
| <div class="indent"> | |
| <a name="badges"></a> | |
| <h4>Badges and Color Coding</h4> | |
| <p>Badges are applied to project, folder, and package nodes and | |
| inform you of the status of files contained within that node:</p> | |
| <p>The following table displays the color scheme used for badges:</p> | |
| <table> | |
| <tr> | |
| <th class="tblheader" scope="col" style="width:110px">UI Component</th> | |
| <th class="tblheader" scope="col">Description</th> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><strong>Blue Badge</strong> | |
| (<img src="../../../images_www/articles/73/ide/subversion/blue-badge.png" | |
| alt="Blue badge">)</td> | |
| <td class="tbltd1">Indicates the presence of files that have been locally modified, added or | |
| deleted. For packages, this badge applies only to the package itself and | |
| not its subpackages. For projects or folders, the badge indicates changes | |
| within that item, or any of the contained subfolders.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><strong>Red Badge</strong> | |
| (<img src="../../../images_www/articles/73/ide/subversion/red-badge.png" | |
| alt="Red badge">)</td> | |
| <td class="tbltd1">Marks projects, folders or packages that contain <em>conflicting</em> | |
| files (i.e. local versions that conflict with versions maintained in | |
| the repository). For packages, this badge applies only to the package | |
| itself and not its subpackages. For projects or folders, the badge | |
| indicates conflicts within that item, or any of the contained subfolders.</td> | |
| </tr> | |
| </table> | |
| <br><br><a name="color-coding-table"></a> | |
| <p>Color coding is applied to file names in order to indicate their current | |
| status against the repository:</p> | |
| <table> | |
| <tr> | |
| <th class="tblheader" scope="col" style="width:40px">Color</th> | |
| <th class="tblheader" scope="col">Example</th> | |
| <th class="tblheader" scope="col">Description</th> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><strong>Blue</strong></td> | |
| <td class="tbltd1"><img src="../../../images_www/articles/73/ide/subversion/blue-text.png" | |
| alt="Blue text"></td> | |
| <td class="tbltd1">Indicates that the file has been locally modified.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><strong>Green</strong></td> | |
| <td class="tbltd1"><img src="../../../images_www/articles/73/ide/subversion/green-text.png" | |
| alt="Green text"></td> | |
| <td class="tbltd1">Indicates that the file has been locally added.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><strong>Red</strong></td> | |
| <td class="tbltd1"><img src="../../../images_www/articles/73/ide/subversion/red-text.png" | |
| alt="Red text"></td> | |
| <td class="tbltd1">Indicates that the file contains conflicts between your local | |
| working copy and the repository's version.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><strong>Gray</strong></td> | |
| <td class="tbltd1"><img src="../../../images_www/articles/73/ide/subversion/gray-text.png" | |
| alt="Gray text"></td> | |
| <td class="tbltd1">Indicates that the file is ignored by Subversion and will not | |
| be included in versioning commands (e.g. Update and Commit). Files | |
| can only be made to be ignored if they have not yet been versioned.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center" style="width:120px"><strong>Strike-Through</strong></td> | |
| <td class="tbltd1 align-center"><img alt="Strike-through text" | |
| src="../../../images_www/articles/73/ide/subversion/strike-through-text.png"></td> | |
| <td class="tbltd1">Indicates that the file is excluded from commit operations. | |
| Strike-through text only appears in specific locations, such as the Versioning | |
| window or Commit dialog, when you choose to exclude individual files from a | |
| commit action. Such files are still affected by other Subversion commands, | |
| such as Update.</td> | |
| </tr> | |
| </table> | |
| <br><a name="fileStatus"></a> | |
| <h4>File Status Labels</h4> | |
| <p>File status labels provide a textual indication of the status of versioned | |
| files in the IDE's windows. By default, the IDE displays status (new, modified, | |
| ignored, etc.) and folder information in gray text to the right of files, as | |
| they are listed in windows. You can, however, modify this format to suit | |
| your own needs. For example, if you want to add revision numbers to status | |
| labels, do the following:</p> | |
| <ol> | |
| <li>Choose Tools > Options (NetBeans > Preferences on OS X) from the | |
| main menu. The Options window opens.</li> | |
| <li>Select the Miscellaneous button along the top of the window, then click | |
| the Versioning tab beneath it. Make sure Subversion is selected beneath | |
| Versioning Systems in the left panel. (See the above <a href="#svnOptions">screen | |
| capture</a> for reference.)</li> | |
| <li>Click the Add Variable button to the right of the status label Format | |
| text field. In the Add Variable dialog that displays, select the | |
| <code>{revision}</code> variable, then click OK. The revision variable | |
| is added to the status label Format text field.</li> | |
| <li>To reformat status labels so that only status and revision display to | |
| the right of files, rearrange the contents of the Status Label Format | |
| text field to the following: | |
| <pre class="examplecode">[{status}; {revision}]</pre> | |
| Click OK. Status labels now list file status and revision numbers | |
| (where applicable): | |
| <br> | |
| <p class="tips">File status labels can be toggled on and off by choosing | |
| View > Show Versioning Labels from the main menu.</p> | |
| <br> | |
| <img src="../../../images_www/articles/73/ide/subversion/file-labels.png" | |
| class="b-all margin-around" alt="File labels displayed next to file names"></li> | |
| </ol> | |
| <p class="tips">File status labels can be toggled on and off by choosing | |
| View > Show Versioning Labels from the main menu.</p> | |
| <a name="versioning"></a> | |
| <h4>The Versioning Window</h4> | |
| <p>The Subversion Versioning window provides you with a real-time list of all | |
| of the changes made to files within a selected folder of your local working | |
| copy. It opens by default in the bottom panel of the IDE, listing added, | |
| deleted or modified files.</p> | |
| <p>To open the Versioning window, select a versioned file or folder (e.g. from | |
| the Projects, Files, or Favorites window) and either choose Subversion > | |
| Show Changes from the right-click menu, or choose Team > Show Changes | |
| from the main menu. The following window appears in the bottom of the IDE:</p> | |
| <p class="align-center"><a href="../../../images_www/articles/73/ide/subversion/versioning-window.png" rel="lytebox" | |
| title="Versioning window displaying locally new files"> | |
| <img src="../../../images_www/articles/73/ide/subversion/versioning-window-small.png" class="b-all" | |
| alt="Versioning window displaying locally new files"></a></p> | |
| <p>By default, the Versioning window displays a list of all modified files within | |
| the selected package or folder. Using the buttons in the toolbar, you can | |
| choose to display all changes or limit the list of displayed files to either | |
| locally or remotely modified files. You can also click the column headings | |
| above the listed files to sort the files by name, status or location.</p> | |
| <p class="notes"><b>Notes:</b></p> | |
| <ul><li> To get notified of when a source file | |
| in one of your open projects has been modified, choose Team > Show Changes from the main menu. Alternatively, if the Versioning window is open, click the Refresh Status button.</li> | |
| <li>Operations in the Projects window work only on the projects themselves and are not recursive. To show modifications in nested/child projects, you can use the Files or Favorites window.</li></ul> | |
| <p>The Versioning window toolbar also includes buttons that enable you to invoke | |
| the most common Subversion tasks on all files displayed in the list. The | |
| following table lists the Subversion commands available in the toolbar of the | |
| Versioning window:</p> | |
| <table> | |
| <tr> | |
| <th class="tblheader" scope="col">Icon</th> | |
| <th class="tblheader" scope="col" style="width:110px">Name</th> | |
| <th class="tblheader" scope="col">Function</th> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><img src="../../../images_www/articles/73/ide/subversion/refresh.png" | |
| alt="refresh status icon"></td> | |
| <td class="tbltd1 align-center"><strong>Refresh Status</strong></td> | |
| <td class="tbltd1">Refreshes the status of the selected files and | |
| folders. Files displayed in the Versioning window can be | |
| refreshed to reflect any changes that may have been made | |
| externally.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><img src="../../../images_www/articles/73/ide/subversion/diff.png" | |
| alt="Diff all icon"></td> | |
| <td class="tbltd1 align-center"><strong>Diff All</strong></td> | |
| <td class="tbltd1">Opens the Diff Viewer providing you with a side-by-side | |
| comparison of your local copies and the versions maintained in the | |
| repository.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><img src="../../../images_www/articles/73/ide/subversion/update.png" | |
| alt="update all icon"></td> | |
| <td class="tbltd1 align-center"><strong>Update All</strong></td> | |
| <td class="tbltd1">Updates all selected files from the repository.</td> | |
| </tr> | |
| <tr> | |
| <td class="tbltd1 align-center"><img src="../../../images_www/articles/73/ide/subversion/commit.png" | |
| alt="Commit all icon"></td> | |
| <td class="tbltd1 align-center"><strong>Commit All</strong></td> | |
| <td class="tbltd1">Enables you to commit local changes to the repository.</td> | |
| </tr> | |
| </table> | |
| <br> | |
| <p>You can access other Subversion commands in the Versioning window by selecting a table | |
| row that corresponds to a modified file, and choosing a command from the right-click menu:</p> | |
| <p class="align-center"> | |
| <img src="../../../images_www/articles/73/ide/subversion/versioning-right-click.png" class="b-none margin-around" | |
| alt="Right-click menu displayed on selected file in Versioning window"></p> | |
| <p>For example, you can perform the following actions on a file:</p> | |
| <table> | |
| <tr> | |
| <td> | |
| <ul> | |
| <li><strong>Show Annotations</strong>: | |
| <br><br> | |
| Displays author and revision number information in the left margin of | |
| files opened in the Source Editor.</li> | |
| </ul></td> | |
| <td class="f-page-cell"> | |
| <img src="../../../images_www/articles/73/ide/subversion/annotations.png" | |
| alt="Annotations displayed in Source Editor's left margin" class="b-all"></td> | |
| </tr> | |
| <tr> | |
| <td> | |
| <ul> | |
| <li><strong>Search History</strong>: | |
| <br><br> | |
| Enables you to search for and compare multiple revisions of the selected | |
| file in the IDE's History Viewer. From the History Viewer you can also | |
| perform a <a href="#comparing">diff</a> or roll back your local copy to | |
| a selected revision.</li> | |
| </ul></td> | |
| <td class="f-page-cell"> | |
| <a href="../../../images_www/articles/73/ide/subversion/history-viewer.png" rel="lytebox" | |
| title="Subversion History Viewer displaying multiple revisions on a file"> | |
| <img src="../../../images_www/articles/73/ide/subversion/history-viewer-small.png" class="b-all" | |
| alt="Subversion History Viewer displaying multiple revisions on a file"></a></td> | |
| </tr> | |
| <tr> | |
| <td> | |
| <ul> | |
| <li><strong>Exclude from Commit</strong>: | |
| <br><br> | |
| Allows you to mark the file to be excluded when performing | |
| a commit.</li> | |
| </ul></td> | |
| <td class="f-page-cell"> | |
| <a href="../../../images_www/articles/73/ide/subversion/exclude-from-commit.png" | |
| title="files marked as excluded in the Commit dialog" rel="lytebox"> | |
| <img src="../../../images_www/articles/73/ide/subversion/exclude-from-commit-small.png" | |
| class="b-all" alt="Files marked as excluded in the Commit dialog"></a></td> | |
| </tr> | |
| <tr> | |
| <td> | |
| <ul> | |
| <li><strong>Revert Delete</strong>: | |
| <br><br> | |
| Opens the Revert Modifications dialog, enabling you to revert any | |
| delete actions that you have committed to files in your local working copy. | |
| The specified file(s) are retrieved from the IDE's local history archive | |
| and reinstated into your local working copy.</li> | |
| </ul></td> | |
| <td class="f-page-cell"> | |
| <a href="../../../images_www/articles/73/ide/subversion/revert-mods.png" | |
| title="Revert Modifications dialog" rel="lytebox"> | |
| <img src="../../../images_www/articles/73/ide/subversion/revert-mods-small.png" | |
| class="b-right b-bottom" alt="Revert Modifications dialog"></a></td> | |
| </tr> | |
| <tr> | |
| <td> | |
| <ul> | |
| <li><strong>Revert Modifications</strong>: | |
| <br><br> | |
| Opens the Revert Modifications dialog which you can use to specify | |
| parameters for reverting any local changes to revisions maintained | |
| in the repository. | |
| <br><br> | |
| When specifying revisions, you can click Search to open the Search | |
| Revisions dialog. This scans the repository and lists all file revisions | |
| based on the date you enter.</li> | |
| </ul></td> | |
| <td class="f-page-cell"> | |
| <a href="../../../images_www/articles/73/ide/subversion/search-rev.png" rel="lytebox" | |
| title="Search Revisions dialog lists file revisions according to date"> | |
| <img src="../../../images_www/articles/73/ide/subversion/search-rev-small.png" | |
| alt="Search Revisions dialog listing file revisions according to date" | |
| class="b-right b-bottom"></a></td> | |
| </tr> | |
| </table> | |
| </div> | |
| <a name="comparing"></a> | |
| <h3>Comparing File Revisions</h3> | |
| <p>Comparing file revisions is a common task when working with versioned | |
| projects. The IDE enables you to compare revisions by using the Diff | |
| command, which is available from the right-click menu of a selected | |
| item (Subversion > Diff), as well as from the Versioning window. | |
| In the Versioning window, you can perform diffs by either double-clicking | |
| a listed file, otherwise you can click the Diff All icon (<img alt="Diff all icon" | |
| src="../../../images_www/articles/73/ide/subversion/diff.png">) located in the | |
| toolbar at the top.</p> | |
| <p>When you perform a diff, a graphical Diff Viewer opens for the selected | |
| file(s) and revisions in the IDE's main window. The Diff Viewer displays | |
| two copies in side-by-side panels. The more current copy appears on the | |
| right side, so if you are comparing a repository revision against your | |
| working copy, the working copy displays in the right panel:</p> | |
| <p class="align-center"> | |
| <a href="../../../images_www/articles/73/ide/subversion/diff-viewer.png" rel="lytebox" | |
| title="Subversion Diff Viewer"> | |
| <img src="../../../images_www/articles/73/ide/subversion/diff-viewer-small.png" | |
| class="b-all margin-around" alt="Subversion Diff Viewer"></a></p> | |
| <p>The Diff Viewer makes use of the same <a href="#viewingChanges">color encoding</a> | |
| used elsewhere to display version control changes. In the screen capture | |
| displayed above, the green block indicates content that has been added to | |
| the more current revision. The red block indicates that content from the | |
| earlier revision has been removed from the later. Blue indicates that | |
| changes have occurred within the highlighted line(s).</p> | |
| <p>Also, when performing a diff on a group of files, such as on a project, | |
| package, or folder, or when clicking Diff All | |
| (<img src="../../../images_www/articles/73/ide/subversion/diff.png" | |
| alt="Diff all icon">), you can switch between diffs by clicking files | |
| listed in the upper region of the Diff Viewer.</p> | |
| <p>The Diff Viewer also provides you with the following functionality:</p> | |
| <ul> | |
| <li><a href="#makeChanges">Make Changes to your Local Working Copy</a></li> | |
| <li><a href="#navigateDifferences">Navigate Among Differences</a></li> | |
| <li><a href="#changeViewCriteria">Change Viewing Criteria</a></li> | |
| </ul> | |
| <div class="indent"> | |
| <a name="makeChanges"></a> | |
| <h4>Make Changes to your Local Working Copy</h4> | |
| <p>If you are performing a diff on your local working copy, the IDE enables you to | |
| make changes directly from within the Diff Viewer. To do so, you can either | |
| place your cursor within the right pane of the Diff Viewer and modify your file | |
| accordingly, otherwise make use of the inline icons that display adjacent to | |
| each highlighted change:</p> | |
| <table> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Replace</strong> (<img alt="Replace icon" | |
| src="../../../images_www/articles/73/ide/subversion/insert.png">):</td> | |
| <td>Inserts the highlighted text from the previous revision into | |
| the current revision</td> | |
| </tr> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Move All</strong> (<img alt="Move all icon" | |
| src="../../../images_www/articles/73/ide/subversion/arrow.png">):</td> | |
| <td>Reverts the file's current revision to the state of the selected | |
| previous revision</td> | |
| </tr> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Remove</strong> (<img alt="Remove icon" | |
| src="../../../images_www/articles/73/ide/subversion/remove.png">):</td> | |
| <td>Removes the highlighted text from the current revision so that it | |
| mirrors the previous revision</td> | |
| </tr> | |
| </table> | |
| <a name="navigateDifferences"></a> | |
| <h4>Navigate among Differences between Compared Files</h4> | |
| <p>If your diff contains multiple differences, you can navigate among them by | |
| using the arrow icons displayed in the toolbar. The arrow icons enable you | |
| to view differences as they appear from top to bottom:</p> | |
| <table> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Previous</strong> | |
| (<img src="../../../images_www/articles/73/ide/subversion/diff-prev.png" | |
| alt="Previous difference button">):</td> | |
| <td>Goes to previous difference displayed in the diff</td> | |
| </tr> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Next</strong> | |
| (<img src="../../../images_www/articles/73/ide/subversion/diff-next.png" | |
| alt="Next difference button">):</td> | |
| <td>Goes to next difference displayed in the diff</td> | |
| </tr> | |
| </table> | |
| <a name="changeViewCriteria"></a> | |
| <h4>Change Viewing Criteria</h4> | |
| <p>You can choose whether to view files containing changes from the local | |
| working copy, the repository, as well as both simultaneously:</p> | |
| <table> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Local</strong> | |
| ( <img src="../../../images_www/articles/73/ide/subversion/locally-mod.png" | |
| alt="Locally modified icon"> ):</td> | |
| <td>Displays locally modified files only</td> | |
| </tr> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Remote</strong> | |
| ( <img src="../../../images_www/articles/73/ide/subversion/remotely-mod.png" | |
| alt="Remotely modified icon"> ):</td> | |
| <td>Displays remotely modified files only</td> | |
| </tr> | |
| <tr> | |
| <td class="align-right cell" style="width:120px"><strong>Both</strong> | |
| ( <img src="../../../images_www/articles/73/ide/subversion/both-mod.png" | |
| alt="Locally and remotely modified icon"> ):</td> | |
| <td>Displays both locally and remotely modified files</td> | |
| </tr> | |
| </table> | |
| <p class="notes"><b>Note:</b> The color scheme described in the <a href="#badges"> | |
| Badges and Color Coding</a> section is disregarded with respect to the above mentioned icons. </p> | |
| </div> | |
| <a name="merging"></a> | |
| <h3>Merging File Revisions</h3> | |
| <p>NetBeans IDE enables you to merge changes between repository revisions and | |
| your local working copy. You can specify a range of revisions to merge. You | |
| can even merge a range of revisions from two separate repository folders.</p> | |
| <p>The following scenario describes a common use-case: You have checked out the | |
| trunk version on a folder named <code>JavaApp</code>, and now want to merge your | |
| copy with a branch. For demonstrative purposes, your repository layout | |
| contains a <code>branches</code> folder used to contain all branched files:</p> | |
| <ol> | |
| <li>In the Projects, Files, or Favorites window, right-click the files or | |
| folders on which you want to perform the merge operation and choose | |
| Subversion > Merge Changes. The Merge dialog displays.</li> | |
| <li>In the Merge From drop-down list, select One Repository Folder Since | |
| Its Origin. You are porting all changes made on a single branch from | |
| the time it was created.</li> | |
| <li>In the Repository Folder text field, enter the path to the folder from | |
| which you want to port changes (<code>branches/JavaApp</code>). Leave the | |
| Ending Revision field empty to indicate that you want to include all | |
| revisions up to the <em>HEAD</em> (i.e. current state). | |
| <p class="align-center"> | |
| <a href="../../../images_www/articles/73/ide/subversion/svn-merge.png" rel="lytebox" | |
| title="Subversion Merge dialog"> | |
| <img src="../../../images_www/articles/73/ide/subversion/svn-merge-small.png" | |
| class="margin-around b-none" alt="Subversion Merge dialog"></a></p></li> | |
| <li>Click Merge. The IDE incorporates any differences found between the | |
| branch revisions and your local copy of the file. If merge conflicts | |
| occur, the file's status is updated to <a href="#resolving">Merge | |
| Conflict</a> to indicate this.</li> | |
| </ol> | |
| <p><strong class="notes">Note: </strong>After merging revisions to your local working | |
| copy, you must still commit changes using the Commit command in order for them | |
| to be added to the repository.</p> | |
| </div> | |
| <p class="align-center"><a href="#top">top</a></p> | |
| <a name="committing"></a> | |
| <h2>Committing Sources to a Repository</h2> | |
| <p>After making changes to sources, you commit them to the repository. It is | |
| generally a good idea to update any copies you have against the repository | |
| prior to performing a commit in order to ensure that conflicts do not arise. | |
| Conflicts can occur however, and should be thought of as a natural event | |
| when numerous developers are working on a project simultaneously. The IDE | |
| provides flexible support that enables you to perform all of these functions. | |
| It also provides a Conflict Resolver which allows you to safely deal with any | |
| conflicts as they occur.</p> | |
| <ul> | |
| <li><a href="#updating">Updating Local Copies</a></li> | |
| <li><a href="#resolving">Resolving Conflicts</a></li> | |
| <li><a href="#performing">Performing the Commit</a></li> | |
| </ul> | |
| <div class="indent"> | |
| <a name="updating"></a> | |
| <h3>Updating Local Copies</h3> | |
| <p>You can perform updates by choosing Subversion > Update from the | |
| right-click menu of any versioned item in the Projects, Files, or | |
| Favorites windows. When working directly from the Versioning window, | |
| you need only right-click a listed file and choose Update.</p> | |
| <p>To perform an update on all source files, you can click | |
| the Update All icon (<img src="../../../images_www/articles/73/ide/subversion/update.png" | |
| alt="Update all icon">), which displays in the toolbars located | |
| at the top of both the <a href="#versioning">Versioning Window</a>, | |
| as well as the <a href="#comparing">Diff Viewer</a>. Any changes that | |
| may have occurred in the repository are displayed in the Versioning | |
| Output window.</p> | |
| <a name="resolving"></a> | |
| <h3>Resolving Conflicts</h3> | |
| <p>When you perform an update or a commit, the IDE's Subversion support | |
| compares your files with repository sources to make sure that other | |
| changes have not already occurred in the same locations. When your | |
| previous checkout (or update) no longer matches the repository <em>HEAD</em> | |
| (i.e. most current revision), <em>and</em> the changes that you applied | |
| to your local working copy coincide with areas in the HEAD that | |
| have also changed, your update or commit results in a <em>conflict</em>.</p> | |
| <p>As indicated in <a href="#badges">Badges and Color Coding</a>, conflicts | |
| are displayed in the IDE with red text and are accompanied by a red badge | |
| (<img src="../../../images_www/articles/73/ide/subversion/red-badge.png" | |
| alt="Red badge">) when viewed in the Projects, Files, or Favorites windows. | |
| When working in the Versioning window, conflicts are also indicated | |
| by a file's status:</p> | |
| <p class="align-center"> | |
| <img src="../../../images_www/articles/73/ide/subversion/conflict-versioning-win.png" | |
| class="b-right margin-around" alt="File conflict displayed in Versioning window"></p> | |
| <p>Any conflicts that arise must be resolved before you commit files to the | |
| repository. You can resolve conflicts in the IDE using the Merge Conflicts | |
| Resolver. The Merge Conflicts Resolver provides an intuitive interface | |
| that enables you to address individual conflicts sequentially while viewing | |
| merged output as you make changes. You can access the Merge Conflicts | |
| Resolver on a file that is in conflict by right-clicking that file and | |
| choosing Subversion > Resolve Conflicts.</p> | |
| <p>The Merge Conflicts Resolver displays the two conflicting revisions | |
| side-by-side in the top pane, with the conflicting areas highlighted. | |
| The lower pane depicts the file as it appears while merges for individual | |
| conflicts between the two revisions occur:</p> | |
| <p class="align-center"> | |
| <a href="../../../images_www/articles/73/ide/subversion/conflict-resolver.png" rel="lytebox" | |
| title="Conflict Resolver displaying a conflicted file"> | |
| <img src="../../../images_www/articles/73/ide/subversion/conflict-resolver-small.png" | |
| class="margin-around b-all" alt="Conflict Resolver displaying a conflicted file"></a></p> | |
| <p> | |
| You resolve a conflict by accepting one of the two revisions displayed | |
| in the top pane. Click the Accept button of the revision you want to | |
| accept. The IDE merges the accepted revision with the source file, and | |
| you can immediately see the results of the merge in the bottom pane of | |
| the Merge Conflicts Resolver. Once all conflicts are resolved, click OK | |
| to exit the Merge Conflicts Resolver and save the modified file. The | |
| conflict badge is removed and you can now commit the modified file to | |
| the repository.</p> | |
| <a name="performing"></a> | |
| <h3>Performing the Commit</h3> | |
| <p>After editing source files, performing an update and resolving any conflicts, | |
| you commit files from your local working copy to the repository. The IDE | |
| enables you to call the commit command in the following ways:</p> | |
| <ul> | |
| <li>From the Projects, Files or Favorites windows, right-click new or | |
| modified items and choose Subversion > Commit.</li> | |
| <li>From the Versioning window or Diff Viewer, click the Commit All | |
| (<img src="../../../images_www/articles/73/ide/subversion/commit.png" | |
| alt="Commit all icon">) button located in the toolbar.</li> | |
| </ul> | |
| <p>The Commit dialog opens, displaying files that are about to be committed | |
| to the repository:</p> | |
| <p class="align-center"> | |
| <a href="../../../images_www/articles/73/ide/subversion/commit-dialog.png" rel="lytebox" | |
| title="Commit dialog displaying files about to be committed"> | |
| <img src="../../../images_www/articles/73/ide/subversion/commit-dialog-small.png" | |
| class="b-none margin-around" alt="Commit dialog displaying files about to be committed"></a></p> | |
| <p>The Commit dialog lists:</p> | |
| <ul> | |
| <li>all locally modified files</li> | |
| <li>all files that have been deleted locally</li> | |
| <li>all new files (i.e. files that do not yet exist in the repository)</li> | |
| <li>all files that you have renamed. Subversion handles renamed files by | |
| deleting the original file, and creating a duplicate using the new | |
| name.</li> | |
| </ul> | |
| <p>From the Commit dialog, it is possible to specify whether to exclude | |
| individual files from the commit. To do so, click the Commit Action column | |
| of a selected file and choose Exclude from Commit from the drop-down | |
| list. Similarly, when new files are included, you can specify the MIME | |
| type by choosing Add as Binary or Add as Text from the drop-down list.</p> | |
| <p>To perform the commit:</p> | |
| <ol> | |
| <li>Type in a commit message in the Commit Message text area. Alternatively, | |
| click the Recent Messages ( <img src="../../../images_www/articles/73/ide/subversion/recent-msgs.png" | |
| alt="Recent messages icon"> ) icon located in the upper right corner to | |
| view and select from a list of messages that you have previously used.</li> | |
| <li>After specifying actions for individual files, click Commit. The IDE | |
| executes the commit and sends your local changes to the repository. | |
| The IDE's status bar, located in the bottom right of the interface, | |
| displays as the commit action takes place. Upon a successful commit, | |
| versioning badges disappear in the Projects, Files and Favorites windows, | |
| and the color encoding of committed files returns to black.</li> | |
| </ol> | |
| </div> | |
| <p class="align-center"><a href="#top">top</a></p> | |
| <a name="summary"></a> | |
| <h2>Summary</h2> | |
| <p>This concludes the guided tour of Subversion for NetBeans IDE 6.x and higher. This | |
| document demonstrated how to perform basic versioning tasks in the IDE by | |
| guiding you through the standard workflow when using the IDE's Subversion | |
| support. It has shown how to set up a versioned project and perform basic | |
| tasks on versioned files while introducing you to some of the new Subversion | |
| features included in the IDE.</p> | |
| <div class="feedback-box"> | |
| <a href="/about/contact_form.html?to=3&subject=Feedback:%20Using%20Subversion%20Support%20in%20NetBeans%20IDE">Send Feedback on This Tutorial</a></div> | |
| <br style="clear:both;"> | |
| <p class="align-center"><a href="#top">top</a></p> | |
| <a name="seeAlso"></a> | |
| <h2>See Also</h2> | |
| <p>For related documents, see the following resources:</p> | |
| <ul> | |
| <li><a href="http://wiki.netbeans.org/wiki/view/NetBeansUserFAQ#section-NetBeansUserFAQ-VersionControlSystems">Subversion | |
| Support FAQ for NetBeans IDE</a></li> | |
| <li><a href="http://wiki.netbeans.org/FaqSubversionClients">Subversion Clients FAQ</a></li> | |
| <li><a href="git.html">Using Git Support in NetBeans IDE</a></li> | |
| <li><a href="mercurial.html">Using Mercurial Support in NetBeans IDE</a></li> | |
| <li><a href="mercurial-queues.html">Using Support for Mercurial Queues in NetBeans IDE</a></li> | |
| <li><a href="cvs.html">Using CVS Support in NetBeans IDE</a></li> | |
| <li><a href="clearcase.html">Using ClearCase Support in NetBeans IDE</a></li> | |
| <li><a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG234">Versioning Applications with Version Control</a> in <i>Developing Applications with NetBeans IDE</i>.</li> | |
| </ul> | |
| <p class="align-center"><a href="#top">top</a></p> | |
| </body> | |
| </html> |