Commit Graph
23 Commits
Author SHA1 Message Date
Rod Savard f1e4ae884a adjust logic to support both dirseps, add comments 2020-03-30 17:15:03 -07:00
Rod Savard 1ccc407a44 simplify ordering operation 2020-03-29 09:17:40 -07:00
Rod Savard 85453b0f9e sort files 2020-03-28 09:21:35 -07:00
verhoek ab12be6bbd Renamed IsClientLinux to IsClientPosix . 2018-11-03 09:26:04 +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 71c6aca8a7 Fixed IO calls in Filebackend.
Moved FileEntry to Library.IO due to AlphaFS not implementing
System.IO.FileInfo/DirectoryInfo.
2018-11-01 17:56:48 +01:00
verhoek bc053df294 Moved basic IO helper functions to Library.IO. 2018-10-27 12:17:07 +02:00
verhoek 40dc6da81d Created separate package for io wrapper. 2018-10-25 20:01:55 +02:00
Kenneth Hsu 0c1ac9c489 Replace chained LINQ calls with call to overload with predicate.
This simplifies the code by reducing the number of enumerators created
while also making the code slightly more readable.
2018-10-06 16:20:18 -07:00
Kenneth Skovhede c4b564358c Spelling fixes 2018-08-12 22:33:21 +02:00
Kenneth Hsu 1f8b542604 Use nameof operator when constructing ArgumentNullException.
This will make rename refactorings easier in the future.
2018-03-07 17:53:08 -08:00
Rune Henriksen 8c6cfdff97 updated http status codes on many ReportClientError calls to explicitly state what is wrong 2018-02-25 15:05:23 +01:00
Tyler Gill 08e0708a95 Change Duplicati's handling of reparse points, so that not all reparse points are treated as symlinks.
This is inspired largely by the new (/ returning) feature of OneDrive in Windows 10 Fall Creator's Update, which downloads files on-demand.
A side effect of that change is that the OneDrive folder (and subfolders of it) are marked as reparse points, even though they are not technically standard symlinks.
With this change, a new extension method IsSymlink is added for ISnapshotService and ISystemIO, which checks both the file attributes (for reparse point) and the symlink target path (if null, the path is not treated as a symlink).
All places that previously checked only the file attributes have been updated to use either this method (or at least the same logic, in the case of the core BackupHandler file check).
One side effect of this change is that '--symlink-policy=store' no longer ignores empty symlinks - they are now treated as regular files.
If there are empty symlinks, they will now be backed up as if they were regular files, but I don't know what the conditions are that create symlinks like that, so this might not effect anything in practice.
2018-02-06 13:24:49 -07:00
Kenneth Hsu 8810e0130d Make string comparisons use ordinal (binary) sort rules.
These string comparisons should not be culture-aware.
2017-11-26 11:19:54 -08: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 0c68daff6c Fixed all whitespace to be 4 spaces instead of tabs 2016-09-15 11:39:27 +02:00
Tim Mylemans 9a2cc73983 Fixed multiple issues regarding listing folders and drives
Fixed: Listing drives on Windows now work if you have 1 or more drives
that are 'not ready' or when a drive' details could not be retrieved
while building the list (such entries are simply ignored)
Fixed: Trying to 'expand' a folder using the picker that became
unavailable in the meanwhile will now properly show a client side error
(instead of silently fail)
2016-03-30 10:15:20 +02:00
Kenneth Skovhede 2c8cac395e Show drive labels in UI on Windows.
This fixes #1610.
2016-03-13 14:19:55 +01:00
Kenneth Skovhede 3dc91014b8 Added filesystem validation to also check for files 2015-08-18 22:45:15 +02:00
Kenneth Skovhede fe1f349f78 Fixes and extensions to the REST API 2015-08-12 12:15:21 +02:00
Kenneth Skovhede 6dac0f3c2e Fixed an invalid line-ending character 2015-08-05 13:51:56 +02:00
Kenneth Skovhede 1f35824317 Converted to REST based API, with a wrapper layer for control.cgi so the current UI still works. 2015-07-30 14:31:27 +02:00