aboutsummaryrefslogtreecommitdiffstats
path: root/modules/git/commit_info.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/git/commit_info.go')
-rw-r--r--modules/git/commit_info.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/git/commit_info.go b/modules/git/commit_info.go
index c046acbb50..4f76a28f31 100644
--- a/modules/git/commit_info.go
+++ b/modules/git/commit_info.go
@@ -9,3 +9,15 @@ type CommitInfo struct {
Commit *Commit
SubmoduleFile *CommitSubmoduleFile
}
+
+func GetCommitInfoSubmoduleFile(repoLink, fullPath string, commit *Commit, refCommitID ObjectID) (*CommitSubmoduleFile, error) {
+ submodule, err := commit.GetSubModule(fullPath)
+ if err != nil {
+ return nil, err
+ }
+ if submodule == nil {
+ // unable to find submodule from ".gitmodules" file
+ return NewCommitSubmoduleFile(repoLink, fullPath, "", refCommitID.String()), nil
+ }
+ return NewCommitSubmoduleFile(repoLink, fullPath, submodule.URL, refCommitID.String()), nil
+}