Remove deprecated RepositoryInfo code and modernize the class.
Review Request #12556 — Created Aug. 19, 2022 and submitted
This removes the deprecated parameters, attributes, and methods from
RepositoryInfo. These include
It also cleans up the module, switching to type annotations, moving
logging elsewhere, and adding a
__repr__to ease debugging.
Docstrings have been updated to use
each attribute has been documented.
The constructor now requires keyword arguments. This is important as we
have code that subclasses this, and arguments are kind of a mess.
Currently, callers can continue to pass in positional arguments, but
that is deprecated and will result in a warning.
We have such callers in the codebase. Those will be updated separately.
Unit tests pass on Python 3.7-3.11.
Posted this change for review.