From cf40d6cf1f51c9882f9299e8e83de389c31bc477 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 21:51:01 +0200 Subject: [PATCH 01/34] Add draft v. of AzureDevOpsBackupUnzipTool --- AzureDevOpsBackup/AzureDevOpsBackup.sln | 10 + AzureDevOpsBackupUnzipTool/App.config | 6 + AzureDevOpsBackupUnzipTool/Azure Dev Ops.ico | Bin 0 -> 110572 bytes .../AzureDevOpsBackupUnzipTool.csproj | 85 +++++++ .../Class/ApplicationInfo.cs | 37 +++ .../Class/DisplayHelp.cs | 63 +++++ .../Class/FileLogger.cs | 150 ++++++++++++ AzureDevOpsBackupUnzipTool/Class/Files.cs | 31 +++ AzureDevOpsBackupUnzipTool/Class/Globals.cs | 11 + AzureDevOpsBackupUnzipTool/Program.cs | 225 ++++++++++++++++++ .../Properties/AssemblyInfo.cs | 36 +++ .../Resources/Azure Dev Ops.ico | Bin 0 -> 110572 bytes AzureDevOpsBackupUnzipTool/packages.config | 5 + 13 files changed, 659 insertions(+) create mode 100644 AzureDevOpsBackupUnzipTool/App.config create mode 100644 AzureDevOpsBackupUnzipTool/Azure Dev Ops.ico create mode 100644 AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj create mode 100644 AzureDevOpsBackupUnzipTool/Class/ApplicationInfo.cs create mode 100644 AzureDevOpsBackupUnzipTool/Class/DisplayHelp.cs create mode 100644 AzureDevOpsBackupUnzipTool/Class/FileLogger.cs create mode 100644 AzureDevOpsBackupUnzipTool/Class/Files.cs create mode 100644 AzureDevOpsBackupUnzipTool/Class/Globals.cs create mode 100644 AzureDevOpsBackupUnzipTool/Program.cs create mode 100644 AzureDevOpsBackupUnzipTool/Properties/AssemblyInfo.cs create mode 100644 AzureDevOpsBackupUnzipTool/Resources/Azure Dev Ops.ico create mode 100644 AzureDevOpsBackupUnzipTool/packages.config diff --git a/AzureDevOpsBackup/AzureDevOpsBackup.sln b/AzureDevOpsBackup/AzureDevOpsBackup.sln index d9298b8..49c92e0 100644 --- a/AzureDevOpsBackup/AzureDevOpsBackup.sln +++ b/AzureDevOpsBackup/AzureDevOpsBackup.sln @@ -15,6 +15,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Scripts\RenameOutputRelease.ps1 = Scripts\RenameOutputRelease.ps1 EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureDevOpsBackupUnzipTool", "..\AzureDevOpsBackupUnzipTool\AzureDevOpsBackupUnzipTool.csproj", "{050B25B3-9A27-44C2-A793-59357CFBCDC3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution All|Any CPU = All|Any CPU @@ -39,6 +41,14 @@ Global {24DA63B0-77D2-4861-8DC1-C47EB93E88EF}.DefaultBuild|Any CPU.Build.0 = DefaultBuild {24DA63B0-77D2-4861-8DC1-C47EB93E88EF}.Release|Any CPU.ActiveCfg = DefaultBuild {24DA63B0-77D2-4861-8DC1-C47EB93E88EF}.Release|Any CPU.Build.0 = DefaultBuild + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.All|Any CPU.ActiveCfg = Debug|Any CPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.All|Any CPU.Build.0 = Debug|Any CPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.DefaultBuild|Any CPU.ActiveCfg = Debug|Any CPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.DefaultBuild|Any CPU.Build.0 = Debug|Any CPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/AzureDevOpsBackupUnzipTool/App.config b/AzureDevOpsBackupUnzipTool/App.config new file mode 100644 index 0000000..193aecc --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Azure Dev Ops.ico b/AzureDevOpsBackupUnzipTool/Azure Dev Ops.ico new file mode 100644 index 0000000000000000000000000000000000000000..e5509b18084ed5420645b6ab8fb1e1562b781f07 GIT binary patch literal 110572 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 HW@Gaopb1X^ literal 0 HcmV?d00001 diff --git a/AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj b/AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj new file mode 100644 index 0000000..6e860bb --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj @@ -0,0 +1,85 @@ + + + + + Debug + AnyCPU + {050B25B3-9A27-44C2-A793-59357CFBCDC3} + Exe + AzureDevOpsBackupUnzipTool + AzureDevOpsBackupUnzipTool + v4.8 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + none + true + bin\Release\ + TRACE + prompt + 4 + + + Azure Dev Ops.ico + + + + ..\AzureDevOpsBackup\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + + + + + ..\AzureDevOpsBackup\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll + True + True + + + + + + + + + + + + + + + + + + + + + + + + + + + if $(ConfigurationName) == Release ( + echo "Release build - signing output file(s)!". + "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign /n "Michael Morten Sonne" /fd sha256 /tr http://timestamp.sectigo.com /td sha256 /as /v "$(TargetPath)" + echo "Release build - signing output file(s) done!". +) ELSE ( + echo "Debug build - no tasks!". +) + + + \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Class/ApplicationInfo.cs b/AzureDevOpsBackupUnzipTool/Class/ApplicationInfo.cs new file mode 100644 index 0000000..6d8958c --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Class/ApplicationInfo.cs @@ -0,0 +1,37 @@ +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; + +namespace AzureDevOpsBackupUnzipTool.Class +{ + internal class ApplicationInfo + { + public static void GetExeInfo() + { + // Get application data to later use in tool and log + AssemblyCopyrightAttribute copyright = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0] as AssemblyCopyrightAttribute; + // ReSharper disable once PossibleNullReferenceException + Globals._copyrightData = copyright.Copyright; + + // Get application data to later use in tool and log + Globals._vData = Assembly.GetEntryAssembly()?.GetName().Version.ToString(); + var attributes = typeof(Program).GetTypeInfo().Assembly.GetCustomAttributes(typeof(AssemblyTitleAttribute)); + var assemblyTitleAttribute = attributes.SingleOrDefault() as AssemblyTitleAttribute; + + // Set application name in code and log + Globals.AppName = assemblyTitleAttribute?.Title; + + // Set exe file name in code and log + Globals._currentExeFileName = Path.GetFileName(Process.GetCurrentProcess().MainModule?.FileName); + + // Set company name in code and log + var fileName = Assembly.GetEntryAssembly()?.Location; + if (fileName != null) + { + var versionInfo = FileVersionInfo.GetVersionInfo(fileName); + Globals._companyName = versionInfo.CompanyName; + } + } + } +} diff --git a/AzureDevOpsBackupUnzipTool/Class/DisplayHelp.cs b/AzureDevOpsBackupUnzipTool/Class/DisplayHelp.cs new file mode 100644 index 0000000..3727c4a --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Class/DisplayHelp.cs @@ -0,0 +1,63 @@ +using System; + +namespace AzureDevOpsBackupUnzipTool.Class +{ + internal class DisplayHelpToConsole + { + public static void DisplayGuide() + { + Console.WriteLine("Usage:"); + Console.WriteLine($"\t{Globals._currentExeFileName} --zipFile --jsonFile --output "); + Console.WriteLine(); + Console.WriteLine("Description:"); + Console.WriteLine("\tAzure DevOps Backup unzip tool for Git Projects (single repos to unzip from metadata) from the Azure DevOps API."); + Console.WriteLine("\t(Part of Azure DevOps Backup tool from Michael Morten Sonne)"); + Console.WriteLine(); + Console.WriteLine("\tWhile the code is perfectly safe on the Azure infrastructure, there are cases where a centralized"); + Console.WriteLine("\tlocal backup of all projects and repositories is needed. These might include Corporate Policies,"); + Console.WriteLine("\tDisaster Recovery and Business Continuity Plans."); + Console.WriteLine(); + Console.WriteLine("Parameter List:"); + Console.WriteLine(" Mandatory:"); + Console.WriteLine("\t--zipFile: Name of the .zip folder to rename GUID´s to file or folders"); + Console.WriteLine("\t--jsonFile: Name of the .json file with the metadata in to rename GUID´s to files and folders"); + Console.WriteLine("\t--output: Folder to unzip data into"); + Console.WriteLine(); + Console.WriteLine(" Optional:"); + Console.WriteLine("\t--help, /h or /?: Showing this help text for the tool"); + Console.WriteLine("\t--info or /about: Showing information about the tool"); + Console.WriteLine(); + Console.WriteLine("Examples:"); + Console.WriteLine($"\t{Globals._currentExeFileName} --zipFile \"C:\\Temp\\blob.zip\" --jsonFile \"C:\\Temp\\tree.json\" --output \"C:\\Temp\\Unzipped\""); + Console.WriteLine(); + Console.WriteLine("Output:"); + Console.WriteLine("\tData from Git repo is renamed to the right filenames or folders based on the metadata from the Azure DevOps API."); + Console.WriteLine("\tMapping the files together with the structure of the repo."); + Console.WriteLine(); + } + + public static void DisplayInfo() + { + Console.WriteLine("Description:"); + Console.WriteLine("\tAzure DevOps Backup unzip tool for Git Projects (single repos to unzip from metadata) from the Azure DevOps API."); + Console.WriteLine(); + Console.WriteLine("\tWhile the code is perfectly safe on the Azure infrastructure, there are cases where a centralized"); + Console.WriteLine("\tlocal backup of all projects and repositories is needed. These might include Corporate Policies,"); + Console.WriteLine("\tDisaster Recovery and Business Continuity Plans."); + Console.WriteLine(); + Console.WriteLine("\tAzure DevOps is a cloud service to manage source code and collaborate between development teams."); + Console.WriteLine("\tIt integrates perfectly with both Visual Studio and Visual Studio Code and other IDE´s and tools"); + Console.WriteLine("\tthere is using the 'Git'."); + Console.WriteLine(); + Console.WriteLine("My blog:"); + Console.WriteLine("\thttps://blog.sonnes.cloud"); + Console.WriteLine(); + Console.WriteLine("My Website:"); + Console.WriteLine("\thttps://sonnes.cloud"); + Console.WriteLine(); + Console.WriteLine("See Microsoft´s website for more information about Azure DevOps:"); + Console.WriteLine("\thttps://azure.microsoft.com/en-us/products/devops"); + Console.WriteLine(); + } + } +} \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Class/FileLogger.cs b/AzureDevOpsBackupUnzipTool/Class/FileLogger.cs new file mode 100644 index 0000000..5ff87d0 --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Class/FileLogger.cs @@ -0,0 +1,150 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Security; + +namespace AzureDevOpsBackupUnzipTool.Class +{ + internal class FileLogger + { + // Control if saves log to logfile + public static bool WriteToFile { get; set; } = true; + + // Control if saves log to Windows eventlog + public static bool WriteToEventLog { get; set; } = true; + + public static bool WriteOnlyErrorsToEventLog { get; set; } = true; + + // Sets the App name for the log function + //public static string AppName { get; set; } = Globals.AppName; // "Unknown",; + + // Set date format short + public static string DateFormat { get; set; } = "dd-MM-yyyy"; + + // Set date format long + public static string DateTimeFormat { get; set; } = "dd-MM-yyyy HH:mm:ss"; + + // Get logfile path + public static string GetLogPath(string df) + { + return Files.LogFilePath + @"\" + Globals.AppName + " Log " + df + ".log"; + } + + // Get datetime + public static string GetDateTime(DateTime datetime) + { + return datetime.ToString(DateTimeFormat); + } + + // Get date + public static string GetDate(DateTime datetime) + { + return datetime.ToString(DateFormat); + } + + // Set event type + public enum EventType + { + Warning, + Error, + Information, + } + + // Add message + public static void Message(string logText, EventType type, int id) + { + var now = DateTime.Now; + var date = GetDate(now); + var dateTime = GetDateTime(now); + var logPath = GetLogPath(date); + + // Set where to save log message to + if (WriteToFile) + AppendMessageToFile(logText, type, dateTime, logPath, id); + if (!WriteToEventLog) + return; + AddMessageToEventLog(logText, type, dateTime, logPath, id); + } + + // Save message to logfile + private static void AppendMessageToFile(string mess, EventType type, string dtf, string path, int id) + { + try + { + // Check if file exists else create it + if (!Directory.Exists(Files.LogFilePath)) + Directory.CreateDirectory(Files.LogFilePath); + + var str = type.ToString().Length > 7 ? "\t" : "\t\t"; + if (!File.Exists(path)) + { + using (var text = File.CreateText(path)) + text.WriteLine( + $"{(object)dtf} - [EventID {(object)id.ToString()}] {(object)type.ToString()}{(object)str}{(object)mess}"); + } + else + { + using (var streamWriter = File.AppendText(path)) + streamWriter.WriteLine( + $"{(object)dtf} - [EventID {(object)id.ToString()}] {(object)type.ToString()}{(object)str}{(object)mess}"); + } + } + catch (Exception ex) + { + if (!WriteToEventLog) + return; + AddMessageToEventLog($"Error writing to log file, {ex.Message}", EventType.Error, dtf, path, 0); + AddMessageToEventLog("Writing log file have been disabled.", EventType.Information, dtf, path, 0); + WriteToFile = false; + } + } + + // Save message to Windows event log + private static void AddMessageToEventLog(string mess, EventType type, string dtf, string path, int id) + { + try + { + if (type != EventType.Error && WriteOnlyErrorsToEventLog) + return; + var eventLog = new EventLog(""); + if (!EventLog.SourceExists(Globals.AppName)) + EventLog.CreateEventSource(Globals.AppName, "Application"); + eventLog.Source = Globals.AppName; + eventLog.EnableRaisingEvents = true; + var type1 = EventLogEntryType.Error; + switch (type) + { + case EventType.Warning: + type1 = EventLogEntryType.Warning; + break; + case EventType.Error: + type1 = EventLogEntryType.Error; + break; + case EventType.Information: + type1 = EventLogEntryType.Information; + break; + } + eventLog.WriteEntry(mess, type1, id); + } + catch (SecurityException ex) + { + if (WriteToFile) + { + AppendMessageToFile($"Security exception: {ex.Message}", EventType.Error, dtf, path, id); + AppendMessageToFile("Run this software as Administrator once to solve the problem.", EventType.Information, dtf, path, id); + AppendMessageToFile("Event log entries have been disabled.", EventType.Information, dtf, path, id); + WriteToEventLog = false; + } + } + catch (Exception ex) + { + if (WriteToFile) + { + AppendMessageToFile(ex.Message, EventType.Error, dtf, path, id); + AppendMessageToFile("Event log entries have been disabled.", EventType.Information, dtf, path, id); + WriteToEventLog = false; + } + } + } + } +} \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Class/Files.cs b/AzureDevOpsBackupUnzipTool/Class/Files.cs new file mode 100644 index 0000000..e6ba6d6 --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Class/Files.cs @@ -0,0 +1,31 @@ +using System; +using System.IO; +using System.Linq; +using System.Threading; + +namespace AzureDevOpsBackupUnzipTool.Class +{ + internal class Files + { + public static string LogFilePath + { + get + { + // Root folder for log files + var logfilePathvar = ProgramDataFilePath + @"\Log"; + return logfilePathvar; + } + } + + public static string ProgramDataFilePath + { + get + { + // Root path for program data + var currentDirectory = Directory.GetCurrentDirectory(); + var programDataFilePathvar = currentDirectory; + return programDataFilePathvar; + } + } + } +} \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Class/Globals.cs b/AzureDevOpsBackupUnzipTool/Class/Globals.cs new file mode 100644 index 0000000..30e8bba --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Class/Globals.cs @@ -0,0 +1,11 @@ +namespace AzureDevOpsBackupUnzipTool.Class +{ + public static class Globals + { + public static string _currentExeFileName; + public static string _companyName; + public static string _copyrightData; + public static string _vData; + public static string AppName; + } +} \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Program.cs b/AzureDevOpsBackupUnzipTool/Program.cs new file mode 100644 index 0000000..a306a64 --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Program.cs @@ -0,0 +1,225 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Linq; +using AzureDevOpsBackupUnzipTool.Class; +using Newtonsoft.Json; +using static AzureDevOpsBackupUnzipTool.Class.FileLogger; + +namespace AzureDevOpsBackupUnzipTool +{ + public class RootObject + { + public int Count { get; set; } + public List Value { get; set; } + } + + public class Item + { + public string ObjectId { get; set; } + public string GitObjectType { get; set; } + public string CommitId { get; set; } + public string Path { get; set; } + public string Url { get; set; } + } + + class Program + { + static void Main(string[] args) + { + ApplicationInfo.GetExeInfo(); + + // Check if parameters have been provided and contains one of + if (args.Length == 0 || args.Contains("--help") || args.Contains("/h") || args.Contains("/?") || args.Contains("/info") || args.Contains("/about")) + { + // If none arguments + if (args.Length == 0) + { + // No arguments have been provided + Message("ERROR: No arguments is provided - try again!", EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("ERROR: No arguments is provided - try again!\n"); + Console.ResetColor(); + + // Show help to console + DisplayHelpToConsole.DisplayGuide(); + + // Log + Message($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", FileLogger.EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!\n"); + Console.ResetColor(); + + // End application + Environment.Exit(1); + } + + // If wants help + if (args.Contains("--help") || args.Contains("/h") || args.Contains("/?")) + { + // Show help to console + DisplayHelpToConsole.DisplayGuide(); + + // Log + Message($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", FileLogger.EventType.Information, 1000); + + // Reset color + Console.ResetColor(); + + // End application + Environment.Exit(1); + } + + // If wants information about application + if (args.Contains("/info") || args.Contains("/about")) + { + // Show information about application to console + DisplayHelpToConsole.DisplayInfo(); + + // Log + //Message($"Showed information about application to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", EventType.Information, 1000); + + // Reset color + Console.ResetColor(); + + // End application + Environment.Exit(1); + } + } + + // Check for required Args for application will work + string[] requiredArgs = { "--zipFile", "--jsonFile", "--output" }; + + foreach (var requiredArg in requiredArgs) + { + if (!args.Contains(requiredArg)) + { + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine($"ERROR: Missing required argument '{requiredArg}'"); + Console.ResetColor(); + return; + } + } + + // Check if the required arguments are provided + if (args.Length < 3) + { + // Show help to console + DisplayHelpToConsole.DisplayGuide(); + return; + } + + // Get the required arguments from the command line arguments and save them to variables + string zipFilePath = args[Array.IndexOf(args, "--zipFile") + 1]; + string jsonFilePath = args[Array.IndexOf(args, "--jsonFile") + 1]; + string outputDirectory = args[Array.IndexOf(args, "--output") + 1]; + + //Try to unzip the project form the zip file and metadata file + try + { + UnzipProject(zipFilePath, outputDirectory, jsonFilePath); + Message("Unzipping completed successfully!", EventType.Information, 1000); + Console.WriteLine("Unzipping completed successfully."); + } + catch (Exception ex) + { + Message($"An error occurred: {ex.Message}", EventType.Error, 1001); + Console.WriteLine($"An error occurred: {ex.Message}"); + } + } + + private static void UnzipProject(string zipFilePath, string outputDirectory, string jsonFilePath) + { + // Read JSON data + string jsonData = File.ReadAllText(jsonFilePath); + var rootObject = JsonConvert.DeserializeObject(jsonData); + var items = rootObject.Value; + + // Open the zip archive + using (var archive = ZipFile.OpenRead(zipFilePath)) + { + foreach (var item in items) + { + string destinationPath = Path.GetFullPath(Path.Combine(outputDirectory, item.Path.TrimStart('/'))); + + if (item.GitObjectType == "tree") + { + // If folder data + Console.WriteLine($"Unzipping Git repository folder data: '{destinationPath}'..."); + + try + { + // Create backup folder if not exist + Directory.CreateDirectory(destinationPath); + + // Log + Message("Output folder is created: '" + destinationPath + "'", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("Output folder is created: '" + destinationPath + "'"); + Console.ResetColor(); + } + catch (UnauthorizedAccessException) + { + Message("! Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location.", EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location."); + Console.ResetColor(); + } + catch (Exception e) + { + // Error when create backup folder + Message("Exception caught when trying to create output folder - error: " + e, EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("{0} Exception caught.", e); + Console.ResetColor(); + } + + //Directory.CreateDirectory(destinationPath); + //Console.WriteLine($"> Created folder: '{destinationPath}'"); + } + else if (item.GitObjectType == "blob") + { + // If file data + Console.WriteLine($"Unzipping Git repository file data on disk: '{destinationPath}'"); + Message($"Unzipping Git repository file data on disk: '{destinationPath}'", EventType.Information, 1000); + + var entry = archive.GetEntry(item.ObjectId); + if (entry != null) + { + try + { + entry.ExtractToFile(destinationPath, true); + + // Log + Message($"Unzipped Git repository file data on disk: '{destinationPath}'", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine($"Unzipped Git repository file data on disk: '{destinationPath}'"); + Console.ResetColor(); + } + catch (UnauthorizedAccessException) + { + Message("! Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location.", EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location."); + Console.ResetColor(); + } + catch (Exception e) + { + // Error when create backup folder + Message("Exception caught when trying to create output folder - error: " + e, EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("{0} Exception caught.", e); + Console.ResetColor(); + } + } + else + { + Console.WriteLine($"Entry with ObjectId '{item.ObjectId}' not found in the zip archive."); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Properties/AssemblyInfo.cs b/AzureDevOpsBackupUnzipTool/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2ab96a8 --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AzureDevOpsBackupUnzipTool")] +[assembly: AssemblyDescription("Azure DevOps Backup unzip tool - Extract downloaded .zip Git projects from API for Azure DevOps for a single repo")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Michael Morten Sonne")] +[assembly: AssemblyProduct("AzureDevOpsBackupUnzipTool")] +[assembly: AssemblyCopyright("Copyright © Michael Morten Sonne")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("050b25b3-9a27-44c2-a793-59357cfbcdc3")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/AzureDevOpsBackupUnzipTool/Resources/Azure Dev Ops.ico b/AzureDevOpsBackupUnzipTool/Resources/Azure Dev Ops.ico new file mode 100644 index 0000000000000000000000000000000000000000..e5509b18084ed5420645b6ab8fb1e1562b781f07 GIT binary patch literal 110572 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 HW@Gaopb1X^ literal 0 HcmV?d00001 diff --git a/AzureDevOpsBackupUnzipTool/packages.config b/AzureDevOpsBackupUnzipTool/packages.config new file mode 100644 index 0000000..1fb72a0 --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file From dd05b8a63b12483cc3922217b014190fa1b9071c Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 21:55:32 +0200 Subject: [PATCH 02/34] Small typos and code comments --- AzureDevOpsBackupUnzipTool/Program.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/AzureDevOpsBackupUnzipTool/Program.cs b/AzureDevOpsBackupUnzipTool/Program.cs index a306a64..763a3a7 100644 --- a/AzureDevOpsBackupUnzipTool/Program.cs +++ b/AzureDevOpsBackupUnzipTool/Program.cs @@ -46,7 +46,7 @@ static void Main(string[] args) DisplayHelpToConsole.DisplayGuide(); // Log - Message($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", FileLogger.EventType.Information, 1000); + Message($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", EventType.Information, 1000); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!\n"); Console.ResetColor(); @@ -62,7 +62,7 @@ static void Main(string[] args) DisplayHelpToConsole.DisplayGuide(); // Log - Message($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", FileLogger.EventType.Information, 1000); + Message($"Showed help to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", EventType.Information, 1000); // Reset color Console.ResetColor(); @@ -78,7 +78,7 @@ static void Main(string[] args) DisplayHelpToConsole.DisplayInfo(); // Log - //Message($"Showed information about application to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", EventType.Information, 1000); + Message($"Showed information about application to Console - Exciting {Globals.AppName}, v." + Globals._vData + " by " + Globals._companyName + "!", EventType.Information, 1000); // Reset color Console.ResetColor(); @@ -118,12 +118,16 @@ static void Main(string[] args) //Try to unzip the project form the zip file and metadata file try { + // Do UnzipProject(zipFilePath, outputDirectory, jsonFilePath); + + // Log Message("Unzipping completed successfully!", EventType.Information, 1000); Console.WriteLine("Unzipping completed successfully."); } catch (Exception ex) { + // Log Message($"An error occurred: {ex.Message}", EventType.Error, 1001); Console.WriteLine($"An error occurred: {ex.Message}"); } @@ -141,8 +145,10 @@ private static void UnzipProject(string zipFilePath, string outputDirectory, str { foreach (var item in items) { + // Get the destination path string destinationPath = Path.GetFullPath(Path.Combine(outputDirectory, item.Path.TrimStart('/'))); + // Check if the item is a folder or a file if (item.GitObjectType == "tree") { // If folder data @@ -161,6 +167,7 @@ private static void UnzipProject(string zipFilePath, string outputDirectory, str } catch (UnauthorizedAccessException) { + // Log Message("! Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location.", EventType.Error, 1001); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location."); @@ -174,9 +181,6 @@ private static void UnzipProject(string zipFilePath, string outputDirectory, str Console.WriteLine("{0} Exception caught.", e); Console.ResetColor(); } - - //Directory.CreateDirectory(destinationPath); - //Console.WriteLine($"> Created folder: '{destinationPath}'"); } else if (item.GitObjectType == "blob") { @@ -184,7 +188,10 @@ private static void UnzipProject(string zipFilePath, string outputDirectory, str Console.WriteLine($"Unzipping Git repository file data on disk: '{destinationPath}'"); Message($"Unzipping Git repository file data on disk: '{destinationPath}'", EventType.Information, 1000); + // Extract the file var entry = archive.GetEntry(item.ObjectId); + + // Check if the entry is not null if (entry != null) { try @@ -199,6 +206,7 @@ private static void UnzipProject(string zipFilePath, string outputDirectory, str } catch (UnauthorizedAccessException) { + // Log Message("! Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location.", EventType.Error, 1001); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Unable to create folder to store the backups: '" + destinationPath + "'. Make sure the account you use to run this tool has write rights to this location."); @@ -213,6 +221,7 @@ private static void UnzipProject(string zipFilePath, string outputDirectory, str Console.ResetColor(); } } + // If the entry is null else { Console.WriteLine($"Entry with ObjectId '{item.ObjectId}' not found in the zip archive."); From f0300ad13cad8f6e1d7af882235dd943d010b6db Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 22:08:18 +0200 Subject: [PATCH 03/34] Add readme information about unzip tool --- README.md | 56 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d70fc3f..b24d32c 100644 --- a/README.md +++ b/README.md @@ -42,24 +42,28 @@ We can download a repository from Azure DevOps as a Zip file, but this may not b Outline the file contents of the repository. It helps users navigate the codebase, build configuration and any related assets. -| File/folder | Description | -|--------------------|---------------------------------------------| -| `AzureDevOpsBackup`| Source code. | -| `docs` | Documents/pictures. | -| `.gitignore` | Define what to ignore at commit time. | -| `CHANGELOG.md` | List of changes to the sample. | -| `CONTRIBUTING.md` | Guidelines for contributing to the AzureDevOpsBackupTool.| -| `README.md` | This README file. | -| `SECURITY.md` | Security file. | -| `LICENSE` | The license for the AzureDevOpsBackupTool. | +| File/folder | Description | +|------------------------------|---------------------------------------------| +| `AdvancedInstaller` | Code for installer project | +| `AzureDevOpsBackup` | Source code for the main backup tool itself.| +| `AzureDevOpsBackupUnzipTool` | Source code for the unzip tool itself. | +| `docs` | Documents/pictures. | +| `.gitignore` | Define what to ignore at commit time. | +| `CHANGELOG.md` | List of changes to the sample. | +| `CONTRIBUTING.md` | Guidelines for contributing to the AzureDevOpsBackupTool.| +| `README.md` | This README file. | +| `SECURITY.md` | Security file. | +| `LICENSE` | The license for the AzureDevOpsBackupTool. | ## Features -### Overall: +### AzureDevOpsBackup: + +#### Overall: - Asynchronous Resolution: Utilizes asynchronous processing for improved performance and responsiveness, allowing users to continue working while backups are being created. - Simplicity and Ease of Use: Provides a straightforward and user-friendly method for creating backups from Azure DevOps repositories. -### List: +#### List: - Backup Functionality: - Repository backup: Enables users to create local backups of Azure DevOps repositories. - Customizable backup Options: Offers various command-line options to tailor the backup process, including specifying backup directories, token authentication, cleanup, backup retention period, and more. @@ -75,6 +79,12 @@ Outline the file contents of the repository. It helps users navigate the codebas - Logging: - Job logging: Stores logs for backup jobs in a designated folder (.\Log) for a defined period (default: 30 days) beside the **AzureDevOpsBackup.exe** executable. +### AzureDevOpsBackup unzip tool: + +#### Overall: +- Unzip Functionality: Allows users to extract ZIP files and JSON metadata into a directory structure, renaming GUIDs to file or folder names for a specific repository backup. +- Simplicity and Ease of Use: Provides a straightforward and user-friendly method for unzipping repository backups from Azure DevOps .zip files. + ## Download [Download the latest version](../../releases/latest) @@ -116,7 +126,9 @@ Note we are also saving the original JSON item list we got from the repository c ## Usage -Paramenters: +### AzureDevOpsBackup: + +**Paramenters:** Backup: - --token @@ -153,6 +165,19 @@ It looks at the backup folder, and see when last changed. If the days matches th If the **--simpelreportlayout** argument is present, the program will use the old email report layout, else it will use the new default. +### AzureDevOpsBackup unzip tool: + +**Paramenters:** + +Unzip from metadata: +- --zipFile: Name of the .zip folder to rename GUID´s to file or folders +- --jsonFile: Name of the .json file with the metadata in to rename GUID´s to files and folders +- --output: Folder to unzip data into + +General: +- --help, /h or /?: Show the help menu +- --info or /about: Show the about menu + ## Logs Logs for backup jobs is keept in the **.\Log** folder for **30 days** beside **AzureDevOpsBackup.exe**. @@ -167,10 +192,15 @@ There is send an email report to the specified email address when the backup is Check out the examples here: +### AzureDevOpsBackup + `.\AzureDevOpsBackup.exe --token "xxxx..." --org "AzureDevOpsOrgName" --backup "D:\Backup data\Azure DevOps" --server "orgdomain-cloud.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@orgdomain.cloud" --to "AZ-DL-AzureDevOpsBackupReports@orgdomain.cloud" --unzip --cleanup --daystokeepbackup 50` `.\AzureDevOpsBackup.exe --token "token.bin" --org "AzureDevOpsOrgName" --backup "D:\Backup data\Azure DevOps" --server "orgdomain-cloud.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@orgdomain.cloud" --to "AZ-DL-AzureDevOpsBackupReports@orgdomain.cloud" --unzip --cleanup --daystokeepbackup 50 --simpelreportlayout --priority high` +### AzureDevOpsBackup unzip tool +`.\AzureDevOpsBackupUnzipTool.exe --zipFile "C:\Temp\Test\master_blob.zip" --output "C:\Temp\Test\Test" --jsonFile "C:\Temp\Test\tree.json"` + # Console use: **Help menu:** From abc82d4cd22a16424fced3365b3d3054d66893a1 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 22:11:45 +0200 Subject: [PATCH 04/34] Add ref. to unzip tool for main project --- AzureDevOpsBackup/AzureDevOpsBackup.csproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/AzureDevOpsBackup/AzureDevOpsBackup.csproj b/AzureDevOpsBackup/AzureDevOpsBackup.csproj index 17b2533..0d28333 100644 --- a/AzureDevOpsBackup/AzureDevOpsBackup.csproj +++ b/AzureDevOpsBackup/AzureDevOpsBackup.csproj @@ -156,6 +156,12 @@ + + + {050b25b3-9a27-44c2-a793-59357cfbcdc3} + AzureDevOpsBackupUnzipTool + + if $(ConfigurationName) == Release ( From 4edd4aed75b5bb85dd060e9f87a48ed71f445b76 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 22:12:44 +0200 Subject: [PATCH 05/34] Dump v. to a hole new revision --- AzureDevOpsBackup/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AzureDevOpsBackup/Properties/AssemblyInfo.cs b/AzureDevOpsBackup/Properties/AssemblyInfo.cs index 2f20688..cb4536f 100644 --- a/AzureDevOpsBackup/Properties/AssemblyInfo.cs +++ b/AzureDevOpsBackup/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.6.0")] -[assembly: AssemblyFileVersion("1.0.6.0")] +[assembly: AssemblyVersion("1.1.0.0")] +[assembly: AssemblyFileVersion("1.1.0.0")] From 7432c494508c9b6d604fe6737166e2f0d3c02260 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 22:20:14 +0200 Subject: [PATCH 06/34] Add unzip tool to installer --- AdvancedInstaller/AzureDevOpsBackup Installer.aip | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/AdvancedInstaller/AzureDevOpsBackup Installer.aip b/AdvancedInstaller/AzureDevOpsBackup Installer.aip index 27fc781..3450897 100644 --- a/AdvancedInstaller/AzureDevOpsBackup Installer.aip +++ b/AdvancedInstaller/AzureDevOpsBackup Installer.aip @@ -4,6 +4,7 @@ + @@ -17,6 +18,7 @@ + @@ -39,7 +41,7 @@ - + @@ -63,7 +65,7 @@ - + @@ -86,9 +88,11 @@ + + @@ -317,5 +321,6 @@ + From d2cf85efb8ac690861c2f23ded6d9164f530d584 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 22:26:36 +0200 Subject: [PATCH 07/34] Reorder isntaller path --- .../AzureDevOpsBackup Installer.aip | 61 ++++++++++++------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/AdvancedInstaller/AzureDevOpsBackup Installer.aip b/AdvancedInstaller/AzureDevOpsBackup Installer.aip index 3450897..1383305 100644 --- a/AdvancedInstaller/AzureDevOpsBackup Installer.aip +++ b/AdvancedInstaller/AzureDevOpsBackup Installer.aip @@ -57,15 +57,23 @@ - + + + + + + + + + + - - - + + @@ -74,21 +82,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -122,7 +130,7 @@ - + @@ -255,8 +263,17 @@ - - + + + + + + + + + + + From 942a073d296721954e169afa757f08d500cbae4f Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Thu, 8 Aug 2024 22:32:34 +0200 Subject: [PATCH 08/34] Update changelog for upcomming cahnges to major update --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0750086..26ed46c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,17 @@ +## [1.1.0.0] - xx-xx-2024 + +Major update with new features and bug fixes + +### Added +- Added new tool (**AzureDevOpsBackupUnzipTool**) to unzip backups from .zip files based on the backup folder with the metadata files so the backups can be restored for a single project to save disk space if you only need to restore a single project and not want to unzip the whole backup. + +### Changed +- Changed default install folder name (reflects only the installer) + +### Fixed +- + ## [1.0.6.0] - 08-08-2024 ### Changed From f6a69682b945f5c20cae640de44fc0b060e130bd Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Fri, 9 Aug 2024 22:39:03 +0200 Subject: [PATCH 09/34] Update readme with Task scheduler setup for AzureDevOpsBackup.exe --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index b24d32c..186f9e4 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,29 @@ General: - --help, /h or /?: Show the help menu - --info or /about: Show the about menu +## Task scheduler (Windows) + +The AzureDevOpsBackup.exe tool can be run via Task Scheduler in Windows. This way, you can schedule the backup to run at specific intervals, ensuring that your Azure DevOps repositories are backed up regularly. + +The setup for that to work (via my testing and useing over long time) is to create a new task in Task Scheduler with the following settings: + +- **General:** + - **Name**: Azure DevOps Backup or similar + - **Description**: Backup of Azure DevOps repositories or similar + - **User account**: Select a user account with the necessary permissions to run the backup job and to wite to the application path (for logs) + - **Security options**: Run whether user is logged on or not + - **Security options**: Run with highest privileges + - **Trigger**: Set the desired schedule for the backup job (e.g., daily, weekly, etc.) + - **Action**: Start a program + - **Program/script**: Path to the AzureDevOpsBackup.exe executable + - **Add arguments**: Add the necessary command-line arguments for the backup job + - **Start in**: Path to the folder containing the AzureDevOpsBackup.exe executable + + **Sample**: + - **Program/script**: `D:\AzureDevOpsBackup\AzureDevOpsBackup.exe` + - **Add arguments**: `--token "xxxxxx" --org "YourOrg" --backup "D:\Backup\Azure DevOps" --server "domain-com.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@domain.com" --to "AZ-DL-AzureDevOpsBackupReports@domain.com" --unzip --cleanup --daystokeepbackup 180` + - **Start in**: `D:\AzureDevOpsBackup` + ## Logs Logs for backup jobs is keept in the **.\Log** folder for **30 days** beside **AzureDevOpsBackup.exe**. From 5414573fbe9cd062b2da597c38af38581930454a Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Fri, 9 Aug 2024 23:11:41 +0200 Subject: [PATCH 10/34] Set new log file location --- AzureDevOpsBackupUnzipTool/Class/Files.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/AzureDevOpsBackupUnzipTool/Class/Files.cs b/AzureDevOpsBackupUnzipTool/Class/Files.cs index e6ba6d6..a741279 100644 --- a/AzureDevOpsBackupUnzipTool/Class/Files.cs +++ b/AzureDevOpsBackupUnzipTool/Class/Files.cs @@ -1,7 +1,4 @@ -using System; -using System.IO; -using System.Linq; -using System.Threading; +using System.IO; namespace AzureDevOpsBackupUnzipTool.Class { @@ -12,7 +9,7 @@ public static string LogFilePath get { // Root folder for log files - var logfilePathvar = ProgramDataFilePath + @"\Log"; + var logfilePathvar = ProgramDataFilePath + @"\Log\Unzip tool"; return logfilePathvar; } } From c59035a1fb44bd0ee3076156999cb37ffa372b0d Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Fri, 9 Aug 2024 23:12:17 +0200 Subject: [PATCH 11/34] Small typo and add logfile cleanup code --- .../AzureDevOpsBackupUnzipTool.csproj | 2 + AzureDevOpsBackupUnzipTool/Class/Globals.cs | 2 + .../Class/LocalFolderTasks.cs | 72 +++++++++++++++++ .../Class/LocalLogCleanup.cs | 80 +++++++++++++++++++ AzureDevOpsBackupUnzipTool/Program.cs | 15 +++- 5 files changed, 168 insertions(+), 3 deletions(-) create mode 100644 AzureDevOpsBackupUnzipTool/Class/LocalFolderTasks.cs create mode 100644 AzureDevOpsBackupUnzipTool/Class/LocalLogCleanup.cs diff --git a/AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj b/AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj index 6e860bb..4badd42 100644 --- a/AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj +++ b/AzureDevOpsBackupUnzipTool/AzureDevOpsBackupUnzipTool.csproj @@ -61,6 +61,8 @@ + + diff --git a/AzureDevOpsBackupUnzipTool/Class/Globals.cs b/AzureDevOpsBackupUnzipTool/Class/Globals.cs index 30e8bba..00f0b42 100644 --- a/AzureDevOpsBackupUnzipTool/Class/Globals.cs +++ b/AzureDevOpsBackupUnzipTool/Class/Globals.cs @@ -7,5 +7,7 @@ public static class Globals public static string _copyrightData; public static string _vData; public static string AppName; + public static bool _oldLogfilesToDelete; + public static int _oldLogFilesToDeleteCount; } } \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Class/LocalFolderTasks.cs b/AzureDevOpsBackupUnzipTool/Class/LocalFolderTasks.cs new file mode 100644 index 0000000..5a50d8d --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Class/LocalFolderTasks.cs @@ -0,0 +1,72 @@ +using System; +using System.IO; +using System.Linq; +using static AzureDevOpsBackupUnzipTool.Class.FileLogger; + +namespace AzureDevOpsBackupUnzipTool.Class +{ + internal class LocalFolderTasks + { + public static void DeleteDirectory(string path) + { + foreach (string directory in Directory.GetDirectories(path)) + { + DeleteDirectory(directory); + } + try + { + Directory.Delete(path, true); + } + catch (IOException) + { + Directory.Delete(path, true); + } + catch (UnauthorizedAccessException) + { + Directory.Delete(path, true); + } + } + + public static void CreateLogFolder() + { + // If logfile path not exist, create it + if (!Directory.Exists(Files.LogFilePath)) + { + try + { + // Create log folder if not exist + Directory.CreateDirectory(Files.LogFilePath); + + // Log + Message("Log folder is created: '" + Files.LogFilePath + "'", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("Log folder is created: '" + Files.LogFilePath + "'"); + Console.ResetColor(); + } + catch (UnauthorizedAccessException) + { + // Log + Message("! Unable to create folder to store the logs: '" + Files.LogFilePath + "'. Make sure the account you use to run this tool has write rights to this location.", EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("Unable to create folder to store the logs: '" + Files.LogFilePath + "'. Make sure the account you use to run this tool has write rights to this location."); + Console.ResetColor(); + } + catch (Exception e) + { + // Error when create logs folder + Message("Exception caught when trying to create logs folder - error: " + e, EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("{0} Exception caught.", e); + Console.ResetColor(); + } + } + } + + // Function to sanitize directory name + public static string SanitizeDirectoryName(string directoryName) + { + // Remove any potentially dangerous characters from the directory name + return Path.GetInvalidPathChars().Aggregate(directoryName, (current, c) => current.Replace(c.ToString(), string.Empty)); + } + } +} \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Class/LocalLogCleanup.cs b/AzureDevOpsBackupUnzipTool/Class/LocalLogCleanup.cs new file mode 100644 index 0000000..c5a237e --- /dev/null +++ b/AzureDevOpsBackupUnzipTool/Class/LocalLogCleanup.cs @@ -0,0 +1,80 @@ +using System; +using System.IO; +using static AzureDevOpsBackupUnzipTool.Class.FileLogger; + +namespace AzureDevOpsBackupUnzipTool.Class +{ + internal class LocalLogCleanup + { + public static void CleanupLogs() + { + // Cleanup old log files + string[] oldfiles = Directory.GetFiles(Files.LogFilePath); + + // Log + Message("Checking for old log file(s) to cleanup...", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine("Checking for old log file(s) to cleanup..."); + Console.ResetColor(); + + // Loop all files in folder + foreach (string file in oldfiles) + { + FileInfo fi = new FileInfo(file); + + // Get all last access time back in time + if (fi.LastAccessTime < DateTime.Now.AddDays(-30)) + { + try + { + // Do work + fi.Delete(); + + // Log + Message("> Deleted old log file: '" + fi + "'", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine("Deleted old log file: '" + fi + "'"); + Console.ResetColor(); + + // Set status + Globals._oldLogfilesToDelete = true; + Globals._oldLogFilesToDeleteCount++; + } + catch (UnauthorizedAccessException) + { + Message("! Unable to delete old log file: '" + fi + "'. Make sure the account you use to run this tool has delete rights to this location.", EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("Unable to delete old log file: '" + fi + "'. Make sure the account you use to run this tool has delete rights to this location."); + Console.ResetColor(); + } + catch (Exception ex) + { + // Log + Message("Sorry, we are unable to delete old log file: '" + fi + "' - Error: " + ex, EventType.Error, 1001); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("Sorry, we are unable to delete old log file: '" + fi + "' - Error: " + ex); + Console.ResetColor(); + } + } + } + + // Check if there is old log files to delete + if (Globals._oldLogfilesToDelete) + { + // Log + Message($"There was '{Globals._oldLogFilesToDeleteCount}' old log files to delete (-30 days)", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine($"There was '{Globals._oldLogFilesToDeleteCount}' old log files to delete (-30 days)"); + Console.ResetColor(); + } + else + { + // Log + Message("No old log files to delete (-30 days)", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("No old log files to delete (-30 days)"); + Console.ResetColor(); + } + } + } +} \ No newline at end of file diff --git a/AzureDevOpsBackupUnzipTool/Program.cs b/AzureDevOpsBackupUnzipTool/Program.cs index 763a3a7..9c44dee 100644 --- a/AzureDevOpsBackupUnzipTool/Program.cs +++ b/AzureDevOpsBackupUnzipTool/Program.cs @@ -28,8 +28,15 @@ class Program { static void Main(string[] args) { + // Get application information ApplicationInfo.GetExeInfo(); + // Create log folder if not exist + LocalFolderTasks.CreateLogFolder(); + + // Cleanup old log files + LocalLogCleanup.CleanupLogs(); + // Check if parameters have been provided and contains one of if (args.Length == 0 || args.Contains("--help") || args.Contains("/h") || args.Contains("/?") || args.Contains("/info") || args.Contains("/about")) { @@ -123,7 +130,9 @@ static void Main(string[] args) // Log Message("Unzipping completed successfully!", EventType.Information, 1000); - Console.WriteLine("Unzipping completed successfully."); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("\n> Unzipping completed successfully!\n"); + Console.ResetColor(); } catch (Exception ex) { @@ -185,8 +194,8 @@ private static void UnzipProject(string zipFilePath, string outputDirectory, str else if (item.GitObjectType == "blob") { // If file data - Console.WriteLine($"Unzipping Git repository file data on disk: '{destinationPath}'"); - Message($"Unzipping Git repository file data on disk: '{destinationPath}'", EventType.Information, 1000); + Console.WriteLine($"Unzipping Git repository file data on disk: '{destinationPath}'..."); + Message($"Unzipping Git repository file data on disk: '{destinationPath}'...", EventType.Information, 1000); // Extract the file var entry = archive.GetEntry(item.ObjectId); From 5ad41063a65d8faf3e063904d2ef0cf5e8bb010e Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Fri, 9 Aug 2024 23:15:42 +0200 Subject: [PATCH 12/34] Update changelog data --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26ed46c..1cda94d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,12 @@ Major update with new features and bug fixes ### Added -- Added new tool (**AzureDevOpsBackupUnzipTool**) to unzip backups from .zip files based on the backup folder with the metadata files so the backups can be restored for a single project to save disk space if you only need to restore a single project and not want to unzip the whole backup. +- Added a hole new tool (**AzureDevOpsBackupUnzipTool**) to unzip backups from .zip files based on the backup folder with the metadata files so the backups can be restored for a single project to save disk space if you only need to restore a single project and not want to unzip the whole backup. +- ### Changed - Changed default install folder name (reflects only the installer) +- Changed logfile location in the **.\Log folder** - now in a subfolder the the 2 tools ### Fixed - From b7ab5fd51ed8a20860a61fbd57cde93f908114d5 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Fri, 9 Aug 2024 23:16:54 +0200 Subject: [PATCH 13/34] Change log location --- AzureDevOpsBackup/Class/Files.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AzureDevOpsBackup/Class/Files.cs b/AzureDevOpsBackup/Class/Files.cs index 9559e36..1622e1b 100644 --- a/AzureDevOpsBackup/Class/Files.cs +++ b/AzureDevOpsBackup/Class/Files.cs @@ -13,7 +13,7 @@ public static string LogFilePath get { // Root folder for log files - var logfilePathvar = ProgramDataFilePath + @"\Log"; + var logfilePathvar = ProgramDataFilePath + @"\Log\Backups"; return logfilePathvar; } } From d579c3863c897c7b787f2fc7fd7a048787578328 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 00:30:32 +0200 Subject: [PATCH 14/34] Add option to not attatch logfile in email report - argument --noattatchlog --- AzureDevOpsBackup/Class/Globals.cs | 1 + AzureDevOpsBackup/Class/ReportSender.cs | 156 +++++++++++++----------- AzureDevOpsBackup/Program.cs | 4 +- CHANGELOG.md | 8 +- README.md | 1 + 5 files changed, 98 insertions(+), 72 deletions(-) diff --git a/AzureDevOpsBackup/Class/Globals.cs b/AzureDevOpsBackup/Class/Globals.cs index 84576b1..650a432 100644 --- a/AzureDevOpsBackup/Class/Globals.cs +++ b/AzureDevOpsBackup/Class/Globals.cs @@ -46,5 +46,6 @@ public static class Globals public static int _repoItemsCount; public static int _repoCount; public static string _emailStatusMessage; + public static bool _noAttatchLog; } } \ No newline at end of file diff --git a/AzureDevOpsBackup/Class/ReportSender.cs b/AzureDevOpsBackup/Class/ReportSender.cs index d08e561..7502226 100644 --- a/AzureDevOpsBackup/Class/ReportSender.cs +++ b/AzureDevOpsBackup/Class/ReportSender.cs @@ -17,7 +17,7 @@ public static void SendEmail(string serverAddress, string serverPort, string ema int totalFilesIsDeletedAfterUnZipped, int totalBackupsIsDeleted, string daysToKeep, string repoCountStatusText, string repoItemsCountStatusText, string totalFilesIsBackupUnZippedStatusText, string totalBlobFilesIsBackupStatusText, string totalTreeFilesIsBackupStatusText, string totalFilesIsDeletedAfterUnZippedStatusText, string letOverZipFilesStatusText, string letOverJsonFilesStatusText, string totalBackupsIsDeletedStatusText, - bool useSimpleMailReportLayout, string isOutputFolderContainFilesStatusText, string isDaysToKeepNotDefaultStatusText, string startTime, string endTime, bool deletedFilesAfterUnzip, + bool useSimpleMailReportLayout, bool noAttatchLog, string isOutputFolderContainFilesStatusText, string isDaysToKeepNotDefaultStatusText, string startTime, string endTime, bool deletedFilesAfterUnzip, bool checkForLeftoverFilesAfterCleanup) { var serverPortStr = serverPort; @@ -162,88 +162,108 @@ public static void SendEmail(string serverAddress, string serverPort, string ema Console.WriteLine("Created email report and parsed data"); Console.ResetColor(); - // Get all the files in the log dir for today + // Check if we should attach the logfile to the email report or not + if (noAttatchLog) + { + // Log + Message("No logfile attached to email report!", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine("No logfile attached to email report!"); + Console.ResetColor(); + } + else + { + // Get all the files in the log dir for today - // Log - Message("Finding logfile for today to attach in email report...", EventType.Information, 1000); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("Finding logfile for today to attach in email report..."); - Console.ResetColor(); + // Log + Message("Finding logfile for today to attach in email report...", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine("Finding logfile for today to attach in email report..."); + Console.ResetColor(); - // Get filename to find - var filePaths = Directory.GetFiles(Files.LogFilePath, $"{Globals.AppName} Log " + DateTime.Today.ToString("dd-MM-yyyy") + "*.*"); + // Get filename to find + var filePaths = Directory.GetFiles(Files.LogFilePath, + $"{Globals.AppName} Log " + DateTime.Today.ToString("dd-MM-yyyy") + "*.*"); - // Get the files that their extension are .log or .txt - var files = filePaths.Where(filePath => Path.GetExtension(filePath).Contains(".log") || Path.GetExtension(filePath).Contains(".txt")); + // Get the files that their extension are .log or .txt + var files = filePaths.Where(filePath => + Path.GetExtension(filePath).Contains(".log") || Path.GetExtension(filePath).Contains(".txt")); - // Loop through the files enumeration and attach each file in the mail. - foreach (var file in files) - { - Globals._fileAttachedIneMailReport = file; + // Loop through the files enumeration and attach each file in the mail. + foreach (var file in files) + { + Globals._fileAttachedIneMailReport = file; - // Log - Message("Found logfile for today:", EventType.Information, 1000); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine("Found logfile for today:"); - Console.ResetColor(); + // Log + Message("Found logfile for today:", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Green; + Console.WriteLine("Found logfile for today:"); + Console.ResetColor(); - // Full file name - var fileName = Globals._fileAttachedIneMailReport; - var fi = new FileInfo(fileName); + // Full file name + var fileName = Globals._fileAttachedIneMailReport; + var fi = new FileInfo(fileName); - // Get File Name - var justFileName = fi.Name; - Console.WriteLine("File name: " + justFileName); - Message("File name: " + justFileName, EventType.Information, 1000); + // Get File Name + var justFileName = fi.Name; + Console.WriteLine("File name: " + justFileName); + Message("File name: " + justFileName, EventType.Information, 1000); - // Get file name with full path - var fullFileName = fi.FullName; - Console.WriteLine("Full file name: " + fullFileName); - Message("Full file name: " + fullFileName, EventType.Information, 1000); + // Get file name with full path + var fullFileName = fi.FullName; + Console.WriteLine("Full file name: " + fullFileName); + Message("Full file name: " + fullFileName, EventType.Information, 1000); - // Get file extension - var extn = fi.Extension; - Console.WriteLine("File Extension: " + extn); - Message("File Extension: " + extn, EventType.Information, 1000); + // Get file extension + var extn = fi.Extension; + Console.WriteLine("File Extension: " + extn); + Message("File Extension: " + extn, EventType.Information, 1000); - // Get directory name - var directoryName = fi.DirectoryName; - Console.WriteLine("Directory name: " + directoryName); - Message("Directory name: " + directoryName, EventType.Information, 1000); + // Get directory name + var directoryName = fi.DirectoryName; + Console.WriteLine("Directory name: " + directoryName); + Message("Directory name: " + directoryName, EventType.Information, 1000); - // File Exists ? - var exists = fi.Exists; - Console.WriteLine("File exists: " + exists); - Message("File exists: " + exists, EventType.Information, 1000); - if (fi.Exists) - { - // Get file size - var size = fi.Length; - Console.WriteLine("File Size in Bytes: " + size); - Message("File Size in Bytes: " + size, EventType.Information, 1000); + // File Exists ? + var exists = fi.Exists; + Console.WriteLine("File exists: " + exists); + Message("File exists: " + exists, EventType.Information, 1000); + if (fi.Exists) + { + // Get file size + var size = fi.Length; + Console.WriteLine("File Size in Bytes: " + size); + Message("File Size in Bytes: " + size, EventType.Information, 1000); - // File ReadOnly ? - var isReadOnly = fi.IsReadOnly; - Console.WriteLine("Is ReadOnly: " + isReadOnly); - Message("Is ReadOnly: " + isReadOnly, EventType.Information, 1000); + // File ReadOnly ? + var isReadOnly = fi.IsReadOnly; + Console.WriteLine("Is ReadOnly: " + isReadOnly); + Message("Is ReadOnly: " + isReadOnly, EventType.Information, 1000); - // Creation, last access, and last write time - var creationTime = fi.CreationTime; - Console.WriteLine("Creation time: " + creationTime); - Message("Creation time: " + creationTime, EventType.Information, 1000); - var accessTime = fi.LastAccessTime; - Console.WriteLine("Last access time: " + accessTime); - Message("Last access time: " + accessTime, EventType.Information, 1000); - var updatedTime = fi.LastWriteTime; - Console.WriteLine("Last write time: " + updatedTime + "\n"); - Message("Last write time: " + updatedTime, EventType.Information, 1000); - } + // Creation, last access, and last write time + var creationTime = fi.CreationTime; + Console.WriteLine("Creation time: " + creationTime); + Message("Creation time: " + creationTime, EventType.Information, 1000); + var accessTime = fi.LastAccessTime; + Console.WriteLine("Last access time: " + accessTime); + Message("Last access time: " + accessTime, EventType.Information, 1000); + var updatedTime = fi.LastWriteTime; + Console.WriteLine("Last write time: " + updatedTime + "\n"); + Message("Last write time: " + updatedTime, EventType.Information, 1000); + } - // TODO Do not add more to logfile here - file is locked! - var attachment = new Attachment(file); + // TODO Do not add more to logfile here - file is locked! + var attachment = new Attachment(file); - // Attach file to email - message.Attachments.Add(attachment); + // Attach file to email + message.Attachments.Add(attachment); + } + + // Log + Message("Logfile attached to email report!", EventType.Information, 1000); + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine("Logfile attached to email report!"); + Console.ResetColor(); } //Try to send email status email diff --git a/AzureDevOpsBackup/Program.cs b/AzureDevOpsBackup/Program.cs index 327a1d3..919b154 100644 --- a/AzureDevOpsBackup/Program.cs +++ b/AzureDevOpsBackup/Program.cs @@ -1667,6 +1667,8 @@ private static async Task Main(string[] args) // If args is set to old mail report layout var useSimpleMailReportLayout = Array.Exists(args, argument => argument == "--simpelreport"); + var noAttatchLog = Array.Exists(args, argument => argument == "--noattatchlog"); + // Send status email and parse data to function ReportSender.SendEmail(server, serverPort, emailFrom, emailTo, Globals._emailStatusMessage, repocountelements, repoitemscountelements, Globals._repoCount, Globals._repoItemsCount, Globals._totalFilesIsBackupUnZipped, Globals._totalBlobFilesIsBackup, @@ -1674,7 +1676,7 @@ private static async Task Main(string[] args) Globals._totalBackupsIsDeleted, daysToKeepBackups, Globals._repoCountStatusText, Globals._repoItemsCountStatusText, Globals._totalFilesIsBackupUnZippedStatusText, Globals._totalBlobFilesIsBackupStatusText, Globals._totalTreeFilesIsBackupStatusText, Globals._totalFilesIsDeletedAfterUnZippedStatusText, Globals._letOverZipFilesStatusText, Globals._letOverJsonFilesStatusText, - Globals._totalBackupsIsDeletedStatusText, useSimpleMailReportLayout, Globals._isOutputFolderContainFilesStatusText, + Globals._totalBackupsIsDeletedStatusText, useSimpleMailReportLayout, noAttatchLog, Globals._isOutputFolderContainFilesStatusText, Globals._isDaysToKeepNotDefaultStatusText, Globals._startTime, Globals._endTime, Globals._deletedFilesAfterUnzip, Globals._checkForLeftoverFilesAfterCleanup); #endregion Status mail data collecting diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cda94d..34a8aee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,14 @@ Major update with new features and bug fixes ### Added - Added a hole new tool (**AzureDevOpsBackupUnzipTool**) to unzip backups from .zip files based on the backup folder with the metadata files so the backups can be restored for a single project to save disk space if you only need to restore a single project and not want to unzip the whole backup. -- +- An option to not attach the logfile to the email report with argument: '**--noattatchlog**' ### Changed - Changed default install folder name (reflects only the installer) -- Changed logfile location in the **.\Log folder** - now in a subfolder the the 2 tools - +- Changed logfile location in the **'.\Log'** folder - now in a subfolder the the 2 tools: + - **AzureDevOpsBackupTool.exe**: **'.\Logs\Backup'** + - **AzureDevOpsBackupUnzipTool.exe**: **'.\Logs\Unzip tool'** + ### Fixed - diff --git a/README.md b/README.md index 186f9e4..8c8af70 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ Backup: - --daystokeepbackup: Set the number of days to retain backup files before automatic removal (default is 30 days if not specified). - --simpelreportlayout: Use this option to use the old email report layout. - --priority : Specify the email priority for notifications (e.g., high, normal, low). Default (normal) if not set. +- --noattatchlog: Use this option to not attatch the log file to the email report. General: - --help, /h or /?: Show the help menu From 3b573d4c324a0faea132b07538049b8609018d5c Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 00:37:26 +0200 Subject: [PATCH 15/34] Add code comments to globals --- AzureDevOpsBackup/Class/Globals.cs | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/AzureDevOpsBackup/Class/Globals.cs b/AzureDevOpsBackup/Class/Globals.cs index 650a432..7966986 100644 --- a/AzureDevOpsBackup/Class/Globals.cs +++ b/AzureDevOpsBackup/Class/Globals.cs @@ -4,30 +4,30 @@ namespace AzureDevOpsBackup.Class { public static class Globals { - public static string _currentExeFileName; - public static int _errors; - public static string _vData; - public static string _companyName; - public static string _orgName; - public static string _startTime; - public static string _endTime; - public static int _totalFilesIsDeletedAfterUnZipped; - public static int _numZip; - public static int _numJson; - public static bool _checkForLeftoverFilesAfterCleanup; - public static bool _deletedFilesAfterUnzip; - public static string AppName; - public static string _copyrightData; - public static int _totalBackupsIsDeleted; - public static string _fileAttachedIneMailReport; - public static MailPriority EmailPriority = MailPriority.Normal; - public static int _currentBackupsInBackupFolderCount; + public static string _currentExeFileName; // The name of the current executable file + public static int _errors; // The number of errors that have occurred + public static string _vData; // The version data of the current executable file + public static string _companyName; // The company name of the current executable file + public static string _orgName; // The organization name of Azure DevOps to backup + public static string _startTime; // The time the backup started + public static string _endTime; // The time the backup ended + public static int _totalFilesIsDeletedAfterUnZipped; // The total number of files deleted after unzipping + public static int _numZip; // The number of zip files + public static int _numJson; // The number of json files + public static bool _checkForLeftoverFilesAfterCleanup; // Check for leftover files after cleanup + public static bool _deletedFilesAfterUnzip; // Delete files after unzipping + public static string AppName; // The name of the application + public static string _copyrightData; // The copyright data of the application + public static int _totalBackupsIsDeleted; // The total number of backups deleted + public static string _fileAttachedIneMailReport; // The file attached in the email report (name) + public static MailPriority EmailPriority = MailPriority.Normal; // The priority of the email report (default is normal) + public static int _currentBackupsInBackupFolderCount; public static int _oldLogFilesToDeleteCount; public static bool _oldLogfilesToDelete; - public const string APIversion = "api-version=7.0"; // https://learn.microsoft.com/en-us/rest/api/azure/devops/ - public static string _backupFolder; - public static string _sanitizedbackupFolder; - public static string _dateOfToday; + public const string APIversion = "api-version=7.0"; // See more at: https://learn.microsoft.com/en-us/rest/api/azure/devops/ for information on API versions + public static string _backupFolder; // The folder to backup to (default is the current directory) + public static string _sanitizedbackupFolder; // The sanitized folder to backup to (default is the current directory) + public static string _dateOfToday; // The date of today public static string _repoCountStatusText; public static string _totalFilesIsBackupUnZippedStatusText; public static string _totalBlobFilesIsBackupStatusText; @@ -39,13 +39,13 @@ public static class Globals public static string _isOutputFolderContainFilesStatusText; public static string _repoItemsCountStatusText; public static string _isDaysToKeepNotDefaultStatusText; - public static int _projectCount; - public static int _totalFilesIsBackupUnZipped; - public static int _totalBlobFilesIsBackup; - public static int _totalTreeFilesIsBackup; - public static int _repoItemsCount; - public static int _repoCount; - public static string _emailStatusMessage; - public static bool _noAttatchLog; + public static int _projectCount; // The number of projects in the organization to backup + public static int _totalFilesIsBackupUnZipped; // The total number of files in the backups unzipped + public static int _totalBlobFilesIsBackup; // The total number of blob files in the backups + public static int _totalTreeFilesIsBackup; // The total number of tree files in the backups + public static int _repoItemsCount; // The number of items in the repository + public static int _repoCount; // The number of repositories in the organization + public static string _emailStatusMessage; // The status message of the email + public static bool _noAttatchLog; // TODO } } \ No newline at end of file From 1a9c2795151fea3a90ce26f968898f2f61709c62 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 00:39:57 +0200 Subject: [PATCH 16/34] Typos in readme --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8c8af70..5d0ff2b 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ Note we are also saving the original JSON item list we got from the repository c **Paramenters:** -Backup: +**Backup**: - --token - token.bin: Use an encrypted .bin file (based on hardware ID´s) with your personal access token in. (Remember to run --tokenfile to create the file first beside the application .exe!) @@ -148,13 +148,14 @@ Backup: - --priority : Specify the email priority for notifications (e.g., high, normal, low). Default (normal) if not set. - --noattatchlog: Use this option to not attatch the log file to the email report. -General: +**General**: - --help, /h or /?: Show the help menu - --info or /about: Show the about menu +#### Mandatory arguments: Mandatory arguments is: **`--token, --org, --outdir, --server, --port, --from and --to`** -**A bit more information about some arguments:** +#### **A bit more information about some arguments:** If the **--unzip** argument is present, the program will create a directory for each repository based on the information provided by each Zip/JSON file pair. In this directory, we will get the original file and folder structure with real file names and extensions. Looping through all the items on the JSON list file, we consider a simple condition: if the item is a folder we create the directory according to the item.path property. Otherwise, we assume it’s a blob and we extract it from the Zip archive into the corresponding directory assigning the original file name and extension. From 232c4ab1f1d61bdf9218ae35153776a60998de8a Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 01:05:03 +0200 Subject: [PATCH 17/34] Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34a8aee..9adaf5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ Major update with new features and bug fixes - **AzureDevOpsBackupUnzipTool.exe**: **'.\Logs\Unzip tool'** ### Fixed -- +- A lot documentation and help text overall ## [1.0.6.0] - 08-08-2024 From 2b84ac90345ec87faab532e553936246f94df861 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:23:41 +0200 Subject: [PATCH 18/34] Small typos in readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5d0ff2b..2256a89 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ Outline the file contents of the repository. It helps users navigate the codebas ### AzureDevOpsBackup unzip tool: #### Overall: -- Unzip Functionality: Allows users to extract ZIP files and JSON metadata into a directory structure, renaming GUIDs to file or folder names for a specific repository backup. -- Simplicity and Ease of Use: Provides a straightforward and user-friendly method for unzipping repository backups from Azure DevOps .zip files. +- Unzip functionality: allows users to extract ZIP files and JSON metadata into a directory structure, renaming GUIDs to file or folder names for a specific repository backup. +- Simplicity and ease of use: Provides a straightforward and user-friendly method for unzipping repository backups from Azure DevOps .zip files. ## Download From 021333f1905a9f0abbaa61342d7f43b9b6e4667d Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:37:12 +0200 Subject: [PATCH 19/34] Added support to send email report to multiple recipients with argument: '**--to**' - separated by comma --- AzureDevOpsBackup/Class/ReportSender.cs | 17 ++++++++++++++++- CHANGELOG.md | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/AzureDevOpsBackup/Class/ReportSender.cs b/AzureDevOpsBackup/Class/ReportSender.cs index 7502226..e92d177 100644 --- a/AzureDevOpsBackup/Class/ReportSender.cs +++ b/AzureDevOpsBackup/Class/ReportSender.cs @@ -140,10 +140,25 @@ public static void SendEmail(string serverAddress, string serverPort, string ema } // Create mail - var message = new MailMessage(emailFrom, emailTo); + //var message = new MailMessage(emailFrom, emailTo); + + // Create mail + var message = new MailMessage(); + message.From = new MailAddress(emailFrom); + + // Split the emailTo string by commas and add each address to the To collection + var emailAddresses = emailTo.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + foreach (var address in emailAddresses) + { + message.To.Add(address.Trim()); + } + + // Set email subject message.Subject = "[" + emailStatusMessage + $"] - {Globals.AppName} status - (" + totalBlobFilesIsBackup + " Git projects backed up), " + errors + " issues(s) - (backups to keep (days): " + daysToKeep + ", backup(s) deleted: " + totalBackupsIsDeleted + ")"; + + // Set email body message.Body = mailBody; message.BodyEncoding = Encoding.UTF8; message.IsBodyHtml = true; diff --git a/CHANGELOG.md b/CHANGELOG.md index 9adaf5d..3c0c59a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Major update with new features and bug fixes ### Added - Added a hole new tool (**AzureDevOpsBackupUnzipTool**) to unzip backups from .zip files based on the backup folder with the metadata files so the backups can be restored for a single project to save disk space if you only need to restore a single project and not want to unzip the whole backup. - An option to not attach the logfile to the email report with argument: '**--noattatchlog**' +- Added support to send email report to multiple recipients with argument: '**--to**' - separated by comma ### Changed - Changed default install folder name (reflects only the installer) From aaa4a80483f2d596f64d8a34d68863dfce0338fb Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:39:37 +0200 Subject: [PATCH 20/34] Remove old unused code there is replaces with new --- AzureDevOpsBackup/Class/ReportSender.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/AzureDevOpsBackup/Class/ReportSender.cs b/AzureDevOpsBackup/Class/ReportSender.cs index e92d177..acf597b 100644 --- a/AzureDevOpsBackup/Class/ReportSender.cs +++ b/AzureDevOpsBackup/Class/ReportSender.cs @@ -139,9 +139,6 @@ public static void SendEmail(string serverAddress, string serverPort, string ema $"

From Your {Globals.AppName} tool!

" + Globals._copyrightData + ", v." + Globals._vData; } - // Create mail - //var message = new MailMessage(emailFrom, emailTo); - // Create mail var message = new MailMessage(); message.From = new MailAddress(emailFrom); From 139593d7dc572902f9107160225d43936a4c907f Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:43:21 +0200 Subject: [PATCH 21/34] Update changelog and typos for new tool and add a sample command --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c0c59a..42ab5ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ Major update with new features and bug fixes ### Added -- Added a hole new tool (**AzureDevOpsBackupUnzipTool**) to unzip backups from .zip files based on the backup folder with the metadata files so the backups can be restored for a single project to save disk space if you only need to restore a single project and not want to unzip the whole backup. +- Added a new tool (**AzureDevOpsBackupUnzipTool**) to the application, there let you unzip backups from .zip files based on the backup folder with the metadata files (.json), so the backups can be restored for a single project to save disk space vs unzipping all based on how many projects you have to backup, if you only need to restore a single project and not want to unzip the whole backup for all projects: + - Sample command: `.\AzureDevOpsBackupUnzipTool.exe --zipFile "C:\Temp\Test\master_blob.zip" --output "C:\Temp\Test\Test" --jsonFile "C:\Temp\Test\tree.json"` - An option to not attach the logfile to the email report with argument: '**--noattatchlog**' - Added support to send email report to multiple recipients with argument: '**--to**' - separated by comma From 0f5b147394460a43ddac07bfb99c7739a85fa383 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:47:32 +0200 Subject: [PATCH 22/34] Update readme with buy me a coffee for support --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2256a89..eb2aca5 100644 --- a/README.md +++ b/README.md @@ -279,6 +279,8 @@ Commercial support This project is open-source and I invite everybody who can and will to contribute, but I cannot provide any support because I only created this as a "hobby project" ofc. with tbe best in mind. For commercial support, please contact me on LinkedIn so we can discuss the possibilities. It’s my choice to work on this project in my spare time, so if you have commercial gain from this project you should considering sponsoring me. +Buy Me A Coffee + Thanks. Reach out to the maintainer at one of the following places: From f4c8ed618eff527773d96aa0290c65fcdc26ef41 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:50:09 +0200 Subject: [PATCH 23/34] Add buy me a coffee to readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index eb2aca5..a39b34e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@

- +
+ Buy Me A Coffee

From f2283b9b6a9fef5bfca406a50acb671aa14a41cc Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:53:03 +0200 Subject: [PATCH 24/34] Fix typo in help command for renamed argument --- AzureDevOpsBackup/Class/DisplayHelp.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AzureDevOpsBackup/Class/DisplayHelp.cs b/AzureDevOpsBackup/Class/DisplayHelp.cs index de037c6..e510d03 100644 --- a/AzureDevOpsBackup/Class/DisplayHelp.cs +++ b/AzureDevOpsBackup/Class/DisplayHelp.cs @@ -26,7 +26,7 @@ public static void DisplayGuide() Console.WriteLine("\t--server: IP address or DNS name of the SMTP server"); Console.WriteLine("\t--port: The port for the SMTP server"); Console.WriteLine("\t--from: The email address the report is send from"); - Console.WriteLine("\t--toemail: The email address the report is send to\n"); + Console.WriteLine("\t--to: The email address the report is send to\n"); Console.WriteLine(" Optional:"); Console.WriteLine("\t--tokenfile : Save a token to access the API in Azure DevOps to an encrypted token.bin file"); Console.WriteLine("\t\t\t (use this before using the '--token token.bin' argument!)"); From 5db2e4940e7230fc73bc1d7c6bbe01169f56e087 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 08:54:38 +0200 Subject: [PATCH 25/34] Add --noattatchlog to the display help --- AzureDevOpsBackup/Class/DisplayHelp.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/AzureDevOpsBackup/Class/DisplayHelp.cs b/AzureDevOpsBackup/Class/DisplayHelp.cs index e510d03..4340a28 100644 --- a/AzureDevOpsBackup/Class/DisplayHelp.cs +++ b/AzureDevOpsBackup/Class/DisplayHelp.cs @@ -37,6 +37,7 @@ public static void DisplayGuide() Console.WriteLine("\t--simpelreport: If set the email report layout there is send is simple, if not set it use the default"); Console.WriteLine("\t\t\t report layout"); Console.WriteLine("\t--priority: Set the email report priority to other then default (normal)"); + Console.WriteLine("\t--noattatchlog: Set the email report to not attach the logfile in the mail report send"); Console.WriteLine("\t high: Set the email report priority to 'high'"); Console.WriteLine("\t low: Set the email report priority to 'low'"); Console.WriteLine(); From 9c82c1e31995857be4d7c6238f4722fec16858b0 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 09:09:09 +0200 Subject: [PATCH 26/34] Add new argument to help and add new sample --- AzureDevOpsBackup/Class/DisplayHelp.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/AzureDevOpsBackup/Class/DisplayHelp.cs b/AzureDevOpsBackup/Class/DisplayHelp.cs index 4340a28..08b024f 100644 --- a/AzureDevOpsBackup/Class/DisplayHelp.cs +++ b/AzureDevOpsBackup/Class/DisplayHelp.cs @@ -26,7 +26,8 @@ public static void DisplayGuide() Console.WriteLine("\t--server: IP address or DNS name of the SMTP server"); Console.WriteLine("\t--port: The port for the SMTP server"); Console.WriteLine("\t--from: The email address the report is send from"); - Console.WriteLine("\t--to: The email address the report is send to\n"); + Console.WriteLine("\t--to: The email address the report is send to - support multiple recipients with"); + Console.WriteLine("\t\t\t argument separated by comma"); Console.WriteLine(" Optional:"); Console.WriteLine("\t--tokenfile : Save a token to access the API in Azure DevOps to an encrypted token.bin file"); Console.WriteLine("\t\t\t (use this before using the '--token token.bin' argument!)"); @@ -36,8 +37,8 @@ public static void DisplayGuide() Console.WriteLine("\t\t\t be deleted (default is 30 dayes) (optional)"); Console.WriteLine("\t--simpelreport: If set the email report layout there is send is simple, if not set it use the default"); Console.WriteLine("\t\t\t report layout"); + Console.WriteLine("\t--noattatchlog: Set the email report to not attach the logfile in the mail report sent"); Console.WriteLine("\t--priority: Set the email report priority to other then default (normal)"); - Console.WriteLine("\t--noattatchlog: Set the email report to not attach the logfile in the mail report send"); Console.WriteLine("\t high: Set the email report priority to 'high'"); Console.WriteLine("\t low: Set the email report priority to 'low'"); Console.WriteLine(); @@ -58,7 +59,9 @@ public static void DisplayGuide() Console.WriteLine($"\t{Globals._currentExeFileName} --token XXX... --org OrgName --backup C:\\Backup --server smtp.domain.local"); Console.WriteLine("\t--port 25 --from from@domain.local --to reports@domain.local --unzip --simpelreport --priority high\n"); Console.WriteLine($"\t{Globals._currentExeFileName} --token token.bin --org OrgName --backup C:\\Backup --server smtp.domain.local"); - Console.WriteLine("\t--port 25 --from from@domain.local --to reports@domain.local --unzip --simpelreport --priority low"); + Console.WriteLine("\t--port 25 --from from@domain.local --to reports@domain.local --unzip --simpelreport --priority low\n"); + Console.WriteLine($"\t{Globals._currentExeFileName} --token token.bin --org OrgName --backup C:\\Backup --server smtp.domain.local"); + Console.WriteLine("\t--port 25 --from from@domain.local --to reports@domain.local,admin@domain.local --unzip --noattatchlog"); Console.WriteLine(); Console.WriteLine("Output:"); Console.WriteLine("\tA timestamped folder containing the backup will be created within this directory unless --backup"); From 998bee9c8f2925b72dbd57b8de11f1bee2574d36 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 09:12:53 +0200 Subject: [PATCH 27/34] Update to last v. of the help menu for 1.1.0.0 --- docs/help-menu.png | Bin 186560 -> 185963 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/help-menu.png b/docs/help-menu.png index fc8f2e65928ef4a8dd0dd5d2468de8e3b06305e4..48fdd5f165fe2675675b85d45060914a2c463a45 100644 GIT binary patch literal 185963 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ⅈ-A`$#ow+%r(E2QaNP9?>ino+vGgbP*zPBQKwfl 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 h5B01T&6Ju>^;X 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�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 literal 186560 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ν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 Date: Sat, 10 Aug 2024 09:18:12 +0200 Subject: [PATCH 28/34] Reorder code to not try to cleanup logs if use etc. /info and /? and so for unzip tool --- AzureDevOpsBackupUnzipTool/Program.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AzureDevOpsBackupUnzipTool/Program.cs b/AzureDevOpsBackupUnzipTool/Program.cs index 9c44dee..6d6c3d6 100644 --- a/AzureDevOpsBackupUnzipTool/Program.cs +++ b/AzureDevOpsBackupUnzipTool/Program.cs @@ -33,9 +33,6 @@ static void Main(string[] args) // Create log folder if not exist LocalFolderTasks.CreateLogFolder(); - - // Cleanup old log files - LocalLogCleanup.CleanupLogs(); // Check if parameters have been provided and contains one of if (args.Length == 0 || args.Contains("--help") || args.Contains("/h") || args.Contains("/?") || args.Contains("/info") || args.Contains("/about")) @@ -95,6 +92,9 @@ static void Main(string[] args) } } + // Cleanup old log files + LocalLogCleanup.CleanupLogs(); + // Check for required Args for application will work string[] requiredArgs = { "--zipFile", "--jsonFile", "--output" }; From dbc529d21efcb8ee6657e65dd76f04edd15de734 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 09:26:04 +0200 Subject: [PATCH 29/34] Update samples in readme --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index a39b34e..b447c84 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,9 @@ Check out the examples here: `.\AzureDevOpsBackup.exe --token "token.bin" --org "AzureDevOpsOrgName" --backup "D:\Backup data\Azure DevOps" --server "orgdomain-cloud.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@orgdomain.cloud" --to "AZ-DL-AzureDevOpsBackupReports@orgdomain.cloud" --unzip --cleanup --daystokeepbackup 50 --simpelreportlayout --priority high` +`.\AzureDevOpsBackup.exe --token "token.bin" --org "AzureDevOpsOrgName" --backup "D:\Backup data\Azure DevOps" --server "orgdomain-cloud.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@orgdomain.cloud" --to "AZ-DL-AzureDevOpsBackupReports@orgdomain.cloud" --unzip --cleanup --daystokeepbackup 120 --noattatchlog` + + ### AzureDevOpsBackup unzip tool `.\AzureDevOpsBackupUnzipTool.exe --zipFile "C:\Temp\Test\master_blob.zip" --output "C:\Temp\Test\Test" --jsonFile "C:\Temp\Test\tree.json"` From 813e9a486e7fc0ab6d09d4c110e41aa7822dfa2f Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 09:26:56 +0200 Subject: [PATCH 30/34] update emails to comma seperated in sample --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b447c84..9a61ceb 100644 --- a/README.md +++ b/README.md @@ -224,7 +224,7 @@ Check out the examples here: `.\AzureDevOpsBackup.exe --token "token.bin" --org "AzureDevOpsOrgName" --backup "D:\Backup data\Azure DevOps" --server "orgdomain-cloud.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@orgdomain.cloud" --to "AZ-DL-AzureDevOpsBackupReports@orgdomain.cloud" --unzip --cleanup --daystokeepbackup 50 --simpelreportlayout --priority high` -`.\AzureDevOpsBackup.exe --token "token.bin" --org "AzureDevOpsOrgName" --backup "D:\Backup data\Azure DevOps" --server "orgdomain-cloud.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@orgdomain.cloud" --to "AZ-DL-AzureDevOpsBackupReports@orgdomain.cloud" --unzip --cleanup --daystokeepbackup 120 --noattatchlog` +`.\AzureDevOpsBackup.exe --token "token.bin" --org "AzureDevOpsOrgName" --backup "D:\Backup data\Azure DevOps" --server "orgdomain-cloud.mail.protection.outlook.com" --port "25" --from "azure-devops-backup@orgdomain.cloud" --to "admin@orgdomain.cloud,support@orgdomain.cloud" --unzip --cleanup --daystokeepbackup 120 --noattatchlog` ### AzureDevOpsBackup unzip tool From 0180a6f41fd5256388a2b41b8370be39e673f2cf Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 09:34:15 +0200 Subject: [PATCH 31/34] Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42ab5ff..4570867 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ Major update with new features and bug fixes - **AzureDevOpsBackupUnzipTool.exe**: **'.\Logs\Unzip tool'** ### Fixed -- A lot documentation and help text overall +- A lot documentation and help text overall fixed/added ## [1.0.6.0] - 08-08-2024 From 9cb32b4b9c0c3ba2ec31bb55fd3d38ad54cfbcfd Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 09:35:46 +0200 Subject: [PATCH 32/34] Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4570867..76653fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ Major update with new features and bug fixes ### Changed - Changed default install folder name (reflects only the installer) -- Changed logfile location in the **'.\Log'** folder - now in a subfolder the the 2 tools: +- Changed logfile location in the **'.\Log'** folder - now in a subfolder the the 2 tools to it not being mixed and supports for cleanup: - **AzureDevOpsBackupTool.exe**: **'.\Logs\Backup'** - **AzureDevOpsBackupUnzipTool.exe**: **'.\Logs\Unzip tool'** From 9065ffa0c0acdc7121202cbdbb42d9a1fb08de34 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 09:36:15 +0200 Subject: [PATCH 33/34] remove spance in changelog top --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76653fe..d910a93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,3 @@ - ## [1.1.0.0] - xx-xx-2024 Major update with new features and bug fixes From aa158f0ef0fbe81b3cca91d36f427d487c39c536 Mon Sep 17 00:00:00 2001 From: Michael Morten Sonne Date: Sat, 10 Aug 2024 10:43:55 +0200 Subject: [PATCH 34/34] Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d910a93..71ac970 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## [1.1.0.0] - xx-xx-2024 +## [1.1.0.0] - 10-08-2024 Major update with new features and bug fixes