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

Re: svn commit: r1095130 - in /subversion/trunk/subversion: libsvn_client/client.h libsvn_client/externals.c libsvn_client/switch.c libsvn_client/update.c libsvn_wc/adm_crawler.c tests/cmdline/externals_tests.py

From: Stefan Sperling <stsp_at_elego.de>
Date: Wed, 20 Apr 2011 19:32:30 +0200

On Wed, Apr 20, 2011 at 12:25:01AM +0200, Stefan Sperling wrote:
> On Tue, Apr 19, 2011 at 04:46:52PM -0000, rhuijben_at_apache.org wrote:
> > Author: rhuijben
> > Date: Tue Apr 19 16:46:51 2011
> > New Revision: 1095130
> >
> > URL: http://svn.apache.org/viewvc?rev=1095130&view=rev
> > Log:
> > Remove the 'apply svn:externals from added files' code we introduced during the
> > development of Subversion 1.7.0.
> >
> > While nice to have in certain use cases like testing new externals
> > (see issue #2267), this quick and dirty hack introduses issues like
> > issue #3351, where externals are not properly removed.
> >
> > This patch brings us back to the original behavior of only applying the
> > svn:externals as defined by the BASE tree (read: of committed nodes).
> > Which fixes the original automatic (but until recently mostly hidden)
> > removal of externals on update.
> >
> > The removal/relegation of externals was made more visible in r1095122,
> > by updating the notification code.
> Hmmm... was removing this feature really necessary?
> Instead of removing this feature, could you not reimplement the
> feature in a way that suits your requirements better, e.g. by making
> these externals disappear properly when they are reverted?
> I would have appreciated some discussion before this change was made.
> There are people out there how need this feature for their workflow,
> which is why I spent time on making this work. It would be nice to have
> externals on locally added dirs working for 1.7.0. Are you planning on
> getting this to work in 1.7.0? Given that you simply closed the issue
> as WONTFIX I guess that's not the case.
> Regarding your last comment to the issue, I don't care what the book says.
> If it says that only committed externals definitions can be handled it is
> probably talking about an implementation defect rather than an unsurmountable
> problem.
> All that said, I really appreciate your work on getting externals fixed
> because it is a very important part of getting 1.7 released. However,
> reverting code without prior discussion isn't nice.

For the record, Bert and I discussed this on IRC today.

The conclusion is that this feature will be revived as it was implemented,
with the addition of a new flag to svn update that allows users to enable
external definitions on locally added directories. Without this flag,
external definitions on locally added directories will be ignored.

There is a performance overhead involved in crawling the DB for external
definitions. Bert's opinion is that adding this overhead to every update
operation is not acceptable. I don't think that is a big problem.
But the command line switch will make both of us happy.

This way, users can test their externals definitions locally before
committing them, which is the goal of issue #2267. But normal updates
will not have to endure additional overhead.
Received on 2011-04-20 19:33:02 CEST

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.