svnsync is the Subversion remote
repository mirroring tool. Put simply, it allows you to replay
the revisions of one repository into another one.
In any mirroring scenario, there are two repositories: the
source repository, and the mirror (or “sink”)
repository. The source repository is the repository from which
svnsync pulls revisions. The mirror
repository is the destination for the revisions pulled from the
source repository. Each of the repositories may be local or
remote–they are only ever addressed by their URLs.
The svnsync process requires only read
access to the source repository; it never attempts to modify it.
But obviously, svnsync requires both read and
write access to the mirror repository.
Warning
svnsync is very sensitive to changes
made in the mirror repository that weren't made as part of a
mirroring operation. To prevent this from happening, it's
best if the svnsync process is the only
process permitted to modify the mirror repository.
svnsync Options
--config-dirDIR
Instructs Subversion to read configuration
information from the specified directory instead of the
default location (.subversion in
the user's home directory).
--no-auth-cache
Prevents caching of authentication information
(e.g. username and password) in the Subversion
administrative directories.
--non-interactive
In the case of an authentication failure, or
insufficient credentials, prevents prompting for
credentials (e.g. username or password). This is useful
if you're running Subversion inside of an automated
script and it's more appropriate to have Subversion fail
than to prompt for more information.
--passwordPASS
Indicates that you are providing your password for
authentication on the command line–otherwise, if
it is needed, Subversion will prompt you for
it.
--usernameNAME
Indicates that you are providing your username for
authentication on the command line–otherwise, if
it is needed, Subversion will prompt you for
it.