Commit 1bceef56567bd50fc8285de3e2f75ecbe9d12cbd

Authored by Schwirg László
1 parent 38e7286e

v1.34.1

Vrh.Log4Pro.MaintenanceConsole/Manager - BackupPackageManager.cs
... ... @@ -23,6 +23,7 @@ using VRH.Common;
23 23 using System.Xml.Linq;
24 24 using System.Text.RegularExpressions;
25 25 using System.Security.Cryptography;
  26 +using System.Numerics;
26 27  
27 28 namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS
28 29 {
... ... @@ -75,49 +76,69 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS
75 76 ColorConsole.WriteLine();
76 77  
77 78  
78   - var folder1Files = GetFilesWithRelativePaths(rootWORKING, searchpatterncsvlist);
  79 + var folderWFiles = GetFilesWithRelativePaths(rootWORKING, searchpatterncsvlist);
79 80 var folder2Files = GetFilesWithRelativePaths(rootUPGRADE, searchpatterncsvlist);
80 81  
81   - var allKeys = new HashSet<string>(folder1Files.Keys);
82   - allKeys.UnionWith(folder2Files.Keys);
  82 +
  83 + var allfiles = new HashSet<string>(folderWFiles.Keys);
  84 + allfiles.UnionWith(folder2Files.Keys);
83 85  
84 86 var savedcursortop = Console.CursorTop;
85 87 Console.WriteLine();
86 88 var actualcursortop = Console.CursorTop;
87 89 var numberofprocessedfiles = 0;
88 90 var upgradefiles = new Dictionary<string, CompareDirectoriesActions>();
89   - foreach (var relativePath in allKeys.OrderBy(p => p))
  91 + string previousdirectory = null;
  92 + foreach (var onefile in allfiles.OrderBy(p => Path.GetDirectoryName(p)))
90 93 {
91 94 numberofprocessedfiles++;
92 95 if (numberofprocessedfiles < 25)
93 96 {
94 97 actualcursortop = Console.CursorTop;
95   - ColorConsole.SetCursorPosition(0, savedcursortop); ColorConsole.Write(relativePath, suffix: new string(' ', 20));
  98 + ColorConsole.SetCursorPosition(0, savedcursortop); ColorConsole.Write(onefile, suffix: new string(' ', 20));
96 99 ColorConsole.SetCursorPosition(0, actualcursortop);
97 100 }
98   - bool inWORKFolder = folder1Files.TryGetValue(relativePath, out string file1);
99   - bool inUPGRADEFolder = folder2Files.TryGetValue(relativePath, out string file2);
  101 + bool inWORKFolder = folderWFiles.TryGetValue(onefile, out string file1);
  102 + bool inUPGRADEFolder = folder2Files.TryGetValue(onefile, out string file2);
100 103  
101 104 if (inWORKFolder && inUPGRADEFolder)
102 105 {
103 106 if (!FilesAreEqual(file1, file2, out string difftext))
104 107 {
  108 + string actualdirectory = Path.GetDirectoryName(onefile);
  109 + if (previousdirectory != actualdirectory)
  110 + {
  111 + ColorConsole.WriteLine(actualdirectory, ConsoleColor.DarkYellow);
  112 + previousdirectory = actualdirectory;
  113 + }
105 114 //ColorConsole.WriteLine($"DIFFERENT ({difftext}): {relativePath}", ConsoleColor.Yellow);
106   - ColorConsole.WriteLine($"< {relativePath} ({difftext}):", ConsoleColor.Yellow);
107   - upgradefiles.Add(relativePath, CompareDirectoriesActions.CopyFROMUPGRADE);
  115 + ColorConsole.WriteLine($"< {onefile} ({difftext}):", ConsoleColor.Yellow);
  116 + upgradefiles.Add(onefile, CompareDirectoriesActions.CopyFROMUPGRADE);
108 117 }
109 118 }
110 119 else if (inWORKFolder)
111 120 {
  121 + string actualdirectory = Path.GetDirectoryName(onefile);
  122 + if (previousdirectory != actualdirectory)
  123 + {
  124 + ColorConsole.WriteLine(actualdirectory, ConsoleColor.DarkYellow);
  125 + previousdirectory = actualdirectory;
  126 + }
112 127 //ColorConsole.WriteLine($"ONLY IN Folder1: {relativePath}", ConsoleColor.Yellow);
113   - ColorConsole.WriteLine($"-- {relativePath}", ConsoleColor.Yellow);
114   - upgradefiles.Add(relativePath, CompareDirectoriesActions.DeleteINWORKING);
  128 + ColorConsole.WriteLine($"-- {onefile}", ConsoleColor.Yellow);
  129 + upgradefiles.Add(onefile, CompareDirectoriesActions.DeleteINWORKING);
115 130 }
116 131 else if (inUPGRADEFolder)
117 132 {
  133 + string actualdirectory = Path.GetDirectoryName(onefile);
  134 + if (previousdirectory != actualdirectory)
  135 + {
  136 + ColorConsole.WriteLine(actualdirectory, ConsoleColor.DarkYellow);
  137 + previousdirectory = actualdirectory;
  138 + }
118 139 //ColorConsole.WriteLine($"ONLY IN Folder2: {relativePath}", ConsoleColor.Yellow);
119   - ColorConsole.WriteLine($"<< {relativePath}", ConsoleColor.Yellow);
120   - upgradefiles.Add(relativePath, CompareDirectoriesActions.CopyFROMUPGRADE);
  140 + ColorConsole.WriteLine($"<< {onefile}", ConsoleColor.Yellow);
  141 + upgradefiles.Add(onefile, CompareDirectoriesActions.CopyFROMUPGRADE);
121 142 }
122 143 }
123 144 ColorConsole.WriteLine();
... ... @@ -132,7 +153,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS
132 153 }
133 154 return o;
134 155 }
135   - private enum CompareDirectoriesActions { CopyFROMUPGRADE, DeleteINWORKING,}
  156 + private enum CompareDirectoriesActions { CopyFROMUPGRADE, DeleteINWORKING,}
136 157 private static Dictionary<string, string> GetFilesWithRelativePaths(string root,string searchpattern="*")
137 158 {
138 159 var searchpatternlist = searchpattern.Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries);
... ... @@ -142,10 +163,10 @@ namespace Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS
142 163 files.AddRange(Directory.GetFiles(root, sp, SearchOption.AllDirectories));
143 164 }
144 165 var dict = new Dictionary<string, string>();
145   - foreach (var file in files)
  166 + foreach (var fileAbsolutPath in files)
146 167 {
147   - string relativePath = GetRelativePath(root, file);
148   - dict[relativePath] = file;
  168 + string relativePath = GetRelativePath(root, fileAbsolutPath);
  169 + dict[relativePath] = fileAbsolutPath;
149 170 }
150 171 return dict;
151 172 }
... ...
Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
... ... @@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
32 32 // You can specify all the values or you can default the Build and Revision Numbers
33 33 // by using the '*' as shown below:
34 34 // [assembly: AssemblyVersion("1.0.*")]
35   -[assembly: AssemblyVersion("1.34.0.0")]
36   -[assembly: AssemblyFileVersion("1.34.0.0")]
  35 +[assembly: AssemblyVersion("1.34.1.0")]
  36 +[assembly: AssemblyFileVersion("1.34.1.0")]
... ...