From: Jonathan Nieder <jrnieder@gmail.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org, kirill.mueller@ivt.baug.ethz.ch,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v2] checkout: add --no-widen for restoring files in sparse checkout mode
Date: Sun, 31 Mar 2013 21:48:16 -0700 [thread overview]
Message-ID: <20130401044816.GI11704@elie.Belkin> (raw)
In-Reply-To: <1364637753-18785-1-git-send-email-pclouds@gmail.com>
Hi,
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.
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?
[...]
> --- a/Documentation/git-checkout.txt
> +++ b/Documentation/git-checkout.txt
> @@ -180,6 +180,17 @@ branch by running "git rm -rf ." from the top level of the working tree.
> Afterwards you will be ready to prepare your new files, repopulating the
> working tree, by copying them from elsewhere, extracting a tarball, etc.
>
> +--no-widen::
> + In sparse checkout mode, `git checkout -- <paths>` would
> + update all entries matched by <paths> regardless of sparse
> + patterns. This option only updates entries matched by <paths>
> + and sparse patterns.
> +
> +--widen::
> + Revert the effect of `--no-widen` if specified and make
> + `git checkout -- <paths>` update all entries matched by
> + <paths> regardless of sparse patterns.
Perhaps, combining the descriptions of the positive and negative forms:
--respect-skip-worktree::
By default, `git checkout -- <paths>` creates or updates files
matching <paths> regardless of the skip-worktree bit. This
option makes 'git checkout' skips entries with the
skip-worktree bit set, which can be useful in sparse checkout
mode.
I'm afraid I can't imagine when --no-respect-skip-worktree would be
useful. That can easily be a failure of my imagination, though.
What do you think?
Thanks,
Jonathan
next prev parent reply other threads:[~2013-04-01 4:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-22 10:28 Hard reset of a subdirectory in a sparse checkout setting Kirill Müller
2013-03-23 9:59 ` Duy Nguyen
2013-03-23 13:02 ` Kirill Müller
2013-03-24 5:06 ` [PATCH] checkout: add --sparse for restoring files in sparse checkout mode Nguyễn Thái Ngọc Duy
2013-03-24 6:12 ` Eric Sunshine
2013-03-24 18:17 ` Jonathan Nieder
2013-03-24 19:50 ` Kirill Müller
2013-03-25 1:34 ` Duy Nguyen
2013-03-25 1:57 ` Jonathan Nieder
2013-03-30 10:02 ` [PATCH v2] checkout: add --no-widen " Nguyễn Thái Ngọc Duy
2013-04-01 4:48 ` Jonathan Nieder [this message]
2013-04-01 5:12 ` Junio C Hamano
2013-04-01 5:13 ` Duy Nguyen
2013-04-01 6:18 ` Jonathan Nieder
2013-04-12 23:12 ` [PATCH v3] checkout: add --ignore-skip-worktree-bits " Nguyễn Thái Ngọc Duy
2013-05-14 9:27 ` Müller Kirill
2013-05-14 10:21 ` Duy Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130401044816.GI11704@elie.Belkin \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kirill.mueller@ivt.baug.ethz.ch \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.