[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git
Subject:    Re: git stash save -u deletes ignored files without stashing them
From:       Kevin Locke <kevin () kevinlocke ! name>
Date:       2016-02-04 7:40:11
Message-ID: 20160204074011.GA25382 () kevinolos
[Download RAW message or body]

On Sun, 2015-12-13 at 7:51, Michael Brade wrote:
> Now node_modules will be deleted even though it was ignored at the time
> of the "git stash save -u". Apparently .gitignore is reverted first,
> then the cleanup is done taking the new state of .gitignore into account
> where node_modules is now untracked and not ignored anymore, thus
> deleting it.

Another effect of this, although obviously less severe, is that it can
create a stash which can not be applied without additional work:

git init
echo test.txt > .gitignore
git add .gitignore
git commit -m init
echo stuff > test.txt
echo > .gitignore
git stash -u

At this point the stash contains test.txt (untracked) and the changes
to .gitignore which unignore the file, but test.txt is also left in
the working directory.  Attempting to apply the stash produces the
following result:

$ git stash apply
test.txt already exists, no checkout
Could not restore untracked files from stash

So the user must remove it themselves, which can be confusing since
the file is not listed in `git stash show`, which doesn't include
untracked files.

Kevin

P.S.  Please CC me on replies.  Thanks!
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic