Enhance the diff file attachment resource a bit.

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

Information

Review Board
release-7.x

Reviewers

This change makes two enhancements to the diff file attachment resource.

First, a new source_file argument allows uploading a file for the source
version of the FileDiff. In most cases we can allow the server to fetch
it from the repository, but in the case where there's a parent diff, the
uploading client needs to provide both the source and modified versions.

Second, I did run into a case where I successfully uploaded two files
for the same FileDiff, which caused errors later on. A new API error has
been added for this case.

  • Ran unit tests.
  • Posted binary file changes that used a parent diff and successfully
    uploaded both the source and modified versions.
Summary ID
Enhance the diff file attachment resource a bit.
This change makes two enhancements to the diff file attachment resource. First, a new source_file argument allows uploading a file for the source version of the FileDiff. In most cases we can allow the server to fetch it from the repository, but in the case where there's a parent diff, the uploading client needs to provide both the source and modified versions. Second, I did run into a case where I successfully uploaded two files for the same FileDiff, which caused errors later on. A new API error has been added for this case. Testing Done: - Ran unit tests. - Posted binary file changes that used a parent diff and successfully uploaded both the source and modified versions.
c758222eb441e6b6c36473de0e0e547aaaa72f97
Description From Last Updated

Can we make this keyword-only? (Ideally both, but at least this one.)

chipx86chipx86

This is missing a return value.

chipx86chipx86

Should state that these are now keyword-only.

chipx86chipx86

We should add version info here and in the method's docstring.

chipx86chipx86

This is missing version info.

chipx86chipx86

This is set above as modified.

chipx86chipx86
chipx86
  1. 
      
  2. reviewboard/attachments/forms.py (Diff revision 1)
     
     
    Show all issues

    Can we make this keyword-only? (Ideally both, but at least this one.)

  3. reviewboard/attachments/forms.py (Diff revision 1)
     
     
    Show all issues

    This is missing a return value.

  4. reviewboard/attachments/forms.py (Diff revision 1)
     
     
     
     
     
    Show all issues

    We should add version info here and in the method's docstring.

  5. reviewboard/webapi/resources/diff_file_attachment.py (Diff revision 1)
     
     
     
     
     
     
     
     
    Show all issues

    This is missing version info.

  6. Show all issues

    This is set above as modified.

  7. 
      
david
chipx86
  1. 
      
  2. reviewboard/attachments/forms.py (Diff revisions 1 - 2)
     
     
     
     
    Show all issues

    Should state that these are now keyword-only.

  3. 
      
maubin
  1. Ship It!
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to release-7.x (33fb5e9)