> -----Original Message----- > From: pbu...@apache.org [mailto:pbu...@apache.org] > Sent: maandag 23 april 2012 22:13 > To: comm...@subversion.apache.org > Subject: svn commit: r1329417 - in /subversion/trunk/subversion: > libsvn_client/merge.c tests/cmdline/merge_tests.py > > Author: pburba > Date: Mon Apr 23 20:13:19 2012 > New Revision: 1329417 > > URL: http://svn.apache.org/viewvc?rev=1329417&view=rev > Log: > Fix issue #4166 'multiple merge editor drives which add then delete a > subtree fail'. > > * subversion/libsvn_client/merge.c > (notification_receiver): If we delete a path a previous editor drive added > then remove that path from our hash of added paths, since we don't want to > attempt to record mergeinfo on that deleted path. > > * subversion/tests/cmdline/merge_tests.py > (merge_adds_then_deletes_subtree): New test. > (test_list): Add merge_adds_then_deletes_subtree. > > Modified: > subversion/trunk/subversion/libsvn_client/merge.c > subversion/trunk/subversion/tests/cmdline/merge_tests.py > > Modified: subversion/trunk/subversion/libsvn_client/merge.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge > .c?rev=1329417&r1=1329416&r2=1329417&view=diff > ================================================================= > ============= > --- subversion/trunk/subversion/libsvn_client/merge.c (original) > +++ subversion/trunk/subversion/libsvn_client/merge.c Mon Apr 23 20:13:19 > 2012 > @@ -2966,6 +2966,16 @@ notification_receiver(void *baton, const > apr_hash_set(notify_b->added_abspaths, added_path, > APR_HASH_KEY_STRING, added_path); > } > + > + if (notify->action == svn_wc_notify_update_delete > + && notify_b->added_abspaths) > + { > + /* Issue #4166: If a previous merge added NOTIFY_ABSPATH, but we > + are now deleting it, then remove it from the list of added > + paths. */ > + apr_hash_set(notify_b->added_abspaths, notify_abspath, > + APR_HASH_KEY_STRING, NULL); > + }
This should probably recursively delete all added paths below notify_abspath, instead of just the root to allow additions there. Bert