233
234
private merge(originalLocalContent: string | null, originalRemoteContent: string | null, baseContent: string | null): {
236
>
hasLocalChanged: boolean;
237
>
hasRemoteChanged: boolean;
238
>
hasConflicts: boolean;
239
>
} {
240
>
241
>
/* no changes */
242
>
if (originalLocalContent === null && originalRemoteContent === null && baseContent === null) {
243
return { content: null, hasLocalChanged: false, hasRemoteChanged: false, hasConflicts: false };
244
}
246
>
// Normalize nulls to empty strings for easier comparison
247
>
originalRemoteContent = originalRemoteContent ?? '';
248
>
originalLocalContent = originalLocalContent ?? '';
249
>
baseContent = baseContent ?? '';
250
>
251
>
/* no changes */
252
>
if (originalLocalContent === originalRemoteContent) {
253
return { content: null, hasLocalChanged: false, hasRemoteChanged: false, hasConflicts: false };
254
}