Hello
Multiple people from our team are contributing to API tests and we often encounter conflicts while merging our changes. I noticed that there are options either to keep source or destination but not both. I often end up forking a fresh collection and manually copy pasting my changes. I would like to know how others are handling such conflicts.
Could you expand a little on your current workflow in your team, please?
Are you raising PRs and Merging the changes once approved?
There are a few options available, which option are you choosing?
Hi @danny-dainton
Yes, we are creating PRs and merging them after approval. We are selecting the 1st option in your screenshot - ‘Merge changes’
Are changes from the destination always pulled before creating the PRs?
The first 2 options do keep both the source and destination elements. Just Merging the changes wouldn’t make any changes to the fork though so if you haven’t pulled any pending changes before merging, those would be updated in the fork.
- Merge changes - Merge the changes into the parent element. This doesn’t make any changes to the fork. You must have Editor access to the parent element.
- Merge changes and update source - Merge the changes into the parent element. Any differences in the parent element are also made to the fork. You must have Editor access to both the parent and forked elements.
- Merge changes and delete source - Merge the changes into the parent element. After the merge process is complete, Postman deletes the fork. You must have Editor access to both the parent and forked elements.
Yes. We always Pull Changes before creating/merging PRs. If there are conflicts when we pull changes, we see an option to either keep source or destination but not both.
@danny-dainton Before creating a PR, I tried to pull changes from the source and this is what I see for conflict resolution
For both collection variables and Post Response script sections, I see options to either keep source or destination but not both.
@danny-dainton Are you aware of an option that retains both source and destination in the conflict resolution process shared in the above screenshot?
In that context, there isn’t an option to keep both.
Wouldn’t keeping both changes mean that the file stays in a conflicted state though?
We face this issue when we add collection variables. We might want to retain all variables in both source and destination.
As that is not an option in the conflict resolution context, I would suggest raising a new feature request on our Github Issue Tracker.