diff options
author | evolvedlight <steve@evolvedlight.co.uk> | 2014-10-10 00:21:36 +0100 |
---|---|---|
committer | evolvedlight <steve@evolvedlight.co.uk> | 2014-10-10 00:21:36 +0100 |
commit | 211dc74816c3832f973284f19ad0831da039ac76 (patch) | |
tree | f630981dff76f6868dd2ac1badf876a5d648a2a0 /models | |
parent | c9e5e38fcfa759a1d2578d1c7a56ac0e65e2bf78 (diff) | |
download | gitea-211dc74816c3832f973284f19ad0831da039ac76.tar.gz gitea-211dc74816c3832f973284f19ad0831da039ac76.zip |
Got the fork count working
Diffstat (limited to 'models')
-rw-r--r-- | models/repo.go | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/models/repo.go b/models/repo.go index 34b7cd8352..2019542102 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 + } |