mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
fix: Entries missing after database merge #2223
This commit is contained in:
@@ -488,11 +488,11 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
// Merge by modification time
|
// Merge by modification time
|
||||||
if (entry.lastModificationTime.isBefore(entryToMerge.lastModificationTime)
|
if (entry.lastModificationTime.isBefore(entryToMerge.lastModificationTime)
|
||||||
) {
|
) {
|
||||||
|
// Update entry with databaseEntryToMerge and merge history
|
||||||
addHistory(entry, entryToMerge)
|
addHistory(entry, entryToMerge)
|
||||||
if (parentEntryToMerge == entry.parent) {
|
if (parentEntryToMerge == entry.parent) {
|
||||||
entry.updateWith(entryToMerge, copyHistory = true, updateParents = false)
|
entry.updateWith(entryToMerge, copyHistory = true, updateParents = false)
|
||||||
} else {
|
} else {
|
||||||
// Update entry with databaseEntryToMerge and merge history
|
|
||||||
database.removeEntryFrom(entry, entry.parent)
|
database.removeEntryFrom(entry, entry.parent)
|
||||||
if (parentEntryToMerge != null) {
|
if (parentEntryToMerge != null) {
|
||||||
database.addEntryTo(entryToMerge, parentEntryToMerge)
|
database.addEntryTo(entryToMerge, parentEntryToMerge)
|
||||||
@@ -501,6 +501,12 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
} else if (entry.lastModificationTime.isAfter(entryToMerge.lastModificationTime)
|
} else if (entry.lastModificationTime.isAfter(entryToMerge.lastModificationTime)
|
||||||
) {
|
) {
|
||||||
addHistory(entryToMerge, entry)
|
addHistory(entryToMerge, entry)
|
||||||
|
} else {
|
||||||
|
// If it's the same modification time, simply move entry to the right location
|
||||||
|
parentEntryToMerge?.let {
|
||||||
|
database.removeEntryFrom(entry, entry.parent)
|
||||||
|
database.addEntryTo(entryToMerge, parentEntryToMerge)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -569,6 +575,7 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
|
|||||||
database.removeGroupFrom(group, group.parent)
|
database.removeGroupFrom(group, group.parent)
|
||||||
if (parentGroupToMerge != null) {
|
if (parentGroupToMerge != null) {
|
||||||
database.addGroupTo(groupToMerge, parentGroupToMerge)
|
database.addGroupTo(groupToMerge, parentGroupToMerge)
|
||||||
|
// Add each child
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user