Modified: trunk/Tools/ChangeLog (255271 => 255272)
--- trunk/Tools/ChangeLog 2020-01-28 21:02:32 UTC (rev 255271)
+++ trunk/Tools/ChangeLog 2020-01-28 21:07:47 UTC (rev 255272)
@@ -1,3 +1,15 @@
+2020-01-28 James Darpinian <[email protected]>
+
+ Quote file argument to git check-attr
+ https://bugs.webkit.org/show_bug.cgi?id=206322
+
+ Reviewed by Jonathan Bedard.
+
+ * Scripts/prepare-ChangeLog:
+ (attributeCommand):
+ * Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl: Added.
+ (writeFileWithContent):
+
2020-01-28 Brent Fulgham <[email protected]>
Reset the application bundle identifier between test runs
Modified: trunk/Tools/Scripts/prepare-ChangeLog (255271 => 255272)
--- trunk/Tools/Scripts/prepare-ChangeLog 2020-01-28 21:02:32 UTC (rev 255271)
+++ trunk/Tools/Scripts/prepare-ChangeLog 2020-01-28 21:07:47 UTC (rev 255272)
@@ -2137,7 +2137,7 @@
}
$result = $attributeCache{$attr}{$file};
} elsif (isGit()) {
- my $command = GIT . " check-attr $attr -- $file";
+ my $command = GIT . " check-attr $attr -- '$file'";
$result = `$command`;
chomp $result;
$result =~ s/.*\W(\w)/$1/;
Added: trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl (0 => 255272)
--- trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl (rev 0)
+++ trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl 2020-01-28 21:07:47 UTC (rev 255272)
@@ -0,0 +1,58 @@
+#!/usr/bin/env perl
+#
+# Copyright (C) 2020 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY GOOGLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR ITS CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+# DAMAGE.
+
+use strict;
+use warnings;
+
+use File::Temp;
+use FindBin;
+use Test::More;
+use VCSUtils;
+
+use lib File::Spec->catdir($FindBin::Bin, "..");
+use LoadAsModule qw(PrepareChangeLog prepare-ChangeLog);
+
+plan(tests => 1);
+
+sub writeFileWithContent($$)
+{
+ my ($file, $content) = @_;
+ open(FILE, ">", $file) or die "Cannot open $file: $!";
+ print FILE $content;
+ close(FILE);
+}
+
+my $temporaryDirectory = File::Temp->newdir();
+system("git", "init", $temporaryDirectory);
+my $filename = File::Spec->catfile($temporaryDirectory, "FileWith(Parentheses).txt");
+writeFileWithContent($filename, "");
+writeFileWithContent(File::Spec->catfile($temporaryDirectory, ".gitattributes"), "* foo=1\nb");
+
+my $result = 0;
+chdir $temporaryDirectory;
+$result = PrepareChangeLog::attributeCommand($filename, "foo");
+chdir '..';
+
+is($result, 1, "Should successfully get foo attribute from file with parentheses in name.");