)]}'
{"oslo_versionedobjects/base.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8751b7a74f109b451fb2900b3e5707a8e30afb86","unresolved":false,"context_lines":[{"line_number":659,"context_line":"        \"\"\"Returns a dict of changed fields and their new values.\"\"\""},{"line_number":660,"context_line":"        changes \u003d {}"},{"line_number":661,"context_line":"        for key in self.obj_what_changed():"},{"line_number":662,"context_line":"            changes[key] \u003d getattr(self, key)"},{"line_number":663,"context_line":"        return changes"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"    def obj_reset_changes(self, fields\u003dNone, recursive\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_3092219f","line":662,"updated":"2016-08-16 15:27:36.000000000","message":"We should be careful about this too, not trusting that the change list is correct. We could filter it directly from obj_what_changed() and kill both birds.","commit_id":"2fae80f2308422747bfba310be92537112f9b3a9"}]}
