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

Unified Diff: Tools/Scripts/webkitpy/tool/steps/haslanded.py

Issue 27055003: Remove a bunch of unused webkitpy code from tool/, common/checkout/ and common/config/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 2 months 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 side-by-side diff with in-line comments
Download patch
Index: Tools/Scripts/webkitpy/tool/steps/haslanded.py
diff --git a/Tools/Scripts/webkitpy/tool/steps/haslanded.py b/Tools/Scripts/webkitpy/tool/steps/haslanded.py
deleted file mode 100644
index b0692b32b27b9ba7bab03f6b773807759156a65e..0000000000000000000000000000000000000000
--- a/Tools/Scripts/webkitpy/tool/steps/haslanded.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright (C) 2010 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import cStringIO as StringIO
-import logging
-import sys
-import re
-import tempfile
-
-from webkitpy.tool.steps.abstractstep import AbstractStep
-from webkitpy.common.system.executive import Executive, ScriptError
-from webkitpy.common.checkout import diff_parser
-
-from webkitpy.tool.steps import confirmdiff
-
-_log = logging.getLogger(__name__)
-
-
-class HasLanded(confirmdiff.ConfirmDiff):
-
- @classmethod
- def convert_to_svn(cls, diff):
- lines = StringIO.StringIO(diff).readlines()
- convert = diff_parser.get_diff_converter(lines)
- return "".join(convert(x) for x in lines)
-
- @classmethod
- def strip_change_log(cls, diff):
- output = []
- skipping = False
- for line in StringIO.StringIO(diff).readlines():
- indexline = re.match("^Index: ([^\\n]*/)?([^/\\n]*)$", line)
- if skipping and indexline:
- skipping = False
- if indexline and indexline.group(2) == "ChangeLog":
- skipping = True
- if not skipping:
- output.append(line)
- return "".join(output)
-
- @classmethod
- def diff_diff(cls, diff1, diff2, diff1_suffix, diff2_suffix, executive=None):
- # Now this is where it gets complicated, we need to compare our diff to the diff at landed_revision.
- diff1_patch = tempfile.NamedTemporaryFile(suffix=diff1_suffix + '.patch')
- diff1_patch.write(diff1)
- diff1_patch.flush()
-
- # Check if there are any differences in the patch that don't happen
- diff2_patch = tempfile.NamedTemporaryFile(suffix=diff2_suffix + '.patch')
- diff2_patch.write(diff2)
- diff2_patch.flush()
-
- # Diff the two diff's together...
- if not executive:
- executive = Executive()
-
- try:
- return executive.run_command(
- ["interdiff", diff1_patch.name, diff2_patch.name], decode_output=False)
- except ScriptError, e:
- _log.warning("Unable to find interdiff util (part of GNU difftools package) which is required.")
- raise
-
- def run(self, state):
- # Check if there are changes first
- if not self._tool.scm().local_changes_exist():
- _log.warn("No local changes found, exiting.")
- return True
-
- # Check if there is a SVN revision in the bug from the commit queue
- landed_revision = self.cached_lookup(state, "bug").commit_revision()
- if not landed_revision:
- raise ScriptError("Unable to find landed message in associated bug.")
-
- # Now this is there it gets complicated, we need to compare our diff to the diff at landed_revision.
- landed_diff_bin = self._tool.scm().diff_for_revision(landed_revision)
- landed_diff_trimmed = self.strip_change_log(self.convert_to_svn(landed_diff_bin))
-
- # Check if there are any differences in the patch that don't happen
- local_diff_bin = self._tool.scm().create_patch()
- local_diff_trimmed = self.strip_change_log(self.convert_to_svn(local_diff_bin))
-
- # Diff the two diff's together...
- diff_diff = self.diff_diff(landed_diff_trimmed, local_diff_trimmed,
- '-landed', '-local',
- executive=self._tool.executive)
-
- with self._show_pretty_diff(diff_diff) as pretty_diff_file:
- if not pretty_diff_file:
- self._tool.user.page(diff_diff)
-
- if self._tool.user.confirm("May I discard local changes?"):
- # Discard changes if the user confirmed we should
- _log.warn("Discarding changes as requested.")
- self._tool.scm().discard_local_changes()

Powered by Google App Engine
This is Rietveld 408576698