Update source tree scanning to check SCMClient dependencies.
Review Request #12557 — Created Aug. 19, 2022 and submitted
setup()on any SCMClients
scanned, tracking any dependencies that fail to be found. This ensures
that the clients are in a proper state and that we can provide useful
information if we fail to find a repository when there are dependency
The code that invokes this for commands will output that list of failed
dependencies only if it can't find a match. Debug information continues
to show the dependency errors regardless.
Unit tests pass on Python 3.7-3.11.
Posted this change for review.
Tested posting a change in a non-repository with missing dependencies.
Saw the debug error log information and the visible error information
with the missing dependencies.