mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	Merge pull request '[v7.0/forgejo] fix(repository): git push to an adopted repository fails' (#4151) from bp-v7.0/forgejo-8efef06 into v7.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4151 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
This commit is contained in:
		
				commit
				
					
						1f4c5cd1cb
					
				
			
		
					 3 changed files with 32 additions and 0 deletions
				
			
		| 
						 | 
					@ -45,6 +45,7 @@ func SyncRepoBranchesWithRepo(ctx context.Context, repo *repo_model.Repository,
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return 0, fmt.Errorf("UpdateRepository: %w", err)
 | 
							return 0, fmt.Errorf("UpdateRepository: %w", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						repo.ObjectFormatName = objFmt.Name() // keep consistent with db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	allBranches := container.Set[string]{}
 | 
						allBranches := container.Set[string]{}
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								release-notes/8.0.0/fix/4149.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								release-notes/8.0.0/fix/4149.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					git push to an adopted repository fails
 | 
				
			||||||
| 
						 | 
					@ -10,9 +10,12 @@ import (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"code.gitea.io/gitea/models/db"
 | 
						"code.gitea.io/gitea/models/db"
 | 
				
			||||||
	"code.gitea.io/gitea/models/unittest"
 | 
						"code.gitea.io/gitea/models/unittest"
 | 
				
			||||||
 | 
						user_model "code.gitea.io/gitea/models/user"
 | 
				
			||||||
 | 
						"code.gitea.io/gitea/modules/git"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/setting"
 | 
						"code.gitea.io/gitea/modules/setting"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/stretchr/testify/assert"
 | 
						"github.com/stretchr/testify/assert"
 | 
				
			||||||
 | 
						"github.com/stretchr/testify/require"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestCheckUnadoptedRepositories_Add(t *testing.T) {
 | 
					func TestCheckUnadoptedRepositories_Add(t *testing.T) {
 | 
				
			||||||
| 
						 | 
					@ -83,3 +86,30 @@ func TestListUnadoptedRepositories_ListOptions(t *testing.T) {
 | 
				
			||||||
	assert.Equal(t, 2, count)
 | 
						assert.Equal(t, 2, count)
 | 
				
			||||||
	assert.Equal(t, unadoptedList[1], repoNames[0])
 | 
						assert.Equal(t, unadoptedList[1], repoNames[0])
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestAdoptRepository(t *testing.T) {
 | 
				
			||||||
 | 
						assert.NoError(t, unittest.PrepareTestDatabase())
 | 
				
			||||||
 | 
						username := "user2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						unadopted := "unadopted"
 | 
				
			||||||
 | 
						assert.NoError(t, unittest.CopyDir(
 | 
				
			||||||
 | 
							"../../modules/git/tests/repos/repo1_bare",
 | 
				
			||||||
 | 
							path.Join(setting.RepoRootPath, username, unadopted+".git"),
 | 
				
			||||||
 | 
						))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						opts := db.ListOptions{Page: 1, PageSize: 1}
 | 
				
			||||||
 | 
						repoNames, _, err := ListUnadoptedRepositories(db.DefaultContext, "", &opts)
 | 
				
			||||||
 | 
						require.NoError(t, err)
 | 
				
			||||||
 | 
						require.Contains(t, repoNames, path.Join(username, unadopted))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
 | 
				
			||||||
 | 
						owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
 | 
				
			||||||
 | 
						repo, err := AdoptRepository(db.DefaultContext, doer, owner, CreateRepoOptions{
 | 
				
			||||||
 | 
							Name:        unadopted,
 | 
				
			||||||
 | 
							Description: "description",
 | 
				
			||||||
 | 
							IsPrivate:   false,
 | 
				
			||||||
 | 
							AutoInit:    true,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						assert.NoError(t, err)
 | 
				
			||||||
 | 
						assert.Equal(t, git.Sha1ObjectFormat.Name(), repo.ObjectFormatName)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue