@@ -189,7 +189,7 @@ func UpdateRelease(gitRepo *git.Repository, rel *Release) (err error) {
189189}
190190
191191// DeleteReleaseByID deletes a release and corresponding Git tag by given ID.
192- func DeleteReleaseByID (id int64 , u * User ) error {
192+ func DeleteReleaseByID (id int64 , u * User , delTag bool ) error {
193193 rel , err := GetReleaseByID (id )
194194 if err != nil {
195195 return fmt .Errorf ("GetReleaseByID: %v" , err )
@@ -207,11 +207,13 @@ func DeleteReleaseByID(id int64, u *User) error {
207207 return fmt .Errorf ("DeleteReleaseByID: permission denied" )
208208 }
209209
210- _ , stderr , err := process .ExecDir (- 1 , repo .RepoPath (),
211- fmt .Sprintf ("DeleteReleaseByID (git tag -d): %d" , rel .ID ),
212- "git" , "tag" , "-d" , rel .TagName )
213- if err != nil && ! strings .Contains (stderr , "not found" ) {
214- return fmt .Errorf ("git tag -d: %v - %s" , err , stderr )
210+ if delTag {
211+ _ , stderr , err := process .ExecDir (- 1 , repo .RepoPath (),
212+ fmt .Sprintf ("DeleteReleaseByID (git tag -d): %d" , rel .ID ),
213+ "git" , "tag" , "-d" , rel .TagName )
214+ if err != nil && ! strings .Contains (stderr , "not found" ) {
215+ return fmt .Errorf ("git tag -d: %v - %s" , err , stderr )
216+ }
215217 }
216218
217219 if _ , err = x .Id (rel .ID ).Delete (new (Release )); err != nil {
0 commit comments