project: Add REPO_PROJECT_FETCH_URL environment variable Add REPO_PROJECT_FETCH_URL to Project.GetEnvVars(), which resolves to the remote fetch URL of the project. This is useful for exposing the URL to custom fetch commands or other external scripts. Bug: 513329573 Change-Id: Ic2b0a83493934d16bb1152366ee4e1a2c35ea2dc Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/596121 Tested-by: Gavin Mak <gavinmak@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Commit-Queue: Gavin Mak <gavinmak@google.com>
diff --git a/man/repo-forall.1 b/man/repo-forall.1 index bbd83bd..63ba210 100644 --- a/man/repo-forall.1 +++ b/man/repo-forall.1
@@ -125,6 +125,8 @@ REPO_DEST_BRANCH is the name of the destination branch for code review, as specified in the manifest. .PP +REPO_PROJECT_FETCH_URL is the full resolved fetch URL for the project. +.PP REPO_COUNT is the total number of projects being iterated. .PP REPO_I is the current (1\-based) iteration count. Can be used in conjunction with
diff --git a/project.py b/project.py index 58366e9..d870609 100644 --- a/project.py +++ b/project.py
@@ -680,6 +680,7 @@ setenv("REPO_INNERPATH", self.relpath) setenv("REPO_PATH", self.RelPath(local=local)) setenv("REPO_REMOTE", self.remote.name) + setenv("REPO_PROJECT_FETCH_URL", self.remote.url) try: lrev = "" if self.manifest.IsMirror else self.GetRevisionId()
diff --git a/subcmds/forall.py b/subcmds/forall.py index 4560f0d..03d1270 100644 --- a/subcmds/forall.py +++ b/subcmds/forall.py
@@ -107,6 +107,8 @@ REPO_DEST_BRANCH is the name of the destination branch for code review, as specified in the manifest. +REPO_PROJECT_FETCH_URL is the full resolved fetch URL for the project. + REPO_COUNT is the total number of projects being iterated. REPO_I is the current (1-based) iteration count. Can be used in
diff --git a/tests/test_project.py b/tests/test_project.py index dd24afa..7c4be48 100644 --- a/tests/test_project.py +++ b/tests/test_project.py
@@ -1060,6 +1060,9 @@ self.assertEqual(env["REPO_RREV"], "main") self.assertEqual(env["REPO_UPSTREAM"], "upstream-branch") self.assertEqual(env["REPO_DEST_BRANCH"], "dest-branch") + self.assertEqual( + env["REPO_PROJECT_FETCH_URL"], "http://example.com/repo" + ) def test_get_env_vars_non_local(self): """Test environment variables generation with local=False."""