@@ -249,7 +249,7 @@ func UpdateRelease(gitRepo *git.Repository, rel *Release) (err error) {
249249}
250250
251251// 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 {
253253 rel , err := GetReleaseByID (id )
254254 if err != nil {
255255 return fmt .Errorf ("GetReleaseByID: %v" , err )
@@ -267,11 +267,13 @@ func DeleteReleaseByID(id int64, u *User) error {
267267 return fmt .Errorf ("DeleteReleaseByID: permission denied" )
268268 }
269269
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+ }
275277 }
276278
277279 if _ , err = x .Id (rel .ID ).Delete (new (Release )); err != nil {
0 commit comments