git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: git@vger.kernel.org
Cc: "Derrick Stolee" <stolee@gmail.com>,
	"Thomas Gummerer" <t.gummerer@gmail.com>,
	"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
	"SZEDER Gábor" <szeder.dev@gmail.com>
Subject: [PATCH v2 0/6] Fix GIT_TEST_SPLIT_INDEX
Date: Thu, 26 Aug 2021 22:59:58 +0200	[thread overview]
Message-ID: <20210826210004.672860-1-szeder.dev@gmail.com> (raw)
In-Reply-To: <20210817174938.3009923-1-szeder.dev@gmail.com>

To recap from v1's cover letter:

Running tests with GIT_TEST_SPLIT_INDEX=1 is supposed to turn on the
split index feature and trigger index splitting (mostly) randomly.
Alas, this has been broken for ~2.5 years, and it hasn't triggered any
index splitting since then.

The last patch in this series makes GIT_TEST_SPLIT_INDEX=1 work again,
although it slightly changes its behavior; see its log message for all
the details.

Patches 3 and 4 fix old tests that started to fail because
of this slight behavior change.  Bsides the final fix, patch 4 is the
most interesting in this series.

Patch 5 fixes recent sparse index tests that were introduced while
GIT_TEST_SPLIT_INDEX was broken.

The first two patches are just minor while-at-it test cleanups.


Changes since v1, both in patch 5:
  - Removed a remark about making split and sparse index compatible.
  - Stolle suggested to rebase this patch series on top of topic
    'ds/sparse-index-ignored-files' to avoid merge conflicts in a
    sparse index test.  Well, I didn't do that, but instead I rebased
    this series on top of the merge of master and 86d6ca5886 (t7519:
    rewrite sparse index test, 2021-08-10), and the latter commit:
      - is the one responsible for said merge conflicts, and
      - is at the bottom of 'ds/sparse-index-ignored-files', and could
	be considered more as a followup fix for topic
	'ds/status-with-sparse-index' (already in v2.33.0) than an
	integral part of 'ds/sparse-index-ignored-files'.
    The rest of 'ds/sparse-index-ignored-files' doesn't have any
    conflicts with this patch series that auto-merge couldn't resolve.

SZEDER Gábor (6):
  t1600-index: remove unnecessary redirection
  t1600-index: don't run git commands upstream of a pipe
  t1600-index: disable GIT_TEST_SPLIT_INDEX
  read-cache: look for shared index files next to the index, too
  tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
  read-cache: fix GIT_TEST_SPLIT_INDEX

 read-cache.c                       | 37 +++++++++++-----
 t/t1091-sparse-checkout-builtin.sh | 25 ++++++-----
 t/t1600-index.sh                   | 13 ++++--
 t/t1700-split-index.sh             | 34 +++++++++++++++
 t/t7519-status-fsmonitor.sh        | 68 ++++++++++++++++--------------
 5 files changed, 121 insertions(+), 56 deletions(-)

