From 3d46a3069ab1fa166707410a5dfd05ca1a877e3c Mon Sep 17 00:00:00 2001 From: naturecodevoid <44983869+naturecodevoid@users.noreply.github.com> Date: Sun, 9 Apr 2023 13:32:22 -0700 Subject: [PATCH] fix: handle source conflict in merge policy --- AltStoreCore/Model/MergePolicy.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/AltStoreCore/Model/MergePolicy.swift b/AltStoreCore/Model/MergePolicy.swift index 08038988..7dee4903 100644 --- a/AltStoreCore/Model/MergePolicy.swift +++ b/AltStoreCore/Model/MergePolicy.swift @@ -51,9 +51,14 @@ open class MergePolicy: RSTRelationshipPreservingMergePolicy print("[ALTLog] Resolving AppVersion context-level conflict. Most likely due to migrating from pre-AppVersion model version.", primaryAppVersion) } + case is Source where conflict.conflictingObjects.count == 2: + // Use the first one + let second = conflict.conflictingObjects[1] + second.managedObjectContext?.delete(second) + default: // Unknown context-level conflict. - assertionFailure("MergePolicy is only intended to work with database-level conflicts.") + assertionFailure("MergePolicy is only intended to work with database-level conflicts. \(conflict.conflictingObjects.map { obj in obj.description }.joined(separator: ", "))") } }