diff --git a/src/MergeHub/Services/GitWorkspace.cs b/src/MergeHub/Services/GitWorkspace.cs
index f1410ca..5e27378 100644
--- a/src/MergeHub/Services/GitWorkspace.cs
+++ b/src/MergeHub/Services/GitWorkspace.cs
@@ -723,6 +723,20 @@ namespace MergeHub.Services
private void RouteStartupArgs()
{
var args = StartupArgs.Current;
+
+ // 받은 인자를 파일 로그에 그대로 남긴다(11차 F-3). 화면 로그는 끄면 사라져, 실제 탐색기에서
+ // "폴더 하나만 읽혔다" 는 일이 났을 때 무엇이 넘어왔는지 알 길이 없었다.
+ try
+ {
+ var raw = Environment.GetCommandLineArgs();
+ if (raw.Length > 1)
+ _logger.I($"켤 때 받은 인자 {raw.Length - 1}개: " + string.Join(" | ", raw.Skip(1)) +
+ $" → {args.Mode} · 왼쪽 '{args.LeftFolder}{args.LooseLeft}' · 오른쪽 '{args.RightFolder}{args.LooseRight}'");
+ }
+ catch (NotSupportedException)
+ {
+ }
+
if (!ReportArgs(args, "탐색기에서")) return;
if (args.WantsFolder)
diff --git a/src/MergeHub/ViewModels/FolderViewModel.cs b/src/MergeHub/ViewModels/FolderViewModel.cs
index 6340cad..804ea8e 100644
--- a/src/MergeHub/ViewModels/FolderViewModel.cs
+++ b/src/MergeHub/ViewModels/FolderViewModel.cs
@@ -132,18 +132,20 @@ namespace MergeHub.ViewModels
{
_workspace = workspace;
- // 탐색기 우클릭으로 켰으면 그 폴더가 왼쪽에 들어온다.
- _workspace.FolderCompareRequested += OnFolderCompareRequested;
- _workspace.Recent.Changed += (_, _) => _workspace.OnUi(RefreshRecent);
- RefreshRecent();
- _workspace.DeliverPendingFolderCompare();
-
// 저장소를 열어 뒀으면 왼쪽 기본값으로 삼는다 - 대개 그 폴더를 견주게 된다.
+ // 넘어온 요청보다 먼저 둔다(11차 F-3). 예전에는 요청을 받은 뒤에 이 기본값이 왼쪽을 덮어써,
+ // 탐색기에서 폴더 둘을 보내면 왼쪽 칸이 기본 저장소(plain-compare)로 바뀌고 비교가 "왼쪽만" 투성이가 됐다.
if (!string.IsNullOrWhiteSpace(_workspace.RepositoryPath) &&
Directory.Exists(_workspace.RepositoryPath))
{
LeftFolder = _workspace.RepositoryPath;
}
+
+ // 탐색기 우클릭 · 보내기로 켰으면 그 폴더가 들어온다 - 기본값을 이긴다.
+ _workspace.FolderCompareRequested += OnFolderCompareRequested;
+ _workspace.Recent.Changed += (_, _) => _workspace.OnUi(RefreshRecent);
+ RefreshRecent();
+ _workspace.DeliverPendingFolderCompare();
}
///