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

RE: svn commit: r1329417 - in /subversion/trunk/subversion: libsvn_client/merge.c tests/cmdline/merge_tests.py

From: Bert Huijben <bert_at_qqmail.nl>
Date: Mon, 23 Apr 2012 22:21:16 +0200

> -----Original Message-----
> From: pburba_at_apache.org [mailto:pburba_at_apache.org]
> Sent: maandag 23 april 2012 22:13
> To: commits_at_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
Received on 2012-04-23 22:22:00 CEST

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.