When a test or flow has changed on master after you edited it on a branch, you can now use the Merge with assistant option to reconcile the two versions. Previously, merging meant reconciling the two versions by hand, which could be tedious for longer tests. Merge with assistant takes on the work of rebuilding the test from the changes on both master and your branch, and only merges once each reconciled test passes on your branch.
How it works
When you merge with the mabl assistant, a session starts up and mabl works through tests and flows that conflict with master one at a time. It handles flows before tests, because a test can use a flow.
For each conflicting test or flow, the assistant:
- Compares what changed on master and what changed on your branch since the branch was created.
- Adds master’s changes to the version on your branch. Where both sides changed the same step, the assistant uses what it knows about the test’s purpose and each edit to decide what to keep.
- Re-reads the updated version to confirm the changes saved.
- Runs the test on the branch. For a flow, the assistant runs a test that uses the flow.
Once every conflicting test and flow is reconciled and passing, the assistant merges the branch into master. If the assistant can’t reconcile a test or flow, or the test doesn’t pass, it stops and reports which one needs attention. Nothing merges, and master stays as it was.
The assistant edits tests and flows on your branch and merges into master, so the merge needs an Editor role or higher. The assistant only merges into master.
Try it out
Web app
- Open the branch and click Merge branch.
- If the branch conflicts with master, the dialog lists the diverged tests and flows. Click Merge with assistant.
- Follow the link in the dialog to watch the session.
Click Merge anyway instead if you want the branch version to replace master's newer changes, as before.
mabl CLI
Run the following command with 1.27.24 or later:
mabl branches merge --from {branch} --agentic
A clean branch merges immediately. For a conflicted branch, the command prints a session ID. Track it with mabl branches merge-status --from {branch} --session-id {session-id} until branch_merged is true. Run the merge only once per branch.
mabl MCP
Ask your AI client to merge the branch and let the mabl assistant resolve any conflicts. For example:
Merge my mabl branch promo-update into master. If it conflicts, have the mabl assistant reconcile it.
Your AI client asks before it starts a merge session, because the assistant edits your branch and merges into master. Without your go-ahead, a conflicted branch is refused and master is left untouched.