From 211dc74816c3832f973284f19ad0831da039ac76 Mon Sep 17 00:00:00 2001 From: evolvedlight Date: Fri, 10 Oct 2014 00:21:36 +0100 Subject: Got the fork count working --- models/repo.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'models') diff --git a/models/repo.go b/models/repo.go index 34b7cd83..20195421 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1307,9 +1307,7 @@ func ForkRepository(u *User, oldRepo *Repository) (*Repository, error) { } } - if err = sess.Commit(); err != nil { - return nil, err - } + if u.IsOrganization() { t, err := u.GetOwnerTeam() @@ -1335,7 +1333,16 @@ func ForkRepository(u *User, oldRepo *Repository) (*Repository, error) { if err = NewRepoAction(u, repo); err != nil { log.Error(4, "NewRepoAction: %v", err) } - + + if _, err = sess.Exec( + "UPDATE `repository` SET num_forks = num_forks + 1 WHERE id = ?", oldRepo.Id); err != nil { + sess.Rollback() + return nil, err + } + + if err = sess.Commit(); err != nil { + return nil, err + } repoPath := RepoPath(u.Name, repo.Name) _, stderr, err := process.ExecTimeout(10*time.Minute, @@ -1350,5 +1357,6 @@ func ForkRepository(u *User, oldRepo *Repository) (*Repository, error) { } return repo, nil + } -- cgit v1.2.3