| OLD | NEW |
| 1 # Copyright (c) 2009, 2010, 2011 Google Inc. All rights reserved. | 1 # Copyright (c) 2009, 2010, 2011 Google Inc. All rights reserved. |
| 2 # Copyright (c) 2009 Apple Inc. All rights reserved. | 2 # Copyright (c) 2009 Apple Inc. All rights reserved. |
| 3 # | 3 # |
| 4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
| 5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
| 6 # met: | 6 # met: |
| 7 # | 7 # |
| 8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
| 9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
| 10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 | 29 |
| 30 import datetime | 30 import datetime |
| 31 import logging | 31 import logging |
| 32 import os | 32 import os |
| 33 import re | 33 import re |
| 34 | 34 |
| 35 # This import isn't used, but it's needed for the |
| 36 # path_to_module('webkitpy.common.config') call in create_patch. |
| 37 import webkitpy.common.config |
| 38 |
| 35 from webkitpy.common.checkout.scm.scm import SCM | 39 from webkitpy.common.checkout.scm.scm import SCM |
| 36 from webkitpy.common.memoized import memoized | 40 from webkitpy.common.memoized import memoized |
| 37 from webkitpy.common.system.executive import Executive, ScriptError | 41 from webkitpy.common.system.executive import Executive, ScriptError |
| 38 | 42 |
| 39 _log = logging.getLogger(__name__) | 43 _log = logging.getLogger(__name__) |
| 40 | 44 |
| 41 | 45 |
| 42 class AmbiguousCommitError(Exception): | 46 class AmbiguousCommitError(Exception): |
| 43 def __init__(self, num_local_commits, has_working_directory_changes): | 47 def __init__(self, num_local_commits, has_working_directory_changes): |
| 44 Exception.__init__(self, "Found %s local commits and the working directo
ry is %s" % ( | 48 Exception.__init__(self, "Found %s local commits and the working directo
ry is %s" % ( |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 if self.current_branch() != self._branch_tracking_remote_master(): | 322 if self.current_branch() != self._branch_tracking_remote_master(): |
| 319 return False | 323 return False |
| 320 if len(self._local_commits(self._branch_tracking_remote_master())) > 0: | 324 if len(self._local_commits(self._branch_tracking_remote_master())) > 0: |
| 321 return False | 325 return False |
| 322 return True | 326 return True |
| 323 | 327 |
| 324 def ensure_cleanly_tracking_remote_master(self): | 328 def ensure_cleanly_tracking_remote_master(self): |
| 325 self._discard_working_directory_changes() | 329 self._discard_working_directory_changes() |
| 326 self._run_git(['checkout', '-q', self._branch_tracking_remote_master()]) | 330 self._run_git(['checkout', '-q', self._branch_tracking_remote_master()]) |
| 327 self._discard_local_commits() | 331 self._discard_local_commits() |
| OLD | NEW |