| OLD | NEW |
| 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Gclient-specific SCM-specific operations.""" | 5 """Gclient-specific SCM-specific operations.""" |
| 6 | 6 |
| 7 import logging | 7 import logging |
| 8 import os | 8 import os |
| 9 import posixpath | 9 import posixpath |
| 10 import re | 10 import re |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 __pychecker__ = 'unusednames=args,options' | 242 __pychecker__ = 'unusednames=args,options' |
| 243 if not os.path.isdir(self.checkout_path): | 243 if not os.path.isdir(self.checkout_path): |
| 244 print('\n________ couldn\'t run status in %s:\nThe directory ' | 244 print('\n________ couldn\'t run status in %s:\nThe directory ' |
| 245 'does not exist.' % self.checkout_path) | 245 'does not exist.' % self.checkout_path) |
| 246 else: | 246 else: |
| 247 merge_base = self._Run(['merge-base', 'HEAD', 'origin']) | 247 merge_base = self._Run(['merge-base', 'HEAD', 'origin']) |
| 248 self._Run(['diff', '--name-status', merge_base], redirect_stdout=False) | 248 self._Run(['diff', '--name-status', merge_base], redirect_stdout=False) |
| 249 files = self._Run(['diff', '--name-only', merge_base]).split() | 249 files = self._Run(['diff', '--name-only', merge_base]).split() |
| 250 file_list.extend([os.path.join(self.checkout_path, f) for f in files]) | 250 file_list.extend([os.path.join(self.checkout_path, f) for f in files]) |
| 251 | 251 |
| 252 def FullUrlForRelativeUrl(self, url): |
| 253 # Strip from last '/' |
| 254 # Equivalent to unix basename |
| 255 base_url = self.url |
| 256 return base_url[:base_url.rfind('/')] + url |
| 257 |
| 252 def _CheckMinVersion(self, min_version): | 258 def _CheckMinVersion(self, min_version): |
| 253 def only_int(val): | 259 def only_int(val): |
| 254 if val.isdigit(): | 260 if val.isdigit(): |
| 255 return int(val) | 261 return int(val) |
| 256 else: | 262 else: |
| 257 return 0 | 263 return 0 |
| 258 version = self._Run(['--version'], cwd='.').split()[-1] | 264 version = self._Run(['--version'], cwd='.').split()[-1] |
| 259 version_list = map(only_int, version.split('.')) | 265 version_list = map(only_int, version.split('.')) |
| 260 min_version_list = map(int, min_version.split('.')) | 266 min_version_list = map(int, min_version.split('.')) |
| 261 for min_ver in min_version_list: | 267 for min_ver in min_version_list: |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 521 command = ['status'] | 527 command = ['status'] |
| 522 command.extend(args) | 528 command.extend(args) |
| 523 if not os.path.isdir(path): | 529 if not os.path.isdir(path): |
| 524 # svn status won't work if the directory doesn't exist. | 530 # svn status won't work if the directory doesn't exist. |
| 525 print("\n________ couldn't run \'%s\' in \'%s\':\nThe directory " | 531 print("\n________ couldn't run \'%s\' in \'%s\':\nThe directory " |
| 526 "does not exist." | 532 "does not exist." |
| 527 % (' '.join(command), path)) | 533 % (' '.join(command), path)) |
| 528 # There's no file list to retrieve. | 534 # There's no file list to retrieve. |
| 529 else: | 535 else: |
| 530 self.RunAndGetFileList(options, command, path, file_list) | 536 self.RunAndGetFileList(options, command, path, file_list) |
| 537 |
| 538 def FullUrlForRelativeUrl(self, url): |
| 539 # Find the forth '/' and strip from there. A bit hackish. |
| 540 return '/'.join(self.url.split('/')[:4]) + url |
| OLD | NEW |