Implement binary files support for Mercurial.

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

Information

RBTools
release-5.x

Reviewers

This change implements the get_file_content and get_file_size methods
for the Mercurial client backend.

Additionally, this changes the log methods to always use {node}
instead of {node|short}. We had a mix (individual commits were using
the full node SHA, while the cumulative diff was using the short form),
which was causing issues with file uploads--we'd upload a file for the
commit version with the full SHA revision, and then not find it because
the cumulative diff was using the short SHA.

  • Ran unit tests.
  • Uploaded a variety of revisions including binary files. Saw that
    everything worked correctly.
Summary ID
Implement binary files support for Mercurial.
This change implements the get_file_content and get_file_size methods for the Mercurial client backend. Additionally, this changes the log methods to always use `{node}` instead of `{node|short}`. We had a mix (individual commits were using the full node SHA, while the cumulative diff was using the short form), which was causing issues with file uploads--we'd upload a file for the commit version with the full SHA revision, and then not find it because the cumulative diff was using the short SHA. Testing Done: - Ran unit tests. - Uploaded a variety of revisions including binary files. Saw that everything worked correctly.
fbae529dfe7465670ffc226b658d0092d8828468
Description From Last Updated

Can we add unit tests for this?

chipx86chipx86

This comment probably doesn't make sense here.

chipx86chipx86

This can be one statement.

chipx86chipx86

This doesn't make sense here.

chipx86chipx86

This can be one statement.

chipx86chipx86

Swap these.

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

    This comment probably doesn't make sense here.

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

    This can be one statement.

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

    This doesn't make sense here.

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

    This can be one statement.

    1. I think I'd prefer to keep it separate for now because otherwise the int() kind of gets visually lost.

  6. 
      
david
maubin
  1. Ship It!
  2. 
      
chipx86
  1. 
      
  2. Show all issues

    Can we add unit tests for this?

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

    Swap these.

  3. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to release-5.x (dea0af9)