Author: gstein
Date: Tue Apr 27 13:03:14 2010
New Revision: 938440

URL: http://svn.apache.org/viewvc?rev=938440&view=rev
Log:
Some tweaks around entry modification flags.

* subversion/libsvn_wc/adm_ops.c:
  (svn_wc_add4): no need to initialize MODIFY_FLAGS

* subversion/libsvn_wc/entries.c:
  (svn_wc__entry_modify_stub): there are a limited number of flags passed
    to the stub modification. most of these are wrong since a stub is not
    "supposed to" record this data. we assert that no other flags are
    passed.

* subversion/libsvn_wc/workqueue.c:
  (run_revert): pass the constant set of flags directly to the call,
    rather than placing them into modify_flags first

Modified:
    subversion/trunk/subversion/libsvn_wc/adm_ops.c
    subversion/trunk/subversion/libsvn_wc/entries.c
    subversion/trunk/subversion/libsvn_wc/workqueue.c

Modified: subversion/trunk/subversion/libsvn_wc/adm_ops.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_ops.c?rev=938440&r1=938439&r2=938440&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_ops.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_ops.c Tue Apr 27 13:03:14 2010
@@ -1334,7 +1334,7 @@ svn_wc_add4(svn_wc_context_t *wc_ctx,
   svn_wc_entry_t tmp_entry;
   svn_boolean_t is_replace = FALSE;
   svn_node_kind_t kind;
-  apr_uint64_t modify_flags = 0;
+  apr_uint64_t modify_flags;
   svn_wc__db_t *db = wc_ctx->db;
   svn_error_t *err;
   svn_wc__db_status_t status;

Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=938440&r1=938439&r2=938440&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Tue Apr 27 13:03:14 2010
@@ -3139,6 +3139,37 @@ svn_wc__entry_modify_stub(svn_wc__db_t *
                           apr_uint64_t modify_flags,
                           apr_pool_t *scratch_pool)
 {
+  SVN_ERR_ASSERT((modify_flags & ~(
+                    /* from adm_ops.c  */
+                    SVN_WC__ENTRY_MODIFY_SCHEDULE
+                    | SVN_WC__ENTRY_MODIFY_KIND
+                    | SVN_WC__ENTRY_MODIFY_REVISION
+                    | SVN_WC__ENTRY_MODIFY_COPYFROM_URL
+                    | SVN_WC__ENTRY_MODIFY_COPYFROM_REV
+                    | SVN_WC__ENTRY_MODIFY_COPIED
+                    | SVN_WC__ENTRY_MODIFY_CHECKSUM
+
+                    /* from entries.c  */
+                    | SVN_WC__ENTRY_MODIFY_URL
+                    | SVN_WC__ENTRY_MODIFY_REVISION
+
+                    | SVN_WC__ENTRY_MODIFY_DELETED
+                    | SVN_WC__ENTRY_MODIFY_SCHEDULE
+                    | SVN_WC__ENTRY_MODIFY_FORCE
+
+                    /* from update_editor.c  */
+                    | SVN_WC__ENTRY_MODIFY_KIND
+                    | SVN_WC__ENTRY_MODIFY_DELETED
+                    | SVN_WC__ENTRY_MODIFY_ABSENT
+                    | SVN_WC__ENTRY_MODIFY_SCHEDULE
+                    | SVN_WC__ENTRY_MODIFY_FORCE
+
+                    /* from workqueue.c  */
+                    | SVN_WC__ENTRY_MODIFY_COPIED
+                    | SVN_WC__ENTRY_MODIFY_COPYFROM_URL
+                    | SVN_WC__ENTRY_MODIFY_COPYFROM_REV
+                    | SVN_WC__ENTRY_MODIFY_SCHEDULE
+                                   )) == 0);
   return svn_error_return(entry_modify(db, local_abspath,
                                        svn_node_dir, TRUE,
                                        entry, modify_flags, scratch_pool));

Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=938440&r1=938439&r2=938440&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Tue Apr 27 13:03:14 2010
@@ -491,17 +491,18 @@ run_revert(svn_wc__db_t *db,
                                     db, local_abspath, scratch_pool));
       if (!is_wc_root && !is_switched)
         {
-          modify_flags = (SVN_WC__ENTRY_MODIFY_COPIED
-                          | SVN_WC__ENTRY_MODIFY_COPYFROM_URL
-                          | SVN_WC__ENTRY_MODIFY_COPYFROM_REV
-                          | SVN_WC__ENTRY_MODIFY_SCHEDULE);
           tmp_entry.copied = FALSE;
           tmp_entry.copyfrom_url = NULL;
           tmp_entry.copyfrom_rev = SVN_INVALID_REVNUM;
           tmp_entry.schedule = svn_wc_schedule_normal;
-          SVN_ERR(svn_wc__entry_modify_stub(db, local_abspath,
-                                            &tmp_entry, modify_flags,
-                                            scratch_pool));
+          SVN_ERR(svn_wc__entry_modify_stub(
+                    db, local_abspath,
+                    &tmp_entry,
+                    SVN_WC__ENTRY_MODIFY_COPIED
+                      | SVN_WC__ENTRY_MODIFY_COPYFROM_URL
+                      | SVN_WC__ENTRY_MODIFY_COPYFROM_REV
+                      | SVN_WC__ENTRY_MODIFY_SCHEDULE,
+                    scratch_pool));
         }
     }
 


Reply via email to