mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	Make WIP prefixes case insensitive, e.g. allow Draft as a WIP prefix (#19780)
				
					
				
			The issue was that only the actual title was converted to uppercase, but
not the prefix as specified in `WORK_IN_PROGRESS_PREFIXES`. As a result,
the following did not work:
    WORK_IN_PROGRESS_PREFIXES=Draft:,[Draft],WIP:,[WIP]
One possible workaround was:
    WORK_IN_PROGRESS_PREFIXES=DRAFT:,[DRAFT],WIP:,[WIP]
Then indeed one could use `Draft` (as well as `DRAFT`) in the title.
However, the link `Start the title with DRAFT: to prevent the pull request
from being merged accidentally.` showed the suggestion in uppercase; so
it is not possible to show it as `Draft`. This PR fixes it, and allows
to use `Draft` in `WORK_IN_PROGRESS_PREFIXES`.
Fixes #19779.
Co-authored-by: zeripath <art27@cantab.net>
			
			
This commit is contained in:
		@@ -588,7 +588,7 @@ func (pr *PullRequest) IsWorkInProgress() bool {
 | 
			
		||||
// HasWorkInProgressPrefix determines if the given PR title has a Work In Progress prefix
 | 
			
		||||
func HasWorkInProgressPrefix(title string) bool {
 | 
			
		||||
	for _, prefix := range setting.Repository.PullRequest.WorkInProgressPrefixes {
 | 
			
		||||
		if strings.HasPrefix(strings.ToUpper(title), prefix) {
 | 
			
		||||
		if strings.HasPrefix(strings.ToUpper(title), strings.ToUpper(prefix)) {
 | 
			
		||||
			return true
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -609,7 +609,7 @@ func (pr *PullRequest) GetWorkInProgressPrefix() string {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, prefix := range setting.Repository.PullRequest.WorkInProgressPrefixes {
 | 
			
		||||
		if strings.HasPrefix(strings.ToUpper(pr.Issue.Title), prefix) {
 | 
			
		||||
		if strings.HasPrefix(strings.ToUpper(pr.Issue.Title), strings.ToUpper(prefix)) {
 | 
			
		||||
			return pr.Issue.Title[0:len(prefix)]
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user