Jonathan Nieder <jrnie...@gmail.com> writes:
> 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?
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html