diff --git a/src/Models/Remote.cs b/src/Models/Remote.cs index f8980b5a..2f6c7dc1 100644 --- a/src/Models/Remote.cs +++ b/src/Models/Remote.cs @@ -50,7 +50,10 @@ namespace SourceGit.Models return true; } - return url.StartsWith("file://", StringComparison.Ordinal) || Directory.Exists(url); + return url.StartsWith("file://", StringComparison.Ordinal) || + url.StartsWith("./", StringComparison.Ordinal) || + url.StartsWith("../", StringComparison.Ordinal) || + Directory.Exists(url); } public bool TryGetVisitURL(out string url) diff --git a/src/ViewModels/AddSubmodule.cs b/src/ViewModels/AddSubmodule.cs index fa10315e..82a1f62a 100644 --- a/src/ViewModels/AddSubmodule.cs +++ b/src/ViewModels/AddSubmodule.cs @@ -34,17 +34,10 @@ namespace SourceGit.ViewModels public static ValidationResult ValidateURL(string url, ValidationContext ctx) { - if (ctx.ObjectInstance is AddSubmodule) - { - if (!Models.Remote.IsValidURL(url) && - !url.StartsWith("./", StringComparison.Ordinal) && - !url.StartsWith("../", StringComparison.Ordinal)) - return new ValidationResult("Invalid repository URL format"); - - return ValidationResult.Success; - } - - return new ValidationResult("Missing validation context"); + if (!Models.Remote.IsValidURL(url)) + return new ValidationResult("Invalid repository URL format"); + + return ValidationResult.Success; } public override Task Sure()