• 
      

    Add type hints and clean up some code for Mercurial.

    Review Request #13609 — Created March 4, 2024 and submitted

    Information

    RBTools
    release-5.x

    Reviewers

    This change modernizes the Mercurial backend somewhat through type hints
    and general code housekeeping.

    Ran unit tests.

    Summary ID
    Add type hints and clean up some code for Mercurial.
    This change modernizes the Mercurial backend somewhat through type hints and general code housekeeping. Testing Done: Ran unit tests.
    7da3ab1460ff3750d608449f3eedf79e83934a6d
    Description From Last Updated

    Can we define the type (for this and any others) in an "Instance variables" on the class body?

    chipx86chipx86

    I made a similar comment in another change, but I'd like to keep the original form, for the same reason …

    chipx86chipx86

    This should be in the multi-line form.

    chipx86chipx86

    We're getting a generator at the end, not a tuple. Probably isn't any better than a list (maybe worse). Though, …

    chipx86chipx86

    please, do not remove that parameter. I added this in /r/11102

    miserymisery

    Nit: These are all missing trailing periods.

    maubinmaubin

    These comments are missing trailing periods.

    chipx86chipx86

    Too many blank lines in the comment.

    chipx86chipx86

    Double spaces should be a single space after the period.

    chipx86chipx86

    The single backticks must be double backticks for ReST. Also the period should be after the parens.

    chipx86chipx86

    We should transition to keyword-only arguments here, given the mix of kwargs for the parent and an argument here.

    chipx86chipx86

    "Mercurial"

    chipx86chipx86

    The type is already defined on the class body.

    chipx86chipx86

    We have a more explicit type we can list here now.

    chipx86chipx86

    Same here.

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

      Can we define the type (for this and any others) in an "Instance variables" on the class body?

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

      I made a similar comment in another change, but I'd like to keep the original form, for the same reason that we don't put } or ] on the final line for dicts/lists. It makes it easier to modify/add lines on multi-line strings without affecting previous lines.

      Also has a nice symmetry.

      Doesn't necessarily matter in this particular case, but I'd prefer it as a general guideline.

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

      This should be in the multi-line form.

    5. rbtools/clients/mercurial.py (Diff revision 1)
       
       
      Show all issues

      We're getting a generator at the end, not a tuple. Probably isn't any better than a list (maybe worse).

      Though, we're making an assumption here that we probably should check/handle with an exception handler. If we get too few or too many items here, we're going to crash. It's not a new problem, but worth considering.

    6. 
        
    david
    misery
    1. 
        
    2. rbtools/clients/mercurial.py (Diff revision 2)
       
       
      Show all issues

      please, do not remove that parameter. I added this in /r/11102

    3. 
        
    david
    maubin
    1. 
        
    2. rbtools/clients/mercurial.py (Diff revision 3)
       
       
       
       
       
       
       
       
      Show all issues

      Nit: These are all missing trailing periods.

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

      These comments are missing trailing periods.

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

      Too many blank lines in the comment.

    4. rbtools/clients/mercurial.py (Diff revision 3)
       
       
      Show all issues

      Double spaces should be a single space after the period.

    5. rbtools/clients/mercurial.py (Diff revision 3)
       
       
      Show all issues

      The single backticks must be double backticks for ReST.

      Also the period should be after the parens.

    6. rbtools/clients/mercurial.py (Diff revision 3)
       
       
       
       
       
       
      Show all issues

      We should transition to keyword-only arguments here, given the mix of kwargs for the parent and an argument here.

    7. rbtools/clients/mercurial.py (Diff revision 3)
       
       
      Show all issues

      "Mercurial"

    8. rbtools/clients/mercurial.py (Diff revision 3)
       
       
      Show all issues

      The type is already defined on the class body.

    9. rbtools/clients/mercurial.py (Diff revision 3)
       
       
      Show all issues

      We have a more explicit type we can list here now.

    10. rbtools/clients/mercurial.py (Diff revision 3)
       
       
      Show all issues

      Same here.

    11. 
        
    david
    chipx86
    1. Ship It!
    2. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-5.x (d95f463)