Commit Graph
564 Commits
Author SHA1 Message Date
Kenneth Hsu cb0a3ed2a1 Make constructors for abstract classes protected.
While this does not affect any behavior, it more accurately describes
the accessibility.  Since abstract classes can only be instantiated by
an instance of a derived type, the constructors should at most have
protected access.
2018-04-07 18:04:41 -07:00
Kenneth Skovhede bceed2ffbe Work on adding filters to send-mail 2018-04-02 11:20:46 +02:00
Max 987086358d upstream 2018-03-31 17:42:53 +02:00
Max f5672f69d9 upgrade .net to 4.6.2 2018-03-25 22:00:45 +02:00
Max d3d494b574 backends ported 2018-03-24 17:48:26 +01:00
Tyler Gill 81a1bf9024 Clean up names of default filter groups.
Rename 'DefaultExclude' to 'DefaultExcludes' (and the same for 'DefaultInclude').
Rename 'TemporaryFolders' to 'TemporaryFiles' to align with other groups ('CacheFiles', 'SystemFiles', etc.)
Added some more shorter aliases for groups, 'Sys', 'Tmp', etc.
2018-03-23 10:29:12 -06:00
Tyler Gill 07cfd65942 Add some more default filters for Windows, mostly based on files I've seen fail to backup due to being locked / in-use by other common processes (Google Chrome, Dropbox, OneDrive, Windows, etc.) 2018-03-22 10:28:55 -06:00
Tyler Gill 2d429f65a1 Removed the All FilterGroup, since it becomes ambiguous in light of the DefaultExclude and DefaultInclude groups. 2018-03-21 16:52:25 -06:00
Tyler Gill c63597ab6a Clean up some filters on Windows.
This includes prefixing registry filters with '?:' (to match existing filters and make sure Duplicati respects them).
It also includes removing absolute drive paths ("C:\Program Files") when there is an identical wildcard drive path ("?:\Program Files").
2018-03-21 16:43:22 -06:00
Tyler Gill e6aab76d8d Update documentation related to filter groups.
This removes the documentation for default filters, and replaces it with documentation about filter groups (based in large part on what was already included with the initial filter groups change).
All documentation about the --include and --exclude parameters should now mention (at least in passing) the option to use filter groups.
2018-03-21 16:40:42 -06:00
Tyler Gill 66cb44ead2 Rename FilterGroup.Default to DefaultExclude (since it will contain the default set of filters related to excluding files).
This way, we can still add future filter groups for types of files that should be backed up (e.g., documents, pictures, etc.)
In light of this, I think the All group is somewhat problematic, since if we add new groups that are designed for inclusion, we don't want people accidentally excluding them (because they --exclude={all}).
2018-03-21 16:21:30 -06:00
Tyler Gill 0f9be9e440 Remove code related to the --default-filters parameter.
The UI work to change over from the initial default filters UI still needs to be done.
2018-03-21 16:18:14 -06:00
Tyler Gill fc23a2dbbd FilterEntry should use FilterGroups.ParseFilterList instead of Enum.TryParse directly.
Additionally, ParseFilterList now supports a number of (shorter) aliases for each group.
2018-03-21 15:08:10 -06:00
Tyler Gill baeb7e6a7c Added a new FilterType which is used by FilterEntry to represent a filter that should affect all files in one of the built-in filter groups.
This allows filter groups to be intermingled with other filters using the '{groupName}' syntax proposed by kenkendk.
It also means that when the filter that caused a file to be ignored is reported, it can report the name of the group, rather than a large and unreadable list of wildcard and regex patterns.
This is still missing several things (better documentation, removing the old --default-filters parameter, updating the UI), but should be another step in the right direction.
There might also might easily be other side effects that I haven't considered here that will need to be teased out and fixed.
2018-03-21 14:53:45 -06:00
Tyler Gill 03df606a80 Merge branch 'feature/filter_groups' of https://github.com/duplicati/duplicati into feature/filter-groups 2018-03-21 12:23:03 -06:00
Tyler Gill 4578a5bd91 Merge branch 'master' of https://github.com/duplicati/duplicati into feature/ms-graph-backends 2018-03-20 14:24:48 -06:00
Tyler Gill 2b4fb9a65f SizeParser can use OrdinalIgnoreCase instead of ToLower(). 2018-03-20 13:44:15 -06:00
Tyler Gill 73b6fe2a01 Add extension methods to the general Utility class for emulating the await keyword in non-async code.
Using GetAwaiter().GetResult() is similar to using Task.Result, but rethrows the original exception rather than wrapping it in an (unnecessary) AggregateException.
2018-03-20 13:41:57 -06:00
Kenneth SkovhedeandGitHub f804eaa7ab Merge pull request #3108 from warwickmm/readonly_lock_objects
Make fields containing lock objects readonly
2018-03-20 09:01:22 +01:00
Kenneth Hsu c00c6fd19b Make fields containing lock objects readonly.
If one of these fields is accidentally reassigned, it's possible for
threads to be oblivious to an existing lock.  By making the fields
readonly, we will be notified at compile-time if we inadvertently
redefine one of these fields.
2018-03-17 19:59:23 -07:00
Kenneth Skovhede a980ed93a6 Implemented support for setting low IO priority on Windows, Linux, and MacOS 2018-03-16 23:25:06 +01:00
Kenneth Skovhede 20e2dcafb3 Moved the process control stuff into another class, so it can be disposed easily and contain its own state 2018-03-16 10:33:26 +01:00
Kenneth SkovhedeandGitHub 96cd4dd725 Merge pull request #3087 from warwickmm/use_nameof_operator
Use nameof operator when constructing ArgumentNullException
2018-03-08 11:14:49 +01:00
Kenneth SkovhedeandGitHub 0e9eb4a452 Merge pull request #3088 from warwickmm/bugfix/remove_extra_tag
Remove superfluous closing tag in XML documentation.
2018-03-08 11:14:29 +01:00
Kenneth Hsu ec7aa3113b Fix namespace in code references in XML documentation. 2018-03-07 18:34:26 -08:00
Kenneth Hsu 58ab443eb4 Fix generic class code references in XML documentation. 2018-03-07 18:34:26 -08:00
Kenneth Hsu a7faab50ca Remove superfluous closing tag in XML documentation. 2018-03-07 18:03:10 -08:00
Kenneth Hsu 1f8b542604 Use nameof operator when constructing ArgumentNullException.
This will make rename refactorings easier in the future.
2018-03-07 17:53:08 -08:00
Kenneth Skovhede 305a9fbae0 Changed MacOS to not exclude /private/ but just a selection of the subfolders. 2018-03-05 22:37:46 +01:00
Kenneth Skovhede b8bbe1e1a0 Added /bin/ to the MacOS excluded folders 2018-03-05 22:33:12 +01:00
Kenneth Skovhede a2f426e171 Removed ApplicationData from the list of exclusions as there is usually stuff in there that you want backed up. 2018-03-05 22:30:19 +01:00
Kenneth Skovhede f85b46b814 Added a guard against null-filters 2018-03-05 22:28:49 +01:00
Kenneth Skovhede 022b2087c0 Renamed DefaultFilters to FilterGroups 2018-03-05 22:27:16 +01:00
Kenneth Skovhede 282c70f75f Implemented default filter groups as suggested in #3030 2018-03-02 15:26:55 +01:00
Kenneth SkovhedeandGitHub e04f0236bb Merge pull request #3052 from tygill/fix/default-filter-trim
Remove some default filters for things that should probably still be backed up
2018-03-02 09:18:14 +01:00
Kenneth Skovhede c9be651690 Removed application of default filters, pending discussion 2018-02-22 17:17:12 +01:00
Tyler Gill 25df361c3e Remove some default filters for things that should probably still be backed up. 2018-02-13 13:11:16 -07:00
Kenneth SkovhedeandGitHub f6bb6d3d4f Merge pull request #2995 from TekkiWuff/bugfix/issue-2994
Use double instead of long for Utility.FormatSizeString
2018-02-08 22:02:44 +01:00
Pectojin f6242e3774 Added an overloaded AddTask method that allows tasks to skip the queue and updated the api call backup/<id>/run to skip the queue to correspond with the expectation of the 'Run now' button in the UI 2018-02-03 04:17:10 +01:00
Daniel Radünz dab0e1102b Fixed issue 2994 2018-01-30 23:49:58 +01:00
Kenneth Skovhede bf07f70318 Added method to automatically create folder for async upload.
This fixes #1384
2018-01-26 09:22:21 +01:00
JonMikelVandGitHub 47d5e8877e Merge pull request #4 from duplicati/master
Merge from master
2018-01-21 02:14:37 -06:00
Kenneth Skovhede 75bf6857c1 Merge branch 'master' into concurrent_processing
# Conflicts:
#	.travis.yml
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/ResultClasses.cs
#	Duplicati/Library/Main/Volumes/VolumeWriterBase.cs
#	Duplicati/Library/Utility/TempFile.cs
2018-01-20 15:02:41 +01:00
Kenneth Skovhede d9377bab7e Removed TempFileStram and fixed the two places that were using it, as they both had errors in the way it was used. 2018-01-18 14:25:25 +01:00
JonMikelV 95a768feaa FormatSizeString now will also format negative values such as produced when reporting on space savings due to compacting. 2018-01-04 23:05:01 -06:00
Kenneth Hsu 056ff3da96 Use built-in method to determine if process is 64-bit. 2018-01-02 19:03:46 -08:00
Kenneth SkovhedeandGitHub 9593edae14 Merge pull request #2939 from vnau/master
Compression classes refactoring
2017-12-26 12:27:35 +01:00
vnau e78c3f8650 Removed throw expressions to avoid Microsoft compiler bug. 2017-12-25 22:59:17 +07:00
vnau 62a7901aca Compression modules refactored to work with streams instead of filenames;
Added unit test to check compression reversibility
2017-12-25 04:12:19 +07:00
Kenneth Skovhede 954980b013 Merge branch 'feature/fix_windows_cmd_escape' 2017-12-22 10:05:53 +01:00