From: Junio C Hamano <gitster@pobox.com>
To: "D. Ben Knoble" <ben.knoble@gmail.com>
Cc: git@vger.kernel.org, Olamide Caleb Bello <belkid98@gmail.com>,
Todd Zullinger <tmz@pobox.com>, Tian Yuchen <cat@malon.dev>,
Patrick Steinhardt <ps@pks.im>
Subject: Re: [PATCH v5 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec
Date: Sun, 30 Aug 2026 14:15:17 -0700 [thread overview]
Message-ID: <xmqq8q5n1fa2.fsf@gitster.g> (raw)
In-Reply-To: <01cd487cd23f23b1d18359b86fbcf18e25039e6d.1788010335.git.ben.knoble@gmail.com> (D. Ben Knoble's message of "Sat, 29 Aug 2026 09:38:20 -0400")
"D. Ben Knoble" <ben.knoble@gmail.com> writes:
> + /* nanosecond timestamped files can also be racy! */
> + (repo_config_values(istate->repo)->use_nanosec
> + ? (istate->timestamp.sec < sd->sd_mtime.sec ||
> + (istate->timestamp.sec == sd->sd_mtime.sec &&
> + istate->timestamp.nsec <= sd->sd_mtime.nsec))
> + : istate->timestamp.sec <= sd->sd_mtime.sec));
> }
Currently this is probably fine, but the use of repo_config_values()
here means that the order in which we can transition/libify two
unrelated things are forced on us:
* We'd first need to make sure repo_config_values() can work on an
instance of repository that is not the_repository,
* And until the above happens, we cannot do a --recurse-submodule
option that loads the index in a submodule and operate on it in
the same process (e.g., "git diff --resurse-submodules"),
because immediately at this step, istate taken from a submodule
would have its .repo member pointing at something that is not
the_repository and we will hit a BUG().
And after writing all of the above, I realized that I am mostly
repeating what Patric already said in the upstream, e.g.,
https://lore.kernel.org/git/an720tZnot07HYiK@pks.im/
Other than that, this looks good to me.
next prev parent reply other threads:[~2026-08-30 21:15 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 11:56 [PATCH 0/3] Convert USE_NSEC to runtime config D. Ben Knoble
2026-08-07 11:56 ` [PATCH 1/3] meson: expose knob for xmlto relative links in manuals D. Ben Knoble
2026-08-10 12:50 ` Patrick Steinhardt
2026-08-07 11:56 ` [PATCH 2/3] environment: align repo_config_values_init with struct declaration D. Ben Knoble
2026-08-07 11:56 ` [PATCH 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec D. Ben Knoble
2026-08-07 21:17 ` Junio C Hamano
2026-08-08 16:31 ` SZEDER Gábor
2026-08-10 12:27 ` D. Ben Knoble
2026-08-10 12:27 ` D. Ben Knoble
2026-08-10 12:44 ` Patrick Steinhardt
2026-08-11 16:26 ` Ben Knoble
2026-08-13 21:40 ` D. Ben Knoble
2026-08-14 11:06 ` Patrick Steinhardt
2026-08-14 11:29 ` Ben Knoble
2026-08-10 12:50 ` Patrick Steinhardt
2026-08-14 12:33 ` [PATCH v2 0/3] Convert USE_NSEC to runtime config D. Ben Knoble
2026-08-14 12:34 ` [PATCH v2 1/3] meson: expose knob for xmlto relative links in manuals D. Ben Knoble
2026-08-14 12:34 ` [PATCH v2 2/3] environment: align repo_config_values_init with struct declaration D. Ben Knoble
2026-08-14 12:34 ` [PATCH v2 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec D. Ben Knoble
2026-08-14 16:38 ` Junio C Hamano
2026-08-14 19:03 ` D. Ben Knoble
2026-08-18 14:59 ` [PATCH v3 0/3] Convert USE_NSEC to runtime config D. Ben Knoble
2026-08-18 14:59 ` [PATCH v3 1/3] meson: expose knob for xmlto relative links in manuals D. Ben Knoble
2026-08-18 14:59 ` [PATCH v3 2/3] environment: align repo_config_values_init with struct declaration D. Ben Knoble
2026-08-18 14:59 ` [PATCH v3 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec D. Ben Knoble
2026-08-18 18:51 ` Junio C Hamano
2026-08-19 12:53 ` D. Ben Knoble
2026-08-19 8:24 ` Patrick Steinhardt
2026-08-19 13:09 ` D. Ben Knoble
2026-08-20 5:24 ` Patrick Steinhardt
2026-08-20 11:50 ` D. Ben Knoble
2026-08-19 16:15 ` Junio C Hamano
2026-08-19 22:56 ` D. Ben Knoble
2026-08-20 5:26 ` Patrick Steinhardt
2026-08-20 13:18 ` [PATCH v4 0/3] Convert USE_NSEC to runtime config D. Ben Knoble
2026-08-20 13:18 ` [PATCH v4 1/3] meson: expose knob for xmlto relative links in manuals D. Ben Knoble
2026-08-20 13:18 ` [PATCH v4 2/3] environment: align repo_config_values_init with struct declaration D. Ben Knoble
2026-08-20 17:45 ` Junio C Hamano
2026-08-21 12:10 ` D. Ben Knoble
2026-08-20 13:18 ` [PATCH v4 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec D. Ben Knoble
2026-08-29 13:38 ` [PATCH v5 0/3] Convert USE_NSEC to runtime config D. Ben Knoble
2026-08-29 13:38 ` [PATCH v5 1/3] meson: expose knob for xmlto relative links in manuals D. Ben Knoble
2026-08-29 13:38 ` [PATCH v5 2/3] environment: align repo_config_values_init with struct declaration D. Ben Knoble
2026-08-29 13:38 ` [PATCH v5 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec D. Ben Knoble
2026-08-30 21:15 ` Junio C Hamano [this message]
2026-08-31 0:27 ` D. Ben Knoble
2026-08-31 9:27 ` Patrick Steinhardt
2026-08-31 13:00 ` D. Ben Knoble
[not found] ` <CALnO6CCNwXC1_PUCTWEU-HXBk+W+sBGqn7Sr8D=ZHW3Mxcu20g@mail.gmail.com>
2026-08-31 14:47 ` Patrick Steinhardt
2026-09-01 0:35 ` Ben Knoble
2026-08-31 9:27 ` Patrick Steinhardt
2026-08-31 15:46 ` Ben Knoble
2026-08-31 20:01 ` [PATCH v6 0/3] Convert USE_NSEC to runtime config D. Ben Knoble
2026-08-31 20:01 ` [PATCH v6 1/3] meson: expose knob for xmlto relative links in manuals D. Ben Knoble
2026-08-31 20:01 ` [PATCH v6 2/3] environment: align repo_config_values_init with struct declaration D. Ben Knoble
2026-08-31 20:01 ` [PATCH v6 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec D. Ben Knoble
2026-09-01 4:35 ` Junio C Hamano
2026-09-01 12:38 ` D. Ben Knoble
2026-09-01 17:32 ` Junio C Hamano
2026-09-01 4:54 ` Jeff King
2026-09-01 12:36 ` D. Ben Knoble
2026-09-02 7:26 ` Jeff King
2026-09-02 11:45 ` Ben Knoble
2026-09-02 21:05 ` Junio C Hamano
2026-09-03 1:00 ` Ben Knoble
2026-09-03 15:56 ` Junio C Hamano
2026-09-03 18:16 ` Ben Knoble
2026-08-31 20:06 ` [PATCH v6 0/3] Convert USE_NSEC to runtime config D. Ben Knoble
2026-09-11 12:32 ` [PATCH v7 " D. Ben Knoble
2026-09-11 12:32 ` [PATCH v7 1/3] meson: expose knob for xmlto relative links in manuals D. Ben Knoble
2026-09-11 12:32 ` [PATCH v7 2/3] environment: align repo_config_values_init with struct declaration D. Ben Knoble
2026-09-11 12:32 ` [PATCH v7 3/3] core: convert build-time USE_NSEC into runtime core.useNanosec D. Ben Knoble
2026-09-11 18:35 ` [PATCH v7 0/3] Convert USE_NSEC to runtime config Junio C Hamano
2026-09-11 20:16 ` Ben Knoble
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=xmqq8q5n1fa2.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=belkid98@gmail.com \
--cc=ben.knoble@gmail.com \
--cc=cat@malon.dev \
--cc=git@vger.kernel.org \
--cc=ps@pks.im \
--cc=tmz@pobox.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox