Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void AddDirectoryFilesToTar(TarArchive tarArchive, string sourceDirectory, bool recurse)
- {
- TarEntry tarEntry = TarEntry.CreateEntryFromFile(sourceDirectory);
- tarArchive.WriteEntry(tarEntry, false);
- string[] filenames = Directory.GetFiles(sourceDirectory);
- foreach (string filename in filenames)
- {
- tarEntry = TarEntry.CreateEntryFromFile(filename);
- tarArchive.WriteEntry(tarEntry, true);
- }
- if (recurse)
- {
- string[] directories = Directory.GetDirectories(sourceDirectory);
- foreach (string directory in directories)
- AddDirectoryFilesToTar(tarArchive, directory, recurse);
- }
- }
- private void CreateTar(string tgzFilename, string sourceDirectory)
- {
- Stream outStream = File.Create(tgzFilename);
- TarArchive tarArchive = TarArchive.CreateOutputTarArchive(outStream);
- tarArchive.RootPath = sourceDirectory.Replace('\', '/');
- if (tarArchive.RootPath.EndsWith("/"))
- tarArchive.RootPath = tarArchive.RootPath.Remove(tarArchive.RootPath.Length - 1);
- AddDirectoryFilesToTar(tarArchive, sourceDirectory, true);
- tarArchive.Close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement