Commit Graph
298 Commits
Author SHA1 Message Date
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 Hsu e2aa98fbca Add option to disable backup when on battery power.
This addresses issue #2666.
2018-03-16 19:32:50 -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 842fd96543 Implemented a new logging system that is more transparent and allows a more granular way of picking log messages.
Added ID's to each log message and each exception to allow later introduction of a Knowledgebase service that explains each error in more detail.
2018-03-15 09:12:34 +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
Daniel Radünz 6da001cbe9 Easier syntax for unlimited timeframes and intervals
Also refactored retention policy option to use a list of custom objects instead of a dictionary to reduce confusion when working with the values of the retention policy
2018-02-21 21:30:17 +01:00
Kenneth Skovhede 9093603be1 Added support for disabling the file scanner during backups.
This fixes #2963
2018-02-11 20:57:38 +01:00
Tyler Gill 0a1e98712a Adds warnings and errors if the reported available quota either reaches a configurable percentage of the backup size, or when it is completely exhausted.
This is configurable via the --quota-warning-threshold command line parameter.
2018-02-07 11:23:52 -07: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 Hsu 07bfc4a5da Use nameof operator instead of string literal. 2017-10-14 11:43:31 -07:00
Kenneth Hsu 1846c67aae Rename variable to be consistent with exception message. 2017-10-13 19:28:06 -07:00
Daniel Radünz 4e3d5d3e81 Fixed typo in option name 2017-09-30 22:05:54 +02:00
Daniel Radünz 0a4a6edca1 Renamed all occurrences of "staggered version" to "retention policy" 2017-09-30 22:05:30 +02:00
Daniel Radünz 40db42b29b Moved code related to deciding which backups to delete from Options into the DeleteHandler
Added logging
2017-09-30 22:05:29 +02:00
Daniel Radünz 3ec1fabc57 initial commit of staggered versioning feature 2017-09-30 12:07:02 +02: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
Tyler Gill 811acac073 Fix warning that the default-filters parameter isn't supported. 2017-09-21 23:44:24 -06:00
Kenneth Skovhede 683b04741d Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Operation/BackupHandler.cs

Manually fixed the HashAlgorithmHelper case
2017-09-20 13:56:37 +02:00
Kenneth Skovhede 6d401fbd8d Changed all hash algorithms to use the Cng version.
This fixes #2621
2017-09-20 09:58:43 +02:00
Kenneth Skovhede 0b81fabb1f Bugfix from the merge conflict 2017-09-19 14:18:10 +02:00
Kenneth Skovhede 0dd56f1650 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Options.cs
2017-09-19 12:51:40 +02:00
Tyler Gill 83a1dcfb64 Replace all instances of InvariantCultureIgnoreCase with OrdinalIgnoreCase in string comparisons.
InvariantCulture is useful when comparing / sorting human language strings in a culturely correct way. It handles things like accented letters in a way that makes sense to humans (e.g., 'a' should be sorted next to 'á', rather than after 'z').
Ordinal looks just at the raw code points of the characters. As such, it is recommended for use in cases when comparing system strings (file paths, command line parameters, config settings, etc.). Since it doesn't need to use the culture specific sorting rules, this method can often be faster.

For more information, see https://stackoverflow.com/questions/492799/difference-between-invariantculture-and-ordinal-string-comparison (and other related questions)
2017-09-18 23:55:08 -06:00
Kenneth Skovhede d57c789f4f Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Options.cs
2017-09-18 11:56:35 +02:00
Kenneth Skovhede 7d3ac25426 Re-introduced the in-memory block-cache. This time keeping it simple with a check for size-induced collisions. 2017-09-16 18:44:25 +02:00
Kenneth SkovhedeandGitHub 207c879323 Update Options.cs
Fixed type for `--max-small-file-count`
2017-09-06 16:38:05 +02:00
Dan Stahr 58a95e03e6 Autovacuum option added 2017-08-04 12:09:01 +01:00
Kenneth Skovhede d18431b385 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Controller.cs
#	Duplicati/Library/Main/Database/ExtensionMethods.cs
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/Library/Main/ResultClasses.cs

