annotate: fix -S parameter to take a string
authorMartin Langhoff <martin@catalyst.net.nz>
Thu, 2 Mar 2006 04:24:30 +0000 (17:24 +1300)
committerJunio C Hamano <junkio@cox.net>
Thu, 2 Mar 2006 05:33:27 +0000 (21:33 -0800)
In the conversion to Getopt::Long, the -S / --rev-list parameter stopped
working. We need to tell Getopt::Long that it is a string.

As a bonus, the open() now does some useful error handling.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-annotate.perl

index d6028c9..cd476c7 100755 (executable)
@@ -31,7 +31,7 @@ our ($help, $longrev, $rename, $starting_rev, $rev_file) = (0, 0, 1);
 my $rc = GetOptions(   "long|l" => \$longrev,
                        "help|h" => \$help,
                        "rename|r" => \$rename,
-                       "rev-file|S" => \$rev_file);
+                       "rev-file|S=s" => \$rev_file);
 if (!$rc or $help) {
        usage();
 }
@@ -174,7 +174,8 @@ sub git_rev_list {
 
        my $revlist;
        if ($rev_file) {
-               open($revlist, '<' . $rev_file);
+               open($revlist, '<' . $rev_file)
+                   or die "Failed to open $rev_file : $!";
        } else {
                $revlist = open_pipe("git-rev-list","--parents","--remove-empty",$rev,"--",$file)
                        or die "Failed to exec git-rev-list: $!";