Received: (at submit) by debbugs.gnu.org; 30 Nov 2017 13:54:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 30 08:54:59 2017
Received: from localhost ([127.0.0.1]:37658 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1eKPIk-0000bV-JD
for submit <at> debbugs.gnu.org; Thu, 30 Nov 2017 08:54:58 -0500
Received: from eggs.gnu.org ([208.118.235.92]:52914)
by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from
<4e01d929.AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2O@HIDDEN>)
id 1eKPIh-0000bI-8d
for submit <at> debbugs.gnu.org; Thu, 30 Nov 2017 08:54:51 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from
<4e01d929.AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2O@HIDDEN>)
id 1eKPIW-0006ZP-AB
for submit <at> debbugs.gnu.org; Thu, 30 Nov 2017 08:54:46 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_20,T_DKIM_INVALID
autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:37571)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from
<4e01d929.AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2O@HIDDEN>)
id 1eKPIW-0006ZH-67
for submit <at> debbugs.gnu.org; Thu, 30 Nov 2017 08:54:40 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:43880)
by lists.gnu.org with esmtp (Exim 4.71) (envelope-from
<4e01d929.AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2O@HIDDEN>)
id 1eKPIU-00055N-Km
for bug-diffutils@HIDDEN; Thu, 30 Nov 2017 08:54:39 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from
<4e01d929.AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2O@HIDDEN>)
id 1eKPIO-0006Vs-QD
for bug-diffutils@HIDDEN; Thu, 30 Nov 2017 08:54:38 -0500
Received: from o174.p8.mailjet.com ([87.253.233.174]:43971)
by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from
<4e01d929.AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2O@HIDDEN>)
id 1eKPIO-0006Uy-Ec
for bug-diffutils@HIDDEN; Thu, 30 Nov 2017 08:54:32 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; q=dns/txt;
d=viric.name; i=viric@HIDDEN; s=mailjet;
h=message-id:mime-version:from:to:subject:date:list-unsubscribe:x-accept-language:
x-csa-complaints:x-mj-mid:content-type:content-disposition:content-transfer-encoding;
bh=3tUhwmixU1g7WJXmhQnQVjBsmcN5IL8XsOgJNUK8om8=;
b=iZXm6KhTu8m8FZ9W4+LCz9Nh+a9vteY5Iam2MF/+RdG1QLqiAfloam6Z3
Emymua/LvGxv04dTUl4OrETP0S3BVG3TvZOPccbLsM/4dWhxOnCegXTt01a+
hiCt1lwmhvLoIGEIhU59iT+4ttrpHqy7JR8SmyVX2pQPU1Pb943vqk=
Message-Id: <4e01d929.AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2O@HIDDEN>
MIME-Version: 1.0
From: =?UTF-8?q?Llu=C3=ADs_Batlle_i_Rossell?= <viric@HIDDEN>
To: bug-diffutils@HIDDEN
Subject: 3-way merge, diff3 lacking features
Date: Thu, 30 Nov 2017 14:54:21 +0100
X-Accept-Language: ca, es, eo, ru, en, jbo, tokipona
X-CSA-Complaints: whitelist-complaints@HIDDEN
X-MJ-Mid: AEMASbSfssgAAAAAAAAAAGyqGxEAARpcY_sAAAAAAAeRJgBaIA2Opu1yhLSMRC60kfPLGkG6oAAHNTE
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
[fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)
Hello,
I've been using diff3 to do 3-way merges... and I failed to make it work
as I wanted, with properly bracketed conflicts. "git merge-file" works
much better. I wrote a summary where you can see how "git merge-file"
works better, only annotating the conflicting parts with full detail.
diff3 either brackets too much or it misses details.
Maybe I just fail to know how to operate diff3; please let me know.
Here goes the summary; "-----" lines means nonexistant. It is a screen ca=
pture
of vimdiff.
(web version: http://sprunge.us/hBjJ)
Source:
local.c base.c remote.c
#include <stdio.h> | #include <stdio.h> | #include <stdio.h=
>
------------------------| #include <stdlib.h> | -----------------=
-------
| |
int main() | int main() | int main()
{ | { | {
echo 2; | ------------------------| echo 1;
} | } | }
------------------------| ------------------------|
------------------------| ------------------------|
------------------------| ------------------------|
------------------------| ------------------------| #include <hola.h>
diff3 -m local.c base.c remote.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
#include <stdio.h>
<<<<<<< base.c
#include <stdlib.h>
=3D=3D=3D=3D=3D=3D=3D
>>>>>>> remote.c
int main()
{
<<<<<<< local.c
echo 2;
||||||| base.c
=3D=3D=3D=3D=3D=3D=3D
echo 1;
>>>>>>> remote.c
}
#include <hola.h>
------------------------------------------------------------
diff3 -3 -m local.c base.c remote.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
#include <stdio.h>
int main()
{
echo 2;
}
#include <hola.h>
------------------------------------------------------------
diff3 -x -m local.c base.c remote.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
#include <stdio.h>
int main()
{
echo 1;
}
------------------------------------------------------------
diff3 -X -m local.c base.c remote.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
#include <stdio.h>
int main()
{
<<<<<<< local.c
echo 2;
=3D=3D=3D=3D=3D=3D=3D
echo 1;
>>>>>>> remote.c
}
------------------------------------------------------------
git merge-file -p local.c base.c remote.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
#include <stdio.h>
int main()
{
<<<<<<< local.c
echo 2;
||||||| base.c
=3D=3D=3D=3D=3D=3D=3D
echo 1;
>>>>>>> remote.c
}
------------------------------------------------------------
man diff3
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-e, --ed
output ed script incorporating changes from OLDFILE to YOU=
RFILE
into MYFILE
-E, --show-overlap
like -e, but bracket conflicts
-3, --easy-only
like -e, but incorporate only nonoverlapping changes
-x, --overlap-only
like -e, but incorporate only overlapping changes
-X like -x, but bracket conflicts
-i append `w' and `q' commands to ed scripts
-m, --merge
output actual merged file, according to -A if no other op=
tions
are given
------------------------------------------------------------
Regards,
Llu=EDs.
--=20
(Escriu-me xifrat si saps PGP / Write ciphered if you know PGP)
PGP key 7CBD1DA5 - https://emailselfdefense.fsf.org/
Lluís Batlle i Rossell <viric@HIDDEN>:bug-diffutils@HIDDEN.
Full text available.bug-diffutils@HIDDEN:bug#29510; Package diffutils.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.