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

Re:

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 17, 2015, 17:49 UTC
Message-ID
<xmqqh9nxerfv.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CACsJy8Be-kY49CxAJTx2R2XG-c_WeuU=yLFT8-XSoaDkTScPGg@mail.gmail.com>
Duy Nguyen <pclouds@gmail.com> writes:
Show 11 quoted lines
> On Wed, Aug 5, 2015 at 7:47 PM, Ivan Chernyavsky <camposer@yandex.ru> wrote:
>> Dear community,
>>
>> For some time I'm wondering why there's no "--grep" option to the
>> "git branch" command, which would request to print only branches
>> having specified string/regexp in their history.
>
> Probably because nobody is interested and steps up to do it. The lack
> of response to you mail is a sign. Maybe you can try make a patch? I
> imagine it would not be so different from current --contains code, but
> this time we need to look into commits, not just commit id.

That is a dangeous thought. I'd understand if it were internally two step process, i.e. (1) the first pass finds commits that hits the --grep criteria and then (2) the second pass does "--contains" for all the hits found in the first pass using existing code, but still, this operation is bound to dig all the way through the root of the history when asked to find something that does not exist.

Show 7 quoted lines
>> So for example:
>>
>>     $ git branch -r --grep=BUG12345
>>
>> should be roughly equivalent to following expression I'm using now for the same task:
>>
>>     $ for r in `git rev-list --grep=BUG12345 --remotes=origin`; do git branch -r --list --contains=$r 'origin/*'; done | sort -u

You should at least feed all --contains to a single invocation of "git branch". They are designed to be OR'ed together.

Previous: Ivan ChernyavskyNext: Ivan Chernyavsky
Message 7 of 12 in “(unknown)”
  1. Ivan ChernyavskyAug 5, 2015
  2. Which branch(es) contain certain commits? (was Re: (unknown))Junio C Hamano, Aug 5, 2015
  3. Junio C HamanoAug 5, 2015
  4. Ivan ChernyavskyAug 5, 2015
  5. Duy NguyenAug 15, 2015
  6. Ivan ChernyavskyAug 17, 2015
  7. Junio C HamanoAug 17, 2015
  8. Which branch(es) contain certain commits? (was Re: (unknown))Ivan Chernyavsky, Aug 21, 2015
  9. Junio C HamanoAug 21, 2015
  10. Ivan ChernyavskyAug 22, 2015
  11. Ivan ChernyavskyAug 22, 2015
  12. Karthik NayakAug 22, 2015

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.