1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-09 15:55:23 +02:00

fix(stack/git): clone to non-version project path during auto update

This commit is contained in:
oscarzhou 2023-08-17 13:12:42 +12:00
parent 748c6fa22a
commit 2bfb4c0e25

View file

@ -48,10 +48,6 @@ func UpdateGitObject(gitService portainer.GitService, objId string, gitConfig *g
} }
toDir := projectPath toDir := projectPath
if enableVersionFolder {
toDir = filesystem.JoinPaths(projectPath, newHash)
}
cloneParams := &cloneRepositoryParameters{ cloneParams := &cloneRepositoryParameters{
url: gitConfig.URL, url: gitConfig.URL,
ref: gitConfig.ReferenceName, ref: gitConfig.ReferenceName,
@ -65,10 +61,20 @@ func UpdateGitObject(gitService portainer.GitService, objId string, gitConfig *g
} }
} }
// For backward compatibility, we need to clone the repository in the old project path
if err := cloneGitRepository(gitService, cloneParams); err != nil { if err := cloneGitRepository(gitService, cloneParams); err != nil {
return false, "", errors.WithMessagef(err, "failed to do a fresh clone of %v", objId) return false, "", errors.WithMessagef(err, "failed to do a fresh clone of %v", objId)
} }
if enableVersionFolder {
toDir = filesystem.JoinPaths(projectPath, newHash)
cloneParams.toDir = toDir
if err := cloneGitRepository(gitService, cloneParams); err != nil {
return false, "", errors.WithMessagef(err, "failed to do a fresh clone of %v", objId)
}
}
log.Debug(). log.Debug().
Str("hash", newHash). Str("hash", newHash).
Str("url", gitConfig.URL). Str("url", gitConfig.URL).