coArchi rebase

Started by DaveVint, January 22, 2020, 12:35:28 PM

Previous topic - Next topic

DaveVint

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

Jean-Baptiste Sarrodie

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
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

DaveVint

#2
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

rchevallier

coArchi supports branches directly in the application (create, switch, merge)

DaveVint

Where is the merge? There is no option on the Collaboration menu?

DaveVint

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.

DaveVint

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

Jean-Baptiste Sarrodie

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
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

DaveVint

Thanks! I'll give it a go and update the documentation once I'm happy I fully understand.

Dave