Re: Question about about a trivial merge conflict that git should resolve alone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Francis,

On Fri, 23 Oct 2015, Francis Moreau wrote:

> I have a simple merge conflict use case:
> 
> $ mkdir foo
> $ cd foo/
> $ git init
> $ echo line1 > a
> $ git add .
> $ git commit -q -m init
> $ echo line2 >>a
> $ git commit -a -q -m "add line2"
> $ git checkout -b foo HEAD~1
> $ git cherry-pick -x master
> $ echo line3 >>a
> $ git stage a
> $ git commit -q -m "add line3"
> $ git checkout master
> $ git merge foo
> $ git diff
> diff --cc a
> index c0d0fb4,83db48f..0000000
> --- a/a
> +++ b/a
> @@@ -1,2 -1,3 +1,6 @@@
> line1
> line2
> ++<<<<<<< HEAD
> ++=======
> + line3
> ++>>>>>>> foo
> 
> Why does git think there's a conflict here since the "line2" string
> was added in both branch by the same commit ?

This is intentional, because what actually happens is that Git figures out
that line2 & line3 were added in one branch, but only line2 in the other,
and it helpfully reduces the conflict to the difference between the two.

The rationale is that you do not know which version is correct: was line2
sufficient, or do you really also need line3?

Ciao,
Johannes
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]