-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Description
Describe the feature or problem you’d like to solve
Add an option to resolve merge conflicts with "ours" and "theirs" for the binary merge driver merge=binary
Right now, the local version is automatically chosen without any way to choose the remote, except using the command line.
Proposed solution
I would expect the same behaviour as with merge=text
, where the user is given an option to choose the version to keep.
Based on the description of the binary merge driver, I also think this is reasonable to expect.
binary
Keep the version from your branch in the work tree, but leave the path in the conflicted state for the user to sort out.https://git-scm.com/docs/gitattributes#Documentation/gitattributes.txt-binary
Additional context
I'm primarily using Git and GitHub Desktop with Unity projects, and would like to resolve merge conflicts in this manner. I'm aware that the ideal setup may use a custom merge driver that uses Unity's YAML merge tool. However, this isn't flawless and does require individual configurations for every team member. My experience tells me, that less technical people (artists) are often confused about their files being corrupted, because of conflict markers was added to their files, hence the use of the *binary driver. Though right now, the remote version is discarded while the GUI tells the user that everything is OK, as shown in the screenshot below.
Here I would like a scary-looking warning, and an option to choose which file to keep :) Just like with text files and LFS.