threads / discuss / 44104

Finding a commit based on the diff index line?

Subject: Finding a commit based on the diff index line?

## tl;dr

3 messages between Sep 17, 2016 and Sep 18, 2016.

replies: 2people: 1as markdown or json

Philip Oakley· Sep 17, 2016, 14:33 UTC · lore
Hi,

I'm curating some of my old patch series (i.e. doing some tidying up) and I'm trying to determine the commits that generated some of my patches so that I can see if I still have them after they were rebased (a 'name that dangling branch' problem).

Is there an easy way of finding the commit sha1 that contains the given diff index line.

For example. index fa05269..57033dd 100755 or index 8ebcded..d9ab360 100644

which both should get back to Jeff King's 36d6792 (t0006: test various date formats, 2016-06-20).

It feels like it is something that should already possible without a mini-script. We have the rev range which should limit the range to a single commit, though if random blob revs were given the commit range would be 'scattered'.

Is there a simple quick way of achieving this?

-- Philip

Philip Oakley· Sep 17, 2016, 19:23 UTC · lore

Re: Finding a commit based on the diff index line?

Show 8 quoted lines
> From: Junio C Hamano
> Sent: Saturday, September 17, 2016 5:30 PM
>
> Does it count as simple to use pager's search feature in
> "log --raw" output piped to it?
>
> Pardon typos & html; typed on a phone
>

The `log --raw` looks useful, though I think (IIUC) I also have a problem that (obviously?) these commits are not linked behind any existing ref (except maybe the reflogs which I'm not up to speed on).

I had somehow hoped for some neat magic command or rev specifier that took the revs as alternates to the `-- <paths>` in rev-parse or some such....

It's tricky curating old mistakes ;-)
Thanks for the pointer.
Show 35 quoted lines
> On Sep 17, 2016 07:33, "Philip Oakley" <philipoakley@iee.org> wrote:
>
> > Hi,
> >
> > I'm curating some of my old patch series (i.e. doing some tidying up) 
> > and
> > I'm trying to determine the commits that generated some of my patches so
> > that I can see if I still have them after they were rebased (a 'name 
> > that
> > dangling branch' problem).
> >
> > Is there an easy way of finding the commit sha1 that contains the given 
> > diff
> > index line.
> >
> > For example.
> > index fa05269..57033dd 100755
> > or
> > index 8ebcded..d9ab360 100644
> >
> > which both should get back to Jeff King's 36d6792 (t0006: test various 
> > date
> > formats, 2016-06-20).
> >
> > It feels like it is something that should already possible without a
> > mini-script. We have the rev range which should limit the range to a 
> > single
> > commit, though if random blob revs were given the commit range would be
> > 'scattered'.
> >
> >
> > Is there a simple quick way of achieving this?
> >
> > --
> > Philip
Philip Oakley· Sep 18, 2016, 19:37 UTC · re: Philip Oakley · lore

Re: Finding a commit based on the diff index line?

From: "Philip Oakley" <philipoakley@iee.org>
Show 13 quoted lines
>> From: Junio C Hamano
>> Sent: Saturday, September 17, 2016 5:30 PM
>>
>> Does it count as simple to use pager's search feature in
>> "log --raw" output piped to it?
>>
>> Pardon typos & html; typed on a phone
>>
>
> The `log --raw` looks useful, though I think (IIUC) I also have a problem 
> that (obviously?) these commits are not linked behind any existing ref 
> (except maybe the reflogs which I'm not up to speed on).
>

For others that may be reading... The command I eventually ended up using to find old series was:

git reflog HEAD --grep-reflog='rebase -i (finish)' | cut -c1-7 | xargs -n1 git quote

where the alias.quote = log -1 --pretty='tformat:%h (%s, %ad)' --date=short

I can then compare the dates of my corrective rebases to the patch submission dates to find the (local sha1 of) missing series.

> I had somehow hoped for some neat magic command or rev specifier that took 
> the revs as alternates to the `-- <paths>` in rev-parse or some such....

Though locating a commit based on a diff's index line does still feel to be something that should be possible.

Show 43 quoted lines
>
> It's tricky curating old mistakes ;-)
>
> Thanks for the pointer.
>
>> On Sep 17, 2016 07:33, "Philip Oakley" <philipoakley@iee.org> wrote:
>>
>> > Hi,
>> >
>> > I'm curating some of my old patch series (i.e. doing some tidying up) 
>> > and
>> > I'm trying to determine the commits that generated some of my patches 
>> > so
>> > that I can see if I still have them after they were rebased (a 'name 
>> > that
>> > dangling branch' problem).
>> >
>> > Is there an easy way of finding the commit sha1 that contains the given 
>> > diff
>> > index line.
>> >
>> > For example.
>> > index fa05269..57033dd 100755
>> > or
>> > index 8ebcded..d9ab360 100644
>> >
>> > which both should get back to Jeff King's 36d6792 (t0006: test various 
>> > date
>> > formats, 2016-06-20).
>> >
>> > It feels like it is something that should already possible without a
>> > mini-script. We have the rev range which should limit the range to a 
>> > single
>> > commit, though if random blob revs were given the commit range would be
>> > 'scattered'.
>> >
>> >
>> > Is there a simple quick way of achieving this?
>> >
>> > --
>> > Philip
>
> 

← back to recent threads