OLD | NEW |
1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2010 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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 """Generates a patch file which can be applied to the root of the | 147 """Generates a patch file which can be applied to the root of the |
148 repository. | 148 repository. |
149 | 149 |
150 The patch file is generated from a diff of the merge base of HEAD and | 150 The patch file is generated from a diff of the merge base of HEAD and |
151 its upstream branch. | 151 its upstream branch. |
152 """ | 152 """ |
153 path = os.path.join(self._root_dir, self.relpath) | 153 path = os.path.join(self._root_dir, self.relpath) |
154 merge_base = self._Run(['merge-base', 'HEAD', 'origin']) | 154 merge_base = self._Run(['merge-base', 'HEAD', 'origin']) |
155 command = ['diff', merge_base] | 155 command = ['diff', merge_base] |
156 filterer = DiffFilterer(self.relpath) | 156 filterer = DiffFilterer(self.relpath) |
157 scm.GIT.RunAndFilterOutput(command, path, False, False, filterer.Filter) | 157 scm.GIT.RunAndFilterOutput(command, path, False, False, filterer.Filter, |
| 158 stdout=options.stdout) |
158 | 159 |
159 def update(self, options, args, file_list): | 160 def update(self, options, args, file_list): |
160 """Runs git to update or transparently checkout the working copy. | 161 """Runs git to update or transparently checkout the working copy. |
161 | 162 |
162 All updated files will be appended to file_list. | 163 All updated files will be appended to file_list. |
163 | 164 |
164 Raises: | 165 Raises: |
165 Error: if can't get URL for relative path. | 166 Error: if can't get URL for relative path. |
166 """ | 167 """ |
167 | 168 |
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 def pack(self, options, args, file_list): | 700 def pack(self, options, args, file_list): |
700 """Generates a patch file which can be applied to the root of the | 701 """Generates a patch file which can be applied to the root of the |
701 repository.""" | 702 repository.""" |
702 path = os.path.join(self._root_dir, self.relpath) | 703 path = os.path.join(self._root_dir, self.relpath) |
703 if not os.path.isdir(path): | 704 if not os.path.isdir(path): |
704 raise gclient_utils.Error('Directory %s is not present.' % path) | 705 raise gclient_utils.Error('Directory %s is not present.' % path) |
705 command = ['diff', '-x', '--ignore-eol-style'] | 706 command = ['diff', '-x', '--ignore-eol-style'] |
706 command.extend(args) | 707 command.extend(args) |
707 | 708 |
708 filterer = DiffFilterer(self.relpath) | 709 filterer = DiffFilterer(self.relpath) |
709 scm.SVN.RunAndFilterOutput(command, path, False, False, filterer.Filter) | 710 scm.SVN.RunAndFilterOutput(command, path, False, False, filterer.Filter, |
| 711 stdout=options.stdout) |
710 | 712 |
711 def update(self, options, args, file_list): | 713 def update(self, options, args, file_list): |
712 """Runs svn to update or transparently checkout the working copy. | 714 """Runs svn to update or transparently checkout the working copy. |
713 | 715 |
714 All updated files will be appended to file_list. | 716 All updated files will be appended to file_list. |
715 | 717 |
716 Raises: | 718 Raises: |
717 Error: if can't get URL for relative path. | 719 Error: if can't get URL for relative path. |
718 """ | 720 """ |
719 # Only update if git is not controlling the directory. | 721 # Only update if git is not controlling the directory. |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
961 | 963 |
962 This method returns a new list to be used as a command.""" | 964 This method returns a new list to be used as a command.""" |
963 new_command = command[:] | 965 new_command = command[:] |
964 if revision: | 966 if revision: |
965 new_command.extend(['--revision', str(revision).strip()]) | 967 new_command.extend(['--revision', str(revision).strip()]) |
966 # --force was added to 'svn update' in svn 1.5. | 968 # --force was added to 'svn update' in svn 1.5. |
967 if ((options.force or options.manually_grab_svn_rev) and | 969 if ((options.force or options.manually_grab_svn_rev) and |
968 scm.SVN.AssertVersion("1.5")[0]): | 970 scm.SVN.AssertVersion("1.5")[0]): |
969 new_command.append('--force') | 971 new_command.append('--force') |
970 return new_command | 972 return new_command |
OLD | NEW |