Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: zeripath <art27@cantab.net>tags/v1.14.3
@@ -849,6 +849,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { | |||
// Rollback when migrating failed, this will rollback all the changes. | |||
func (g *GiteaLocalUploader) Rollback() error { | |||
if g.repo != nil && g.repo.ID > 0 { | |||
g.gitRepo.Close() | |||
if err := models.DeleteRepository(g.doer, g.repo.OwnerID, g.repo.ID); err != nil { | |||
return err | |||
} |
@@ -46,6 +46,10 @@ func DeleteRepo(ctx *context.Context) { | |||
return | |||
} | |||
if ctx.Repo != nil && ctx.Repo.GitRepo != nil && ctx.Repo.Repository != nil && ctx.Repo.Repository.ID == repo.ID { | |||
ctx.Repo.GitRepo.Close() | |||
} | |||
if err := repo_service.DeleteRepository(ctx.User, repo); err != nil { | |||
ctx.ServerError("DeleteRepository", err) | |||
return |
@@ -885,6 +885,10 @@ func Delete(ctx *context.APIContext) { | |||
return | |||
} | |||
if ctx.Repo.GitRepo != nil { | |||
ctx.Repo.GitRepo.Close() | |||
} | |||
if err := repo_service.DeleteRepository(ctx.User, repo); err != nil { | |||
ctx.Error(http.StatusInternalServerError, "DeleteRepository", err) | |||
return |
@@ -539,6 +539,11 @@ func SettingsPost(ctx *context.Context) { | |||
return | |||
} | |||
// Close the gitrepository before doing this. | |||
if ctx.Repo.GitRepo != nil { | |||
ctx.Repo.GitRepo.Close() | |||
} | |||
if err := repo_service.DeleteRepository(ctx.User, ctx.Repo.Repository); err != nil { | |||
ctx.ServerError("DeleteRepository", err) | |||
return |