From 8ee9e31c11ed5faf6fa210eb3c616e384de93168 Mon Sep 17 00:00:00 2001 From: gitPhate Date: Mon, 3 Aug 2026 16:21:17 +0200 Subject: [PATCH] added workspace lookup before opening a repo from the cmd line --- src/ViewModels/Launcher.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ViewModels/Launcher.cs b/src/ViewModels/Launcher.cs index 7b17290a7..81360545c 100644 --- a/src/ViewModels/Launcher.cs +++ b/src/ViewModels/Launcher.cs @@ -87,6 +87,7 @@ public bool TryOpenRepositoryFromPath(string repo) { var node = Preferences.Instance.FindOrAddNodeByRepositoryPath(repo, null, false); Welcome.Instance.Refresh(); + TrySwitchToContainingWorkspace(node); OpenRepositoryInTab(node, null); return true; } @@ -96,6 +97,7 @@ public bool TryOpenRepositoryFromPath(string repo) { var node = Preferences.Instance.FindOrAddNodeByRepositoryPath(test.StdOut.Trim(), null, false); Welcome.Instance.Refresh(); + TrySwitchToContainingWorkspace(node); OpenRepositoryInTab(node, null); return true; } @@ -112,6 +114,16 @@ public bool TryOpenRepositoryFromPath(string repo) return false; } + private void TrySwitchToContainingWorkspace(RepositoryNode node) + { + if (ActiveWorkspace.Repositories.Contains(node.Id)) + return; + + var owner = Preferences.Instance.Workspaces.Find(w => w.Repositories.Contains(node.Id)); + if (owner != null) + SwitchWorkspace(owner); + } + public void CloseAll() { _ignoreIndexChange = true;