public void GenerateSpecificVersion(RepositoryUrl repositoryUrl, string commit)
        {
            var pathResolver = new PathResolver(repositoryUrl.Url, commit);

            var repositoryFolder = pathResolver.GetRepositoryPath();
            var repository = new Repository(repositoryFolder + "/.git");
            repository.Checkout(commit);

            var commitFolder = pathResolver.GetVersionPath();
            Directory.CreateDirectory(commitFolder);

            DirectoryCopy(repositoryFolder, commitFolder, true);

            repository.Checkout(repository.Branches["master"]);
        }
 private IQueryable<Commit> GetCommits(RepositoryUrl repositoryUrl)
 {
     var pathResolver = new PathResolver(repositoryUrl.Url);
     var repository = new Repository(pathResolver.GetRepositoryPath());
     return repository.Commits.OrderByDescending(x => x.Author.When.UtcDateTime).AsQueryable();
 }
 private void CloneProject(RepositoryUrl repositoryUrl)
 {
     var pathResolver = new PathResolver(repositoryUrl.Url);
     Repository.Clone(repositoryUrl.Url, pathResolver.GetRepositoryPath());
 }