# Introduction

This document is still work in progress.... Complain if you like to have more information on a specific topic. Please direct any comments to dev@subcommander.tigris.org.

Subcommander is a graphical user interface to the Subversion version control system.

The goal of Subcommander is to build an easy to use, high quality, crossplatform (Win32, Unix, MacOSX) Subversion gui client (subcommander) including a graphical text diff and merge tool (submerge).

subcommander

- has a tight integration of repository browser and working copy status view. You can quickly switch between a working copy view or the repository view. It is just a matter of selecting another item in the Project Folders View.

- has a colored status display in the Working Copy View. Quickly see which files and folders are modified.

- has an easy branch and tag handling. By telling subcommander the projects URLs for trunk, branches and tags and a working copy path it takes only a few mouse clicks to create a branch/tag or to switch your working copy to a branch/tag.

- has drag & drop support to move or copy files and folders.

- can easily handle multiple working copies (e.g. different branches) from the same project.

- can easily merge single revisions or revision ranges. By viewing the history on a repository url you can easily merge changes from it to your working copy. Just select a revision and tell subcommander to merge it into your (configured) working copy. That is especially usefull to merge bug fixes from trunk to your current release branch.

- has a visual diff and merge tool for text files. (submerge).

- is crossplatform (Win32, Unix, Mac OS X).

- has a responsive gui. Actions on the repository (like getting history information) will not freeze the gui.

submerge

- shows line based differences of text files.

- has an easy to understand display of differences with just one color (three colors in merge case).

- has mousewheel support to quickly scroll to the next or previous difference.

- can handle two way or three way merge.

- shows whitespaces and linefeeds in a lighter color to keep the focus on the text.

- is able to ignore whitespace differences.

- supports a wide range of different file encodings (like utf-8, latin1 or cp932 and shift_jis (japanese encodings)).

- supports copy & paste, copy from source files, copy & paste to merge editor.

- has a merge editor to edit the merged file.

- is based on the subversion diff library.

Subcommander is a classical stand alone application based on the api provided by the subversion libraries. It is no frontend to the subversion `svn` command line tool and it doesn't depend on a special IDE or operating system feature (ie. it is not a plugin for an IDE or an extension to the operating system).

Subversion is a version control system similar to CVS. You will find more information on Subversion on the Internet (see for the web address).

This guide doesn't explain subversion itself and it assumes that your are already familiar with subversion and the terms it uses. If your are new to subversion you should read at least the first few chapters of the subversion book (see ). It explains the basics of version control and the concepts of subversion.

Subcommander, subcommander, sc, submerge, sm.

What is what?

- Subcommander, with an upper case S, is the name of the project.

  Subcommander

- subcommander, with a lower case s, is the name of the subversion gui client. It is abreviated as sc.

  subcommander

- submerge is the visual text diff and merge tool. It is abreviated as sm.

  submerge

This describes how it is meant to be. But beware that it may not be consistently used at all places...