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));
}
}