mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Handle submodules without a .gitmodules entry - fix #1023
This commit is contained in:
		@@ -88,11 +88,11 @@ func (c *Commit) GetCommitOfRelPath(relPath string) (*Commit, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Commit) GetSubModule(entryname string) (*SubModule, error) {
 | 
			
		||||
	moduels, err := c.GetSubModules()
 | 
			
		||||
	modules, err := c.GetSubModules()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return moduels[entryname], nil
 | 
			
		||||
	return modules[entryname], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Commit) GetSubModules() (map[string]*SubModule, error) {
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,10 @@ func NewSubModuleFile(c *Commit, refUrl, refId string) *SubModuleFile {
 | 
			
		||||
 | 
			
		||||
// RefUrl guesses and returns reference URL.
 | 
			
		||||
func (sf *SubModuleFile) RefUrl() string {
 | 
			
		||||
	if sf.refUrl == "" {
 | 
			
		||||
		return ""
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	url := strings.TrimSuffix(sf.refUrl, ".git")
 | 
			
		||||
 | 
			
		||||
	// git://xxx/user/repo
 | 
			
		||||
 
 | 
			
		||||
@@ -141,13 +141,17 @@ func Home(ctx *middleware.Context) {
 | 
			
		||||
					ctx.Handle(500, "GetSubModule", err)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
				smUrl := ""
 | 
			
		||||
				if sm != nil {
 | 
			
		||||
					smUrl = sm.Url
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				c, err := ctx.Repo.Commit.GetCommitOfRelPath(filepath.Join(treePath, te.Name()))
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					ctx.Handle(500, "GetCommitOfRelPath", err)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
				files = append(files, []interface{}{te, git.NewSubModuleFile(c, sm.Url, te.Id.String())})
 | 
			
		||||
				files = append(files, []interface{}{te, git.NewSubModuleFile(c, smUrl, te.Id.String())})
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		ctx.Data["Files"] = files
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,11 @@
 | 
			
		||||
                    <span class="octicon octicon-file-submodule"></span>
 | 
			
		||||
                </td>
 | 
			
		||||
                <td class="name">
 | 
			
		||||
                    {{if $commit.RefUrl}}
 | 
			
		||||
                    <a href="{{$commit.RefUrl}}" class="text-truncate">{{$entry.Name}}</a> @ <a href="{{$commit.RefUrl}}/commit/{{$commit.RefId}}">{{ShortSha $commit.RefId}}</a>
 | 
			
		||||
                    {{else}}
 | 
			
		||||
                    {{$entry.Name}} @ {{ShortSha $commit.RefId}}
 | 
			
		||||
                    {{end}}
 | 
			
		||||
                </td>
 | 
			
		||||
            {{else}}
 | 
			
		||||
            <td class="icon">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user