From: Zbigniew Jędrzejewski-Szmek Date: Wed, 21 Mar 2012 10:54:45 GMT Subject: Re: Strange effect merging empty file Message-ID: <4F69B375.5050205@in.waw.pl> In-Reply-To: <4F69AD3C.4070203@ericsson.com> On 03/21/2012 11:28 AM, Ralf Nyren wrote: > Hi, > > I found a "strange effect" when merging from a branch containing a > change of a previously empty file. The change is added to another empty > file in the current branch by the merge. > > I guess git sees it as a renamed file which is logical from a > content-perspective. > > Not sure what to do with this, I would not say it is a bug really... It does seem like a bug. An unrelated file is clobbered. > Reproduce as follows (should be cut-n-paste friendly): Here's a slightly simplified version that is actually cut-n-paste friendly after recent changes to always edit merge comments... # Start with a new repository git init echo Readme file >README git add README git commit -m 'Initial commit' # Setup the branch to be merged git checkout -b import touch empty.txt echo hello world >hello.txt git add empty.txt hello.txt git commit -m 'Import 1.0' echo This file is no longer empty >empty.txt git commit -m 'Import 1.1' empty.txt # Setup master branch git checkout master touch .gitignore git add .gitignore git commit -m 'Static web content' # Merge import 1.0 and remove the empty file git merge --no-edit import^ git rm empty.txt git commit -m 'Remove empty file' # Merge import 1.1 and watch empty.txt contents show up in .gitignore git merge --no-edit import cat .gitignore Regards, Zbyszek