commit | c2b9bd03e9c98ab318db2b153615c751d9299f9d | [log] [tgz] |
---|---|---|
author | rmistry@google.com <rmistry@google.com> | Mon Jun 22 12:19:22 2015 +0000 |
committer | rmistry@google.com <rmistry@google.com> | Mon Jun 22 12:19:22 2015 +0000 |
tree | b36032fb373e28be1f1d96074c9eb5588e0309e9 | |
parent | 25b9ab2c1a8ca6e2b6f21aacd874f9ee416b9b6f [diff] |
Find, 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 Review URL: https://codereview.chromium.org/1149653002 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295778 0039d316-1c4b-4281-b951-d872f2087c98