Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: pending_manager.py

Issue 6055005: Add a function to detect patches that can't be safely applied. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/commit-queue
Patch Set: Rebase against trunk Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « patch.py ('k') | tests/patch_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # coding=utf8 1 # coding=utf8
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 """Commit queue manager class. 5 """Commit queue manager class.
6 6
7 Security implications: 7 Security implications:
8 8
9 The following hypothesis are made: 9 The following hypothesis are made:
10 - Commit queue: 10 - Commit queue:
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 if message: 258 if message:
259 self.rietveld.add_comment(pending.issue, message) 259 self.rietveld.add_comment(pending.issue, message)
260 try: 260 try:
261 self.queue.pending_commits.remove(pending) 261 self.queue.pending_commits.remove(pending)
262 except ValueError: 262 except ValueError:
263 pass 263 pass
264 264
265 def _apply_patch(self, pending, revision): 265 def _apply_patch(self, pending, revision):
266 """Applies the pending patch to the checkout and throws if it fails.""" 266 """Applies the pending patch to the checkout and throws if it fails."""
267 patch_data = urllib2.urlopen(pending.patch_url()).read() 267 patch_data = urllib2.urlopen(pending.patch_url()).read()
268 error = patch.verify_patch(patch_data)
269 if error:
270 raise base.DiscardPending(pending, 'Can\'t process patch: %s' % error)
268 patch_data = patch.auto_mangle_git_patch(patch_data) 271 patch_data = patch.auto_mangle_git_patch(patch_data)
269 if not self.checkout.apply_patch(patch_data): 272 if not self.checkout.apply_patch(patch_data):
270 raise base.DiscardPending(pending, 273 raise base.DiscardPending(pending,
271 'Patch failed to apply against %s.' % revision) 274 'Patch failed to apply against %s.' % revision)
272 275
273 def load(self, filename): 276 def load(self, filename):
274 """Loads the commit queue state from a JSON file.""" 277 """Loads the commit queue state from a JSON file."""
275 self.queue = model.load_from_json_file(filename) 278 self.queue = model.load_from_json_file(filename)
276 self.queue.pending_commits = self.queue.pending_commits or [] 279 self.queue.pending_commits = self.queue.pending_commits or []
277 280
278 def save(self, filename): 281 def save(self, filename):
279 """Save the commit queue state in a simple JSON file.""" 282 """Save the commit queue state in a simple JSON file."""
280 model.save_to_json_file(filename, self.queue) 283 model.save_to_json_file(filename, self.queue)
OLDNEW
« no previous file with comments | « patch.py ('k') | tests/patch_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698