AvalonStudio.Repositories.PackageSource.DownloadCatalog C# (CSharp) Method

DownloadCatalog() public method

public DownloadCatalog ( ) : Repository
return Repository
		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;
		}
	}