Unset diff.ignoreSubmodules=all when running gclient sync.

Bug: 1470195
Change-Id: I1317e5f12d6cc7fae44b2a463ddf6d0f85629759
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4767516
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Joanna Wang <jojwang@chromium.org>
changes/16/4767516/8
Joanna Wang 2 years ago committed by LUCI CQ
parent f1390e5ac1
commit 4e6c1071bd

@ -583,13 +583,14 @@ class GitWrapper(SCMWrapper):
config = subprocess2.capture(
['git', 'config', '-l'],
cwd=args[0].checkout_path).decode('utf-8').strip().splitlines()
if 'diff.ignoresubmodules=all' not in config:
subprocess2.capture(['git', 'config', 'diff.ignoreSubmodules', 'all'],
cwd=args[0].checkout_path).strip()
if 'diff.ignoresubmodules=all' in config:
subprocess2.capture(
['git', 'config', '--unset', 'diff.ignoreSubmodules'],
cwd=args[0].checkout_path)
if 'fetch.recursesubmodules=off' not in config:
subprocess2.capture(
['git', 'config', 'fetch.recurseSubmodules', 'off'],
cwd=args[0].checkout_path).strip()
cwd=args[0].checkout_path)
return return_val
return wrapper

@ -407,16 +407,31 @@ 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')
self.assertEqual(scm._Capture(['config', '--get', 'diff.ignoreSubmodules']),
'all')
with self.assertRaises(Exception):
scm._Capture(['config', '--get', 'diff.ignoreSubmodules'])
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

Loading…
Cancel
Save