When there are multiple tests being created / modified and a process for creating a new branch for every task (very common when there is a test review process, so every branch represents a possible change that will be reviewed by team members before being merged into master), there is a problem with flow versions. This is the scenario:
- A creates branch A for creating a new test. It uses the flow X that is present on master. In its changes, A modifies flow X.
- B creates branch B which uses (but doesn't modify) flow X.
- A merges
- Now B has an old version of flow X. If B merges, then flow X will be overriden with the old version.
Currently there isn't an easy way that B can sync flow X with master, so when B merges it doesn't override the new version of flow X. This is a problem, specially when there are multiple people creating new branches and merging all the time.
Ideally there should be a way to sync flows in branches with the flow version in master.
An easy way to do it in the UI would be to be able to select the flow version in the trainer. Then:
- B realizes it's version is different from master's version.
- B selects newer version for flow X.
- B merges and version for flow X stays the same.
Other way would be to have a button in the flow page to set the version of a flow for current branch (e.g. simlar to "Save as latest" button but specific for every branch, to set the version of that flow for all the tests in that branch).