Update source tree scanning to check SCMClient dependencies.

Review Request #12557 — Created Aug. 19, 2022 and submitted — Latest diff uploaded

Information

RBTools
release-4.x

Reviewers

scan_scmclients_for_path() now calls 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
errors present.

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.

Diff Revision 1 (Latest)

Commits

First Last Summary ID Author
Update source tree scanning to check SCMClient dependencies.
`scan_scmclients_for_path()` now calls `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 errors present. 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.
6859b63cd04d44477d11702f153038dbcf3229b0 Christian Hammond
rbtools/clients/__init__.py
rbtools/utils/source_tree.py
rbtools/utils/tests/test_source_tree.py
Loading...