Receiving error after manual conflict resolution using git

Started by mansley, May 30, 2019, 07:14:16 AM

Previous topic - Next topic

mansley

Hi all,

I have a large-ish model, around 50k items, and I needed to merge a pull-request with conflicts.  To do this, I separately cloned the git repository and followed the stash instructions to merge the pull request from a fork repository into a branch of my repository.  I resolved the conflict, commited and pushed.
Then I went back into Archi, switched to the branch that was just merged and refreshed the model.  In Archi, I then received an error dialog with the message "File is not directory or folder.xml does not exist", and when checking the application log, I saw the following: java.io.IOException: File is not directory or folder.xml does not exist

If anyone can provide any information that will help me resolve this, I'd be most grateful!

Thanks,
Michael

Phil Beauvoir

It's not easy to say what happened if you did these steps manually. Each sub-folder in the "model" folder in the git repository should contain a "folder.xml" file. Sounds like one or more of these has been deleted.
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

mansley

Thanks for the response Phil.  I checked the directory hiearchy and there was a folder.xml missing.  I recovered it and that resolved the issue.

Regards,
Michael

Jean-Baptiste Sarrodie

Hi,

Quote from: mansley on May 30, 2019, 07:14:16 AM
[...] I needed to merge a pull-request with conflicts.To do this [...] Then I went back into Archi [...]

Collaboration plugin does not work with pull request.

It seems that you merged using git commands, but you should never do this: a merge must be done from Archi itself because the plugin does several additional controls et corrects several known (and frequent) issues (related to the fact that merging a model is not as simple as merging a bunch of XML files).

Can you be more precise about what you did and with which tool ?

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.

mansley

Hi Jean-Baptiste,

I know that the Collaboration Plug-in doesn't deal with pull requests; my plan was to merge the pull request from a fork into a separate branch manually (well, in stash, actually, but I had to go full manual using the git command line because of the merge conflict), and then use Archi to merge the branch into the master.  This is basically what I achieved, and it seems successfully.

The issue that I ran into was that one of the changes from the pull request was a new folder in the model.  When I used git to manage the merge conflict (using the instructions from stash), I 'forgot' to add the folder.xml for the new folder to git (git add folder.xml).  Once I had done this after the hint from Phil's mail, everything worked as I expected it to work, at least, as far as I have been able to check.  It's possible there are some unidentified glitches in the model, but it seems to be fine so far, and there has been additional work on the model since then, which might have thrown up any unresolved issues.

The only tools at play here are Archi, Atlassian Stash, and git.  When Stash detects a pull request merge conflict, it provides a set of guideline instructions which should be executed in a respository clone to resolve the merge conflict, which I follow using the git command line.

If you would like any more details, please let me know, I'm happy to send.

BTW, the git integration is one of the kick-ass features of Archi, I'm really impressed with it.  The merging features are pretty good (especially considering just how difficult it is to conceptualise and display various situations), and while there are a few features that would enhance the current state of affairs, even now, it's really, really good!

Regards,
Michael