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

[PATCH v9 0/5] git log -L

From
Thomas Rast <trast@student.ethz.ch>
Date
Mar 21, 2013, 12:52 UTC
Message-ID
<cover.1363865444.git.trast@student.ethz.ch>
Compared to the previous round at
  http://thread.gmane.org/gmane.comp.version-control.git/217236
I made the following changes (numbers from v8):
[1/5] Refactor parse_loc
  Based on Junio's suggestions, the refactoring is now to a new file
  line-range.c that line-log.c will later use.  (It still irks me too
  much to call straight into builtin/blame.c.)
  I also re-copied the existing functions, to make sure that they are
  the same.  Junio correctly spotted some differences, and since we
  claim to only refactor those are bad.
[2/5] Export rewrite_parents() for 'log -L'
  Unchanged.
[2.5/5] blame: introduce $ as "end of file" in -L syntax
  Dropped.  As Junio remarked, omitting the end is already a valid way
  of saying the same.
[3/5] Implement line-history search (git log -L)
  Integrated Ramsay's fixes and Junio's remarks.  Also made some minor
  cleanups.  Added a perf test.
[4/5] log -L: :pattern:file syntax to find by funcname
  Adjusted for changes in the earlier patches; otherwise the same.
[5/5] Speed up log -L... -M
  Added to this series, I posted the same patch earlier in the side
  thread about the bad performance.  The perf test from 4/5 neatly
  shows the difference.
Bo Yang (2):
  Refactor parse_loc
  Export rewrite_parents() for 'log -L'
Thomas Rast (3):
  Implement line-history search (git log -L)
  log -L: :pattern:file syntax to find by funcname
  Speed up log -L... -M
 Documentation/blame-options.txt     |   21 +-
 Documentation/git-blame.txt         |    6 +-
 Documentation/git-log.txt           |   23 +
 Documentation/line-range-format.txt |   25 +
 Makefile                            |    4 +
 builtin/blame.c                     |   99 +--
 builtin/log.c                       |   31 +
 line-log.c                          | 1228 +++++++++++++++++++++++++++++++++++
 line-log.h                          |   49 ++
 line-range.c                        |  237 +++++++
 line-range.h                        |   36 +
 log-tree.c                          |    4 +
 revision.c                          |   22 +-
 revision.h                          |   16 +-
 t/perf/p4211-line-log.sh            |   34 +
 t/t4211-line-log.sh                 |   40 ++
 t/t4211/expect.beginning-of-file    |   43 ++
 t/t4211/expect.end-of-file          |   62 ++
 t/t4211/expect.move-support-f       |   40 ++
 t/t4211/expect.simple-f             |   59 ++
 t/t4211/expect.simple-main          |   68 ++
 t/t4211/expect.two-ranges           |  102 +++
 t/t4211/expect.vanishes-early       |   39 ++
 t/t4211/history.export              |  330 ++++++++++
 t/t8003-blame-corner-cases.sh       |    6 +
 25 files changed, 2501 insertions(+), 123 deletions(-)
 create mode 100644 Documentation/line-range-format.txt
 create mode 100644 line-log.c
 create mode 100644 line-log.h
 create mode 100644 line-range.c
 create mode 100644 line-range.h
 create mode 100755 t/perf/p4211-line-log.sh
 create mode 100755 t/t4211-line-log.sh
 create mode 100644 t/t4211/expect.beginning-of-file
 create mode 100644 t/t4211/expect.end-of-file
 create mode 100644 t/t4211/expect.move-support-f
 create mode 100644 t/t4211/expect.simple-f
 create mode 100644 t/t4211/expect.simple-main
 create mode 100644 t/t4211/expect.two-ranges
 create mode 100644 t/t4211/expect.vanishes-early
 create mode 100644 t/t4211/history.export
-- 
1.8.2.241.gee8bb87
Next: Thomas Rast
Message 1 of 12 in “git log -L”
  1. 0/5 git log -LThomas Rast, Mar 21, 2013
  2. 1/5 Refactor parse_locThomas Rast, Mar 21, 2013
  3. 2/5 Export rewrite_parents() for 'log -L'Thomas Rast, Mar 21, 2013
  4. 3/5 Implement line-history search (git log -L)Thomas Rast, Mar 21, 2013
  5. Junio C HamanoMar 21, 2013
  6. Thomas RastMar 23, 2013
  7. 4/5 log -L: :pattern:file syntax to find by funcnameThomas Rast, Mar 21, 2013
  8. 5/5 Speed up log -L... -MThomas Rast, Mar 21, 2013
  9. Eric SunshineMar 21, 2013
  10. Thomas RastMar 23, 2013
  11. Jeff KingMar 23, 2013
  12. Eric SunshineMar 24, 2013

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.