git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Feature request for shorter relative date format in log

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 2, 2023, 22:31 UTC
Message-ID
<xmqqsf915b54.fsf@gitster.g>
In-Reply-To
<ZMqciat7tdbYGob8@nand.local>
Taylor Blau <me@ttaylorr.com> writes:
> But we don't have a way for users to provide custom over relative dates.

Are there existing systems to format time durations in a customized way, just like strftime() is a way way to custom-format a timestamp, that we can just use, or write our own modelling after them?

The relative-time code decides which points in the time durection spectrum are good places to switch the granularity (e.g. up to 90 seconds we will give "N seconds", and up to 90 minutes we will give "N minutes"). You could grep in date.c:show_date_relative() for Q_() and _(), and place them in an array and allow them to be replaced by strings in the configuration variable, but that will cover only one smaller half of the problem (i.e. how the "N seconds" are shown) and the other half (i.e. what variants there are, and which variant is used for what time duration---you cannot introduce a rule that says "up to 500 seconds, show 'N minutes M seconds'").

Even with that solution to the smaller half will also create i18n headaches.

> Perhaps we should?

It will be an interesting puzzle, if done well. Even though my criteria to consider that a solution is done "well" is not that high, it should at least allow defining your own variants. Instead of the rules that are implemented as hardcoded if-statement cascade in date.c:show_date_relative(), it should allow you to say something like

    * For a timestamp that is N seconds into the future, format a
      relative timestamp that is N seconds ago, and replace "ago"
      with "in the future".
    * For a timestamp that is less than 1200 seconds ago, show "N
      minutes M seconds ago" (with appropriate pluralization for
      "minute" and "second" when N and/or M is 1).
    * For a timestamp that is less than 5 hours ago, show "N hours M
      minutes ago" (ditto about plural).
and so on.

No, I am not interested in working on such a solution myself. But it will be an interesting puzzle.

Previous: Taylor BlauNext: Yucheng Zhou
Message 3 of 5 in “Feature request for shorter relative date format in log”
  1. Yucheng ZhouAug 2, 2023
  2. Taylor BlauAug 2, 2023
  3. Junio C HamanoAug 2, 2023
  4. Yucheng ZhouAug 3, 2023
  5. Taylor BlauAug 4, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.