Issue with reappearing deleted relationships after merges in Archi

Started by CD, June 12, 2025, 08:29:02 AM

Previous topic - Next topic

CD

Hi everyone,

We're facing a rather frustrating issue with Archi in our organization, and I'm wondering if anyone else has encountered something similar.

We're a team of several dozen architects, and we use Archi with a Git repository structured as follows:

- A master branch that contains only finalized and validated designs.
- Project-specific branches, where each architect works on their own designs.

Recently, we undertook a major cleanup of the master branch to remove duplicate elements and relationships that had accumulated over the years. The element cleanup went smoothly, but we're having trouble with the relationships.

The issue:
When we delete relationships in master, they reappear after merging a project branch back into master. After some investigation, we believe we've identified the cause.

Whenever two elements are nested within a view, all relationships between those two elements are considered modified, even if they are not visible in the view. As a result, when we merge a branch into master, these previously deleted relationships are reintroduced.

Has anyone else experienced this behavior?

Thanks in advance for your insights and suggestions.

Regards,
DC

Phil Beauvoir

Quote from: CD on June 12, 2025, 08:29:02 AMWhenever two elements are nested within a view, all relationships between those two elements are considered modified, even if they are not visible in the view. As a result, when we merge a branch into master, these previously deleted relationships are reintroduced.

Hi,

I'm not sure what you mean by this. Do you mean that someone in the team is re-creating the relationships by nesting? How are you merging, are you resolving a merge conflict?

Phil
If you value and use Archi, please consider making a donation.
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Jean-Baptiste Sarrodie

Hi,

Quote from: CD on June 12, 2025, 08:29:02 AMHas anyone else experienced this behavior?

Yes, and that is the expected behavior...

When you remove some elements or relationships from the master branch, they are still in the other branch (unless you clean them too), when merging back a branch into master, the git merge process will remove these concepts from the model, but because some new or updated views reference these concepts, the model is no more integral. An anticorruption layer integrated into coArchi will then fix the model by restoring back the needed concepts.

The only way to really remove duplicates (or unwanted elements) is to do the exact same operation on all branches at the same time so that all views in all branches get updated, or wait for a moment when all branches will have been merged.

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.