git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: checkout and rm

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 7, 2007, 22:00 UTC
Message-ID
<7v4pi62l25.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<4F2CF06E-CCC6-4597-A1BF-663BC36B9A94@ShopWiki.com>
Jeff Jenkins <Jeff@ShopWiki.com> 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.

Previous: Jeff Jenkins
Message 2 of 2 in “checkout and rm”
  1. Jeff JenkinsSep 7, 2007
  2. Junio C HamanoSep 7, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.