The Merge plugin for Subversion enables Merge to access files located within a Subversion repository. It is included as a standard part of the Merge installation.
What you can do with the plugin
Using the plugin, you can (for example) perform a folder comparison to compare the Subversion repository against your local workspace. Alternatively, you could directly compare different branches (or the same branch at different points in time or at different revisions) within the repository. You could then launch file comparisons for any pairs of modified files that were of interest. This approach can work well for performing code reviews.
The plugin provides read-only access to the Subversion repository. To modify files within the repository, you will need to use one of the Subversion tools to open/edit/submit files.
Preparing Merge to use the plugin
Merge needs to know the path to the svn executable on your machine. This can be configured on the Application Options > Subversion Merge preferences page.
Using the Subversion plugin
To specify a file or folder within a Subversion repository, prefix the path to the repository file or folder with svn://server/ to form a uri. A user name, password, and port number can be included in the uri, as shown in the examples below.
As of Merge 2007.3395, repository access using the Subversion svn, svn+ssh, http, https and file protocols is supported. Prefix repository paths with svn:, svn+ssh:, svnhttp:, svnhttps: or svnfile:, respectively, to specify the desired protocol.
Examples
| URI | Description |
|---|---|
| svn://localhost/notepad | Specifies the most recent version of the folder /notepad. |
| svn://localhost/notepad/notepad.cpp | Specifies the most recent revision of the file /notepad/notepad.cpp. |
| svn://localhost/notepad@{2000-03-23} | Specifies the folder /notepad, as it was on 23 March 2000. |
| svn://localhost/notepad@23 | Specifies the folder /notepad, as it was at revision 23. |
| svn://localhost/notepad/notepad.cpp@43 | Specifies revision 43 of file /notepad/notepad.cpp. |
| svn://jrs:wibble@localhost:3691/notepad/notepad.cpp | Specifies the file /notepad/notepad.cpp located in the repository hosted on server localhost at port number 3691 using the username jrs and password wibble. |
| svn://jrs:*@localhost:3691/notepad/notepad.cpp | As above, but specifying that Merge should prompt for a password to be entered. This ensures that the password is not shown on the screen or within comparison reports. |
Accessing files and folders already in your client workspace
If files or folders are already synced in your client workspace, you access them as you would any other file or folder on
your hard disk. You don’t need to use the svn:// syntax described above to do so.
Integrating Merge with the Subversion command-line tools and graphical front-ends
Merge itself integrates well with Subversion. For more information, see Integrating with Source Control, Configuration Management and Other Applications.