First attempt at merging all changes from 2016-10-08 to now :/
2017-05-30 00:35:31 +02:00
Kenneth Skovhede d1746ca38c Added a --full-result commandline option to allow getting full file listings, without verbose output 2017-04-04 23:51:40 +02:00
Kenneth Skovhede 816ac4e722 Changed the way the delete handler deals with --allow-full-removal 2017-01-11 13:51:30 +01:00
Kenneth Skovhede a029890409 Implemented better default error messsages 2017-01-09 11:35:38 +01:00
Kenneth Skovhede fc9f1b1dd3 Added description for the --allow-full-removal option 2017-01-09 10:40:09 +01:00
Kenneth Skovhede 9a849a2b58 Improved support for cross-os restores.
This fixes #1302
This fixes #1983
2017-01-06 23:01:54 +01:00
Kenneth Skovhede 76aae5de7b Changed the logic for getting the last-modified timestamp from the database.
Now we only look at the timestamp from the previous fileset, instead of for the last time the file was seen.
This should improve lookup times, and thus the running time for backups with many files.

This change means that the following sequence of operations will react differently:

- backup
- delete file
- backup
- undelete file
- backup

Prior to this commit, the undeleted file would be seen with the original timestamp and thus can avoid being scanned for changes.
After this commit, the file will be treated as a new file, even if it has the previous timestamp and will thus be scanned for changes.

An additional switch has been introduced, --check-filetime-only that improves the lookup further by not looking at the metadata or filesize, and thus makes a much lighter call to the database, where fewer tables need to be touched.
2017-01-05 10:03:32 +01:00
Kenneth Skovhede 9a227ada6b Reworked the cleanup process to allow a dangling filelist, such that this dangling entry can be used as the basis for a synthetic filelist.
Also added an option to disable synthetic filelists.
This fixes #2038.
This fixes #2101
2016-12-24 11:42:26 +01:00
Kenneth Skovhede d8972b0f2b Removed unused memory cache code 2016-12-16 17:30:39 +01:00
Kenneth Skovhede 9877c3cc2e Changed some size options to include the size suffix in the default value 2016-11-27 12:00:51 +01:00
Kenneth Skovhede 7e0ba1c05c Micro-fix for --threshold.
This fixes #2100
2016-11-06 22:28:56 +01:00
Max 8c72cefd5b changes in hyper-v backed 2016-10-15 23:55:50 +02:00
Kenneth Skovhede 6ef4bfa5ac Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Strings.cs
2016-10-09 01:29:24 +02:00
Kenneth SkovhedeandGitHub 8379aee6d4 Merge pull request #1982 from mnaiman/hyper_v_fixes
Hyper-v fixes
2016-10-08 23:02:07 +02:00
Max 0cbd292924 fixes for hyper-v
basic logging
added safe checks
2016-10-06 00:26:54 +02:00
Kenneth Skovhede 6c8fa88222 Implemented sleep-prevention for OSX 2016-10-04 11:53:51 +02:00
Kenneth Skovhede 60e77cef88 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Strings.cs
2016-09-23 14:39:05 +02:00
Kenneth Skovhede 3441bdb1c5 Tabs-to-spaces fix 2016-09-23 14:11:53 +02:00
Kenneth Skovhede d593222b21 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Strings.cs
2016-09-23 11:23:25 +02:00
Kenneth Skovhede 8fe190f28c Cleaned up the support for HyperV backups, and added proper options 2016-09-23 10:16:42 +02:00
Kenneth Skovhede 94c5e10480 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Database/RemoteVolumeEntry.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/Library/Main/Operation/RepairHandler.cs
#	Duplicati/Library/Main/Operation/RestoreControlFilesHandler.cs
2016-09-16 10:33:07 +02:00
Kenneth Skovhede 0c68daff6c Fixed all whitespace to be 4 spaces instead of tabs 2016-09-15 11:39:27 +02:00