Commit Graph
261 Commits
Author SHA1 Message Date
warwickmmandGitHub bcaedebecd Merge pull request #4287 from dgehri/feature/improve_usn_2
Improve USN performance.
2020-08-22 09:28:05 -07:00
warwickmmandGitHub 83318877a1 Merge pull request #4285 from dferreyra/source_path_with_unc_prefix_3
Handle Windows source paths starting with "\\?\"
2020-08-21 07:38:12 -07:00
Daniel Gehriger 31bb24d605 USN: moving exclusion filter earlier in the enumeration process to improve performance 2020-08-18 16:07:01 +02:00
Daniel Gehriger bb1853085d USN: only considering events relevant to backup 2020-08-18 12:21:59 +02:00
Daniel Gehriger b6752bead3 USN: excluding non-relevant events 2020-08-18 11:43:52 +02:00
Daniel Gehriger 420c23cf05 USN: corrected exclusion criteria 2020-08-17 23:03:51 +02:00
Daniel Gehriger 245046e8e5 USN: adding verbose message 2020-08-17 14:41:41 +02:00
Daniel Gehriger 0caf724982 USN journal: removing create & delete sequences between two backups from list of files 2020-08-17 14:41:23 +02:00
Dean Ferreyra b8eecba62c Handle Windows source paths starting with "\\?\"
Under Windows, strip paths of any `\\?\` prefix to prevent Duplicati
from storing paths prefixed with `\\?\`.

This fixes an inconsistency in the stored data where, if the user
provided a prefixed path to back up (e.g., `\\?\C:\Temp`), Duplicati
would store an entry with the prefixed path (e.g., `\\?\C:\Temp`)
along with entries with paths stripped of their prefix (e.g.,
`C:\Temp\file.txt`).  By only storing non-prefixed paths, this also
avoids an error reported by the GUI when it would encounter a prefixed
path:
```
Filter for list-folder-contents must be a path prefix with no wildcards Parameter name: filter
```
2020-08-15 20:09:54 -07:00
Dean Ferreyra ecd62e8cea Fix snapshots broken by #4256
Add comment in `WindowsSnapshot.ConvertToSnapshotPath()` warning how
replacing some manual path construction code with Path.Combine() alone
can lead to invalid snapshot paths.
2020-08-08 15:32:54 -07:00
Dean Ferreyra 1198c10d43 Fix snapshots broken by #4256
Revert the change made to `WindowsSnapshot.ConvertToSnapshotPath()`
by pull request #4256.

The change in #4256 replaced some existing manual path construction
code with a call to `SystemIO.IO_WIN.PathCombine()`, but calling
`SystemIO.IO_WIN.PathCombine()` this way did not always result in
valid VSS paths.  For example, trying to back up a root volume like
"C:\" would result in the following error:
```
The filename, directory name, or volume label syntax is incorrect.
```
2020-08-07 21:51:11 -07:00
Kenneth SkovhedeandGitHub 648d199427 Merge pull request #4277 from dgehri/feature/USN-deleted-files-fix
Enabled support for \$Extend\$Deleted special MTF folder when using USN
2020-08-07 12:07:44 +02:00
Daniel Gehriger 279d8d2d2c Fixed usn reason comparison (was too severe) 2020-08-06 17:58:19 +02:00
Daniel Gehriger 51ce673831 Removed debug assert 2020-08-06 16:56:52 +02:00
Daniel Gehriger b25d4b47ca Enabled support for \$Extend\$Deleted special MTF folder when using USN 2020-08-06 16:37:48 +02:00
Kenneth Hsu e964072690 Target .NET Framework 4.7.1.
This updates all projects to target .NET Framework 4.7.1.  The
TencentCOS and Tardigrade backends depend on .NET Standard 2.0.  When a
.NET Framework prior to 4.7.1 is targeted, the system cannot be sure
that all the dependencies exist, so it copies all dependent assemblies
to the output directory.  This causes many assemblies from the System
namespace to become bundled in the release.

https://stackoverflow.com/a/48875007

We had previously attempted to make individual projects target 4.7.1
(see pull request #4242), but this can cause compatibility issues when
4.6.2 projects depend on 4.7.1. projects.

This will require Mono 5.10.0 or greater (previously, we required 5.0.0
or greater).

https://www.mono-project.com/docs/about-mono/releases/5.10.0/#class-libraries

This fixes issue #4234.
2020-07-26 19:46:01 -07:00
Dean Ferreyra d154702020 Support problematic Windows paths
Fix pull request string comparisons in SystemIOWindows.cs to use
StringComparison.Ordinal.

Fix pull request to use SystemIO.IO_WIN.PathCombine() in
WindowsSnapshot.cs.
2020-07-19 16:24:51 -07:00
Dean Ferreyra 6acbbf2136 Support problematic Windows paths
Allow historically problematic Windows paths (i.e., files or
directories that end in a dot or a space) to be backed up with
Duplicati in Windows.

This fixes #3839.
2020-07-17 21:50:29 -07:00
Kenneth Hsu 53730b3fc1 Remove comment disabling ReSharper warning.
This warning no longer applies.
2020-03-14 14:14:44 -07:00
Rod Savard 1b0f5a8cb0 add descriptive reason for usn soft failure 2020-02-25 15:34:42 -08:00
warwickmmandGitHub 1dbaf360a6 Merge pull request #4080 from drwtsn32x/improve-config-change-detection
Consider file attributes and max file size exclusions in USN hash
2020-02-02 21:29:44 -08:00
Rod Savard 247a452d2b send array of strings instead of single concatenated string 2020-02-02 20:53:09 -08:00
drwtsn32xandGitHub 5ad530ef05 Merge pull request #4063 from warwickmm/remove_string_format
Remove redundant calls to String.Format
2020-02-02 16:46:31 -08:00
Rod Savard a85c10fd8c move config hash calculation to UsnJournalService 2020-02-02 15:09:23 -08:00
Rod Savard 685c77a018 remove unused parameter 2020-02-01 23:15:26 -08:00
Rod Savard 0a9880c6cf change config hash calculation 2020-02-01 13:34:21 -08:00
Rod Savard a974310f01 if full scan occurred, do not append previous set 2020-02-01 08:12:16 -08:00
Kenneth Hsu 3551238000 Remove redundant calls to String.Format. 2020-01-25 17:07:02 -08:00
Kenneth Hsu 83ac03843d Fix spelling errors in comments.
In doing so, we also normalized some line endings.
2019-12-14 09:52:55 -08:00
Kenneth SkovhedeandGitHub 99d0cb3c57 Merge pull request #3953 from warwickmm/make_fields_readonly
Mark fields that don't need to be reassigned as readonly
2019-10-21 08:36:17 +02:00
Kenneth Hsu 2aa76881a5 Mark fields that don't need to be reassigned as readonly.
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2019-10-19 13:59:22 -07:00
Kenneth Hsu afab61a05b Use pattern matching to simplify casts. 2019-10-19 10:15:38 -07:00
BlueBlock 1dc345eada Merge remote-tracking branch 'upstream/master' into fix-stop-after-current-file 2019-08-31 18:57:16 -04:00
BlueBlock 9c7accf5f7 add braces for codacy 2019-08-23 10:54:15 -04:00
BlueBlock e52cef304b codacy fixes applied 2 2019-08-02 13:54:30 -04:00
BlueBlock 4407d24f5d codacy fixes applied 2019-08-02 13:48:50 -04:00
BlueBlock 815e30b63b update csproj toolverion and nuget packages 2019-07-31 13:20:03 -04:00
BlueBlock 08a1e9998a initial upgrade to framework 4.6.2
- no code changes except those noted below
- projects upgrade to 4.6.2
- wixinstaller project upgraded automatically by VisualStudio
- wixinstaller updated to require 4.6.2
- Library.Encryption changed to Standard2.0 so accommodate update to SharpAesCrypt
2019-07-26 09:18:16 -04:00
BlueBlock 14e6068a5f Also stop the file enum process when the user has cancelled
The file enumeration process should also stop when the user has cancelled the operation.
2019-07-24 15:58:44 -04:00
Kenneth Hsu ca6bbdc37a Remove unnecessary line breaks. 2019-01-02 15:45:53 -08:00
Kenneth Hsu 7dc240d447 Avoid redundant addition of trailing slashes to folder names.
The Utility.EnumerateFilesAndFolders method will append the trailing
slash as needed.
2019-01-02 15:45:53 -08:00
Kenneth Hsu 8dd3aeaf26 Use invariant culture in calls to ToLower and ToUpper. 2018-12-11 21:21:07 -08:00
Kenneth Hsu f20afd6106 Use ordinal string comparison. 2018-11-21 21:08:13 -08:00
verhoek 2051e0b272 Added null check for writers to include in vss (issue 3494).
Improved exception logging.
2018-11-13 21:04:34 +01:00
verhoek ab12be6bbd Renamed IsClientLinux to IsClientPosix . 2018-11-03 09:26:04 +01:00
verhoek 72b1f6b6f8 Updated project files. 2018-11-02 22:45:07 +01:00
verhoek 8bb406cd15 Migrated to use the platform class. 2018-11-02 22:17:16 +01:00
verhoek b2cc18426c Renamed Library.IO to Library.Common.IO.
Moved basic Platform functions to Library.Common.Platform.
Turned IO_OS into property within Library.Common.
2018-11-02 21:34:07 +01:00
verhoek 9fb38ebe9a Continuation of Util.DirectorySeparatorString replacements. 2018-11-02 17:48:17 +01:00
verhoek 84edc2c91e We hide IsPathTooLong from higher levels.
Respect the apparent previous approach to first try to fall back on System.IO
in case a path is too long or starts with a long UNC.
2018-10-31 13:08:14 +01:00