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