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

Re: EXTERNALS table -- good or bad?

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Tue, 11 Oct 2011 11:03:14 +0100

On Tue, 2011-10-11 at 10:20 +0200, Johan Corveleyn wrote:
> On Mon, Oct 10, 2011 at 3:25 PM, Bert Huijben <bert_at_qqmail.nl> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Neels J Hofmeyr [mailto:neels_at_elego.de]
> >> Sent: zaterdag 8 oktober 2011 7:58
> >> To: Bert Huijben
> >> Cc: 'Subversion Development'
> >> Subject: Re: EXTERNALS table -- good or bad?
> >>
> >> On 10/07/2011 02:18 PM, Bert Huijben wrote:
> >> > I think you were the one that enabled processing svn:externals on local
> >> > additions?
> >>
> >> Can't say that I did :)
> >>
> >> > (Impossible without EXTERNALS)
> >>
> >> "Impossible" is such a strong word. Brief explanation?
> >>
> >> > And file externals would be impossible to delete, except when using
> >> > EXTERNALS.
> >>
> >> Not sure about that, we do have that update_root column...
> >>
> >> > (etc.)
> >> (/me greps svn:log,dev@)
> >>
> >> So in short, we are going to rely on the EXTERNALS table as the no.1
> > source
> >> for information about svn:externals definitions, i.e. keep the table
> >> up-to-date at all times. It's more than just a cache. Right?
> >
> > ^/subversion/trunk/notes/wc-ng/externals contains more on the reasoning of
> > why 'EXTERNALS'.
> >
> > (It was written before it was decided not to move the real actual data from
> > BASE, so it could use some updates)
>
> AFAIUI, the EXTERNALS table is indeed not a cache, but it notes the
> externals "as rolled out by the last svn update", i.e. the externals
> "as currently expanded in the WC" (at least, that's what I understood
> from the dev@ discussions a while ago, and from the notes doc). This
> is a criticial piece of information, which can be different from what
> the externals prop says (in either their BASE or ACTUAL forms).
>
> And it's needed in a couple of scenario's which Bert noted. For
> instance, there is the scenario (as described in the notes file),
> where you change an external from pointing to A, to B, and then to C,
> without committing in between (but updating, i.e. applying the
> externals each time). In that case, you really need the information of
> what the "actually applied externals" were, to do a correct
> "migration" from B to C.
>
> At least, that's how I understood the need for the EXTERNALS table...

Can we *please* add some such description to the source code? I'd
suggest at the definition of the table in wc-metadata.sql.

- Julian
Received on 2011-10-11 12:03:53 CEST

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