Re: Why do dates in refspecs require the reflog?
- From
Stefan Beller <sbeller@google.com>
- Date
- Dec 30, 2014, 20:16 UTC
- Message-ID
- <CAGZ79kZteMXLaQowxNdrXd-ULbmZQ=AuyCyz0w6dLJC68ThxnA@mail.gmail.com>
- In-Reply-To
- <CAHd499Cvy=zi=9utoZ2bEgdSUTjkveHMP2OvVFPBHq7W2MuoZQ@mail.gmail.com>
On Tue, Dec 30, 2014 at 12:12 PM, Robert Dailey <rcdailey.lists@gmail.com> wrote:
Show 15 quoted lines
> I was surprised to find today that the following didn't work as expected:
>
> $ git show master@{"1 year ago"}:Path/To/File.h
>
> It gave me the following warning which did not make the problem obvious at all:
> warning: Log for 'master' only goes back to Mon, 8 Sep 2014 12:08:44 -0500.
>
> What it is trying to tell me (and I only found this out after a lot of
> poking and prodding around Google) is that I can't refer to a commit
> by date if it extends beyond the range of the reflog.
>
> I don't understand why this requirement is in place. Each commit has a
> time stamp, so in theory it should be possible to calculate an
> absolute date from the duration specified in the refspec and grab the
> commit from `git log` from that.Because the commit may have existed at a certain date, but not in the branch. It may have been merged at a later time. I am not sure if this is the actual reason though.
Show 9 quoted lines
> > I can only assume I'm oversimplifying things and that there is a good > reason for this. If I can't get this to work, how can I view the > contents of a file at a specified relative time frame as I have done > above? > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html