The Merge plugin for Subversion is included with Merge and enables Merge to access files located within a Subversion repository.
The plugin requires the Subversion command-line client (svn.exe) to be installed and present in your system PATH environment variable. Note that Tortoise SVN used to include svn.exe, but that is no longer the case. TortoiseSVN users will therefore need to get this file from one of the Windows binary downloads
of Subversion itself, on the Subversion website.
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.
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.
