rendered paste bodyIndex: subversion/libsvn_wc/entries.c
===================================================================
--- subversion/libsvn_wc/entries.c (revision 16212)
+++ subversion/libsvn_wc/entries.c (working copy)
@@ -1690,9 +1690,25 @@
if (modify_flags & SVN_WC__ENTRY_MODIFY_SCHEDULE)
{
svn_wc_entry_t *entry_before, *entry_after;
- apr_uint32_t orig_modify_flags = modify_flags;
+ apr_uint32_t orig_modify_flags;
svn_wc_schedule_t orig_schedule = entry->schedule;
+ /* Make sure to invalidate fields not related to the new schedule */
+ if (!(entry->schedule == svn_wc_schedule_add ||
+ entry->schedule == svn_wc_schedule_replace))
+ {
+ modify_flags |=
+ SVN_WC__ENTRY_MODIFY_COPYFROM_URL |
+ SVN_WC__ENTRY_MODIFY_COPYFROM_REV |
+ SVN_WC__ENTRY_MODIFY_COPIED;
+
+ entry->copyfrom_url = NULL;
+ entry->copyfrom_rev = SVN_INVALID_REVNUM;
+ entry->copied = FALSE;
+ }
+
+ orig_modify_flags = modify_flags;
+
/* Keep a copy of the unmodified entry on hand. */
entry_before = apr_hash_get (entries, name, APR_HASH_KEY_STRING);