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

Re: diff/Checking out by date specification

From
TCToby Corkindale <toby.corkindale@rea-group.com>
Date
Jun 30, 2008, 04:38 UTC
Message-ID
<48686339.60205@rea-group.com>
In-Reply-To
<20080630032744.GA18930@sigill.intra.peff.net>
Jeff King wrote:
Show 15 quoted lines
> On Mon, Jun 30, 2008 at 12:24:03PM +1000, Toby Corkindale wrote:
> 
>> `man git-rev-parse` seems to indicate that one can look at the state of  
>> the repository by date (absolute or relative), and use this for diff or  
>> checkout, etc.
>> It includes examples such as "{yesterday}" and "{1979-02-26 18:30:00}".
> 
> It's a little bit more complex than that. The branch@{time} syntax means
> "what was in _my_ branch at that time". And if you just cloned, your
> branch doesn't go back very far.
> 
> If you want to say "find commits that happened before time T", you want
> --until or --since (or their aliases --before and --after).
> 
> Would the documentation patch below have helped with the confusion?

Ah, I see. Thanks, yes, that would have made the issue clearer.

I think it would be good if you could give a couple of examples, such as: How would I go about checking out the code at the state it was in at, say, 2008-01-01? Or how one can get a diff between 2008-01-01 and 2008-01-08?

(I note that "git-diff --until=2008-01-08 --since=2008-01-01" fails, as does "git-checkout --until=2008-01-08")

thanks for the quick response! -Toby

Show 31 quoted lines
> 
> -- >8 --
> doc/rev-parse: clarify reflog vs --until for specifying revisions
> 
> The rev-parse manpage introduces the branch@{date} syntax,
> and mentions the reflog specifically. However, new users may
> not be familiar with the distinction between the reflog and
> the commit date, so let's help them out with a "you may be
> interested in --until" pointer.
> 
> Signed-off-by: Jeff King <peff@peff.net>
> ---
>  Documentation/git-rev-parse.txt |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
> index 9e273bc..59e95ad 100644
> --- a/Documentation/git-rev-parse.txt
> +++ b/Documentation/git-rev-parse.txt
> @@ -184,7 +184,10 @@ blobs contained in a commit.
>    second ago\}' or '\{1979-02-26 18:30:00\}') 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>).
> +  existing log ($GIT_DIR/logs/<ref>). Note that this looks up the state
> +  of your *local* ref at a given time; e.g., what was in your local
> +  `master` branch last week. If you want to look at commits made during
> +  certain times, see `--since` and `--until`.
>  
>  * A ref followed by the suffix '@' with an ordinal specification
>    enclosed in a brace pair (e.g. '\{1\}', '\{15\}') to specify
-- 
Toby Corkindale
Software developer
w: www.rea-group.com
REA Group refers to realestate.com.au Ltd (ASX:REA)

Warning - This e-mail transmission may contain confidential information.
If you have received this transmission in error, please notify us
immediately on (61 3) 9897 1121 or by reply email to the sender. You
must destroy the e-mail immediately and not use, copy, distribute or
disclose the contents.
Previous: Jeff KingNext: Daniel Barkalow
Message 3 of 6 in “diff/Checking out by date specification”
  1. Toby CorkindaleJun 30, 2008
  2. Jeff KingJun 30, 2008
  3. Toby CorkindaleJun 30, 2008
  4. Daniel BarkalowJun 30, 2008
  5. Jeff KingJun 30, 2008
  6. Jeff KingJun 30, 2008

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.