Remove deprecated RepositoryInfo code and modernize the class.
Review Request #12556 — Created Aug. 19, 2022 and submitted — Latest diff uploaded
This removes the deprecated parameters, attributes, and methods from
RepositoryInfo
. These includename
,supports_changesets
,
supports_parent_diffs
, andfind_server_repository_info()
.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
str
instead ofunicode
, and
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.