Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
RSVNDUMP(1)			 User commands			   RSVNDUMP(1)

       rsvndump	- Dumps	a remote Subversion repository

       rsvndump	[options] url

       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 don't necessarily 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.

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

       -h, --help
	   Print a nice	help screen

       -q, --quiet
	   Don't print any progress

       -v, --verbose
	   Print detailed progress, similar to "svnadmin(1) load". Can be
	   specified multiple times.

       -u, --username username
	   User	name for repository authentication.

       -p, --password password
	   Password for	repository authentication.

       -r, --revision X	or X:Y
	   Specify 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.

	   Use text deltas instead of full texts in dump output

	   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.

	   Don't cache the authentication tokens provided by the user, e.g.
	   user	name and password, or manual SSL certificate validation. This
	   is equal to the corresponding option	in svn(1).

	   Instead of prompting, the program will exit with an error. This is
	   equal to the	corresponding option in	svn(1).

       --config-dir dir
	   Use the given Subversion configuration directory when opening a
	   session to the repository. This is equal to the corresponding
	   option in svn(1).

       --prefix	prefix
	   Prepend a given prefix to every node	which is dumped. The first
	   revision dumped will	also contain the paths necessary to create the

	   Please note that is assumed that prefix is really just a prefix
	   string, with	directories separated 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

	    |- old_branches
	    |- old_tags
	    |- old_trunk

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

	   Don't 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.

       -n, --dry-run
	   Don't fetch text deltas, resulting in a dump	without	file contents.
	   This	is mainly used for debugging purposes, as the program operates
	   normally but	runs much faster.

	   Replaces all	file and directory names with random strings. This is
	   useful for bug reports in combination with --dry-run.

       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 don't 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	pads revisions that did	not change the subdirectory with empty
       revisions. They don't have an author or date property, but contain the
       log message "This is an empty revision for padding.".

       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 even
       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:

       o   The source of the copy is outside the directory tree	which is being

       o   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
       repository's UUID if the	following conditions are true:

       o   The root of the repository is being dumped

       o   There is no user prefix

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

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

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

       Written by Jonas	Gehring, <>

       Copyright (C) 2008-2011 Jonas Gehring <>.
       Released	under the GNU General Public License.

rsvndump 0.6			  11/05/2021			   RSVNDUMP(1)


Want to link to this manual page? Use this URL:

home | help