Add a local_site parameter to SCMClients.
Review Request #14910 — Created March 17, 2026 and updated
Many SCMClients need to manage state tied to a Local Site, and do so by
passing in a client-specificlocal_site_name. With the upcoming cert
work, this is going to be needed more broadly, and we'll need an
instance.We always have access to an instance in places where we initialize a
client. This happens in both an SCMTool's__init__()and in
check_repository(). This makes it easy to pass this in.This change updates the base
SCMClientto take and store this,
updates all subclasses to pass it to the parent, and updates call sites
to pass it to the client. In many cases, surrounding code has been
cleaned up to avoid duplicate effort or to bail early when there are
problems.There were a couple of clients that didn't inherit from
SCMClient.
This change updates most of them. A notable exception is the Subversion
clients, which have a lot more complexity going on and aren't worth
tackling in this change.
Unit tests pass.
| Summary | ID |
|---|---|
| 44faab9b3c5435949d662cf2e08c58349fd4fb8b |