public void CommitVersionToRepository(Repository repository, NewProjectVersion newProjectVersion)
 {
   _log.Info("Committing: " + newProjectVersion);
   using (Archive archive = MakeArchiveFor(newProjectVersion))
   {
     ZipPackager writer = new ZipPackager(archive);
     writer.WriteZip(new Purl(repository.PathFor(newProjectVersion).AsString + ZipPackager.ZipExtension));
   }
 }
 private static Archive MakeArchiveFor(NewProjectVersion newProjectVersion)
 {
   Archive archive = new Archive();
   Purl commonRootDirectory = newProjectVersion.FileSet.FindCommonDirectory();
   foreach (FileSystemFile file in newProjectVersion.FileSet.Files)
   {
     archive.Add(file.Path.ChangeRoot(commonRootDirectory), file);
   }
   return archive;
 }
 public static Purl PathFor(this Repository repository, NewProjectVersion version)
 {
   return repository.RootPath.Join(version.RepositoryAlias);
 }
 public void CommitVersionToRepository(Repository repository, NewProjectVersion newProjectVersion)
 {
   _log.Info("Committing: " + newProjectVersion);
   Purl destiny = repository.PathFor(newProjectVersion);
   CopyFiles(newProjectVersion.FileSet, destiny, false);
 }