• 
      

    Speed up VOB tag lookups in update_from_remote.

    Review Request #15150 — Created July 3, 2026 and updated

    Information

    RBTools
    master

    Reviewers

    ClearCaseRepositoryInfo.update_from_remote resolved local VOB tags by
    running "cleartool lsvob -s -family <uuid> -region <region>" once for
    every combination of configured VOB UUID and registry region. On
    installations with many regions and VOBs this is hundreds of
    serialized cleartool invocations on every rbt run, which is slow.

    It now lists all VOBs in each region once with
    cleartool lsvob -l -region <region> and matches them to the configured
    UUIDs by parsing the family UUID out of the output. This scales with the
    number of regions instead of regions * VOBs.

    Ran unit tests.

    Summary ID
    Speed up VOB tag lookups in update_from_remote.
    `ClearCaseRepositoryInfo.update_from_remote` resolved local VOB tags by running `cleartool lsvob -s -family <uuid> -region <region>` once for every combination of configured VOB UUID and registry region. On installations with many regions and VOBs this is hundreds of serialized cleartool invocations on every rbt run, which is slow. It now lists all VOBs in each region once with `cleartool lsvob -l -region <region>` and matches them to the configured UUIDs by parsing the family UUID out of the output. This scales with the number of regions instead of regions * VOBs. Testing Done: - Ran unit tests.
    tlvlkuvtozswutllmkpszrykxmrzvkrn
    Description From Last Updated

    If you omit this, it should iterate through lines, streaming it in, instead of gathering them all up at once. …

    chipx86 chipx86

    This should probably be typed str | None.

    chipx86 chipx86

    You could do line.rsplit(' ', 1)[-1] to simplify what it needs to do.

    chipx86 chipx86
    chipx86
    1. 
        
    2. rbtools/clients/clearcase.py (Diff revision 1)
       
       
      Show all issues

      If you omit this, it should iterate through lines, streaming it in, instead of gathering them all up at once. This would be less to keep in memory as we process.

    3. rbtools/clients/clearcase.py (Diff revision 1)
       
       
      Show all issues

      This should probably be typed str | None.

    4. rbtools/clients/clearcase.py (Diff revision 1)
       
       
      Show all issues

      You could do line.rsplit(' ', 1)[-1] to simplify what it needs to do.

    5. 
        
    david
    Review request changed
    Commits:
    Summary ID
    Speed up VOB tag lookups in update_from_remote.
    `ClearCaseRepositoryInfo.update_from_remote` resolved local VOB tags by running "cleartool lsvob -s -family <uuid> -region <region>" once for every combination of configured VOB UUID and registry region. On installations with many regions and VOBs this is hundreds of serialized cleartool invocations on every rbt run, which is slow. It now lists all VOBs in each region once with "cleartool lsvob -l -region <region>" and matches them to the configured UUIDs by parsing the family UUID out of the output. This scales with the number of regions instead of regions * VOBs. Testing Done: - Ran unit tests.
    tlvlkuvtozswutllmkpszrykxmrzvkrn
    Speed up VOB tag lookups in update_from_remote.
    `ClearCaseRepositoryInfo.update_from_remote` resolved local VOB tags by running `cleartool lsvob -s -family <uuid> -region <region>` once for every combination of configured VOB UUID and registry region. On installations with many regions and VOBs this is hundreds of serialized cleartool invocations on every rbt run, which is slow. It now lists all VOBs in each region once with `cleartool lsvob -l -region <region>` and matches them to the configured UUIDs by parsing the family UUID out of the output. This scales with the number of regions instead of regions * VOBs. Testing Done: - Ran unit tests.
    tlvlkuvtozswutllmkpszrykxmrzvkrn

    Checks run (2 succeeded)

    flake8 passed.
    JSHint passed.