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 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 | 548 |
549 print rebase_output.strip() | 549 print rebase_output.strip() |
550 if rebase_err: | 550 if rebase_err: |
551 print "Rebase produced error output:\n%s" % rebase_err.strip() | 551 print "Rebase produced error output:\n%s" % rebase_err.strip() |
552 if not verbose: | 552 if not verbose: |
553 # Make the output a little prettier. It's nice to have some | 553 # Make the output a little prettier. It's nice to have some |
554 # whitespace between projects when syncing. | 554 # whitespace between projects when syncing. |
555 print "" | 555 print "" |
556 | 556 |
557 def _CheckMinVersion(self, min_version): | 557 def _CheckMinVersion(self, min_version): |
558 def only_int(val): | 558 (ok, current_version) = scm.GIT.AssertVersion(min_version) |
559 if val.isdigit(): | 559 if not ok: |
560 return int(val) | 560 raise gclient_utils.Error('git version %s < minimum required %s' % |
561 else: | 561 (current_version, min_version)) |
562 return 0 | |
563 version = self._Run(['--version'], cwd='.').split()[-1] | |
564 version_list = map(only_int, version.split('.')) | |
565 min_version_list = map(int, min_version.split('.')) | |
566 for min_ver in min_version_list: | |
567 ver = version_list.pop(0) | |
568 if min_ver > ver: | |
569 raise gclient_utils.Error('git version %s < minimum required %s' % | |
570 (version, min_version)) | |
571 elif min_ver < ver: | |
572 return | |
573 | 562 |
574 def _GetCurrentBranch(self): | 563 def _GetCurrentBranch(self): |
575 # Returns name of current branch | 564 # Returns name of current branch |
576 # Returns None if inside a (no branch) | 565 # Returns None if inside a (no branch) |
577 tokens = self._Run(['branch']).split() | 566 tokens = self._Run(['branch']).split() |
578 branch = tokens[tokens.index('*') + 1] | 567 branch = tokens[tokens.index('*') + 1] |
579 if branch == '(no': | 568 if branch == '(no': |
580 return None | 569 return None |
581 return branch | 570 return branch |
582 | 571 |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 print("\n________ couldn't run \'%s\' in \'%s\':\nThe directory " | 820 print("\n________ couldn't run \'%s\' in \'%s\':\nThe directory " |
832 "does not exist." | 821 "does not exist." |
833 % (' '.join(command), path)) | 822 % (' '.join(command), path)) |
834 # There's no file list to retrieve. | 823 # There's no file list to retrieve. |
835 else: | 824 else: |
836 self.RunAndGetFileList(options, command, path, file_list) | 825 self.RunAndGetFileList(options, command, path, file_list) |
837 | 826 |
838 def FullUrlForRelativeUrl(self, url): | 827 def FullUrlForRelativeUrl(self, url): |
839 # Find the forth '/' and strip from there. A bit hackish. | 828 # Find the forth '/' and strip from there. A bit hackish. |
840 return '/'.join(self.url.split('/')[:4]) + url | 829 return '/'.join(self.url.split('/')[:4]) + url |
OLD | NEW |