Thread (5 messages) flat view 5 messages, 4 authors, 2016-06-15

Re: Quickly searching for a note

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:54:50

Am 21.09.2012 22:25, schrieb Joshua Jensen:
----- Original Message -----
From: Junio C Hamano
Date: 9/21/2012 2:04 PM
quoted
Joshua Jensen [off-list ref] writes:
quoted
quoted
Is there any particular reason you do that as two separate steps?
It would feel more natural, at least to me, to do something along
the lines of

    git log --show-notes=p4notes -1000
Thanks for the reply.

I did not make clear above that I want to stop looking when I find the
first commit that has the note.

In the case of 'git log --show-notes=p4notes -1000', Git will process
and hand me the log output for 1,000 commits.  It is rare I need to
walk that deep.
I simply matched it with your initial "rev-list --max-count=1000".
The "log" command pages and you can hit 'q' once you saw enough (in
other words, you do not have to say -1000).
This is run via script without user intervention.  Presumably, Git will
do 1,000 commits of work when it may only need to do 1 or 5 or 10?
The trick is to pipe 'git log' output into another process that reads no
more than it needs and exits. Then 'git log' dies from SIGPIPE before it
processed all 1000 commits because its down-stream has gone away.

For example:

  git log --show-notes=p4notes -1000 |
  sed -n -e '/^commit /h' -e '/P4@/{H;g;p;q}'

(The pipeline keeps track of the most recent 'commit' line, and when it
finds the 'P4@' it prints the most recent 'commit' line followed by the
'P4@' line.)

-- Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help