def update_revision(self, revisionid, raw_diff, message):
        revision = self._data.get_revision(revisionid)

        assert raw_diff
        assert message

        # match the behaviour asserted by phlcon_differential__t,
        # we can't update a closed review, that's an error
        if revision.is_closed():
            raise abdt_exception.AbdUserException(
                "can't update a closed revision")

        # match the behaviour asserted by phlcon_differential__t, 'accepted' is
        # a sticky state as far as updating the review is concerned
        if not revision.is_accepted():
            revision.set_in_review()

        self._data.set_changed()
A docstring.
dataset/ETHPy150Open bloomberg/phabricator-tools/py/abd/abdt_conduitmock.py/ConduitMock.update_revision--crossover with--dataset/ETHPy150Open ipython/ipython-py3k/IPython/core/tests/test_magic_arguments.py/magic_foo3