private RepositoryMigrator(LogService logService, IRepositoryMigrator repositoryMigrator, string basePath, Uri repositoryUrl) { this.logService = logService; this.repositoryMigrator = repositoryMigrator; this.basePath = basePath; this.repositoryPath = DirectoryUtility.Prepare(basePath, CremaString.Repository); if (repositoryUrl == null) { this.sourceUrl = new Uri(Path.Combine(this.basePath, nameString)); } else if (repositoryUrl.IsAbsoluteUri) { this.sourceUrl = repositoryUrl; } else { this.sourceUrl = UriUtility.Combine(new Uri(this.basePath), nameString, repositoryUrl.ToString()); } this.sourceRootUrl = new Uri(this.Run($"info \"{this.sourceUrl}\" --show-item repos-root-url").Trim()); this.sourceRelativeUrl = UriUtility.MakeRelativeString(this.sourceRootUrl, this.sourceUrl); }