Re: Quickly searching for a note

5 messages, 4 authors, 2016-06-15 · open the first message on its own page

Re: Quickly searching for a note

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:50

Joshua Jensen [off-list ref] writes:
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).

Re: Quickly searching for a note

From: Joshua Jensen <hidden>
Date: 2016-06-15 22:54:50

----- Original Message -----
From: Junio C Hamano
Date: 9/21/2012 2:04 PM
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?

-Josh

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

Re: Quickly searching for a note

From: Joshua Jensen <hidden>
Date: 2016-06-15 22:54:50

----- Original Message -----
From: Johannes Sixt
Date: 9/21/2012 2:50 PM
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.)
Got it.  I'll try that out now.

-Josh

Re: Quickly searching for a note

From: Jeff King <hidden>
Date: 2016-06-15 22:54:50

On Fri, Sep 21, 2012 at 03:10:40PM -0600, Joshua Jensen wrote:
----- Original Message -----
From: Johannes Sixt
Date: 9/21/2012 2:50 PM
quoted
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.)
Got it.  I'll try that out now.
I think people have provided sane techniques for doing this with a
pipeline. But there is really no reason not to have --grep-notes, just
as we have --grep.  It's simply that nobody has implemented it yet (and
nobody is working on it as far as I know). It would actually be a fairly
simple feature to add if somebody wanted to get their feet wet with git.

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