[PATCH v10 0/5] git log -L
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Mar 28, 2013, 16:47 UTC
- Message-ID
- <cover.1364488205.git.trast@inf.ethz.ch>
- In-Reply-To
- <CALWbr2xW1SsNXq0wCh9jd_qGVrACLuQT-UETcG+zoxw9xjKSHw@mail.gmail.com>
From: Thomas Rast <trast@inf.ethz.ch>
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
-- 1.8.2.446.g2b4de83