On Tue, 2011-10-11 at 10:20 +0200, Johan Corveleyn wrote: > On Mon, Oct 10, 2011 at 3:25 PM, Bert Huijben <b...@qqmail.nl> wrote: > > > > > >> -----Original Message----- > >> From: Neels J Hofmeyr [mailto:ne...@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