Release delete: add --delete-tag & --confirm (#286)

vendor latest go-sdk

tea release delete: add --delete-tag flag

fixes #256

release delete: require confirmation

fixes #237

Co-authored-by: Norwin Roosen <git@nroo.de>
Reviewed-on: https://gitea.com/gitea/tea/pulls/286
Reviewed-by: khmarbaise <khmarbaise@noreply.gitea.io>
Reviewed-by: 6543 <6543@obermui.de>
Co-Authored-By: Norwin <noerw@noreply.gitea.io>
Co-Committed-By: Norwin <noerw@noreply.gitea.io>
This commit is contained in:
Norwin
2020-12-10 05:51:07 +08:00
committed by 6543
parent adb2382aa5
commit 4a11cf455f
6 changed files with 43 additions and 7 deletions

View File

@ -20,7 +20,17 @@ var CmdReleaseDelete = cli.Command{
Description: `Delete a release`,
ArgsUsage: "<release tag>",
Action: runReleaseDelete,
Flags: flags.AllDefaultFlags,
Flags: append([]cli.Flag{
&cli.BoolFlag{
Name: "confirm",
Aliases: []string{"y"},
Usage: "Confirm deletion (required)",
},
&cli.BoolFlag{
Name: "delete-tag",
Usage: "Also delete the git tag for this release",
},
}, flags.AllDefaultFlags...),
}
func runReleaseDelete(ctx *cli.Context) error {
@ -33,6 +43,11 @@ func runReleaseDelete(ctx *cli.Context) error {
return nil
}
if !ctx.Bool("confirm") {
fmt.Println("Are you sure? Please confirm with -y or --confirm.")
return nil
}
release, err := getReleaseByTag(owner, repo, tag, client)
if err != nil {
return err
@ -42,5 +57,14 @@ func runReleaseDelete(ctx *cli.Context) error {
}
_, err = client.DeleteRelease(owner, repo, release.ID)
return err
if err != nil {
return err
}
if ctx.Bool("delete-tag") {
_, err = client.DeleteReleaseTag(owner, repo, tag)
return err
}
return nil
}