 Chromium Code Reviews
 Chromium Code Reviews Issue 10454088:
  Automatically update submodule config entries on sync.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
    
  
    Issue 10454088:
  Automatically update submodule config entries on sync.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/| 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 |