Mirror updates
This commit is contained in:
		
							parent
							
								
									57f84fb051
								
							
						
					
					
						commit
						c36e7d322e
					
				
					 8 changed files with 56 additions and 19 deletions
				
			
		|  | @ -120,7 +120,10 @@ func NewEngine() (err error) { | |||
| 
 | ||||
| type Statistic struct { | ||||
| 	Counter struct { | ||||
| 		User, PublicKey, Repo, Watch, Action, Access int64 | ||||
| 		User, PublicKey, Repo, | ||||
| 		Watch, Action, Access, | ||||
| 		Issue, Comment, | ||||
| 		Mirror, Oauth, Release int64 | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | @ -131,5 +134,10 @@ func GetStatistic() (stats Statistic) { | |||
| 	stats.Counter.Watch, _ = orm.Count(new(Watch)) | ||||
| 	stats.Counter.Action, _ = orm.Count(new(Action)) | ||||
| 	stats.Counter.Access, _ = orm.Count(new(Access)) | ||||
| 	stats.Counter.Issue, _ = orm.Count(new(Issue)) | ||||
| 	stats.Counter.Comment, _ = orm.Count(new(Comment)) | ||||
| 	stats.Counter.Mirror, _ = orm.Count(new(Mirror)) | ||||
| 	stats.Counter.Oauth, _ = orm.Count(new(Oauth2)) | ||||
| 	stats.Counter.Release, _ = orm.Count(new(Release)) | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -66,6 +66,7 @@ func NewRepoContext() { | |||
| type Repository struct { | ||||
| 	Id              int64 | ||||
| 	OwnerId         int64 `xorm:"unique(s)"` | ||||
| 	Owner           *User `xorm:"-"` | ||||
| 	ForkId          int64 | ||||
| 	LowerName       string `xorm:"unique(s) index not null"` | ||||
| 	Name            string `xorm:"index not null"` | ||||
|  | @ -364,24 +365,21 @@ func initRepoCommit(tmpPath string, sig *git.Signature) (err error) { | |||
| 	var stderr string | ||||
| 	if _, stderr, err = com.ExecCmdDir(tmpPath, "git", "add", "--all"); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if len(stderr) > 0 { | ||||
| 		log.Trace("stderr(1): %s", stderr) | ||||
| 	} else if strings.Contains(stderr, "fatal:") { | ||||
| 		return errors.New("git add: " + stderr) | ||||
| 	} | ||||
| 
 | ||||
| 	if _, stderr, err = com.ExecCmdDir(tmpPath, "git", "commit", fmt.Sprintf("--author='%s <%s>'", sig.Name, sig.Email), | ||||
| 		"-m", "Init commit"); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if len(stderr) > 0 { | ||||
| 		log.Trace("stderr(2): %s", stderr) | ||||
| 	} else if strings.Contains(stderr, "fatal:") { | ||||
| 		return errors.New("git commit: " + stderr) | ||||
| 	} | ||||
| 
 | ||||
| 	if _, stderr, err = com.ExecCmdDir(tmpPath, "git", "push", "origin", "master"); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if len(stderr) > 0 { | ||||
| 		log.Trace("stderr(3): %s", stderr) | ||||
| 	} else if strings.Contains(stderr, "fatal:") { | ||||
| 		return errors.New("git push: " + stderr) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | @ -439,9 +437,8 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep | |||
| 	_, stderr, err := com.ExecCmd("git", "clone", repoPath, tmpDir) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if len(stderr) > 0 { | ||||
| 		log.Trace("repo.initRepository(git clone): %s", stderr) | ||||
| 	} else if strings.Contains(stderr, "fatal:") { | ||||
| 		return errors.New("git clone: " + stderr) | ||||
| 	} | ||||
| 
 | ||||
| 	// README
 | ||||
|  | @ -725,6 +722,13 @@ func GetRepositories(user *User, private bool) ([]Repository, error) { | |||
| 	return repos, err | ||||
| } | ||||
| 
 | ||||
| // GetRecentUpdatedRepositories returns the list of repositories that are recently updated.
 | ||||
| func GetRecentUpdatedRepositories() (repos []*Repository, err error) { | ||||
| 	err = orm.Where("is_private=?", false).Limit(5).Desc("updated").Find(&repos) | ||||
| 	return repos, err | ||||
| } | ||||
| 
 | ||||
| // GetRepositoryCount returns the total number of repositories of user.
 | ||||
| func GetRepositoryCount(user *User) (int64, error) { | ||||
| 	return orm.Count(&Repository{OwnerId: user.Id}) | ||||
| } | ||||
|  |  | |||
|  | @ -37,9 +37,9 @@ type OauthInfo struct { | |||
| 
 | ||||
| // Oauther represents oauth service.
 | ||||
| type Oauther struct { | ||||
| 	GitHub, Google, Tencent bool | ||||
| 	Twitter, Weibo          bool | ||||
| 	OauthInfos              map[string]*OauthInfo | ||||
| 	GitHub, Google, Tencent, | ||||
| 	Twitter, Weibo bool | ||||
| 	OauthInfos map[string]*OauthInfo | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| package routers | ||||
| 
 | ||||
| import ( | ||||
| 	"github.com/gogits/gogs/models" | ||||
| 	"github.com/gogits/gogs/modules/base" | ||||
| 	"github.com/gogits/gogs/modules/middleware" | ||||
| 	"github.com/gogits/gogs/routers/user" | ||||
|  | @ -23,6 +24,11 @@ func Home(ctx *middleware.Context) { | |||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	repos, _ := models.GetRecentUpdatedRepositories() | ||||
| 	for _, repo := range repos { | ||||
| 		repo.Owner, _ = models.GetUserById(repo.OwnerId) | ||||
| 	} | ||||
| 	ctx.Data["Repos"] = repos | ||||
| 	ctx.Data["PageIsHome"] = true | ||||
| 	ctx.HTML(200, "home") | ||||
| } | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
|             </div> | ||||
| 
 | ||||
|             <div class="panel-body"> | ||||
|                 Gogs database has <b>{{.Stats.Counter.User}}</b> users, <b>{{.Stats.Counter.PublicKey}}</b> SSH keys, <b>{{.Stats.Counter.Repo}}</b> repositories, <b>{{.Stats.Counter.Watch}}</b> watches, <b>{{.Stats.Counter.Action}}</b> actions, and <b>{{.Stats.Counter.Access}}</b> accesses. | ||||
|                 Gogs database has <b>{{.Stats.Counter.User}}</b> users, <b>{{.Stats.Counter.PublicKey}}</b> SSH keys, <b>{{.Stats.Counter.Repo}}</b> repositories, <b>{{.Stats.Counter.Watch}}</b> watches, <b>{{.Stats.Counter.Action}}</b> actions, <b>{{.Stats.Counter.Access}}</b> accesses, <b>{{.Stats.Counter.Issue}}</b> issues, <b>{{.Stats.Counter.Comment}}</b> comments, <b>{{.Stats.Counter.Mirror}}</b> mirrors, <b>{{.Stats.Counter.Oauth}}</b> oauthes, <b>{{.Stats.Counter.Release}}</b> releases. | ||||
|             </div> | ||||
|         </div> | ||||
| 
 | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ | |||
| 		<meta name="keywords" content="go, git"> | ||||
| 		<meta name="_csrf" content="{{.CsrfToken}}" /> | ||||
| 		{{if .Repository.IsGoget}}<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">{{end}} | ||||
| 		<meta property="qc:admins" content="34543312371436727" /> | ||||
| 
 | ||||
| 		 <!-- Stylesheets --> | ||||
| 		{{if IsProdMode}} | ||||
|  |  | |||
|  | @ -1,8 +1,27 @@ | |||
| {{template "base/head" .}} | ||||
| {{template "base/navbar" .}} | ||||
| <div id="body" class="container"> | ||||
| 	{{if not .Repos}} | ||||
| 	<h4>Hey there, welcome to the land of Gogs!</h4> | ||||
| 	<p>If you just get your Gogs server running, go <a href="/install">install</a> guide page will help you setup things for your first-time run.</p> | ||||
| 	<img src="http://gowalker.org/public/gogs_demo.gif"> | ||||
| 	{{else}} | ||||
| 	<h4>Hey there, welcome to the land of Gogs!</h4> | ||||
| 	<h5>Here are some recent updated repositories:</h5> | ||||
|     <div class="tab-pane active"> | ||||
|         <ul class="list-unstyled repo-list"> | ||||
|         {{range .Repos}} | ||||
|             <li> | ||||
|                 <div class="meta pull-right"><!-- <i class="fa fa-star"></i> {{.NumStars}} --> <i class="fa fa-code-fork"></i> {{.NumForks}}</div> | ||||
|                 <h4> | ||||
|                     <a href="/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a> | ||||
|                 </h4> | ||||
|                 <p class="desc">{{.Description}}</p> | ||||
|                 <div class="info">Last updated {{.Updated|TimeSince}}</div> | ||||
|             </li> | ||||
|         {{end}} | ||||
|         </ul> | ||||
|     </div> | ||||
| 	{{end}} | ||||
| </div> | ||||
| {{template "base/footer" .}} | ||||
|  |  | |||
|  | @ -58,14 +58,13 @@ | |||
|                 </ul> | ||||
|             </div> | ||||
|             {{else}} | ||||
|             {{$owner := .Owner}} | ||||
|             <div class="tab-pane active"> | ||||
|                 <ul class="list-unstyled repo-list"> | ||||
|                 {{range .Repos}} | ||||
|                     <li> | ||||
|                         <div class="meta pull-right"><!-- <i class="fa fa-star"></i> {{.NumStars}} --> <i class="fa fa-code-fork"></i> {{.NumForks}}</div> | ||||
|                         <h4> | ||||
|                             <a href="/{{$owner.Name}}/{{.Name}}">{{.Name}}{{if .IsPrivate}} <span class="label label-default">Private</span>{{end}}</a> | ||||
|                             <a href="/{{$.Owner.Name}}/{{.Name}}">{{.Name}}{{if .IsPrivate}} <span class="label label-default">Private</span>{{end}}</a> | ||||
|                         </h4> | ||||
|                         <p class="desc">{{.Description}}</p> | ||||
|                         <div class="info">Last updated {{.Updated|TimeSince}}</div> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue