@@ -189,7 +189,7 @@ func UpdateRelease(gitRepo *git.Repository, rel *Release) (err error) {
189
189
}
190
190
191
191
// 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 {
193
193
rel , err := GetReleaseByID (id )
194
194
if err != nil {
195
195
return fmt .Errorf ("GetReleaseByID: %v" , err )
@@ -207,11 +207,13 @@ func DeleteReleaseByID(id int64, u *User) error {
207
207
return fmt .Errorf ("DeleteReleaseByID: permission denied" )
208
208
}
209
209
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
+ }
215
217
}
216
218
217
219
if _ , err = x .Id (rel .ID ).Delete (new (Release )); err != nil {
0 commit comments