On Wed, Sep 23, 2009 at 16:06, Bert Huijben <rhuijben_at_sharpsvn.net> wrote:
>...
> +++ trunk/subversion/libsvn_wc/diff.c  Wed Sep 23 13:06:53 2009     (r39547)
>...
> @@ -791,16 +790,19 @@ directory_elements_diff(struct dir_baton
> Â Â Â Â Â && strcmp(dir_baton->edit_baton->target, name))
> Â Â Â Â continue;
>
> - Â Â Â path = svn_dirent_join(dir_baton->path, name, subpool);
> + Â Â Â path = svn_dirent_join(dir_baton->path, name, iterpool);
>
> Â Â Â /* Skip entry if it is in the list of entries already diff'd. */
> Â Â Â if (apr_hash_get(dir_baton->compared, path, APR_HASH_KEY_STRING))
> Â Â Â Â continue;
>
> + Â Â Â SVN_ERR(svn_wc__get_entry(&entry, eb->db, child_abpath, FALSE,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â svn_node_unknown, FALSE, iterpool, iterpool));
Isn't this going to cause problems with missing/obstructed child subdirs?
>...
> - Â Â Â /* Skip entry for the directory itself. */
> - Â Â Â if (strcmp(key, SVN_WC_ENTRY_THIS_DIR) == 0)
> + Â Â Â SVN_ERR(svn_wc__db_node_hidden(&hidden, eb->db, child_abspath,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â iterpool));
> +
> + Â Â Â if (hidden)
> Â Â Â Â continue;
>
> + Â Â Â SVN_ERR(svn_wc__get_entry(&entry, eb->db, child_abspath, FALSE,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â svn_node_unknown, FALSE, iterpool, iterpool));
And here.
The hidden check won't catch the issue.
>...
Cheers,
-g
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2399071
Received on 2009-09-23 23:04:16 CEST