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

Deep merge #1005

Open
3 tasks
ferrisoxide opened this issue Nov 27, 2024 · 1 comment
Open
3 tasks

Deep merge #1005

ferrisoxide opened this issue Nov 27, 2024 · 1 comment
Assignees
Labels

Comments

@ferrisoxide
Copy link
Collaborator

ferrisoxide commented Nov 27, 2024

Describe the task

The current merge feature doesn't try to merge the histories of initiatives with the same name. It creates "duplicates" of initiatives instead, suffixing each with a unique number (e.g. "Food Security, Food Security (1), Food Security (2)", etc).

This appears to be counter to expectations, as some users have expressed a desire to have a single, consolidated history for initiatives. This will require creating a synthetic history that takes into account all the status changes occurring in separate initiatives with the same names.

To preser

Success Criteria

  • MUST merge the complete comment and state history for each initiative, when deep merge mode is used
  • MUST allow deep merge features to be accessible via rake tasks
  • MUST preserve the existing "shallow merge" mechanism that duplicates initiatives

Related Issues

#982

@ferrisoxide
Copy link
Collaborator Author

NOTES TO QA

@SishaMish This is on production and ready for QA.

The new feature is available via the Impact Card grid:

image

image

The thing to check for here is mostly how well the deep merge maintains state and comment for initiatives with the same name (aka "clashing initiatives").

Checklist items, statuses and comments

For any checklist items found in clashing initiatives, the final state should be the most recently updated checklist item and comment. Any previous comments / statuses should be available when running the Comments Report against the merged card.

Organisations and Subsystem Tags

Any organisations or subsystem tags should be combined, such that the merged initiative will contain the complete set of either from the original initiatives.

E.g. If there are two initiatives in different cards, both called "Foo". If the "Foo" in card 1 has the organisation "Org 1" and "Org 2" and the "Foo" in card 2 has the organisations "Org 1" and "Org 3", when they are merge the final "Foo" initiative will have Org 1, Org 2 and Org 3. The same applies to Subsystem Tags.

Contact details

When two initiatives are merged the contact details will persist no matter which initiative was updated last. If both initiatives had contact details we will use the most recent, but if the last updated initiative does not have any contact details we will defer to whatever was in the first initiative.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Ready for QA
Development

No branches or pull requests

1 participant