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 |