Commit Graph
3969 Commits
Author SHA1 Message Date
Kenneth Hsu 146f4aaa5b Use helper method to get unique items and duplicates. 2017-09-28 21:48:38 -07:00
Kenneth Hsu 4b5ecedc31 Allow custom equality comparer when obtaining unique items. 2017-09-28 21:30:29 -07:00
Kenneth Hsu f2699e01dc Add method to get unique items from a collection.
For cases where we want both the unique items as well as the duplicates,
this should be more performant than using LINQ.
2017-09-28 21:30:29 -07:00
Kenneth SkovhedeandGitHub 33314ce7c9 Merge pull request #2763 from tygill/fix/list-ienumerable
Change IBackend.List() to return IEnumerable instead of List
2017-09-28 11:06:41 +02:00
Kenneth SkovhedeandGitHub 7af7c4e0a5 Merge pull request #2771 from warwickmm/refactor/avoid_unnecessary_enumeration
Avoid unnecessary enumeration
2017-09-28 11:02:33 +02:00
Kenneth SkovhedeandGitHub 1f0f73da6f Merge pull request #2772 from warwickmm/refactor/remove_string_format
Remove unnecessary call to String.Format
2017-09-28 11:00:02 +02:00
Kenneth SkovhedeandGitHub 3411d46474 Merge pull request #2773 from warwickmm/refactor/convert_if_to_switch
Convert if statements to switch statements for enums
2017-09-28 10:59:15 +02:00
Kenneth Skovhede 7ed1362e4c Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Operation/BackupHandler.cs
2017-09-27 09:58:29 +02:00
Kenneth Skovhede 3ceb1087a7 Merge branch 'master' of github.com:duplicati/duplicati 2017-09-27 09:55:49 +02:00
Kenneth Hsu 0738c5b624 Remove unnecessary call to String.Format. 2017-09-26 20:43:27 -07:00
Kenneth Hsu 79e0f69506 Convert if statement to switch statement.
When the comparison is performed on an enum, using a switch statement
can allow for additional compiler optimizations.
2017-09-26 20:20:14 -07:00
Kenneth Hsu 5da12a704d Convert if statement to switch statement.
When the comparison is performed on an enum, using a switch statement
can allow for additional compiler optimizations.
2017-09-26 20:13:40 -07:00
Kenneth Hsu c082b18389 Declare variable outside of if statement.
This will allow us to more easily convert the if statement to a switch
statement.
2017-09-26 20:10:19 -07:00
Kenneth Hsu 4edf8536da Remove unused argument in string formatting. 2017-09-26 19:56:29 -07:00
Kenneth Hsu 59703e268c Avoid unnecessary enumeration.
Instead of enumerating the entire sequence and checking that the number
of elements is positive, we can simply check to see if the sequence
contains at least one element.
2017-09-26 19:45:07 -07:00
Kenneth Skovhede 37e42b718d Fix not shutting down backendmanager if it is required for something else.
This fixes #2759
2017-09-26 22:45:24 +02:00
Kenneth SkovhedeandGitHub 436dd7f017 Merge pull request #2761 from warwickmm/refactor/simplify_duplicate_file_check
Use simpler data structures when detecting duplicate filenames
2017-09-26 15:42:46 +02:00
Kenneth SkovhedeandGitHub a3270e4323 Merge pull request #2762 from warwickmm/improve_argument_exceptions
Improve construction of ArgumentExceptions
2017-09-26 15:42:07 +02:00
Kenneth Skovhede 9c0c5fbb97 Merge branch 'master' into concurrent_processing 2017-09-26 14:26:09 +02:00
Kenneth Skovhede 66feb4f25a Merge branch 'feature/fix-zip-methods' 2017-09-26 14:25:23 +02:00
Kenneth Skovhede a4452d9add Merge branch 'master' of github.com:duplicati/duplicati 2017-09-26 14:24:35 +02:00
Kenneth Skovhede 51084ada57 Merge branch 'feature/use-faster-hashing' 2017-09-26 14:24:20 +02:00
Kenneth Skovhede a955daca3f Changed the reported zip compression methods to reflect what is actually supported by SharpCompress 2017-09-26 14:06:11 +02:00
Kenneth Skovhede d15c0656cb Updated FasterHashing 2017-09-26 13:09:21 +02:00
Tyler Gill 44c53d3eb1 Merge branch 'master' of https://github.com/duplicati/duplicati into fix/list-ienumerable 2017-09-25 23:19:38 -06:00
Tyler Gill b3a3911d98 Change from wrapping yield returning methods with methods that do a try/catch, since they don't work due to lazy evaluation. 2017-09-25 23:19:31 -06:00
Tyler Gill 38883285ee Change IBackend.List() to return IEnumerable instead of List
By changing to IEnumerable, it is possible to iterate only a portion of the list, which is useful when not all entries are needed (e.g., when testing a connection).
All existing backends have been updated, and any which were able to be changed to yield return results in a straightforward way now do.
Many backends had a try/catch in the List() method. Due to the fact that yield returns can't be placed within a try/catch block, these have been refactored to either scope the try/catch to the parts that (should) be the only places throwing exceptions, so that exceptions are still caught and handled.
Note that lazy evaluation may cause some changes in behavior - exceptions that were previously thrown at the point of invokation of List() may now be thrown while it is being enumerated.
I believe this will not be problematic though, as the only well-known exception seems to be FolderMissingException, which should be thrown by Test(), but TestList() attempts to enumerate the list to force this exception.
Any places that require the legacy behavior can get it by simply converting the lazy enumerable to a List()
2017-09-25 23:17:45 -06:00
Kenneth Hsu fe9c760ff1 Avoid using parameter name in exception message.
The parameter name is provided as a separate argument to
ArgumentException.
2017-09-25 19:56:28 -07:00
Kenneth Hsu b84e7bd34d Avoid hard-coded parameter names.
This makes it easier to rename the parameter in the future as we don't
have to search for the parameter name within strings.
2017-09-25 19:54:54 -07:00
Kenneth Hsu e9ffc2cbe1 Add clearer exception message. 2017-09-25 19:54:54 -07:00
Kenneth Hsu 97681a704b Add clearer exception message. 2017-09-25 19:54:54 -07:00
Kenneth Hsu 4950c72128 Add clearer exception message. 2017-09-25 19:54:54 -07:00
Kenneth Hsu 239e62cb91 Fix argument order for ArgumentException. 2017-09-25 19:40:39 -07:00
Kenneth SkovhedeandGitHub 9141ccfd41 Merge pull request #2757 from tygill/feature/quota-info
Add IQuotaInfo interface
2017-09-25 23:05:19 +02:00
Kenneth Skovhede 31e8d7eb14 Updated FasterHashing library 2017-09-25 15:39:33 +02:00
Kenneth Skovhede 98e603073a Fixed orphan curly brace 2017-09-25 14:43:37 +02:00
Kenneth Skovhede bc88be457e Added an option to select the pagesize used in B2 list_bucket requests 2017-09-25 11:56:02 +02:00
Tyler Gill b4f56750f8 Add IQuotaInfo interface
It also makes quota enabled backends return an instance of this interface instead of the quota components separately.
This way, getting quota stats requires only a single remote request on backends like Google Drive and OneDrive.
2017-09-24 17:30:52 -06:00
Kenneth Hsu d2adde730a Use simpler data structures to detect duplicate filenames.
A Dictionary is unnecessary since we don't have any key-value pairs.  We
just need to keep track of a unique collection of filenames.
2017-09-24 08:40:14 -07:00
Kenneth Skovhede 0a54fd87d3 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/packages.config
#	Duplicati/Library/UsageReporter/Duplicati.Library.UsageReporter.csproj
#	Duplicati/Library/UsageReporter/packages.config
2017-09-23 22:04:35 +02:00
Kenneth Skovhede 6c921ab3ec Merge branch 'master' of github.com:duplicati/duplicati 2017-09-23 22:01:08 +02:00
Kenneth SkovhedeandGitHub 60b94b758f Merge pull request #2754 from warwickmm/refactor/avoid_extension_method
Reference property instead of invoking extension method.
2017-09-23 15:06:09 +02:00
Kenneth SkovhedeandGitHub ef3eb1854a Merge pull request #2752 from tygill/feature/onedrive-quota-rename
Add support for the quota reporting and renaming interfaces to the OneDrive backend
2017-09-23 15:05:22 +02:00
Kenneth SkovhedeandGitHub b00304ace6 Merge pull request #2751 from tygill/fix/default-filter-warning
Fix default filter warning
2017-09-23 15:02:43 +02:00
Kenneth Skovhede 2609dcc5dc Fixes after library updates 2017-09-23 14:52:53 +02:00
Kenneth Skovhede 5511627975 Updated CoCoL in UsageReporter 2017-09-23 14:46:29 +02:00
Kenneth Skovhede 5cae6ca60e Additional updates to NewtonSoft.Json 2017-09-23 14:46:14 +02:00
Kenneth Skovhede d6f6b428c1 Updated AlphaFS 2017-09-23 14:44:00 +02:00
Kenneth Skovhede fc75d56ef1 Updated MimeKit and MailKit 2017-09-23 14:43:46 +02:00
Kenneth Skovhede 976cc061e2 Updated ngettext 2017-09-23 14:43:33 +02:00