Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge and synchronize files that have a common basis #583

Open
4 of 9 tasks
Serg-Norseman opened this issue Jun 28, 2024 · 0 comments
Open
4 of 9 tasks

Merge and synchronize files that have a common basis #583

Serg-Norseman opened this issue Jun 28, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@Serg-Norseman
Copy link
Owner

Serg-Norseman commented Jun 28, 2024

Merge and synchronize files that have a common basis

  1. File merging algorithm. Go through the records of both files, skip the unchanged one, add the added one, suggest deleting the deleted one, suggest merging the changed one, making a decision on conflicting changes (with visualization).

  2. Algorithm for merging records. The basis already exists; modifications will be required, adding missing parts for some types of records.

  3. An algorithm for identifying differences between any pair of records of the same type. We cannot miss any, even the smallest differences in any substructures of records. There is no basis, elaboration is the entire volume of all structures that make up the scope of GEDCOM implementation in GEDKeeper.

  4. Visual representation for control of record merging - visual representation of differences in records using a very accurate and detailed text representation, hierarchical text blocks.

  5. A set of functions that will form a mostly textual, block representation of all even the smallest GEDCOM substructures. No omissions are allowed.

Tasks

  • Simple definition of the same record (UID) [3]
  • Simple identify added, deleted and modified records (XRef and ChangedDateTime) [3]
  • Identifying differences between records, structures, and tags of the same origin (HashCode) [3]
  • Basic record merging [2]
  • Smart record merging [2]
  • Navigation by differences (forward, backward); confirmation, pass, merge [1]
  • Functions for text representation of all records, structures and tags [5]
  • Visual representation for control of record merging [4]
  • Smart record merging with cross-record links control
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant