Fix #3321: commit tag shortener (#3418)

* Fix #3321: commit tag shortener

* Check short commit

* remove debug

* Edit unit tests

* Show 10-char short SHA
tokarchuk/v1.17
Thibault Meyer 8 years ago committed by 无闻
parent 2cb04db526
commit 7eafe3213f
  1. 6
      cmd/web.go
  2. 2
      modules/base/tool.go
  3. 2
      modules/markdown/markdown.go

@ -534,12 +534,12 @@ func runWeb(ctx *cli.Context) error {
m.Get("/src/*", repo.Home) m.Get("/src/*", repo.Home)
m.Get("/raw/*", repo.SingleDownload) m.Get("/raw/*", repo.SingleDownload)
m.Get("/commits/*", repo.RefCommits) 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) m.Get("/forks", repo.Forks)
}, context.RepoRef()) }, 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) }, ignSignIn, context.RepoAssignment(), repo.MustBeNotBare)
m.Group("/:username/:reponame", func() { m.Group("/:username/:reponame", func() {
m.Get("/stars", repo.Stars) m.Get("/stars", repo.Stars)

@ -45,7 +45,7 @@ func EncodeSha1(str string) string {
} }
func ShortSha(sha1 string) string { func ShortSha(sha1 string) string {
if len(sha1) == 40 { if len(sha1) > 10 {
return sha1[:10] return sha1[:10]
} }
return sha1 return sha1

@ -90,7 +90,7 @@ var (
IssueAlphanumericPattern = regexp.MustCompile(`( |^|\()[A-Z]{1,10}-[1-9][0-9]*\b`) IssueAlphanumericPattern = regexp.MustCompile(`( |^|\()[A-Z]{1,10}-[1-9][0-9]*\b`)
// Sha1CurrentPattern matches string that represents a commit SHA, e.g. d8a994ef243349f321568f9e36d5c3f444b99cae // 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 // FindAllMentions matches mention patterns in given content

Loading…
Cancel
Save