Commit Graph
564 Commits
Author SHA1 Message Date
Kenneth Skovhede 98aa8c9537 Rewrote the file-backed list to use a buffer, and fixed some bugs when falling over to a file 2013-07-09 13:55:31 +02:00
Kenneth Skovhede b69cdcb136 Fixed filters to include everything if empty.
Will now include by default if there are only exclude filters.
If there are any include filters, the files are excluded by default.
2013-06-30 12:42:13 +02:00
Kenneth Skovhede a9ca999962 Updated to allow files as input arguments to backup 2013-06-29 12:17:52 +02:00
Kenneth Skovhede 2bf912a0af Rewrote the filter system to distinguish between match and result, which allows filter combinations 2013-06-29 12:16:30 +02:00
Kenneth Skovhede 8f69fc85c2 Removed a bunch of warnings 2013-06-26 21:29:03 +02:00
Kenneth Skovhede b9114e0125 Removed unused files 2013-06-01 14:59:39 +02:00
Kenneth Skovhede 6dc2864b7c Stray binary cleanup 2013-05-25 22:08:04 +02:00
Kenneth Skovhede d696670598 Reworked the result reporting to support type safe values 2013-05-25 16:40:15 +02:00
Kenneth Skovhede 687e60b847 Added generic version of a file-backed list, to accommodate large datasets without exhausting memory 2013-05-22 21:31:46 +02:00
Kenneth Skovhede 21f8b14da2 Fixed some whitespace issues.
Adde method to serialize an object for printing
2013-05-22 21:19:38 +02:00
Kenneth Skovhede 47a362df1a Fixed including the SQLite binaries with the build 2013-05-20 15:09:47 +02:00
Kenneth Skovhede c3ae36b4cd Fixed parsing urls with no path information 2013-05-20 14:05:28 +02:00
Kenneth Skovhede 48a675b0da Fixed bugs after rewriting filesystem enumerators to use filters and IEnumerable<string> 2013-05-15 21:50:16 +02:00
Kenneth Skovhede c29d9d00b9 Implemented the backup command.
Rewrote filter handling across the entire project.
2013-05-13 22:32:05 +02:00
Kenneth Skovhede c596434cab Removed unused options and dropped the fh- prefix for forest hash options 2013-05-08 19:57:13 +02:00
Kenneth Skovhede 12b52d8d84 Merge branch 'master' into sandboxes/Kenneth/ForestHash 2013-05-06 20:36:56 +02:00
Kenneth Skovhede d3f4058057 Fixed various minor issues with backends 2013-05-06 20:36:26 +02:00
Kenneth Skovhede 866dfbcb98 Merge branch 'master' into sandboxes/Kenneth/ForestHash 2013-05-06 09:11:17 +02:00
Kenneth Skovhede 07adaa53c9 Added url encode/decode for the username and password to allow all kinds of username/password setups 2013-05-06 09:10:41 +02:00
Kenneth Skovhede c6dfc79ab4 Merge branch 'master' into sandboxes/Kenneth/ForestHash 2013-05-06 09:01:08 +02:00
Kenneth Skovhede 68bf7109f7 Bugfix to the Uri parser 2013-05-06 09:00:29 +02:00
Kenneth Skovhede b78f7ab8a3 Merge branch 'master' into sandboxes/Kenneth/ForestHash
Conflicts:
	Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
2013-05-05 23:52:01 +02:00
Kenneth Skovhede e5b3f0ea93 Rewrote all backends to use the new Uri parser.
Updated the regex to be a little more forgiving.
Does not handle paths with @, like "ftp://server/@folder"
2013-05-05 23:46:00 +02:00
Kenneth Skovhede 86b52d364d Added a custom URL parser 2013-05-05 21:18:00 +02:00
Kenneth Skovhede c7836ce403 Removed support for the old file format 2013-05-05 17:54:59 +02:00
Kenneth Skovhede 1dd3410a74 Auto-gen stuff 2013-05-05 13:55:34 +02:00
Kenneth Skovhede 9c5183f794 Merge branch 'master' into sandboxes/Kenneth/ForestHash
Conflicts:
	Duplicati.sln
	Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
	Duplicati/CommandLine/Decrypter/Duplicati.CommandLine.Decrypter.csproj
	Duplicati/CommandLine/Duplicati.CommandLine.csproj
	Duplicati/GUI/Datamodel/Datamodel.csproj
	Duplicati/GUI/Duplicati.GUI.MacTrayIcon/Duplicati.GUI.MacTrayIcon.csproj
	Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
	Duplicati/GUI/Duplicati.csproj
	Duplicati/Library/Backend/CloudFiles/Duplicati.Library.Backend.CloudFiles.csproj
	Duplicati/Library/Backend/FTP/Duplicati.Library.Backend.FTP.csproj
	Duplicati/Library/Backend/File/Duplicati.Library.Backend.File.csproj
	Duplicati/Library/Backend/GoogleDocs/Duplicati.Library.Backend.GoogleDocs.csproj
	Duplicati/Library/Backend/S3/Duplicati.Library.Backend.S3.csproj
	Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
	Duplicati/Library/Backend/TahoeLAFS/Duplicati.Library.Backend.TahoeLAFS.csproj
	Duplicati/Library/Backend/WEBDAV/Duplicati.Library.Backend.WEBDAV.csproj
	Duplicati/Library/Compression/Duplicati.Library.Compression.csproj
	Duplicati/Library/DynamicLoader/Duplicati.Library.DynamicLoader.csproj
	Duplicati/Library/Encryption/Duplicati.Library.Encryption.csproj
	Duplicati/Library/Interface/Duplicati.Library.Interface.csproj
	Duplicati/Library/Logging/Duplicati.Library.Logging.csproj
	Duplicati/Library/Main/Duplicati.Library.Main.csproj
	Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
	Duplicati/Library/SharpRSync/Duplicati.Library.SharpRSync.csproj
	Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
	Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
	Duplicati/License/Duplicati.License.csproj
	Duplicati/Server/Duplicati.Server.Serialization/Duplicati.Server.Serialization.csproj
	Duplicati/Server/Duplicati.Server.csproj
	Duplicati/Winforms/Controls/Duplicati.Winforms.Controls.csproj
	WizardForm/WizardForm.csproj
2013-05-05 13:55:18 +02:00
Kenneth Skovhede 0014b69ccf Removed unused x86 configurations and fixes som build refrences 2013-05-05 13:45:02 +02:00
Kenneth Skovhede 37a60c10df Auto-gen stuff 2013-05-04 14:25:07 +02:00
Kenneth Skovhede f40c6275aa Cleanup that fixes leftover temporary files 2013-04-16 22:36:19 +02:00
Kenneth Skovhede 53a6631a85 Mono-fication of projects 2013-03-16 12:07:58 +01:00
Kenneth Skovhede aca4ed95cc More work on the block hash.
Rewrote the backup and restore to work within a transaction as that speeds things up a lot.
Rewrote the backup procedure to generate the file list from the database, instead of on-the-fly as that is more efficient.
Re-arranged the database to use less storage on large sets of unchanged files.
2013-03-08 22:24:54 +01:00
kenneth@hexad.dk f317317cb5 Fixed some errors after moving the databaseupgrader into util
git-svn-id: https://duplicati.googlecode.com/svn/sandboxes/Kenneth/ForestHash@1534 59da171f-624f-0410-aa54-27559c288bec
2013-02-27 14:26:53 +00:00
kenneth@hexad.dk a0521da54d Initial version of the new block-based storage format.
Still needs a work over in terms of error handling, progress reporting, warning output, refactoring etc.
Also misses the volume reuse/reclaim algorithms.
But it passes the unit tests now, with and without a local database.

git-svn-id: https://duplicati.googlecode.com/svn/sandboxes/Kenneth/ForestHash@1526 59da171f-624f-0410-aa54-27559c288bec
2013-02-12 21:43:14 +00:00
kenneth@hexad.dk 6a0c6b583e Merged r1500 into trunk, reintegrated branch sandboxes/Aaron/issue331
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1512 59da171f-624f-0410-aa54-27559c288bec
2013-01-22 19:20:19 +00:00
kenneth@hexad.dk bc099b0f97 Update issue #766
Refactored the patch from issue #766
Moved reading into a function in the utility module.
Moved parsing of file data into a function.

Added parameters to the command line client, such that the CLI may have options.
Implemented these options in the help output, so the --parameters-file can be viewed from the help.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1511 59da171f-624f-0410-aa54-27559c288bec
2013-01-22 16:12:24 +00:00
kenneth@hexad.dk 8bf025134c Added option to specify multiple hashes in the hash override option
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1491 59da171f-624f-0410-aa54-27559c288bec
2012-12-08 12:54:56 +00:00
kenneth@hexad.dk f256d2cfa8 Reintegrated sandbox Andreas/webui into trunk, as that is what we will be using onwards
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1482 59da171f-624f-0410-aa54-27559c288bec
2012-11-18 16:24:32 +00:00
kenneth@hexad.dk b277f6325d Fairly large rewrite of how files and paths are handled.
This fixes issues #144, #577 and #320.

This update introduces a new options called "symlink-policy" that can be set to "store", "ignore" or "follow".
The default setting "store" means all symlinks are recorded as symlinks and recreated as symlinks on restore. This is chosen as default because it is the best replication of the actual disk contents.
Setting it to "ignore" simply means that no information is recorded about any symlinks.
And lastly, setting it to "follow" reverts to the previous default of treating symlinks as if they are normal files/folders.
Caveat: On Windows, you need Administrator privileges to create symlinks (when restoring), but not for reading them (on backup).

Since this change meant that the file attributes must be read, I also added support for the option "exclude-files-attributes", that can be used to ignore/exclude files with certain attributes, such as "hidden", "archive" or "encrypted".

Since I had to much about so much with getting the symlinks supported on Windows, I also added some extra logic to the Windows file handler, so it can now handle files and folders with up to 32k chars in the path. The logic is done so that the normal System.IO operations are used for paths with less than 260 characters (MAX_PATH), and on error or longer paths, the Win32 Unicode API is invoked. This should give maximal backwards compatibility and still allow backup and restore of files with long paths.

This commit also includes a BlockingQueue implementation that is supposed to make file/folder enumeration faster, but this has not been implemented because Duplicati depends on having a "whole world" view of the files and folders before running the backup (i.e. deeper changes required for this).


git-svn-id: https://duplicati.googlecode.com/svn/trunk@1381 59da171f-624f-0410-aa54-27559c288bec
2012-07-29 20:07:10 +00:00
kenneth@hexad.dk c74092f8a9 Fixed some timeout/abort issues by implementing everything by hand, on top of the async methods.
Now the WebRequest.Timeout property ONLY affects the GetRequestStream() and GetResponse() methods as the documentation says it SHOULD.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1331 59da171f-624f-0410-aa54-27559c288bec
2012-06-06 12:55:48 +00:00
kenneth@hexad.dk b950d6e342 Added terabyte (TB) as size format
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1291 59da171f-624f-0410-aa54-27559c288bec
2012-05-15 17:58:51 +00:00
kenneth@hexad.dk b7a99e1659 Moved the date/time EPOCH value to the utility library
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1281 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 20:49:41 +00:00
kenneth@hexad.dk 917f5315c7 Changed 64bit detection to be a common property.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1190 59da171f-624f-0410-aa54-27559c288bec
2012-03-29 05:49:07 +00:00
kenneth@hexad.dk 2debbaa001 Merged copy buffer size fix r1140, into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1141 59da171f-624f-0410-aa54-27559c288bec
2012-02-21 09:50:05 +00:00
kenneth@hexad.dk eeee931ea0 All tray icons are now working.
This changes all implementations to run off the TrayIconBase, so there is only a single place to maintain the tray icon and menus.
WinForms and Gtk has been updated to use this new implementation.
The ApplicationIndicator has been added so the TrayIcon now shows under Ubuntu Unity as well.
Cocoa support has been added so there is now a NSStatusItem. In order to debug this, a special MonoDevelop-MonoMac project has been added, but this is not used in the solution. The project just loads the regular implementation, but the project builds a .app package and debugs from it. Everything should build on a stock Windows machine with VS, and Ubuntu/OSX with MonoDevelop (needs WinForms to build, but not to run).

The TrayIcon icons are now limited to Idle,Paused,Running and an Error/Warning notifier overlay, giving a total of six icons.
The graphics needs to be updated to reflect this, and the server SuggestedStatusIcon should be changed to only output one of these states.

git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@1039 59da171f-624f-0410-aa54-27559c288bec
2011-11-28 11:05:42 +00:00
kenneth@hexad.dk a571f239fb Fixed some build issues after the merge.
Also fixed the build problems with MonoDevelop (non-signed assemblies)

git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@1009 59da171f-624f-0410-aa54-27559c288bec
2011-11-18 23:47:27 +00:00
kenneth.skovhede@gmail.com b108e96e8e Temporary checkin for the 2.0 stuff
git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@1005 59da171f-624f-0410-aa54-27559c288bec
2011-11-18 18:03:18 +00:00
kenneth@hexad.dk 63580c169b Merged trunk into 2.0 branch
git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@1000 59da171f-624f-0410-aa54-27559c288bec
2011-11-17 22:44:36 +00:00
kenneth.skovhede@gmail.com fb7e36636b Update issue #490
Status: Fixed
The UI will now validate the servername to avoid problems with incorrect hostnames.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@956 59da171f-624f-0410-aa54-27559c288bec
2011-10-30 08:49:15 +00:00
kenneth.skovhede@gmail.com daa0cb0c75 Update issue #119
Status: Fixed

I managed to figure out how to overwrite existing files, instead of the delete-then-upload fix.
I also fixed some other minor issues with SkyDrive.

A new preview release will be up asap.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@945 59da171f-624f-0410-aa54-27559c288bec
2011-10-25 19:07:55 +00:00