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

Re: [PATCH 0/5] gitweb: Improve search code

From
Jakub Narebski <jnareb@gmail.com>
Date
Jun 22, 2011, 18:00 UTC
Message-ID
<201106222000.04854.jnareb@gmail.com>
In-Reply-To
<4E02220F.10800@cisco.com>
On Wed, 22 Jun 2011, Phil Hord wrote:
> On 06/22/2011 11:28 AM, Jakub Narebski wrote:
> > P.S. Another addition that I sometimes wanted git to have would be
                                                  ^^^
This is a typo: I actually wanted to say "gitweb" here.
Therefore this discussion is totally OFF-TOPIC now.
Show 15 quoted lines
> > 'filename' or 'find' search: searching for file by name.
> >
> > What do you think of it?
> 
> I like it.  +1 from me.
> 
> I normally revert to 'git log --name-status | less <CR> /filename.foo',
> which is awful, of course.  I've always assumed there's a better way I
> haven't discovered yet.  But if there is, well... I haven't discovered
> it yet.
> 
> This syntax works on some files, but is limited and/or broken:
>    # Finds all commits touching the file named './foo.bar', iff
> ./foo.bar exists in the current commit.
>    git log -- foo.bar

Errr... if you use "git log foo.bar" it is true, but "git log -- foo.bar" will find commits even if foo.bar existed only in the past... though history simplification can make git return empty set.

Show 8 quoted lines
> 
> I say 'broken', but maybe it's not; it feels like it is when I do this:
> 
>    # Returns zero logs
>    git log -- some-deleted-file.txt
> 
>    # Returns at least two logs
>    git log --all -- some-deleted-file.txt
     git log --full-history -- some-deleted-file.txt
For example in git.git repository:
   $ # git log --full-history --oneline -- gitweb.pl | cat
   2ad9331 v053
   185f09e v049
   ff7669a v048
   fbb592a v043
   [...]
   e0389bd v001
   ecb378f v000
   4c02e3c v000
   161332a first working version
(Don't you just love Kay Sievers commit messages ;-) ?).
Show 12 quoted lines
> I think I understand why that happens (search optimization), but it is
> unexpected from the user's perspective.  I also suspect it will miss the
> 'pre-resurrection' commits for files which were deleted and resurrected
> in the past.
> 
> 
> What do you think of these as new 'Commit limiters' for git log:
> 
>        --name=<pattern>, --name-glob=<glob>
>            Limit the commits output to ones touching files that match the
>            specified pattern (regular expression) or glob (shell glob
>            pattern).

Why not use "git log --full-history -- '<glob>'" (i.e. remember about shell escaping glob)? I don't know if it works as intended in current git or not...

-- 
Jakub Narebski
Poland
Previous: Phil HordNext: Phil Hord
Message 8 of 10 in “gitweb: Improve search code”
  1. 0/5 gitweb: Improve search codeJakub Narebski, Jun 22, 2011
  2. 1/5 gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabledJakub Narebski, Jun 22, 2011
  3. 2/5 gitweb: Check permissions first in git_searchJakub Narebski, Jun 22, 2011
  4. 3/5 gitweb: Split body of git_search into subroutinesJakub Narebski, Jun 22, 2011
  5. 4/5 gitweb: Clean up code in git_search_* subroutinesJakub Narebski, Jun 22, 2011
  6. 5/5 gitweb: Make git_search_* subroutines render whole pagesJakub Narebski, Jun 22, 2011
  7. Phil HordJun 22, 2011
  8. Jakub NarebskiJun 22, 2011
  9. Phil HordJun 22, 2011
  10. Junio C HamanoJun 22, 2011

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.