Skip to content

git log -L

Thomas Rast git 5 versions New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v10 Latest5 patches 0 repliesNew
  2. v95 patches 8 repliesSuperseded
  3. v85 patches 15 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v75 patches12 repliesSuperseded
v68 patches4 repliesSuperseded

Patches in v10 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5Refactor parse_locDocumentation/blame-options.txt Documentation/line-range-format.txt Makefile +4 more+151 -1090 replies
2/5Export rewrite_parents() for 'log -L'revision.c revision.h+14 -90 replies
3/5Implement line-history search (git log -L)Documentation/git-log.txt Makefile builtin/log.c +17 more+2156 -20 replies
4/5log -L: :pattern:file syntax to find by funcnameDocumentation/blame-options.txt Documentation/git-blame.txt Documentation/git-log.txt +8 more+332 -140 replies
5/5Speed up log -L... -Mline-log.c+52 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v10 yet.

Read the v10 thread

Cover letter [PATCH v10 0/5] git log -L

From: Thomas Rast <[email protected]>

This adds a bunch of fixes and failing tests for invalid -L arguments; as Antoine discovered, some variations would segfault v9.

I also changed the beginning of parse_range_funcname (in patch 4/5), which now also lets you backslash-escape a : in a funcname regex. The old version was based on the assumption that there could only be a ':' in the string if we were coming from scan_range_arg, which made it a bit hard to read.

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                        |  243 +++++++
 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                 |   53 ++
 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-f-to-main     |  100 +++
 t/t4211/expect.simple-main          |   68 ++
 t/t4211/expect.simple-main-to-end   |   70 ++
 t/t4211/expect.two-ranges           |  102 +++
 t/t4211/expect.vanishes-early       |   39 ++
 t/t4211/history.export              |  330 ++++++++++
 t/t8003-blame-corner-cases.sh       |    6 +
 27 files changed, 2690 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-f-to-main
 create mode 100644 t/t4211/expect.simple-main
 create mode 100644 t/t4211/expect.simple-main-to-end
 create mode 100644 t/t4211/expect.two-ranges
 create mode 100644 t/t4211/expect.vanishes-early
 create mode 100644 t/t4211/history.export
Signature · 1 line
1.8.2.446.g2b4de83