diff --git a/modules/git/commit.go b/modules/git/commit.go index d2d373da12..4e254dcec1 100644 --- a/modules/git/commit.go +++ b/modules/git/commit.go @@ -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) { diff --git a/modules/git/submodule.go b/modules/git/submodule.go index 6927f8cbad..0c7c2696c3 100644 --- a/modules/git/submodule.go +++ b/modules/git/submodule.go @@ -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 diff --git a/routers/repo/view.go b/routers/repo/view.go index cfe0fa010c..2a36db6b42 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -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 diff --git a/templates/repo/view_list.tmpl b/templates/repo/view_list.tmpl index 06536b4728..f51c10025a 100644 --- a/templates/repo/view_list.tmpl +++ b/templates/repo/view_list.tmpl @@ -39,7 +39,11 @@