Re: file deletion in index lost after checkout -b
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:45:19
Jing Xue [off-list ref] writes:
On Thu, Sep 04, 2008 at 11:12:26PM -0700, Junio C Hamano wrote:quoted
[jc: please redirect an answer _meant for you_ off to the list with M-F-T header]I changed mutt to not use M-F-T with the git list at all. Hope this one turns out better.
Thanks; I meant to say "please do not redirect", but you got what I wanted to say correctly.
quoted
quoted
The deletion of 2.txt appears lost during 'checkout -b foo', while the modification and addition were both brought over. Is it a bug?This behaviour is unchanged since early June 2005. http://thread.gmane.org/gmane.comp.version-control.git/4641/focus=4646 This is exactly the case marked as *0*, which both Linus and I said "it feels somewhat wrong but otherwise we cannot start from an empty index". We may want to do better this time around, though.I have since found out that: 1. file deletions in the working directory but not in index would not be forgotten. That makes "file deletions in index" case rather a corner one. 2. "checkout -b -m" would do the right thing.
Both correct. 1. does not involve case *0*; 2. does not do two-tree switch but internally uses three-tree switch and uses different codepath.