Fix empty commits now showing in repo overview (#7521)
* Fix empty commits now showing in repo overview * add test * make fmt
This commit is contained in:
		
							parent
							
								
									b0cd3b8ab9
								
							
						
					
					
						commit
						fe7689a6b2
					
				
					 7 changed files with 24 additions and 13 deletions
				
			
		|  | @ -68,7 +68,9 @@ func (tes Entries) GetCommitsInfo(commit *Commit, treePath string, cache LastCom | ||||||
| 	// get it for free during the tree traversal and it's used for listing
 | 	// get it for free during the tree traversal and it's used for listing
 | ||||||
| 	// pages to display information about newest commit for a given path.
 | 	// pages to display information about newest commit for a given path.
 | ||||||
| 	var treeCommit *Commit | 	var treeCommit *Commit | ||||||
| 	if rev, ok := revs[""]; ok { | 	if treePath == "" { | ||||||
|  | 		treeCommit = commit | ||||||
|  | 	} else if rev, ok := revs[""]; ok { | ||||||
| 		treeCommit = convertCommit(rev) | 		treeCommit = convertCommit(rev) | ||||||
| 	} | 	} | ||||||
| 	return commitsInfo, treeCommit, nil | 	return commitsInfo, treeCommit, nil | ||||||
|  |  | ||||||
|  | @ -28,21 +28,27 @@ func cloneRepo(url, dir, name string) (string, error) { | ||||||
| func testGetCommitsInfo(t *testing.T, repo1 *Repository) { | func testGetCommitsInfo(t *testing.T, repo1 *Repository) { | ||||||
| 	// these test case are specific to the repo1 test repo
 | 	// these test case are specific to the repo1 test repo
 | ||||||
| 	testCases := []struct { | 	testCases := []struct { | ||||||
| 		CommitID    string | 		CommitID           string | ||||||
| 		Path        string | 		Path               string | ||||||
| 		ExpectedIDs map[string]string | 		ExpectedIDs        map[string]string | ||||||
|  | 		ExpectedTreeCommit string | ||||||
| 	}{ | 	}{ | ||||||
| 		{"8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2", "", map[string]string{ | 		{"8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2", "", map[string]string{ | ||||||
| 			"file1.txt": "95bb4d39648ee7e325106df01a621c530863a653", | 			"file1.txt": "95bb4d39648ee7e325106df01a621c530863a653", | ||||||
| 			"file2.txt": "8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2", | 			"file2.txt": "8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2", | ||||||
| 		}}, | 		}, "8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2"}, | ||||||
| 		{"2839944139e0de9737a044f78b0e4b40d989a9e3", "", map[string]string{ | 		{"2839944139e0de9737a044f78b0e4b40d989a9e3", "", map[string]string{ | ||||||
| 			"file1.txt":   "2839944139e0de9737a044f78b0e4b40d989a9e3", | 			"file1.txt":   "2839944139e0de9737a044f78b0e4b40d989a9e3", | ||||||
| 			"branch1.txt": "9c9aef8dd84e02bc7ec12641deb4c930a7c30185", | 			"branch1.txt": "9c9aef8dd84e02bc7ec12641deb4c930a7c30185", | ||||||
| 		}}, | 		}, "2839944139e0de9737a044f78b0e4b40d989a9e3"}, | ||||||
| 		{"5c80b0245c1c6f8343fa418ec374b13b5d4ee658", "branch2", map[string]string{ | 		{"5c80b0245c1c6f8343fa418ec374b13b5d4ee658", "branch2", map[string]string{ | ||||||
| 			"branch2.txt": "5c80b0245c1c6f8343fa418ec374b13b5d4ee658", | 			"branch2.txt": "5c80b0245c1c6f8343fa418ec374b13b5d4ee658", | ||||||
| 		}}, | 		}, "5c80b0245c1c6f8343fa418ec374b13b5d4ee658"}, | ||||||
|  | 		{"feaf4ba6bc635fec442f46ddd4512416ec43c2c2", "", map[string]string{ | ||||||
|  | 			"file1.txt": "95bb4d39648ee7e325106df01a621c530863a653", | ||||||
|  | 			"file2.txt": "8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2", | ||||||
|  | 			"foo":       "37991dec2c8e592043f47155ce4808d4580f9123", | ||||||
|  | 		}, "feaf4ba6bc635fec442f46ddd4512416ec43c2c2"}, | ||||||
| 	} | 	} | ||||||
| 	for _, testCase := range testCases { | 	for _, testCase := range testCases { | ||||||
| 		commit, err := repo1.GetCommit(testCase.CommitID) | 		commit, err := repo1.GetCommit(testCase.CommitID) | ||||||
|  | @ -51,7 +57,8 @@ func testGetCommitsInfo(t *testing.T, repo1 *Repository) { | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		entries, err := tree.ListEntries() | 		entries, err := tree.ListEntries() | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		commitsInfo, _, err := entries.GetCommitsInfo(commit, testCase.Path, nil) | 		commitsInfo, treeCommit, err := entries.GetCommitsInfo(commit, testCase.Path, nil) | ||||||
|  | 		assert.Equal(t, testCase.ExpectedTreeCommit, treeCommit.ID.String()) | ||||||
| 		assert.NoError(t, err) | 		assert.NoError(t, err) | ||||||
| 		assert.Len(t, commitsInfo, len(testCase.ExpectedIDs)) | 		assert.Len(t, commitsInfo, len(testCase.ExpectedIDs)) | ||||||
| 		for _, commitInfo := range commitsInfo { | 		for _, commitInfo := range commitsInfo { | ||||||
|  |  | ||||||
|  | @ -23,12 +23,12 @@ func TestRepository_GetCodeActivityStats(t *testing.T) { | ||||||
| 	assert.NoError(t, err) | 	assert.NoError(t, err) | ||||||
| 	assert.NotNil(t, code) | 	assert.NotNil(t, code) | ||||||
| 
 | 
 | ||||||
| 	assert.EqualValues(t, 8, code.CommitCount) | 	assert.EqualValues(t, 9, code.CommitCount) | ||||||
| 	assert.EqualValues(t, 2, code.AuthorCount) | 	assert.EqualValues(t, 3, code.AuthorCount) | ||||||
| 	assert.EqualValues(t, 8, code.CommitCountInAllBranches) | 	assert.EqualValues(t, 9, code.CommitCountInAllBranches) | ||||||
| 	assert.EqualValues(t, 10, code.Additions) | 	assert.EqualValues(t, 10, code.Additions) | ||||||
| 	assert.EqualValues(t, 1, code.Deletions) | 	assert.EqualValues(t, 1, code.Deletions) | ||||||
| 	assert.Len(t, code.Authors, 2) | 	assert.Len(t, code.Authors, 3) | ||||||
| 	assert.Contains(t, code.Authors, "tris.git@shoddynet.org") | 	assert.Contains(t, code.Authors, "tris.git@shoddynet.org") | ||||||
| 	assert.EqualValues(t, 3, code.Authors["tris.git@shoddynet.org"]) | 	assert.EqualValues(t, 3, code.Authors["tris.git@shoddynet.org"]) | ||||||
| 	assert.EqualValues(t, 5, code.Authors[""]) | 	assert.EqualValues(t, 5, code.Authors[""]) | ||||||
|  |  | ||||||
							
								
								
									
										1
									
								
								modules/git/tests/repos/repo1_bare/logs/HEAD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								modules/git/tests/repos/repo1_bare/logs/HEAD
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | 37991dec2c8e592043f47155ce4808d4580f9123 feaf4ba6bc635fec442f46ddd4512416ec43c2c2 silverwind <me@silverwind.io> 1563741799 +0200	push | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | 37991dec2c8e592043f47155ce4808d4580f9123 feaf4ba6bc635fec442f46ddd4512416ec43c2c2 silverwind <me@silverwind.io> 1563741799 +0200	push | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1 +1 @@ | ||||||
| 37991dec2c8e592043f47155ce4808d4580f9123 | feaf4ba6bc635fec442f46ddd4512416ec43c2c2 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue