Re: [PATCH 03/27] t1092: compare sparse-checkout to sparse-index
- From
Elijah Newren <newren@gmail.com>
- Date
- Jan 27, 2021, 03:08 UTC
- Message-ID
- <CABPp-BHKva46dZ7zqhy9Ey=cKfMpBNie-2h=yq6URa40WhGDjw@mail.gmail.com>
- In-Reply-To
- <b3696c823a24547be391c4ee35b99ba76cce42af.1611596534.git.gitgitgadget@gmail.com>
On Mon, Jan 25, 2021 at 9:42 AM Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com> wrote:
Show 22 quoted lines
> > From: Derrick Stolee <dstolee@microsoft.com> > > Add a new 'sparse-index' repo alongside the 'full-checkout' and > 'sparse-checkout' repos in t1092-sparse-checkout-compatibility.sh. Also > add run_on_sparse and test_sparse_match helpers. These helpers will be > used when the sparse index is implemented. > > Signed-off-by: Derrick Stolee <dstolee@microsoft.com> > --- > t/t1092-sparse-checkout-compatibility.sh | 29 ++++++++++++++++++++---- > 1 file changed, 25 insertions(+), 4 deletions(-) > > diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh > index 8cd3e5a8d22..8876eae0fe3 100755 > --- a/t/t1092-sparse-checkout-compatibility.sh > +++ b/t/t1092-sparse-checkout-compatibility.sh > @@ -7,6 +7,7 @@ test_description='compare full workdir to sparse workdir' > test_expect_success 'setup' ' > git init initial-repo && > ( > + (GIT_TEST_SPARSE_INDEX=0 && export GIT_TEST_SPARSE_INDEX) &&
I thought parentheses started a subshell; once the subshell ends, wouldn't the setting of GIT_TEST_SPARSE_INDEX be thrown away?
Show 61 quoted lines
> cd initial-repo &&
> echo a >a &&
> echo "after deep" >e &&
> @@ -87,23 +88,32 @@ init_repos () {
>
> cp -r initial-repo sparse-checkout &&
> git -C sparse-checkout reset --hard &&
> - git -C sparse-checkout sparse-checkout init --cone &&
> +
> + cp -r initial-repo sparse-index &&
> + git -C sparse-index reset --hard &&
>
> # initialize sparse-checkout definitions
> - git -C sparse-checkout sparse-checkout set deep
> + git -C sparse-checkout sparse-checkout init --cone &&
> + git -C sparse-checkout sparse-checkout set deep &&
> + GIT_TEST_SPARSE_INDEX=1 git -C sparse-index sparse-checkout init --cone &&
> + GIT_TEST_SPARSE_INDEX=1 git -C sparse-index sparse-checkout set deep
> }
>
> run_on_sparse () {
> (
> cd sparse-checkout &&
> - $* >../sparse-checkout-out 2>../sparse-checkout-err
> + GIT_TEST_SPARSE_INDEX=0 $* >../sparse-checkout-out 2>../sparse-checkout-err
> + ) &&
> + (
> + cd sparse-index &&
> + $* >../sparse-index-out 2>../sparse-index-err
> )
> }
>
> run_on_all () {
> (
> cd full-checkout &&
> - $* >../full-checkout-out 2>../full-checkout-err
> + GIT_TEST_SPARSE_INDEX=0 $* >../full-checkout-out 2>../full-checkout-err
> ) &&
> run_on_sparse $*
> }
> @@ -114,6 +124,17 @@ test_all_match () {
> test_cmp full-checkout-err sparse-checkout-err
> }
>
> +test_sparse_match () {
> + run_on_sparse $* &&
> + test_cmp sparse-checkout-out sparse-index-out &&
> + test_cmp sparse-checkout-err sparse-index-err
> +}
> +
> +test_expect_success 'expanded in-memory index matches full index' '
> + init_repos &&
> + test_sparse_match test-tool read-cache --expand --table-no-stat
> +'
> +
> test_expect_success 'status with options' '
> init_repos &&
> test_all_match git status --porcelain=v2 &&
> --
> gitgitgadget
>