RE: Bug: "svnadmin dump --incremental --deltas" gives too much output
From: Paul Charlton <techguru_at_byiq.com>
Date: Tue, 30 Sep 2008 11:14:15 -0700
The code is definitely inconsistent with the various documentation. A quick look at "dump.c" in "lib_svnrepos" shows the following logic:
/* Fetch the editor which dumps nodes to a file. Regardless of
what we've been told, don't use deltas for the first rev of a
non-incremental dump. */
use_deltas_for_rev = use_deltas && (incremental || i != start_rev);
SVN_ERR(get_dump_editor(&dump_editor, &dump_edit_baton, fs, to_rev,
"/", stream, feedback_stream, start_rev,
use_deltas_for_rev, FALSE, subpool));
... skipping forward (dump.c)
/* If this is the first revision of a non-incremental dump,
we're in for a full tree dump. Otherwise, we want to simply
replay the revision. */
if ((i == start_rev) && (! incremental))
... the interpretation being that if both deltas and incremental are enabled at the same time, there will not be a full-text baseline in the dump for any files actually dumped.
Vincent Lefevre wrote:
> On 2008-09-30 08:08:01 -0700, Paul Charlton wrote:
>> Assume 2 revisions: (n), (n-1), containing just a few text files.
>> "dump" must export "(n):full text" (to recreate a baseline) and also
>> the difference of (n):(n-1)
> No, the baseline can be obtained from the previous revisions.
> "dump" does not behave as you say: try it!
Vincent, I think you understand the --incremental and --deltas option intents, but for the sake of others in this thread, allow me to clarify:
* With no options, the first revision dumped by 'svnadmin dump' will
contain a complete listing of every directory and file in the
repository, the files' fulltext contents, all properties, etc.
Subsequent dumped revisions have the same but only for files and
directories changed in that revision.
* All that --incremental does is make that first dumped revision
like the others by only representing the files/dirs changed in that
* --deltas causes 'svnadmin dump' to use binary deltas instead of
fulltexts to represent file contents.
Sadly, 'svnadmin help's usage message isn't very helpful, because it uses "diff vs. fulltext" to describe for --incremental instead of "changed paths vs. all paths".
-- C. Michael Pilato <cmpilato_at_collab.net> CollabNet <> www.collab.net <> Distributed Development On DemandReceived on 2008-09-30 20:14:35 CEST
This is an archived mail posted to the Subversion Dev mailing list.