From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git <git@vger.kernel.org>, Ben Peart <benpeart@microsoft.com>,
Alex Vandiver <alexmv@dropbox.com>,
Christian Couder <christian.couder@gmail.com>,
David Turner <dturner@twopensource.com>
Subject: Re: Some rough edges of core.fsmonitor
Date: Sun, 28 Jan 2018 21:44:48 +0100 (STD) [thread overview]
Message-ID: <nycvar.QRO.7.76.6.1801282140330.35@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz> (raw)
In-Reply-To: <87efmcw3fa.fsf@evledraar.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1674 bytes --]
Hi,
On Sat, 27 Jan 2018, Ævar Arnfjörð Bjarmason wrote:
> I just got around to testing this since it landed, for context some
> previous poking of mine in [1].
>
> Issues / stuff I've noticed:
>
> 1) We end up invalidating the untracked cache because stuff in .git/
> changed. For example:
>
> 01:09:24.975524 fsmonitor.c:173 fsmonitor process '.git/hooks/fsmonitor-watchman' returned success
> 01:09:24.975548 fsmonitor.c:138 fsmonitor_refresh_callback '.git'
> 01:09:24.975556 fsmonitor.c:138 fsmonitor_refresh_callback '.git/config'
> 01:09:24.975568 fsmonitor.c:138 fsmonitor_refresh_callback '.git/index'
> 01:09:25.122726 fsmonitor.c:91 write fsmonitor extension successful
>
> Am I missing something or should we do something like:
>
> diff --git a/fsmonitor.c b/fsmonitor.c
> index 0af7c4edba..5067b89bda 100644
> --- a/fsmonitor.c
> +++ b/fsmonitor.c
> @@ -118,7 +118,12 @@ static int query_fsmonitor(int version, uint64_t last_update, struct strbuf *que
>
> static void fsmonitor_refresh_callback(struct index_state *istate, const char *name)
> {
> - int pos = index_name_pos(istate, name, strlen(name));
> + int pos;
> +
> + if (!strcmp(name, ".git") || starts_with(name, ".git/"))
> + return;
> +
> + pos = index_name_pos(istate, name, strlen(name));
I would much rather have the fsmonitor hook already exclude those.
If you *must* add these comparisons, you have to use fspathcmp() and
fspathncmp() instead (because case-insensitivity).
Ciao,
Dscho
next prev parent reply other threads:[~2018-01-28 20:44 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-27 0:28 Some rough edges of core.fsmonitor Ævar Arnfjörð Bjarmason
2018-01-27 1:36 ` Duy Nguyen
2018-01-27 1:39 ` [PATCH] trace: measure where the time is spent in the index-heavy operations Nguyễn Thái Ngọc Duy
2018-01-27 11:58 ` Thomas Gummerer
2018-01-27 12:27 ` [PATCH v2] " Nguyễn Thái Ngọc Duy
2018-01-27 11:43 ` Some rough edges of core.fsmonitor Ævar Arnfjörð Bjarmason
2018-01-27 12:39 ` Duy Nguyen
2018-01-27 13:09 ` Duy Nguyen
2018-01-27 19:01 ` Ævar Arnfjörð Bjarmason
2018-01-30 22:41 ` Ben Peart
2018-01-29 9:40 ` Duy Nguyen
2018-01-29 23:16 ` Ben Peart
2018-02-01 10:40 ` Duy Nguyen
2018-01-28 20:44 ` Johannes Schindelin [this message]
2018-01-28 22:28 ` Ævar Arnfjörð Bjarmason
2018-01-30 1:21 ` Ben Peart
2018-01-31 10:15 ` Duy Nguyen
2018-02-04 9:38 ` [PATCH] dir.c: ignore paths containing .git when invalidating untracked cache Nguyễn Thái Ngọc Duy
2018-02-05 17:44 ` Ben Peart
2018-02-06 12:02 ` Duy Nguyen
2018-02-07 9:21 ` [PATCH v2] " Nguyễn Thái Ngọc Duy
2018-02-07 9:21 ` Nguyễn Thái Ngọc Duy
2018-02-07 16:59 ` Ben Peart
2018-02-13 10:00 ` Duy Nguyen
2018-02-13 17:57 ` Junio C Hamano
2018-02-14 1:24 ` Duy Nguyen
2018-02-14 8:00 ` Junio C Hamano
2018-01-30 22:57 ` Some rough edges of core.fsmonitor Ben Peart
2018-01-30 23:16 ` Ævar Arnfjörð Bjarmason
2018-01-31 16:12 ` Ben Peart
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=nycvar.QRO.7.76.6.1801282140330.35@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz \
--to=johannes.schindelin@gmx.de \
--cc=alexmv@dropbox.com \
--cc=avarab@gmail.com \
--cc=benpeart@microsoft.com \
--cc=christian.couder@gmail.com \
--cc=dturner@twopensource.com \
--cc=git@vger.kernel.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.