On Wed, Jan 25, 2017 at 3:57 PM, Hilco Wijbenga <hilco.wijbenga@xxxxxxxxx> wrote: > On 25 January 2017 at 15:46, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> Jacob Keller <jacob.keller@xxxxxxxxx> writes: >> >>>> Mmm, that sounds complex. The "my-code.x" is made up so I could keep >>>> my example as simple as possible. In reality, it's Maven's POM files >>>> (pom.xml). >>>> >>>> So there is no setting for any of this? There is no way to switch off >>>> auto merging for certain files? >>> >>> Not really sure, but a quick google search revealed >>> https://github.com/ralfth/pom-merge-driver >>> >>> Maybe that will help you? >> >> Its readme seems to indicate that it is either solving a different >> problem, or solving the same problem with the opposite goal in mind, >> in that its goal seems to be to forcibly resolve what textually does >> not resolve cleanly by choosing sides with an arbitrary policy, so >> that humans do not have to get involved when they ordinarily would >> have to. >> >> Hilco's goal sounded to me the opposite---to force conflict even >> when the two histories did what textually does resolve cleanly and >> require humans to get involved even when they ordinarily wouldn't >> have to. > > Yes, unfortunately, you are correct. This seems to do the exact > opposite of what I want. > > Before I start learning about custom merge drivers, is what I want > even possible? If yes, would you happen to know some good examples of > (custom) merge drivers? (Python, Ruby, Java are all okay.) Setting the merge driver to "unset" will do what you want, but it would leave the current branch as the tentative answer and doesn't actually make it easy to resolve properly. That would only require putting "pom.xml merge=unset" in the .gitattributes file. That might be what you want, but it doesn't actually try to update the file during the merge so you'd have to hand-fix it yourself. Thanks, Jake