mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
Source files keep their SPDX-License-Identifier and Hanzo copyright line; the Gitea, Gogs and LFS Test Server copyrights they used to repeat now live once in NOTICE, alongside LICENSE. The header lint accepts any copyright line above the SPDX line, so it no longer demands an upstream one. Co-authored-by: Hanzo Dev <[email protected]>
26 lines
826 B
Go
26 lines
826 B
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package git
|
|
|
|
import "context"
|
|
|
|
// CommitInfo describes the first commit with the provided entry
|
|
type CommitInfo struct {
|
|
Entry *TreeEntry
|
|
Commit *Commit
|
|
SubmoduleFile *CommitSubmoduleFile
|
|
}
|
|
|
|
func GetCommitInfoSubmoduleFile(ctx context.Context, repoLink, fullPath string, gitRepo *Repository, commit *Commit, refCommitID ObjectID) (*CommitSubmoduleFile, error) {
|
|
submodule, err := commit.GetSubModule(ctx, gitRepo, 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
|
|
}
|