Author: rhuijben
Date: Sun Jun 5 16:14:38 2011
New Revision: 1132444
URL: http://svn.apache.org/viewvc?rev=1132444&view=rev
Log:
In the upgrade code: don't install information in WORKING nodes that should be
obtained from lower layers. Match the behavior of what a new working copy would
look like.
* subversion/libsvn_wc/entries.c
(write_entry): Handle an incomplete delete as a delete instead of as an
incomplete node. (The old scenarios where we had to support this are
no longer valid). Don't install last modification info in base_deleted
records.
Modified:
subversion/trunk/subversion/libsvn_wc/entries.c
Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=1132444&r1=1132443&r2=1132444&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Sun Jun 5 16:14:38 2011
@@ -2036,19 +2036,8 @@ write_entry(struct write_baton **entry_n
}
else if (entry->schedule == svn_wc_schedule_delete)
{
- if (entry->incomplete)
- {
- /* A transition from a schedule-delete state to incomplete
- is most likely caused by
svn_wc_remove_from_revision_control.
- By setting this node's presence to 'incomplete', we will
- lose the scheduling information, but this directory is
- being deleted (by the logs) ... we won't need the state.
*/
- working_node->presence = svn_wc__db_status_incomplete;
- }
- else
- {
- working_node->presence = svn_wc__db_status_base_deleted;
- }
+ working_node->presence = svn_wc__db_status_base_deleted;
+ working_node->kind = entry->kind;
}
else
{
@@ -2071,9 +2060,12 @@ write_entry(struct write_baton **entry_n
Note: cmt_rev is the distinguishing value. The others may be 0 or
NULL if the corresponding revprop has been deleted. */
- working_node->changed_rev = entry->cmt_rev;
- working_node->changed_date = entry->cmt_date;
- working_node->changed_author = entry->cmt_author;
+ if (working_node->presence != svn_wc__db_status_base_deleted)
+ {
+ working_node->changed_rev = entry->cmt_rev;
+ working_node->changed_date = entry->cmt_date;
+ working_node->changed_author = entry->cmt_author;
+ }
if (entry->schedule == svn_wc_schedule_delete
&& parent_node->work