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

[PATCH]: Re: svn status -u crash w/ moved external

From: <kfogel_at_collab.net>
Date: 2005-04-29 06:20:15 CEST

kfogel@collab.net writes:
> "Rowell, Geoff" <growell@ENVOYWW.COM> writes:
> > I repositioned some externals in our corporate repository. A few
> > subfolders that used to be externals are now actual subfolders. One
> > of the developers ran a "svn status -u" command and it crashed.
> Thank you! I have reproduced this with the latest trunk code, using
> your recipe. I am debugging now.

Here's a patch. It passes 'make check', but I haven't committed yet
because I'm not completely confident it's the right solution. I'm
worried that it might prevent status from doing the right thing on
svn:externals in some situations, situations that happen not to be
covered by our test suite.

If anyone has any thoughts about this fix, please follow up.

Fix bug in status's handling of svn:externals directories.

Thanks to Geoff Rowell <growell@envoyww.com>, who described this bug in
subject "svn status -u crash w/ moved external".

* subversion/libsvn_wc/status.c
  (make_dir_baton): Don't get status for children of external directories.

Index: subversion/libsvn_wc/status.c
--- subversion/libsvn_wc/status.c (revision 14510)
+++ subversion/libsvn_wc/status.c (working copy)
@@ -1043,6 +1043,10 @@
       && (parent_status->text_status != svn_wc_status_deleted)
       && (parent_status->text_status != svn_wc_status_missing)
       && (parent_status->text_status != svn_wc_status_obstructed)
+ && (parent_status->text_status != svn_wc_status_external)
+ /* Order is important here. If parent_status->text_status is
+ svn_wc_status_external, then parent_status->entry is NULL,
+ so check the former before looking inside the latter. */
       && (parent_status->entry->kind == svn_node_dir)
       && (eb->descend || (! pb)))

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 29 06:52:07 2005

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