summaryrefslogtreecommitdiff
path: root/git-send-email.perl
diff options
context:
space:
mode:
authorRamkumar Ramachandra <artagnon@gmail.com>2013-04-01 01:40:41 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-04-01 04:30:27 (GMT)
commit9b39703920b2d64985abcc1348b169d8fa658c24 (patch)
tree8e56df66006ef4db8827ac00ef556f3d3a27e5bb /git-send-email.perl
parent622bc9309155b05af1a0d85bfb643bf6280eba35 (diff)
downloadgit-9b39703920b2d64985abcc1348b169d8fa658c24.zip
git-9b39703920b2d64985abcc1348b169d8fa658c24.tar.gz
git-9b39703920b2d64985abcc1348b169d8fa658c24.tar.bz2
send-email: drop misleading function prototype
The subroutine check_file_rev_conflict() is called from two places, both of which expects to pass a single scalar variable and see if that can be interpreted as a pathname or a revision name. It is defined with a function prototype ($) to force a scalar context while evaluating the arguments at the calling site but it does not help the current calling sites. The only effect it has is to hurt future calling sites that may want to build an argument list in an array variable and call it as check_file_rev_confict(@args). Drop the misleading prototype, as Perlcritic suggests. While at it, rename the function to avoid new call sites unaware of this change arising and add a comment clarifying what this function is for. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-send-email.perl')
-rwxr-xr-xgit-send-email.perl10
1 files changed, 6 insertions, 4 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index 79cc5be..fd8bfff 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -512,8 +512,9 @@ if (@alias_files and $aliasfiletype and defined $parse_alias{$aliasfiletype}) {
($sender) = expand_aliases($sender) if defined $sender;
-# returns 1 if the conflict must be solved using it as a format-patch argument
-sub check_file_rev_conflict($) {
+# is_format_patch_arg($f) returns 0 if $f names a patch, or 1 if
+# $f is a revision list specification to be passed to format-patch.
+sub is_format_patch_arg {
return unless $repo;
my $f = shift;
try {
@@ -529,6 +530,7 @@ to produce patches for. Please disambiguate by...
* Giving --format-patch option if you mean a range.
EOF
} catch Git::Error::Command with {
+ # Not a valid revision. Treat it as a filename.
return 0;
}
}
@@ -540,14 +542,14 @@ while (defined(my $f = shift @ARGV)) {
if ($f eq "--") {
push @rev_list_opts, "--", @ARGV;
@ARGV = ();
- } elsif (-d $f and !check_file_rev_conflict($f)) {
+ } elsif (-d $f and !is_format_patch_arg($f)) {
opendir my $dh, $f
or die "Failed to opendir $f: $!";
push @files, grep { -f $_ } map { catfile($f, $_) }
sort readdir $dh;
closedir $dh;
- } elsif ((-f $f or -p $f) and !check_file_rev_conflict($f)) {
+ } elsif ((-f $f or -p $f) and !is_format_patch_arg($f)) {
push @files, $f;
} else {
push @rev_list_opts, $f;