Re: checkout and rm
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:34
Jeff Jenkins [off-list ref] writes:
With stash in 1.5.3 the only reason I can think of to allow working directory changes to propagate is gone
This reasoning is utterly wrong.
We often begin exploring a solution while on one branch (perhaps
'master'), starting with small changes in the work tree, and
then realize that it needs to be worked on in a separate branch:
$ edit some work tree files
$ git branch new-topic
$ git checkout new-topic
Or maybe we would realize that the fix we started to work on
while on 'master' also applies to 'maint', and do the checkout
without creating a new branch:
$ edit some work tree files
$ git checkout maint
In either case, it is a _good_ thing that you can take your
local changes with you when you switch branches, without extra
stash/unstash sequence, and I do not think this is going to
change.
About the "lost remove", I think it is related to the fact that
we try to be usable in a sparsely checked out work tree, and
during a two-way merge (aka "switching branches") we consider a
missing file equivalent to an unmodified file and this might be
a bug in the logic to implement it there. I haven't checked
this conjecture and won't have time now to do the digging myself
(you're welcome to do the digging yourself in the meantime). It
may turn out to be a trivial change, but I dunno at this moment.