# [PATCH 0/2] sparse-checkout: add completion and --cone to docs

6 messages from 2020-01-23 to 2020-01-24. Participants: Matheus Tavares, Derrick Stolee, Martin Ågren, Matheus Tavares Bernardino.
Thread: https://gitlist.dev/t/52685

## Matheus Tavares, 2020-01-23 19:00

Subject: [PATCH 0/2] sparse-checkout: add completion and --cone to docs
Message-ID: <cover.1579805218.git.matheus.bernardino@usp.br>
URL: https://gitlist.dev/e/cover.1579805218.git.matheus.bernardino%40usp.br

```
This adds completion for the sparse-checkout command and mention the
init's --cone option in the doc file. I know this command might change
in the near future, so I'm not sure whether these changes are worth
right now; but since they were simple to do, I decided to send them and
ask for your comments.

travis build: https://travis-ci.org/matheustavares/git/builds/641012914

Matheus Tavares (2):
  doc: sparse-checkout: mention --cone option
  completion: add support for sparse-checkout

 Documentation/git-sparse-checkout.txt  |  4 ++++
 contrib/completion/git-completion.bash | 21 +++++++++++++++++++++
 2 files changed, 25 insertions(+)

-- 
2.25.0


```

## Matheus Tavares, 2020-01-23 19:00

Subject: [PATCH 1/2] doc: sparse-checkout: mention --cone option
Message-ID: <6ec39af930871496dd7694ea27eeca69d5d60c96.1579805218.git.matheus.bernardino@usp.br>
URL: https://gitlist.dev/e/6ec39af930871496dd7694ea27eeca69d5d60c96.1579805218.git.matheus.bernardino%40usp.br
In-Reply-To: <cover.1579805218.git.matheus.bernardino@usp.br>

```
In af09ce2 ("sparse-checkout: init and set in cone mode", 2019-11-21),
the '--cone' option was added to 'git sparse-checkout init'. Add this
option to the respective doc file.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
---
 Documentation/git-sparse-checkout.txt | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/git-sparse-checkout.txt b/Documentation/git-sparse-checkout.txt
index 974ade2238..542af98520 100644
--- a/Documentation/git-sparse-checkout.txt
+++ b/Documentation/git-sparse-checkout.txt
@@ -41,6 +41,10 @@ COMMANDS
 To avoid interfering with other worktrees, it first enables the
 `extensions.worktreeConfig` setting and makes sure to set the
 `core.sparseCheckout` setting in the worktree-specific config file.
++
+When `--cone` is provided the `core.sparseCheckoutCone` setting is also
+set, allowing for better performance with a limited set of patterns
+(see 'CONE PATTERN SET' bellow).
 
 'set'::
 	Write a set of patterns to the sparse-checkout file, as given as
-- 
2.25.0


```

## Matheus Tavares, 2020-01-23 19:00

Subject: [PATCH 2/2] completion: add support for sparse-checkout
Message-ID: <79f6aa1411c1bba3ee2c55a7532e78ffccb1edea.1579805218.git.matheus.bernardino@usp.br>
URL: https://gitlist.dev/e/79f6aa1411c1bba3ee2c55a7532e78ffccb1edea.1579805218.git.matheus.bernardino%40usp.br
In-Reply-To: <cover.1579805218.git.matheus.bernardino@usp.br>

```
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
---
 contrib/completion/git-completion.bash | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index e4d9ff4a95..cb1f1b5e20 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2718,6 +2718,27 @@ _git_show_branch ()
 	__git_complete_revlist
 }
 
+_git_sparse_checkout ()
+{
+	local subcommands="list init set disable"
+	local subcommand="$(__git_find_on_cmdline "$subcommands")"
+	if [ -z "$subcommand" ]; then
+		__gitcomp "$subcommands"
+		return
+	fi
+
+	case "$subcommand,$cur" in
+	init,--*)
+		__gitcomp "--cone"
+		;;
+	set,--*)
+		__gitcomp "--stdin"
+		;;
+	*)
+		;;
+	esac
+}
+
 _git_stash ()
 {
 	local save_opts='--all --keep-index --no-keep-index --quiet --patch --include-untracked'
-- 
2.25.0


```

## Derrick Stolee, 2020-01-23 20:02

Subject: Re: [PATCH 0/2] sparse-checkout: add completion and --cone to docs
Message-ID: <9fe5920f-1b5f-977c-cfca-33e52771f521@gmail.com>
URL: https://gitlist.dev/e/9fe5920f-1b5f-977c-cfca-33e52771f521%40gmail.com
In-Reply-To: <cover.1579805218.git.matheus.bernardino@usp.br>

