summaryrefslogtreecommitdiff
path: root/subversion/libsvn_wc/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/libsvn_wc/status.c')
-rw-r--r--subversion/libsvn_wc/status.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/subversion/libsvn_wc/status.c b/subversion/libsvn_wc/status.c
index 83fd3d4a377b4..b8cbc0ed30d94 100644
--- a/subversion/libsvn_wc/status.c
+++ b/subversion/libsvn_wc/status.c
@@ -69,6 +69,7 @@ typedef struct svn_wc__internal_status_t
svn_wc_status3_t s; /* First member; same pointer*/
svn_boolean_t has_descendants;
+ svn_boolean_t op_root;
/* Make sure to update hash_stash() when adding values here */
} svn_wc__internal_status_t;
@@ -587,7 +588,8 @@ assemble_status(svn_wc__internal_status_t **status,
This filter should match the filter in is_sendable_status() */
if (! get_all)
if (((node_status == svn_wc_status_none)
- || (node_status == svn_wc_status_normal))
+ || (node_status == svn_wc_status_normal)
+ || (node_status == svn_wc_status_deleted && !info->op_root))
&& (! switched_p)
&& (! info->locked)
@@ -606,6 +608,7 @@ assemble_status(svn_wc__internal_status_t **status,
inner_stat = apr_pcalloc(result_pool, sizeof(*inner_stat));
stat = &inner_stat->s;
inner_stat->has_descendants = info->has_descendants;
+ inner_stat->op_root = info->op_root;
switch (info->kind)
{
@@ -1484,6 +1487,7 @@ hash_stash(void *baton,
/* Copy the internal/private data. */
svn_wc__internal_status_t *is = new_status;
is->has_descendants = old_status->has_descendants;
+ is->op_root = old_status->op_root;
assert(! svn_hash_gets(stat_hash, path));
svn_hash_sets(stat_hash, apr_pstrdup(hash_pool, path), new_status);
@@ -1865,7 +1869,9 @@ is_sendable_status(const svn_wc__internal_status_t *i_status,
/* If the text, property or tree state is interesting, send it. */
if ((status->node_status != svn_wc_status_none)
- && (status->node_status != svn_wc_status_normal))
+ && (status->node_status != svn_wc_status_normal)
+ && !(status->node_status == svn_wc_status_deleted
+ && !i_status->op_root))
return TRUE;
/* If it's switched, send it. */