Export/import review requests tool

Review Request #7952 — Created Feb. 8, 2016 and discarded — Latest diff uploaded

Information

Review Board
release-2.5.x

Reviewers

Exported review requests are save into file in json format, and this file can be imported to recreate review requests. Objects to b serialized are put in topological order based on dependencies.

Manually export and import review requests with/without local site to see the results.

Export all non local site review requests to a file.
Export all local sites to a file.
Export a single local site to a file.
Import all local sites and recreate local sites from a file.
Import all local sites without local sites (merge into global) from a file.
Import all non local site review requests from a file and create a local site for them.

One assumption is that no IntegrityError, ie no Users with same username, a file is not imported twice, etc.
Import is atomic transaction therefore IntegrityError leads to roll back.
init.py and json.py are from Django's built-in serializers.