ignored file can be deleted silently

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

ignored file can be deleted silently

From: Daniele Segato <hidden>
Date: 2016-06-15 22:51:09

Hi,

I noticed that when i put a file in the git ignore If i switch to a
branch where the file is present and versioned git delete my local
ignored file replacing it with the content of the branch I switched
this is done silently and the file is gone forever if I don't have a
copy somewhere

this is a stupid testcase:

$ git init
$ echo 'content I dont care about' > testcase.txt
$ git add testcase.txt
$ git commit -m "content I don't care about"
$ git checkout -b test
$ echo 'testcase.txt' > .gitignore
$ git rm testcase.txt
$ echo 'content I do care a lot' > testcase.txt
$ git add .gitignore
$ git commit -m "ignored testcase.txt"
$ cat testcase.txt
content I do care a lot
$ git checkout master
$ cat testcase.txt
$ git checkout test
$ ls testcase.txt
ls: testcase.txt: No such file or directory


This may sound stupid (put a content you care about in an ignored
file) but think about environment configuration files

it is common to initially commit them (wrong) then copy them to a
template file adding the original to ignore
especially if you are migrating from subversion where it is really
common practice to have local modified file you never commit (and I
think git really miss a *feature* like this)
they can be very big and with a lot of environment options...

if for some reason I had to switch to an old commit where the file is
still not ignored to do some test and I forgot that commit do not
ignore my little environment file I can lose it...

I think git should warn me in some way and, at least, give me a backup
of the file

what do you think about it?

regards,
Daniele Segato

Re: ignored file can be deleted silently

From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:51:09

On Thu, May 5, 2011 at 3:40 PM, Daniele Segato [off-list ref] wrote:
I noticed that when i put a file in the git ignore If i switch to a
branch where the file is present and versioned git delete my local
ignored file replacing it with the content of the branch I switched
this is done silently and the file is gone forever if I don't have a
copy somewhere
This is on purpose. Commit f8a9d42 (read-tree: further loosen "working
file will be lost" check. - 2006-12-04) allowed ignored files to be
overwritten. Perhaps we can have a config to tighten the check again?
-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help