2011-01-13 Eric Seidel <eric@webkit.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 14 Jan 2011 05:40:18 +0000 (05:40 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 14 Jan 2011 05:40:18 +0000 (05:40 +0000)
commit5e11a65073f222b2ea5d3920e970fc7264048b7c
treeb6c17509faf7c173ce9f833d03299b825d895e41
parent8e93653e6f20c867ca3ee4749ecd1f56bcbe3e5a
2011-01-13  Eric Seidel  <eric@webkit.org>

        Reviewed by David Levin.

        webkit-patch suggest-reviewers dies when ChangeLogs are missing
        https://bugs.webkit.org/show_bug.cgi?id=49158

        This is not the most elegant, but it is a very safe fix to this bug.
        One advantage of catching ScriptError like this instead of adding a
        new added_or_modified_files or fixing all changed_files callers
        to use a more specific change_files variant, is that we catch
        all kinds of ScriptErrors which might cause our (non-essential)
        suggest-reviewers code to fail out.  This should make passing
        --suggest-reviewers to webkit-patch upload much more robust
        and may even make it possible for us to make it default.

        The root of the problem here is that SCM.changed_files includes
        deleted ChangeLog paths (from moves, etc) which then when we ask
        SVN/Git for the contents of the file at that revision, the command
        errors out and Executive.run_command raises a ScriptError.

        In the future we might fix this differently by making all current
        callers of chagned_files use a more specific method for requesting
        what types of changes they're interested in (adds, modifies, deletes, etc.)

        * Scripts/webkitpy/common/checkout/api.py:
        * Scripts/webkitpy/common/checkout/api_unittest.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@75769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools/ChangeLog
Tools/Scripts/webkitpy/common/checkout/api.py
Tools/Scripts/webkitpy/common/checkout/api_unittest.py