• 
      

    Fix Jujutsu diffs of files with fileset syntax in their names.

    Review Request #15296 — Created Sept. 14, 2026 and updated

    Information

    RBTools
    master

    Reviewers

    When exclude patterns are set, JujutsuClient diffs each changed file
    separately with jj diff -- <filename>. jj parses these arguments as
    fileset expressions, not literal paths. A name containing characters
    like ,, (, |, or ~ then fails to parse, and the whole diff fails
    with a generic error. For example, this happened for the test data file
    CVSROOT/checkoutlist,v.

    Each name is now passed as an exact file:"..." pattern, with quotes
    and backslashes escaped.

    • Ran unit tests.
    • Ran rbt diff 'root()' @ with EXCLUDE_PATTERNS set. It had
      failed before and now produces the full diff.
    Summary ID
    Fix Jujutsu diffs of files with fileset syntax in their names.
    When exclude patterns are set, JujutsuClient diffs each changed file separately with `jj diff -- <filename>`. jj parses these arguments as fileset expressions, not literal paths. A name containing characters like `,`, `(`, `|`, or `~` then fails to parse, and the whole diff fails with a generic error. For example, this happened for the test data file `CVSROOT/checkoutlist,v`. Each name is now passed as an exact `file:"..."` pattern, with quotes and backslashes escaped. Testing Done: - Ran unit tests. - Ran `rbt diff 'root()' @` with EXCLUDE_PATTERNS set. It had failed before and now produces the full diff. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JTKj8A2B1zxpW3W4sa5Boo
    xuxswrsmzkklsnpqryxrzuokxtnuusps
    david
    Review request changed
    Testing Done:
       
    • Ran unit tests.
       
    • Ran rbt diff 'root()' @ with EXCLUDE_PATTERNS set. It had
      failed before and now produces the full diff.
    -  
    -  

    Co-Authored-By: Claude Opus 5 noreply@anthropic.com

    -   Claude-Session: https://claude.ai/code/session_01JTKj8A2B1zxpW3W4sa5Boo

    maubin
    1. Ship It!
    2.