All pastes #23708 Raw Edit

Miscellany

public text v1 · immutable
#23708 ·published 2005-09-23 17:52 UTC
rendered paste body
Index: 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);