Re: Strange effect merging empty file
- From
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
- Date
- Mar 21, 2012, 10:54 UTC
- Message-ID
- <4F69B375.5050205@in.waw.pl>
- In-Reply-To
- <4F69AD3C.4070203@ericsson.com>
On 03/21/2012 11:28 AM, Ralf Nyren wrote:
Show 10 quoted lines
> 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