• 
      

    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.)

    chipx86 chipx86

    This is missing a return value.

    chipx86 chipx86

    Should state that these are now keyword-only.

    chipx86 chipx86

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

    chipx86 chipx86

    This is missing version info.

    chipx86 chipx86

    This is set above as modified.

    chipx86 chipx86
    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)