[llvm] Have merge script detect whether to use https or ssh to connect to github. (PR #218380)

Douglas Yung via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 04:54:27 PDT 2026


https://github.com/dyung updated https://github.com/llvm/llvm-project/pull/218380

>From 89b5a8f7f7ee9ea33d336e41e562dcea662e4648 Mon Sep 17 00:00:00 2001
From: Douglas Yung <dyung+github at fastmail.fm>
Date: Mon, 24 Aug 2026 04:33:42 -0700
Subject: [PATCH 1/2] Have merge script detect whether to use https or ssh to
 connect to github.

---
 llvm/utils/release/merge-release-pr.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/llvm/utils/release/merge-release-pr.py b/llvm/utils/release/merge-release-pr.py
index 86f68968fd3dc..866839e44fb94 100755
--- a/llvm/utils/release/merge-release-pr.py
+++ b/llvm/utils/release/merge-release-pr.py
@@ -141,11 +141,19 @@ def load_pr_data(self):
         )
         self.prdata = json.loads(o)
 
+        # Determine if we use https or ssh to connect to github
+        remote = subprocess.run(
+            ["git", "remote", "get-url", self.args.upstream],
+            capture_output=True,
+            text=True,
+        )
+        upstream_remote_type = remote.stdout.strip().replace("llvm/llvm-project.git", "")
+
         # save the baseRefName (target branch) so that we know where to push
         self.target_branch = self.prdata["baseRefName"]
         srepo = self.prdata["headRepository"]["name"]
         sowner = self.prdata["headRepositoryOwner"]["login"]
-        self.source_url = f"https://github.com/{sowner}/{srepo}"
+        self.source_url = f"{upstream_remote_type}{sowner}/{srepo}"
         self.source_branch = self.prdata["headRefName"]
 
         if srepo != "llvm-project":

>From a1806515459dd8cf7997e3d1a8cf2c151ac7a3a1 Mon Sep 17 00:00:00 2001
From: Douglas Yung <dyung+github at fastmail.fm>
Date: Mon, 24 Aug 2026 04:54:00 -0700
Subject: [PATCH 2/2] Make suggested python formatting change.

---
 llvm/utils/release/merge-release-pr.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/llvm/utils/release/merge-release-pr.py b/llvm/utils/release/merge-release-pr.py
index 866839e44fb94..c95d0798aae32 100755
--- a/llvm/utils/release/merge-release-pr.py
+++ b/llvm/utils/release/merge-release-pr.py
@@ -147,7 +147,9 @@ def load_pr_data(self):
             capture_output=True,
             text=True,
         )
-        upstream_remote_type = remote.stdout.strip().replace("llvm/llvm-project.git", "")
+        upstream_remote_type = remote.stdout.strip().replace(
+            "llvm/llvm-project.git", ""
+        )
 
         # save the baseRefName (target branch) so that we know where to push
         self.target_branch = self.prdata["baseRefName"]



More information about the llvm-commits mailing list