Author Topic: The model after merging is not published to repo until do another new commit  (Read 352 times)

xiaoqi

  • Active Member
  • ***
  • Posts: 81
  • Today is the Tomorrow we talked about Yesterday

Hi JB,

Refer to your feedback on https://forum.archimatetool.com/index.php?topic=971.msg5332#msg5332, I'm now creating in this separate topic for detail explain the situation we had met.


Problem brief:
If one made change / commit / publish, while the other made changes to same element, merging alert pop up correctly, but after chose either my or remote, the model's commit (both changes and merge) are not publish to remote repo, have to do another valid commit again then the aging commit can be pushed.


Through attached testing commits tracking list, we added one empty model with Workspace, created some sample elements and view.


With three times testing, we repeated the same scenario as:
  • I create the element, commit and publish
  • Jack refresh the model and ensure we two are synced
  • Both of us do change on same element: e.g. 1st time on business actor, I did rename (12:36AM), Jack made deleting (12:37AM), then Jack publish model first
  • When I then try commit, merge dialog pop up, I chose "theirs" so intend to accept changes from Jack
  • The correct commit entry created at 12:39AM, with "Refresh/Publish", and from my local view, the "Publish" is becoming gray, meaning all committed changes (merging decision) had been published
  • But that publish cannot be seen from online repository, which we use Azure DevOps' Repo
  • The only way I can have that 12:39AM commit go to online, was to make one more "any" change, e.g. "Add Collection Actor", then I can do Commit and Publish, you see that at 12:44AM, this publish was successfully go to online git repo, and together with the pending commit at 12:39AM
All of the historical changes are properly recorded after we can push to online finally, these 3 rounds testing (touch different type of elements) showed same behavior.


One thing we didn't test yet due to time constraint, is if my pending commit at 12:39AM is not pushed to online with the workaround, and during that period Jack made another change on the same element, what should be happen? My assumption is that will pop up another merging alert, but the logic would be unclear, since my previous merging result is not actually pushed to online repo yet.


Hope the information is OK for your investigation, let me know anything more I should perform some tests.


Thanks and nice day,
Xiaoqi / Jack

Jean-Baptiste Sarrodie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 729
  • Archi Evangelist and Contributor. Visionary.
    • About me...
Hi,

First: could you please confirm the versions of Archi and coArchi used. I've found the answer in the other thread.

Quote
When I then try commit, merge dialog pop up

Not possible on a commit. Merge happens only during Refresh or Publish action, so it must have been one or the other.

Note that if your goal is to share you work you must do a Publish: Refresh is only meant to pull new changes and merge them to yours, but does not push. Publish is a Refresh followed by a push. Both Refresh and Publish first check if you have saved and commited any new changes on your side.

So my assumption is that you did a Refresh instead of a Publish.

Quote
the "Publish" is becoming gray, meaning all committed changes (merging decision) had been published

No, Publish is gray only if the selected model is not one managed by collaboration plugin, or if no models are selected (selected model is the one owning the UI part having the focus). Note: selecting the model inside the collaboration workspace list doesn't work because this is not really the model but a shortlink to the cloned model, not the model itself.

Quote
The only way I can have that 12:39AM commit go to online, was to make one more "any" change, e.g. "Add Collection Actor", then I can do Commit and Publish, you see that at 12:44AM, this publish was successfully go to online git repo, and together with the pending commit at 12:39AM

Assuming that publication did not occured before (ie. only a commit or a refresh was done), you can simply run a Publish.

FWIW, for the avoidance of doubt, I've just tested the exact same scenario without any issue.

Regards,

JB
If you value and use Archi please consider making a donation! https://www.archimatetool.com/donate

xiaoqi

  • Active Member
  • ***
  • Posts: 81
  • Today is the Tomorrow we talked about Yesterday
thanks a lot JB, your comments are working, and we've now build up the way of working to handle the merging issue.

Nice day,
Xiaoqi