Range-diff against v1:
1:  7e1d38d215 = 1:  ab555030cb t1600-index: remove unnecessary redirection
2:  d86c91d26e = 2:  38d350b02d t1600-index: don't run git commands upstream of a pipe
3:  792b6739e5 = 3:  57b5386aee t1600-index: disable GIT_TEST_SPLIT_INDEX
4:  b12467bab7 = 4:  58c444bcd0 read-cache: look for shared index files next to the index, too
5:  51e13df905 ! 5:  24b8b7738c tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
    @@ Commit message
         by later sanity checks finding that the index is not in fact a sparse
         index.  This indicates that 'git sparse-checkout init --sparse-index'
         lacks some error checking and its tests lack coverage related to split
    -    index, but fixing those issues (let alone making sparse index
    -    comparible with split index) is beyond the scope of this patch series.
    +    index, but fixing those issues is beyond the scope of this patch
    +    series.
     
         [1] https://public-inbox.org/git/48e9c3d6-407a-1843-2d91-22112410e3f8@gmail.com/
     
    @@ t/t7519-status-fsmonitor.sh: check_sparse_index_behavior () {
      }
      
      test_expect_success 'status succeeds with sparse index' '

  I took the liberty to cut the part of the range-diff showing the
  changes of changes to this test, because 86d6ca5886 totally rewrites
  this test, while this patch changes the test's indentation,
  resulting in an unusable range-diff.
  Instead, to show the only relevant change in this patch here is the
  first hunk touching this test with --ignore-all-space from v1:

    @@ -402,6 +402,10 @@ check_sparse_index_behavior () {
     }
    
     test_expect_success 'status succeeds with sparse index' '
    +       (
    +               sane_unset GIT_TEST_SPLIT_INDEX &&
    +               git update-index --no-split-index &&
    +
                    git reset --hard &&
    
                    test_config core.fsmonitor "$TEST_DIRECTORY/t7519/fsmonitor-all" &&

  And from v2:

    @@ -399,6 +399,9 @@ check_sparse_index_behavior () {
     }
    
     test_expect_success 'status succeeds with sparse index' '
    +       (
    +               sane_unset GIT_TEST_SPLIT_INDEX &&
    +
                    git clone . full &&
                    git clone . sparse &&
                    git -C sparse sparse-checkout init --cone --sparse-index &&

6:  a5c790e622 = 6:  a43a12b0ce read-cache: fix GIT_TEST_SPLIT_INDEX
-- 
2.33.0.358.g803110d36e


  parent reply	other threads:[~2021-08-26 21:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-17 17:49 [PATCH 0/6] Fix GIT_TEST_SPLIT_INDEX SZEDER Gábor
2021-08-17 17:49 ` [PATCH 1/6] t1600-index: remove unnecessary redirection SZEDER Gábor
2021-08-17 18:12   ` Derrick Stolee
2021-08-17 18:39     ` SZEDER Gábor
2021-08-17 18:48       ` Derrick Stolee
2021-08-17 17:49 ` [PATCH 2/6] t1600-index: don't run git commands upstream of a pipe SZEDER Gábor
2021-08-17 17:49 ` [PATCH 3/6] t1600-index: disable GIT_TEST_SPLIT_INDEX SZEDER Gábor
2021-08-17 17:49 ` [PATCH 4/6] read-cache: look for shared index files next to the index, too SZEDER Gábor
2021-08-17 17:49 ` [PATCH 5/6] tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests SZEDER Gábor
2021-08-17 18:26   ` Derrick Stolee
2021-08-17 21:32     ` SZEDER Gábor
2021-08-18 18:51       ` Derrick Stolee
2021-08-17 17:49 ` [PATCH 6/6] read-cache: fix GIT_TEST_SPLIT_INDEX SZEDER Gábor
2021-08-17 18:29   ` Derrick Stolee
2021-08-26 20:59 ` SZEDER Gábor [this message]
2021-08-26 20:59   ` [PATCH v2 1/6] t1600-index: remove unnecessary redirection SZEDER Gábor
2021-08-26 21:00   ` [PATCH v2 2/6] t1600-index: don't run git commands upstream of a pipe SZEDER Gábor
2021-08-26 21:00   ` [PATCH v2 3/6] t1600-index: disable GIT_TEST_SPLIT_INDEX SZEDER Gábor
2021-08-26 21:00   ` [PATCH v2 4/6] read-cache: look for shared index files next to the index, too SZEDER Gábor
2021-08-26 21:00   ` [PATCH v2 5/6] tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests SZEDER Gábor
2021-08-26 21:00   ` [PATCH v2 6/6] read-cache: fix GIT_TEST_SPLIT_INDEX SZEDER Gábor
2021-08-31 14:47   ` [PATCH v2 0/6] Fix GIT_TEST_SPLIT_INDEX Derrick Stolee
2021-08-31 17:38     ` Junio C Hamano

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210826210004.672860-1-szeder.dev@gmail.com \
    --to=szeder.dev@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=pclouds@gmail.com \
    --cc=stolee@gmail.com \
    --cc=t.gummerer@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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).