On Wed, Sep 30, 2009 at 07:46, Bert Huijben <rhuijben_at_sharpsvn.net> wrote:
>...
> +++ trunk/subversion/libsvn_wc/adm_ops.c     Wed Sep 30 04:46:58 2009     (r39700)
> @@ -886,11 +886,24 @@ mark_tree_deleted(svn_wc__db_t *db,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â iterpool));
> Â Â Â Â }
>
> - Â Â Â tmp_entry.schedule = svn_wc_schedule_delete;
> - Â Â Â SVN_ERR(svn_wc__entry_modify2(db, child_abspath, svn_node_unknown,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â TRUE, &tmp_entry,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â SVN_WC__ENTRY_MODIFY_SCHEDULE,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â iterpool));
> + Â Â Â /* If this node has no function after the delete, remove it
> + Â Â Â Â directly. Otherwise svn_wc__entry_modify2 would do this for us,
> + Â Â Â Â but using the entries api would leave the db handle open */
> + Â Â Â /* ### BH: This check matches the only case in fold_scheduling()
> + Â Â Â Â Â Â Â Â that removes the entry via delete scheduling */
> + Â Â Â if (entry->schedule == svn_wc_schedule_add && !entry->deleted)
> + Â Â Â Â {
> + Â Â Â Â Â SVN_ERR(svn_wc__entry_remove(db, child_abspath, pool));
> + Â Â Â Â Â SVN_ERR(svn_wc__db_temp_forget_directory(db, dir_abspath, pool));
Woah... I don't think you really want to pull this into the loop. On
the next iteration, it will simply re-open the PDH.
>...
> @@ -921,11 +934,6 @@ mark_tree_deleted(svn_wc__db_t *db,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â SVN_WC__ENTRY_MODIFY_KEEP_LOCAL,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â iterpool));
> Â Â }
> - Â else
> - Â Â {
> - Â Â Â return svn_error_return(
> - Â Â Â Â svn_wc__db_temp_forget_directory(db, dir_abspath, pool));
> - Â Â }
I think it should stay "out here".
Cheers,
-g
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2404747
Received on 2009-10-08 02:03:32 CEST