Skip to content

Commit 0a54603

Browse files
committed
Fix bug
1 parent 9b0d0dd commit 0a54603

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

services/repository/create.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,11 @@ func CreateRepositoryDirectly(ctx context.Context, doer, u *user_model.User, opt
257257

258258
// last - clean up if something goes wrong
259259
// WARNING: Don't override all later err with local variables
260-
defer cleanupRepository(err, doer, repo.ID)
260+
defer func() {
261+
if err != nil {
262+
cleanupRepository(doer, repo.ID)
263+
}
264+
}()
261265

262266
// No need for init mirror.
263267
if opts.IsMirror {
@@ -474,14 +478,12 @@ func CreateRepositoryInDB(ctx context.Context, doer, u *user_model.User, repo *r
474478
return nil
475479
}
476480

477-
func cleanupRepository(err error, doer *user_model.User, repoID int64) {
478-
if err != nil {
479-
if errDelete := DeleteRepositoryDirectly(db.DefaultContext, doer, repoID); errDelete != nil {
480-
log.Error("Rollback deleteRepository: %v", errDelete)
481-
// add system notice
482-
if err := system_model.CreateRepositoryNotice("DeleteRepositoryDirectly failed when create repository: %v", errDelete); err != nil {
483-
log.Error("CreateRepositoryNotice: %v", err)
484-
}
481+
func cleanupRepository(doer *user_model.User, repoID int64) {
482+
if errDelete := DeleteRepositoryDirectly(db.DefaultContext, doer, repoID); errDelete != nil {
483+
log.Error("Rollback deleteRepository: %v", errDelete)
484+
// add system notice
485+
if err := system_model.CreateRepositoryNotice("DeleteRepositoryDirectly failed when create repository: %v", errDelete); err != nil {
486+
log.Error("CreateRepositoryNotice: %v", err)
485487
}
486488
}
487489
}

services/repository/fork.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,11 @@ func ForkRepository(ctx context.Context, doer, owner *user_model.User, opts Fork
121121

122122
// last - clean up if something goes wrong
123123
// WARNING: Don't override all later err with local variables
124-
defer cleanupRepository(err, doer, repo.ID)
124+
defer func() {
125+
if err != nil {
126+
cleanupRepository(doer, repo.ID)
127+
}
128+
}()
125129

126130
// 2 - Clone the repository
127131
cloneCmd := git.NewCommand("clone", "--bare")

services/repository/template.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ func GenerateRepository(ctx context.Context, doer, owner *user_model.User, templ
112112
}
113113

114114
// last - clean up the repository if something goes wrong
115-
defer cleanupRepository(err, doer, generateRepo.ID)
115+
defer func() {
116+
if err != nil {
117+
cleanupRepository(doer, generateRepo.ID)
118+
}
119+
}()
116120

117121
// 3 - Generate the git repository in storage
118122
if err = repo_module.CheckInitRepository(ctx, generateRepo); err != nil {

0 commit comments

Comments
 (0)