Chromium Code Reviews| Index: gclient_scm.py |
| =================================================================== |
| --- gclient_scm.py (revision 139694) |
| +++ gclient_scm.py (working copy) |
| @@ -194,6 +194,14 @@ |
| cwd=self.checkout_path, |
| filter_fn=GitDiffFilterer(self.relpath).Filter) |
| + def UpdateSubmoduleConfig(self): |
| + submod_cmd = ['git', 'config', '-f', '$toplevel/.git/config', |
| + 'submodule.$name.ignore', '||', |
|
M-A Ruel
2012/05/31 01:35:52
'||' probably doesn't work on windows.
szager1
2012/05/31 06:39:45
I tried it. Works for me. git-submodule is a she
|
| + 'git', 'config', '-f', '$toplevel/.git/config', |
| + 'submodule.$name.ignore', 'dirty'] |
| + cmd = ['submodule', '--quiet', 'foreach', ' '.join(submod_cmd)] |
| + self._Run(cmd, options=None, cwd=self.checkout_path, print_stdout=True) |
| + |
| def update(self, options, args, file_list): |
| """Runs git to update or transparently checkout the working copy. |
| @@ -254,6 +262,7 @@ |
| not os.listdir(self.checkout_path)): |
| gclient_utils.safe_makedirs(os.path.dirname(self.checkout_path)) |
| self._Clone(revision, url, options) |
| + self.UpdateSubmoduleConfig() |
| files = self._Capture(['ls-files']).splitlines() |
| file_list.extend([os.path.join(self.checkout_path, f) for f in files]) |
| if not verbose: |
| @@ -290,6 +299,7 @@ |
| quiet = ['--quiet'] |
| self._Run(['fetch', 'origin', '--prune'] + quiet, options) |
| self._Run(['reset', '--hard', 'origin/master'] + quiet, options) |
| + self.UpdateSubmoduleConfig() |
| files = self._Capture(['ls-files']).splitlines() |
| file_list.extend([os.path.join(self.checkout_path, f) for f in files]) |
| return |
| @@ -461,6 +471,7 @@ |
| # whitespace between projects when syncing. |
| print('') |
| + self.UpdateSubmoduleConfig() |
| file_list.extend([os.path.join(self.checkout_path, f) for f in files]) |
| # If the rebase generated a conflict, abort and ask user to fix |