[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

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:

 

(dump.c)

      /* 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.

 

==========================================================================================

 

-----Original Message-----
From: C. Michael Pilato [mailto:cmpilato_at_collab.net]
Sent: Tuesday, September 30, 2008 9:29 AM
To: dev_at_subversion.tigris.org
Subject: Re: Bug: "svnadmin dump --incremental --deltas" gives too much output

 

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

     revision.

 

   * --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 Demand
 
Received on 2008-09-30 20:14:35 CEST

This is an archived mail posted to the Subversion Dev mailing list.