• 
      

    Update source tree scanning to check SCMClient dependencies.

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

    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.

    Summary ID
    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
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-4.x (4cfaba7)