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 2010/09/06 15:47:24 UTC
svn commit: r993028 - in /subversion/trunk/subversion/libsvn_wc:
adm_crawler.c adm_files.c adm_ops.c copy.c crop.c diff.c entries.c lock.c
node.c props.c revision_status.c status.c update_editor.c workqueue.c
Author: rhuijben
Date: Mon Sep 6 13:47:23 2010
New Revision: 993028
URL: http://svn.apache.org/viewvc?rev=993028&view=rev
Log:
Remove the remaining checks for obstruction statee in libsvn_wc. These
statee are no longer returned from the wc_db api since we switched to
single-db. This is a a final cleanup step before removing some parts
of the multi-db support.
No functional change.
* subversion/libsvn_wc/adm_crawler.c
(report_revisions_and_depths): Disable check for obstructed.
* subversion/libsvn_wc/adm_files.c
(svn_wc__get_pristine_contents): Disable check for obstructed and
remove base-deleted check (value is wc_db internal).
(svn_wc__internal_ensure_adm): Disable check for obstructed.
* subversion/libsvn_wc/adm_ops.c
(process_committed_leaf,
svn_wc__process_committed_internal,
svn_wc_add4): Disable obstructed status checks.
* subversion/libsvn_wc/copy.c
(svn_wc_copy3): Disable obstructed check.
* subversion/libsvn_wc/crop.c
(svn_wc_exclude,
svn_wc_crop_tree2): Disable obstructed checks.
* subversion/libsvn_wc/diff.c
(file_diff): Remove obstructed check (file couldn't be obstructed)
* subversion/libsvn_wc/entries.c
(get_base_info_for_deleted,
read_one_entry): Disable obstructed checks.
* subversion/libsvn_wc/lock.c
(adm_available): Disable obstructed checks.
* subversion/libsvn_wc/node.c
(svn_wc__node_get_repos_info,
svn_wc__internal_node_get_url,
svn_wc__node_get_repos_relpath,
svn_wc__internal_get_copyfrom_info,
svn_wc__node_is_status_deleted,
svn_wc__node_is_added,
svn_wc__internal_is_replaced,
svn_wc__node_get_commit_base_rev,
svn_wc__internal_node_get_schedule): Disable checks for obstructed statee.
* subversion/libsvn_wc/props.c
(svn_wc__get_pristine_props): Disable check for obstructed.
* subversion/libsvn_wc/revision_status.c
(analyze_status): Disable check for obstructed status.
* subversion/libsvn_wc/status.c
(internal_status): Disable obstructed test.
* subversion/libsvn_wc/update_editor.c
(node_get_relpath_ignore_errors,
create_tree_conflict,
check_tree_conflict,
add_directory): Disable obstructed checks.
* subversion/libsvn_wc/workqueue.c
(remove_base_node,
log_do_committed): Disable obstructed checks.
Modified:
subversion/trunk/subversion/libsvn_wc/adm_crawler.c
subversion/trunk/subversion/libsvn_wc/adm_files.c
subversion/trunk/subversion/libsvn_wc/adm_ops.c
subversion/trunk/subversion/libsvn_wc/copy.c
subversion/trunk/subversion/libsvn_wc/crop.c
subversion/trunk/subversion/libsvn_wc/diff.c
subversion/trunk/subversion/libsvn_wc/entries.c
subversion/trunk/subversion/libsvn_wc/lock.c
subversion/trunk/subversion/libsvn_wc/node.c
subversion/trunk/subversion/libsvn_wc/props.c
subversion/trunk/subversion/libsvn_wc/revision_status.c
subversion/trunk/subversion/libsvn_wc/status.c
subversion/trunk/subversion/libsvn_wc/update_editor.c
subversion/trunk/subversion/libsvn_wc/workqueue.c
Modified: subversion/trunk/subversion/libsvn_wc/adm_crawler.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_crawler.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_crawler.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_crawler.c Mon Sep 6 13:47:23 2010
@@ -652,8 +652,10 @@ report_revisions_and_depths(svn_wc__db_t
### skip it right here. I guess with an obstruction, we
### can't really do anything with info the server might
### send, so maybe this is just fine. */
+#ifdef SVN_WC__DB_SINGLE_DB
if (this_status == svn_wc__db_status_obstructed)
continue;
+#endif
is_incomplete = (this_status == svn_wc__db_status_incomplete);
start_empty = is_incomplete;
Modified: subversion/trunk/subversion/libsvn_wc/adm_files.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_files.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_files.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_files.c Mon Sep 6 13:47:23 2010
@@ -357,13 +357,14 @@ svn_wc__get_pristine_contents(svn_stream
"because it has an unexpected status"),
svn_dirent_local_style(local_abspath,
scratch_pool));
+#ifndef SVN_WC__SINGLE_DB
else
/* We know that it is a file, so we can't hit the _obstructed stati.
Also, we should never see _base_deleted here. */
SVN_ERR_ASSERT(status != svn_wc__db_status_obstructed
&& status != svn_wc__db_status_obstructed_add
- && status != svn_wc__db_status_obstructed_delete
- && status != svn_wc__db_status_base_deleted);
+ && status != svn_wc__db_status_obstructed_delete);
+#endif
if (sha1_checksum)
SVN_ERR(svn_wc__db_pristine_read(contents, db, local_abspath,
@@ -638,8 +639,11 @@ svn_wc__internal_ensure_adm(svn_wc__db_t
* arbitrary revision and the URL may differ if the add is
* being driven from a merge which will have a different URL. */
if (status != svn_wc__db_status_deleted
+ && status != svn_wc__db_status_not_present
+#ifndef SVN_WC__SINGLE_DB
&& status != svn_wc__db_status_obstructed_delete
- && status != svn_wc__db_status_not_present)
+#endif
+ )
{
/* ### Should we match copyfrom_revision? */
if (db_revision != revision)
Modified: subversion/trunk/subversion/libsvn_wc/adm_ops.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_ops.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_ops.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_ops.c Mon Sep 6 13:47:23 2010
@@ -151,7 +151,10 @@ process_committed_leaf(svn_wc__db_t *db,
SVN_ERR(svn_wc__write_check(db, adm_abspath, scratch_pool));
if (status == svn_wc__db_status_deleted
- || status == svn_wc__db_status_obstructed_delete)
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ )
{
return svn_error_return(svn_wc__wq_add_deletion_postcommit(
db, local_abspath, new_revnum, no_unlock,
@@ -309,7 +312,10 @@ svn_wc__process_committed_internal(svn_w
of running the log for the replaced directory that was
created at the start of this function). */
if (status == svn_wc__db_status_deleted
- || status == svn_wc__db_status_obstructed_delete)
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ )
{
svn_boolean_t replaced;
@@ -963,7 +969,9 @@ svn_wc_add4(svn_wc_context_t *wc_ctx,
node_exists = FALSE;
break;
case svn_wc__db_status_deleted:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_delete:
+#endif
/* A working copy root should never have a WORKING_NODE */
SVN_ERR_ASSERT(!is_wc_root);
node_exists = FALSE;
@@ -1020,8 +1028,11 @@ svn_wc_add4(svn_wc_context_t *wc_ctx,
|| parent_status == svn_wc__db_status_not_present
|| parent_status == svn_wc__db_status_excluded
|| parent_status == svn_wc__db_status_absent
+#ifndef SVN_WC__SINGLE_DB
|| parent_status == svn_wc__db_status_obstructed
- || parent_status == svn_wc__db_status_obstructed_add)
+ || parent_status == svn_wc__db_status_obstructed_add
+#endif
+ )
{
return
svn_error_createf(SVN_ERR_ENTRY_NOT_FOUND, err,
@@ -1031,7 +1042,10 @@ svn_wc_add4(svn_wc_context_t *wc_ctx,
scratch_pool));
}
else if (parent_status == svn_wc__db_status_deleted
- || parent_status == svn_wc__db_status_obstructed_delete)
+#ifndef SVN_WC__SINGLE_DB
+ || parent_status == svn_wc__db_status_obstructed_delete
+#endif
+ )
{
return
svn_error_createf(SVN_ERR_WC_SCHEDULE_CONFLICT, NULL,
Modified: subversion/trunk/subversion/libsvn_wc/copy.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/copy.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/copy.c (original)
+++ subversion/trunk/subversion/libsvn_wc/copy.c Mon Sep 6 13:47:23 2010
@@ -642,7 +642,9 @@ svn_wc_copy3(svn_wc_context_t *wc_ctx,
svn_dirent_local_style(dst_abspath, scratch_pool));
case svn_wc__db_status_deleted:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_delete:
+#endif
case svn_wc__db_status_not_present:
break; /* OK to add */
Modified: subversion/trunk/subversion/libsvn_wc/crop.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/crop.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/crop.c (original)
+++ subversion/trunk/subversion/libsvn_wc/crop.c Mon Sep 6 13:47:23 2010
@@ -251,7 +251,9 @@ svn_wc_exclude(svn_wc_context_t *wc_ctx,
SVN_ERR_MALFUNCTION();
case svn_wc__db_status_added:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_add:
+#endif
/* Would have to check parents if we want to allow this */
return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
_("Cannot exclude '%s': it is to be added "
@@ -259,7 +261,9 @@ svn_wc_exclude(svn_wc_context_t *wc_ctx,
svn_dirent_local_style(local_abspath,
scratch_pool));
case svn_wc__db_status_deleted:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_delete:
+#endif
/* Would have to check parents if we want to allow this */
return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
_("Cannot exclude '%s': it is to be deleted "
@@ -269,7 +273,9 @@ svn_wc_exclude(svn_wc_context_t *wc_ctx,
case svn_wc__db_status_normal:
case svn_wc__db_status_incomplete:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed:
+#endif
default:
break; /* Ok to exclude */
}
@@ -357,16 +363,22 @@ svn_wc_crop_tree2(svn_wc_context_t *wc_c
svn_dirent_local_style(local_abspath,
scratch_pool));
- if (status == svn_wc__db_status_deleted ||
- status == svn_wc__db_status_obstructed_delete)
+ if (status == svn_wc__db_status_deleted
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ )
return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
_("Cannot crop '%s': it is going to be removed "
"from repository. Try commit instead"),
svn_dirent_local_style(local_abspath,
scratch_pool));
- if (status == svn_wc__db_status_added ||
- status == svn_wc__db_status_obstructed_add)
+ if (status == svn_wc__db_status_added
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+#endif
+ )
return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
_("Cannot crop '%s': it is to be added "
"to the repository. Try commit instead"),
Modified: subversion/trunk/subversion/libsvn_wc/diff.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/diff.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/diff.c (original)
+++ subversion/trunk/subversion/libsvn_wc/diff.c Mon Sep 6 13:47:23 2010
@@ -591,8 +591,7 @@ file_diff(struct dir_baton *db,
NULL, NULL, NULL, NULL, NULL, NULL,
eb->db, local_abspath, pool, pool));
- replaced = ((status == svn_wc__db_status_added
- || status == svn_wc__db_status_obstructed_add)
+ replaced = ((status == svn_wc__db_status_added)
&& have_base
&& base_status != svn_wc__db_status_not_present);
Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Mon Sep 6 13:47:23 2010
@@ -272,7 +272,10 @@ get_base_info_for_deleted(svn_wc_entry_t
db, parent_abspath,
scratch_pool, scratch_pool));
if (parent_status == svn_wc__db_status_added
- || parent_status == svn_wc__db_status_obstructed_add)
+#ifndef SVN_WC__SINGLE_DB
+ || parent_status == svn_wc__db_status_obstructed_add
+#endif
+ )
SVN_ERR(svn_wc__db_scan_addition(NULL, NULL,
&parent_repos_relpath,
&entry->repos,
@@ -405,7 +408,10 @@ get_base_info_for_deleted(svn_wc_entry_t
db, parent_abspath,
scratch_pool, scratch_pool));
if (parent_status == svn_wc__db_status_added
- || parent_status == svn_wc__db_status_obstructed_add)
+#ifndef SVN_WC__SINGLE_DB
+ || parent_status == svn_wc__db_status_obstructed_add
+#endif
+ )
SVN_ERR(svn_wc__db_scan_addition(&parent_status,
NULL,
NULL, NULL, NULL,
@@ -649,7 +655,10 @@ read_one_entry(const svn_wc_entry_t **ne
}
}
else if (status == svn_wc__db_status_deleted
- || status == svn_wc__db_status_obstructed_delete)
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ )
{
#ifdef SVN_WC__SINGLE_DB
svn_node_kind_t path_kind;
@@ -690,7 +699,10 @@ read_one_entry(const svn_wc_entry_t **ne
#endif
}
else if (status == svn_wc__db_status_added
- || status == svn_wc__db_status_obstructed_add)
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+#endif
+ )
{
svn_wc__db_status_t work_status;
const char *op_root_abspath;
@@ -772,6 +784,7 @@ read_one_entry(const svn_wc_entry_t **ne
&& !SVN_IS_VALID_REVNUM(entry->cmt_rev))
entry->revision = 0;
+#ifndef SVN_WC__SINGLE_DB
if (status == svn_wc__db_status_obstructed_add)
entry->revision = SVN_INVALID_REVNUM;
@@ -781,6 +794,7 @@ read_one_entry(const svn_wc_entry_t **ne
&& status == svn_wc__db_status_obstructed_add)
entry->schedule = svn_wc_schedule_normal;
else
+#endif
entry->schedule = svn_wc_schedule_add;
}
}
@@ -789,6 +803,7 @@ read_one_entry(const svn_wc_entry_t **ne
then we cannot begin a scan for data. The original node may
have important data. Set up stuff to kill that idea off,
and finish up this entry. */
+#ifndef SVN_WC__SINGLE_DB
if (status == svn_wc__db_status_obstructed_add)
{
entry->cmt_rev = SVN_INVALID_REVNUM;
@@ -796,6 +811,7 @@ read_one_entry(const svn_wc_entry_t **ne
scanned_original_relpath = NULL;
}
else
+#endif
{
SVN_ERR(svn_wc__db_scan_addition(&work_status,
&op_root_abspath,
@@ -993,12 +1009,14 @@ read_one_entry(const svn_wc_entry_t **ne
entry->schedule = svn_wc_schedule_normal;
entry->deleted = TRUE;
}
+#ifndef SVN_WC__SINGLE_DB
else if (status == svn_wc__db_status_obstructed)
{
/* ### set some values that should (hopefully) let this directory
### be usable. */
entry->revision = SVN_INVALID_REVNUM;
}
+#endif
else if (status == svn_wc__db_status_absent)
{
entry->absent = TRUE;
@@ -1049,6 +1067,14 @@ read_one_entry(const svn_wc_entry_t **ne
### the last three should probably have an "implied" REPOS_RELPATH
*/
+#ifdef SVN_WC__SINGLE_DB
+ SVN_ERR_ASSERT(repos_relpath != NULL
+ || entry->schedule == svn_wc_schedule_delete
+ || status == svn_wc__db_status_not_present
+ || status == svn_wc__db_status_absent
+ || status == svn_wc__db_status_excluded
+ );
+#else
SVN_ERR_ASSERT(repos_relpath != NULL
|| entry->schedule == svn_wc_schedule_delete
|| status == svn_wc__db_status_obstructed
@@ -1058,6 +1084,7 @@ read_one_entry(const svn_wc_entry_t **ne
|| status == svn_wc__db_status_absent
|| status == svn_wc__db_status_excluded
);
+#endif
if (repos_relpath)
entry->url = svn_path_url_add_component2(entry->repos,
repos_relpath,
Modified: subversion/trunk/subversion/libsvn_wc/lock.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/lock.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/lock.c (original)
+++ subversion/trunk/subversion/libsvn_wc/lock.c Mon Sep 6 13:47:23 2010
@@ -663,16 +663,23 @@ adm_available(svn_boolean_t *available,
db, local_abspath, scratch_pool, scratch_pool));
if (obstructed)
+#ifndef SVN_WC__SINGLE_DB
*obstructed = (status == svn_wc__db_status_obstructed ||
status == svn_wc__db_status_obstructed_add ||
status == svn_wc__db_status_obstructed_delete);
+#else
+ *obstructed = FALSE;
+#endif
- *available = !(status == svn_wc__db_status_obstructed ||
- status == svn_wc__db_status_obstructed_add ||
- status == svn_wc__db_status_obstructed_delete ||
- status == svn_wc__db_status_absent ||
- status == svn_wc__db_status_excluded ||
- status == svn_wc__db_status_not_present);
+ *available = !(status == svn_wc__db_status_absent
+ || status == svn_wc__db_status_excluded
+ || status == svn_wc__db_status_not_present
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed
+ || status == svn_wc__db_status_obstructed_add
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ );
return SVN_NO_ERROR;
}
Modified: subversion/trunk/subversion/libsvn_wc/node.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/node.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/node.c (original)
+++ subversion/trunk/subversion/libsvn_wc/node.c Mon Sep 6 13:47:23 2010
@@ -136,7 +136,10 @@ svn_wc__node_get_repos_info(const char *
if (scan_added
&& (status == svn_wc__db_status_added
- || status == svn_wc__db_status_obstructed_add))
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+#endif
+ ))
{
/* We have an addition. scan_addition() will find the intended
repository location by scanning up the tree. */
@@ -153,12 +156,15 @@ svn_wc__node_get_repos_info(const char *
if (((repos_root_url != NULL && *repos_root_url == NULL)
|| (repos_uuid != NULL && *repos_uuid == NULL))
&& (status == svn_wc__db_status_normal
- || status == svn_wc__db_status_obstructed
|| status == svn_wc__db_status_absent
|| status == svn_wc__db_status_excluded
|| status == svn_wc__db_status_not_present
|| (scan_deleted && (status == svn_wc__db_status_deleted))
- || (scan_deleted && (status == svn_wc__db_status_obstructed_delete))))
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed
+ || (scan_deleted && (status == svn_wc__db_status_obstructed_delete))
+#endif
+ ))
{
SVN_ERR(svn_wc__db_scan_base_repos(NULL, repos_root_url, repos_uuid,
wc_ctx->db, local_abspath,
@@ -365,7 +371,10 @@ svn_wc__internal_node_get_url(const char
|| status == svn_wc__db_status_not_present
|| (!have_base
&& (status == svn_wc__db_status_deleted
- || status == svn_wc__db_status_obstructed_delete)))
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ )))
{
const char *parent_abspath;
@@ -446,7 +455,10 @@ svn_wc__node_get_repos_relpath(const cha
else if (status == svn_wc__db_status_excluded
|| (!have_base
&& (status == svn_wc__db_status_deleted
- || status == svn_wc__db_status_obstructed_delete)))
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ )))
{
const char *parent_abspath, *name, *parent_relpath;
@@ -567,7 +579,10 @@ svn_wc__internal_get_copyfrom_info(const
}
}
else if ((status == svn_wc__db_status_added
- || status == svn_wc__db_status_obstructed_add)
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+#endif
+ )
&& (copyfrom_rev || copyfrom_url || copyfrom_root_url
|| copyfrom_repos_relpath))
{
@@ -813,8 +828,11 @@ svn_wc__node_is_status_deleted(svn_boole
wc_ctx->db, local_abspath,
scratch_pool, scratch_pool));
- *is_deleted = (status == svn_wc__db_status_deleted) ||
- (status == svn_wc__db_status_obstructed_delete);
+ *is_deleted = (status == svn_wc__db_status_deleted)
+#ifndef SVN_WC__SINGLE_DB
+ || (status == svn_wc__db_status_obstructed_delete)
+#endif
+ ;
return SVN_NO_ERROR;
}
@@ -900,7 +918,10 @@ svn_wc__node_is_added(svn_boolean_t *is_
wc_ctx->db, local_abspath,
scratch_pool, scratch_pool));
*is_added = (status == svn_wc__db_status_added
- || status == svn_wc__db_status_obstructed_add);
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+#endif
+ );
return SVN_NO_ERROR;
}
@@ -936,7 +957,10 @@ svn_wc__internal_is_replaced(svn_boolean
scratch_pool, scratch_pool));
*replaced = ((status == svn_wc__db_status_added
- || status == svn_wc__db_status_obstructed_add)
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+#endif
+ )
&& have_base
&& base_status != svn_wc__db_status_not_present);
@@ -1130,8 +1154,12 @@ svn_wc__node_get_commit_base_rev(svn_rev
wc_ctx->db, parent_abspath,
scratch_pool, scratch_pool));
+#ifndef SVN_WC__SINGLE_DB
SVN_ERR_ASSERT(parent_status == svn_wc__db_status_added
|| parent_status == svn_wc__db_status_obstructed_add);
+#else
+ SVN_ERR_ASSERT(parent_status == svn_wc__db_status_added);
+#endif
SVN_ERR(svn_wc__db_scan_addition(NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL,
@@ -1280,11 +1308,15 @@ svn_wc__internal_node_get_schedule(svn_w
case svn_wc__db_status_normal:
case svn_wc__db_status_incomplete:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed:
+#endif
break;
case svn_wc__db_status_deleted:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_delete:
+#endif
{
const char *work_del_abspath;
@@ -1313,7 +1345,9 @@ svn_wc__internal_node_get_schedule(svn_w
break;
}
case svn_wc__db_status_added:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_add:
+#endif
{
const char *op_root_abspath;
const char *parent_abspath;
Modified: subversion/trunk/subversion/libsvn_wc/props.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.c (original)
+++ subversion/trunk/subversion/libsvn_wc/props.c Mon Sep 6 13:47:23 2010
@@ -1758,6 +1758,7 @@ svn_wc__get_pristine_props(apr_hash_t **
return SVN_NO_ERROR;
}
+#ifndef SVN_WC__SINGLE_DB
/* The node is obstructed:
- subdir is missing, obstructed by a file, or missing admin area
@@ -1777,6 +1778,7 @@ svn_wc__get_pristine_props(apr_hash_t **
"properties are not available."),
svn_dirent_local_style(local_abspath,
scratch_pool));
+#endif
/* status: normal, moved_here, copied, deleted */
Modified: subversion/trunk/subversion/libsvn_wc/revision_status.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/revision_status.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/revision_status.c (original)
+++ subversion/trunk/subversion/libsvn_wc/revision_status.c Mon Sep 6 13:47:23 2010
@@ -83,9 +83,12 @@ analyze_status(const char *local_abspath
return SVN_NO_ERROR;
}
else if (status == svn_wc__db_status_added
- || status == svn_wc__db_status_obstructed_add
|| status == svn_wc__db_status_deleted
- || status == svn_wc__db_status_obstructed_delete)
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+ || status == svn_wc__db_status_obstructed_delete
+#endif
+ )
{
wb->result->modified = TRUE;
}
Modified: subversion/trunk/subversion/libsvn_wc/status.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/status.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/status.c (original)
+++ subversion/trunk/subversion/libsvn_wc/status.c Mon Sep 6 13:47:23 2010
@@ -2535,12 +2535,15 @@ internal_status(svn_wc_status3_t **statu
scratch_pool, scratch_pool);
if ((err && err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND)
+ || node_status == svn_wc__db_status_not_present
+ || node_status == svn_wc__db_status_absent
+ || node_status == svn_wc__db_status_excluded
+#ifndef SVN_WC__SINGLE_DB
|| node_status == svn_wc__db_status_obstructed
|| node_status == svn_wc__db_status_obstructed_add
|| node_status == svn_wc__db_status_obstructed_delete
- || node_status == svn_wc__db_status_not_present
- || node_status == svn_wc__db_status_absent
- || node_status == svn_wc__db_status_excluded)
+#endif
+ )
{
svn_error_clear(err);
node_kind = svn_wc__db_kind_unknown;
Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Mon Sep 6 13:47:23 2010
@@ -461,16 +461,22 @@ node_get_relpath_ignore_errors(svn_wc__d
if (relpath)
return relpath;
- if (status == svn_wc__db_status_added ||
- status == svn_wc__db_status_obstructed_add)
+ if (status == svn_wc__db_status_added
+#ifndef SVN_WC__SINGLE_DB
+ || status == svn_wc__db_status_obstructed_add
+#endif
+ )
{
svn_error_clear(svn_wc__db_scan_addition(NULL, NULL, &relpath, NULL,
NULL, NULL, NULL, NULL, NULL,
db, local_abspath,
result_pool, scratch_pool));
}
- else if (status != svn_wc__db_status_deleted &&
- status != svn_wc__db_status_obstructed_delete)
+ else if (status != svn_wc__db_status_deleted
+#ifndef SVN_WC__SINGLE_DB
+ && status != svn_wc__db_status_obstructed_delete
+#endif
+ )
{
svn_error_clear(svn_wc__db_scan_base_repos(&relpath, NULL, NULL,
db, local_abspath,
@@ -1578,10 +1584,16 @@ create_tree_conflict(svn_wc_conflict_des
result_pool, scratch_pool));
/* This better really be an added status. */
+#ifndef SVN_WC__SINGLE_DB
SVN_ERR_ASSERT(added_status == svn_wc__db_status_added
|| added_status == svn_wc__db_status_obstructed_add
|| added_status == svn_wc__db_status_copied
|| added_status == svn_wc__db_status_moved_here);
+#else
+ SVN_ERR_ASSERT(added_status == svn_wc__db_status_added
+ || added_status == svn_wc__db_status_copied
+ || added_status == svn_wc__db_status_moved_here);
+#endif
}
else if (reason == svn_wc_conflict_reason_unversioned)
{
@@ -1760,7 +1772,9 @@ check_tree_conflict(svn_wc_conflict_desc
switch (status)
{
case svn_wc__db_status_added:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_add:
+#endif
case svn_wc__db_status_moved_here:
case svn_wc__db_status_copied:
/* Is it a replace? */
@@ -1801,7 +1815,9 @@ check_tree_conflict(svn_wc_conflict_desc
case svn_wc__db_status_deleted:
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed_delete:
+#endif
/* The node is locally deleted. */
reason = svn_wc_conflict_reason_deleted;
break;
@@ -1813,10 +1829,12 @@ check_tree_conflict(svn_wc_conflict_desc
* So the node exists and is essentially 'normal'. We still need to
* check prop and text mods, and those checks will retrieve the
* missing information (hopefully). */
+#ifndef SVN_WC__SINGLE_DB
case svn_wc__db_status_obstructed:
/* Tree-conflicts during update are only concerned with local
* modifications. We can safely update BASE, disregarding the
* obstruction. So let's treat this as normal. */
+#endif
case svn_wc__db_status_normal:
if (action == svn_wc_conflict_action_edit)
/* An edit onto a local edit or onto *no* local changes is no
@@ -1840,7 +1858,9 @@ check_tree_conflict(svn_wc_conflict_desc
* but the update editor will not visit the subdirectories
* of a directory that it wants to delete. Therefore, we
* need to start a separate crawl here. */
+#ifndef SVN_WC__SINGLE_DB
if (status != svn_wc__db_status_obstructed)
+#endif
SVN_ERR(tree_has_local_mods(&modified, &all_mods_are_deletes,
eb->db, local_abspath,
eb->cancel_func, eb->cancel_baton,
@@ -2543,6 +2563,7 @@ add_directory(const char *path,
* conflict, so merge it with the incoming add. */
db->add_existed = TRUE;
+#ifndef SVN_WC__SINGLE_DB
/* Pre-single-db, a dir that was OS-deleted from the working copy
* along with its .svn folder is seen 'obstructed' in this code
* path. The particular situation however better matches the word
@@ -2559,6 +2580,7 @@ add_directory(const char *path,
do_notification(eb, db->local_abspath, svn_node_dir,
svn_wc_notify_add, pool);
}
+#endif
}
}
else if (kind != svn_node_none)
Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=993028&r1=993027&r2=993028&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Mon Sep 6 13:47:23 2010
@@ -733,7 +733,9 @@ remove_base_node(svn_wc__db_t *db,
if (base_status == svn_wc__db_status_normal
&& wrk_status != svn_wc__db_status_added
+#ifndef SVN_WC__SINGLE_DB
&& wrk_status != svn_wc__db_status_obstructed_add
+#endif
&& wrk_status != svn_wc__db_status_excluded)
{
#ifndef SVN_WC__SINGLE_DB
@@ -770,7 +772,9 @@ remove_base_node(svn_wc__db_t *db,
SVN_ERR(svn_wc__db_temp_op_remove_entry(db, local_abspath, scratch_pool));
}
else if (wrk_status == svn_wc__db_status_added
+#ifndef SVN_WC__SINGLE_DB
|| wrk_status == svn_wc__db_status_obstructed_add
+#endif
|| (have_work && wrk_status == svn_wc__db_status_excluded))
/* ### deletes of working additions should fall in this case, but
### we can't express these without the 4th tree */
@@ -1293,7 +1297,10 @@ log_do_committed(svn_wc__db_t *db,
/* Committing a deletion should remove the local nodes. */
if (child_status == svn_wc__db_status_deleted
- || child_status == svn_wc__db_status_obstructed_delete)
+#ifndef SVN_WC__SINGLE_DB
+ || child_status == svn_wc__db_status_obstructed_delete
+#endif
+ )
{
SVN_ERR(svn_wc__internal_remove_from_revision_control(
db, child_abspath,