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

Re: svn commit: r1652157 - in /subversion/trunk/subversion: libsvn_wc/wc_db.c tests/cmdline/externals_tests.py

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 15 Jan 2015 16:16:20 +0000

philip_at_apache.org writes:

> Author: philip
> Date: Thu Jan 15 16:11:57 2015
> New Revision: 1652157
>
> URL: http://svn.apache.org/r1652157
> Log:
> Fix issue 4550, failed to run workqueue item due to earlier use of
> wrong wcroot.
>
> * subversion/libsvn_wc/wc_db.c
> (svn_wc__db_init): Update wcroot cache.
>

> @@ -1593,6 +1594,16 @@ svn_wc__db_init(svn_wc__db_t *db,
> /* The WCROOT is complete. Stash it into DB. */
> svn_hash_sets(db->dir_data, wcroot->abspath, wcroot);
>
> + /* Any previously cached children now have a new WCROOT. */
> + for (hi = apr_hash_first(scratch_pool, db->dir_data);
> + hi;
> + hi = apr_hash_next(hi))
> + {
> + const char *abspath = apr_hash_this_key(hi);
> + if (svn_dirent_is_ancestor(wcroot->abspath, abspath))
> + svn_hash_sets(db->dir_data, abspath, wcroot);
> + }
> +
> return SVN_NO_ERROR;
> }

This fixes the issue but I'm wondering if I should remove the entries
rather than update them. Is it wrong for db->dir_cache to have entries
for paths that are not directories and do not exist?

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2015-01-15 17:16:50 CET

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