Tim Henigan <tim.henigan@xxxxxxxxx> writes: > Changes in v8: > - Replaced 'glob' with 'File::Find'. Glob will fail if file paths include > spaces. Using File::Find overcomes that limitation. OK, but doesn't File::Find recurse into its subdirectories? If you create a 'foo' directory there and drop a 'bar' script in it, is the rest of the code prepared to give you "git difftool -t foo/bar"? > - Added 'TOOL_MODE=DIFF' prior to calling 'git-mergetool--lib.sh'. This > insures that the shell script executes as designed. > - difftool now calls 'can_diff' from 'git-mergetool--lib.sh' to insure that > only tools that are capable of diffing are shown as valid options. For > example, 'tortoisemerge' cannot be used as a diff viewer. Good that you caught these brown-paper-bag bugs ;-) It feels a bit awkward that nobody pointed these out, even though the series has been queued in 'pu' since its early iterations. > diff --git a/git-difftool.perl b/git-difftool.perl > index 0fa131c..15fd572 100755 > --- a/git-difftool.perl > +++ b/git-difftool.perl > @@ -38,6 +39,40 @@ USAGE > exit($exitcode); > } > > +sub print_tool_help > +{ > + my ($cmd, @found, @notfound, @tools); > + my $gitpath = Git::exec_path(); > + > + find(sub { push(@tools, $_) unless (-d $_) }, "$gitpath/mergetools"); > + > + for (@tools) { > + my $tool = $_; > + next if ($tool eq "defaults"); Now you use File::Find::find(), you probably should do this kind of trivial filtering inside the callback, no? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html