#729 merge, synch, and compare issues

open
Rony Shapiro
1
2014-08-15
2013-11-16
Julie Jones
No

I love password safe. Unfortunately, I get in trouble with the merge option periodically. (merge just duplicated almost every record in my DB because I had redone the groups.) Having separate merge, compare and sync is a recipe for disaster, especially for non-technical users.

I am going to suggest a simple change that could fix most of the issues.

  1. make compare be part of merge and on by default, so that if I merge I will get asked about conflicts.

  2. handle most conflicts automatically.
    The records already have a guid that gives a record identity, even if every field changes.
    Extend last update time to be a list of some number of updates. A small number such
    as 5 or ten would be practical and cover most cases.
    Change each update to be a tuple <updatetime, guid=""> where the time is for the user,
    and the guid is used for merge.

    When merging, if the record exists in both DBs then check the current update guid of
    each record against previous update guids of the other record. This way you can verify
    if the current version of one record is a previous version of the other and just
    ignore the other version.

  3. handle deletes.
    Add a deleted flag to the update entry in the record <update time,="" guid,="" deleted="">
    and then leave the record in the DB (at least for some period of time). This can
    prevent putting back a deleted entry. This also handles the case where the record
    is deleted in on DB and modified in the other DB, in which case the user can be
    asked which to keep.

Discussion

  • Rony Shapiro
    Rony Shapiro
    2014-01-11

    • assigned_to: Rony Shapiro
     
  • Rony Shapiro
    Rony Shapiro
    2014-01-11

    I like this approach. Perhaps not in the forthcoming release, but certainly worth doing.

    Thanks!