From 47962340bcd7d663aa9129da93c41f7ba64b2a2f Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 14 Oct 2025 13:15:45 +0800 Subject: [PATCH] fix: scaning reposities does not work when both global and workspace default clone dir are not configured (#1848) Signed-off-by: leo --- src/ViewModels/ScanRepositories.cs | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/ViewModels/ScanRepositories.cs b/src/ViewModels/ScanRepositories.cs index 538fe244..6802897a 100644 --- a/src/ViewModels/ScanRepositories.cs +++ b/src/ViewModels/ScanRepositories.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; using System.IO; using System.Threading.Tasks; @@ -25,7 +24,6 @@ namespace SourceGit.ViewModels get; } - [Required(ErrorMessage = "Scan directory is required!!!")] public Models.ScanDir Selected { get => _selected; @@ -53,11 +51,26 @@ namespace SourceGit.ViewModels public override async Task Sure() { - var selectedDir = _useCustomDir ? _customDir : _selected?.Path; - if (string.IsNullOrEmpty(selectedDir)) + string selectedDir; + if (_useCustomDir) { - App.RaiseException(null, "Missing root directory to scan!"); - return false; + if (string.IsNullOrEmpty(_customDir)) + { + App.RaiseException(null, "Missing root directory to scan!"); + return false; + } + + selectedDir = _customDir; + } + else + { + if (_selected == null || string.IsNullOrEmpty(_selected.Path)) + { + App.RaiseException(null, "Missing root directory to scan!"); + return false; + } + + selectedDir = _selected.Path; } if (!Directory.Exists(selectedDir))