Skip to content

Commit 4133635

Browse files
davidsvantessonlafriks
authored andcommitted
Move add to hook queue for created repo to outside xorm session. (#7675)
Signed-off-by: David Svantesson <[email protected]>
1 parent d974c13 commit 4133635

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

models/repo.go

+15-2
Original file line numberDiff line numberDiff line change
@@ -1332,7 +1332,6 @@ func createRepository(e *xorm.Session, doer, u *User, repo *Repository) (err err
13321332
}); err != nil {
13331333
return fmt.Errorf("prepareWebhooks: %v", err)
13341334
}
1335-
go HookQueue.Add(repo.ID)
13361335
} else if err = repo.recalculateAccesses(e); err != nil {
13371336
// Organization automatically called this in addRepository method.
13381337
return fmt.Errorf("recalculateAccesses: %v", err)
@@ -1402,7 +1401,16 @@ func CreateRepository(doer, u *User, opts CreateRepoOptions) (_ *Repository, err
14021401
}
14031402
}
14041403

1405-
return repo, sess.Commit()
1404+
if err = sess.Commit(); err != nil {
1405+
return nil, err
1406+
}
1407+
1408+
// Add to hook queue for created repo after session commit.
1409+
if u.IsOrganization() {
1410+
go HookQueue.Add(repo.ID)
1411+
}
1412+
1413+
return repo, err
14061414
}
14071415

14081416
func countRepositories(userID int64, private bool) int64 {
@@ -2462,6 +2470,11 @@ func ForkRepository(doer, u *User, oldRepo *Repository, name, desc string) (_ *R
24622470
go HookQueue.Add(oldRepo.ID)
24632471
}
24642472

2473+
// Add to hook queue for created repo after session commit.
2474+
if u.IsOrganization() {
2475+
go HookQueue.Add(repo.ID)
2476+
}
2477+
24652478
if err = repo.UpdateSize(); err != nil {
24662479
log.Error("Failed to update size for repository: %v", err)
24672480
}

0 commit comments

Comments
 (0)