DescriptionFind, upload and apply patchset dependencies.
Here is an explanation of the changes in each module:
* git_cl.py -
IF a local branch is being tracked AND a CL has been uploaded there THEN use the CL's issue number and latest patchset as a dependency.
* upload.py -
Uploads the patchset dependency, if it exists, to Rietveld (Rietveld will be able to parse this when https://codereview.chromium.org/1155513002/ lands).
* rietveld.py -
Adds utility methods to get patchset dependencies from the new Rietveld endpoint (the endpoint will exist when https://codereview.chromium.org/1155513002/ lands).
* apply_issue.py -
If CL3 depends on CL2 which in turn depends on CL1 then apply_issue will gather a list of all issues and patchsets to apply (Eg: [CL1:PS1, CL2:PS1, CL3:PS2]).
apply_issue will then loop over the list applying each dependency.
Note: The apply_issue.py diff looks much worse than it is. Please see my comment in
https://codereview.chromium.org/1149653002/diff/260001/apply_issue.py#oldcode169
Tested end-to-end using a test Git repository (https://skia.googlesource.com/skiabot-test/) and the following CLs created in my test Rietveld instance:
* https://skia-codereview-staging.appspot.com/931002 ('Branch1 CL')
* https://skia-codereview-staging.appspot.com/5001001 ('Branch2 CL')
* https://skia-codereview-staging.appspot.com/9881001 ('Branch3 CL')
* https://skia-codereview-staging.appspot.com/3951001 ('Branch3.1 CL')
Opt into the new UI and observe the new 'Depends on Patchset' and 'Dependent Patchsets' sections in the above CLs.
Design doc is here: https://docs.google.com/document/d/1KZGFKZpOPvco81sYVRCzwlnjGctup71RAzY0MSb0ntc/edit#heading=h.6r6lt4tsvssw
BUG=502255
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295778
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295799
Patch Set 1 : Checkpoint with branch traversing #Patch Set 2 : Checkpoint #Patch Set 3 : Working end to end #Patch Set 4 : Cleanup and improve logging #Patch Set 5 : Add more logging #Patch Set 6 : git_cl.py cleanup and logging #Patch Set 7 : rietveld.py cleanup #Patch Set 8 : More logging improvements #Patch Set 9 : dependent_issue -> dependent_patchset #Patch Set 10 : Dependent -> DependsOn #Patch Set 11 : Handle deleted patchsets and issues #Patch Set 12 : If rietveld endpoint does not exist then ignore #Patch Set 13 : Minor fix #
Total comments: 1
Patch Set 14 : Upload dependencies even if closed #
Total comments: 10
Patch Set 15 : Addressing comments #Patch Set 16 : Rebase #Patch Set 17 : Fix lint issue #Patch Set 18 : Rebase #Patch Set 19 : Also catch ValueError #
Messages
Total messages: 29 (13 generated)
|