Contents conflicts for binary files are confusing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned |
Bug Description
When bzr encounters a conflict while merging changes to a binary file, the working tree is modified as follows:
renamed:
foo.bin => foo.bin.OTHER
modified:
foo.bin.OTHER
unknown:
foo.bin.BASE
foo.bin.THIS
I believe this model is unnecessarily confusing. A common case is that a developer would like to resolve the conflict by selecting either THIS or OTHER as the merge result. Due to bzr's behavior, these two options turn out to be weirdly asymmetric:
Accept "OTHER":
bzr mv foo.bin.OTHER FOO.bin
Accept "THIS":
mv foo.bin.THIS foo.bin.OTHER; bzr mv foo.bin.OTHER foo.bin
or perhaps more cleverly but less clearly:
bzr revert foo.bin
Both of these solutions look oddly dissimilar from the analogous "Text conflict" case, where a single file-move can get the job done.
In practice, this behavior is a very real problem for users without strong bzr familiarity. I would like to see the conflict resolution model for binary files resemble that of text files.
tags: | added: check-for-breezy |
vila is working on a ui like this.