1RSVNDUMP(1)                      User commands                     RSVNDUMP(1)
2
3
4

NAME

6       rsvndump - Dumps a remote Subversion repository
7

SYNOPSIS

9       rsvndump [options] url
10

DESCRIPTION

12       rsvndump dumps a Subversion repository without having actual access to
13       the repository data, as required by the "svnadmin(1) dump" command.
14
15       If invoked with valid options, rsvndump will print a dump file to
16       stdout and optional progress to stderr.
17
18       Since rsvndump is also able to dump subdirectories of a repository, the
19       revision numbers in the dump don’t necessarily reflect the original
20       revision numbers. For more information on this, please refer to the
21       REVISION NUMBERS section.
22
23       There are also some additional differences to a "normal" dump generated
24       by svnadmin(1), which are listed in DIFFERENCES TO SVNADMIN DUMP.
25

OPTIONS

27       Most of the options can also be found in svnadmin(1) and svn(1) and
28       should be semantically equivalent, unless not stated otherwise.
29
30       -h, --help
31           Print a nice help screen
32
33       -q, --quiet
34           Don’t print any progress
35
36       -v, --verbose
37           Print detailed progress, similar to "svnadmin(1) load". Can be
38           specified multiple times.
39
40       -u, --username username
41           User name for repository authentication.
42
43       -p, --password password
44           Password for repository authentication.
45
46       -r, --revision X or X:Y
47           Specify the revision (or revision range) that should be dumped.  X
48           and Y can either be a number or "HEAD". The default revision range
49           is "0:HEAD", i.e. the complete revision history.
50
51           In contrast to svnadmin(1), dumps that were generated using this
52           option can always be loaded into a new repository, (unless
53           --incremental is given, of course). However, the resulting dump may
54           not exactly represent the original history. Please take a look at
55           DIFFERENCES TO SVNADMIN DUMP for further information.
56
57       --deltas
58           Use text deltas instead of full texts in dump output
59
60       --incremental
61           Create incremental output, suitable for concatenation. This results
62           in a dump that does not contain a dumpfile header and no full base
63           revision if the revision range does not start at 0.
64
65       --no-auth-cache
66           Don’t cache the authentication tokens provided by the user, e.g.
67           user name and password, or manual SSL certificate validation. This
68           is equal to the corresponding option in svn(1).
69
70       --non-interactive
71           Instead of prompting, the program will exit with an error. This is
72           equal to the corresponding option in svn(1).
73
74       --config-dir dir
75           Use the given Subversion configuration directory when opening a
76           session to the repository. This is equal to the corresponding
77           option in svn(1).
78
79       --prefix prefix
80           Prepend a given prefix to every node which is dumped. The first
81           revision dumped will also contain the paths necessary to create the
82           prefix.
83
84           Please note that is assumed that prefix is really just a prefix
85           string, with directories separated by "/". Therefore you need to
86           append a "/" at the end of the string to make it a directory. For
87           example, a prefix of myrepo/old_ might result in the following
88           layout:
89
90           myrepo
91            |- old_branches
92            |- old_tags
93            |- old_trunk
94
95       --keep-revnums
96           Keep the revision numbers in the output in sync with the
97           repository. This is done by inserting empty revisions for padding
98           if necessary.
99
100       --no-incremental-header
101           Don’t print the dumpfile header if --incrementals is given and the
102           revision range is not "0:X". This is useful if you really want to
103           append an incremental dumps to an existing file.
104
105       -n, --dry-run
106           Don’t fetch text deltas, resulting in a dump without file contents.
107           This is mainly used for debugging purposes, as the program operates
108           normally but runs much faster.
109
110       --obfuscate
111           Replaces all file and directory names with random strings. This is
112           useful for bug reports in combination with --dry-run.
113

REVISION NUMBERS

115       The revision numbers in the dump output depend on the options and the
116       path that are given to rsvndump. If you are dumping the root of a
117       repository, you don’t need to worry about revision numbers out of sync,
118       of course. If you are dumping a subdirectory, only the revisions that
119       changed this subdirectory will occur in the dump output. The revision
120       numbers in the dump are strictly sequential, so they will differ from
121       the original ones.
122
123       If you need the keep the revision numbers from the original repository
124       (e.g, if a bug tracker depends on them), you can use the --keep-revnums
125       flag. It pads revisions that did not change the subdirectory with empty
126       revisions. They don’t have an author or date property, but contain the
127       log message "This is an empty revision for padding.".
128

DIFFERENCES TO SVNADMIN DUMP

130       The output generated by rsvndump may differ from the one generated by
131       svnadmin(1) because rsvndump may handle file or directory copies
132       different than svnadmin(1). The latter does not support dumping of
133       subdirectories within a repository out of the box. Instead, the
134       svndumpfilter(1) tool will do this job. However, sometimes
135       subdirectories cannot be filtered exclusively with svndumpfilter(1)
136       because they have been copied from another place.
137
138       Since rsvndump has been designed to allow dumps of subdirectories even
139       if your repository access is limited to this subdirectory (in fact,
140       that was the primary reason this project exists), it will not access
141       other subdirectories than the one you want to dump. Example given,
142       dumping a branch will most likely not result in the full history of the
143       branch as it might have been copied from trunk at some point in time.
144
145       Thus, rsvndump will generally replace a copy action by a simple add
146       operation if both of the following conditions are true:
147
148       •   The source of the copy is outside the directory tree which is being
149           dumped
150
151       •   The source of the copy is not included in the dump because the
152           revision range has been limited using the --revision flag
153
154       The second condition is without effect if the --incremental flag is
155       given, so that incremental dumps yield the same result as normal dumps.
156
157       Maybe I should also note that the dump will only contain the
158       repository’s UUID if the following conditions are true:
159
160       •   The root of the repository is being dumped
161
162       •   There is no user prefix
163

ENVIRONMENT VARIABLES

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

EXIT STATUS

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

SEE ALSO

174       svn(1), svnadmin(1), svndumpfilter(1)
175

AUTHOR

177       Written by Jonas Gehring, <jonas.gehring@boolsoft.org>
178
180       Copyright © 2008-2011 Jonas Gehring <jonas.gehring@boolsoft.org>.
181       Released under the GNU General Public License.
182
183
184
185rsvndump 0.6                      03/01/2021                       RSVNDUMP(1)
Impressum