I haven't tried this on newer versions of git, but the release notes
for later releases don't mention merge-tree anywhere, so...
git version: 1.7.0
uname -a: Linux tor 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC
2010 x86_64 GNU/Linux
distro: Debian GNU/Linux squeeze/sid
Unpack the attached tree, cd into it and run:
git merge-tree common master other
I get the following result:
added in local
our 100644 d68dd4031d2ad5b7a3829ad7df6635e27a7daa22 t1.txt
Segmentation fault
The exit code:
139
BR / Klas
From: Tim Mazid <hidden> Date: 2016-06-15 22:49:55
Date: Thu, 28 Oct 2010 22:16:03 +0200
Subject: git merge-tree segfault
From: klas.lindberg@gmail.com
To: git@vger.kernel.org
I haven't tried this on newer versions of git, but the release notes
for later releases don't mention merge-tree anywhere, so...
git version: 1.7.0
uname -a: Linux tor 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC
2010 x86_64 GNU/Linux
distro: Debian GNU/Linux squeeze/sid
Unpack the attached tree, cd into it and run:
git merge-tree common master other
I get the following result:
added in local
our 100644 d68dd4031d2ad5b7a3829ad7df6635e27a7daa22 t1.txt
Segmentation fault
The exit code:
139
BR / Klas
Confirm this bug with arbitrary repository and arbitrary revs.
git version: 1.7.1
uname -a: Linux Imperial-SSD-Overlord 2.6.35-trunk-amd64 #1 SMP
Tue Aug 17 08:22:25 UTC 2010 x86_64 GNU/Linux
distro: Debian GNU/Linux unstable/experimental
Same exit code; 139.
Regards,
Tim.
On Thu, Oct 28, 2010 at 10:25 PM, Tim Mazid [off-list ref] wrote:
quoted
Date: Thu, 28 Oct 2010 22:16:03 +0200
Subject: git merge-tree segfault
From: klas.lindberg@gmail.com
To: git@vger.kernel.org
I haven't tried this on newer versions of git, but the release notes
for later releases don't mention merge-tree anywhere, so...
git version: 1.7.0
uname -a: Linux tor 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC
2010 x86_64 GNU/Linux
distro: Debian GNU/Linux squeeze/sid
Unpack the attached tree, cd into it and run:
git merge-tree common master other
I get the following result:
added in local
our 100644 d68dd4031d2ad5b7a3829ad7df6635e27a7daa22 t1.txt
Segmentation fault
The exit code:
139
BR / Klas
Confirm this bug with arbitrary repository and arbitrary revs.
git version: 1.7.1
uname -a: Linux Imperial-SSD-Overlord 2.6.35-trunk-amd64 #1 SMP
Tue Aug 17 08:22:25 UTC 2010 x86_64 GNU/Linux
distro: Debian GNU/Linux unstable/experimental
Same exit code; 139.
Regards,
Tim.
I made some more tests and discovered that the order of parameters to
merge-tree is important:
* Let the tree contain one commit.
* Let the tree contain branches "common", "this" and "that". All of
them point to the single commit.
* Check out "this" and add/commit a file "text". "text" does not
appear in "that".
* Running "git merge-tree common this that" triggers the bug.
* Running "git merge-tree common that this" does NOT trigger the bug.
BR / Klas
On Thu, Oct 28, 2010 at 20:16, Klas Lindberg [off-list ref] wrote:
I haven't tried this on newer versions of git, but the release notes
for later releases don't mention merge-tree anywhere, so...
Doesn't segfault for me. Probably since my version has this commit:
commit 21baa6e0c56d229866c02c4b42b8b53af648d853
Author: Will Palmer [off-list ref]
Date: Wed Jul 14 18:04:07 2010 +0100
merge-tree: fix where two branches share no changes
15b4f7a (merge-tree: use ll_merge() not xdl_merge(), 2010-01-16)
introduced a regression to merge-tree to cause it to segfault when merging
files which existed in one branch, but not in the other or in the
merge-base. This was caused by referencing entry->path at a time when
entry was known to be possibly-NULL.
To correct the problem, we save the path of the entry we came in with,
as the path should be the same among all the stages no matter which
sides are involved in the merge.
Signed-off-by: Will Palmer [off-list ref]
Signed-off-by: Junio C Hamano [off-list ref]
$ git tag --contains 21baa6e0c56d229866c02c4b42b8b53af648d853|grep ^v
v1.7.2
v1.7.2.1
v1.7.2.2
v1.7.2.3
v1.7.2.3.msysgit.0
v1.7.3
v1.7.3-rc0
v1.7.3-rc1
v1.7.3-rc2
v1.7.3.1
v1.7.3.1.msysgit.0
v1.7.3.2
v1.7.3.2.msysgit.0
I haven't tried this on newer versions of git, but the release notes
for later releases don't mention merge-tree anywhere, so...
git version: 1.7.0
uname -a: Linux tor 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC
2010 x86_64 GNU/Linux
distro: Debian GNU/Linux squeeze/sid
Unpack the attached tree, cd into it and run:
git merge-tree common master other
I get the following result:
added in local
our 100644 d68dd4031d2ad5b7a3829ad7df6635e27a7daa22 t1.txt
Segmentation fault
The exit code:
139
BR / Klas
Looks like this has been fixed by 21baa6e (merge-tree: fix where two
branches share no changes, 2010-07-14).
$ git merge-tree common master other
added in local
our 100644 d68dd4031d2ad5b7a3829ad7df6635e27a7daa22 t1.txt
$ echo $?
0
$ git --version
git version 1.7.3.2
-Mathias
Beautiful, and it's in Debian/squeeze too :-)
Thanks for finding the fixed version. I was just about to make a
kludge in my porcelain to work around this.
BR / Klas
On Sat, Oct 30, 2010 at 7:26 PM, Mathias Lafeldt [off-list ref] wrote:
On 10/28/2010 10:16 PM, Klas Lindberg wrote:
quoted
I haven't tried this on newer versions of git, but the release notes
for later releases don't mention merge-tree anywhere, so...
git version: 1.7.0
uname -a: Linux tor 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC
2010 x86_64 GNU/Linux
distro: Debian GNU/Linux squeeze/sid
Unpack the attached tree, cd into it and run:
git merge-tree common master other
I get the following result:
added in local
our 100644 d68dd4031d2ad5b7a3829ad7df6635e27a7daa22 t1.txt
Segmentation fault
The exit code:
139
BR / Klas
Looks like this has been fixed by 21baa6e (merge-tree: fix where two
branches share no changes, 2010-07-14).
$ git merge-tree common master other
added in local
our 100644 d68dd4031d2ad5b7a3829ad7df6635e27a7daa22 t1.txt
$ echo $?
0
$ git --version
git version 1.7.3.2
-Mathias