You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2011/04/17 14:34:30 UTC

svn commit: r1094135 [2/2] - in /subversion/trunk/subversion: libsvn_wc/ tests/libsvn_wc/

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.h?rev=1094135&r1=1094134&r2=1094135&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.h Sun Apr 17 12:34:29 2011
@@ -1377,7 +1377,7 @@ svn_wc__db_op_set_tree_conflict(svn_wc__
 
    The OUT parameters, and their "not available" values are:
      STATUS                  n/a (always available)
-     KIND                    n/a (always available)
+     KIND                    svn_wc__db_kind_unknown   (For ACTUAL only nodes)
      REVISION                SVN_INVALID_REVNUM
      REPOS_RELPATH           NULL
      REPOS_ROOT_URL          NULL
@@ -1385,29 +1385,37 @@ svn_wc__db_op_set_tree_conflict(svn_wc__
      CHANGED_REV             SVN_INVALID_REVNUM
      CHANGED_DATE            0
      CHANGED_AUTHOR          NULL
-     LAST_MOD_TIME           0
      DEPTH                   svn_depth_unknown
      CHECKSUM                NULL
-     TRANSLATED_SIZE         SVN_INVALID_FILESIZE
      TARGET                  NULL
-     CHANGELIST              NULL
+
      ORIGINAL_REPOS_RELPATH  NULL
      ORIGINAL_ROOT_URL       NULL
      ORIGINAL_UUID           NULL
      ORIGINAL_REVISION       SVN_INVALID_REVNUM
-     PROPS_MOD               n/a (always available)
-     HAVE_BASE               n/a (always available)
-     HAVE_WORK               n/a (always available)
-     CONFLICTED              FALSE
+
      LOCK                    NULL
 
+     RECORDED_SIZE           SVN_INVALID_FILESIZE
+     RECORDED_MOD_TIME       0
+
+     CHANGELIST              NULL
+     CONFLICTED              FALSE
+
+     OP_ROOT                 FALSE
+     HAVE_PROPS             FALSE
+     PROPS_MOD               FALSE
+
+     HAVE_BASE               FALSE
+     HAVE_MORE_WORK          FALSE
+     HAVE_WORK               FALSE
+
    When STATUS is requested, then it will be one of these values:
 
      svn_wc__db_status_normal
        A plain BASE node, with no local changes.
 
      svn_wc__db_status_added
-     svn_wc__db_status_obstructed_add
        A node has been added/copied/moved to here. See HAVE_BASE to see
        if this change overwrites a BASE node. Use scan_addition() to resolve
        whether this has been added, copied, or moved, and the details of the
@@ -1415,15 +1423,11 @@ svn_wc__db_op_set_tree_conflict(svn_wc__
        the details requires scanning one or more ancestor nodes).
 
      svn_wc__db_status_deleted
-     svn_wc__db_status_obstructed_delete
        This node has been deleted or moved away. It may be a delete/move of
        a BASE node, or a child node of a subtree that was copied/moved to
        an ancestor location. Call scan_deletion() to determine the full
        details of the operations upon this node.
 
-     svn_wc__db_status_obstructed
-       The versioned subdirectory is missing or obstructed by a file.
-
      svn_wc__db_status_absent
        The node is versioned/known by the server, but the server has
        decided not to provide further information about the node. This
@@ -1455,11 +1459,30 @@ svn_wc__db_op_set_tree_conflict(svn_wc__
    If CHECKSUM is requested, and the node is NOT a file, then it will
    be set to NULL.
 
+   If TARGET is requested, and the node is NOT a symlink, then it will
+   be set to NULL.
+
    If TRANSLATED_SIZE is requested, and the node is NOT a file, then
    it will be set to SVN_INVALID_FILESIZE.
 
-   If TARGET is requested, and the node is NOT a symlink, then it will
-   be set to NULL.
+   If HAVE_WORK is TRUE, the returned information is from the highest WORKING
+   layer. In that case HAVE_MORE_WORK and HAVE_BASE provide information about
+   what other layers exist for this node.
+
+   If HAVE_WORK is FALSE and HAVE_BASE is TRUE then the information is from
+   the BASE tree.
+
+   If HAVE_WORK and HAVE_BASE are both FALSE and when retrieving CONFLICTED,
+   then the node doesn't exist at all.
+
+   If OP_ROOT is requested and the node has a WORKING layer, OP_ROOT will be
+   set to true if this node is the op_root for this layer.
+
+   If HAD_PROPS is requested and the node has pristine props, the value will
+   be set to TRUE.
+
+   If PROP_MODS is requested and the node has property modification the value
+   will be set to TRUE.
 
    ### add information about the need to scan upwards to get a complete
    ### picture of the state of this node.
@@ -1511,12 +1534,9 @@ svn_wc__db_read_info(svn_wc__db_status_t
                      svn_revnum_t *changed_rev,
                      apr_time_t *changed_date,
                      const char **changed_author,
-                     apr_time_t *last_mod_time,
-                     svn_depth_t *depth,  /* ### dirs only */
-                     const svn_checksum_t **checksum,
-                     svn_filesize_t *translated_size,
-                     const char **target,
-                     const char **changelist,
+                     svn_depth_t *depth,  /* dirs only */
+                     const svn_checksum_t **checksum, /* files only */
+                     const char **target, /* symlinks only */
 
                      /* ### the following fields if copied/moved (history) */
                      const char **original_repos_relpath,
@@ -1524,15 +1544,27 @@ svn_wc__db_read_info(svn_wc__db_status_t
                      const char **original_uuid,
                      svn_revnum_t *original_revision,
 
+                     /* For BASE nodes */
+                     svn_wc__db_lock_t **lock,
+
+                     /* Recorded for files present in the working copy */
+                     svn_filesize_t *recorded_size,
+                     apr_time_t *recorded_mod_time,
+
+                     /* From ACTUAL */
+                     const char **changelist,
+                     svn_boolean_t *conflicted,
+
                      /* ### the followed are derived fields */
+                     svn_boolean_t *op_root,
+
+                     svn_boolean_t *had_props,
                      svn_boolean_t *props_mod,
+
                      svn_boolean_t *have_base,
+                     svn_boolean_t *have_more_work,
                      svn_boolean_t *have_work,
 
-                     svn_boolean_t *conflicted,
-
-                     svn_wc__db_lock_t **lock,
-
                      svn_wc__db_t *db,
                      const char *local_abspath,
                      apr_pool_t *result_pool,

Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=1094135&r1=1094134&r2=1094135&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Sun Apr 17 12:34:29 2011
@@ -158,8 +158,9 @@ remove_base_node(svn_wc__db_t *db,
 
   SVN_ERR(svn_wc__db_read_info(&wrk_status, &wrk_kind, NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-                               NULL, NULL, NULL, NULL, NULL, NULL, &have_base,
-                               &have_work, NULL, NULL,
+                               NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+                               NULL, NULL,
+                               &have_base, NULL, &have_work,
                                db, local_abspath, scratch_pool, scratch_pool));
 
   SVN_ERR_ASSERT(have_base); /* Verified in caller and _base_get_children() */
@@ -663,9 +664,9 @@ log_do_committed(svn_wc__db_t *db,
             &status, &kind, NULL,
             NULL, NULL, NULL, NULL, NULL, NULL,
             NULL, NULL, NULL, NULL, NULL, NULL,
-            NULL, NULL, NULL, NULL,
-            &prop_mods, NULL, NULL,
-            NULL, NULL,
+            NULL, NULL, NULL, NULL, NULL, NULL,
+            NULL, NULL, &prop_mods,
+            NULL, NULL, NULL,
             db, local_abspath,
             scratch_pool, scratch_pool));
 
@@ -1107,13 +1108,13 @@ run_file_install(svn_wc__db_t *db,
     {
       apr_time_t changed_date;
 
-      SVN_ERR(svn_wc__db_read_info(
-                NULL, NULL, NULL, NULL, NULL, NULL,
-                NULL, &changed_date, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-                NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-                NULL, NULL,
-                db, local_abspath,
-                scratch_pool, scratch_pool));
+      SVN_ERR(svn_wc__db_read_info(NULL, NULL, NULL, NULL, NULL, NULL,
+                                   NULL, &changed_date, NULL, NULL, NULL,
+                                   NULL, NULL, NULL, NULL, NULL, NULL,
+                                   NULL, NULL, NULL, NULL, NULL, NULL,
+                                   NULL, NULL, NULL, NULL,
+                                   db, local_abspath,
+                                   scratch_pool, scratch_pool));
 
       if (changed_date)
         SVN_ERR(svn_io_set_file_affected_time(changed_date,

Modified: subversion/trunk/subversion/tests/libsvn_wc/db-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/db-test.c?rev=1094135&r1=1094134&r2=1094135&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/db-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/db-test.c Sun Apr 17 12:34:29 2011
@@ -829,8 +829,11 @@ test_working_info(apr_pool_t *pool)
   const char *original_root_url;
   const char *original_uuid;
   svn_revnum_t original_revnum;
+  svn_boolean_t op_root;
+  svn_boolean_t had_props;
   svn_boolean_t props_mod;
   svn_boolean_t have_base;
+  svn_boolean_t have_more_work;
   svn_boolean_t have_work;
   svn_boolean_t conflicted;
   svn_wc__db_lock_t *lock;
@@ -843,12 +846,12 @@ test_working_info(apr_pool_t *pool)
   SVN_ERR(svn_wc__db_read_info(
             &status, &kind, &revision,
             &repos_relpath, &repos_root_url, &repos_uuid,
-            &changed_rev, &changed_date, &changed_author, &last_mod_time,
-            &depth, &checksum, &translated_size, &target,
-            &changelist, &original_repos_relpath, &original_root_url,
-            &original_uuid, &original_revnum,
-            &props_mod, &have_base, &have_work,
-            &conflicted, &lock,
+            &changed_rev, &changed_date, &changed_author,
+            &depth, &checksum, &target, &original_repos_relpath,
+            &original_root_url, &original_uuid, &original_revnum,
+            &lock, &translated_size, &last_mod_time, &changelist,
+            &conflicted, &op_root, &had_props, &props_mod,
+            &have_base, &have_more_work, &have_work,
             db, svn_dirent_join(local_abspath, "I", pool),
             pool, pool));
   SVN_TEST_ASSERT(status == svn_wc__db_status_added);
@@ -1242,6 +1245,7 @@ test_global_relocate(apr_pool_t *pool)
                                NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
+                               NULL, NULL, NULL,
                                db, local_abspath,
                                pool, pool));
 
@@ -1257,6 +1261,7 @@ test_global_relocate(apr_pool_t *pool)
                                NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
+                               NULL, NULL, NULL,
                                db, local_abspath,
                                pool, pool));
   SVN_TEST_STRING_ASSERT(repos_relpath, "");
@@ -1271,6 +1276,7 @@ test_global_relocate(apr_pool_t *pool)
                                NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
+                               NULL, NULL, NULL,
                                db, svn_dirent_join(local_abspath, "F",
                                                    pool),
                                pool, pool));
@@ -1285,6 +1291,7 @@ test_global_relocate(apr_pool_t *pool)
                                NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
                                NULL, NULL, NULL, NULL, NULL,
+                               NULL, NULL, NULL,
                                db, svn_dirent_join(local_abspath, "G",
                                                    pool),
                                pool, pool));