11차 F-3 뒤: 보내기로 넘긴 왼쪽 폴더를 기본 저장소가 덮어쓰던 것
- 사용자 발견: 폴더 둘을 보내면 왼쪽 칸이 설정의 기본 저장소(plain-compare)로 바뀌어 비교가 "왼쪽만" 투성이. FolderViewModel 이 넘어온 요청을 받은 뒤 저장소 기본값이 왼쪽을 덮어썼다(비교는 비동기라 덮인 값을 읽음) - 기본값을 먼저, 요청을 나중에 - 켤 때 받은 인자를 파일 로그에 남김(다음에 무엇이 넘어왔는지 바로 알게) - 확인: 기본 저장소 설정 그대로 폴더 2개 · 1개 - 칸 값 · 비교 요약이 보낸 폴더대로 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
5210ead661
commit
c35280a9cc
@ -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)
|
||||
|
||||
@ -132,18 +132,20 @@ namespace MergeHub.ViewModels
|
||||
{
|
||||
_workspace = workspace;
|
||||
|
||||
// 탐색기 우클릭으로 켰으면 그 폴더가 왼쪽에 들어온다.
|
||||
_workspace.FolderCompareRequested += OnFolderCompareRequested;
|
||||
_workspace.Recent.Changed += (_, _) => _workspace.OnUi(RefreshRecent);
|
||||
RefreshRecent();
|
||||
_workspace.DeliverPendingFolderCompare();
|
||||
|
||||
// 저장소를 열어 뒀으면 왼쪽 기본값으로 삼는다 - 대개 그 폴더를 견주게 된다.
|
||||
// 넘어온 요청보다 <b>먼저</b> 둔다(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();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user