aboutsummaryrefslogtreecommitdiff
path: root/models/repo.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-03-24 14:22:19 -0400
committerUnknwon <u@gogs.io>2017-03-24 14:22:19 -0400
commit7a99e56893d00632a18d7aa030028eca28a96e3e (patch)
tree08cf80aca1e2c908e3cc24fd2d00fe400057df29 /models/repo.go
parent79ba0314e9bde654c14c2449a4910a35cb65700a (diff)
repo: update size after fork, migrate and mirror sync (#4336)
Diffstat (limited to 'models/repo.go')
-rw-r--r--models/repo.go22
1 files changed, 18 insertions, 4 deletions
diff --git a/models/repo.go b/models/repo.go
index 3a661058..16820d4e 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -710,6 +710,10 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
if headBranch != nil {
repo.DefaultBranch = headBranch.Name
}
+
+ if err = repo.UpdateSize(); err != nil {
+ log.Error(2, "UpdateSize [repo_id: %d]: %v", repo.ID, err)
+ }
}
if opts.IsMirror {
@@ -2233,6 +2237,8 @@ func ForkRepository(doer, owner *User, baseRepo *Repository, name, desc string)
}
repoPath := repo.repoPath(sess)
+ RemoveAllWithNotice("Repository path erase before creation", repoPath)
+
_, stderr, err := process.ExecTimeout(10*time.Minute,
fmt.Sprintf("ForkRepository 'git clone': %s/%s", owner.Name, repo.Name),
"git", "clone", "--bare", baseRepo.RepoPath(), repoPath)
@@ -2249,15 +2255,23 @@ func ForkRepository(doer, owner *User, baseRepo *Repository, name, desc string)
if err = createDelegateHooks(repoPath); err != nil {
return nil, fmt.Errorf("createDelegateHooks: %v", err)
- } else if err = prepareWebhooks(sess, baseRepo, HOOK_EVENT_FORK, &api.ForkPayload{
+ }
+
+ if err = sess.Commit(); err != nil {
+ return nil, fmt.Errorf("Commit: %v", err)
+ }
+
+ if err = repo.UpdateSize(); err != nil {
+ log.Error(2, "UpdateSize [repo_id: %d]: %v", repo.ID, err)
+ }
+ if err = PrepareWebhooks(baseRepo, HOOK_EVENT_FORK, &api.ForkPayload{
Forkee: repo.APIFormat(nil),
Repo: baseRepo.APIFormat(nil),
Sender: doer.APIFormat(),
}); err != nil {
- return nil, fmt.Errorf("prepareWebhooks: %v", err)
+ log.Error(2, "PrepareWebhooks [repo_id: %d]: %v", baseRepo.ID, err)
}
-
- return repo, sess.Commit()
+ return repo, nil
}
func (repo *Repository) GetForks() ([]*Repository, error) {