Index: sync/engine/syncer_util.cc |
diff --git a/sync/engine/syncer_util.cc b/sync/engine/syncer_util.cc |
index 3a8870017c554dad472e42ab26ca04564faaa10e..5577e0b8f225a2a0c8fe6c6b36266dd795589655 100644 |
--- a/sync/engine/syncer_util.cc |
+++ b/sync/engine/syncer_util.cc |
@@ -406,7 +406,11 @@ void UpdateServerFieldsFromUpdate( |
DCHECK_EQ(target->GetId(), SyncableIdFromProto(update.id_string())) |
<< "ID Changing not supported here"; |
- target->PutServerParentId(SyncableIdFromProto(update.parent_id_string())); |
+ if (SyncerProtoUtil::ShouldMaintainHierarchy(update)) { |
+ target->PutServerParentId(SyncableIdFromProto(update.parent_id_string())); |
+ } else { |
+ target->PutServerParentId(syncable::Id()); |
+ } |
target->PutServerNonUniqueName(name); |
target->PutServerVersion(update.version()); |
target->PutServerCtime(ProtoTimeToTime(update.ctime())); |