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

Re: Path canonicalization assertion failure triggered by add_dir_recursively()

From: Daniel Rall <dlr_at_finemaltcoding.com>
Date: 2005-10-28 02:12:37 CEST

On Thu, 27 Oct 2005, Daniel Rall wrote:
...
> The error occurs because "." is passed to svn_wc_is_adm_dir(), which
> eventually triggers the is_canonical() assertion failure in
> svn_path_basename(). add_dir_recursive(), the caller of
> svn_wc_is_adm_dir(), contains code which filters out empty, parent,
> and "." paths, but that code isn't executed in time.

Turns out the call to svn_path_basename() from svn_wc_is_adm_dir() was
a local hack I had in my working copy which was requested by the
Subclipse folks (I didn't see any comments on the patch when I last
posted it to list, but could've missed them). Any objections to me
committing both patches? I do have some concern that the previously
super-thin svn_wc_is_adm_dir() routines becomes heavier because of
this change. Thoughts?

Index: subversion/libsvn_wc/adm_files.c
===================================================================
--- subversion/libsvn_wc/adm_files.c (revision 17065)
+++ subversion/libsvn_wc/adm_files.c (working copy)
@@ -57,7 +57,7 @@
 svn_boolean_t
 svn_wc_is_adm_dir (const char *name, apr_pool_t *pool)
 {
- (void)pool; /* Silence compiler warnings about unused parameter. */
+ name = svn_path_basename (name, pool);
   return (0 == strcmp (name, adm_dir_name)
           || 0 == strcmp (name, default_adm_dir_name));
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 28 02:13:43 2005

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.