Index: git_cl.py |
diff --git a/git_cl.py b/git_cl.py |
index 8cc37bf589eba07923e273d6578a3d7e0f8597f3..a653f6302b2e84c304ca8729c40d894c856d291e 100755 |
--- a/git_cl.py |
+++ b/git_cl.py |
@@ -318,7 +318,7 @@ def trigger_try_jobs(auth_config, changelist, options, masters, category, |
time.sleep(0.5 + 1.5*try_count) |
print '\n'.join(print_text) |
- |
+ |
def MatchSvnGlob(url, base_url, glob_spec, allow_wildcards): |
"""Return the corresponding git ref if |base_url| together with |glob_spec| |
@@ -2071,6 +2071,28 @@ def RietveldUpload(options, args, cl, change): |
if target_ref: |
upload_args.extend(['--target_ref', target_ref]) |
+ # Look for dependent patchsets. See crbug/480453 for more details. |
agable
2015/06/08 20:05:53
nit: crbug.com/480453
rmistry
2015/06/09 16:16:45
Done.
|
+ remote, upstream_branch = cl.FetchUpstreamTuple(cl.GetBranch()) |
+ upstream_branch = ShortBranchName(upstream_branch) |
+ if remote is '.': |
+ # A local branch is being tracked. |
+ local_branch = ShortBranchName(upstream_branch) |
+ auth_config = auth.extract_auth_config_from_options(options) |
+ branch_cl = Changelist(branchref=local_branch, auth_config=auth_config) |
+ branch_cl_issue_url = branch_cl.GetIssueURL() |
+ branch_cl_issue = branch_cl.GetIssue() |
+ branch_cl_patchset = branch_cl.GetPatchset() |
+ if branch_cl_issue_url and branch_cl_issue and branch_cl_patchset: |
+ upload_args.extend( |
+ ['--depends_on_patchset', '%s:%s' % ( |
+ branch_cl_issue, branch_cl_patchset)]) |
+ print ('The current branch (%s) is tracking a local branch (%s) with ' |
+ 'an open CL.') % (cl.GetBranch(), local_branch) |
+ print 'Adding %s/#ps%s as a dependency patchset.' % ( |
+ branch_cl_issue_url, branch_cl_patchset) |
+ |
project = settings.GetProject() |
if project: |
upload_args.extend(['--project', project]) |