mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 05:11:41 +01:00 
			
		
		
		
	add update
This commit is contained in:
		
							parent
							
								
									f047df6e2b
								
							
						
					
					
						commit
						3035a38caa
					
				
							
								
								
									
										1
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								gogs.go
									
									
									
									
									
								
							| @ -49,6 +49,7 @@ func main() { | ||||
| 	app.Commands = []cli.Command{ | ||||
| 		CmdWeb, | ||||
| 		CmdServ, | ||||
| 		CmdUpdate, | ||||
| 	} | ||||
| 	app.Flags = append(app.Flags, []cli.Flag{ | ||||
| 		cli.BoolFlag{"noterm", "disable color output"}, | ||||
|  | ||||
| @ -43,7 +43,22 @@ func (a Action) GetRepoName() string { | ||||
| 	return a.RepoName | ||||
| } | ||||
| 
 | ||||
| func CommitRepoAction(userId int64, userName string, | ||||
| 	repoId int64, repoName string, msg string) error { | ||||
| 	_, err := orm.InsertOne(&Action{ | ||||
| 		UserId:      userId, | ||||
| 		ActUserId:   userId, | ||||
| 		ActUserName: userName, | ||||
| 		OpType:      OP_COMMIT_REPO, | ||||
| 		Content:     msg, | ||||
| 		RepoId:      repoId, | ||||
| 		RepoName:    repoName, | ||||
| 	}) | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| // NewRepoAction inserts action for create repository. | ||||
| 
 | ||||
| func NewRepoAction(user *User, repo *Repository) error { | ||||
| 	_, err := orm.InsertOne(&Action{ | ||||
| 		UserId:      user.Id, | ||||
|  | ||||
							
								
								
									
										11
									
								
								serve.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								serve.go
									
									
									
									
									
								
							| @ -73,6 +73,17 @@ func runServ(*cli.Context) { | ||||
| 	if strings.HasSuffix(repoName, ".git") { | ||||
| 		repoName = repoName[:len(repoName)-4] | ||||
| 	} | ||||
| 
 | ||||
| 	os.Setenv("userName", user.Name) | ||||
| 	os.Setenv("userId", strconv.Itoa(int(user.Id))) | ||||
| 	repo, err := models.GetRepositoryByName(user, repoName) | ||||
| 	if err != nil { | ||||
| 		println("Unavilable repository", err) | ||||
| 		return | ||||
| 	} | ||||
| 	os.Setenv("repoId", strconv.Itoa(int(repo.Id))) | ||||
| 	os.Setenv("repoName", repoName) | ||||
| 
 | ||||
| 	isWrite := In(verb, COMMANDS_WRITE) | ||||
| 	isRead := In(verb, COMMANDS_READONLY) | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										51
									
								
								update.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								update.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| package main | ||||
| 
 | ||||
| import ( | ||||
| 	"os" | ||||
| 	"strconv" | ||||
| 
 | ||||
| 	"github.com/gogits/gogs/models" | ||||
| 
 | ||||
| 	"github.com/codegangsta/cli" | ||||
| 	git "github.com/gogits/git" | ||||
| ) | ||||
| 
 | ||||
| var CmdUpdate = cli.Command{ | ||||
| 	Name:  "update", | ||||
| 	Usage: "This command just should be called by ssh shell", | ||||
| 	Description: ` | ||||
| gogs serv provide access auth for repositories`, | ||||
| 	Action: runUpdate, | ||||
| 	Flags:  []cli.Flag{}, | ||||
| } | ||||
| 
 | ||||
| func runUpdate(*cli.Context) { | ||||
| 	userName := os.Getenv("userName") | ||||
| 	userId := os.Getenv("userId") | ||||
| 	repoId := os.Getenv("repoId") | ||||
| 	repoName := os.Getenv("repoName") | ||||
| 
 | ||||
| 	f := models.RepoPath(userName, repoName) | ||||
| 
 | ||||
| 	repo, err := git.OpenRepository(f) | ||||
| 	if err != nil { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	ref, err := repo.LookupReference("HEAD") | ||||
| 	if err != nil { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	lastCommit, err := repo.LookupCommit(ref.Oid) | ||||
| 	if err != nil { | ||||
| 		return | ||||
| 	} | ||||
| 	sUserId, _ := strconv.Atoi(userId) | ||||
| 	sRepoId, _ := strconv.Atoi(repoId) | ||||
| 	err = models.CommitRepoAction(int64(sUserId), userName, | ||||
| 		int64(sRepoId), repoName, lastCommit.Message()) | ||||
| 	if err != nil { | ||||
| 		//TODO: log | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user