summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYarden Shoham <hrsi88@gmail.com>2023-02-21 19:35:14 +0200
committerGitHub <noreply@github.com>2023-02-21 12:35:14 -0500
commit8f5b2f1ddf8e7dad04958f2190e1d717fdc9c177 (patch)
tree2505826600ef1a5fa46518b6038f4a8b5bb2c444
parentbbfd34575a1b41d6c65dac34094502561296fa8f (diff)
downloadgitea-8f5b2f1ddf8e7dad04958f2190e1d717fdc9c177.tar.gz
gitea-8f5b2f1ddf8e7dad04958f2190e1d717fdc9c177.zip
Return empty url for submodule tree entries (#23043) (#23048)
Backport #23043 Close #22614. Refer to [Github's API](https://docs.github.com/en/rest/git/trees?apiVersion=2022-11-28#get-a-tree), if a tree entry is a submodule, its url will be an empty string. Co-authored-by: Zettat123 <zettat123@gmail.com> Co-authored-by: delvh <leon@kske.dev> Co-authored-by: John Olheiser <john.olheiser@gmail.com>
-rw-r--r--services/repository/files/tree.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/repository/files/tree.go b/services/repository/files/tree.go
index 513b8a2274..1df1cb582b 100644
--- a/services/repository/files/tree.go
+++ b/services/repository/files/tree.go
@@ -86,6 +86,11 @@ func GetTreeBySHA(ctx context.Context, repo *repo_model.Repository, gitRepo *git
if entries[e].IsDir() {
copy(treeURL[copyPos:], entries[e].ID.String())
tree.Entries[i].URL = string(treeURL)
+ } else if entries[e].IsSubModule() {
+ // In Github Rest API Version=2022-11-28, if a tree entry is a submodule,
+ // its url will be returned as an empty string.
+ // So the URL will be set to "" here.
+ tree.Entries[i].URL = ""
} else {
copy(blobURL[copyPos:], entries[e].ID.String())
tree.Entries[i].URL = string(blobURL)