Archi Forum

Discussion Boards => coArchi => Topic started by: mansley on May 30, 2019, 06:14:16 AM

Title: Receiving error after manual conflict resolution using git
Post by: mansley on May 30, 2019, 06:14:16 AM
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
Title: Re: Receiving error after manual conflict resolution using git
Post by: Phil Beauvoir on May 30, 2019, 08:20:57 AM
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.
Title: Re: Receiving error after manual conflict resolution using git
Post by: mansley on May 30, 2019, 11:53:33 AM
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
Title: Re: Receiving error after manual conflict resolution using git
Post by: Jean-Baptiste Sarrodie on May 30, 2019, 19:54:43 PM
Hi,

Quote from: mansley on May 30, 2019, 06: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
Title: Re: Receiving error after manual conflict resolution using git
Post by: mansley on June 04, 2019, 09:47:38 AM
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