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

Re: [RFC 5/5] Support 'master@2 hours ago' syntax

From
Junio C Hamano <junkio@cox.net>
Date
May 17, 2006, 11:07 UTC
Message-ID
<7vbqtwhpum.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060517095609.GF28529@spearce.org>
Shawn Pearce <spearce@spearce.org> writes:
Show 5 quoted lines
> Extended sha1 expressions may now include date specifications
> which indicate a point in time within the local repository's
> history.  If the ref indicated to the left of '@' has a log in
> $GIT_DIR/logs/<ref> then the value of the ref at the time indicated
> by the specification is obtained from the ref's log.

This does not allow '2006-05-17 00:00:00' as the timespec, and the documentation carefully avoids giving that example, but I think it is better to spell that limitation out.

Show 5 quoted lines
> +* A suffix '@' followed by a date specification such as 'yesterday'
> +  (24 hours ago) or '1 month 2 weeks 3 days 1 hour 1 second ago'
> +  to specify the value of the ref at a prior point in time.
> +  This suffix may only be used immediately following a ref name
> +  and the ref must have an existing log ($GIT_DIR/logs/<ref>).

+ fprintf(stderr, "warning: Log %s only goes back to %s.\n", + logfile, show_rfc2822_date(date, tz)); + return 0;

I am not sure about this part. If the oldest log entry was 3 hours ago, the second oldest 2 hours ago, we can tell during that one hour period the ref was at that point. If the user asked "ref as of four hours ago", and if the oldest log entry had old SHA1 that is not 0{40} (because the log was not enabled before that record), it might make more sense to give that back.

Also I wonder how much complexity would we suffer and how much efficiency would we gain if we binary search the logdata (the committer info is variable length, so you would need to resync in each step).

Previous: Shawn PearceNext: Linus Torvalds
Message 2 of 7 in “[RFC 5/5] Support 'master@2 hours ago' syntax”
  1. Shawn PearceMay 17, 2006
  2. Junio C HamanoMay 17, 2006
  3. Linus TorvaldsMay 17, 2006
  4. Junio C HamanoMay 17, 2006
  5. Shawn PearceMay 17, 2006
  6. Shawn PearceMay 17, 2006
  7. Shawn PearceMay 17, 2006

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.