Daniel Shahaf wrote on Tue, Mar 08, 2022 at 10:57:17 +0000:
> Julian Foad wrote on Wed, Mar 02, 2022 at 13:04:51 +0000:
> > Daniel Shahaf wrote:
> > > multi-wc-format/BRANCH-README mentioned this:
> > >  
> > >> [*] New externals working copies must inherit the format from their
> > >>    parent working copy, because [...]
> > >  
> > > Upgrading a parent working copy upgrades external wc's too.  However,
> > > upgrading an external succeeds.  Judging by the quoted remark, should
> > > «svn upgrade --compatible-version=$N /path/to/external» error out unless
> > > the external's parent working copy is already at version $V?
> > 
> > It isn't clear to me whether allowing it or disallowing it is more "right".
> > 
> > Can anyone else chime in?
> > 
> 
> Hmm.  Considering that «svn update» recurses into externals by default,
> but that nothing recurses upwards into parent wc's by default, perhaps
> we should design things around making sure these two cases continue to
> work?  I.e., disallow selective upgrades that might make another
> client's «svn update» of the outer wc fail because the outer wc and the
> external wc are different formats?
> 
> Following this train of thought, we'll forbid upgrading an external
> without also upgrading a parent wc, but will entertain patches to make
> «svn upgrade» _not_ descend into external wc's by default, should anyone
> submit such.  (I don't propose we add this ourselves for the MVP.)
> 

Another perspective: If we aren't sure, we should make upgrading an
external an error i n1.15, because that leaves users a workaround
(upgrade the parent wc) and we can make it a non-error in the future,
whereas if 1.15 allows upgrading only the external wc, backwards
compatibility with that would be expected.

If anyone thinks «svn upgrade /path/to/wc/path/to/external» should be
allowed, do speak up.

Cheers,

Daniel


> Cheers,
> 
> Daniel
> 
> > In the meantime, I filed your question as 
> > https://subversion.apache.org/issue/4890
> > 
> > - Julian
> > 

Reply via email to