forked from gitea/gitea
		
	Allow default branch to be inferred on compare page (#17908)
* Allow default branch to be inferred Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add test for inferred default branch Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		
							parent
							
								
									12a42baa5e
								
							
						
					
					
						commit
						eb69c7ec8c
					
				| @ -27,3 +27,15 @@ func TestCompareTag(t *testing.T) { | ||||
| 	resp = session.MakeRequest(t, req, http.StatusNotFound) | ||||
| 	assert.False(t, strings.Contains(resp.Body.String(), "/assets/img/500.png"), "expect 404 page not 500") | ||||
| } | ||||
| 
 | ||||
| // Compare with inferred default branch (master) | ||||
| func TestCompareDefault(t *testing.T) { | ||||
| 	defer prepareTestEnv(t)() | ||||
| 
 | ||||
| 	session := loginUser(t, "user2") | ||||
| 	req := NewRequest(t, "GET", "/user2/repo1/compare/v1.1") | ||||
| 	resp := session.MakeRequest(t, req, http.StatusOK) | ||||
| 	htmlDoc := NewHTMLParser(t, resp.Body) | ||||
| 	selection := htmlDoc.doc.Find(".choose.branch .filter.dropdown") | ||||
| 	assert.Lenf(t, selection.Nodes, 2, "The template has changed") | ||||
| } | ||||
|  | ||||
| @ -186,6 +186,9 @@ func ParseCompareInfo(ctx *context.Context) *CompareInfo { | ||||
| 	// 1. /{:baseOwner}/{:baseRepoName}/compare/{:baseBranch}...{:headBranch} | ||||
| 	// 2. /{:baseOwner}/{:baseRepoName}/compare/{:baseBranch}...{:headOwner}:{:headBranch} | ||||
| 	// 3. /{:baseOwner}/{:baseRepoName}/compare/{:baseBranch}...{:headOwner}/{:headRepoName}:{:headBranch} | ||||
| 	// 4. /{:baseOwner}/{:baseRepoName}/compare/{:headBranch} | ||||
| 	// 5. /{:baseOwner}/{:baseRepoName}/compare/{:headOwner}:{:headBranch} | ||||
| 	// 6. /{:baseOwner}/{:baseRepoName}/compare/{:headOwner}/{:headRepoName}:{:headBranch} | ||||
| 	// | ||||
| 	// Here we obtain the infoPath "{:baseBranch}...[{:headOwner}/{:headRepoName}:]{:headBranch}" as ctx.Params("*") | ||||
| 	// with the :baseRepo in ctx.Repo. | ||||
| @ -213,9 +216,12 @@ func ParseCompareInfo(ctx *context.Context) *CompareInfo { | ||||
| 	infos := strings.SplitN(infoPath, "...", 2) | ||||
| 
 | ||||
| 	if len(infos) != 2 { | ||||
| 		infos = strings.SplitN(infoPath, "..", 2) | ||||
| 		ci.DirectComparison = true | ||||
| 		ctx.Data["PageIsComparePull"] = false | ||||
| 		infos = []string{baseRepo.DefaultBranch, infoPath} | ||||
| 		if strings.Contains(infoPath, "..") { | ||||
| 			infos = strings.SplitN(infoPath, "..", 2) | ||||
| 			ci.DirectComparison = true | ||||
| 			ctx.Data["PageIsComparePull"] = false | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if len(infos) != 2 { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 John Olheiser
						John Olheiser