From: Shengfa Lin <shengfa@google.com> To: gitster@pobox.com Cc: git@vger.kernel.org, nathaniel@google.com, rsbecker@nexbridge.com, santiago@nyu.edu, shengfa@google.com Subject: Re: [RFC PATCH 0/1] adding user.hideTimezone for setting UTC timezone Date: Fri, 2 Oct 2020 21:42:51 +0000 [thread overview] Message-ID: <20201002214251.76114-1-shengfa@google.com> (raw) In-Reply-To: <xmqqtuved70y.fsf@gitster.c.googlers.com> Junio C Hamano <gitster@pobox.com> writes: >> [...] > Regarding the implementation, the posted patch to "git commit" uses > the "futz with TZ early inside the git process" approach, but I > think we should not do so for another reason. Our setenv() may not > be early enough---before the code that decides to call a setenv() > is run, there are many things that are outside your control (like > the tracing subsystem, repository discovery, etc.) will run, and if > any of them does something that triggers tzset() to be called, it > will be done with the value of TZ the process started with, and our > setenv() that happens much later won't have any effect to it. > Setenv for TZ early in the git process even at the beginning of cmd_main does not set TZ for things run earlier. In this sense, user setting TZ themselves would be consistent. On the other hand, we may not require "things" run earlier to have consistent TZ depending on whether user time would be exposed. > Another thing is that setting TZ ourselves would affect hooks and > other programs we spawn as subprocess, which may or may not be > desired, depending on the reason why the user is forcing UTC. > Should not setenv for TZ bluntly because of risk of undesired side effect > All code that create object headers like committer, author and > tagger lines use the same git_author_info() and git_committer_info() > API, I think, which eventually goes to fmt_ident(), and they produce > a pair <number of seconds since epoch, offset>. This gives us an > entirely different opening to tackle this issue from, because the > "number of seconds since epoch" part won't change the value no > matter what timezone you are in. > A good candidate for handling in a centralized and controllable manner. > You can let the existing code produce its natural result and then > when the "force UTC" flag is set, override the offset part to +0000 > if and only if the timezone was obtained from the current > environment (this if-and-only-if is necessary, because you do not I don't understand "if the timezone was obtained from the current environment. How do we tell? getenv("TZ")? > want to rewrite and force UTC when you run "git commit --amend" > without the "--reset-author" option to update a commit that was > created somewhere else to UTC). That way, we do not have to futz > with TZ environment or tzset. > > Just something to think about. Does this mean we need to make sure "git commit --amend" without the "--reset-author" will not trigger regeneration of timestamp through datestamp in "date.c" but with the "--reset-author", it will? Preferable not to futz with TZ environment.
next prev parent reply other threads:[~2020-10-02 21:42 UTC|newest] Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-05 17:14 [ISSUE] Stop accessing, storing, and sharing the user's time zone Nathaniel Manista 2019-12-05 17:31 ` Junio C Hamano 2019-12-05 17:33 ` Randall S. Becker 2019-12-05 17:43 ` Junio C Hamano 2019-12-05 17:53 ` Santiago Torres Arias 2019-12-05 18:00 ` Randall S. Becker 2020-09-30 23:21 ` [RFC PATCH 0/1] adding user.hideTimezone for setting UTC timezone Shengfa Lin 2020-09-30 23:21 ` [RFC PATCH 1/1] hideTimezone: add a user.hideTimezone config Shengfa Lin 2020-09-30 23:41 ` Junio C Hamano 2020-10-01 0:17 ` Junio C Hamano 2020-10-02 6:07 ` Shengfa Lin 2020-10-01 0:31 ` Junio C Hamano 2020-10-01 0:35 ` Junio C Hamano 2020-10-02 6:41 ` Shengfa Lin 2020-10-02 6:46 ` Shengfa Lin 2020-10-02 6:37 ` Shengfa Lin 2020-10-02 6:02 ` Shengfa Lin 2020-10-02 6:15 ` Jonathan Nieder 2020-10-02 22:32 ` Shengfa Lin 2020-10-03 4:57 ` Junio C Hamano 2020-09-30 23:55 ` Junio C Hamano 2020-10-02 6:51 ` Shengfa Lin 2020-10-01 0:05 ` Junio C Hamano 2020-10-01 2:44 ` Jonathan Nieder 2020-10-02 21:17 ` Shengfa Lin 2020-09-30 23:53 ` [RFC PATCH 0/1] adding user.hideTimezone for setting UTC timezone Junio C Hamano 2020-10-01 2:17 ` Junio C Hamano 2020-10-01 3:43 ` Jonathan Nieder 2020-10-01 15:48 ` Junio C Hamano 2020-10-08 19:49 ` Junio C Hamano [not found] ` <CAEOYnASgxCE5NjhoSgDwyQyAmdLhw5UyFq_Fu==8q7y6uXGz6w@mail.gmail.com> 2020-10-09 16:48 ` Junio C Hamano 2020-10-02 21:56 ` Shengfa Lin 2020-10-02 22:06 ` Junio C Hamano 2020-10-03 3:50 ` Shengfa Lin 2020-10-03 4:42 ` Junio C Hamano 2020-10-03 19:53 ` brian m. carlson 2020-10-03 22:14 ` Junio C Hamano 2020-10-02 21:42 ` Shengfa Lin [this message] 2020-10-02 21:23 ` Shengfa Lin 2020-10-13 5:28 ` [WIP v2 0/2] experiment with commit option record-time-zone Shengfa Lin 2020-10-13 5:28 ` [WIP v2 1/2] Adding a record-time-zone command option for commit Shengfa Lin 2020-10-13 20:03 ` Junio C Hamano 2020-10-21 5:01 ` Shengfa Lin 2020-10-21 18:55 ` Junio C Hamano 2020-10-22 16:27 ` Junio C Hamano 2020-10-26 4:14 ` Shengfa Lin 2020-10-13 5:28 ` [WIP v2 2/2] Demonstrate failing and passing tests Shengfa Lin
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=20201002214251.76114-1-shengfa@google.com \ --to=shengfa@google.com \ --cc=git@vger.kernel.org \ --cc=gitster@pobox.com \ --cc=nathaniel@google.com \ --cc=rsbecker@nexbridge.com \ --cc=santiago@nyu.edu \ --subject='Re: [RFC PATCH 0/1] adding user.hideTimezone for setting UTC timezone' \ /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
Code repositories for project(s) associated with this 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).