mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	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:
		@@ -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
 | 
			
		||||
	// pages to display information about newest commit for a given path.
 | 
			
		||||
	var treeCommit *Commit
 | 
			
		||||
	if rev, ok := revs[""]; ok {
 | 
			
		||||
	if treePath == "" {
 | 
			
		||||
		treeCommit = commit
 | 
			
		||||
	} else if rev, ok := revs[""]; ok {
 | 
			
		||||
		treeCommit = convertCommit(rev)
 | 
			
		||||
	}
 | 
			
		||||
	return commitsInfo, treeCommit, nil
 | 
			
		||||
 
 | 
			
		||||
@@ -28,21 +28,27 @@ func cloneRepo(url, dir, name string) (string, error) {
 | 
			
		||||
func testGetCommitsInfo(t *testing.T, repo1 *Repository) {
 | 
			
		||||
	// these test case are specific to the repo1 test repo
 | 
			
		||||
	testCases := []struct {
 | 
			
		||||
		CommitID    string
 | 
			
		||||
		Path        string
 | 
			
		||||
		ExpectedIDs map[string]string
 | 
			
		||||
		CommitID           string
 | 
			
		||||
		Path               string
 | 
			
		||||
		ExpectedIDs        map[string]string
 | 
			
		||||
		ExpectedTreeCommit string
 | 
			
		||||
	}{
 | 
			
		||||
		{"8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2", "", map[string]string{
 | 
			
		||||
			"file1.txt": "95bb4d39648ee7e325106df01a621c530863a653",
 | 
			
		||||
			"file2.txt": "8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2",
 | 
			
		||||
		}},
 | 
			
		||||
		}, "8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2"},
 | 
			
		||||
		{"2839944139e0de9737a044f78b0e4b40d989a9e3", "", map[string]string{
 | 
			
		||||
			"file1.txt":   "2839944139e0de9737a044f78b0e4b40d989a9e3",
 | 
			
		||||
			"branch1.txt": "9c9aef8dd84e02bc7ec12641deb4c930a7c30185",
 | 
			
		||||
		}},
 | 
			
		||||
		}, "2839944139e0de9737a044f78b0e4b40d989a9e3"},
 | 
			
		||||
		{"5c80b0245c1c6f8343fa418ec374b13b5d4ee658", "branch2", map[string]string{
 | 
			
		||||
			"branch2.txt": "5c80b0245c1c6f8343fa418ec374b13b5d4ee658",
 | 
			
		||||
		}},
 | 
			
		||||
		}, "5c80b0245c1c6f8343fa418ec374b13b5d4ee658"},
 | 
			
		||||
		{"feaf4ba6bc635fec442f46ddd4512416ec43c2c2", "", map[string]string{
 | 
			
		||||
			"file1.txt": "95bb4d39648ee7e325106df01a621c530863a653",
 | 
			
		||||
			"file2.txt": "8d92fc957a4d7cfd98bc375f0b7bb189a0d6c9f2",
 | 
			
		||||
			"foo":       "37991dec2c8e592043f47155ce4808d4580f9123",
 | 
			
		||||
		}, "feaf4ba6bc635fec442f46ddd4512416ec43c2c2"},
 | 
			
		||||
	}
 | 
			
		||||
	for _, testCase := range testCases {
 | 
			
		||||
		commit, err := repo1.GetCommit(testCase.CommitID)
 | 
			
		||||
@@ -51,7 +57,8 @@ func testGetCommitsInfo(t *testing.T, repo1 *Repository) {
 | 
			
		||||
		assert.NoError(t, err)
 | 
			
		||||
		entries, err := tree.ListEntries()
 | 
			
		||||
		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.Len(t, commitsInfo, len(testCase.ExpectedIDs))
 | 
			
		||||
		for _, commitInfo := range commitsInfo {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,12 +23,12 @@ func TestRepository_GetCodeActivityStats(t *testing.T) {
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	assert.NotNil(t, code)
 | 
			
		||||
 | 
			
		||||
	assert.EqualValues(t, 8, code.CommitCount)
 | 
			
		||||
	assert.EqualValues(t, 2, code.AuthorCount)
 | 
			
		||||
	assert.EqualValues(t, 8, code.CommitCountInAllBranches)
 | 
			
		||||
	assert.EqualValues(t, 9, code.CommitCount)
 | 
			
		||||
	assert.EqualValues(t, 3, code.AuthorCount)
 | 
			
		||||
	assert.EqualValues(t, 9, code.CommitCountInAllBranches)
 | 
			
		||||
	assert.EqualValues(t, 10, code.Additions)
 | 
			
		||||
	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.EqualValues(t, 3, code.Authors["tris.git@shoddynet.org"])
 | 
			
		||||
	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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user