Skip to content

Commit

Permalink
Merge branch 'maint'
Browse files Browse the repository at this point in the history
* maint:
  GIT 1.6.5.1
  grep: do not segfault when -f is used
  • Loading branch information
Junio C Hamano committed Oct 17, 2009
2 parents c274db7 + b142da2 commit 7641eb4
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 1 deletion.
20 changes: 20 additions & 0 deletions Documentation/RelNotes-1.6.5.1.txt
Original file line number Diff line number Diff line change
@@ -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.
1 change: 1 addition & 0 deletions Documentation/git.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Documentation for older releases are available here:
* link:v1.6.5/git.html[documentation for release 1.6.5]

* release notes for
link:RelNotes-1.6.5.1.txt[1.6.5.1],
link:RelNotes-1.6.5.txt[1.6.5].

* link:v1.6.4.4/git.html[documentation for release 1.6.4.4]
Expand Down
2 changes: 1 addition & 1 deletion builtin-grep.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,7 +631,7 @@ static int file_callback(const struct option *opt, const char *arg, int unset)
struct grep_opt *grep_opt = opt->value;
FILE *patterns;
int lno = 0;
struct strbuf sb;
struct strbuf sb = STRBUF_INIT;

patterns = fopen(arg, "r");
if (!patterns)
Expand Down
66 changes: 66 additions & 0 deletions t/t7002-grep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,72 @@ test_expect_success 'grep -e A --and --not -e B' '
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
y:y yy
--
Expand Down

0 comments on commit 7641eb4

Please sign in to comment.