All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Ben Peart" <benpeart@microsoft.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Johannes Sixt" <j6t@kdbg.org>,
	"Junio C Hamano" <gitster@pobox.com>
Subject: [PATCH v2 0/2] Fix fsmonitor after discard_index()
Date: Thu, 21 Mar 2019 06:57:32 -0700 (PDT)	[thread overview]
Message-ID: <pull.165.v2.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.165.git.gitgitgadget@gmail.com>

It was reported by Ævar Arnfjörð Bjarmason
[https://public-inbox.org/git/nycvar.QRO.7.76.6.1903142058130.41@tvgsbejvaqbjf.bet/T/#mb8718fe52e4721dacd3b143a09187ff9090ef4e3] 
that there were problems with the fsmonitor feature in conjunction with the
newly built-in git stash/git rebase.

The culprit really is that the fsmonitor flag that says whether it was
queried already was not re-set after discard_index() was called by mistake.

This fixes that, and apparently also other long-standing fsmonitor issues.

(Note that there is still a flakiness around t7519
[https://github.com/git-for-windows/git/pull/2127#pullrequestreview-215010574] 
where it tries to make sure that the fsmonitor hook can prevent unnecessary
lstat() calls, but that seems to be unrelated to this here bug.)

Changes since v1:

 * Removed unnecessary test_when_finished "test_config ..." line, pointed
   out by Hannes Sixt.

Johannes Schindelin (2):
  fsmonitor: demonstrate that it is not refreshed after discard_index()
  fsmonitor: force a refresh after the index was discarded

 cache.h                     |  3 ++-
 fsmonitor.c                 |  5 ++---
 read-cache.c                |  1 +
 t/helper/test-read-cache.c  | 24 +++++++++++++++++++++++-
 t/t7519-status-fsmonitor.sh |  8 ++++++++
 5 files changed, 36 insertions(+), 5 deletions(-)


base-commit: 041f5ea1cf987a4068ef5f39ba0a09be85952064
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-165%2Fdscho%2Ffix-fsmonitor-after-discard-index-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-165/dscho/fix-fsmonitor-after-discard-index-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/165

Range-diff vs v1:

 1:  f451752656 ! 1:  51a7edf22a fsmonitor: demonstrate that it is not refreshed after discard_index()
     @@ -79,8 +79,6 @@
       '
       
      +test_expect_failure 'discard_index() also discards fsmonitor info' '
     -+	test_when_finished \
     -+		"git config core.monitor .git/hooks/fsmonitor-test" &&
      +	test_config core.fsmonitor "$TEST_DIRECTORY/t7519/fsmonitor-all" &&
      +	test_might_fail git update-index --refresh &&
      +	test-tool read-cache --print-and-refresh=tracked 2 >actual &&
 2:  1d62623776 ! 2:  79fdd0d586 fsmonitor: force a refresh after the index was discarded
     @@ -70,6 +70,6 @@
       
      -test_expect_failure 'discard_index() also discards fsmonitor info' '
      +test_expect_success 'discard_index() also discards fsmonitor info' '
     - 	test_when_finished \
     - 		"git config core.monitor .git/hooks/fsmonitor-test" &&
       	test_config core.fsmonitor "$TEST_DIRECTORY/t7519/fsmonitor-all" &&
     + 	test_might_fail git update-index --refresh &&
     + 	test-tool read-cache --print-and-refresh=tracked 2 >actual &&

-- 
gitgitgadget

  parent reply	other threads:[~2019-03-21 13:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-16  9:49 [PATCH 0/2] Fix fsmonitor after discard_index() Johannes Schindelin via GitGitGadget
2019-03-16  9:49 ` [PATCH 1/2] fsmonitor: demonstrate that it is not refreshed " Johannes Schindelin via GitGitGadget
2019-03-16 10:26   ` Johannes Sixt
2019-03-21 12:32     ` Johannes Schindelin
2019-03-16  9:49 ` [PATCH 2/2] fsmonitor: force a refresh after the index was discarded Johannes Schindelin via GitGitGadget
2019-03-18 11:05 ` [PATCH 0/2] Fix fsmonitor after discard_index() Ævar Arnfjörð Bjarmason
2019-03-21 14:36   ` Johannes Schindelin
2019-05-23 20:49   ` Johannes Schindelin
2019-03-21 13:57 ` Johannes Schindelin via GitGitGadget [this message]
2019-03-21 13:57   ` [PATCH v2 1/2] fsmonitor: demonstrate that it is not refreshed " Johannes Schindelin via GitGitGadget
2019-03-21 13:57   ` [PATCH v2 2/2] fsmonitor: force a refresh after the index was discarded Johannes Schindelin via GitGitGadget
2019-03-22 11:04     ` SZEDER Gábor
2019-05-07 11:10   ` [PATCH v3 0/2] Fix fsmonitor after discard_index() Ævar Arnfjörð Bjarmason
2019-05-07 14:00     ` Junio C Hamano
2019-05-08  3:12       ` Junio C Hamano
2019-05-07 11:10   ` [PATCH v3 1/2] fsmonitor: demonstrate that it is not refreshed " Ævar Arnfjörð Bjarmason
2019-05-07 11:10   ` [PATCH v3 2/2] fsmonitor: force a refresh after the index was discarded Ævar Arnfjörð Bjarmason

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=pull.165.v2.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=avarab@gmail.com \
    --cc=benpeart@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=j6t@kdbg.org \
    /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.