Revert "git_auth: Handle conflicting stale local config"

This reverts commit e96cff71c9.

Reason for revert: causing https://issues.chromium.org/466343784

Original change's description:
> git_auth: Handle conflicting stale local config
>
> As we prefer configuring the global config, it's possible to leave
> stale local config behind if the user is swapping between emails.
>
> Change-Id: I86e2cda33a90b603e52d525fcb564fb0a5a68eab
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/7213753
> Reviewed-by: Gavin Mak <gavinmak@google.com>
> Commit-Queue: Allen Li <ayatane@chromium.org>

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Iec8ce86a6d17b26e5cc3940a38c6510ad3f855be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/7231141
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
This commit is contained in:
Yiwei Zhang
2025-12-05 09:56:59 -08:00
committed by LUCI CQ
parent f0d44b0b80
commit e0a877ed8f
2 changed files with 2 additions and 45 deletions

View File

@@ -340,9 +340,6 @@ class ConfigWizard(object):
self._configure_sso(parts, scope=scope)
return _ConfigInfo(method=_ConfigMethod.SSO)
self._configure_oauth(parts, scope=scope)
if scope == 'global':
# Clear any potential overriding local config
self._clear_local_host_config(parts)
return _ConfigInfo(method=_ConfigMethod.OAUTH)
def _configure_sso(self, parts: urllib.parse.SplitResult, *,
@@ -361,17 +358,6 @@ class ConfigWizard(object):
self._set_url_rewrite_override(parts, scope=scope)
self._clear_sso_rewrite(parts, scope=scope)
def _clear_local_host_config(self, parts: urllib.parse.SplitResult):
"""Clear auth config for one Gerrit host.
This is used to clear any local config that might override a
correct global config, as we default to configuring the global
config if the local config has the same email, but the local
config might have stale settings.
"""
self._clear_url_rewrite_override(parts, scope='local')
self._clear_sso_rewrite(parts, scope='local')
# Fixing competing auth
def _fix_netrc(self) -> None:

View File

@@ -15,7 +15,6 @@ import sys
import tempfile
from typing import Iterable
import unittest
from unittest import mock
import urllib.parse
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
@@ -102,7 +101,7 @@ class TestConfigWizard(unittest.TestCase):
}
self.assertEqual(self.global_state, want)
def test_configure_sso_global_with_review_host(self):
def test_configure_review_sso_global(self):
parts = urllib.parse.urlsplit(
'https://chromium-review.googlesource.com/chromium/tools/depot_tools.git'
)
@@ -125,7 +124,7 @@ class TestConfigWizard(unittest.TestCase):
}
self.assertEqual(self.global_state, want)
def test_configure_oauth_global_with_review_host(self):
def test_configure_review_oauth_global(self):
parts = urllib.parse.urlsplit(
'https://chromium-review.googlesource.com/chromium/tools/depot_tools.git'
)
@@ -191,34 +190,6 @@ class TestConfigWizard(unittest.TestCase):
'https://chromium-review.googlesource.com/chromium/tools/depot_tools.git',
])
@mock.patch('git_auth.ConfigWizard._check_use_sso', spec=True)
def test_configure_host_clears_conflicting_local_stale(self, check):
parts = urllib.parse.urlsplit(
'https://chromium.googlesource.com/chromium/tools/depot_tools.git')
email = 'columbina@example.com'
check.return_value = True
self.wizard._configure_host(parts, email, scope='local')
# Check local rule is created
self.assertEqual(
scm.GIT.GetConfigList(os.getcwd(), 'url.sso://chromium/.insteadof'),
[
'https://chromium.googlesource.com/',
'https://chromium-review.googlesource.com/',
])
check.return_value = False
self.wizard._configure_host(parts, email, scope='global')
want = {
'credential.https://chromium.googlesource.com.helper': ['', 'luci'],
'credential.https://chromium.googlesource.com.usehttppath': ['yes'],
}
self.assertEqual(self.global_state, want)
# Ensure the local rule gets purged
self.assertEqual(
scm.GIT.GetConfigList(os.getcwd(), 'url.sso://chromium/.insteadof'),
[])
def test_check_gitcookies_same(self):
with tempfile.NamedTemporaryFile() as gitcookies:
self.wizard._gitcookies = lambda: gitcookies.name