Thread (1 message) 1 message, 1 author, 2016-06-15

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help