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

Re: problem with dump/load

From: <cmpilato_at_collab.net>
Date: 2002-07-15 22:34:34 CEST

cmpilato@collab.net writes:

> > I do a small fix in subversion/libsvn_repos/dump.c :
> >
> > --- subversion-0.13.2.orig/subversion/libsvn_repos/dump.c Sat Jul 13
> > 18:44:13 2002
> > +++ subversion-0.13.2/subversion/libsvn_repos/dump.c Sat Jul 13 18:59:36
> > 2002
> > @@ -341,6 +341,13 @@
> > return SVN_NO_ERROR;
> > }
> >
> > + /* currently, the format dump does not permit to dump either the props
> > + * or the text. We need to do both. */
> > + if (must_dump_props || must_dump_text) {
> > + must_dump_props = TRUE ;
> > + must_dump_text = TRUE ;
> > + }
> > +
> > /* Start prepping content to dump... */
> >
> > /* If the node either has no props, or we're not supposed to dump
> >
> >
> > It is not THE solution. This only resolve the fellowing problems :
>
> It is not THE solution, and it is not even accurate, unfortunately.
> The dumper was designed so that if the "text" of a copied file did not
> change, that text was not dumped. First, it doesn't *need* to be
> dumped because the loader gets it for free when *it* does the copy
> again at load time. Secondly, it leaves us unable to easily ask of
> the new loaded repository, "Did the text of this file change?" because
> all such files will look (initially) as though they have textual mods.
>
> I believe this bug to be one in the loader, not the dumper, and am
> investigating it as such right now.

Crap. Crap, crap, crap. While thinking about this bug, I realized
that we have a philosophical problem with the dump semantics.
Briefly, we show add-with-history-and-no-local-mods as:

   Node-path: copied-file
   Node-kind: file
   Node-action: add
   Node-copyfrom-rev: 1
   Node-copyfrom-path: copy-src

But check this out. Let's see how we would show add-with-history-and-
also-remove-all-file-contents:

   Node-path: copied-file
   Node-kind: file
   Node-action: add
   Node-copyfrom-rev: 1
   Node-copyfrom-path: copy-src

Hm. That hurts.

Ben, Karl, and I think we should just grow a new header,
"Node-text-modified", to note whether or not the contents of the file
changed in that revision. This will allow us to distinguish whether
or not the the absense of textual contents for copied files in the
dump format means "nothing changed" or "we yanked out all the guts and
threw them on the floor".

Heh...it occurs to me that "Node-props-modified" would be useful for
the same reason.

Off to code...

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 15 21:36:25 2002

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.