public Repository DownloadCatalog()
{
if (Directory.Exists(CatalogDirectory))
{
if (LibGit2Sharp.Repository.IsValid(CatalogGitDirectory))
{
var repo = new LibGit2Sharp.Repository(CatalogGitDirectory);
repo.Network.Pull(new Signature("AvalonStudio", "catalog@avalonstudio", new DateTimeOffset(DateTime.Now)),
new PullOptions());
}
else
{
Directory.Delete(CatalogDirectory, true);
Clone();
}
}
else
{
Clone();
}
var result = SerializedObject.Deserialize<Repository>(Path.Combine(CatalogDirectory, Repository.PackagesFileName));
result.Source = this;
foreach (var package in result.Packages)
{
package.Repository = result;
}
return result;
}
}