Re: Regression in git-subtree.sh, introduced in 2.20.1, after 315a84f9aa0e2e629b0680068646b0032518ebed
- Date: Mon, 31 Dec 2018 12:12:56 +0100
- From: Marc Balmer <marc@xxxxxxx>
- Subject: Re: Regression in git-subtree.sh, introduced in 2.20.1, after 315a84f9aa0e2e629b0680068646b0032518ebed
> Am 31.12.2018 um 11:51 schrieb Duy Nguyen <pclouds@xxxxxxxxx>:
> On Mon, Dec 31, 2018 at 5:44 PM Marc Balmer <marc@xxxxxxx> wrote:
>> One of the last three commits in git-subtree.sh introduced a regression leading to a segfault.
>> Here is the error message when I try to split out my i18n files:
>> $ git subtree split --prefix=i18n
>> cache for e39a2a0c6431773a5d831eb3cb7f1cd40d0da623 already exists!
>> (Lots of output omitted)
>> 436/627 (1819)  <- Stays at 436/ while the numbers in () and  increase, then segfaults:
>> /usr/libexec/git-core/git-subtree: line 751: 54693 Done eval "$grl"
>> 54694 Segmentation fault (core dumped) | while read rev parents; do
> Do you still have this core dump? Could you run it and see if it's
> "git" that crashed (and where) or "sh"?
It is /usr/bin/bash that segfaults. My guess is, that it runs out of memory (as described above, git-subtree enters an infinite loop untils it segafults).
>> process_split_commit "$rev" "$parents" 0;
>> Please note that this regression can not easily be reproduced, normally a subtree split just works.
>> Reverting the last three commits "fixes" the issue. So I kindly ask the last three commits to be reverted.
> Please provide the SHA-1 of the "good" commit you tested.
I reverted these three commits (actually the last three commits to contrib/subtree/git-subtree.sh):
And then it worked.