On 10/23/2019 1:00 PM, Torsten Bögershausen wrote:
> On Fri, Oct 11, 2019 at 09:33:11AM -0400, Derrick Stolee wrote:
>> Here is today's test coverage report. The usual report format is
>> available online [1], [2]. The report listed below is a new format
>> that group
From: Derrick Stolee
The previous commit includes a failing test for an issue around
fetch.writeCommitGraph and fetching in a repo with a submodule. Here, we
fix that bug and set the test to "test_expect_success".
The prolem arises with this set of commands when the remote repo
as I could for how I investigated the problem and why I think this is the
right solution. I added details that have come from the on-list discussion,
including what the submodule code is doing and why REACHABLE is no longer
used in commit-reach.c.
Thanks, -Stolee
Derrick Stolee (2):
t5510
From: Derrick Stolee
While dogfooding, Johannes found a bug in the fetch.writeCommitGraph
config behavior. His example initially happened during a clone with
--recurse-submodules, we found that this happens with the first fetch
after cloning a repository that contains a submodule:
$ git
On 10/22/2019 11:48 PM, Junio C Hamano wrote:
> Derrick Stolee writes:
>
>>> I'm slightly wary of changing the output of plumbing commands
>>> like this. If a script wants progress output it can already get
>>> it by passing --verbose. With this change a scr
On 10/22/2019 7:35 PM, SZEDER Gábor wrote:
> On Tue, Oct 22, 2019 at 05:45:54PM -0400, Jeff King wrote:
>> Puzzling...
>
> Submodules?
>
> $ cd ~/src/git/
> $ git quotelog 86cfd61e6b
> 86cfd61e6b (sha1dc: optionally use sha1collisiondetection as a submodule,
> 2017-07-01)
> $ git init
s try harder if `brew cask install perforce`
@@ -31,6 +46,7 @@
https://dev.azure.com/gitgitgadget/git/_build?definitionId=11&_a=summary
will be finished once the next Perforce upgrade comes around.
+Helped-by: SZEDER Gábor
Signed-off-by: Johannes Schindelin
Signed-off-by: Derrick Stolee
--
gitgitgadget
On 10/22/2019 12:51 PM, Konstantin Ryabitsev wrote:
> Hi, all:
>
> I've read the docs on commitGraph and it's not 100% clear to me if turning it
> on and generating commit graphs would be useful on the server-side. I know
> it's going to be enabled by default and automatically generated whenever
Derrick Stolee (1):
commit-graph: fix writing first commit-graph during fetch
commit-graph.c | 11 +++
commit-reach.c | 1 -
object.h | 3 ++-
3 files changed, 9 insertions(+), 6 deletions(-)
base-commit: d966095db01190a2196e31195ea6fa0c722aa732
Published-As:
https://github.com
From: Derrick Stolee
While dogfooding, Johannes found a bug in the fetch.writeCommitGraph
config behavior. While his example initially happened during a clone
with --recurse-submodules, we found that it is actually a problem with
the first fetch after a new clone and no existing commit-graph
(dropping some of the other aliases from this reply)
I ran a few of the performance tests against the Linux repository
using v2.22.0, v2.23.0, and the new v2.24.0-rc0. I thought it worth
pointing out that the drastic performance improvements are due to
turning on the commit-graph by default. I had
who stick
to the end will learn something valuable.
Signed-off-by: Derrick Stolee
---
Inspired by Emily's first contribution in the space [1], I now finished this
post that I've been working on here-and-there since Git 2.23.0. Now that 2.24.0
is imminent, the post is even more relevan
On 10/18/2019 8:20 PM, Emily Shaffer wrote:
> An overview of what Git object types mean and how they loosely translate
> into filesystem types users are already familiar with is a good start to
> making Git's internals less scary to users. This post is an interactive
> overview of the various types
On 10/21/2019 11:04 AM, Phillip Wood wrote:
> Hi Stolee
>
> On 21/10/2019 14:56, Derrick Stolee via GitGitGadget wrote:
>> From: Derrick Stolee
>>
>> The read-tree builtin has a --verbose option that signals to show
>> progress and other data while updating the
043722ddc1
next954a862665455a25876e1113bd865d43a26facce
master d966095db01190a2196e31195ea6fa0c722aa732
master@{1} origin/maint
Uncovered code in 'pu' not in 'jch'
Commits introducing uncovered code:
Derrick Stolee 2a53e0ba clone
From: Derrick Stolee
The 'git sparse-checkout set' subcommand takes a list of patterns
as arguments and writes them to the sparse-checkout file. Then, it
updates the working directory using 'git read-tree -mu HEAD'.
The 'set' subcommand will replace the entire c
From: Derrick Stolee
During the development of the sparse-checkout "cone mode" feature,
an incorrect placement of the initializer for "use_cone_patterns = 1"
caused warnings to show up when a .gitignore file was present with
non-cone-mode patterns. This was fixed in
From: Derrick Stolee
When someone wants to clone a large repository, but plans to work
using a sparse-checkout file, they either need to do a full
checkout first and then reduce the patterns they included, or
clone with --no-checkout, set up their patterns, and then run
a checkout manually. This
From: Derrick Stolee
Getting started with a sparse-checkout file can be daunting. Help
users start their sparse enlistment using 'git sparse-checkout init'.
This will set 'core.sparseCheckout=true' in their config, write
an initial set of patterns to the sparse-checkout fi
From: Derrick Stolee
When a large repository has many sparse-checkout patterns, the
process for updating the skip-worktree bits can take long enough
that a user gets confused why nothing is happening. Update the
clear_ce_flags() method to write progress.
Signed-off-by: Derrick Stolee
From: Derrick Stolee
If two 'git sparse-checkout set' subcommands are launched at the
same time, the behavior can be unexpected as they compete to write
the sparse-checkout file and update the working directory.
Take a lockfile around the writes to the sparse-checkout file. In
additio
From: Derrick Stolee
The read-tree builtin has a --verbose option that signals to show
progress and other data while updating the index. Update this to
be on by default when stderr is a terminal window.
This will help tools like 'git sparse-checkout' to automatically
benefit fro
From: Derrick Stolee
The sparse-checkout builtin used 'git read-tree -mu HEAD' to update the
skip-worktree bits in the index and to update the working directory.
This extra process is overly complex, and prone to failure. It also
requires that we write our changes to the sparse-che
From: Derrick Stolee
To make the cone pattern set easy to use, update the behavior of
'git sparse-checkout [init|set]'.
Add '--cone' flag to 'git sparse-checkout init' to set the config
option 'core.sparseCheckoutCone=true'.
When running 'git s
From: Derrick Stolee
The sparse-checkout feature can have quadratic performance as
the number of patterns and number of entries in the index grow.
If there are 1,000 patterns and 1,000,000 entries, this time can
be very significant.
Create a new Boolean config option, core.sparseCheckoutCone
From: Derrick Stolee
If a user provides folders A/ and A/B/ for inclusion in a cone-mode
sparse-checkout file, the parsing logic will notice that A/ appears
both as a "parent" type pattern and as a "recursive" type pattern.
This is unexpected and hence will complain via a w
From: Derrick Stolee
The sparse-checkout feature in "cone mode" can use the fact that
the recursive patterns are "connected" to the root via parent
patterns to decide if a directory is entirely contained in the
sparse-checkout or entirely removed.
In these cases, we can sk
From: Derrick Stolee
The 'git sparse-checkout set' subcommand takes a list of patterns
and places them in the sparse-checkout file. Then, it updates the
working directory to match those patterns. For a large list of
patterns, the command-line call can get very cumbersome.
Add a '
/docs/git-read-tree#_sparse_checkoutSparse-checkout
documentation in git-read-tree.
[2] https://stackoverflow.com/a/4909267/127088Is it possible to do a sparse
checkout without checking out the whole repository first?
[3] http://www.marcoyuen.com/articles/2016/06/07/git-sparse.htmlA blog post
of a user
From: Derrick Stolee
The parent and recursive patterns allowed by the "cone mode"
option in sparse-checkout are restrictive enough that we
can avoid using the regex parsing. Everything is based on
prefix matches, so we can use hashsets to store the prefixes
from the sparse-checkout
From: Derrick Stolee
The instructions for disabling a sparse-checkout to a full
working directory are complicated and non-intuitive. Add a
subcommand, 'git sparse-checkout disable', to perform those
steps for the user.
Signed-off-by: Derrick Stolee
---
Documentation/git-sparse-ch
From: Derrick Stolee
The sparse-checkout feature is mostly hidden to users, as its
only documentation is supplementary information in the docs for
'git read-tree'. In addition, users need to know how to edit the
.git/info/sparse-checkout file with the right patterns, then run
the a
On 10/16/2019 3:00 PM, Elijah Newren wrote:
> On Tue, Oct 15, 2019 at 6:56 AM Derrick Stolee via GitGitGadget
> wrote:
>> +DESCRIPTION
>> +---
>> +
>> +Initialize and modify the sparse-checkout configuration, which reduces
>> +the checkout to a s
On 10/17/2019 7:53 PM, Jon Simons wrote:
> On 10/15/19 6:55 AM, Derrick Stolee via GitGitGadget wrote:
>> V4 UPDATE: Rebased on latest master to include ew/hashmap and
>> ds/include-exclude in the base.
>
> I did a partial review of the v4 patches out of curiosity and
On 10/18/2019 4:40 PM, SZEDER Gábor wrote:
> On Fri, Oct 18, 2019 at 10:24:21PM +0200, SZEDER Gábor wrote:
>> On Tue, Oct 15, 2019 at 01:56:02PM +, Derrick Stolee via GitGitGadget
>> wrote:
>>> From: Derrick Stolee
>>>
>>> The sparse-checkout built
On 10/18/2019 11:31 AM, SZEDER Gábor wrote:
> On Tue, Oct 15, 2019 at 01:55:56PM +0000, Derrick Stolee via GitGitGadget
> wrote:
>> Running 'git read-tree -mu HEAD' on this file had the following
>> performance:
>>
>> core.sparseCheckout=false: 0.21
On 10/18/2019 12:07 PM, SZEDER Gábor wrote:
> On Tue, Oct 15, 2019 at 01:55:48PM +0000, Derrick Stolee via GitGitGadget
> wrote:
>> From: Derrick Stolee
>>
>> The sparse-checkout feature is mostly hidden to users, as its
>> only documentation is supplementary infor
=summary
+will be finished once the next Perforce upgrade comes around.
Signed-off-by: Johannes Schindelin
Signed-off-by: Derrick Stolee
@@ -35,7 +41,11 @@
test -z "$BREW_INSTALL_PACKAGES" ||
brew install $BREW_INSTALL_PACKAGES
On 10/16/2019 12:00 AM, Junio C Hamano wrote:
> "James Coglan via GitGitGadget" writes:
>
>> This effect is applied to both "normal" two-parent merges, and to
>> octopus merges. It also reduces the vertical space needed for pre-commit
>> lines, as the merge occupies one less column than usual.
>>
On 10/15/2019 7:47 PM, James Coglan via GitGitGadget wrote:
> diff --git a/t/t4215-log-skewed-merges.sh b/t/t4215-log-skewed-merges.sh
> new file mode 100755
> index 00..4582ba066a
> --- /dev/null
> +++ b/t/t4215-log-skewed-merges.sh
> @@ -0,0 +1,43 @@
> +#!/bin/sh
> +
> +test_description='
Running CI on Mac OS X in Azure Pipelines is currently broken due to a moved
homebrew package.
Thanks, -Stolee
Johannes Schindelin (1):
ci(osx): use new location of the `perforce` cask
ci/install-dependencies.sh | 1 +
1 file changed, 1 insertion(+)
base-commit: 108b97dc372828f0e72e56bbb40c
From: Derrick Stolee
Getting started with a sparse-checkout file can be daunting. Help
users start their sparse enlistment using 'git sparse-checkout init'.
This will set 'core.sparseCheckout=true' in their config, write
an initial set of patterns to the sparse-checkout fi
From: Derrick Stolee
The 'git sparse-checkout set' subcommand takes a list of patterns
and places them in the sparse-checkout file. Then, it updates the
working directory to match those patterns. For a large list of
patterns, the command-line call can get very cumbersome.
Add a '
From: Derrick Stolee
The sparse-checkout feature can have quadratic performance as
the number of patterns and number of entries in the index grow.
If there are 1,000 patterns and 1,000,000 entries, this time can
be very significant.
Create a new Boolean config option, core.sparseCheckoutCone
From: Derrick Stolee
The sparse-checkout feature is mostly hidden to users, as its
only documentation is supplementary information in the docs for
'git read-tree'. In addition, users need to know how to edit the
.git/info/sparse-checkout file with the right patterns, then run
the a
From: Derrick Stolee
The sparse-checkout builtin used 'git read-tree -mu HEAD' to update the
skip-worktree bits in the index and to update the working directory.
This extra process is overly complex, and prone to failure. It also
requires that we write our changes to the sparse-che
From: Derrick Stolee
If two 'git sparse-checkout set' subcommands are launched at the
same time, the behavior can be unexpected as they compete to write
the sparse-checkout file and update the working directory.
Take a lockfile around the writes to the sparse-checkout file. In
additio
From: Derrick Stolee
The parent and recursive patterns allowed by the "cone mode"
option in sparse-checkout are restrictive enough that we
can avoid using the regex parsing. Everything is based on
prefix matches, so we can use hashsets to store the prefixes
from the sparse-checkout
From: Derrick Stolee
The sparse-checkout feature in "cone mode" can use the fact that
the recursive patterns are "connected" to the root via parent
patterns to decide if a directory is entirely contained in the
sparse-checkout or entirely removed.
In these cases, we can sk
From: Derrick Stolee
The read-tree builtin has a --verbose option that signals to show
progress and other data while updating the index. Update this to
be on by default when stderr is a terminal window.
This will help tools like 'git sparse-checkout' to automatically
benefit fro
From: Derrick Stolee
During the development of the sparse-checkout "cone mode" feature,
an incorrect placement of the initializer for "use_cone_patterns = 1"
caused warnings to show up when a .gitignore file was present with
non-cone-mode patterns. This was fixed in
From: Derrick Stolee
To make the cone pattern set easy to use, update the behavior of
'git sparse-checkout [init|set]'.
Add '--cone' flag to 'git sparse-checkout init' to set the config
option 'core.sparseCheckoutCone=true'.
When running 'git s
From: Derrick Stolee
When a large repository has many sparse-checkout patterns, the
process for updating the skip-worktree bits can take long enough
that a user gets confused why nothing is happening. Update the
clear_ce_flags() method to write progress.
Signed-off-by: Derrick Stolee
From: Derrick Stolee
If a user provides folders A/ and A/B/ for inclusion in a cone-mode
sparse-checkout file, the parsing logic will notice that A/ appears
both as a "parent" type pattern and as a "recursive" type pattern.
This is unexpected and hence will complain via a w
From: Derrick Stolee
The instructions for disabling a sparse-checkout to a full
working directory are complicated and non-intuitive. Add a
subcommand, 'git sparse-checkout disable', to perform those
steps for the user.
Signed-off-by: Derrick Stolee
---
Documentation/git-sparse-ch
com/a/4909267/127088Is it possible to do a sparse
checkout without checking out the whole repository first?
[3] http://www.marcoyuen.com/articles/2016/06/07/git-sparse.htmlA blog post
of a user's extra "git-sparse" helper.
[4]
https://github.com/git/git/compare/fc5fd706ff733392053e6180086a4
From: Derrick Stolee
The 'git sparse-checkout set' subcommand takes a list of patterns
as arguments and writes them to the sparse-checkout file. Then, it
updates the working directory using 'git read-tree -mu HEAD'.
The 'set' subcommand will replace the entire c
From: Derrick Stolee
When someone wants to clone a large repository, but plans to work
using a sparse-checkout file, they either need to do a full
checkout first and then reduce the patterns they included, or
clone with --no-checkout, set up their patterns, and then run
a checkout manually. This
On 10/15/2019 3:11 AM, Eric Wong wrote:
> Junio C Hamano wrote:
>> Eric Wong writes:
>>
>>> I just took a brief look, but that appears to leak memory.
>>>
>>> "hashmap_free(var, 1)" should be replaced with
>>> "hashmap_free_entries(var, struct foo, member)"
>>>
>>> Only "hashmap_free(var, 0)" can
On 10/12/2019 6:59 PM, Elijah Newren wrote:
> On Mon, Oct 7, 2019 at 1:08 PM Derrick Stolee via GitGitGadget
> wrote:
>>
>> From: Derrick Stolee
>>
>> If two 'git sparse-checkout set' subcommands are launched at the
>> same time, the behavior can
On 10/12/2019 6:57 PM, Elijah Newren wrote:
> On Mon, Oct 7, 2019 at 1:08 PM Derrick Stolee via GitGitGadget
> wrote:
>>
>> From: Derrick Stolee
>>
>> The sparse-checkout builtin used 'git read-tree -mu HEAD' to update the
>> skip-worktree bits in
On 10/12/2019 6:16 PM, Elijah Newren wrote:
> On Mon, Oct 7, 2019 at 1:08 PM Derrick Stolee via GitGitGadget
> wrote:
>>
>> From: Derrick Stolee
>>
>> The read-tree builtin has a --verbose option that signals to show
>> progress and other data while updating t
On 10/11/2019 6:27 PM, Elijah Newren wrote:
> On Mon, Oct 7, 2019 at 1:08 PM Derrick Stolee via GitGitGadget
> wrote:
>>
>> From: Derrick Stolee
>>
>> The 'git sparse-checkout set' subcommand takes a list of patterns
>> and places them in the sparse-
On 10/11/2019 6:14 PM, Elijah Newren wrote:
> On Mon, Oct 7, 2019 at 1:08 PM Derrick Stolee via GitGitGadget
> wrote:
>> ++
>> +The init subcommand also enables the 'extensions.worktreeConfig' setting
>> +and sets the `core.sparseCheckout` setting in the workt
On 10/14/2019 11:38 AM, James Coglan wrote:
> On 13/10/2019 07:56, Jeff King wrote:
>> On Fri, Oct 11, 2019 at 06:04:21PM +0100, James Coglan wrote:
>>
I should have noticed in your earlier commits, but why don't you keep
the output inside the test suite? You can start with "cat >expect <
On 10/11/2019 12:50 PM, James Coglan wrote:
> On 10/10/2019 18:19, Derrick Stolee wrote:
>> On 10/10/2019 12:13 PM, James Coglan via GitGitGadget wrote:
>>> +++ b/t/t4215-log-skewed-merges.sh
>>> @@ -0,0 +1,42 @@
>>> +#!/bin/sh
>>> +
>>&g
Brian Downing 43fe901b compat: Add simplified merge sort implementation from
glibc
stable-qsort.c
43fe901b 59) msort_with_tmp(b, n, s, cmp, tmp);
43fe901b 60) free(tmp);
brian m. carlsonfabec2c5 builtin/receive-pack: switch to use
the_hash_algo
builtin/receive-pack.c
fabec2c5 433) the_h
On 10/11/2019 2:12 AM, Jeff King wrote:
> On Tue, Oct 08, 2019 at 11:37:39AM -0700, Jonathan Tan wrote:
>
>> When building the packfile to be sent, send_pack() is given a list of
>> remote refs to be used as exclusions. For each ref, it first checks if
>> the ref exists locally, and if it does, pa
On 10/10/2019 7:05 PM, Denton Liu wrote:
> Hi Dscho,
>
> On Thu, Oct 10, 2019 at 11:07:35PM +0200, Johannes Schindelin wrote:
>> Hi James,
>>
>> On Thu, 10 Oct 2019, James Coglan via GitGitGadget wrote:
>>
>>> From: James Coglan
>>>
>>> All the output functions in `graph.c` currently keep trac
On 10/10/2019 12:13 PM, James Coglan via GitGitGadget wrote:
> This series of patches are designed to improve the output of the log --graph
> command; their effect can be summed up in the following diagram:
>
> BeforeAfter
> ---
>
> *
>
On 10/10/2019 12:13 PM, James Coglan via GitGitGadget wrote:
> From: James Coglan
>
> Following the introduction of "left-skewed" merges, which are merges
> whose first parent fuses with another edge to its left, we have some
> more edge cases to deal with in the display of commit and post-merge
On 10/10/2019 12:13 PM, James Coglan via GitGitGadget wrote:
> From: James Coglan
>
> Currently, when we display a merge whose first parent is already present
> in a column to the left of the merge commit, we display the first parent
> as a veritcal pipe `|` in the GRAPH_POST_MERGE line and then
On 10/9/2019 7:44 PM, Jonathan Tan wrote:
> Instead, recompute ancestry if we ever need to reclaim memory.
I find this message lacking in important details:
1. Where do we recompute ancestry?
2. What are the performance implications of this change?
3. Why is it important that you construct a stac
On 10/8/2019 11:51 PM, wuzhouhui wrote:
>> -Original Messages-
>> From: "Junio C Hamano"
>> Sent Time: 2019-10-09 11:02:44 (Wednesday)
>> To: wuzhouhui
>> Cc: git@vger.kernel.org, cuif...@sugon.com
>> Subject: Re: How to find the commit that erase a change
>>
>> wuzhouhui writes:
>>
>>>
On 10/9/2019 2:13 AM, Uwe Brauer wrote:
>
>> On Tue, Sep 24, 2019 at 12:22:27PM +0200, Uwe Brauer wrote:
>
>> I hear you: I had a brief encounter with Mercurial not that long ago,
>> and there were several things that didn't work the way I expected (or
>> rather: the way I got u
On 10/6/2019 7:30 PM, Eric Wong wrote:
> v3 changes:
> - use __typeof__ to avoid invalid clang warning on uninitialized var
> - formatting fixes recommended by Stolee
> - add Reviewed-by for Stolee
> - add patch 20 to update docs to drop first member requirement
>
> Range-diff against v2:
I scann
On 10/8/2019 4:58 AM, Johannes Schindelin wrote:
> Hi Eric & Junio,
>
> On Sun, 6 Oct 2019, Eric Wong wrote:
>
>> v3 changes:
>> - use __typeof__ to avoid invalid clang warning on uninitialized var
>> - formatting fixes recommended by Stolee
>> - add Reviewed-by for Stolee
>> - add patch 20 to up
On 10/5/2019 5:11 PM, brian m. carlson wrote:
> This series consists mostly of additional test fixes for SHA-256, plus
> some test framework improvements and a new option to rev-parse.
>
> Up until now, most of the test changes have been directly related to
> fixing hash values or sizes in some wa
On 10/8/2019 8:33 AM, Bert Wesarg wrote:
> On Tue, Oct 8, 2019 at 2:21 PM Derrick Stolee wrote:
>>
>> On 10/5/2019 5:12 PM, brian m. carlson wrote:
>>> Adjust the test so that it computes variables for object IDs instead of
>>> using hard-coded hashes.
>&
On 10/5/2019 5:12 PM, brian m. carlson wrote:
> Adjust the test so that it computes variables for object IDs instead of
> using hard-coded hashes.
>
> Signed-off-by: brian m. carlson
> ---
> t/t4015-diff-whitespace.sh | 89 +++---
> 1 file changed, 53 insertions(+
On 10/5/2019 5:12 PM, brian m. carlson wrote:
> Adjust the test so that it computes variables for object IDs instead of
> using hard-coded hashes.
[snip]
> @@ -137,14 +141,17 @@ test_expect_success SYMLINKS 'setup symlinks with
> attributes' '
> '
>
> test_expect_success SYMLINKS 'symlinks d
On 10/5/2019 5:11 PM, brian m. carlson wrote:
> Add an option to print the object format used for input, output, or
> storage. This allows shell scripts to discover the hash algorithm in
> use.
Why put this in 'rev-parse'? Is a test helper not an option for this?
-Stolee
From: Derrick Stolee
If a user provides folders A/ and A/B/ for inclusion in a cone-mode
sparse-checkout file, the parsing logic will notice that A/ appears
both as a "parent" type pattern and as a "recursive" type pattern.
This is unexpected and hence will complain via a w
From: Derrick Stolee
If two 'git sparse-checkout set' subcommands are launched at the
same time, the behavior can be unexpected as they compete to write
the sparse-checkout file and update the working directory.
Take a lockfile around the writes to the sparse-checkout file. In
additio
From: Derrick Stolee
During the development of the sparse-checkout "cone mode" feature,
an incorrect placement of the initializer for "use_cone_patterns = 1"
caused warnings to show up when a .gitignore file was present with
non-cone-mode patterns. This was fixed in
From: Derrick Stolee
The sparse-checkout feature in "cone mode" can use the fact that
the recursive patterns are "connected" to the root via parent
patterns to decide if a directory is entirely contained in the
sparse-checkout or entirely removed.
In these cases, we can sk
From: Derrick Stolee
The sparse-checkout builtin used 'git read-tree -mu HEAD' to update the
skip-worktree bits in the index and to update the working directory.
This extra process is overly complex, and prone to failure. It also
requires that we write our changes to the sparse-che
From: Derrick Stolee
When a large repository has many sparse-checkout patterns, the
process for updating the skip-worktree bits can take long enough
that a user gets confused why nothing is happening. Update the
clear_ce_flags() method to write progress.
Signed-off-by: Derrick Stolee
From: Derrick Stolee
To make the cone pattern set easy to use, update the behavior of
'git sparse-checkout [init|set]'.
Add '--cone' flag to 'git sparse-checkout init' to set the config
option 'core.sparseCheckoutCone=true'.
When running 'git s
From: Derrick Stolee
The read-tree builtin has a --verbose option that signals to show
progress and other data while updating the index. Update this to
be on by default when stderr is a terminal window.
This will help tools like 'git sparse-checkout' to automatically
benefit fro
From: Derrick Stolee
The instructions for disabling a sparse-checkout to a full
working directory are complicated and non-intuitive. Add a
subcommand, 'git sparse-checkout disable', to perform those
steps for the user.
Signed-off-by: Derrick Stolee
---
Documentation/git-sparse-ch
From: Derrick Stolee
The parent and recursive patterns allowed by the "cone mode"
option in sparse-checkout are restrictive enough that we
can avoid using the regex parsing. Everything is based on
prefix matches, so we can use hashsets to store the prefixes
from the sparse-checkout
From: Derrick Stolee
The 'git sparse-checkout set' subcommand takes a list of patterns
and places them in the sparse-checkout file. Then, it updates the
working directory to match those patterns. For a large list of
patterns, the command-line call can get very cumbersome.
Add a '
sible to do a sparse
checkout without checking out the whole repository first?
[3] http://www.marcoyuen.com/articles/2016/06/07/git-sparse.htmlA blog post
of a user's extra "git-sparse" helper.
[4]
https://github.com/git/git/compare/fc5fd706ff733392053e6180086a4d7f96acc2af...01204f24c5349aa2fb0c474546d7689
From: Derrick Stolee
The sparse-checkout feature can have quadratic performance as
the number of patterns and number of entries in the index grow.
If there are 1,000 patterns and 1,000,000 entries, this time can
be very significant.
Create a new Boolean config option, core.sparseCheckoutCone
From: Derrick Stolee
The 'git sparse-checkout set' subcommand takes a list of patterns
as arguments and writes them to the sparse-checkout file. Then, it
updates the working directory using 'git read-tree -mu HEAD'.
The 'set' subcommand will replace the entire c
From: Derrick Stolee
When someone wants to clone a large repository, but plans to work
using a sparse-checkout file, they either need to do a full
checkout first and then reduce the patterns they included, or
clone with --no-checkout, set up their patterns, and then run
a checkout manually. This
From: Derrick Stolee
Getting started with a sparse-checkout file can be daunting. Help
users start their sparse enlistment using 'git sparse-checkout init'.
This will set 'core.sparseCheckout=true' in their config, write
an initial set of patterns to the sparse-checkout fi
From: Derrick Stolee
The sparse-checkout feature is mostly hidden to users, as its
only documentation is supplementary information in the docs for
'git read-tree'. In addition, users need to know how to edit the
.git/info/sparse-checkout file with the right patterns, then run
the a
On 10/6/2019 12:22 AM, Elijah Newren wrote:
> On Thu, Sep 19, 2019 at 1:45 PM Derrick Stolee via GitGitGadget
> wrote:
>>
>> From: Derrick Stolee
>>
>> The sparse-checkout feature can have quadratic performance as
>> the number of patterns and number of entrie
1 - 100 of 2158 matches
Mail list logo