From: Jeff King Date: Tue, 21 Apr 2015 22:52:29 GMT Subject: Re: How do I resolve conflict after popping stash without adding the file to index? Message-ID: <20150421225228.GB26322@peff.net> In-Reply-To: <5536D099.1000103@yandex.ru> On Wed, Apr 22, 2015 at 01:35:05AM +0300, Dmitry Gutov wrote: > >But we seem to skip that safety valve when the content has been staged, > >which seems questionable to me (technically we are slightly better off > >than the protected case because "bbbbb" was written to a git blob > >object, so you can recover it. But it may be difficult to find the > >correct blob in the object database). > > Any suggestions how to restore that content in the index programmatically? > If it's non-trivial to do, maybe that is indeed a bug, and 'git stash pop' > should abort before creating the conflict. Right, I am suggesting that latter: that stash should abort if the index has modified entries. The abort for modified working tree files is done by git-merge, which can be selective about which entries will be changed (since it knows which ones need written). I haven't thought hard enough to say whether it should be doing the same for the index (i.e., whether this is a "merge" problem or a "stash" problem). -Peff