Archi Forum

Discussion Boards => coArchi => Topic started by: DaveVint on January 22, 2020, 12:35:28 PM

Title: coArchi rebase
Post by: DaveVint on January 22, 2020, 12:35:28 PM
Hi,

We're using the coArchi plugin alongside an Atlassian BitBucket server and Atlassian Jira instance for managing our tasking. The workflow is basically to create a Jira ticket associated with the model repository, create an associated git feature branch and then work on that branch using the coArchi commit/publish/refresh functions. Once we've finished the feature, we use the BitBucket pull request to merge the feature back into the master branch where future features are taken from.

So to effectively rebase my feature branch, I was about to use coArchi commit/publish my feature branch to the central server, then use BitBucket to rebase and bring in other updates from the master, finally use coArchi refresh the local model from the now updated server. I won't be using git commands directly on my local repository. Is that reasonable or will it all blow up in my face?!?!

Cheers,

Dave
Title: Re: coArchi rebase
Post by: Jean-Baptiste Sarrodie on January 22, 2020, 13:22:00 PM
Hi,

As written in several places, you absolutly shouldn't use git command to merge a branch managed by Archi. This means that you can't use a pull request. Even if Git is used, this is is a black box to the user.

FWIW, a simple git merge can easily lead to an inconsistent model that won't be recoverable. Archi adds an anticorruption layer to manage merge in a way which is suitable for a modelling tool.

So yes, it will all blow up in your face !!!

Regards,

JB
Title: Re: coArchi rebase
Post by: DaveVint on January 22, 2020, 14:21:55 PM
Hi JB,

Thanks - that'll teach me to only skim the documentation!

Is there any supported way or doing the kind of thing that I discuss with multiple branches, or is the coArchi functionality limited to dealing with everyone effectively working directly off the master branch?  The 'Merge Branch' documentation appears to be in the index of the coArchi wiki but not available.

Cheers,

Dave
Title: Re: coArchi rebase
Post by: rchevallier on January 22, 2020, 15:52:13 PM
coArchi supports branches directly in the application (create, switch, merge)
Title: Re: coArchi rebase
Post by: DaveVint on January 22, 2020, 16:17:19 PM
Where is the merge? There is no option on the Collaboration menu?
Title: Re: coArchi rebase
Post by: DaveVint on January 22, 2020, 16:24:50 PM
Quote from: DaveVint on January 22, 2020, 16:17:19 PM
Where is the merge? There is no option on the Collaboration menu?
Ah - right click in the branches view. Now I just need to see if what I've done so far has corrupted everything.
Title: Re: coArchi rebase
Post by: DaveVint on January 28, 2020, 15:15:44 PM
Apologies for continuing with this but the documentation just has placeholders for merging.

What's the difference between the 'Local' and 'Online' merge, and what do I need to be aware of for each? For example, is the branch automatically removed (optionally?). Can I merge from the 'master' to a modified branch to address any necessary tweaks prior to then merge from my (working) modified branch back to the master?

Thanks in advance.

Cheers,

Dave
Title: Re: coArchi rebase
Post by: Jean-Baptiste Sarrodie on January 28, 2020, 19:11:33 PM
Hi,

Quote from: DaveVint on January 28, 2020, 15:15:44 PM
Apologies for continuing with this but the documentation just has placeholders for merging.

No problem, I know documentation is missing on this (and other topics). BTW, help is welcomed and you can update wiki content :-)

Quote from: DaveVint on January 28, 2020, 15:15:44 PM
What's the difference between the 'Local' and 'Online' merge, and what do I need to be aware of for each? For example, is the branch automatically removed (optionally?). Can I merge from the 'master' to a modified branch to address any necessary tweaks prior to then merge from my (working) modified branch back to the master?

A local merge is a merge done only on your local workstation and does not involve the remote model (ie. remote git repository). An online merge first involves a refresh of your source and target branches (both of which could raise some conflicts to solves), then the merge is done (which could also raise some conflicts to solves), and last, the target branch is published.

When done (don't remember if in both cases or only for an online merge), you're asked if you want to delete source branch (the one having been merge into the target branch).

Source and target branches can be any branch, so yes, yo ucan merge from "master" into another branch.

Regards,

JB
Title: Re: coArchi rebase
Post by: DaveVint on January 29, 2020, 09:08:55 AM
Thanks! I'll give it a go and update the documentation once I'm happy I fully understand.

Dave