threads / discuss / 47084

How to resolve mixture of modified and deleted conflicts easily in git?

Subject: How to resolve mixture of modified and deleted conflicts easily in git?

## tl;dr

2 messages between Oct 31, 2017 and Nov 4, 2017.

replies: 1people: 2as markdown or json

Robert Dailey· Oct 31, 2017, 16:31 UTC · lore

When doing a rebase, sometimes I will get `DU` and `UU` conflicts (locally deleted and locally modified, respectively). Furthermore, in some of these cases, I want to take "ours" for all conflicts, including ones where the local file is deleted. Ideally, it's just one command:

    $ git checkout --ours .
However, this fails for the locally deleted conflicts:
    error: path 'foo.xml' does not have our version

Even more annoyingly, the fact that these failures occur prevents the `UU` conflicts from being resolved. The whole operation fails atomically. I am not aware of a straightforward and uniform way to resolve conflicts with "ours" during a rebase when locally deleted files exist in the list of conflicts. What is the most elegant solution in this situation?

I'm running Git for Windows v2.13.1.
Philip Oakley· Nov 4, 2017, 19:10 UTC · re: Robert Dailey · lore

Re: How to resolve mixture of modified and deleted conflicts easily in git?

From: "Robert Dailey" <rcdailey.lists@gmail.com>
Show 20 quoted lines
> When doing a rebase, sometimes I will get `DU` and `UU` conflicts
> (locally deleted and locally modified, respectively). Furthermore, in
> some of these cases, I want to take "ours" for all conflicts,
> including ones where the local file is deleted. Ideally, it's just one
> command:
>
>    $ git checkout --ours .
>
> However, this fails for the locally deleted conflicts:
>
>    error: path 'foo.xml' does not have our version
>
> Even more annoyingly, the fact that these failures occur prevents the
> `UU` conflicts from being resolved. The whole operation fails
> atomically. I am not aware of a straightforward and uniform way to
> resolve conflicts with "ours" during a rebase when locally deleted
> files exist in the list of conflicts. What is the most elegant
> solution in this situation?
>
> I'm running Git for Windows v2.13.1.
Can you give the example commands and response?

In particular note the comment in the rebase command that the ours/theirs viewpoints are swapped, so you may find your stated "ours" should be (mid rebase) seen as "theirs". -- Philip

← back to recent threads