5
5
"io/ioutil"
6
6
"log"
7
7
"os"
8
- "time"
9
8
10
9
"github.com/go-git/go-git/v5"
11
10
. "github.com/go-git/go-git/v5/_examples"
@@ -14,13 +13,12 @@ import (
14
13
"github.com/go-git/go-git/v5/plumbing/transport/ssh"
15
14
)
16
15
16
+ // Example of how create a tag and push it to a remote.
17
17
func main () {
18
18
CheckArgs ("<ssh-url>" , "<directory>" , "<tag>" , "<name>" , "<email>" , "<public-key>" )
19
19
url := os .Args [1 ]
20
20
directory := os .Args [2 ]
21
21
tag := os .Args [3 ]
22
- name := os .Args [4 ]
23
- email := os .Args [5 ]
24
22
key := os .Args [6 ]
25
23
26
24
r , err := cloneRepo (url , directory , key )
@@ -30,7 +28,7 @@ func main() {
30
28
return
31
29
}
32
30
33
- created , err := setTag (r , tag , defaultSignature ( name , email ) )
31
+ created , err := setTag (r , tag )
34
32
if err != nil {
35
33
log .Printf ("create tag error: %s" , err )
36
34
return
@@ -43,11 +41,9 @@ func main() {
43
41
return
44
42
}
45
43
}
46
-
47
44
}
48
45
49
46
func cloneRepo (url , dir , publicKeyPath string ) (* git.Repository , error ) {
50
-
51
47
log .Printf ("cloning %s into %s" , url , dir )
52
48
auth , keyErr := publicKey (publicKeyPath )
53
49
if keyErr != nil {
@@ -102,7 +98,7 @@ func tagExists(tag string, r *git.Repository) bool {
102
98
return res
103
99
}
104
100
105
- func setTag (r * git.Repository , tag string , tagger * object. Signature ) (bool , error ) {
101
+ func setTag (r * git.Repository , tag string ) (bool , error ) {
106
102
if tagExists (tag , r ) {
107
103
log .Printf ("tag %s already exists" , tag )
108
104
return false , nil
@@ -115,7 +111,6 @@ func setTag(r *git.Repository, tag string, tagger *object.Signature) (bool, erro
115
111
}
116
112
Info ("git tag -a %s %s -m \" %s\" " , tag , h .Hash (), tag )
117
113
_ , err = r .CreateTag (tag , h .Hash (), & git.CreateTagOptions {
118
- Tagger : tagger ,
119
114
Message : tag ,
120
115
})
121
116
@@ -151,11 +146,3 @@ func pushTags(r *git.Repository, publicKeyPath string) error {
151
146
152
147
return nil
153
148
}
154
-
155
- func defaultSignature (name , email string ) * object.Signature {
156
- return & object.Signature {
157
- Name : name ,
158
- Email : email ,
159
- When : time .Now (),
160
- }
161
- }
0 commit comments