'.. http:get:: /api/1/revision/1234
Get a specific revision.
**Example Request**:
.. sourcecode:: http
GET /api/1/revision/123 HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
**Example Response**:
.. sourcecode:: http
HTTP/1.1 200 OK
Vary: Accept
Content-Type: application/json
"auth": {
"authenticated": true,
"user": "user@example.com"
"item_id": 114,
"comments": [],
"active": false,
"date_created": "2013-10-04 22:01:47",
"config": {},
"id":123
:statuscode 200: no error
:statuscode 401: Authentication failure. Please login.'

def get(self, revision_id):

    query = ItemRevision.query.filter((ItemRevision.id == revision_id))
    result = query.first()
    comments = []
    for comment in result.comments:
        comment_marshaled = marshal(comment, REVISION_COMMENT_FIELDS)
        comments.append(dict((comment_marshaled.items() + {'user': comment.user.email}.items())))
    cloudtrail_entries = []
    for entry in result.cloudtrail_entries:
        cloudtrail_entries.append(entry.full_entry)
    revision_marshaled = marshal(result, REVISION_FIELDS)
    revision_marshaled = dict(((((revision_marshaled.items() + {'config': OrderedDict(sorted(sub_dict(result.config).items()))}.items()) + {'auth': self.auth_dict}.items()) + {'comments': comments}.items()) + {'cloudtrail': cloudtrail_entries}.items()))
    self.reqparse.add_argument('compare', type=int, default=None, location='args')
    args = self.reqparse.parse_args()
    compare_id = args.pop('compare', None)
    if compare_id:
        query = ItemRevision.query.filter((ItemRevision.id == compare_id))
        compare_result = query.first()
        pdiff = PolicyDiff(OrderedDict(sorted(sub_dict(result.config).items())), OrderedDict(sorted(sub_dict(compare_result.config).items())))
        revision_marshaled = dict((revision_marshaled.items() + {'diff_html': pdiff.produceDiffHTML()}.items()))
    return (revision_marshaled, 200)
