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

Re: [PATCH v2] checkout: add --no-widen for restoring files in sparse checkout mode

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 1, 2013, 05:12 UTC
Message-ID
<7vli92ltqp.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20130401044816.GI11704@elie.Belkin>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 20 quoted lines
> Nguyễn Thái Ngọc Duy wrote:
>
>> "git checkout -- <paths>" is usually used to restore all modified
>> files in <paths>. In sparse checkout mode, this command is overloaded
>> with another meaning: to add back all files in <paths> that are
>> excluded by sparse patterns.
>>
>> Add "--no-widen" option to do what normal mode does: restore all
>> modified files and nothing else.
>
> In an ideal world, I would like "git checkout --widen" to modify the
> .git/info/sparse-checkout file, to be able to do:
>
> 	git clone --sparse-checkout=Documentation git://repo.or.cz/git.git
> 	cd git
> 	git checkout --widen -- README COPYING INSTALL
>
> and hack on a tree with Documentation/, README, COPYING, and INSTALL
> present with no actual code to distract.  And "git checkout --no-widen"
> could be a way to ask to respect the existing sparse pattern.

Yeah, I think the above makes tons of sense, and --widen would be an ideal name for that optional behaviour. When you are limited by your original sparse pathspecs, that would be a way to explicitly widen the paths you interact with. In that sense, making it off by default would be a sensible thing to do. When you limited yourself to a subset of dir/, you do not want "git checkout dir/" to automatically widen it by accident.

> This patch isn't about tweaking the sparse-checkout pattern; instead,
> it's about how "git checkout" interacts with the skip-worktree bit.
> Maybe a good name would be --respect-skip-worktree?

Yeah, but when would one want to say --no-respect without widening the sparce pathspecs?

Previous: Jonathan NiederNext: Duy Nguyen
Message 12 of 17 in “Hard reset of a subdirectory in a sparse checkout setting”
  1. Kirill MüllerMar 22, 2013
  2. Duy NguyenMar 23, 2013
  3. Kirill MüllerMar 23, 2013
  4. checkout: add --sparse for restoring files in sparse checkout modeNguyễn Thái Ngọc Duy, Mar 24, 2013
  5. Eric SunshineMar 24, 2013
  6. Jonathan NiederMar 24, 2013
  7. Kirill MüllerMar 24, 2013
  8. Duy NguyenMar 25, 2013
  9. Jonathan NiederMar 25, 2013
  10. checkout: add --no-widen for restoring files in sparse checkout modeNguyễn Thái Ngọc Duy, Mar 30, 2013
  11. Jonathan NiederApr 1, 2013
  12. Junio C HamanoApr 1, 2013
  13. Duy NguyenApr 1, 2013
  14. Jonathan NiederApr 1, 2013
  15. checkout: add --ignore-skip-worktree-bits in sparse checkout modeNguyễn Thái Ngọc Duy, Apr 12, 2013
  16. Müller KirillMay 14, 2013
  17. Duy NguyenMay 14, 2013

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.