Commit Graph
2785 Commits
Author SHA1 Message Date
Kenneth Hsu fcf89764c3 Remove unnecessary calls to ToString. 2018-12-31 14:29:44 -08:00
Kenneth Hsu e65bf19221 Remove unused String.Format arguments.
We also make use of string interpolation to improve readability.
2018-12-31 14:24:14 -08:00
Kenneth SkovhedeandGitHub f8cbd206e0 Merge pull request #3568 from warwickmm/default_excludes_performance
Improve performance of default excludes filters
2018-12-29 09:11:45 +01:00
Kenneth Hsu 7a106df094 Improve performance of default excludes filters.
Previously, the FilterExpression.Expand method would forward the filter
group name to the FilterEntry constructor, which would combine the
group's patterns into one large regex filter.  This would result in a
significant decrease in performance, as the regex filters are much
slower than the wildcard filters.

Instead, we can first expand the filter group into its constituent
patterns before presenting them to the FilterEntry constructor.  This
preserves their wildcard nature and allows us to take advantage of
faster filtering matching algorithms.

This addresses issue #3395.
2018-12-28 22:07:59 -08:00
Kenneth Hsu 139420a664 Improve performance of wildcard filters.
The mono profiler indicated that a large percentage of the time was
spent allocating the inputPosStack and patternPosStack arrays.  By
replacing these with Stacks, we can avoid this unnecessary overhead.
2018-12-28 17:33:46 -08:00
Rune HenriksenandGitHub cc447de28a Merge pull request #3545 from warwickmm/slow_default_excludes_workaround
Convert regex pattern to wildcard in default excludes group
2018-12-21 07:04:11 +01:00
Kenneth Hsu faf2b0df47 Remove helper method that creates regex filter.
This will discourage the creation of default regex filters, which
exhibit poor performance.
2018-12-20 19:37:36 -08:00
JonMikelVandRune Henriksen fff5145e2f Fix typo in QuotaWarningThresholdLong (#3549)
"quota is less that this" -> "quota is less than this"
2018-12-20 22:07:34 +01:00
Kenneth Hsu 340d7803cb Convert regex pattern to wildcard in default excludes group.
This provides a workaround for the poor performance of the default
excludes group exhibited by regex filters.  While this wildcard pattern
will potentially exclude more files than the previous regex pattern, in
practice this should not often be the case.

This does not resolve the performance issue of the regex filters.
However, I think in general we should try to avoid expensive
application-specific filters since these will affect the performance for
all users that use the default excludes group, whether the application
is present or not.

This concerns issue #3395.
2018-12-17 18:14:43 -08:00
Kenneth Hsu 0a37b9075d Remove condition that always evaluates to true. 2018-12-15 14:23:02 -08:00
Kenneth SkovhedeandGitHub 8d3ed27ac9 Merge pull request #3538 from LacunaSoftware/improve-backup-logs-ui
New improvements on Backup Logs UI
2018-12-13 15:01:16 +01:00
Mikael Mello 965bd6d761 result-classes: rename properties of RestoreResults to be consistent with BackupResults 2018-12-12 12:14:11 -02:00
Kenneth Hsu 8dd3aeaf26 Use invariant culture in calls to ToLower and ToUpper. 2018-12-11 21:21:07 -08:00
Kenneth Skovhede 49e54ab0b7 Merge branch 'feature/timestamp_clash_fix' 2018-12-11 10:33:57 +01:00
Kenneth SkovhedeandGitHub 9f0ceb9a4c Merge pull request #3534 from warwickmm/convert_write_only_properties
Replace write-only properties
2018-12-11 10:31:35 +01:00
Kenneth SkovhedeandGitHub ac606d887f Merge pull request #3510 from LacunaSoftware/improve-backup-logs-ui
Improve UI for backup logs
2018-12-11 10:28:05 +01:00
Kenneth Hsu 5daf35d4f5 Use interface inheritance to remove write-only properites.
The one class that implements these interfaces, BasicResults, requires
both read and write access to these properties.  As such, we might as
well declare the getter and setter in the interface.
2018-12-09 21:42:40 -08:00
Kenneth Hsu 308410650b Remove write-only LinkedSubStream.Position implementation.
The LinkedSubStream class is abstract, and all derived classes implement
a getter and a setter.
2018-12-09 21:42:40 -08:00
Kenneth Hsu 8b6cf0c6d9 Make ISetCommonOptions.MessageSink property readable.
Since the only implementation, BasicResults, specifies a getter for this
property, we might as well declare this in the interface.
2018-12-09 21:42:36 -08:00
Kenneth Hsu a44bc7542f Make ISetCommonOptions.BeginTime property readable.
Since the only implementation, BasicResults, specifies a getter for this
property, we might as well declare this in the interface.
2018-12-09 21:42:33 -08:00
Kenneth Hsu 7e6fa8a202 Convert write-only IMessageSink.OperationProgress property to method.
Write-only properties are confusing and the behavior is better
implemented as a method, which more clearly conveys the write-only
semantics.
2018-12-09 20:23:05 -08:00
Kenneth Hsu 1764b9ad4e Convert write-only IMessageSink.BackendProgress property to method.
Write-only properties are confusing and the behavior is better
implemented as a method, which more clearly conveys the write-only
semantics.
2018-12-09 20:23:05 -08:00
Mikael Mello 3dbfac93c6 basic-results: Increase limit of enumerable elements that are serialized 2018-12-07 16:45:44 -02:00
Kenneth Skovhede 040655b579 Possible fix for #2857 2018-12-07 09:46:10 +01:00
Mikael Mello aa71b888c3 basic-results: Serialize full length of enumerable properties that are limited
Useful to display the know the actual number of errors/warnings/etc when debugging without
having to store all of the errors.
2018-12-05 17:10:08 -02:00
Mikael Mello ec5fee9f9a basic-results: Serialize enumerable properties up to a certain number of elements 2018-12-04 12:14:08 -02:00
Mikael MelloandGitHub 172b0284ab localDatabase: Remove trailing exclamation mark on exception text 2018-12-03 08:13:58 -02:00
Mikael Mello c2c2718082 resultClasses: Fix ParsedResult of RepairResults
RepairResults could have warning/error in its child and not report correct result
2018-11-29 10:57:30 -02:00
verhoek e2c2bc1a79 Moved method to bottom to let the PathTooLong* methods group together. 2018-11-29 09:37:10 +01:00
verhoek 9ce8471bde Cache serializer. 2018-11-29 09:32:42 +01:00
verhoek bb7062d34b Regrouped methods. 2018-11-29 09:13:13 +01:00
verhoek 57c96da914 Reducing duplicate code. 2018-11-29 09:00:48 +01:00
Mikael Mello ff2f89f00b Merge branch 'master' of github.com:duplicati/duplicati into improve-backup-logs-ui
# Conflicts:
#	Duplicati/Library/Main/ResultClasses.cs
2018-11-27 10:50:12 -02:00
Mikael Mello 8d1077c901 Fix regression that stopped repairs from working 2018-11-27 10:41:53 -02:00
verhoek 94f34ce5a1 Removal of boiler plate code put into static helper. 2018-11-26 18:37:05 +01:00
verhoek 7128544a96 Fix bug that accidentally also handles directories besides files in file backend. 2018-11-26 18:34:52 +01:00
Mikael Mello 57bd9d1e41 Decouple BasicResults object properties from its children 2018-11-26 11:53:24 -02:00
Kenneth Hsu dca78f51a4 Remove redundant interface implementation. 2018-11-23 12:03:48 -08:00
Kenneth SkovhedeandGitHub e020f8209c Merge pull request #3508 from warwickmm/use_ordinal_string_comparison
Use ordinal string comparison
2018-11-22 11:22:22 +01:00
Kenneth Hsu 0143a848f5 Remove unnecessary local variable. 2018-11-21 21:21:38 -08:00
Kenneth Hsu f20afd6106 Use ordinal string comparison. 2018-11-21 21:08:13 -08:00
Kenneth Hsu de9750caba Use 'this' keyword to improve readability. 2018-11-21 21:03:09 -08:00
Kenneth Hsu 609c32feb2 Create parent directories as needed for SFTP backend.
If the user specifies a path with multiple directories that do not
exist, the SftpClient.CreateDirectory method does not create all the
missing parent directories.  As such, we have to do so ourselves.

This addresses issue #2080.
2018-11-21 20:38:36 -08:00
Kenneth SkovhedeandGitHub f847691ba3 Merge pull request #3506 from verhoek/issue/3498
various GPG changes
2018-11-21 12:41:59 +01:00
verhoek 9f46543418 Generically we don't want to throw an exception for an empty passphrase:
for GPG this is fine, since GPG either invokes the system's keychain
or will cause an exception.
2018-11-20 20:13:24 +01:00
verhoek 0ee90d3b4e In between auto refactoring. 2018-11-20 20:08:39 +01:00
verhoek 1efad4902b Added error logging in case GPG cannot be executed correctly. 2018-11-19 16:32:32 +01:00
verhoek 6bacda7943 Compactified gpg options. 2018-11-19 09:40:33 +01:00
Kenneth SkovhedeandGitHub c7e78eed92 Merge pull request #3500 from warwickmm/refactor/remove_unused_overloads
Remove unnecessary method overloads in Utility class
2018-11-19 09:26:46 +01:00
Kenneth Hsu aab3afd4a7 Fix class reference in XML documentation. 2018-11-18 17:23:01 -08:00