Many scripts depend on code in webkitpy.common.checkout (there are also some cyclical dependencies with webkitpy.common.system), so we need to have support here soon.
<rdar://problem/55499884>
Created attachment 381925 [details] Patch
Comment on attachment 381925 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=381925&action=review > Tools/ChangeLog:20 > + (Contributor.__hash__): Committers need to be washable. You mean 'hashable'? > Tools/Scripts/webkitpy/common/config/committers.py:82 > + for email in self._case_preserved_emails: Why we would like to use case preserved emails? Does it mean a@webkit.org and A@webkit.org are considered as different contributors? Also, we may want to explain why we need this function now in change log.
Comment on attachment 381925 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=381925&action=review >> Tools/Scripts/webkitpy/common/config/committers.py:82 >> + for email in self._case_preserved_emails: > > Why we would like to use case preserved emails? Does it mean a@webkit.org and A@webkit.org are considered as different contributors? Also, we may want to explain why we need this function now in change log. This was a bit arbitrary, there is a case for me using what we do in __eq__, but that seems excessive. We need it so that we can put it into a set, I'll add that to the changelog.
Created attachment 381945 [details] Patch
Comment on attachment 381945 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=381945&action=review > Tools/Scripts/webkitpy/common/config/committers.py:84 > + def __hash__(self): > + result = hash(self.full_name) > + for email in self._case_preserved_emails: > + result ^= hash(email) > + return result Discussed with Jonathan in person, we think we should use all fields used in __eq__ to compute hash.
Created attachment 381951 [details] Patch for landing
Comment on attachment 381951 [details] Patch for landing Clearing flags on attachment: 381951 Committed r251613: <https://trac.webkit.org/changeset/251613>
All reviewed patches have been landed. Closing bug.