| 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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 if 'cwd' not in full_kwargs: | 65 if 'cwd' not in full_kwargs: |
| 66 full_kwargs['cwd'] = self.checkout_root | 66 full_kwargs['cwd'] = self.checkout_root |
| 67 return self._run(full_command_args, **full_kwargs) | 67 return self._run(full_command_args, **full_kwargs) |
| 68 | 68 |
| 69 @classmethod | 69 @classmethod |
| 70 def in_working_directory(cls, path, executive=None): | 70 def in_working_directory(cls, path, executive=None): |
| 71 try: | 71 try: |
| 72 executive = executive or Executive() | 72 executive = executive or Executive() |
| 73 return executive.run_command([cls.executable_name, 'rev-parse', '--i
s-inside-work-tree'], | 73 return executive.run_command([cls.executable_name, 'rev-parse', '--i
s-inside-work-tree'], |
| 74 cwd=path, error_handler=Executive.ignor
e_error).rstrip() == "true" | 74 cwd=path, error_handler=Executive.ignor
e_error).rstrip() == "true" |
| 75 except OSError as e: | 75 except OSError: |
| 76 # The Windows bots seem to through a WindowsError when git isn't ins
talled. | 76 # The Windows bots seem to through a WindowsError when git isn't ins
talled. |
| 77 return False | 77 return False |
| 78 | 78 |
| 79 def find_checkout_root(self, path): | 79 def find_checkout_root(self, path): |
| 80 # "git rev-parse --show-cdup" would be another way to get to the root | 80 # "git rev-parse --show-cdup" would be another way to get to the root |
| 81 checkout_root = self._run_git(['rev-parse', '--show-toplevel'], cwd=(pat
h or "./")).strip() | 81 checkout_root = self._run_git(['rev-parse', '--show-toplevel'], cwd=(pat
h or "./")).strip() |
| 82 if not self._filesystem.isabs(checkout_root): # Sometimes git returns r
elative paths | 82 if not self._filesystem.isabs(checkout_root): # Sometimes git returns r
elative paths |
| 83 checkout_root = self._filesystem.join(path, checkout_root) | 83 checkout_root = self._filesystem.join(path, checkout_root) |
| 84 return checkout_root | 84 return checkout_root |
| 85 | 85 |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 return False | 326 return False |
| 327 return True | 327 return True |
| 328 | 328 |
| 329 def ensure_cleanly_tracking_remote_master(self): | 329 def ensure_cleanly_tracking_remote_master(self): |
| 330 self._discard_working_directory_changes() | 330 self._discard_working_directory_changes() |
| 331 self._run_git(['checkout', '-q', self._branch_tracking_remote_master()]) | 331 self._run_git(['checkout', '-q', self._branch_tracking_remote_master()]) |
| 332 self._discard_local_commits() | 332 self._discard_local_commits() |
| 333 | 333 |
| 334 def get_issue_number(self): | 334 def get_issue_number(self): |
| 335 return str(self._run_git(['cl', 'issue']).split()[2]) | 335 return str(self._run_git(['cl', 'issue']).split()[2]) |
| OLD | NEW |