/// <summary> /// Отложенный конструктор, логика подготовки /// </summary> protected override void InternalInitialize(string[] arguments) { base.InternalInitialize(arguments); var projdesc = new BSharpProjectDescriptor(); projdesc.AutoSetup(); if (RepositoryDirectory == "auto") { RepositoryDirectory = projdesc.RepositoryDirectory; if (ProjectDirectory == "auto") { ProjectDirectory = projdesc.ProjectDirectory; } } if (string.IsNullOrWhiteSpace(CheckoutDirectory)) { CheckoutDirectory = Path.Combine(Path.GetTempPath(), ".xdiffupd", DateTime.Now.ToString("yyyyMMddHHmmss")); } if (string.IsNullOrWhiteSpace(Connection)) { if (string.IsNullOrWhiteSpace(Database)) { Database = "temp"; } Connection = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True;Application Name=xdbu", Server, Database); } }
public void CanAutomaticallyDetectRepositoryAndDirectory() { var projdir = Path.Combine(dir, "root/rep/dir/proj").NormalizePath(); var gitdir = Path.Combine(dir, "root/rep/.git").NormalizePath(); var repodir = Path.Combine(dir, "root/rep").NormalizePath(); Directory.CreateDirectory(projdir); Directory.CreateDirectory(gitdir); var projdesc = new BSharpProjectDescriptor(); projdesc.AutoSetup(projdir); Assert.AreEqual(repodir, projdesc.RepositoryDirectory.NormalizePath()); Assert.AreEqual("./dir/proj/", projdesc.ProjectDirectory.NormalizePath()); }