From 6ddc49569a17b81555f18e40ff54b90242c4f581 Mon Sep 17 00:00:00 2001 From: Michal Date: Sun, 8 Mar 2026 14:46:16 +0000 Subject: [PATCH] fix: ensure git remote origin is set when backup repo already exists When the repo directory already existed from a previous init (e.g. local-only init without remote), the origin remote was missing. Now initRepo() verifies and sets/updates the remote on every startup. Co-Authored-By: Claude Opus 4.6 --- src/mcpd/src/services/backup/git-backup.service.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mcpd/src/services/backup/git-backup.service.ts b/src/mcpd/src/services/backup/git-backup.service.ts index dc57541..d7cf86d 100644 --- a/src/mcpd/src/services/backup/git-backup.service.ts +++ b/src/mcpd/src/services/backup/git-backup.service.ts @@ -394,6 +394,18 @@ export class GitBackupService { private async initRepo(): Promise { try { await access(join(REPO_DIR, '.git')); + // Repo exists — ensure remote origin is correct + try { + const { stdout: currentUrl } = await execFile('git', ['remote', 'get-url', 'origin'], { cwd: REPO_DIR }); + if (currentUrl.trim() !== this.repoUrl) { + await execFile('git', ['remote', 'set-url', 'origin', this.repoUrl!], { cwd: REPO_DIR }); + console.log(`[git-backup] Updated remote origin to ${this.repoUrl}`); + } + } catch { + // No remote — add it + await execFile('git', ['remote', 'add', 'origin', this.repoUrl!], { cwd: REPO_DIR }); + console.log(`[git-backup] Added remote origin: ${this.repoUrl}`); + } console.log('[git-backup] Repo already cloned'); return; } catch {