| Index: apply_issue.py
|
| diff --git a/apply_issue.py b/apply_issue.py
|
| index ba389878fbacb717296276fcbc534713401ecae4..41e133baa083b58e197da1dff879acee7133fee3 100755
|
| --- a/apply_issue.py
|
| +++ b/apply_issue.py
|
| @@ -166,86 +166,52 @@
|
| options.patchset = properties['patchsets'][-1]
|
| print('No patchset specified. Using patchset %d' % options.patchset)
|
|
|
| - issues_patchsets_to_apply = [(options.issue, options.patchset)]
|
| - depends_on_info = obj.get_depends_on_patchset(options.issue, options.patchset)
|
| - while depends_on_info:
|
| - depends_on_issue = int(depends_on_info['issue'])
|
| - depends_on_patchset = int(depends_on_info['patchset'])
|
| - try:
|
| - depends_on_info = obj.get_depends_on_patchset(depends_on_issue,
|
| - depends_on_patchset)
|
| - issues_patchsets_to_apply.insert(0, (depends_on_issue,
|
| - depends_on_patchset))
|
| - except urllib2.HTTPError:
|
| - print ('The patchset that was marked as a dependency no longer '
|
| - 'exists: %s/%d/#ps%d' % (
|
| - options.server, depends_on_issue, depends_on_patchset))
|
| - print 'Therefore it is likely that this patch will not apply cleanly.'
|
| - print
|
| - depends_on_info = None
|
| -
|
| - num_issues_patchsets_to_apply = len(issues_patchsets_to_apply)
|
| - if num_issues_patchsets_to_apply > 1:
|
| - print
|
| - print 'apply_issue.py found %d dependent CLs.' % (
|
| - num_issues_patchsets_to_apply - 1)
|
| - print 'They will be applied in the following order:'
|
| - num = 1
|
| - for issue_to_apply, patchset_to_apply in issues_patchsets_to_apply:
|
| - print ' #%d %s/%d/#ps%d' % (
|
| - num, options.server, issue_to_apply, patchset_to_apply)
|
| - num += 1
|
| - print
|
| -
|
| - for issue_to_apply, patchset_to_apply in issues_patchsets_to_apply:
|
| - issue_url = '%s/%d/#ps%d' % (options.server, issue_to_apply,
|
| - patchset_to_apply)
|
| - print('Downloading patch from %s' % issue_url)
|
| - try:
|
| - patchset = obj.get_patch(issue_to_apply, patchset_to_apply)
|
| - except urllib2.HTTPError as e:
|
| - print(
|
| - 'Failed to fetch the patch for issue %d, patchset %d.\n'
|
| - 'Try visiting %s/%d') % (
|
| - issue_to_apply, patchset_to_apply,
|
| - options.server, issue_to_apply)
|
| - return 1
|
| - if options.whitelist:
|
| - patchset.patches = [patch for patch in patchset.patches
|
| - if patch.filename in options.whitelist]
|
| - if options.blacklist:
|
| - patchset.patches = [patch for patch in patchset.patches
|
| - if patch.filename not in options.blacklist]
|
| - for patch in patchset.patches:
|
| - print(patch)
|
| - full_dir = os.path.abspath(options.root_dir)
|
| - scm_type = scm.determine_scm(full_dir)
|
| - if scm_type == 'svn':
|
| - scm_obj = checkout.SvnCheckout(full_dir, None, None, None, None)
|
| - elif scm_type == 'git':
|
| - scm_obj = checkout.GitCheckout(full_dir, None, None, None, None)
|
| - elif scm_type == None:
|
| - scm_obj = checkout.RawCheckout(full_dir, None, None)
|
| - else:
|
| - parser.error('Couldn\'t determine the scm')
|
| -
|
| - # TODO(maruel): HACK, remove me.
|
| - # When run a build slave, make sure buildbot knows that the checkout was
|
| - # modified.
|
| - if options.root_dir == 'src' and getpass.getuser() == 'chrome-bot':
|
| - # See sourcedirIsPatched() in:
|
| - # http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/
|
| - # chromium_commands.py?view=markup
|
| - open('.buildbot-patched', 'w').close()
|
| -
|
| - print('\nApplying the patch from %s' % issue_url)
|
| - try:
|
| - scm_obj.apply_patch(patchset, verbose=True)
|
| - except checkout.PatchApplicationFailed as e:
|
| - print(str(e))
|
| - print('CWD=%s' % os.getcwd())
|
| - print('Checkout path=%s' % scm_obj.project_path)
|
| - return 1
|
| + print('Downloading the patch.')
|
| + try:
|
| + patchset = obj.get_patch(options.issue, options.patchset)
|
| + except urllib2.HTTPError as e:
|
| + print(
|
| + 'Failed to fetch the patch for issue %d, patchset %d.\n'
|
| + 'Try visiting %s/%d') % (
|
| + options.issue, options.patchset,
|
| + options.server, options.issue)
|
| + return 1
|
| + if options.whitelist:
|
| + patchset.patches = [patch for patch in patchset.patches
|
| + if patch.filename in options.whitelist]
|
| + if options.blacklist:
|
| + patchset.patches = [patch for patch in patchset.patches
|
| + if patch.filename not in options.blacklist]
|
| + for patch in patchset.patches:
|
| + print(patch)
|
| + full_dir = os.path.abspath(options.root_dir)
|
| + scm_type = scm.determine_scm(full_dir)
|
| + if scm_type == 'svn':
|
| + scm_obj = checkout.SvnCheckout(full_dir, None, None, None, None)
|
| + elif scm_type == 'git':
|
| + scm_obj = checkout.GitCheckout(full_dir, None, None, None, None)
|
| + elif scm_type == None:
|
| + scm_obj = checkout.RawCheckout(full_dir, None, None)
|
| + else:
|
| + parser.error('Couldn\'t determine the scm')
|
| +
|
| + # TODO(maruel): HACK, remove me.
|
| + # When run a build slave, make sure buildbot knows that the checkout was
|
| + # modified.
|
| + if options.root_dir == 'src' and getpass.getuser() == 'chrome-bot':
|
| + # See sourcedirIsPatched() in:
|
| + # http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/
|
| + # chromium_commands.py?view=markup
|
| + open('.buildbot-patched', 'w').close()
|
| +
|
| + print('\nApplying the patch.')
|
| + try:
|
| + scm_obj.apply_patch(patchset, verbose=True)
|
| + except checkout.PatchApplicationFailed as e:
|
| + print(str(e))
|
| + print('CWD=%s' % os.getcwd())
|
| + print('Checkout path=%s' % scm_obj.project_path)
|
| + return 1
|
|
|
| if ('DEPS' in map(os.path.basename, patchset.filenames)
|
| and not options.ignore_deps):
|
|
|