mirror of
https://gitea.com/gitea/tea.git
synced 2026-02-22 06:13:32 +01:00
support create agit flow pull request (#867)
while looks the alibaba has not maintain [`git-repo-go`](https://github.com/alibaba/git-repo-go/) tool, to make agit flow pull requst can be create quickly. add creating agit flow pull request feature in tea tool example: ```SHELL tea pulls create --agit --remote=origin --topic=test-topic --title="hello world" --description="test1 test 2 test 3" ``` Signed-off-by: a1012112796 <1012112796@qq.com> Reviewed-on: https://gitea.com/gitea/tea/pulls/867 Co-authored-by: a1012112796 <1012112796@qq.com> Co-committed-by: a1012112796 <1012112796@qq.com>
This commit is contained in:
committed by
techknowlogick
parent
82d8a14c73
commit
0d5bf60632
@@ -7,6 +7,7 @@ import (
|
||||
"code.gitea.io/sdk/gitea"
|
||||
"code.gitea.io/tea/modules/context"
|
||||
"code.gitea.io/tea/modules/task"
|
||||
"code.gitea.io/tea/modules/theme"
|
||||
|
||||
"github.com/charmbracelet/huh"
|
||||
)
|
||||
@@ -16,6 +17,8 @@ func CreatePull(ctx *context.TeaContext) (err error) {
|
||||
var (
|
||||
base, head string
|
||||
allowMaintainerEdits = true
|
||||
|
||||
agit bool
|
||||
)
|
||||
|
||||
// owner, repo
|
||||
@@ -37,6 +40,66 @@ func CreatePull(ctx *context.TeaContext) (err error) {
|
||||
}
|
||||
}
|
||||
|
||||
if err := huh.NewConfirm().
|
||||
Title("Do you want to create an agit flow pull request?").
|
||||
Value(&agit).
|
||||
WithTheme(theme.GetTheme()).
|
||||
Run(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if agit {
|
||||
var (
|
||||
topic string
|
||||
baseRemote string
|
||||
)
|
||||
|
||||
topic = headBranch
|
||||
|
||||
head = "HEAD"
|
||||
baseRemote = "origin"
|
||||
|
||||
if err := huh.NewForm(
|
||||
huh.NewGroup(
|
||||
huh.NewInput().
|
||||
Title("Target branch:").
|
||||
Value(&base).
|
||||
Validate(huh.ValidateNotEmpty()),
|
||||
|
||||
huh.NewInput().
|
||||
Title("Source repo remote:").
|
||||
Value(&baseRemote),
|
||||
|
||||
huh.NewInput().
|
||||
Title("Topic branch:").
|
||||
Value(&topic).
|
||||
Validate(validator),
|
||||
|
||||
huh.NewInput().
|
||||
Title("Head branch:").
|
||||
Value(&head).
|
||||
Validate(validator),
|
||||
),
|
||||
).Run(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
opts := gitea.CreateIssueOption{Title: task.GetDefaultPRTitle(head)}
|
||||
if err = promptIssueProperties(ctx.Login, ctx.Owner, ctx.Repo, &opts); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return task.CreateAgitFlowPull(
|
||||
ctx,
|
||||
baseRemote,
|
||||
head,
|
||||
base,
|
||||
topic,
|
||||
&opts,
|
||||
PromptPassword,
|
||||
)
|
||||
}
|
||||
|
||||
if err := huh.NewForm(
|
||||
huh.NewGroup(
|
||||
huh.NewInput().
|
||||
|
||||
Reference in New Issue
Block a user