mirror of
https://github.com/go-gitea/gitea.git
synced 2025-12-16 05:20:14 +01:00
This commit is contained in:
@@ -71,7 +71,8 @@ func doMergeStyleSquash(ctx *mergeContext, message string) error {
|
|||||||
}
|
}
|
||||||
cmdCommit := gitcmd.NewCommand("commit").
|
cmdCommit := gitcmd.NewCommand("commit").
|
||||||
AddOptionFormat("--author='%s <%s>'", sig.Name, sig.Email).
|
AddOptionFormat("--author='%s <%s>'", sig.Name, sig.Email).
|
||||||
AddOptionFormat("--message=%s", message)
|
AddOptionFormat("--message=%s", message).
|
||||||
|
AddArguments("--allow-empty")
|
||||||
if ctx.signKey == nil {
|
if ctx.signKey == nil {
|
||||||
cmdCommit.AddArguments("--no-gpg-sign")
|
cmdCommit.AddArguments("--no-gpg-sign")
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1110,3 +1110,33 @@ func TestPullNonMergeForAdminWithBranchProtection(t *testing.T) {
|
|||||||
session.MakeRequest(t, mergeReq, http.StatusMethodNotAllowed)
|
session.MakeRequest(t, mergeReq, http.StatusMethodNotAllowed)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPullSquashMergeEmpty(t *testing.T) {
|
||||||
|
onGiteaRun(t, func(t *testing.T, u *url.URL) {
|
||||||
|
session := loginUser(t, "user1")
|
||||||
|
testEditFileToNewBranch(t, session, "user2", "repo1", "master", "pr-squash-empty", "README.md", "Hello, World (Edited)\n")
|
||||||
|
resp := testPullCreate(t, session, "user2", "repo1", false, "master", "pr-squash-empty", "This is a pull title")
|
||||||
|
|
||||||
|
elem := strings.Split(test.RedirectURL(resp), "/")
|
||||||
|
assert.Equal(t, "pulls", elem[3])
|
||||||
|
|
||||||
|
httpContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository)
|
||||||
|
dstPath := t.TempDir()
|
||||||
|
|
||||||
|
u.Path = httpContext.GitPath()
|
||||||
|
u.User = url.UserPassword("user2", userPassword)
|
||||||
|
|
||||||
|
t.Run("Clone", doGitClone(dstPath, u))
|
||||||
|
doGitCheckoutBranch(dstPath, "-b", "pr-squash-empty", "remotes/origin/pr-squash-empty")(t)
|
||||||
|
doGitCheckoutBranch(dstPath, "master")(t)
|
||||||
|
_, _, err := gitcmd.NewCommand("cherry-pick").AddArguments("pr-squash-empty").
|
||||||
|
RunStdString(t.Context(), &gitcmd.RunOpts{
|
||||||
|
Dir: dstPath,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
doGitPushTestRepository(dstPath)(t)
|
||||||
|
|
||||||
|
testPullMerge(t, session, elem[1], elem[2], elem[4], repo_model.MergeStyleSquash, false)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user