From d9ea072747bc753f0c1afd4ad0d60900a0a10ae1 Mon Sep 17 00:00:00 2001 From: Joanna Wang Date: Fri, 18 Aug 2023 20:05:53 +0000 Subject: [PATCH] Use diff.ignoreSubmodules=dirty. With this, modified files from submodules won't be reported, but new ones will and this makes things much faster than not having diff.ignoreSubmodules set at all. Bug: 1470194 Change-Id: I041b6fb3151c0b06cff3cc77d6735ad2ebe27f21 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4793910 Reviewed-by: Josip Sokcevic Commit-Queue: Joanna Wang Commit-Queue: Josip Sokcevic Auto-Submit: Joanna Wang --- gclient_scm.py | 4 ++-- tests/gclient_scm_test.py | 18 ++---------------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/gclient_scm.py b/gclient_scm.py index 60958b5cc..9891e4919 100644 --- a/gclient_scm.py +++ b/gclient_scm.py @@ -583,9 +583,9 @@ class GitWrapper(SCMWrapper): config = subprocess2.capture( ['git', 'config', '-l'], cwd=args[0].checkout_path).decode('utf-8').strip().splitlines() - if 'diff.ignoresubmodules=all' in config: + if 'diff.ignoresubmodules=dirty' not in config: subprocess2.capture( - ['git', 'config', '--unset', 'diff.ignoreSubmodules'], + ['git', 'config', 'diff.ignoreSubmodules', 'dirty'], cwd=args[0].checkout_path) if 'fetch.recursesubmodules=off' not in config: subprocess2.capture( diff --git a/tests/gclient_scm_test.py b/tests/gclient_scm_test.py index dc6dfc0ae..b7b101f17 100755 --- a/tests/gclient_scm_test.py +++ b/tests/gclient_scm_test.py @@ -407,31 +407,17 @@ class ManagedGitWrapperTestCase(BaseGitWrapperTestCase): scm = gclient_scm.GitWrapper(self.url, self.root_dir, self.relpath) file_list = [] - scm._Capture(['config', 'diff.ignoreSubmodules', 'all']) scm.update(options, (), file_list) self.assertEqual(file_list, expected_file_list) self.assertEqual(scm.revinfo(options, (), None), 'a7142dc9f0009350b96a11f372b6ea658592aa95') - with self.assertRaises(Exception): - scm._Capture(['config', '--get', 'diff.ignoreSubmodules']) + self.assertEqual(scm._Capture(['config', '--get', 'diff.ignoreSubmodules']), + 'dirty') self.assertEqual( scm._Capture(['config', '--get', 'fetch.recurseSubmodules']), 'off') sys.stdout.close() - def testUpdateUpdate_only_unset_ignoresubmodules_all(self): - if not self.enabled: - return - options = self.Options() - scm = gclient_scm.GitWrapper(self.url, self.root_dir, self.relpath) - file_list = [] - scm._Capture(['config', 'diff.ignoreSubmodules', 'none']) - - scm.update(options, (), file_list) - self.assertEqual(scm._Capture(['config', '--get', 'diff.ignoreSubmodules']), - 'none') - sys.stdout.close() - def testUpdateMerge(self): if not self.enabled: return