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

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

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.

Summary ID
Add a patch for Python 3.10+'s collections module on Django <= 2.0.
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.
fdf64c16205af9f220c1315863c124f7b9d047fd
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-2.x (74d2f1b)