| Index: chrome/browser/sync/engine/syncer_util.cc
|
| diff --git a/chrome/browser/sync/engine/syncer_util.cc b/chrome/browser/sync/engine/syncer_util.cc
|
| index bf1456e662da5ebf12deedafce8c683dbf9486d9..92b865a274ed643c92be5dd00f6ff8a0436fc066 100644
|
| --- a/chrome/browser/sync/engine/syncer_util.cc
|
| +++ b/chrome/browser/sync/engine/syncer_util.cc
|
| @@ -333,11 +333,6 @@ UpdateAttemptResponse SyncerUtil::AttemptToUpdateEntry(
|
| }
|
| }
|
|
|
| - if (entry->Get(IS_UNSYNCED)) {
|
| - DVLOG(1) << "Skipping update, returning conflict for: " << id
|
| - << " ; it's unsynced.";
|
| - return CONFLICT;
|
| - }
|
| if (!entry->Get(SERVER_IS_DEL)) {
|
| syncable::Id new_parent = entry->Get(SERVER_PARENT_ID);
|
| Entry parent(trans, GET_BY_ID, new_parent);
|
| @@ -348,13 +343,13 @@ UpdateAttemptResponse SyncerUtil::AttemptToUpdateEntry(
|
| // different ways we deal with it once here to reduce the amount of code and
|
| // potential errors.
|
| if (!parent.good() || parent.Get(IS_DEL) || !parent.Get(IS_DIR)) {
|
| - return CONFLICT;
|
| + return CONFLICT_HIERARCHY;
|
| }
|
| if (entry->Get(PARENT_ID) != new_parent) {
|
| if (!entry->Get(IS_DEL) && !IsLegalNewParent(trans, id, new_parent)) {
|
| DVLOG(1) << "Not updating item " << id
|
| << ", illegal new parent (would cause loop).";
|
| - return CONFLICT;
|
| + return CONFLICT_HIERARCHY;
|
| }
|
| }
|
| } else if (entry->Get(IS_DIR)) {
|
| @@ -364,10 +359,16 @@ UpdateAttemptResponse SyncerUtil::AttemptToUpdateEntry(
|
| // If we have still-existing children, then we need to deal with
|
| // them before we can process this change.
|
| DVLOG(1) << "Not deleting directory; it's not empty " << *entry;
|
| - return CONFLICT;
|
| + return CONFLICT_HIERARCHY;
|
| }
|
| }
|
|
|
| + if (entry->Get(IS_UNSYNCED)) {
|
| + DVLOG(1) << "Skipping update, returning conflict for: " << id
|
| + << " ; it's unsynced.";
|
| + return CONFLICT_SIMPLE;
|
| + }
|
| +
|
| if (specifics.has_encrypted()) {
|
| DVLOG(2) << "Received a decryptable "
|
| << syncable::ModelTypeToString(entry->GetServerModelType())
|
|
|