aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2023-03-24 16:13:27 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-03-24 16:13:27 +0000
commit0c22754af4a6de5ac554243cedab0e314669322d (patch)
tree66bab01145f114e2ae49b1d63d09e756d708aae7
parent53746541f099928617db0a2b389e5eef7c07e84b (diff)
parent278e9aaae8a000eb86c4bfe0bcb51a7d5622dbbe (diff)
downloadexternal_updater-0c22754af4a6de5ac554243cedab0e314669322d.tar.gz
Improve error message when a remote isn't found. am: 9669be3724 am: 3a14f39fc9 am: aacaaba4a7 am: 278e9aaae8
Original change: https://android-review.googlesource.com/c/platform/tools/external_updater/+/2506728 Change-Id: I957561ae5a022be557487b008f43a175f9207b91 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--git_updater.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/git_updater.py b/git_updater.py
index 63f6fce..02e73c0 100644
--- a/git_updater.py
+++ b/git_updater.py
@@ -23,7 +23,6 @@ import updater_utils
class GitUpdater(base_updater.Updater):
"""Updater for Git upstream."""
UPSTREAM_REMOTE_NAME: str = "update_origin"
- android_remote_name: str
def is_supported_url(self) -> bool:
return git_utils.is_valid_url(self._proj_path, self._old_url.value)
@@ -31,13 +30,19 @@ class GitUpdater(base_updater.Updater):
def _setup_remote(self) -> None:
remotes = git_utils.list_remotes(self._proj_path)
current_remote_url = None
+ android_remote_name: str | None = None
for name, url in remotes.items():
if name == self.UPSTREAM_REMOTE_NAME:
current_remote_url = url
- # Guess android remote name.
if '/platform/external/' in url:
- self.android_remote_name = name
+ android_remote_name = name
+
+ if android_remote_name is None:
+ remotes_formatted = "\n".join(f"{k} {v}" for k, v in remotes.items())
+ raise RuntimeError(
+ f"Could not determine android remote for {self._proj_path}. Tried:\n"
+ f"{remotes_formatted}")
if current_remote_url is not None and current_remote_url != self._old_url.value:
git_utils.remove_remote(self._proj_path, self.UPSTREAM_REMOTE_NAME)
@@ -48,7 +53,7 @@ class GitUpdater(base_updater.Updater):
self._old_url.value)
git_utils.fetch(self._proj_path,
- [self.UPSTREAM_REMOTE_NAME, self.android_remote_name])
+ [self.UPSTREAM_REMOTE_NAME, android_remote_name])
def check(self) -> None:
"""Checks upstream and returns whether a new version is available."""