| 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 11 matching lines...) Expand all Loading... |
| 22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 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 | |
| 33 import re | 32 import re |
| 34 | 33 |
| 35 import webkitpy.common.config | |
| 36 from webkitpy.common.checkout.scm.scm import SCM | 34 from webkitpy.common.checkout.scm.scm import SCM |
| 37 from webkitpy.common.memoized import memoized | 35 from webkitpy.common.memoized import memoized |
| 38 from webkitpy.common.system.executive import Executive, ScriptError | 36 from webkitpy.common.system.executive import Executive, ScriptError |
| 39 | 37 |
| 40 _log = logging.getLogger(__name__) | 38 _log = logging.getLogger(__name__) |
| 41 | 39 |
| 42 | 40 |
| 43 class AmbiguousCommitError(Exception): | 41 class AmbiguousCommitError(Exception): |
| 44 def __init__(self, num_local_commits, has_working_directory_changes): | 42 def __init__(self, num_local_commits, has_working_directory_changes): |
| 45 Exception.__init__(self, "Found %s local commits and the working directo
ry is %s" % ( | 43 Exception.__init__(self, "Found %s local commits and the working directo
ry is %s" % ( |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 if self.current_branch() != self._branch_tracking_remote_master(): | 303 if self.current_branch() != self._branch_tracking_remote_master(): |
| 306 return False | 304 return False |
| 307 if len(self._local_commits(self._branch_tracking_remote_master())) > 0: | 305 if len(self._local_commits(self._branch_tracking_remote_master())) > 0: |
| 308 return False | 306 return False |
| 309 return True | 307 return True |
| 310 | 308 |
| 311 def ensure_cleanly_tracking_remote_master(self): | 309 def ensure_cleanly_tracking_remote_master(self): |
| 312 self._discard_working_directory_changes() | 310 self._discard_working_directory_changes() |
| 313 self._run_git(['checkout', '-q', self._branch_tracking_remote_master()]) | 311 self._run_git(['checkout', '-q', self._branch_tracking_remote_master()]) |
| 314 self._discard_local_commits() | 312 self._discard_local_commits() |
| OLD | NEW |