diff --git a/cmd/web.go b/cmd/web.go index bcb99a0ee5..eb364cfec0 100644 --- a/cmd/web.go +++ b/cmd/web.go @@ -534,12 +534,12 @@ func runWeb(ctx *cli.Context) error { m.Get("/src/*", repo.Home) m.Get("/raw/*", repo.SingleDownload) m.Get("/commits/*", repo.RefCommits) - m.Get("/commit/:sha([a-z0-9]{40})$", repo.Diff) + m.Get("/commit/:sha([a-z0-9]{7,40})$", repo.Diff) m.Get("/forks", repo.Forks) }, context.RepoRef()) - m.Get("/commit/:sha([a-z0-9]{40})\\.:ext(patch|diff)", repo.RawDiff) + m.Get("/commit/:sha([a-z0-9]{7,40})\\.:ext(patch|diff)", repo.RawDiff) - m.Get("/compare/:before([a-z0-9]{40})\\.\\.\\.:after([a-z0-9]{40})", repo.CompareDiff) + m.Get("/compare/:before([a-z0-9]{7,40})\\.\\.\\.:after([a-z0-9]{7,40})", repo.CompareDiff) }, ignSignIn, context.RepoAssignment(), repo.MustBeNotBare) m.Group("/:username/:reponame", func() { m.Get("/stars", repo.Stars) diff --git a/modules/base/tool.go b/modules/base/tool.go index 6088daf033..cf8fece027 100644 --- a/modules/base/tool.go +++ b/modules/base/tool.go @@ -45,7 +45,7 @@ func EncodeSha1(str string) string { } func ShortSha(sha1 string) string { - if len(sha1) == 40 { + if len(sha1) > 10 { return sha1[:10] } return sha1 diff --git a/modules/markdown/markdown.go b/modules/markdown/markdown.go index 92a6154993..1da1c5e2e8 100644 --- a/modules/markdown/markdown.go +++ b/modules/markdown/markdown.go @@ -90,7 +90,7 @@ var ( IssueAlphanumericPattern = regexp.MustCompile(`( |^|\()[A-Z]{1,10}-[1-9][0-9]*\b`) // Sha1CurrentPattern matches string that represents a commit SHA, e.g. d8a994ef243349f321568f9e36d5c3f444b99cae - Sha1CurrentPattern = regexp.MustCompile(`\b[0-9a-f]{40}\b`) + Sha1CurrentPattern = regexp.MustCompile(`\b[0-9a-f]{7,40}\b`) ) // FindAllMentions matches mention patterns in given content