Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to resolve merge conflicts for binary driver #9846

Open
monoteba opened this issue May 22, 2020 · 5 comments
Open

Add option to resolve merge conflicts for binary driver #9846

monoteba opened this issue May 22, 2020 · 5 comments
Labels
bug Confirmed bugs or reports that are very likely to be bugs priority-3 Bugs that affect small number of users and/or relatively cosmetic in nature

Comments

@monoteba
Copy link

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.

Screen Shot 2020-05-22 at 10 48 54

Here I would like a scary-looking warning, and an option to choose which file to keep :) Just like with text files and LFS.

@steveward steveward added bug Confirmed bugs or reports that are very likely to be bugs priority-3 Bugs that affect small number of users and/or relatively cosmetic in nature and removed enhancement labels Jan 7, 2022
@steveward
Copy link
Member

Reported again in #13635.

@yasirroni
Copy link

Any solutions? Just simple button to choose between theirs and ours will really help a new contributor that didn't have familiarity with git.

@j5oYabi20ak26am
Copy link

Duplicate of #

@TomAuger
Copy link

Just adding my vote here. Working in Unreal, LFS, and there are many many binary files. The dialog is so confusing I didn't know what version was going to be kept and which discarded, and there is no choice for "Ours" or "Theirs". The solution described by the OP is exactly what is needed / expected here.

@SindreNygaard
Copy link

Yeah, this one is fairly annoying with LFS. It's working as expected when you merge local with remote, so you'd expect it to work the same way for branch merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Confirmed bugs or reports that are very likely to be bugs priority-3 Bugs that affect small number of users and/or relatively cosmetic in nature
Projects
None yet
Development

No branches or pull requests

6 participants