Strange effect merging empty file
- From
- Ralf Nyren <ralf.nyren@ericsson.com>
- Date
- Mar 21, 2012, 10:28 UTC
- Message-ID
- <4F69AD3C.4070203@ericsson.com>
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...
Reproduce as follows (should be cut-n-paste friendly):
# 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' git tag IMPORT_1.0 echo This file is no longer empty > empty.txt git commit -m 'Import 1.1' empty.txt git tag IMPORT_1.1
# Setup master branch git checkout master mkdir static touch static/.gitignore git add static/.gitignore git commit -m 'Static web content'
# Merge import 1.0 and remove the empty file git merge IMPORT_1.0 git rm empty.txt git commit -m 'Remove empty file' empty.txt
# Merge import 1.1 and watch empty.txt contents show up in .gitignore git merge IMPORT_1.1 cat static/.gitignore
regards, Ralf