mirror of
https://github.com/haiwen/seafile-server.git
synced 2025-09-18 08:15:14 +00:00
fix retry to update branch (#495)
* fix retry to update branch * improve code
This commit is contained in:
@@ -1596,10 +1596,14 @@ func genNewCommit(repo *repomgr.Repo, base *commitmgr.Commit, newRoot, user, des
|
||||
}
|
||||
var commitID string
|
||||
|
||||
for retry, err := genCommitNeedRetry(repo, base, commit, newRoot, user, &commitID); retry || err != nil; {
|
||||
for {
|
||||
retry, err := genCommitNeedRetry(repo, base, commit, newRoot, user, &commitID)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if !retry {
|
||||
break
|
||||
}
|
||||
|
||||
if retryCnt < 3 {
|
||||
random := rand.Intn(10) + 1
|
||||
@@ -1621,17 +1625,21 @@ func genNewCommit(repo *repomgr.Repo, base *commitmgr.Commit, newRoot, user, des
|
||||
|
||||
func fastForwardOrMerge(user string, repo *repomgr.Repo, base, newCommit *commitmgr.Commit) error {
|
||||
var retryCnt int
|
||||
for retry, err := genCommitNeedRetry(repo, base, newCommit, newCommit.RootID, user, nil); retry || err != nil; {
|
||||
for {
|
||||
retry, err := genCommitNeedRetry(repo, base, newCommit, newCommit.RootID, user, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !retry {
|
||||
break
|
||||
}
|
||||
|
||||
if retryCnt < 3 {
|
||||
random := rand.Intn(10) + 1
|
||||
time.Sleep(time.Duration(random*100) * time.Millisecond)
|
||||
retryCnt++
|
||||
} else {
|
||||
err := fmt.Errorf("stop updating repo %s after 3 retries", repo.ID)
|
||||
err = fmt.Errorf("stop updating repo %s after 3 retries", repo.ID)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user