diff --git a/Duplicati/CommandLine/Help.cs b/Duplicati/CommandLine/Help.cs index 326241afc..463be36f4 100644 --- a/Duplicati/CommandLine/Help.cs +++ b/Duplicati/CommandLine/Help.cs @@ -107,7 +107,7 @@ namespace Duplicati.CommandLine tp = tp.Replace("%DEFAULTENCRYPTIONMODULE%", opts.EncryptionModule); tp = tp.Replace("%DEFAULTCOMPRESSIONMODULE%", opts.CompressionModule); tp = tp.Replace("%GENERICMODULES%", string.Join(", ", Library.DynamicLoader.GenericLoader.Keys)); - var metaGroupNames = new[] { nameof(FilterGroup.None), nameof(FilterGroup.DefaultExclude), nameof(FilterGroup.DefaultInclude), }; + var metaGroupNames = new[] { nameof(FilterGroup.None), nameof(FilterGroup.DefaultExcludes), nameof(FilterGroup.DefaultIncludes), }; tp = tp.Replace("%FILTER_GROUPS_SHORT%", string.Join(Environment.NewLine + " ", metaGroupNames.Concat(Enum.GetNames(typeof(FilterGroup)).Except(metaGroupNames, StringComparer.OrdinalIgnoreCase).OrderBy(x => x, StringComparer.OrdinalIgnoreCase)).Select(group => "{" + group + "}"))); tp = tp.Replace("%FILTER_GROUPS_LONG%", Library.Utility.FilterGroups.GetOptionDescriptions(4, true)); diff --git a/Duplicati/Library/Utility/FilterGroups.cs b/Duplicati/Library/Utility/FilterGroups.cs index f0373a5b1..c4a4cee45 100644 --- a/Duplicati/Library/Utility/FilterGroups.cs +++ b/Duplicati/Library/Utility/FilterGroups.cs @@ -46,7 +46,7 @@ namespace Duplicati.Library.Utility /// /// Files and folders that are temporary locations /// - TemporaryFolders = 0x08, + TemporaryFiles = 0x08, /// /// Files and folders that are application binaries (i.e. installed programs) /// @@ -55,12 +55,12 @@ namespace Duplicati.Library.Utility /// /// Meta option that specifies the default exclude filters /// - DefaultExclude = SystemFiles | OperatingSystem | CacheFiles | TemporaryFolders | Applications, + DefaultExcludes = SystemFiles | OperatingSystem | CacheFiles | TemporaryFiles | Applications, /// /// Meta option that specifies the default include filters /// - DefaultInclude = None, + DefaultIncludes = None, } /// @@ -78,6 +78,7 @@ namespace Duplicati.Library.Utility private static Dictionary filterGroupAliases = new Dictionary(StringComparer.OrdinalIgnoreCase) { { "System", FilterGroup.SystemFiles }, + { "Sys", FilterGroup.SystemFiles }, { "OS", FilterGroup.OperatingSystem }, @@ -85,12 +86,25 @@ namespace Duplicati.Library.Utility { "Caches", FilterGroup.CacheFiles }, { "Cache", FilterGroup.CacheFiles }, - { "TemporaryFiles", FilterGroup.TemporaryFolders }, - { "TempFolders", FilterGroup.TemporaryFolders }, - { "TempFiles", FilterGroup.TemporaryFolders }, - { "Temp", FilterGroup.TemporaryFolders }, + { "TemporaryFolders", FilterGroup.TemporaryFiles }, + { "TempFolders", FilterGroup.TemporaryFiles }, + { "TempFiles", FilterGroup.TemporaryFiles }, + { "Temp", FilterGroup.TemporaryFiles }, + { "Tmp", FilterGroup.TemporaryFiles }, + { "Application", FilterGroup.Applications }, { "Apps", FilterGroup.Applications }, + { "App", FilterGroup.Applications }, + + { "DefaultExclude", FilterGroup.DefaultExcludes }, + { "Excludes", FilterGroup.DefaultExcludes }, + { "Exclude", FilterGroup.DefaultExcludes }, + { "Exc", FilterGroup.DefaultExcludes }, + + { "DefaultInclude", FilterGroup.DefaultIncludes }, + { "Includes", FilterGroup.DefaultIncludes }, + { "Include", FilterGroup.DefaultIncludes }, + { "Inc", FilterGroup.DefaultIncludes }, }; /// @@ -139,9 +153,9 @@ namespace Duplicati.Library.Utility /// If set to true include actual filter paths in the output. public static string GetOptionDescriptions(int indentation, bool includevalues) { - var defaultExclude = FilterGroup.DefaultExclude; + var defaultExclude = FilterGroup.DefaultExcludes; var defaultExcludeValues = new List(); - var defaultInclude = FilterGroup.DefaultInclude; + var defaultInclude = FilterGroup.DefaultIncludes; var defaultIncludeValues = new List(); foreach (var e in Enum.GetValues(typeof(FilterGroup))) { @@ -156,8 +170,8 @@ namespace Duplicati.Library.Utility var sb = new System.Text.StringBuilder(); sb.AppendLine(ind + LC.L("{0}: Selects no filters.", nameof(FilterGroup.None))); - sb.AppendLine(ind + LC.L("{0}: A set of default exclude filters, currently evaluates to: {1}.", nameof(FilterGroup.DefaultExclude), string.Join(",", defaultExcludeValues.DefaultIfEmpty(nameof(FilterGroup.None))))); - sb.AppendLine(ind + LC.L("{0}: A set of default include filters, currently evaluates to: {1}.", nameof(FilterGroup.DefaultInclude), string.Join(",", defaultIncludeValues.DefaultIfEmpty(nameof(FilterGroup.None))))); + sb.AppendLine(ind + LC.L("{0}: A set of default exclude filters, currently evaluates to: {1}.", nameof(FilterGroup.DefaultExcludes), string.Join(",", defaultExcludeValues.DefaultIfEmpty(nameof(FilterGroup.None))))); + sb.AppendLine(ind + LC.L("{0}: A set of default include filters, currently evaluates to: {1}.", nameof(FilterGroup.DefaultIncludes), string.Join(",", defaultIncludeValues.DefaultIfEmpty(nameof(FilterGroup.None))))); if (includevalues) sb.AppendLine(); @@ -185,8 +199,8 @@ namespace Duplicati.Library.Utility appendAliasesAndValues(FilterGroup.SystemFiles, false); sb.AppendLine(ind + LC.L("{0}: Files that belong to the operating system. These files are restored when the operating system is re-installed.", nameof(FilterGroup.OperatingSystem))); appendAliasesAndValues(FilterGroup.OperatingSystem, false); - sb.AppendLine(ind + LC.L("{0}: Files and folders that are known to be storage of temporary data.", nameof(FilterGroup.TemporaryFolders))); - appendAliasesAndValues(FilterGroup.TemporaryFolders, false); + sb.AppendLine(ind + LC.L("{0}: Files and folders that are known to be storage of temporary data.", nameof(FilterGroup.TemporaryFiles))); + appendAliasesAndValues(FilterGroup.TemporaryFiles, false); sb.AppendLine(ind + LC.L("{0}: Files and folders that are known cache locations for the operating system and various applications", nameof(FilterGroup.CacheFiles))); appendAliasesAndValues(FilterGroup.CacheFiles, false); sb.AppendLine(ind + LC.L("{0}: Installed programs and their libraries, but not their settings.", nameof(FilterGroup.Applications))); @@ -273,7 +287,7 @@ namespace Duplicati.Library.Utility yield return FilterGroups.CreateRegexFilter(@".*/(cookies|permissions).sqllite(-.{3})?"); } - if (group.HasFlag(FilterGroup.TemporaryFolders)) + if (group.HasFlag(FilterGroup.TemporaryFiles)) { yield return Library.Utility.TempFolder.SystemTempPath; } @@ -367,7 +381,7 @@ namespace Duplicati.Library.Utility } - if (group.HasFlag(FilterGroup.TemporaryFolders)) + if (group.HasFlag(FilterGroup.TemporaryFiles)) { yield return FilterGroups.CreateWildcardFilter(@"*/$RECYCLE.BIN/"); yield return FilterGroups.CreateWildcardFilter(@"*.tmp"); @@ -471,7 +485,7 @@ namespace Duplicati.Library.Utility yield return FilterGroups.CreateWildcardFilter(@"/Desktop DF"); } - if (group.HasFlag(FilterGroup.TemporaryFolders)) + if (group.HasFlag(FilterGroup.TemporaryFiles)) { yield return FilterGroups.CreateWildcardFilter(@"/private/tmp/"); yield return FilterGroups.CreateWildcardFilter(@"/private/var/tmp/"); @@ -520,7 +534,7 @@ namespace Duplicati.Library.Utility yield return FilterGroups.CreateWildcardFilter(@"/var/"); } - if (group.HasFlag(FilterGroup.TemporaryFolders)) + if (group.HasFlag(FilterGroup.TemporaryFiles)) { yield return FilterGroups.CreateWildcardFilter(@"*/lost+found/"); yield return FilterGroups.CreateWildcardFilter(@"*~");