This package provides a high-level API for managing Working Copies in a way compatible with the native SVN command line client. That means if you use org.tmatesoft.svn.core.wc to operate on Working Copy files, directories and their properties you won't loose a compatibility with the SVN client - as if the copy items were managed by the SVN itself. In addition the package classes and interfaces provide a developer a high flexibility in usage: all SVN client's commands are mapped to methods of SVN*Client classes which are responsible for all version control functionality (dealing either with Working Copies or URLs). This functionality is logicaly allotted to separate classes, so that, for example, all update related operations (update, switch, etc.) are handled by the same class. And * for each of these classes is the name of that functional behaviour the class is intended for - such as SVNUpdateClient or SVNCommitClient. To have even more flexibility there's a kind of a manager class - SVNClientManager - which aggregates all of these 'client' classes making developer's work easier and more comfortable. At last the high-level API is even a bit more than just an implementation of the SVN client's operations:

- the package gives a developer an ability to implement several types of operation handlers that can be passed to some of SVN*Client's methods , thus the developer can 'take part' in operation processing;
- some of SVN*Client classes have methods for which the SVN command line client has no analogues (such as the entire SVNMoveClient class).

While the package org.tmatesoft.svn.core.io represents a low-level API and therefore 'knows' nothing of the SVN native 'Working Copy' format and structure, org.tmatesoft.svn.core.wc is contrarily a kind of a Java implementation of the SVN client's commands which can be used in a standalone Java application that needs to work with Working Copies. However if a developer has no need or even don't want to have Working Copies but something else (for instance, in case of an own client side version control system specific to developer's needs) the developer should refer to org.tmatesoft.svn.core.io rather than to org.tmatesoft.svn.core.wc.