• 
      

    Use SCMTool IDs to look up repositories when possible.

    Review Request #13973 — Created June 11, 2024 and submitted — Latest diff uploaded

    Information

    RBTools
    release-5.x

    Reviewers

    Many versions of Review Board currently have a bug where sending an
    unknown value in the tool= parameter to the repository list API would
    cause a crash. We'll be shipping a fix for that, but unfortunately there
    are a variety of released versions where the Git and ClearCase clients
    can trigger this crash on servers that do not have Power Pack installed.

    This change fixes the RBTools side to not include the Power Pack SCMTool
    names, which will avoid the problem for existing servers. For new
    servers, we'll be shipping a server-side fix that fixes the crash, adds
    the SCMTool IDs to the capabilities, and allows us to pass SCMTool IDs
    rather than names to the repository list API. If we see the IDs in the
    capability blob, we can assume that we can pass the IDs, including
    potentially unknown IDs.

    This also fixes a problem where we were sometimes accessing the
    repository list API twice with exactly the same parameters.

    • Ran unit tests.
    • Verified that the repository list API was accessed using SCMTool names
      that did not include potentially missing ones when running against an
      older server.
    • Verified that the repository list API was accessed with SCMTool IDs
      when running against a server with the new API fixes.

    Commits

    Files