// Cornerstone锁
Cornerstone locks a working copy whenever it performs operations suchs as commits, updates, merges etc. Normally, these locks are released when an operation completes, regardless of the outcome of the operation.
If Cornerstone is unable to complete an operation due to interruption (e.g. the application quits unexpectedly or is force-quit) then the locks will not be released. As a result, future attempts to commit, update merge etc. will fail with an error.
The Clean command can be used to recover from such situations by cleaning up any unreleased locks in a working copy. The command is not context-sensitive and always cleans the entire working copy.
To clean a working copy:
Select the working copy to relocate in the source list.
Select the Clean item in the Working Copy menu.
Any locks held by the working copy are released and interrupted operations are completed such that the working copy has a known good state.
The Clean command does not clean a working copy's externals. You will need to use the svn cleanup command in Terminal to clean externals.
// 一个工程从不同的代码库检出所需要的文件
External Definition
Subversion allows a working copy to be constructed from folders checked out of several locations in one or more repositories through the use of external definitions.
An external definition specifies that when a folder is checked out of a repository, a sub-folder is checked out of another location. In this way, a working copy can be comprised of content from several unrelated locations.
This can be useful in a number of situations:
An organization's application may be dependent on a library shared between several projects.
Although the shared library is not located within the project's folder in the repository, it can be checked out from the shared location into the working copy using an external definition.
A project is dependent on an open source project which is managed in a publicly accessible Subversion repository.
An external definition can be used to automatically obtain the open source code into the project's working copy when checked out.
External definitions are defined using the svn:externals property. As such, they are subject to the same versioning as the folders they are defined on.
Each external definition defines the following information:
The source URL from which the external dependency will be checked out.
The revision which should be checked out.
The working copy folder (relative to the folder defining the svn:externals property) into which the external dependency will be checked out.