mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Add go get meta support
This commit is contained in:
		| @@ -5,7 +5,7 @@ Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ##### Current version: 0.2.2 Alpha | ##### Current version: 0.2.3 Alpha | ||||||
|  |  | ||||||
| #### Due to testing purpose, data of [try.gogits.org](http://try.gogits.org) has been reset in April 6, 2014 and will reset multiple times after. Please do NOT put your important data on the site. | #### Due to testing purpose, data of [try.gogits.org](http://try.gogits.org) has been reset in April 6, 2014 and will reset multiple times after. Please do NOT put your important data on the site. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ Gogs(Go Git Service) 是一个由 Go 语言编写的自助 Git 托管服务。 | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ##### 当前版本:0.2.2 Alpha | ##### 当前版本:0.2.3 Alpha | ||||||
|  |  | ||||||
| ## 开发目的 | ## 开发目的 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @@ -19,7 +19,7 @@ import ( | |||||||
| // Test that go1.2 tag above is included in builds. main.go refers to this definition. | // Test that go1.2 tag above is included in builds. main.go refers to this definition. | ||||||
| const go12tag = true | const go12tag = true | ||||||
|  |  | ||||||
| const APP_VER = "0.2.2.0409 Alpha" | const APP_VER = "0.2.3.0409 Alpha" | ||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	base.AppVer = APP_VER | 	base.AppVer = APP_VER | ||||||
|   | |||||||
| @@ -79,6 +79,7 @@ type Repository struct { | |||||||
| 	NumOpenIssues   int `xorm:"-"` | 	NumOpenIssues   int `xorm:"-"` | ||||||
| 	IsPrivate       bool | 	IsPrivate       bool | ||||||
| 	IsBare          bool | 	IsBare          bool | ||||||
|  | 	IsGoget         bool | ||||||
| 	Created         time.Time `xorm:"created"` | 	Created         time.Time `xorm:"created"` | ||||||
| 	Updated         time.Time `xorm:"updated"` | 	Updated         time.Time `xorm:"updated"` | ||||||
| } | } | ||||||
|   | |||||||
| @@ -289,11 +289,21 @@ func DeleteUser(user *User) error { | |||||||
|  |  | ||||||
| 	// TODO: check issues, other repos' commits | 	// TODO: check issues, other repos' commits | ||||||
|  |  | ||||||
|  | 	// Delete all followers. | ||||||
|  | 	if _, err = orm.Delete(&Follow{FollowId: user.Id}); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// Delete all feeds. | 	// Delete all feeds. | ||||||
| 	if _, err = orm.Delete(&Action{UserId: user.Id}); err != nil { | 	if _, err = orm.Delete(&Action{UserId: user.Id}); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	// Delete all watches. | ||||||
|  | 	if _, err = orm.Delete(&Watch{UserId: user.Id}); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// Delete all accesses. | 	// Delete all accesses. | ||||||
| 	if _, err = orm.Delete(&Access{UserName: user.LowerName}); err != nil { | 	if _, err = orm.Delete(&Access{UserName: user.LowerName}); err != nil { | ||||||
| 		return err | 		return err | ||||||
| @@ -316,7 +326,6 @@ func DeleteUser(user *User) error { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	_, err = orm.Delete(user) | 	_, err = orm.Delete(user) | ||||||
| 	// TODO: delete and update follower information. |  | ||||||
| 	return err | 	return err | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -133,7 +133,7 @@ func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte { | |||||||
| } | } | ||||||
|  |  | ||||||
| func RenderMarkdown(rawBytes []byte, urlPrefix string) []byte { | func RenderMarkdown(rawBytes []byte, urlPrefix string) []byte { | ||||||
| 	// body := RenderSpecialLink(rawBytes, urlPrefix) | 	body := RenderSpecialLink(rawBytes, urlPrefix) | ||||||
| 	// fmt.Println(string(body)) | 	// fmt.Println(string(body)) | ||||||
| 	htmlFlags := 0 | 	htmlFlags := 0 | ||||||
| 	// htmlFlags |= gfm.HTML_USE_XHTML | 	// htmlFlags |= gfm.HTML_USE_XHTML | ||||||
| @@ -162,7 +162,7 @@ func RenderMarkdown(rawBytes []byte, urlPrefix string) []byte { | |||||||
| 	extensions |= gfm.EXTENSION_SPACE_HEADERS | 	extensions |= gfm.EXTENSION_SPACE_HEADERS | ||||||
| 	extensions |= gfm.EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK | 	extensions |= gfm.EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK | ||||||
|  |  | ||||||
| 	body := gfm.Markdown(rawBytes, renderer, extensions) | 	body = gfm.Markdown(body, renderer, extensions) | ||||||
| 	// fmt.Println(string(body)) | 	// fmt.Println(string(body)) | ||||||
| 	return body | 	return body | ||||||
| } | } | ||||||
|   | |||||||
| @@ -427,6 +427,7 @@ func SettingPost(ctx *middleware.Context) { | |||||||
|  |  | ||||||
| 		ctx.Repo.Repository.Description = ctx.Query("desc") | 		ctx.Repo.Repository.Description = ctx.Query("desc") | ||||||
| 		ctx.Repo.Repository.Website = ctx.Query("site") | 		ctx.Repo.Repository.Website = ctx.Query("site") | ||||||
|  | 		ctx.Repo.Repository.IsGoget = ctx.Query("goget") == "on" | ||||||
| 		if err := models.UpdateRepository(ctx.Repo.Repository); err != nil { | 		if err := models.UpdateRepository(ctx.Repo.Repository); err != nil { | ||||||
| 			ctx.Handle(404, "repo.SettingPost(update)", err) | 			ctx.Handle(404, "repo.SettingPost(update)", err) | ||||||
| 			return | 			return | ||||||
|   | |||||||
| @@ -396,6 +396,10 @@ func Activate(ctx *middleware.Context) { | |||||||
| 			} else { | 			} else { | ||||||
| 				ctx.Data["Hours"] = base.Service.ActiveCodeLives / 60 | 				ctx.Data["Hours"] = base.Service.ActiveCodeLives / 60 | ||||||
| 				mailer.SendActiveMail(ctx.Render, ctx.User) | 				mailer.SendActiveMail(ctx.Render, ctx.User) | ||||||
|  |  | ||||||
|  | 				if err := ctx.Cache.Put("MailResendLimit_"+ctx.User.LowerName, ctx.User.LowerName, 180); err != nil { | ||||||
|  | 					log.Error("Set cache(MailResendLimit) fail: %v", err) | ||||||
|  | 				} | ||||||
| 			} | 			} | ||||||
| 		} else { | 		} else { | ||||||
| 			ctx.Data["ServiceNotEnabled"] = true | 			ctx.Data["ServiceNotEnabled"] = true | ||||||
| @@ -451,7 +455,17 @@ func ForgotPasswd(ctx *middleware.Context) { | |||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if ctx.Cache.IsExist("MailResendLimit_" + u.LowerName) { | ||||||
|  | 		ctx.Data["ResendLimited"] = true | ||||||
|  | 		ctx.HTML(200, "user/forgot_passwd") | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	mailer.SendResetPasswdMail(ctx.Render, u) | 	mailer.SendResetPasswdMail(ctx.Render, u) | ||||||
|  | 	if err = ctx.Cache.Put("MailResendLimit_"+u.LowerName, u.LowerName, 180); err != nil { | ||||||
|  | 		log.Error("Set cache(MailResendLimit) fail: %v", err) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	ctx.Data["Email"] = email | 	ctx.Data["Email"] = email | ||||||
| 	ctx.Data["Hours"] = base.Service.ActiveCodeLives / 60 | 	ctx.Data["Hours"] = base.Service.ActiveCodeLives / 60 | ||||||
| 	ctx.Data["IsResetSent"] = true | 	ctx.Data["IsResetSent"] = true | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ | |||||||
| 		<meta name="description" content="Gogs(Go Git Service) is a GitHub-like clone in the Go Programming Language" /> | 		<meta name="description" content="Gogs(Go Git Service) is a GitHub-like clone in the Go Programming Language" /> | ||||||
| 		<meta name="keywords" content="go, git"> | 		<meta name="keywords" content="go, git"> | ||||||
| 		<meta name="_csrf" content="{{.CsrfToken}}" /> | 		<meta name="_csrf" content="{{.CsrfToken}}" /> | ||||||
|  | 		{{if .Repository.IsGoget}}<meta name="go-import" content="{{AppDomain}} git {{.CloneLink.HTTPS}}">{{end}} | ||||||
|  |  | ||||||
| 		 <!-- Stylesheets --> | 		 <!-- Stylesheets --> | ||||||
| 		{{if IsProdMode}} | 		{{if IsProdMode}} | ||||||
|   | |||||||
| @@ -43,6 +43,7 @@ | |||||||
|                             <input type="url" class="form-control" name="site" value="{{.Repository.Website}}" /> |                             <input type="url" class="form-control" name="site" value="{{.Repository.Website}}" /> | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|  |                     <hr> | ||||||
|                     <!-- <div class="form-group"> |                     <!-- <div class="form-group"> | ||||||
|                         <label class="col-md-3 text-right">Default Branch</label> |                         <label class="col-md-3 text-right">Default Branch</label> | ||||||
|                         <div class="col-md-9"> |                         <div class="col-md-9"> | ||||||
| @@ -51,6 +52,18 @@ | |||||||
|                             </select> |                             </select> | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> --> |                     </div> --> | ||||||
|  |  | ||||||
|  |                     <div class="form-group"> | ||||||
|  |                         <div class="col-md-offset-3 col-md-9"> | ||||||
|  |                             <div class="checkbox"> | ||||||
|  |                                 <label style="line-height: 15px;"> | ||||||
|  |                                     <input type="checkbox" name="goget" {{if .Repository.IsGoget}}checked{{end}}> | ||||||
|  |                                     <strong>Enable 'go get' meta</strong> | ||||||
|  |                                 </label> | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                     </div> | ||||||
|  |  | ||||||
|                     <div class="form-group"> |                     <div class="form-group"> | ||||||
|                         <div class="col-md-9 col-md-offset-3"> |                         <div class="col-md-9 col-md-offset-3"> | ||||||
|                             <button class="btn btn-primary" type="submit">Save Options</button> |                             <button class="btn btn-primary" type="submit">Save Options</button> | ||||||
|   | |||||||
| @@ -9,6 +9,20 @@ | |||||||
|                 <h4>Quick Guide</h4> |                 <h4>Quick Guide</h4> | ||||||
|             </div> |             </div> | ||||||
|             <div class="panel-body guide-content text-center"> |             <div class="panel-body guide-content text-center"> | ||||||
|  |                 <form action="{{.RepoLink}}/import" method="post"> | ||||||
|  |                     {{.CsrfTokenHtml}} | ||||||
|  |                     <h3>Clone from existing repository</h3> | ||||||
|  |                     <div class="input-group col-md-6 col-md-offset-3"> | ||||||
|  |                         <span class="input-group-btn"> | ||||||
|  |                             <button class="btn btn-default" type="button">URL</button> | ||||||
|  |                         </span> | ||||||
|  |                         <input name="passwd" type="password" class="form-control" placeholder="Type existing repository address" required="required"> | ||||||
|  |                         <span class="input-group-btn"> | ||||||
|  |                             <button type="submit" class="btn btn-default" type="button">Clone</button> | ||||||
|  |                         </span> | ||||||
|  |                     </div> | ||||||
|  |                 </form> | ||||||
|  |  | ||||||
|                 <h3>Clone this repository</h3> |                 <h3>Clone this repository</h3> | ||||||
|                 <div class="input-group col-md-8 col-md-offset-2 guide-buttons"> |                 <div class="input-group col-md-8 col-md-offset-2 guide-buttons"> | ||||||
|                     <span class="input-group-btn"> |                     <span class="input-group-btn"> | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ | |||||||
|                     <li class="{{if .IsRepoToolbarIssues}}active{{end}}"><a href="{{.RepoLink}}/issues">{{if .Repository.NumOpenIssues}}<span class="badge">{{.Repository.NumOpenIssues}}</span> {{end}}Issues <!--<span class="badge">42</span>--></a></li> |                     <li class="{{if .IsRepoToolbarIssues}}active{{end}}"><a href="{{.RepoLink}}/issues">{{if .Repository.NumOpenIssues}}<span class="badge">{{.Repository.NumOpenIssues}}</span> {{end}}Issues <!--<span class="badge">42</span>--></a></li> | ||||||
|                     {{if .IsRepoToolbarIssues}} |                     {{if .IsRepoToolbarIssues}} | ||||||
|                     <li class="tmp">{{if .IsRepoToolbarIssuesList}}<a href="{{.RepoLink}}/issues/new"><button class="btn btn-primary btn-sm">New Issue</button> |                     <li class="tmp">{{if .IsRepoToolbarIssuesList}}<a href="{{.RepoLink}}/issues/new"><button class="btn btn-primary btn-sm">New Issue</button> | ||||||
|                     </a>{{else}}<a href="{{.RepoLink}}/issues"><button class="btn btn-primary btn-sm">Issues List</button></a>{{end}}</li> |                     </a>{{end}}</li> | ||||||
|                     {{end}} |                     {{end}} | ||||||
|                     <li class="{{if .IsRepoToolbarReleases}}active{{end}}"><a href="{{.RepoLink}}/releases">{{if .Repository.NumReleases}}<span class="badge">{{.Repository.NumReleases}}</span> {{end}}Releases</a></li> |                     <li class="{{if .IsRepoToolbarReleases}}active{{end}}"><a href="{{.RepoLink}}/releases">{{if .Repository.NumReleases}}<span class="badge">{{.Repository.NumReleases}}</span> {{end}}Releases</a></li> | ||||||
|                     {{if .IsRepoToolbarReleases}} |                     {{if .IsRepoToolbarReleases}} | ||||||
|   | |||||||
| @@ -24,6 +24,8 @@ | |||||||
|         </div> |         </div> | ||||||
|         {{else if .IsResetDisable}} |         {{else if .IsResetDisable}} | ||||||
|         <p>Sorry, mail service is not enabled.</p> |         <p>Sorry, mail service is not enabled.</p> | ||||||
|  |         {{else if .ResendLimited}} | ||||||
|  |         <p>Sorry, you are sending e-mail too frequently, please wait 3 minutes.</p> | ||||||
|         {{end}} |         {{end}} | ||||||
|     </form> |     </form> | ||||||
| </div> | </div> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user