summaryrefslogtreecommitdiffstats
path: root/pkg/commands/tags.go
blob: bd1f55c6579823a4fb21e68ee089b46d21cc2bee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package commands

import (
	"fmt"
)

func (c *GitCommand) CreateLightweightTag(tagName string, commitSha string) error {
	return c.Run(c.NewCmdObj(fmt.Sprintf("git tag -- %s %s", c.OSCommand.Quote(tagName), commitSha)))
}

func (c *GitCommand) CreateAnnotatedTag(tagName, commitSha, msg string) error {
	return c.RunCommand("git tag %s %s -m %s", tagName, commitSha, c.OSCommand.Quote(msg))
}

func (c *GitCommand) DeleteTag(tagName string) error {
	return c.Run(c.NewCmdObj(fmt.Sprintf("git tag -d %s", c.OSCommand.Quote(tagName))))
}

func (c *GitCommand) PushTag(remoteName string, tagName string, promptUserForCredential func(string) string) error {
	cmdStr := fmt.Sprintf("git push %s %s", c.OSCommand.Quote(remoteName), c.OSCommand.Quote(tagName))
	cmdObj := c.NewCmdObj(cmdStr)
	return c.DetectUnamePass(cmdObj, promptUserForCredential)
}