Open the DiffManager, and set the Browse bar to the Subversion filesystem.

Set Browse bar to Subversion

Now, you can type in the URL of any SVN repository. DiffPlug has special rules for how URLs need to be formatted, but it can fix these problems automatically for you.

Subversion URL error

One you have entered a valid URL (try http://diffplug-test-repo.googlecode.com/svn/head:/trunk/ if you’d like to follow along), DiffPlug can:

  • view a specific commit
  • view the the history log
  • checkout the repository

Subversion options

Browsing history

The history view has three panes:

  • Commit (Upper-left)
    • the details and changed files for the current commit
  • Preview (Upper-right, collapsible)
    • a view of the currently selected file
  • History (Bottom, collapsible)
    • a list of all the commits inside this repository

Subversion history

If you double-click a commit in the history pane, it will open a new tab for that commit. If you double-click a file in the commit pane, it will open a new tab for that file.

Check out a local copy

When you checkout an SVN repository, DiffPlug provides the following dialog box:

  • Remote (Top)
    • The remote URL and revision you would like to check out
  • Local (Middle)
    • The path on your local machine that you would like to check out
  • Preview (Bottom)
    • A preview of the repository contents

Subversion check out

Committing and updating a local copy

Once you have a local copy on your machine, DiffPlug will track the status of files which you have changed or added. The status will be shown throughout DiffPlug’s interface.

Subversion track local

These are the meanings of the icons:

Icon Description
Calculating Status is still being calculated
Unmodified Unmodified
Modified Modified
Conflicted Conflicted
Untracked Untracked
Added Added
Removed Missing or removed
Ignored Ignored

If you right-click a file or folder in a local copy, you will see the option to commit. This brings up the same history browser which was mentioned earlier, and it will be focused on your current commit.

Simply check the files you would like to commit, and press the Commit button.

Note: In most version control tools, an untracked file must be added before it can be committed. In DiffPlug, if you indicate that you would like to commit an untracked file, DiffPlug will automatically add it for you, as well as any parent folders which are not yet in the SVN repo. The same is true of removing files. Simply delete the file, and then check it at the commit dialog.

Subversion commit

To update your working copy, click the Update button, which can be selected from a dropdown by the Commit button.

Subversion update

Passwords

If DiffPlug needs your credentials for something but doesn’t have them, it will warn you:

Credential-based errors

If you click the error message, it will give you an opportunity to change your username or password for this repository, and see a complete log of the SVN transaction to help you debug any configuration problems.

Enter password

DiffPlug currently remembers usernames and passwords on a per-repository basis. To see all of the credentials you have saved so far, you can go to the SVN preferences page.

SVN preferences

Limitations

The Subversion client is currently in alpha. It has the following limitations, which will be addressed in future versions:

  • Does not support the svn+ssh protocol.
    • It does support all the rest: http, https, svn, and file.
  • Cannot modify SVN properties, such as svn:ignore.
  • History view has various limitations:
    • Cannot limit history to a subpath.
    • Only shows the recent history.
    • There is no search functionality.