Skip to content

Commit e0b26fe

Browse files
kostorrteo
authored andcommitted
[repos] Always fetch an existing repo on addition
1 parent 9941447 commit e0b26fe

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

core/repos/repo.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -211,11 +211,6 @@ func (r *Repo) refresh() error {
211211
}
212212
}
213213

214-
err = r.checkoutRevision(r.getDefaultRevision())
215-
if err != nil {
216-
return err
217-
}
218-
219214
return nil
220215
}
221216

core/repos/repomanager.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,13 @@ func (manager *RepoManager) AddRepo(repoPath string, defaultRevision string) (st
260260
})
261261

262262
if err != nil {
263-
if err != git.ErrRepositoryAlreadyExists {
263+
if err == git.ErrRepositoryAlreadyExists {
264+
// This was an existing repo, so let's make sure it's up to date
265+
err = repo.refresh()
266+
if err != nil {
267+
return "", false, err
268+
}
269+
} else {
264270
cleanErr := cleanCloneParentDirs(repo.getCloneParentDirs())
265271
if cleanErr != nil {
266272
return "", false, errors.New(err.Error() + " Failed to clean directories: " + cleanErr.Error())
@@ -284,7 +290,7 @@ func (manager *RepoManager) AddRepo(repoPath string, defaultRevision string) (st
284290
}
285291
}
286292

287-
// Check that the repo's default revision is valid, updates if not
293+
// Check that the repo's default revision is valid, update if not
288294
err = manager.checkAndSetDefaultRevision(repo)
289295
if err != nil {
290296
return "", false, err

0 commit comments

Comments
 (0)