mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-17 04:19:29 +02:00
fix: make branch protection work for new branches
- If `GetAffectedFiles` is called for a push with an empty oldCommitID,
then set the oldCommitID to the empty tree. This will effictively diff
all the changes included in the push, which is the expected behavior for
branches.
- Integration test added.
- Resolves #5683
- Port of gitea#31778 but implemented differently.
(cherry picked from commit f5e025917f
)
This commit is contained in:
parent
96f0c76648
commit
1f62fe8ae0
3 changed files with 35 additions and 0 deletions
|
@ -369,6 +369,28 @@ func doBranchProtect(baseCtx *APITestContext, dstPath string) func(t *testing.T)
|
|||
|
||||
ctx := NewAPITestContext(t, baseCtx.Username, baseCtx.Reponame, auth_model.AccessTokenScopeWriteRepository)
|
||||
|
||||
t.Run("PushToNewProtectedBranch", func(t *testing.T) {
|
||||
t.Run("CreateBranchProtected", doGitCreateBranch(dstPath, "before-create-1"))
|
||||
t.Run("ProtectProtectedBranch", doProtectBranch(ctx, "before-create-1", parameterProtectBranch{
|
||||
"enable_push": "all",
|
||||
"apply_to_admins": "on",
|
||||
}))
|
||||
t.Run("PushProtectedBranch", doGitPushTestRepository(dstPath, "origin", "before-create-1"))
|
||||
|
||||
t.Run("GenerateCommit", func(t *testing.T) {
|
||||
_, err := generateCommitWithNewData(littleSize, dstPath, "user2@example.com", "User Two", "protected-file-data-")
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
t.Run("ProtectProtectedBranch", doProtectBranch(ctx, "before-create-2", parameterProtectBranch{
|
||||
"enable_push": "all",
|
||||
"protected_file_patterns": "protected-file-data-*",
|
||||
"apply_to_admins": "on",
|
||||
}))
|
||||
|
||||
doGitPushTestRepositoryFail(dstPath, "origin", "HEAD:before-create-2")(t)
|
||||
})
|
||||
|
||||
t.Run("FailToPushToProtectedBranch", func(t *testing.T) {
|
||||
t.Run("ProtectProtectedBranch", doProtectBranch(ctx, "protected"))
|
||||
t.Run("Create modified-protected-branch", doGitCheckoutBranch(dstPath, "-b", "modified-protected-branch", "protected"))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue