| Index: third_party/WebKit/Tools/Scripts/webkitpy/w3c/chromium_commit.py
|
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/chromium_commit.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/chromium_commit.py
|
| index f87cb43cd21552d27d9a21fb4265e8c312794431..2f9b7d5f695c9fdd95434cddffd8aaa89a18effd 100644
|
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/chromium_commit.py
|
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/chromium_commit.py
|
| @@ -5,6 +5,8 @@
|
| from webkitpy.common.memoized import memoized
|
| from webkitpy.common.webkit_finder import WebKitFinder
|
|
|
| +WPT_DIR = 'third_party/WebKit/LayoutTests/imported/wpt/'
|
| +
|
|
|
| class ChromiumCommit(object):
|
|
|
| @@ -61,16 +63,38 @@ class ChromiumCommit(object):
|
| 'git', 'show', '--format=%B', '--no-patch', self.sha
|
| ])
|
|
|
| - def format_patch(self):
|
| + def filtered_changed_files(self):
|
| """Makes a patch with just changes in files in the WPT for a given commit."""
|
| - # TODO(jeffcarp): exclude expectations files
|
| - # TODO(jeffcarp): exclude manifest files
|
| +
|
| + changed_files = self.host.executive.run_command([
|
| + 'git', 'diff-tree', '--name-only', '--no-commit-id', '-r', self.sha,
|
| + '--', self.absolute_chromium_wpt_dir()
|
| + ]).splitlines()
|
| +
|
| + blacklist = ['MANIFEST.json', 'resources/testharnessreport.js']
|
| + qualified_blacklist = [WPT_DIR + f for f in blacklist]
|
| + # TODO(jeffcarp): use DepsUpdater.is_baseline
|
| + return [f for f in changed_files if f not in qualified_blacklist and not f.endswith('expected.txt')]
|
| +
|
| + def format_patch(self):
|
| + """Makes a patch with only exportable changes.
|
| + """
|
| + filtered_files = self.filtered_changed_files()
|
| +
|
| + if not filtered_files:
|
| + return ''
|
| +
|
| return self.host.executive.run_command([
|
| 'git', 'format-patch', '-1', '--stdout',
|
| - self.sha, self.absolute_chromium_wpt_dir()
|
| - ])
|
| + self.sha, '--'
|
| + ] + filtered_files, cwd=self.absolute_chromium_dir())
|
|
|
| @memoized
|
| def absolute_chromium_wpt_dir(self):
|
| finder = WebKitFinder(self.host.filesystem)
|
| return finder.path_from_webkit_base('LayoutTests', 'imported', 'wpt')
|
| +
|
| + @memoized
|
| + def absolute_chromium_dir(self):
|
| + finder = WebKitFinder(self.host.filesystem)
|
| + return finder.chromium_base()
|
|
|