On Mon, Jul 21, 2008 at 05:21:19PM +0000, Miklos Vajna wrote: > On Mon, Jul 21, 2008 at 07:03:50PM +0200, Pierre Habouzit <madcoder@xxxxxxxxxx> wrote: > > This cause segfaults when replacing a directory with a submodule in a > > fast-forward. > > Thanks. > > > +test_expect_failure 'Replace a directory with a submodule, with a file conflict' ' > > + mkdir test && > > + cd test && > > + : create our repository with a sub/a file && > > + git init && > > + mkdir sub && echo a > sub/a && > > + git add sub && git commit -asm"initial repository" && > > + : save this state in a new branch && > > + git branch temp && > > + : then replace sub with it && > > + git rm -rf sub && > > + git submodule add -- "$(pwd)/../submodule/.git/" sub && > > + git commit -asm "replace sub/ with a submodule" && > > + : then try to update the "temp" branch && > > + git checkout temp && > > It seems this one fails. I guess this will be a problem in the low-level > merge code (read-tree -m) and not in builtin-merge. Yeah, I saw that afterwards, the error was misleading (as it tells about some "merge" issue), but when I tried to debug it, it was indeed in git checkout. The easiest way to reproduce, is to have a submodule that replace a file that was previously versionned (which is something that will happen in real life when you take out a subdirectory of a project to make it live into a submodule) and that you then git checkout HEAD~1. -- ·O· Pierre Habouzit ··O madcoder@xxxxxxxxxx OOO http://www.madism.org
Attachment:
pgp4M7sB6DAoz.pgp
Description: PGP signature