Initial backend support for review requests with commit history.
Review Request #6779 — Created Jan. 15, 2015 and discarded
Add the
DiffCommitResourceandDraftDiffCommitResourceresources.
TheDiffCommitResourceis a resource for retrieving the information
about theCommitsunder a particular DiffSet. The
DraftDiffCommitResourceinherits from theDiffCommitResourceand
modifies it to allow for the creation ofCommits and associated
FileDiffs. TheDraftDiffCommitResourcehandles the uploading of
FileDiffs forCommits instead of theDiffSetResource.Register the
Commitmodel for bothDiffCommitResourceand
DraftDiffCommitResourcein the API. They are item child resources of
theDiffSetResourceandDraftDiffSetResourceresources,
respectively.The
DiffSetResource.createmethod now takes an extra optional field,
create_empty, that determines if theDiffSetthat is created is
created without uploading a.difffile. This is used in the creation
of review requests with commit histories.The
FileDiffResourceandDraftFileDiffResourceclasses now filter
their results based on thecommitquery parameter. If nocommit
query parameter is given, only thoseFileDiffs unattached to a
Commitwill be return. This filtering is only applied to the list
API, not the item API.Add a new form, the
UploadCommitForm, for handling the processing of
data for creating newCommitinstances. It is very similar to
diffviewer.forms.UploadDiffFormand may need to be refactored.Refactor behaviour for uploading
FileDiffs from theDiffSetManager
to a new class, theDiffProcessorMixin. This mix-in handles the
initial processing of.difffiles, their comparison (for header vs
source files), generating file lists, and creating actualFileDiffs
from upload (it calls the child class's implementation of
create_from_data).The
DiffSetManagernow has acreate_emptymethod for creating
DiffSets withoutFileDiffs for usage withCommits.Add the
CommitManagermodel. It inherits from the
DiffProcessorMixin.Update the
validate_diffendpoint to use named parameters for
DiffSetManager.create_from_uploadbecause of the refactoring.Add a WebAPI capability to show that the server supports review
requests with commit histories.TODO:
- Unit tests forthcoming.
- Manual testing information forthcoming.
Ran unit tests.
Able to create a review request with a single commit of history via
RBTools(see: https://reviews.reviewboard.org/r/6787/).
| Description | From | Last Updated |
|---|---|---|
|
Col: 1 W293 blank line contains whitespace |
|
|
|
Col: 1 E302 expected 2 blank lines, found 1 |
|
|
|
Col: 1 W293 blank line contains whitespace |
|
|
|
Col: 1 W293 blank line contains whitespace |
|
|
|
Col: 80 E501 line too long (82 > 79 characters) |
|
|
|
Col: 1 E302 expected 2 blank lines, found 1 |
|
|
|
Col: 25 E131 continuation line unaligned for hanging indent |
|
|
|
Col: 29 E131 continuation line unaligned for hanging indent |
|
|
|
Col: 80 E501 line too long (80 > 79 characters) |
|
|
|
Col: 1 E303 too many blank lines (3) |
|
|
|
Col: 1 W293 blank line contains whitespace |
|
|
|
'datetime' imported but unused |
|
|
|
'urlencode' imported but unused |
|
|
|
'get_resource_for_object' imported but unused |
|
- Change Summary:
-
Fix ReviewBot's issues. Add in the manager for the
DiffCommitmodel. - Diff:
-
Revision 2 (+830 -151)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Change Summary:
-
Update it so its not so broken.
- Testing Done:
-
~ Ran unit tests.
~ Ran unit tests.
+ Able to create a review request with a single commit of history via RBTools(patch forthcoming). - Depends On:
-
- Diff:
Revision 3 (+853 -151)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py -
-
-
-
- Change Summary:
-
Fix ReviewBot's issues.
- Commit:
-
4b46239a9e25c4704dac22c1ce97bc9517d94724
- Diff:
-
Revision 4 (+996 -154)
-
Tool: Pyflakes Processed Files: reviewboard/diffviewer/admin.py reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/diffviewer/evolutions/__init__.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/evolutions/add_commit_history_fields.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/diffviewer/admin.py reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/diffviewer/evolutions/__init__.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/evolutions/add_commit_history_fields.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Change Summary:
-
Update testing information to reference RBTools RR.
- Testing Done:
-
Ran unit tests.
~ Able to create a review request with a single commit of history via RBTools(patch forthcoming).~ Able to create a review request with a single commit of history via + RBTools(see: https://reviews.reviewboard.org/r/6787/).
- Change Summary:
-
change mimetype to be
diff-commitinstead ofcommit. - Diff:
-
Revision 5 (+849 -151)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Change Summary:
-
Add Web API capabilities for RRs with commit history
- Description:
-
Add the
DiffCommitResourceandDraftDiffCommitResourceresources.The DiffCommitResourceis a resource for retrieving the informationabout the Commitsunder a particular DiffSet. TheDraftDiffCommitResourceinherits from theDiffCommitResourceandmodifies it to allow for the creation of Commits and associatedFileDiffs. TheDraftDiffCommitResourcehandles the uploading ofFileDiffs forCommits instead of theDiffSetResource.Register the
Commitmodel for bothDiffCommitResourceandDraftDiffCommitResourcein the API. They are item child resources ofthe DiffSetResourceandDraftDiffSetResourceresources,respectively. The
DiffSetResource.createmethod now takes an extra optional field,create_empty, that determines if theDiffSetthat is created iscreated without uploading a .difffile. This is used in the creationof review requests with commit histories. The
FileDiffResourceandDraftFileDiffResourceclasses now filtertheir results based on the commitquery parameter. If nocommitquery parameter is given, only those FileDiffs unattached to aCommitwill be return. This filtering is only applied to the listAPI, not the item API. Add a new form, the
UploadCommitForm, for handling the processing ofdata for creating new Commitinstances. It is very similar todiffviewer.forms.UploadDiffFormand may need to be refactored.Refactor behaviour for uploading
FileDiffs from theDiffSetManagerto a new class, the DiffProcessorMixin. This mix-in handles theinitial processing of .difffiles, their comparison (for header vssource files), generating file lists, and creating actual FileDiffsfrom upload (it calls the child class's implementation of create_from_data).The
DiffSetManagernow has acreate_emptymethod for creatingDiffSets withoutFileDiffs for usage withCommits.Add the
CommitManagermodel. It inherits from theDiffProcessorMixin.Update the
validate_diffendpoint to use named parameters forDiffSetManager.create_from_uploadbecause of the refactoring.+ Add a WebAPI capability to show that the server supports review
+ requests with commit histories. + TODO:
- Unit tests forthcoming. - Manual testing information forthcoming. - Diff:
-
Revision 6 (+850 -173)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
-
Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Change Summary:
-
Add validation for the merge parents
- Diff:
-
Revision 7 (+873 -151)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Change Summary:
-
Save the models. Save them!
- Diff:
-
Revision 8 (+876 -151)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Diff:
-
Revision 9 (+876 -151)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Change Summary:
-
merge_parent_id->merge_parent_idseverywhere - Diff:
-
Revision 10 (+876 -151)
-
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
- Change Summary:
-
Check the
merge_commit_idsto make sure they are truthy before enumerating them. - Diff:
-
Revision 11 (+877 -151)
-
Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/server_info.py reviewboard/diffviewer/models.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/draft_filediff.py
Tool: Pyflakes Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/draft_filediff.py Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/resources/draft_diff.py reviewboard/webapi/resources/__init__.py reviewboard/webapi/resources/draft_diff_commit.py reviewboard/webapi/resources/filediff.py reviewboard/webapi/resources/validate_diff.py reviewboard/webapi/resources/diff.py reviewboard/webapi/resources/diff_commit.py reviewboard/diffviewer/forms.py reviewboard/diffviewer/managers.py reviewboard/webapi/resources/draft_filediff.py