From 1863f3828635633171c98dab817b87b5b07e18fa Mon Sep 17 00:00:00 2001 From: Unknwon Date: Fri, 10 Feb 2017 16:56:58 -0500 Subject: models/repo: fix SQLite3 database-lock when fail to delete repository (#4048) --- models/repo.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/repo.go b/models/repo.go index cc0acb84..9770fe98 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1414,6 +1414,10 @@ func DeleteRepository(uid, repoID int64) error { return err } + if err = sess.Commit(); err != nil { + return fmt.Errorf("Commit: %v", err) + } + // Remove repository files. repoPath := repo.repoPath(sess) RemoveAllWithNotice("Delete repository files", repoPath) @@ -1425,10 +1429,6 @@ func DeleteRepository(uid, repoID int64) error { RemoveAllWithNotice("Delete attachment", attachmentPaths[i]) } - if err = sess.Commit(); err != nil { - return fmt.Errorf("Commit: %v", err) - } - if repo.NumForks > 0 { if _, err = x.Exec("UPDATE `repository` SET fork_id=0,is_fork=? WHERE fork_id=?", false, repo.ID); err != nil { log.Error(4, "reset 'fork_id' and 'is_fork': %v", err) -- cgit v1.2.3