{"push_id":550594629,"size":1,"distinct_size":1,"ref":"refs/heads/release-2.0.x","head":"6da7fdda5c792ef7978093c3331b7064a4e0c10f","before":"2a24a9e0f717b9b71625b2e390e34ece47109e77","commits":[{"sha":"6da7fdda5c792ef7978093c3331b7064a4e0c10f","author":{"email":"2314b2e3a4a1f7db165be2aafbf1efd78f28cc97@beanbaginc.com","name":"Christian Hammond"},"message":"Don't share the extra_data instance between a review request and draft.\n\nWhen creating a draft from a review request, the `extra_data` instance was\nbeing assigned to the draft, instead of being copied over. This meant\nthat if any code tried to write into the draft's `extra_data`, it would\nalso appear in the review request's.\n\nThis was first noticed when attempting to do an API POST to the draft\nresource that both changed an `extra_data` field on the draft and\npublished in one go. The publish code thought that the data hadn't been\nchanged, since it was in the shared `extra_data`, and would complain.\n\nWe now do a `deepcopy` of `extra_data` to prevent any sharing issues.\n\nTesting Done:\nAdded a new unit test that failed with the old behavior. It now passes.\n\nAll other unit tests pass too.\n\nReviewed at https://reviews.reviewboard.org/r/6813/","distinct":true,"url":"https://api.github.com/repos/chipx86/reviewboard/commits/6da7fdda5c792ef7978093c3331b7064a4e0c10f"}]}