installer: fetch before install
diff --git a/core/installer/app_manager.go b/core/installer/app_manager.go
index fbf69d1..53f1248 100644
--- a/core/installer/app_manager.go
+++ b/core/installer/app_manager.go
@@ -26,7 +26,6 @@
signer ssh.Signer
}
-// func NewAppManager(repo *git.Repository, fs billy.Filesystem, config Config, appRepo AppRepository) (*AppManager, error) {
func NewAppManager(repo *git.Repository, signer ssh.Signer) (*AppManager, error) {
return &AppManager{
repo,
@@ -71,6 +70,13 @@
}
func (m *AppManager) Install(app App, config map[string]any) error {
+ if err := m.repo.Fetch(&git.FetchOptions{
+ RemoteName: "origin",
+ Auth: auth(m.signer),
+ Force: true,
+ }); err != nil {
+ return err
+ }
wt, err := m.repo.Worktree()
if err != nil {
return err