Merge branch 'maint'
* maint: GIT 1.6.5.1 grep: do not segfault when -f is used
This commit is contained in:
commit
7641eb400f
20
Documentation/RelNotes-1.6.5.1.txt
Normal file
20
Documentation/RelNotes-1.6.5.1.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
GIT v1.6.5.1 Release Notes
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Fixes since v1.6.5
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* An corrupt pack could make codepath to read objects into an
|
||||||
|
infinite loop.
|
||||||
|
|
||||||
|
* Download throughput display was always shown in KiB/s but on fast links
|
||||||
|
it is more appropriate to show it in MiB/s.
|
||||||
|
|
||||||
|
* "git grep -f filename" used uninitialized variable and segfaulted.
|
||||||
|
|
||||||
|
* "git clone -b branch" gave a wrong commit object name to post-checkout
|
||||||
|
hook.
|
||||||
|
|
||||||
|
* "git pull" over http did not work on msys.
|
||||||
|
|
||||||
|
Other minor documentation updates are included.
|
@ -46,6 +46,7 @@ Documentation for older releases are available here:
|
|||||||
* link:v1.6.5/git.html[documentation for release 1.6.5]
|
* link:v1.6.5/git.html[documentation for release 1.6.5]
|
||||||
|
|
||||||
* release notes for
|
* release notes for
|
||||||
|
link:RelNotes-1.6.5.1.txt[1.6.5.1],
|
||||||
link:RelNotes-1.6.5.txt[1.6.5].
|
link:RelNotes-1.6.5.txt[1.6.5].
|
||||||
|
|
||||||
* link:v1.6.4.4/git.html[documentation for release 1.6.4.4]
|
* link:v1.6.4.4/git.html[documentation for release 1.6.4.4]
|
||||||
|
@ -631,7 +631,7 @@ static int file_callback(const struct option *opt, const char *arg, int unset)
|
|||||||
struct grep_opt *grep_opt = opt->value;
|
struct grep_opt *grep_opt = opt->value;
|
||||||
FILE *patterns;
|
FILE *patterns;
|
||||||
int lno = 0;
|
int lno = 0;
|
||||||
struct strbuf sb;
|
struct strbuf sb = STRBUF_INIT;
|
||||||
|
|
||||||
patterns = fopen(arg, "r");
|
patterns = fopen(arg, "r");
|
||||||
if (!patterns)
|
if (!patterns)
|
||||||
|
@ -213,6 +213,72 @@ test_expect_success 'grep -e A --and --not -e B' '
|
|||||||
test_cmp expected actual
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'grep -f, non-existent file' '
|
||||||
|
test_must_fail git grep -f patterns
|
||||||
|
'
|
||||||
|
|
||||||
|
cat >expected <<EOF
|
||||||
|
file:foo mmap bar
|
||||||
|
file:foo_mmap bar
|
||||||
|
file:foo_mmap bar mmap
|
||||||
|
file:foo mmap bar_mmap
|
||||||
|
file:foo_mmap bar mmap baz
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat >pattern <<EOF
|
||||||
|
mmap
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_expect_success 'grep -f, one pattern' '
|
||||||
|
git grep -f pattern >actual &&
|
||||||
|
test_cmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
|
cat >expected <<EOF
|
||||||
|
file:foo mmap bar
|
||||||
|
file:foo_mmap bar
|
||||||
|
file:foo_mmap bar mmap
|
||||||
|
file:foo mmap bar_mmap
|
||||||
|
file:foo_mmap bar mmap baz
|
||||||
|
t/a/v:vvv
|
||||||
|
t/v:vvv
|
||||||
|
v:vvv
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat >patterns <<EOF
|
||||||
|
mmap
|
||||||
|
vvv
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_expect_success 'grep -f, multiple patterns' '
|
||||||
|
git grep -f patterns >actual &&
|
||||||
|
test_cmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
|
cat >expected <<EOF
|
||||||
|
file:foo mmap bar
|
||||||
|
file:foo_mmap bar
|
||||||
|
file:foo_mmap bar mmap
|
||||||
|
file:foo mmap bar_mmap
|
||||||
|
file:foo_mmap bar mmap baz
|
||||||
|
t/a/v:vvv
|
||||||
|
t/v:vvv
|
||||||
|
v:vvv
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat >patterns <<EOF
|
||||||
|
|
||||||
|
mmap
|
||||||
|
|
||||||
|
vvv
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_expect_success 'grep -f, ignore empty lines' '
|
||||||
|
git grep -f patterns >actual &&
|
||||||
|
test_cmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
cat >expected <<EOF
|
cat >expected <<EOF
|
||||||
y:y yy
|
y:y yy
|
||||||
--
|
--
|
||||||
|
Loading…
Reference in New Issue
Block a user