```
On 1/23/2020 2:00 PM, Matheus Tavares wrote:
> This adds completion for the sparse-checkout command and mention the
> init's --cone option in the doc file. I know this command might change
> in the near future, so I'm not sure whether these changes are worth
> right now; but since they were simple to do, I decided to send them and
> ask for your comments.
> 
> travis build: https://travis-ci.org/matheustavares/git/builds/641012914
> 
> Matheus Tavares (2):
>   doc: sparse-checkout: mention --cone option
>   completion: add support for sparse-checkout

Thanks for catching these. They are both good patches.

-Stolee


```

## Martin Ågren, 2020-01-23 20:28

Subject: Re: [PATCH 1/2] doc: sparse-checkout: mention --cone option
Message-ID: <CAN0heSq3gvZeUXnqzbjFY-1axmFXEJDO4oRp9abRO8TuxJQuDw@mail.gmail.com>
URL: https://gitlist.dev/e/CAN0heSq3gvZeUXnqzbjFY-1axmFXEJDO4oRp9abRO8TuxJQuDw%40mail.gmail.com
In-Reply-To: <6ec39af930871496dd7694ea27eeca69d5d60c96.1579805218.git.matheus.bernardino@usp.br>

```
Hi Matheus,

On Thu, 23 Jan 2020 at 20:02, Matheus Tavares <matheus.bernardino@usp.br> wrote:
> In af09ce2 ("sparse-checkout: init and set in cone mode", 2019-11-21),
> the '--cone' option was added to 'git sparse-checkout init'. Add this
> option to the respective doc file.

Nit: s/respective/corresponding/

"Respective" sounds -- to me at least -- like you're tweaking two
different files. Maybe that's just me.

>  To avoid interfering with other worktrees, it first enables the
>  `extensions.worktreeConfig` setting and makes sure to set the
>  `core.sparseCheckout` setting in the worktree-specific config file.
> ++
> +When `--cone` is provided the `core.sparseCheckoutCone` setting is also

Nit: maybe add a comma after "provided". Without it, I could see someone
false-starting the parsing as "provided with the" or even "provided to
the". Those readings obviously don't work out in the end, but with an
extra comma, I think it's easier to just naturally read this the way
it's intended.

> +set, allowing for better performance with a limited set of patterns
> +(see 'CONE PATTERN SET' bellow).

s/bellow/below/

Martin

```

## Matheus Tavares Bernardino, 2020-01-24 01:51

Subject: Re: [PATCH 1/2] doc: sparse-checkout: mention --cone option
Message-ID: <CAHd-oW4NM_ZdCeW_HBZxcZrd47v3uMn96t+nHLZt3Pe3R6vfWw@mail.gmail.com>
URL: https://gitlist.dev/e/CAHd-oW4NM_ZdCeW_HBZxcZrd47v3uMn96t%2BnHLZt3Pe3R6vfWw%40mail.gmail.com
In-Reply-To: <CAN0heSq3gvZeUXnqzbjFY-1axmFXEJDO4oRp9abRO8TuxJQuDw@mail.gmail.com>

```
Hi, Martin

On Thu, Jan 23, 2020 at 5:28 PM Martin Ågren <martin.agren@gmail.com> wrote:
>
> Hi Matheus,
>
> On Thu, 23 Jan 2020 at 20:02, Matheus Tavares <matheus.bernardino@usp.br> wrote:
> > In af09ce2 ("sparse-checkout: init and set in cone mode", 2019-11-21),
> > the '--cone' option was added to 'git sparse-checkout init'. Add this
> > option to the respective doc file.
>
> Nit: s/respective/corresponding/
>
> "Respective" sounds -- to me at least -- like you're tweaking two
> different files. Maybe that's just me.
>
> >  To avoid interfering with other worktrees, it first enables the
> >  `extensions.worktreeConfig` setting and makes sure to set the
> >  `core.sparseCheckout` setting in the worktree-specific config file.
> > ++
> > +When `--cone` is provided the `core.sparseCheckoutCone` setting is also
>
> Nit: maybe add a comma after "provided". Without it, I could see someone
> false-starting the parsing as "provided with the" or even "provided to
> the". Those readings obviously don't work out in the end, but with an
> extra comma, I think it's easier to just naturally read this the way
> it's intended.
>
> > +set, allowing for better performance with a limited set of patterns
> > +(see 'CONE PATTERN SET' bellow).
>
> s/bellow/below/

Thanks for the comments. Junio has already addressed them[1] when
picking up the patch :)

[1]: https://github.com/gitster/git/commit/a402723e488c66bd12cf674c332f185fee1d2347

```
