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: 68+ 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
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 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.