mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	WIP: create PR - choose branch
This commit is contained in:
		
							
								
								
									
										103
									
								
								models/repo.go
									
									
									
									
									
								
							
							
						
						
									
										103
									
								
								models/repo.go
									
									
									
									
									
								
							| @@ -129,8 +129,8 @@ func NewRepoContext() { | ||||
|  | ||||
| // Repository represents a git repository. | ||||
| type Repository struct { | ||||
| 	Id            int64 | ||||
| 	OwnerId       int64  `xorm:"UNIQUE(s)"` | ||||
| 	ID            int64  `xorm:"pk autoincr"` | ||||
| 	OwnerID       int64  `xorm:"UNIQUE(s)"` | ||||
| 	Owner         *User  `xorm:"-"` | ||||
| 	LowerName     string `xorm:"UNIQUE(s) INDEX NOT NULL"` | ||||
| 	Name          string `xorm:"INDEX NOT NULL"` | ||||
| @@ -159,8 +159,8 @@ type Repository struct { | ||||
| 	*Mirror  `xorm:"-"` | ||||
|  | ||||
| 	IsFork   bool `xorm:"NOT NULL DEFAULT false"` | ||||
| 	ForkId   int64 | ||||
| 	ForkRepo *Repository `xorm:"-"` | ||||
| 	ForkID   int64 | ||||
| 	BaseRepo *Repository `xorm:"-"` | ||||
|  | ||||
| 	Created time.Time `xorm:"CREATED"` | ||||
| 	Updated time.Time `xorm:"UPDATED"` | ||||
| @@ -168,7 +168,7 @@ type Repository struct { | ||||
|  | ||||
| func (repo *Repository) getOwner(e Engine) (err error) { | ||||
| 	if repo.Owner == nil { | ||||
| 		repo.Owner, err = getUserById(e, repo.OwnerId) | ||||
| 		repo.Owner, err = getUserByID(e, repo.OwnerID) | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
| @@ -178,16 +178,16 @@ func (repo *Repository) GetOwner() (err error) { | ||||
| } | ||||
|  | ||||
| func (repo *Repository) GetMirror() (err error) { | ||||
| 	repo.Mirror, err = GetMirror(repo.Id) | ||||
| 	repo.Mirror, err = GetMirror(repo.ID) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| func (repo *Repository) GetForkRepo() (err error) { | ||||
| func (repo *Repository) GetBaseRepo() (err error) { | ||||
| 	if !repo.IsFork { | ||||
| 		return nil | ||||
| 	} | ||||
|  | ||||
| 	repo.ForkRepo, err = GetRepositoryById(repo.ForkId) | ||||
| 	repo.BaseRepo, err = GetRepositoryByID(repo.ForkID) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| @@ -211,7 +211,7 @@ func (repo *Repository) HasAccess(u *User) bool { | ||||
| } | ||||
|  | ||||
| func (repo *Repository) IsOwnedBy(u *User) bool { | ||||
| 	return repo.OwnerId == u.Id | ||||
| 	return repo.OwnerID == u.Id | ||||
| } | ||||
|  | ||||
| // DescriptionHtml does special handles to description and return HTML string. | ||||
| @@ -224,7 +224,7 @@ func (repo *Repository) DescriptionHtml() template.HTML { | ||||
|  | ||||
| func isRepositoryExist(e Engine, u *User, repoName string) (bool, error) { | ||||
| 	has, err := e.Get(&Repository{ | ||||
| 		OwnerId:   u.Id, | ||||
| 		OwnerID:   u.Id, | ||||
| 		LowerName: strings.ToLower(repoName), | ||||
| 	}) | ||||
| 	return has && com.IsDir(RepoPath(u.Name, repoName)), err | ||||
| @@ -287,8 +287,8 @@ func IsUsableName(name string) error { | ||||
|  | ||||
| // Mirror represents a mirror information of repository. | ||||
| type Mirror struct { | ||||
| 	Id         int64 | ||||
| 	RepoId     int64 | ||||
| 	ID         int64 `xorm:"pk autoincr"` | ||||
| 	RepoID     int64 | ||||
| 	RepoName   string    // <user name>/<repo name> | ||||
| 	Interval   int       // Hour. | ||||
| 	Updated    time.Time `xorm:"UPDATED"` | ||||
| @@ -296,7 +296,7 @@ type Mirror struct { | ||||
| } | ||||
|  | ||||
| func getMirror(e Engine, repoId int64) (*Mirror, error) { | ||||
| 	m := &Mirror{RepoId: repoId} | ||||
| 	m := &Mirror{RepoID: repoId} | ||||
| 	has, err := e.Get(m) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| @@ -312,7 +312,7 @@ func GetMirror(repoId int64) (*Mirror, error) { | ||||
| } | ||||
|  | ||||
| func updateMirror(e Engine, m *Mirror) error { | ||||
| 	_, err := e.Id(m.Id).Update(m) | ||||
| 	_, err := e.Id(m.ID).Update(m) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| @@ -330,7 +330,7 @@ func MirrorRepository(repoId int64, userName, repoName, repoPath, url string) er | ||||
| 	} | ||||
|  | ||||
| 	if _, err = x.InsertOne(&Mirror{ | ||||
| 		RepoId:     repoId, | ||||
| 		RepoID:     repoId, | ||||
| 		RepoName:   strings.ToLower(userName + "/" + repoName), | ||||
| 		Interval:   24, | ||||
| 		NextUpdate: time.Now().Add(24 * time.Hour), | ||||
| @@ -365,7 +365,7 @@ func MigrateRepository(u *User, name, desc string, private, mirror bool, url str | ||||
|  | ||||
| 	repo.IsBare = false | ||||
| 	if mirror { | ||||
| 		if err = MirrorRepository(repo.Id, u.Name, repo.Name, repoPath, url); err != nil { | ||||
| 		if err = MirrorRepository(repo.ID, u.Name, repo.Name, repoPath, url); err != nil { | ||||
| 			return repo, err | ||||
| 		} | ||||
| 		repo.IsMirror = true | ||||
| @@ -517,7 +517,7 @@ func initRepository(e Engine, repoPath string, u *User, repo *Repository, initRe | ||||
| 	if len(fileName) == 0 { | ||||
| 		// Re-fetch the repository from database before updating it (else it would | ||||
| 		// override changes that were done earlier with sql) | ||||
| 		if repo, err = getRepositoryById(e, repo.Id); err != nil { | ||||
| 		if repo, err = getRepositoryByID(e, repo.ID); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		repo.IsBare = true | ||||
| @@ -562,7 +562,7 @@ func createRepository(e *xorm.Session, u *User, repo *Repository) (err error) { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if err = watchRepo(e, u.Id, repo.Id, true); err != nil { | ||||
| 	if err = watchRepo(e, u.Id, repo.ID, true); err != nil { | ||||
| 		return fmt.Errorf("watchRepo: %v", err) | ||||
| 	} else if err = newRepoAction(e, u, repo); err != nil { | ||||
| 		return fmt.Errorf("newRepoAction: %v", err) | ||||
| @@ -574,7 +574,7 @@ func createRepository(e *xorm.Session, u *User, repo *Repository) (err error) { | ||||
| // CreateRepository creates a repository for given user or organization. | ||||
| func CreateRepository(u *User, name, desc, lang, license string, isPrivate, isMirror, initReadme bool) (_ *Repository, err error) { | ||||
| 	repo := &Repository{ | ||||
| 		OwnerId:     u.Id, | ||||
| 		OwnerID:     u.Id, | ||||
| 		Owner:       u, | ||||
| 		Name:        name, | ||||
| 		LowerName:   strings.ToLower(name), | ||||
| @@ -630,12 +630,12 @@ func GetRepositoriesWithUsers(num, offset int) ([]*Repository, error) { | ||||
| 	} | ||||
|  | ||||
| 	for _, repo := range repos { | ||||
| 		repo.Owner = &User{Id: repo.OwnerId} | ||||
| 		repo.Owner = &User{Id: repo.OwnerID} | ||||
| 		has, err := x.Get(repo.Owner) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} else if !has { | ||||
| 			return nil, ErrUserNotExist{repo.OwnerId, ""} | ||||
| 			return nil, ErrUserNotExist{repo.OwnerID, ""} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @@ -672,11 +672,11 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error { | ||||
|  | ||||
| 	// Note: we have to set value here to make sure recalculate accesses is based on | ||||
| 	//	new owner. | ||||
| 	repo.OwnerId = newOwner.Id | ||||
| 	repo.OwnerID = newOwner.Id | ||||
| 	repo.Owner = newOwner | ||||
|  | ||||
| 	// Update repository. | ||||
| 	if _, err := sess.Id(repo.Id).Update(repo); err != nil { | ||||
| 	if _, err := sess.Id(repo.ID).Update(repo); err != nil { | ||||
| 		return fmt.Errorf("update owner: %v", err) | ||||
| 	} | ||||
|  | ||||
| @@ -687,7 +687,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error { | ||||
| 	} | ||||
|  | ||||
| 	// Dummy object. | ||||
| 	collaboration := &Collaboration{RepoID: repo.Id} | ||||
| 	collaboration := &Collaboration{RepoID: repo.ID} | ||||
| 	for _, c := range collaborators { | ||||
| 		collaboration.UserID = c.Id | ||||
| 		if c.Id == newOwner.Id || newOwner.IsOrgMember(c.Id) { | ||||
| @@ -703,7 +703,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error { | ||||
| 			return fmt.Errorf("getTeams: %v", err) | ||||
| 		} | ||||
| 		for _, t := range owner.Teams { | ||||
| 			if !t.hasRepository(sess, repo.Id) { | ||||
| 			if !t.hasRepository(sess, repo.ID) { | ||||
| 				continue | ||||
| 			} | ||||
|  | ||||
| @@ -713,7 +713,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error { | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		if err = owner.removeOrgRepo(sess, repo.Id); err != nil { | ||||
| 		if err = owner.removeOrgRepo(sess, repo.ID); err != nil { | ||||
| 			return fmt.Errorf("removeOrgRepo: %v", err) | ||||
| 		} | ||||
| 	} | ||||
| @@ -739,7 +739,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error { | ||||
| 		return fmt.Errorf("decrease old owner repository count: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	if err = watchRepo(sess, newOwner.Id, repo.Id, true); err != nil { | ||||
| 	if err = watchRepo(sess, newOwner.Id, repo.ID, true); err != nil { | ||||
| 		return fmt.Errorf("watchRepo: %v", err) | ||||
| 	} else if err = transferRepoAction(sess, u, owner, newOwner, repo); err != nil { | ||||
| 		return fmt.Errorf("transferRepoAction: %v", err) | ||||
| @@ -747,7 +747,7 @@ func TransferOwnership(u *User, newOwnerName string, repo *Repository) error { | ||||
|  | ||||
| 	// Update mirror information. | ||||
| 	if repo.IsMirror { | ||||
| 		mirror, err := getMirror(sess, repo.Id) | ||||
| 		mirror, err := getMirror(sess, repo.ID) | ||||
| 		if err != nil { | ||||
| 			return fmt.Errorf("getMirror: %v", err) | ||||
| 		} | ||||
| @@ -794,7 +794,7 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e | ||||
| 		repo.Website = repo.Website[:255] | ||||
| 	} | ||||
|  | ||||
| 	if _, err = e.Id(repo.Id).AllCols().Update(repo); err != nil { | ||||
| 	if _, err = e.Id(repo.ID).AllCols().Update(repo); err != nil { | ||||
| 		return fmt.Errorf("update: %v", err) | ||||
| 	} | ||||
|  | ||||
| @@ -831,7 +831,7 @@ func UpdateRepository(repo *Repository, visibilityChanged bool) (err error) { | ||||
|  | ||||
| // DeleteRepository deletes a repository for a user or organization. | ||||
| func DeleteRepository(uid, repoID int64, userName string) error { | ||||
| 	repo := &Repository{Id: repoID, OwnerId: uid} | ||||
| 	repo := &Repository{ID: repoID, OwnerID: uid} | ||||
| 	has, err := x.Get(repo) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| @@ -840,7 +840,7 @@ func DeleteRepository(uid, repoID int64, userName string) error { | ||||
| 	} | ||||
|  | ||||
| 	// In case is a organization. | ||||
| 	org, err := GetUserById(uid) | ||||
| 	org, err := GetUserByID(uid) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| @@ -866,15 +866,15 @@ func DeleteRepository(uid, repoID int64, userName string) error { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if _, err = sess.Delete(&Repository{Id: repoID}); err != nil { | ||||
| 	if _, err = sess.Delete(&Repository{ID: repoID}); err != nil { | ||||
| 		return err | ||||
| 	} else if _, err = sess.Delete(&Access{RepoID: repo.Id}); err != nil { | ||||
| 	} else if _, err = sess.Delete(&Access{RepoID: repo.ID}); err != nil { | ||||
| 		return err | ||||
| 	} else if _, err = sess.Delete(&Action{RepoID: repo.Id}); err != nil { | ||||
| 	} else if _, err = sess.Delete(&Action{RepoID: repo.ID}); err != nil { | ||||
| 		return err | ||||
| 	} else if _, err = sess.Delete(&Watch{RepoID: repoID}); err != nil { | ||||
| 		return err | ||||
| 	} else if _, err = sess.Delete(&Mirror{RepoId: repoID}); err != nil { | ||||
| 	} else if _, err = sess.Delete(&Mirror{RepoID: repoID}); err != nil { | ||||
| 		return err | ||||
| 	} else if _, err = sess.Delete(&IssueUser{RepoId: repoID}); err != nil { | ||||
| 		return err | ||||
| @@ -902,7 +902,7 @@ func DeleteRepository(uid, repoID int64, userName string) error { | ||||
| 	} | ||||
|  | ||||
| 	if repo.IsFork { | ||||
| 		if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks-1 WHERE id=?", repo.ForkId); err != nil { | ||||
| 		if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks-1 WHERE id=?", repo.ForkID); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| @@ -946,7 +946,7 @@ func GetRepositoryByRef(ref string) (*Repository, error) { | ||||
| // GetRepositoryByName returns the repository by given name under user if exists. | ||||
| func GetRepositoryByName(uid int64, repoName string) (*Repository, error) { | ||||
| 	repo := &Repository{ | ||||
| 		OwnerId:   uid, | ||||
| 		OwnerID:   uid, | ||||
| 		LowerName: strings.ToLower(repoName), | ||||
| 	} | ||||
| 	has, err := x.Get(repo) | ||||
| @@ -958,7 +958,7 @@ func GetRepositoryByName(uid int64, repoName string) (*Repository, error) { | ||||
| 	return repo, err | ||||
| } | ||||
|  | ||||
| func getRepositoryById(e Engine, id int64) (*Repository, error) { | ||||
| func getRepositoryByID(e Engine, id int64) (*Repository, error) { | ||||
| 	repo := new(Repository) | ||||
| 	has, err := e.Id(id).Get(repo) | ||||
| 	if err != nil { | ||||
| @@ -969,9 +969,9 @@ func getRepositoryById(e Engine, id int64) (*Repository, error) { | ||||
| 	return repo, nil | ||||
| } | ||||
|  | ||||
| // GetRepositoryById returns the repository by given id if exists. | ||||
| func GetRepositoryById(id int64) (*Repository, error) { | ||||
| 	return getRepositoryById(x, id) | ||||
| // GetRepositoryByID returns the repository by given id if exists. | ||||
| func GetRepositoryByID(id int64) (*Repository, error) { | ||||
| 	return getRepositoryByID(x, id) | ||||
| } | ||||
|  | ||||
| // GetRepositories returns a list of repositories of given user. | ||||
| @@ -982,8 +982,7 @@ func GetRepositories(uid int64, private bool) ([]*Repository, error) { | ||||
| 		sess.Where("is_private=?", false) | ||||
| 	} | ||||
|  | ||||
| 	err := sess.Find(&repos, &Repository{OwnerId: uid}) | ||||
| 	return repos, err | ||||
| 	return repos, sess.Find(&repos, &Repository{OwnerID: uid}) | ||||
| } | ||||
|  | ||||
| // GetRecentUpdatedRepositories returns the list of repositories that are recently updated. | ||||
| @@ -993,8 +992,8 @@ func GetRecentUpdatedRepositories(num int) (repos []*Repository, err error) { | ||||
| } | ||||
|  | ||||
| // GetRepositoryCount returns the total number of repositories of user. | ||||
| func GetRepositoryCount(user *User) (int64, error) { | ||||
| 	return x.Count(&Repository{OwnerId: user.Id}) | ||||
| func GetRepositoryCount(u *User) (int64, error) { | ||||
| 	return x.Count(&Repository{OwnerID: u.Id}) | ||||
| } | ||||
|  | ||||
| type SearchOption struct { | ||||
| @@ -1199,7 +1198,7 @@ type Collaboration struct { | ||||
| // Add collaborator and accompanying access | ||||
| func (repo *Repository) AddCollaborator(u *User) error { | ||||
| 	collaboration := &Collaboration{ | ||||
| 		RepoID: repo.Id, | ||||
| 		RepoID: repo.ID, | ||||
| 		UserID: u.Id, | ||||
| 	} | ||||
|  | ||||
| @@ -1238,13 +1237,13 @@ func (repo *Repository) AddCollaborator(u *User) error { | ||||
|  | ||||
| func (repo *Repository) getCollaborators(e Engine) ([]*User, error) { | ||||
| 	collaborations := make([]*Collaboration, 0) | ||||
| 	if err := e.Find(&collaborations, &Collaboration{RepoID: repo.Id}); err != nil { | ||||
| 	if err := e.Find(&collaborations, &Collaboration{RepoID: repo.ID}); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	users := make([]*User, len(collaborations)) | ||||
| 	for i, c := range collaborations { | ||||
| 		user, err := getUserById(e, c.UserID) | ||||
| 		user, err := getUserByID(e, c.UserID) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| @@ -1261,7 +1260,7 @@ func (repo *Repository) GetCollaborators() ([]*User, error) { | ||||
| // Delete collaborator and accompanying access | ||||
| func (repo *Repository) DeleteCollaborator(u *User) (err error) { | ||||
| 	collaboration := &Collaboration{ | ||||
| 		RepoID: repo.Id, | ||||
| 		RepoID: repo.ID, | ||||
| 		UserID: u.Id, | ||||
| 	} | ||||
|  | ||||
| @@ -1430,14 +1429,14 @@ func HasForkedRepo(ownerID, repoID int64) (*Repository, bool) { | ||||
|  | ||||
| func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Repository, err error) { | ||||
| 	repo := &Repository{ | ||||
| 		OwnerId:     u.Id, | ||||
| 		OwnerID:     u.Id, | ||||
| 		Owner:       u, | ||||
| 		Name:        name, | ||||
| 		LowerName:   strings.ToLower(name), | ||||
| 		Description: desc, | ||||
| 		IsPrivate:   oldRepo.IsPrivate, | ||||
| 		IsFork:      true, | ||||
| 		ForkId:      oldRepo.Id, | ||||
| 		ForkID:      oldRepo.ID, | ||||
| 	} | ||||
|  | ||||
| 	sess := x.NewSession() | ||||
| @@ -1450,7 +1449,7 @@ func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Reposit | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks+1 WHERE id=?", oldRepo.Id); err != nil { | ||||
| 	if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks+1 WHERE id=?", oldRepo.ID); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user