Add a patch for Python 3.10+'s collections module on Django <= 2.0.

Review Request #11916 — Created Jan. 9, 2022 and submitted — Latest diff uploaded

Information

Django Evolution
release-2.x

Reviewers

Django 2.0 and older make use of some imports from the collections
module that no longer exist on Python 3.10 and higher. When running with
these combination of versions, Django Evolution will patch collections
to bring back these old imports, allowing Django to work once again.

This is a port of similar code from Djblets (which can probably be
removed now), and will only apply when running on Django 2.0 or older
with Python 3.10 or newer.

Unit tests pass.

Used Review Board (without the Djblets workarounds active) to test
this patch. Verified that the collections module had the legacy
imports on Python 3.10.

Commits

Files