Commit Graph
23 Commits
Author SHA1 Message Date
Kenneth Skovhede 9dfe977d3f Changed logic so the source providers are now logically mounted into the source directory structure.
This fixes the restore issues as all sources will now appear as if they were originally part of the source file system.

The backend implementation has now been simplified so the backends only return names of entries with no path information.  Most backends already do this, but the S3 backends did not, so this was fixed as well.

This also clears up the interfaces, so the backend does not know about the `ISourceProviderEntry`. All mapping is done by the `BackendSourceProvider`, making it simpler to support other backends as sources.
2025-02-21 16:06:55 +01:00
Kenneth Skovhede ac603a4d8f Renamed SourceFolders to SourceEntries as it can contain files as well 2025-02-18 22:32:37 +01:00
Kenneth Skovhede bb5fd80a29 Implemented support for some backends as sources: SSH, CIFS, and S3 2025-02-17 14:01:08 +01:00
Kenneth Skovhede 356d117b86 Ensure directory paths end with a separator 2025-02-16 16:08:28 +01:00
Kenneth Skovhede 8c935a7344 This creates a new ISourceProvider interface for describing a data source.
With this interface it is possible to wrap the current support for snapshots and USN and simplify the enumeration.

This makes a number of assumptions into fields such as `IsMetaEntry` and `IsRootEntry` that removes code that was checking for various properties.

This first commit has support for VSS and USN as well as "naked" files, keeping feature parity.

There is also an experimental support for loading a backend-as-a-source. The support for this is currently limited as the backends need to be extended to support a folder concept.
2025-02-09 16:14:22 +01:00
Kenneth SkovhedeandGitHub 9464caf622 Feature/update license 2025 (#5851)
* Fixed some minor whitespace issues

* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Kenneth Skovhede d16d702975 More fixes for stray using directives 2024-02-28 20:42:33 +01:00
Kenneth Skovhede 40dd3c6816 Updated all license mentions to MIT 2024-02-28 15:45:30 +01: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
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 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
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 8954679b7a Reverted snapshot base to use standard system.io . Only overriden methods use Library.IO wrappers. 2018-10-31 12:32:07 +01:00
verhoek dd74245b75 Handled GetFiles calls at risky spots in combination with PathTooLongExceptions. 2018-10-30 17:16:13 +01:00
verhoek a90f577624 Redirected GetDirectories calls to Library.IO's version. 2018-10-30 13:38:25 +01:00
verhoek 181a1b0a1a Use moved helpers in IO.Util . 2018-10-27 12:27:41 +02:00
Daniel Gehriger 6ce298b4af Fixed USN in conjunction with snapshots on Windows 2018-04-22 23:37:45 +02:00
Daniel Gehriger a7d60d88d7 Fixed post-processing of modified file list obtain from USN 2018-04-22 23:03:15 +02:00
Daniel Gehriger b97d4e0dbb Correctly filtering list of changed files / folders using exclusion filter 2018-04-20 17:30:08 +02:00
Daniel Gehriger 96d1390412 Disabling USN for now when snapshots are used - this will be enabled shortly 2018-04-20 09:44:48 +02:00
Daniel Gehriger 8af63b1d5d Fixed some of the issues reported by codacy. The others are incorrect warnings. 2018-04-20 09:17:06 +02:00
Daniel Gehriger 2c1a0ddb4e Implemented backup based on changes recorded in NTFS USN journal 2018-04-19 22:59:28 +02:00