mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Use *PushUpdateOptions as receiver (#17724)
				
					
				
			This commit is contained in:
		| @@ -23,67 +23,67 @@ type PushUpdateOptions struct { | ||||
| } | ||||
|  | ||||
| // IsNewRef return true if it's a first-time push to a branch, tag or etc. | ||||
| func (opts PushUpdateOptions) IsNewRef() bool { | ||||
| func (opts *PushUpdateOptions) IsNewRef() bool { | ||||
| 	return opts.OldCommitID == git.EmptySHA | ||||
| } | ||||
|  | ||||
| // IsDelRef return true if it's a deletion to a branch or tag | ||||
| func (opts PushUpdateOptions) IsDelRef() bool { | ||||
| func (opts *PushUpdateOptions) IsDelRef() bool { | ||||
| 	return opts.NewCommitID == git.EmptySHA | ||||
| } | ||||
|  | ||||
| // IsUpdateRef return true if it's an update operation | ||||
| func (opts PushUpdateOptions) IsUpdateRef() bool { | ||||
| func (opts *PushUpdateOptions) IsUpdateRef() bool { | ||||
| 	return !opts.IsNewRef() && !opts.IsDelRef() | ||||
| } | ||||
|  | ||||
| // IsTag return true if it's an operation to a tag | ||||
| func (opts PushUpdateOptions) IsTag() bool { | ||||
| func (opts *PushUpdateOptions) IsTag() bool { | ||||
| 	return strings.HasPrefix(opts.RefFullName, git.TagPrefix) | ||||
| } | ||||
|  | ||||
| // IsNewTag return true if it's a creation to a tag | ||||
| func (opts PushUpdateOptions) IsNewTag() bool { | ||||
| func (opts *PushUpdateOptions) IsNewTag() bool { | ||||
| 	return opts.IsTag() && opts.IsNewRef() | ||||
| } | ||||
|  | ||||
| // IsDelTag return true if it's a deletion to a tag | ||||
| func (opts PushUpdateOptions) IsDelTag() bool { | ||||
| func (opts *PushUpdateOptions) IsDelTag() bool { | ||||
| 	return opts.IsTag() && opts.IsDelRef() | ||||
| } | ||||
|  | ||||
| // IsBranch return true if it's a push to branch | ||||
| func (opts PushUpdateOptions) IsBranch() bool { | ||||
| func (opts *PushUpdateOptions) IsBranch() bool { | ||||
| 	return strings.HasPrefix(opts.RefFullName, git.BranchPrefix) | ||||
| } | ||||
|  | ||||
| // IsNewBranch return true if it's the first-time push to a branch | ||||
| func (opts PushUpdateOptions) IsNewBranch() bool { | ||||
| func (opts *PushUpdateOptions) IsNewBranch() bool { | ||||
| 	return opts.IsBranch() && opts.IsNewRef() | ||||
| } | ||||
|  | ||||
| // IsUpdateBranch return true if it's not the first push to a branch | ||||
| func (opts PushUpdateOptions) IsUpdateBranch() bool { | ||||
| func (opts *PushUpdateOptions) IsUpdateBranch() bool { | ||||
| 	return opts.IsBranch() && opts.IsUpdateRef() | ||||
| } | ||||
|  | ||||
| // IsDelBranch return true if it's a deletion to a branch | ||||
| func (opts PushUpdateOptions) IsDelBranch() bool { | ||||
| func (opts *PushUpdateOptions) IsDelBranch() bool { | ||||
| 	return opts.IsBranch() && opts.IsDelRef() | ||||
| } | ||||
|  | ||||
| // TagName returns simple tag name if it's an operation to a tag | ||||
| func (opts PushUpdateOptions) TagName() string { | ||||
| func (opts *PushUpdateOptions) TagName() string { | ||||
| 	return opts.RefFullName[len(git.TagPrefix):] | ||||
| } | ||||
|  | ||||
| // BranchName returns simple branch name if it's an operation to branch | ||||
| func (opts PushUpdateOptions) BranchName() string { | ||||
| func (opts *PushUpdateOptions) BranchName() string { | ||||
| 	return opts.RefFullName[len(git.BranchPrefix):] | ||||
| } | ||||
|  | ||||
| // RefName returns simple name for ref | ||||
| func (opts PushUpdateOptions) RefName() string { | ||||
| func (opts *PushUpdateOptions) RefName() string { | ||||
| 	if strings.HasPrefix(opts.RefFullName, git.TagPrefix) { | ||||
| 		return opts.RefFullName[len(git.TagPrefix):] | ||||
| 	} else if strings.HasPrefix(opts.RefFullName, git.BranchPrefix) { | ||||
| @@ -93,7 +93,7 @@ func (opts PushUpdateOptions) RefName() string { | ||||
| } | ||||
|  | ||||
| // RepoFullName returns repo full name | ||||
| func (opts PushUpdateOptions) RepoFullName() string { | ||||
| func (opts *PushUpdateOptions) RepoFullName() string { | ||||
| 	return opts.RepoUserName + "/" + opts.RepoName | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -57,7 +57,7 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) { | ||||
| 				wasEmpty = repo.IsEmpty | ||||
| 			} | ||||
|  | ||||
| 			option := repo_module.PushUpdateOptions{ | ||||
| 			option := &repo_module.PushUpdateOptions{ | ||||
| 				RefFullName:  refFullName, | ||||
| 				OldCommitID:  opts.OldCommitIDs[i], | ||||
| 				NewCommitID:  opts.NewCommitIDs[i], | ||||
| @@ -66,11 +66,11 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) { | ||||
| 				RepoUserName: ownerName, | ||||
| 				RepoName:     repoName, | ||||
| 			} | ||||
| 			updates = append(updates, &option) | ||||
| 			updates = append(updates, option) | ||||
| 			if repo.IsEmpty && option.IsBranch() && (option.BranchName() == "master" || option.BranchName() == "main") { | ||||
| 				// put the master/main branch first | ||||
| 				copy(updates[1:], updates) | ||||
| 				updates[0] = &option | ||||
| 				updates[0] = option | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user