Skip to content

Commit 8d75155

Browse files
committed
tag: use name not refspec
1 parent 86b0130 commit 8d75155

File tree

4 files changed

+15
-14
lines changed

4 files changed

+15
-14
lines changed

repo_hook.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func (r *Repository) NewHook(dir string, name HookName) *Hook {
2323
}
2424

2525
// Hook returns a Git hook by given name in the repository. Giving empty directory
26-
// will use the default directory.It returns an os.ErrNotExist if both active and
26+
// will use the default directory. It returns an os.ErrNotExist if both active and
2727
// sample hook do not exist.
2828
func (r *Repository) Hook(dir string, name HookName) (*Hook, error) {
2929
if dir == "" {

repo_tag.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,17 @@ type TagOptions struct {
107107
Timeout time.Duration
108108
}
109109

110-
// Tag returns a Git tag by given refspec, e.g. "refs/tags/v1.0.0".
111-
func (r *Repository) Tag(refspec string, opts ...TagOptions) (*Tag, error) {
110+
// Tag returns a Git tag by given name, e.g. "v1.0.0".
111+
func (r *Repository) Tag(name string, opts ...TagOptions) (*Tag, error) {
112112
var opt TagOptions
113113
if len(opts) > 0 {
114114
opt = opts[0]
115115
}
116116

117+
refsepc := RefsTags + name
117118
refs, err := r.ShowRef(ShowRefOptions{
118119
Tags: true,
119-
Patterns: []string{refspec},
120+
Patterns: []string{refsepc},
120121
Timeout: opt.Timeout,
121122
})
122123
if err != nil {
@@ -134,7 +135,7 @@ func (r *Repository) Tag(refspec string, opts ...TagOptions) (*Tag, error) {
134135
if err != nil {
135136
return nil, err
136137
}
137-
tag.refspec = refspec
138+
tag.refspec = refsepc
138139
return tag, nil
139140
}
140141

repo_tag_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,31 @@ import (
1212

1313
func TestRepository_Tag(t *testing.T) {
1414
tests := []struct {
15-
refspec string
16-
opt TagOptions
17-
expTag *Tag
15+
name string
16+
opt TagOptions
17+
expTag *Tag
1818
}{
1919
{
20-
refspec: "v1.0.0",
20+
name: "v1.0.0",
2121
expTag: &Tag{
2222
typ: ObjectCommit,
2323
id: MustIDFromString("0eedd79eba4394bbef888c804e899731644367fe"),
2424
commitID: MustIDFromString("0eedd79eba4394bbef888c804e899731644367fe"),
25-
refspec: "v1.0.0",
25+
refspec: "refs/tags/v1.0.0",
2626
},
2727
}, {
28-
refspec: "v1.1.0",
28+
name: "v1.1.0",
2929
expTag: &Tag{
3030
typ: ObjectTag,
3131
id: MustIDFromString("b39c8508bbc4b00ad2e24d358012ea123bcafd8d"),
3232
commitID: MustIDFromString("0eedd79eba4394bbef888c804e899731644367fe"),
33-
refspec: "v1.1.0",
33+
refspec: "refs/tags/v1.1.0",
3434
},
3535
},
3636
}
3737
for _, test := range tests {
3838
t.Run("", func(t *testing.T) {
39-
tag, err := testrepo.Tag(test.refspec, test.opt)
39+
tag, err := testrepo.Tag(test.name, test.opt)
4040
if err != nil {
4141
t.Fatal(err)
4242
}

tag_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestTag(t *testing.T) {
1919
assert.Equal(t, ObjectTag, tag.Type())
2020
assert.Equal(t, "b39c8508bbc4b00ad2e24d358012ea123bcafd8d", tag.ID().String())
2121
assert.Equal(t, "0eedd79eba4394bbef888c804e899731644367fe", tag.CommitID().String())
22-
assert.Equal(t, "v1.1.0", tag.Refspec())
22+
assert.Equal(t, "refs/tags/v1.1.0", tag.Refspec())
2323

2424
t.Run("Tagger", func(t *testing.T) {
2525
assert.Equal(t, "Joe Chen", tag.Tagger().Name)

0 commit comments

Comments
 (0)