|
|
|
@ -449,19 +449,17 @@ func SyncPullMirror(ctx context.Context, repoID int64) bool { |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var gitRepo *git.Repository |
|
|
|
|
if len(results) == 0 { |
|
|
|
|
log.Trace("SyncMirrors [repo: %-v]: no branches updated", m.Repo) |
|
|
|
|
} else { |
|
|
|
|
log.Trace("SyncMirrors [repo: %-v]: %d branches updated", m.Repo, len(results)) |
|
|
|
|
gitRepo, err = gitrepo.OpenRepository(ctx, m.Repo) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: unable to OpenRepository: %v", m.Repo, err) |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
defer gitRepo.Close() |
|
|
|
|
gitRepo, err := gitrepo.OpenRepository(ctx, m.Repo) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: unable to OpenRepository: %v", m.Repo, err) |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
defer gitRepo.Close() |
|
|
|
|
|
|
|
|
|
log.Trace("SyncMirrors [repo: %-v]: %d branches updated", m.Repo, len(results)) |
|
|
|
|
if len(results) > 0 { |
|
|
|
|
if ok := checkAndUpdateEmptyRepository(ctx, m, gitRepo, results); !ok { |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: checkAndUpdateEmptyRepository: %v", m.Repo, err) |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -534,16 +532,24 @@ func SyncPullMirror(ctx context.Context, repoID int64) bool { |
|
|
|
|
} |
|
|
|
|
log.Trace("SyncMirrors [repo: %-v]: done notifying updated branches/tags - now updating last commit time", m.Repo) |
|
|
|
|
|
|
|
|
|
// Get latest commit date and update to current repository updated time
|
|
|
|
|
commitDate, err := git.GetLatestCommitTime(ctx, m.Repo.RepoPath()) |
|
|
|
|
isEmpty, err := gitRepo.IsEmpty() |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: unable to GetLatestCommitDate: %v", m.Repo, err) |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: unable to check empty git repo: %v", m.Repo, err) |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
if !isEmpty { |
|
|
|
|
// Get latest commit date and update to current repository updated time
|
|
|
|
|
commitDate, err := git.GetLatestCommitTime(ctx, m.Repo.RepoPath()) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: unable to GetLatestCommitDate: %v", m.Repo, err) |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err = repo_model.UpdateRepositoryUpdatedTime(ctx, m.RepoID, commitDate); err != nil { |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: unable to update repository 'updated_unix': %v", m.Repo, err) |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err = repo_model.UpdateRepositoryUpdatedTime(ctx, m.RepoID, commitDate); err != nil { |
|
|
|
|
log.Error("SyncMirrors [repo: %-v]: unable to update repository 'updated_unix': %v", m.Repo, err) |
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
log.Trace("SyncMirrors [repo: %-v]: Successfully updated", m.Repo) |
|
|
|
|