@@ -249,7 +249,7 @@ func UpdateRelease(gitRepo *git.Repository, rel *Release) (err error) {
249
249
}
250
250
251
251
// DeleteReleaseByID deletes a release and corresponding Git tag by given ID.
252
- func DeleteReleaseByID (id int64 , u * User ) error {
252
+ func DeleteReleaseByID (id int64 , u * User , delTag bool ) error {
253
253
rel , err := GetReleaseByID (id )
254
254
if err != nil {
255
255
return fmt .Errorf ("GetReleaseByID: %v" , err )
@@ -267,11 +267,13 @@ func DeleteReleaseByID(id int64, u *User) error {
267
267
return fmt .Errorf ("DeleteReleaseByID: permission denied" )
268
268
}
269
269
270
- _ , stderr , err := process .ExecDir (- 1 , repo .RepoPath (),
271
- fmt .Sprintf ("DeleteReleaseByID (git tag -d): %d" , rel .ID ),
272
- "git" , "tag" , "-d" , rel .TagName )
273
- if err != nil && ! strings .Contains (stderr , "not found" ) {
274
- return fmt .Errorf ("git tag -d: %v - %s" , err , stderr )
270
+ if delTag {
271
+ _ , stderr , err := process .ExecDir (- 1 , repo .RepoPath (),
272
+ fmt .Sprintf ("DeleteReleaseByID (git tag -d): %d" , rel .ID ),
273
+ "git" , "tag" , "-d" , rel .TagName )
274
+ if err != nil && ! strings .Contains (stderr , "not found" ) {
275
+ return fmt .Errorf ("git tag -d: %v - %s" , err , stderr )
276
+ }
275
277
}
276
278
277
279
if _ , err = x .Id (rel .ID ).Delete (new (Release )); err != nil {
0 commit comments