<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[211397] trunk/Tools</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/211397">211397</a></dd>
<dt>Author</dt> <dd>ap@apple.com</dd>
<dt>Date</dt> <dd>2017-01-30 17:20:24 -0800 (Mon, 30 Jan 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Commit queue fails to look at real name aliases for the reviewer
https://bugs.webkit.org/show_bug.cgi?id=167422

Reviewed by Joseph Pecoraro.

* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_has_valid_reviewer): Added tests.

* Scripts/webkitpy/common/config/committers.py:
(CommitterList._name_to_contributor_map):
Made _name_to_contributor_map include alias names.

* Scripts/webkitpy/common/config/committers_unittest.py:
(CommittersTest.test_contributors_by_fuzzy_match):
Removed subtests that are now obsolete, as these matches are strict. It is not
obvious if distance based fuzzy matching for names is useful at all, but we can
look into that some other time.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptswebkitpycommoncheckoutchangelog_unittestpy">trunk/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py</a></li>
<li><a href="#trunkToolsScriptswebkitpycommonconfigcommitterspy">trunk/Tools/Scripts/webkitpy/common/config/committers.py</a></li>
<li><a href="#trunkToolsScriptswebkitpycommonconfigcommitters_unittestpy">trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (211396 => 211397)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2017-01-31 00:54:39 UTC (rev 211396)
+++ trunk/Tools/ChangeLog        2017-01-31 01:20:24 UTC (rev 211397)
</span><span class="lines">@@ -1,3 +1,23 @@
</span><ins>+2017-01-30  Alexey Proskuryakov  &lt;ap@apple.com&gt;
+
+        Commit queue fails to look at real name aliases for the reviewer
+        https://bugs.webkit.org/show_bug.cgi?id=167422
+
+        Reviewed by Joseph Pecoraro.
+
+        * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+        (test_has_valid_reviewer): Added tests.
+
+        * Scripts/webkitpy/common/config/committers.py:
+        (CommitterList._name_to_contributor_map):
+        Made _name_to_contributor_map include alias names.
+
+        * Scripts/webkitpy/common/config/committers_unittest.py:
+        (CommittersTest.test_contributors_by_fuzzy_match):
+        Removed subtests that are now obsolete, as these matches are strict. It is not
+        obvious if distance based fuzzy matching for names is useful at all, but we can
+        look into that some other time.
+
</ins><span class="cx"> 2017-01-30  Aakash Jain  &lt;aakash_jain@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         QueueStatusServer should have an explicit timeout for _fetch_url
</span></span></pre></div>
<a id="trunkToolsScriptswebkitpycommoncheckoutchangelog_unittestpy"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py (211396 => 211397)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py        2017-01-31 00:54:39 UTC (rev 211396)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py        2017-01-31 01:20:24 UTC (rev 211397)
</span><span class="lines">@@ -479,6 +479,8 @@
</span><span class="cx">         self._assert_has_valid_reviewer(&quot;Rubber stamped by Eric Seidel.&quot;, True)
</span><span class="cx">         self._assert_has_valid_reviewer(&quot;Unreviewed build fix.&quot;, True)
</span><span class="cx">         self._assert_has_valid_reviewer(&quot;Reviewed by Gabor Rapcsanyi.&quot;, False)
</span><ins>+        self._assert_has_valid_reviewer(&quot;Reviewed by Myles Maxfield&quot;, True)
+        self._assert_has_valid_reviewer(&quot;Reviewed by Myles C. Maxfield&quot;, True)
</ins><span class="cx"> 
</span><span class="cx">     def test_is_touched_files_text_clean(self):
</span><span class="cx">         tests = [
</span></span></pre></div>
<a id="trunkToolsScriptswebkitpycommonconfigcommitterspy"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitpy/common/config/committers.py (211396 => 211397)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitpy/common/config/committers.py        2017-01-31 00:54:39 UTC (rev 211396)
+++ trunk/Tools/Scripts/webkitpy/common/config/committers.py        2017-01-31 01:20:24 UTC (rev 211397)
</span><span class="lines">@@ -259,9 +259,14 @@
</span><span class="cx">     def _name_to_contributor_map(self):
</span><span class="cx">         if not len(self._contributors_by_name):
</span><span class="cx">             for contributor in self._contributors:
</span><del>-                assert(contributor.full_name)
-                assert(contributor.full_name.lower() not in self._contributors_by_name)  # We should never have duplicate names.
</del><ins>+                assert contributor.full_name
+                assert contributor.full_name.lower() not in self._contributors_by_name  # We should never have duplicate names.
</ins><span class="cx">                 self._contributors_by_name[contributor.full_name.lower()] = contributor
</span><ins>+                if contributor.aliases is None:
+                    continue
+                for alias in contributor.aliases:
+                    assert alias.lower() not in self._contributors_by_name
+                    self._contributors_by_name[alias.lower()] = contributor
</ins><span class="cx">         return self._contributors_by_name
</span><span class="cx"> 
</span><span class="cx">     def _email_to_account_map(self):
</span></span></pre></div>
<a id="trunkToolsScriptswebkitpycommonconfigcommitters_unittestpy"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py (211396 => 211397)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py        2017-01-31 00:54:39 UTC (rev 211396)
+++ trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py        2017-01-31 01:20:24 UTC (rev 211397)
</span><span class="lines">@@ -109,8 +109,7 @@
</span><span class="cx"> 
</span><span class="cx">     # Basic testing of the edit distance matching ...
</span><span class="cx">     def test_contributors_by_fuzzy_match(self):
</span><del>-        self._assert_fuzz_match('Geoff Garen', 'Geoffrey Garen', 3)
-        self._assert_fuzz_match('Kenneth Christiansen', 'Kenneth Rohde Christiansen', 6)
</del><ins>+        self._assert_fuzz_match('Geof Garen', 'Geoffrey Garen', 4)
</ins><span class="cx">         self._assert_fuzz_match('Sam', 'Sam Weinig', 0)
</span><span class="cx">         self._assert_fuzz_match('me', None, 2)
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>