diff -Nru ack-grep-1.90/ack ack-grep-1.92/ack --- ack-grep-1.90/ack 2009-09-08 05:29:29.000000000 +0100 +++ ack-grep-1.92/ack 2009-12-11 17:51:51.000000000 +0000 @@ -4,7 +4,7 @@ # Please DO NOT EDIT or send patches for it. # # Please take a look at the source from -# http://code.google.com/p/ack/source +# http://github.com/petdance/ack # and submit patches against the individual files # that build ack. # @@ -12,7 +12,7 @@ use warnings; use strict; -our $VERSION = '1.90'; +our $VERSION = '1.92'; # Check http://betterthangrep.com/ for updates # These are all our globals. @@ -92,7 +92,7 @@ App::Ack::set_up_pager( $opt->{pager} ) if defined $opt->{pager}; if ( $opt->{f} ) { - App::Ack::print_files( $iter, $opt ); + $nmatches = App::Ack::print_files( $iter, $opt ); } elsif ( $opt->{l} || $opt->{count} ) { $nmatches = App::Ack::print_files_with_matches( $iter, $opt ); @@ -143,7 +143,7 @@ =over 4 -=item * Backup files: Files ending with F<~>, or F<#*#> +=item * Backup files: Files matching F<#*#> or ending with F<~>. =item * Coredumps: Files matching F @@ -660,8 +660,8 @@ The I code 2 for errors is not used. -0 is returned if C<-f> or C<-g> are specified, irrespective of -number of files found. +If C<-f> or C<-g> are specified, then 0 is returned if at least one +file is found. If no files are found, then 1 is returned. =cut @@ -729,6 +729,31 @@ =head1 FAQ +=head2 Why isn't ack finding a match in (some file)? + +Probably because it's of a type that ack doesn't recognize. + +ack's searching behavior is driven by filetype. If ack doesn't +know what kind of file it is, ack ignores it. + +If you want ack to search files that it doesn't recognize, use the +C<-a> switch. + +If you want ack to search every file, even ones that it always +ignores like coredumps and backup files, use the C<-u> switch. + +=head2 Why does ack ignore unknown files by default? + +ack is designed by a programmer, for programmers, for searching +large trees of code. Most codebases have a lot files in them which +aren't source files (like compiled object files, source control +metadata, etc), and grep wastes a lot of time searching through all +of those as well and returning matches from those files. + +That's why ack's behavior of not searching things it doesn't recognize +is one of its greatest strengths: the speed you get from only +searching the things that you want to be looking at. + =head2 Wouldn't it be great if F did search & replace? No, ack will always be read-only. Perl has a perfectly good way @@ -741,6 +766,25 @@ $ perl -i -p -e's/foo/bar/g' $(ack -f --php) +=head2 Can you make ack recognize F<.xyz> files? + +That's an enhancement. Please see the section in the manual about +enhancements. + +=head2 There's already a program/package called ack. + +Yes, I know. + +=head2 Why is it called ack if it's called ack-grep? + +The name of the program is "ack". Some packagers have called it +"ack-grep" when creating packages because there's already a package +out there called "ack" that has nothing to do with this ack. + +I suggest you rename your ack-grep install to "ack" because one of +the crucial benefits of ack is having a name that's so short and +simple to type. + =head1 AUTHOR Andy Lester, C<< >> @@ -748,17 +792,17 @@ =head1 BUGS Please report any bugs or feature requests to the issues list at -Google Code: L +Github: L =head1 ENHANCEMENTS All enhancement requests MUST first be posted to the ack-users mailing list at L. I will not consider a request without it first getting seen by other -ack users. +ack users. This includes requests for new filetypes. There is a list of enhancements I want to make to F in the ack -issues list at Google Code: L +issues list at Github: L Patches are always welcome, but patches with tests get the most attention. @@ -773,9 +817,9 @@ L -=item * The ack issues list at Google Code +=item * The ack issues list at Github -L +L =item * AnnoCPAN: Annotated CPAN documentation @@ -789,9 +833,9 @@ L -=item * Subversion repository +=item * Git source repository -L +L =back @@ -800,6 +844,9 @@ How appropriate to have Inowledgements! Thanks to everyone who has contributed to ack in any way, including +Packy Anderson, +JR Boyens, +Dan Sully, Ryan Niebur, Kent Fredric, Mike Morearty, @@ -1054,8 +1101,8 @@ our $VERSION; our $COPYRIGHT; BEGIN { - $VERSION = '1.90'; - $COPYRIGHT = 'Copyright 2005-2009 Andy Lester, all rights reserved.'; + $VERSION = '1.92'; + $COPYRIGHT = 'Copyright 2005-2009 Andy Lester.'; } our $fh; @@ -1133,11 +1180,12 @@ ocaml => [qw( ml mli )], parrot => [qw( pir pasm pmc ops pod pg tg )], perl => [qw( pl pm pod t )], - php => [qw( php phpt php3 php4 php5 )], + php => [qw( php phpt php3 php4 php5 phtml)], plone => [qw( pt cpt metadata cpy py )], python => [qw( py )], rake => q{Rakefiles}, ruby => [qw( rb rhtml rjs rxml erb rake )], + scala => [qw( scala )], scheme => [qw( scm ss )], shell => [qw( sh bash csh tcsh ksh zsh )], skipped => q{Files, but not directories, normally skipped by ack (default: off)}, @@ -1284,7 +1332,7 @@ my $parser = Getopt::Long::Parser->new(); $parser->configure( 'bundling', 'no_ignore_case', ); $parser->getoptions( %{$getopt_specs} ) or - App::Ack::die( 'See ack --help or ack --man for options.' ); + App::Ack::die( 'See ack --help, ack --help-types or ack --man for options.' ); my $to_screen = not output_to_pipe(); my %defaults = ( @@ -1448,11 +1496,11 @@ sub filetypes { my $filename = shift; - return 'skipped' unless is_searchable( $filename ); - my $basename = $filename; $basename =~ s{.*[$dir_sep_chars]}{}; + return 'skipped' unless is_searchable( $basename ); + my $lc_basename = lc $basename; return ('make',TEXT) if $lc_basename eq 'makefile'; return ('rake','ruby',TEXT) if $lc_basename eq 'rakefile'; @@ -1509,7 +1557,9 @@ # If these are updated, update the --help message return if $filename =~ /[.]bak$/; return if $filename =~ /~$/; - return if $filename =~ m{[$dir_sep_chars]?(?:#.+#|core\.\d+|[._].*\.swp)$}o; + return if $filename =~ m{^#.*#$}o; + return if $filename =~ m{^core\.\d+$}o; + return if $filename =~ m{[._].*\.swp$}o; return 1; } @@ -2117,12 +2167,14 @@ my $ors = $opt->{print0} ? "\0" : "\n"; + my $nmatches = 0; while ( defined ( my $file = $iter->() ) ) { App::Ack::print $file, $ors; + $nmatches++; last if $opt->{1}; } - return; + return $nmatches; } @@ -2282,14 +2334,14 @@ if ( $g_regex ) { $file_filter = $opt->{u} ? sub { $File::Next::name =~ /$g_regex/ } # XXX Maybe this should be a 1, no? - : $opt->{all} ? sub { $starting_point{ $File::Next::name } || ( $File::Next::name =~ /$g_regex/ && is_searchable( $File::Next::name ) ) } + : $opt->{all} ? sub { $starting_point{ $File::Next::name } || ( $File::Next::name =~ /$g_regex/ && is_searchable( $_ ) ) } : sub { $starting_point{ $File::Next::name } || ( $File::Next::name =~ /$g_regex/ && is_interesting( @_ ) ) } ; } else { $file_filter = $opt->{u} ? sub {1} - : $opt->{all} ? sub { $starting_point{ $File::Next::name } || is_searchable( $File::Next::name ) } + : $opt->{all} ? sub { $starting_point{ $File::Next::name } || is_searchable( $_ ) } : sub { $starting_point{ $File::Next::name } || is_interesting( @_ ) } ; } @@ -2314,7 +2366,7 @@ sub set_up_pager { my $command = shift; - return unless App::Ack::output_to_pipe(); + return if App::Ack::output_to_pipe(); my $pager; if ( not open( $pager, '|-', $command ) ) { diff -Nru ack-grep-1.90/ack-base ack-grep-1.92/ack-base --- ack-grep-1.90/ack-base 2009-09-08 05:27:09.000000000 +0100 +++ ack-grep-1.92/ack-base 2009-12-11 17:46:08.000000000 +0000 @@ -3,7 +3,7 @@ use warnings; use strict; -our $VERSION = '1.90'; +our $VERSION = '1.92'; # Check http://betterthangrep.com/ for updates # These are all our globals. @@ -84,7 +84,7 @@ App::Ack::set_up_pager( $opt->{pager} ) if defined $opt->{pager}; if ( $opt->{f} ) { - App::Ack::print_files( $iter, $opt ); + $nmatches = App::Ack::print_files( $iter, $opt ); } elsif ( $opt->{l} || $opt->{count} ) { $nmatches = App::Ack::print_files_with_matches( $iter, $opt ); @@ -135,7 +135,7 @@ =over 4 -=item * Backup files: Files ending with F<~>, or F<#*#> +=item * Backup files: Files matching F<#*#> or ending with F<~>. =item * Coredumps: Files matching F @@ -652,8 +652,8 @@ The I code 2 for errors is not used. -0 is returned if C<-f> or C<-g> are specified, irrespective of -number of files found. +If C<-f> or C<-g> are specified, then 0 is returned if at least one +file is found. If no files are found, then 1 is returned. =cut @@ -721,6 +721,31 @@ =head1 FAQ +=head2 Why isn't ack finding a match in (some file)? + +Probably because it's of a type that ack doesn't recognize. + +ack's searching behavior is driven by filetype. If ack doesn't +know what kind of file it is, ack ignores it. + +If you want ack to search files that it doesn't recognize, use the +C<-a> switch. + +If you want ack to search every file, even ones that it always +ignores like coredumps and backup files, use the C<-u> switch. + +=head2 Why does ack ignore unknown files by default? + +ack is designed by a programmer, for programmers, for searching +large trees of code. Most codebases have a lot files in them which +aren't source files (like compiled object files, source control +metadata, etc), and grep wastes a lot of time searching through all +of those as well and returning matches from those files. + +That's why ack's behavior of not searching things it doesn't recognize +is one of its greatest strengths: the speed you get from only +searching the things that you want to be looking at. + =head2 Wouldn't it be great if F did search & replace? No, ack will always be read-only. Perl has a perfectly good way @@ -733,6 +758,25 @@ $ perl -i -p -e's/foo/bar/g' $(ack -f --php) +=head2 Can you make ack recognize F<.xyz> files? + +That's an enhancement. Please see the section in the manual about +enhancements. + +=head2 There's already a program/package called ack. + +Yes, I know. + +=head2 Why is it called ack if it's called ack-grep? + +The name of the program is "ack". Some packagers have called it +"ack-grep" when creating packages because there's already a package +out there called "ack" that has nothing to do with this ack. + +I suggest you rename your ack-grep install to "ack" because one of +the crucial benefits of ack is having a name that's so short and +simple to type. + =head1 AUTHOR Andy Lester, C<< >> @@ -740,17 +784,17 @@ =head1 BUGS Please report any bugs or feature requests to the issues list at -Google Code: L +Github: L =head1 ENHANCEMENTS All enhancement requests MUST first be posted to the ack-users mailing list at L. I will not consider a request without it first getting seen by other -ack users. +ack users. This includes requests for new filetypes. There is a list of enhancements I want to make to F in the ack -issues list at Google Code: L +issues list at Github: L Patches are always welcome, but patches with tests get the most attention. @@ -765,9 +809,9 @@ L -=item * The ack issues list at Google Code +=item * The ack issues list at Github -L +L =item * AnnoCPAN: Annotated CPAN documentation @@ -781,9 +825,9 @@ L -=item * Subversion repository +=item * Git source repository -L +L =back @@ -792,6 +836,9 @@ How appropriate to have Inowledgements! Thanks to everyone who has contributed to ack in any way, including +Packy Anderson, +JR Boyens, +Dan Sully, Ryan Niebur, Kent Fredric, Mike Morearty, diff -Nru ack-grep-1.90/ack-help.txt ack-grep-1.92/ack-help.txt --- ack-grep-1.90/ack-help.txt 2009-09-08 05:29:29.000000000 +0100 +++ ack-grep-1.92/ack-help.txt 2009-12-11 17:51:51.000000000 +0000 @@ -121,4 +121,4 @@ Exit status is 0 if match, 1 if no match. -This is version 1.90 of ack. +This is version 1.92 of ack. diff -Nru ack-grep-1.90/ack-help-types.txt ack-grep-1.92/ack-help-types.txt --- ack-grep-1.90/ack-help-types.txt 2009-09-08 05:29:29.000000000 +0100 +++ ack-grep-1.92/ack-help-types.txt 2009-12-11 17:51:51.000000000 +0000 @@ -35,11 +35,12 @@ --[no]ocaml .ml .mli --[no]parrot .pir .pasm .pmc .ops .pod .pg .tg --[no]perl .pl .pm .pod .t - --[no]php .php .phpt .php3 .php4 .php5 + --[no]php .php .phpt .php3 .php4 .php5 .phtml --[no]plone .pt .cpt .metadata .cpy .py --[no]python .py --[no]rake Rakefiles --[no]ruby .rb .rhtml .rjs .rxml .erb .rake + --[no]scala .scala --[no]scheme .scm .ss --[no]shell .sh .bash .csh .tcsh .ksh .zsh --[no]skipped Files, but not directories, normally skipped by ack (default: off) diff -Nru ack-grep-1.90/Ack.pm ack-grep-1.92/Ack.pm --- ack-grep-1.90/Ack.pm 2009-09-08 05:26:19.000000000 +0100 +++ ack-grep-1.92/Ack.pm 2009-12-11 17:43:16.000000000 +0000 @@ -13,15 +13,15 @@ =head1 VERSION -Version 1.90 +Version 1.92 =cut our $VERSION; our $COPYRIGHT; BEGIN { - $VERSION = '1.90'; - $COPYRIGHT = 'Copyright 2005-2009 Andy Lester, all rights reserved.'; + $VERSION = '1.92'; + $COPYRIGHT = 'Copyright 2005-2009 Andy Lester.'; } our $fh; @@ -99,11 +99,12 @@ ocaml => [qw( ml mli )], parrot => [qw( pir pasm pmc ops pod pg tg )], perl => [qw( pl pm pod t )], - php => [qw( php phpt php3 php4 php5 )], + php => [qw( php phpt php3 php4 php5 phtml)], plone => [qw( pt cpt metadata cpy py )], python => [qw( py )], rake => q{Rakefiles}, ruby => [qw( rb rhtml rjs rxml erb rake )], + scala => [qw( scala )], scheme => [qw( scm ss )], shell => [qw( sh bash csh tcsh ksh zsh )], skipped => q{Files, but not directories, normally skipped by ack (default: off)}, @@ -268,7 +269,7 @@ my $parser = Getopt::Long::Parser->new(); $parser->configure( 'bundling', 'no_ignore_case', ); $parser->getoptions( %{$getopt_specs} ) or - App::Ack::die( 'See ack --help or ack --man for options.' ); + App::Ack::die( 'See ack --help, ack --help-types or ack --man for options.' ); my $to_screen = not output_to_pipe(); my %defaults = ( @@ -470,11 +471,11 @@ sub filetypes { my $filename = shift; - return 'skipped' unless is_searchable( $filename ); - my $basename = $filename; $basename =~ s{.*[$dir_sep_chars]}{}; + return 'skipped' unless is_searchable( $basename ); + my $lc_basename = lc $basename; return ('make',TEXT) if $lc_basename eq 'makefile'; return ('rake','ruby',TEXT) if $lc_basename eq 'rakefile'; @@ -535,6 +536,8 @@ /[._].*\.swp$/ - Vi(m) swap files /core\.\d+$/ - core dumps +Note that I<$filename> must be just a file, not a full path. + =cut sub is_searchable { @@ -543,7 +546,9 @@ # If these are updated, update the --help message return if $filename =~ /[.]bak$/; return if $filename =~ /~$/; - return if $filename =~ m{[$dir_sep_chars]?(?:#.+#|core\.\d+|[._].*\.swp)$}o; + return if $filename =~ m{^#.*#$}o; + return if $filename =~ m{^core\.\d+$}o; + return if $filename =~ m{[._].*\.swp$}o; return 1; } @@ -1246,12 +1251,14 @@ my $ors = $opt->{print0} ? "\0" : "\n"; + my $nmatches = 0; while ( defined ( my $file = $iter->() ) ) { App::Ack::print $file, $ors; + $nmatches++; last if $opt->{1}; } - return; + return $nmatches; } =head2 print_files_with_matches( $iter, $opt ) @@ -1441,14 +1448,14 @@ if ( $g_regex ) { $file_filter = $opt->{u} ? sub { $File::Next::name =~ /$g_regex/ } # XXX Maybe this should be a 1, no? - : $opt->{all} ? sub { $starting_point{ $File::Next::name } || ( $File::Next::name =~ /$g_regex/ && is_searchable( $File::Next::name ) ) } + : $opt->{all} ? sub { $starting_point{ $File::Next::name } || ( $File::Next::name =~ /$g_regex/ && is_searchable( $_ ) ) } : sub { $starting_point{ $File::Next::name } || ( $File::Next::name =~ /$g_regex/ && is_interesting( @_ ) ) } ; } else { $file_filter = $opt->{u} ? sub {1} - : $opt->{all} ? sub { $starting_point{ $File::Next::name } || is_searchable( $File::Next::name ) } + : $opt->{all} ? sub { $starting_point{ $File::Next::name } || is_searchable( $_ ) } : sub { $starting_point{ $File::Next::name } || is_interesting( @_ ) } ; } @@ -1473,7 +1480,7 @@ sub set_up_pager { my $command = shift; - return unless App::Ack::output_to_pipe(); + return if App::Ack::output_to_pipe(); my $pager; if ( not open( $pager, '|-', $command ) ) { @@ -1508,7 +1515,7 @@ =head1 COPYRIGHT & LICENSE -Copyright 2005-2009 Andy Lester, all rights reserved. +Copyright 2005-2009 Andy Lester. This program is free software; you can redistribute it and/or modify it under the terms of either: diff -Nru ack-grep-1.90/Changes ack-grep-1.92/Changes --- ack-grep-1.90/Changes 2009-09-08 05:24:32.000000000 +0100 +++ ack-grep-1.92/Changes 2009-12-11 17:50:27.000000000 +0000 @@ -1,6 +1,33 @@ -Changelog for ack +1.92 Fri Dec 11 11:47:56 CST 2009 + + ack is now hosted at github: http://github.com/petdance/ack + + [FIXES] + The --pager flag would not work. Now it does. Thanks Packy + Anderson. + + File matching for Emacs work files that match #*# was wrong. + It was checking the entire path, not just the basename. This + is fixed. (http://github.com/petdance/ack/issues/closed/#issue/101) + + Fixed URLs that pointed to old Google Code. + + + [ENHANCEMENTS] + Added Scala support. Thanks to Dan Sully. + + Added .phtml as an extension for PHP. + + Using -f or -g now return a proper error code. If files are + found, ack returns 0. If none are found, ack returns 1. This + is a change in the specification, but the code didn't match the + specfication anyway. + + No man pages are created for any of the .pm files any more. + 1.90 Mon Sep 7 23:24:24 CDT 2009 + [ENHANCEMENTS] Added Ada support. Thanks to Shaun Patterson. @@ -13,6 +40,7 @@ Added an updated ack.bash_completion.sh from Adam James. + [FIXES] Expanded --files-without-match to --files-without-matches. @@ -24,17 +52,20 @@ Fixed uninitialized errors in tickets #138 and #159. + [DOCUMENTATION] Fixed an incorrect command line in the docs for -f. Added notes on --pager. Thanks to Mike Morearty. + [BUILD] Made the squash program more robust when handling POD. Thanks to Kent Fredric. 1.89_02 Wed May 13 16:20:21 CDT 2009 + [DISTRIBUTION] Updated Makefile.PL to use new ExtUtils::MakeMaker features. Thanks, Schwern. @@ -593,14 +624,14 @@ RT #25391: Fixed test failures under Win32. - Spelled Slaven Rezić's name properly. Look, my first utf-8 string! + Spelled Slaven Rezić's name properly. Look, my first utf-8 string! [ENHANCEMENTS] Added .properties extension for --java. Added -L as a negation to -l. This is equivalent to -l -v. - Added more GNU-style long opts. Thanks to Ævar Arnfjörð Bjarmason, + Added more GNU-style long opts. Thanks to Ævar Arnfjörð Bjarmason, my second utf-8 string. @@ -730,4 +761,3 @@ Lots of refactoring of search() in preparation for showing context around matches. - diff -Nru ack-grep-1.90/debian/changelog ack-grep-1.92/debian/changelog --- ack-grep-1.90/debian/changelog 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/changelog 2010-01-04 14:24:11.000000000 +0000 @@ -1,3 +1,12 @@ +ack-grep (1.92-1) unstable; urgency=low + + * change section to utils to match the override + * New Upstream Version + * refresh/improve some patches + * remove patches fixed upstream + + -- Ryan Niebur Thu, 24 Dec 2009 20:54:35 -0800 + ack-grep (1.90-2) unstable; urgency=low * fix logic when deciding whether to run the pager or not (Closes: diff -Nru ack-grep-1.90/debian/control ack-grep-1.92/debian/control --- ack-grep-1.90/debian/control 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/control 2010-01-04 14:24:11.000000000 +0000 @@ -1,5 +1,5 @@ Source: ack-grep -Section: perl +Section: utils Priority: optional Build-Depends: debhelper (>= 7.0.50), quilt (>= 0.46-7), perl (>= 5.8.8-7), libfile-next-perl, quilt, libtest-differences-perl, libtest-pod-perl, bash-completion Maintainer: Ryan Niebur diff -Nru ack-grep-1.90/debian/patches/554459.patch ack-grep-1.92/debian/patches/554459.patch --- ack-grep-1.90/debian/patches/554459.patch 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/patches/554459.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -diff --git a/Ack.pm b/Ack.pm -index 17e13ea..aa8f109 100644 ---- a/Ack.pm -+++ b/Ack.pm -@@ -1473,7 +1473,7 @@ sub get_iterator { - sub set_up_pager { - my $command = shift; - -- return unless App::Ack::output_to_pipe(); -+ return if App::Ack::output_to_pipe(); - - my $pager; - if ( not open( $pager, '|-', $command ) ) { diff -Nru ack-grep-1.90/debian/patches/app-rename ack-grep-1.92/debian/patches/app-rename --- ack-grep-1.90/debian/patches/app-rename 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/patches/app-rename 2010-01-04 14:24:11.000000000 +0000 @@ -1,7 +1,5 @@ rename it (in the POD) to ack-grep -Index: b/ack-base -=================================================================== --- a/ack-base +++ b/ack-base @@ -98,39 +98,39 @@ @@ -350,9 +348,9 @@ IP. The second finds the match on my troublesome GIF, and shows the previous five lines from the log in each case. -@@ -721,17 +721,17 @@ - - =head1 FAQ +@@ -746,17 +746,17 @@ + is one of its greatest strengths: the speed you get from only + searching the things that you want to be looking at. -=head2 Wouldn't it be great if F did search & replace? +=head2 Wouldn't it be great if F did search & replace? @@ -370,21 +368,33 @@ - $ perl -i -p -e's/foo/bar/g' $(ack -f --php) + $ perl -i -p -e's/foo/bar/g' $(ack-grep -f --php) + =head2 Can you make ack recognize F<.xyz> files? + +@@ -773,9 +773,11 @@ + "ack-grep" when creating packages because there's already a package + out there called "ack" that has nothing to do with this ack. + +-I suggest you rename your ack-grep install to "ack" because one of +-the crucial benefits of ack is having a name that's so short and +-simple to type. ++I suggest you make a symlink named ack that points to ack-grep because ++one of the crucial benefits of ack is having a name that's so short ++and simple to type. ++ ++To do that, run: ln -s /usr/bin/ack-grep /usr/bin/ack + =head1 AUTHOR -@@ -747,9 +747,9 @@ +@@ -791,7 +793,7 @@ All enhancement requests MUST first be posted to the ack-users mailing list at L. I will not consider a request without it first getting seen by other --ack users. -+ack-grep users. +-ack users. This includes requests for new filetypes. ++ack-grep users. This includes requests for new filetypes. --There is a list of enhancements I want to make to F in the ack -+There is a list of enhancements I want to make to F in the ack - issues list at Google Code: L - - Patches are always welcome, but patches with tests get the most -@@ -757,7 +757,7 @@ + There is a list of enhancements I want to make to F in the ack + issues list at Github: L +@@ -801,7 +803,7 @@ =head1 SUPPORT @@ -393,20 +403,67 @@ =over 4 -@@ -791,7 +791,7 @@ +@@ -835,7 +837,7 @@ How appropriate to have Inowledgements! -Thanks to everyone who has contributed to ack in any way, including +Thanks to everyone who has contributed to ack-grep in any way, including - Ryan Niebur, - Kent Fredric, - Mike Morearty, -Index: b/Ack.pm -=================================================================== + Packy Anderson, + JR Boyens, + Dan Sully, --- a/Ack.pm +++ b/Ack.pm -@@ -721,7 +721,7 @@ +@@ -269,7 +269,7 @@ + my $parser = Getopt::Long::Parser->new(); + $parser->configure( 'bundling', 'no_ignore_case', ); + $parser->getoptions( %{$getopt_specs} ) or +- App::Ack::die( 'See ack --help, ack --help-types or ack --man for options.' ); ++ App::Ack::die( 'See ack-grep --help, ack-grep --help-types or ack-grep --man for options.' ); + + my $to_screen = not output_to_pipe(); + my %defaults = ( +@@ -365,7 +365,7 @@ + $parser->getoptions( + 'type-set=s' => sub { shift; push @typedef, ['c', shift] }, + 'type-add=s' => sub { shift; push @typedef, ['a', shift] }, +- ) or App::Ack::die( 'See ack --help or ack --man for options.' ); ++ ) or App::Ack::die( 'See ack-grep --help or ack-grep --man for options.' ); + + for my $td (@typedef) { + my ($type, $ext) = split /=/, $td->[1]; +@@ -647,7 +647,7 @@ + + sub _thpppt { + my $y = _get_thpppt(); +- App::Ack::print( "$y ack $_[0]!\n" ); ++ App::Ack::print( "$y ack-grep $_[0]!\n" ); + exit 0; + } + +@@ -672,18 +672,18 @@ + my $ignore_dirs = _listify( sort { _key($a) cmp _key($b) } keys %ignore_dirs ); + + App::Ack::print( <<"END_OF_HELP" ); +-Usage: ack [OPTION]... PATTERN [FILE] ++Usage: ack-grep [OPTION]... PATTERN [FILE] + + Search for PATTERN in each source file in the tree from cwd on down. + If [FILES] is specified, then only those files/directories are checked. +-ack may also search STDIN, but only if no FILE are specified, or if ++ack-grep may also search STDIN, but only if no FILE are specified, or if + one of FILES is "-". + + Default switches may be specified in ACK_OPTIONS environment variable or + an .ackrc file. If you want no dependency on the environment, turn it + off with --noenv. + +-Example: ack -i select ++Example: ack-grep -i select + + Searching: + -i, --ignore-case Ignore case distinctions in PATTERN +@@ -726,7 +726,7 @@ only works with -f, -g, -l, -L or -c. File presentation: @@ -415,7 +472,7 @@ --pager="less -R". Ignored if output is redirected. --nopager Do not send output through a pager. Cancels any setting in ~/.ackrc, ACK_PAGER or ACK_PAGER_COLOR. -@@ -736,7 +736,7 @@ +@@ -741,7 +741,7 @@ --[no]colour Same as --[no]color --color-filename=COLOR --color-match=COLOR Set the color for matches and filenames. @@ -424,7 +481,7 @@ non-interactively (when output goes to a pipe or file). -@@ -751,7 +751,7 @@ +@@ -756,7 +756,7 @@ Ignores CVS, .svn and other ignored directories -u, --unrestricted All files and directories searched --[no]ignore-dir=name Add/Remove directory from the list of ignored dirs @@ -433,7 +490,37 @@ -n, --no-recurse No descending into subdirectories -G REGEX Only search files that match REGEX -@@ -849,7 +849,7 @@ +@@ -764,7 +764,7 @@ + --type=perl Include only Perl files. + --noperl Exclude Perl files. + --type=noperl Exclude Perl files. +- See "ack --help type" for supported filetypes. ++ See "ack-grep --help type" for supported filetypes. + + --type-set TYPE=.EXTENSION[,.EXT2[,...]] + Files with the given EXTENSION(s) are recognized as +@@ -794,7 +794,7 @@ + + Exit status is 0 if match, 1 if no match. + +-This is version $VERSION of ack. ++This is version $VERSION of ack-grep. + END_OF_HELP + + return; +@@ -809,9 +809,9 @@ + + sub show_help_types { + App::Ack::print( <<'END_OF_HELP' ); +-Usage: ack [OPTION]... PATTERN [FILES] ++Usage: ack-grep [OPTION]... PATTERN [FILES] + +-The following is the list of filetypes supported by ack. You can ++The following is the list of filetypes supported by ack-grep. You can + specify a file type with the --type=TYPE format, or the --TYPE + format. For example, both --type=perl and --perl work. + +@@ -854,7 +854,7 @@ =head2 get_version_statement @@ -442,7 +529,34 @@ =cut -@@ -1486,7 +1486,7 @@ +@@ -870,7 +870,7 @@ + my $ver = sprintf( '%vd', $^V ); + + return <<"END_OF_VERSION"; +-ack $VERSION ++ack-grep $VERSION + Running under Perl $ver at $this_perl + + $copyright +@@ -883,7 +883,7 @@ + + =head2 print_version_statement + +-Prints the version information for ack. ++Prints the version information for ack-grep. + + =cut + +@@ -895,7 +895,7 @@ + + =head2 get_copyright + +-Return the copyright for ack. ++Return the copyright for ack-grep. + + =cut + +@@ -1493,7 +1493,7 @@ =head2 input_from_pipe() @@ -451,7 +565,7 @@ =cut -@@ -1497,7 +1497,7 @@ +@@ -1504,7 +1504,7 @@ =head2 output_to_pipe() diff -Nru ack-grep-1.90/debian/patches/series ack-grep-1.92/debian/patches/series --- ack-grep-1.90/debian/patches/series 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/patches/series 2010-01-04 14:24:11.000000000 +0000 @@ -1,5 +1,2 @@ -554459.patch -whatis-entries-for-the-pod -#test-with-ack-base use-ack-base app-rename diff -Nru ack-grep-1.90/debian/patches/test-with-ack-base ack-grep-1.92/debian/patches/test-with-ack-base --- ack-grep-1.90/debian/patches/test-with-ack-base 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/patches/test-with-ack-base 1970-01-01 01:00:00.000000000 +0100 @@ -1,50 +0,0 @@ -make the tests use ack-base, so we're testing the version that's actually installed :) - -Index: b/t/Util.pm -=================================================================== ---- a/t/Util.pm -+++ b/t/Util.pm -@@ -37,7 +37,7 @@ - sub build_ack_command_line { - my @args = @_; - -- return build_command_line( './ack', @args ); -+ return build_command_line( './ack-base', @args ); - } - - sub slurp { -Index: b/t/ack-type.t -=================================================================== ---- a/t/ack-type.t -+++ b/t/ack-type.t -@@ -115,14 +115,14 @@ - - for my $builtin ( @builtins ) { - check_stderr( "--type-set $builtin=.foo", -- qq{ack: --type-set: Builtin type "$builtin" cannot be changed.} ); -+ qq{ack-base: --type-set: Builtin type "$builtin" cannot be changed.} ); - check_stderr( "--type-add $builtin=.foo", -- qq{ack: --type-add: Builtin type "$builtin" cannot be changed.} ); -+ qq{ack-base: --type-add: Builtin type "$builtin" cannot be changed.} ); - } - - # check that there is a warning for creating new types with --append_type - check_stderr( '--type-add foo=.foo --foo', -- q{ack: --type-add: Type "foo" does not exist, creating with ".foo" ...} ); -+ q{ack-base: --type-add: Type "foo" does not exist, creating with ".foo" ...} ); - } - - -Index: b/t/command-line-files.t -=================================================================== ---- a/t/command-line-files.t -+++ b/t/command-line-files.t -@@ -46,7 +46,7 @@ - my $file = File::Next::reslash( 't/swamp/perl.pod' ); - - my @expected_stderr = split( /\n/, <<'EOF' ); --ack: non-existent-file.txt: No such file or directory -+ack-base: non-existent-file.txt: No such file or directory - EOF - - my @expected_stdout = split( /\n/, <<"EOF" ); diff -Nru ack-grep-1.90/debian/patches/use-ack-base ack-grep-1.92/debian/patches/use-ack-base --- ack-grep-1.90/debian/patches/use-ack-base 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/patches/use-ack-base 2010-01-04 14:24:11.000000000 +0000 @@ -1,7 +1,5 @@ install ack-base instead of ack (which includes all dependencies embedded) -Index: b/Makefile.PL -=================================================================== --- a/Makefile.PL +++ b/Makefile.PL @@ -19,7 +19,7 @@ @@ -13,7 +11,7 @@ PREREQ_PM => { 'Test::Harness' => 2.50, # Something reasonably newish 'Term::ANSIColor' => 0, -@@ -56,7 +56,7 @@ +@@ -57,7 +57,7 @@ sub MY::top_targets { my $str = shift->SUPER::top_targets(@_); diff -Nru ack-grep-1.90/debian/patches/whatis-entries-for-the-pod ack-grep-1.92/debian/patches/whatis-entries-for-the-pod --- ack-grep-1.90/debian/patches/whatis-entries-for-the-pod 2010-01-04 14:24:11.000000000 +0000 +++ ack-grep-1.92/debian/patches/whatis-entries-for-the-pod 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -add whatis entries to the generated man pages - ---- a/Basic.pm -+++ b/Basic.pm -@@ -1,8 +1,8 @@ - package App::Ack::Plugin::Basic; - --=head1 SYNOPSIS -+=head1 NAME - --Container for the Repository and Resources necessary. -+App::Ack::Plugin::Basic - Container for the Repository and Resources necessary. - - =cut - ---- a/Plugin.pm -+++ b/Plugin.pm -@@ -1,5 +1,9 @@ - package App::Ack::Plugin; - -+=head1 NAME -+ -+App::Ack::Plugin - basic Ack plugins -+ - =head1 OVERVIEW - - The premise is that each file is a repository of zero or more ---- a/Repository.pm -+++ b/Repository.pm -@@ -1,5 +1,11 @@ - package App::Ack::Repository; - -+=head1 NAME -+ -+App::Ack::Repository - base class to represent some data repository (with resources) for ack to search -+ -+=cut -+ - use App::Ack::Resource; - - use warnings; ---- a/Resource.pm -+++ b/Resource.pm -@@ -10,6 +10,10 @@ - Carp::confess( 'Must be overloaded' ); - } - -+=head1 NAME -+ -+App::Ack::Resource - base class to represent a resource for ack to search -+ - =head1 SYNOPSIS - - This is the base class for App::Ack::Resource and any resources diff -Nru ack-grep-1.90/Makefile.PL ack-grep-1.92/Makefile.PL --- ack-grep-1.90/Makefile.PL 2009-09-08 00:46:12.000000000 +0100 +++ ack-grep-1.92/Makefile.PL 2009-12-11 17:41:50.000000000 +0000 @@ -29,6 +29,7 @@ 'File::Basename' => 0, 'Pod::Usage' => 0, }, + MAN3PODS => {}, # no need for man pages for any of the .pm files dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, clean => { FILES => 'ack-1* nytprof*' }, ); @@ -41,9 +42,9 @@ $parms{META_MERGE} = { resources => { homepage => 'http://betterthangrep.com/', - bugtracker => 'http://code.google.com/p/ack/issues/list', + bugtracker => 'http://github.com/petdance/ack', license => 'http://dev.perl.org/licenses/', - repository => 'http://code.google.com/p/ack/source', + repository => 'git://github.com/petdance/ack.git', MailingList => 'http://groups.google.com/group/ack-users', } }; diff -Nru ack-grep-1.90/MANIFEST ack-grep-1.92/MANIFEST --- ack-grep-1.90/MANIFEST 2009-09-08 05:29:56.000000000 +0100 +++ ack-grep-1.92/MANIFEST 2009-12-11 17:52:21.000000000 +0000 @@ -111,6 +111,7 @@ t/swamp/incomplete-last-line.txt t/swamp/javascript.js t/swamp/moose-andy.jpg +t/swamp/not-an-#emacs-workfile# t/swamp/notaMakefile t/swamp/notaRakefile t/swamp/options.pl diff -Nru ack-grep-1.90/META.yml ack-grep-1.92/META.yml --- ack-grep-1.90/META.yml 2009-09-08 05:29:55.000000000 +0100 +++ ack-grep-1.92/META.yml 2009-12-11 17:52:21.000000000 +0000 @@ -1,6 +1,6 @@ --- #YAML:1.0 name: ack -version: 1.90 +version: 1.92 abstract: A grep-like program specifically for large source trees author: - Andy Lester @@ -19,16 +19,16 @@ Test::Harness: 2.5 Test::More: 0 resources: - bugtracker: http://code.google.com/p/ack/issues/list + bugtracker: http://github.com/petdance/ack homepage: http://betterthangrep.com/ license: http://dev.perl.org/licenses/ MailingList: http://groups.google.com/group/ack-users - repository: http://code.google.com/p/ack/source + repository: git://github.com/petdance/ack.git no_index: directory: - t - inc -generated_by: ExtUtils::MakeMaker version 6.54 +generated_by: ExtUtils::MakeMaker version 6.50 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 diff -Nru ack-grep-1.90/README ack-grep-1.92/README --- ack-grep-1.90/README 2008-01-27 18:04:01.000000000 +0000 +++ ack-grep-1.92/README 2009-09-18 20:12:40.000000000 +0100 @@ -23,18 +23,24 @@ CPAN Ratings: http://cpanratings.perl.org/d/ack - Project Home at Google Code - http://code.google.com/p/ack/ + Project Home at Github + http://github.com/petdance/ack Issue list at Google Code (report bugs there) http://code.google.com/p/ack/issues/list Mailing List - ack-users@googlegroups.com + ack-users@googlegroups.com COPYRIGHT AND LICENCE -Copyright (C) 2005-2008 Andy Lester +Copyright 2005-2009 Andy Lester. -This program is free software; you can redistribute it and/or modify it -under the same terms as Perl itself. +This program is free software; you can redistribute it and/or modify +it under the terms of either: + +* the GNU General Public License as published by the Free Software +Foundation; either version 1, or (at your option) any later version, +or + +* the Artistic License version 2.0. diff -Nru ack-grep-1.90/squash ack-grep-1.92/squash --- ack-grep-1.90/squash 2009-09-03 06:39:27.000000000 +0100 +++ ack-grep-1.92/squash 2009-12-11 16:41:56.000000000 +0000 @@ -13,7 +13,7 @@ # Please DO NOT EDIT or send patches for it. # # Please take a look at the source from -# http://code.google.com/p/ack/source +# http://github.com/petdance/ack # and submit patches against the individual files # that build ack. # diff -Nru ack-grep-1.90/t/ack-text.t ack-grep-1.92/t/ack-text.t --- ack-grep-1.90/t/ack-text.t 2008-07-15 02:51:41.000000000 +0100 +++ ack-grep-1.92/t/ack-text.t 2009-12-11 17:29:37.000000000 +0000 @@ -13,6 +13,7 @@ prep_environment(); ACK_F_TEXT: { + no warnings 'qw'; # The pound signs in one of the filenames fires a warning. my @expected = qw( t/etc/buttonhook.html.xxx t/etc/buttonhook.noxml.xxx @@ -44,9 +45,10 @@ t/swamp/html.htm t/swamp/html.html t/swamp/incomplete-last-line.txt - t/swamp/javascript.js t/swamp/Makefile t/swamp/Makefile.PL + t/swamp/javascript.js + t/swamp/not-an-#emacs-workfile# t/swamp/notaMakefile t/swamp/notaRakefile t/swamp/options.pl diff -Nru ack-grep-1.90/t/swamp/not-an-#emacs-workfile# ack-grep-1.92/t/swamp/not-an-#emacs-workfile# --- ack-grep-1.90/t/swamp/not-an-#emacs-workfile# 1970-01-01 01:00:00.000000000 +0100 +++ ack-grep-1.92/t/swamp/not-an-#emacs-workfile# 2009-12-11 17:26:57.000000000 +0000 @@ -0,0 +1,5 @@ +This is NOT a scratch emacs workfile. + +It sort of looks like one, but it's not. + +The filename kind of matches, but not really.