rsvndump

Langue: en

Version: 03/24/2010 (fedora - 01/12/10)

Section: 1 (Commandes utilisateur)

NAME

rsvndump - Dumps a remote Subversion repository

SYNOPSIS

rsvndump [options] url

DESCRIPTION

rsvndump dumps a Subversion repository without having actual access to the repository data, as required by the "svnadmin(1) dump" command.

If invoked with valid options, rsvndump will print a dump file to stdout and optional progress to stderr.

Since rsvndump is also able to dump subdirectories of a repository, the revision numbers in the dump doncqt neccessarily reflect the original revision numbers. For more information on this, please refer to the REVISION NUMBERS section.

There are also some additional differences to a "normal" dump generated by svnadmin(1), which are listed in DIFFERENCES TO SVNADMIN DUMP.

OPTIONS

Most of the options can also be found in svnadmin(1) and svn(1) and should be also semantically equivalent, unless not stated otherwise.

-h, --help

Print a nice help screen

-q, --quiet

Doncqt print any progress

-v, --verbose

Print detailed progress, similar to "svnadmin(1) load".

-u, --username username

Username for repository authentication.

-p, --password password

Password for repository authentication.

-r, --revision X or X:Y

Specifiy the revision (or revision range) that should be dumped. X and Y can either be a number or "HEAD". The default revision range is "0:HEAD", i.e. the complete revision history.
In contrast to svnadmin(1), dumps that were generated using this option can always be loaded into a new repository, (unless --incremental is given, of course). However, the resulting dump may not exactly represent the original history. Please take a look at DIFFERENCES TO SVNADMIN DUMP for further information.

--deltas

Use text deltas instead of full texts in dump output

--incremental

Create incremental output, suitable for concatenation. This results in a dump that does not contain a dumpfile header and no full base revision if the revision range does not start at 0.

--no-auth-cache

Doncqt cache the authentication tokens provided by the user, e.g. username and password, or manual SSL certificate validation.

--non-interactive

Instead of prompting, the program will exit with an error.

--prefix prefix

Prepend a given prefix to every node which is dumped. The first revision dumped will also contain the paths neccessary to create the prefix.
Please note that is assumed that prefix is really just a prefix string, with directories seperated by "/". Therefore you need to append a "/" at the end of the string to make it a directory. For example, a prefix of myrepo/old_ might result in the following layout:
 myrepo
  |- old_branches
  |- old_tags
  |- old_trunk
 

--keep-revnums

Keep the revision numbers in the output in sync with the repository. This is done by inserting empty revisions for padding if neccessary.

--no-incremental-header

Doncqt print the dumpfile header if --incrementals is given and the revision range is not "0:X". This is useful if you really want to append an incremental dumps to an existing file.

REVISION NUMBERS

The revision numbers in the dump output depend on the options and the path that are given to rsvndump. If you are dumping the root of a repository, you doncqt need to worry about revision numbers out of sync, of course. If you are dumping a subdirectory, only the revisions that changed this subdirectory will occur in the dump output. The revision numbers in the dump are strictly sequential, so they will differ from the original ones.

If you need the keep the revision numbers from the original repository (e.g, if a bug tracker depends on them), you can use the --keep-revnums flag. It padds revisions that did not change the subdirectory with empty revisions. They doncqt have an author or date property, but contain the log message "This is an empty revision for padding.".

DIFFERENCES TO SVNADMIN DUMP

The output generated by rsvndump may differ from the one generated by svnadmin(1) because rsvndump may handle file or directory copies different than svnadmin(1). The latter does not support dumping of subdirectories within a repository out of the box. Instead, the svndumpfilter(1) tool will do this job. However, sometimes subdirectories cannot be filtered exclusively with svndumpfilter(1) because they have been copied from another place.

Since rsvndump has been designed to allow dumps of subdirectories if your repository access is limited to this subdirectory (in fact, that was the primary reason this project exists), it will not access other subdirectories than the one you want to dump. Example given, dumping a branch will most likely not result in the full history of the branch as it might have been copied from trunk at some point in time.

Thus, rsvndump will generally replace a copy action by a simple add operation if both of the following conditions are true:

* The source of the copy is outside the direcotry tree which is being dumped
* The source of the copy is not included in the dump because the revision range has been limited using the --revision flag

The second condition is without effect if the --incremental flag is given, so that incremental dumps yield the same result as normal dumps.

Maybe I should also note that the dump will only contain the repositorycqs UUID if the following conditions are true:

* The root of the repository is being dumped
* There is no user prefix

ENVIRONMENT VARIABLES

TMPDIR

If TMPDIR is set, it specifies the directory to use for temporary files. Otherwise, /tmp is used.

EXIT STATUS

0 on success, 1 on failure. Any error messages will be printed to stderr.

SEE ALSO

svn(1), svnadmin(1), svndumpfilter(1)

COPYING

Copyright © 2008-2009 Jonas Gehring <jonas.gehring@boolsoft.org>. Released under the GNU General Public License.