Author: julianfoad
Date: Thu Nov 24 15:09:16 2011
New Revision: 1205867
URL: http://svn.apache.org/viewvc?rev=1205867&view=rev
Log:
* subversion/libsvn_client/merge.c
(notification_receiver): Add an informative comment and two questions
about apparent bugs.
Modified:
subversion/trunk/subversion/libsvn_client/merge.c
Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1205867&r1=1205866&r2=1205867&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Thu Nov 24 15:09:16 2011
@@ -2795,6 +2795,7 @@ notification_receiver(void *baton, const
notify_abspath = moved_to_abspath;
}
+ /* Update the lists of merged, skipped, tree-conflicted and added paths. */
if (notify_b->merge_b->sources_ancestral
|| notify_b->merge_b->reintegrate_merge)
{
@@ -2856,6 +2857,9 @@ notification_receiver(void *baton, const
else
{
added_path_parent = svn_dirent_dirname(added_path, pool);
+ /* ### Bug. Testing whether its immediate parent is in the
+ * hash isn't enough: this is letting every other level of
+ * the added subtree hierarchy into the hash. */
if (!apr_hash_get(notify_b->added_abspaths, added_path_parent,
APR_HASH_KEY_STRING))
is_root_of_added_subtree = TRUE;
@@ -2904,6 +2908,8 @@ notification_receiver(void *baton, const
notify_b->cur_ancestor_index = new_nearest_ancestor_index;
if (!child->absent && child->remaining_ranges->nelts > 0
&& !(new_nearest_ancestor_index == 0
+ /* ### Woah, 'remaining_ranges == 0'? It was already
+ * assumed non-null earlier in this expression. Typo? */
&& child->remaining_ranges == 0))
{
svn_wc_notify_t *notify_merge_begin;