Store the correct type for the new parent source information for FileDiffs.

Review Request #11155 — Created Sept. 1, 2020 and submitted

chipx86
Review Board
release-3.0.x
reviewboard

When calculating the new parent_source_filename and
parent_source_revision fields in FileDiff.extra_data to record
parent file information, we were storing the data using the types
extracted from the diff. This meant that we could get a byte string,
instead of a Unicode string, and it also meant that we could get a
Revision instance. These weren't safe to put in extra_data (the
former issue triggering errors on Review Board 4.0 on Python 3, and the
latter triggering errors when uploading a file introduced in a parent
diff).

We now force these to be strings instead when we're ready to store them.

Unit tests pass.

Posted a commit (combining this change with another upcoming change) that
introduced a new file in a parent diff. It posted correctly, instead of
erroring out with a "not serializable" error for the Revision.

Summary
Store the correct type for the new parent source information for FileDiffs.
david
  1. Ship It!
  2. 
      
chipx86
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-3.0.x (582a27c)
Loading...