Commit Graph
60 Commits
Author SHA1 Message Date
Kenneth Skovhede 7465b8b2bd Update issue #896
Applied patch from Tobias that lowers memory usage, by not applying multi-threaded compression on dindex and dlist files.
2013-11-14 10:52:02 +01:00
Kenneth Skovhede 3f49f2506f Added hinting to the compression modules to avoid aggressive compression of index files with very little benefit 2013-11-13 21:19:26 +01:00
Kenneth Skovhede acb1e664f8 Added LZMA support based on the code provided by Tobias Käes.
Apart from building a binary, some minor fixes were applied to follow the Duplicati style more.
Some variables were renamed, all strings were moved to the resx files, and the compression hint was included.
The compression detection was removed, and now uses the common implementation.
2013-08-17 15:55:43 +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 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 3bd1fc8b21 Improved access speed to zip-based archives 2013-04-09 21:37:44 +02:00
Kenneth Skovhede fd5a9b6f7c Improved access speed to zip-based archives 2013-04-08 22:20:21 +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 e170d781f0 Resynced trunk into ForestHash
git-svn-id: https://duplicati.googlecode.com/svn/sandboxes/Kenneth/ForestHash@1536 59da171f-624f-0410-aa54-27559c288bec
2013-02-27 20:57:58 +00:00
kenneth@hexad.dk be0d503951 Implemented file-extension based rules for disabling compression for already compressed files
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1535 59da171f-624f-0410-aa54-27559c288bec
2013-02-27 20:54:22 +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 2b2642defb Delayed the time before a compression volume is opened.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1492 59da171f-624f-0410-aa54-27559c288bec
2012-12-13 21:10:18 +00:00
kenneth@hexad.dk 03758e68ec Fixed a bug introduced with the refactoring and filename parsing changes.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1419 59da171f-624f-0410-aa54-27559c288bec
2012-08-07 19:35:46 +00:00
kenneth@hexad.dk 65c320c22d Rewrite of the way the compression modules are used.
The number of methods required by the ICompression interface is now reduce and all handling of path conversion and text encoding is now done in the CompressionWrapper class. This should make it easier to implement a new compression module, and reduce the number of errors that occur because of filename/encoding issues.

This commit also contains a fix for reporting a sane error message if the compression module is not found/loaded.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1417 59da171f-624f-0410-aa54-27559c288bec
2012-08-07 17:42:09 +00:00
kenneth@hexad.dk 7081aaed9a Re-integrated the LZMA branch into trunk.
Update issue #92
Duplicati 2.0 trunk now uses SharpCompress and allows compression using LZMA (and bz2, etc.)
Big thanks to Simon Colmer for working on this!

For now the file format is still zip, but the compression inside is different.
Once SharpCompress supports 7zip write, we can add that easily. Same goes for LZMA2 compression.



git-svn-id: https://duplicati.googlecode.com/svn/trunk@1397 59da171f-624f-0410-aa54-27559c288bec
2012-08-01 19:50:40 +00:00
kenneth@hexad.dk 35eb7b3992 Merged r1358 into trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1359 59da171f-624f-0410-aa54-27559c288bec
2012-07-14 10:37:56 +00:00
kenneth@hexad.dk dd3f6b575b Update issue #603
Status: Fixed

Corrected calculating the filename size in UTF-8, rather than local encoding.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1257 59da171f-624f-0410-aa54-27559c288bec
2012-05-08 18:27:12 +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 091994c0cb Merged trunk changes into 2.0 branch
git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@906 59da171f-624f-0410-aa54-27559c288bec
2011-09-23 06:24:58 +00:00
kenneth.skovhede@gmail.com c85deda4c4 Updated project files to VS2010 instead of the rather outdated VS2008, this should make things easier for new people joining in.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@874 59da171f-624f-0410-aa54-27559c288bec
2011-09-09 17:10:35 +00:00
kenneth.skovhede@gmail.com b0a359fd27 Updated license text
git-svn-id: https://duplicati.googlecode.com/svn/trunk@770 59da171f-624f-0410-aa54-27559c288bec
2011-05-09 19:52:28 +00:00
morten@momi.dk b6dc8981aa Update solution to .NET 4.0 and added new SSH backend based on SSH.NET.
git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@709 59da171f-624f-0410-aa54-27559c288bec
2011-03-07 20:15:29 +00:00
kenneth.skovhede@gmail.com 6c2c902c09 Added setting to control compression level for the Zip module, also changed default compression level from 6 to 9.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@651 59da171f-624f-0410-aa54-27559c288bec
2010-12-29 12:05:55 +00:00
kenneth.skovhede@gmail.com e7dc268fad Renamed the Duplicati.Library.Core dll to Duplicati.Library.Utility as the "Core" name was misleading.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@591 59da171f-624f-0410-aa54-27559c288bec
2010-11-21 11:08:15 +00:00
kenneth.skovhede@gmail.com 94631df620 Increased the size buffer a bit, because I saw one volume being too large.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@568 59da171f-624f-0410-aa54-27559c288bec
2010-10-29 20:50:37 +00:00
kenneth.skovhede@gmail.com b81d63ea73 Fixed a bug with async uploads that caused some files to no be uploaded.
Fixed a protential race condition with warning messages and file counts (cosmetic only) when using async transfers.
Spelling correction, Seperator -> Separator.
Changed so a restore operation can also supply advanced options.
Changed the format of timestamps in filenames to follow the Duplicity convention, which removes the need for --time-separator and --use-short-filenames.
Moved the URL utility into Core, to avoid compilation errors with Monodevelop.
Reorganized the runner to better support the LiveControls on all operations rather than only for backup/restore.

Update issue #210
Status: Fixed
I have now changed the time format to follow the Duplicity naming convention.
This means that all filenames are now generated with the time set as "yyyyMMddTHHmmssZ".
This format is more portable across all platforms, and easily sortable/readable.
The drawback is that the Z indicates UTC time, so if one looks at the filenames, 
the times are not local. The motivation for this is to avoid trouble
with daylight savings time offsets.

There is full backwards compatibility as long as backups have not used more than
one character for --time-separator (only possible via commandline).
This new format means that the options --time-separator and --use-short-filenames
are now deprecated and removed from the user interface. It is possible to
access them from the advanced options page, along with the --use-old-filenames option.

If anyone needs these options for some reason, let me know, otherwise they will be removed
in a later version.



git-svn-id: https://duplicati.googlecode.com/svn/trunk@523 59da171f-624f-0410-aa54-27559c288bec
2010-09-25 12:02:14 +00:00
kenneth.skovhede@gmail.com 76cac1ab86 Fixed a potential problem where the folder names where stored
in the local format (eg. using backslash). This could
create trouble if the backup was made on windows and restored
on linux.

Update issue #229
Status: Fixed

I have updated the code to store the correct time for the
files, as well as the folders. The folder timestamp
adds a slight overhead to the volumes, as Zip
archives have no folder entries, so the timestamps
for folders are kept in a separate file.

The time stored in the existing archives is the date the backup 
was made, not the last modified time, so it is not possible to 
restore the modification date for existing archives.
When restoring new archives, the correct date is set
for both files and folders.
When restoring older archives, the backup date is used
for files, and nothing is done for folders.

I also changed the internal storage to use UTC time format
for all timestamps to avoid problems with backup/restores on
machines with different timezones.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@484 59da171f-624f-0410-aa54-27559c288bec
2010-08-31 19:50:52 +00:00
kenneth.skovhede@gmail.com 1153d097fc Fixed various version information
git-svn-id: https://duplicati.googlecode.com/svn/trunk@460 59da171f-624f-0410-aa54-27559c288bec
2010-08-11 07:23:34 +00:00
kenneth.skovhede@gmail.com a40f6acf37 A fairly large refactoring of the code.
This was based on the idea that the interfaces should remain static.
I hope this change is enough to ensure stable interfaces until release 1.2.

Overview of changes:
Moved all interfaces into the same dll.
Encryption and compression is now plugable modules, just as the backends.
Encryption/compression can now register an UI.
Encryption now uses AESCrypt as a default.
GPG does not default to using the --armor option.
Added support for generic modules, but none are written yet.
Added support for plugable settings pages in the "Options" dialog.

Fixed issue #148.
Duplicati now uses AESCrypt as the default encryption format.

Fixed issue #199.
GPG now supports custom commandline options.

Fixed issue #207.
Encryption modules are now plugable.

Fixed issue #118.
S3 credentials are now stored.

Fixed issue #151.
Backends can now register system wide options.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@427 59da171f-624f-0410-aa54-27559c288bec
2010-06-19 21:08:21 +00:00
kenneth.skovhede@gmail.com 50f06f0f3a Merge Sandbox Issue #5 into trunk.
Fixed issue #5.
Fixed issue #48.
Fixed issue #58.
Fixed issue #194.
Fixed issue #195.
Fixed issue #201.
Fixed issue #137.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@400 59da171f-624f-0410-aa54-27559c288bec
2010-05-12 08:41:54 +00:00
kenneth.skovhede@gmail.com 21f503318c Added option to compile as x86, to support 64bit debugging, see:
http://www.slickit.ca/2009/06/fixing-visual-studios-edit-and-continue.html

git-svn-id: https://duplicati.googlecode.com/svn/trunk@387 59da171f-624f-0410-aa54-27559c288bec
2010-03-30 15:09:28 +00:00
kenneth.skovhede@gmail.com 05bfadbc41 Updated License notice to 2010
git-svn-id: https://duplicati.googlecode.com/svn/trunk@311 59da171f-624f-0410-aa54-27559c288bec
2010-01-03 22:57:13 +00:00
kenneth.skovhede@gmail.com f64e7ad8d7 Build r276
git-svn-id: https://duplicati.googlecode.com/svn/trunk@276 59da171f-624f-0410-aa54-27559c288bec
2009-09-14 20:23:46 +00:00
kenneth.skovhede@gmail.com 0b82b67d38 Adjusted install build procedure to work with a clean checkout and a release build.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@272 59da171f-624f-0410-aa54-27559c288bec
2009-08-27 21:18:18 +00:00
kenneth.skovhede@gmail.com 36ff6e736d Updated license texts and bumped version numbers
git-svn-id: https://duplicati.googlecode.com/svn/trunk@261 59da171f-624f-0410-aa54-27559c288bec
2009-08-20 20:54:43 +00:00
kenneth.skovhede@gmail.com 17306fe5f5 Work on issue #84, WEBDAV errors with Apache.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@235 59da171f-624f-0410-aa54-27559c288bec
2009-07-19 22:09:43 +00:00
kenneth.skovhede@gmail.com bc3be0eecb Fixed issue #80, Add backend tester.
Fixed a timing issue in the SSH backend, which hopefully solves issue #59.
An error message indicating missing executable filenames was switched between linux and windows.
Added a number of app.config files.
Updated version numbers.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@229 59da171f-624f-0410-aa54-27559c288bec
2009-07-19 12:08:59 +00:00
kenneth.skovhede@gmail.com f4fe982aef Fixed issue #81, Unicode support, thanks to Colm.
Fixed a debug commit which made the CommandLine version exit immediately.
Added a safeguard for broken language selections in the database.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@224 59da171f-624f-0410-aa54-27559c288bec
2009-07-16 20:01:46 +00:00
kenneth.skovhede@gmail.com 72c92dd78b Made the LocalizationTool more SDK version independant.
Updated some sub-projects to VS 2008, fixed .Net 3.5 dependencies to 2.0.
Added a language selection option to the settings dialog.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@222 59da171f-624f-0410-aa54-27559c288bec
2009-07-14 22:26:22 +00:00
kenneth.skovhede@gmail.com 17f87d1328 Updated to VS 2009 Express.
Added WixProjBuilder to build the Wix projects without MSBuild support.
Simplified the build/release process.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@215 59da171f-624f-0410-aa54-27559c288bec
2009-07-05 11:41:02 +00:00
kenneth.skovhede@gmail.com 79c99336ab A heavy chunk of work on the translation support.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@196 59da171f-624f-0410-aa54-27559c288bec
2009-06-14 21:51:06 +00:00
kenneth.skovhede@gmail.com b2f7ed7132 Updated version numbers for the 1.0 Final release.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@183 59da171f-624f-0410-aa54-27559c288bec
2009-06-08 22:34:26 +00:00
kenneth.skovhede@gmail.com 066b1965e5 Build for version 1.0 RC2
Included How to build release.txt

git-svn-id: https://duplicati.googlecode.com/svn/trunk@176 59da171f-624f-0410-aa54-27559c288bec
2009-05-16 11:11:26 +00:00
kenneth.skovhede@gmail.com 9301fc3d54 Re-updated file version numbers for the RC1 release.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@154 59da171f-624f-0410-aa54-27559c288bec
2009-04-18 10:17:46 +00:00
kenneth.skovhede@gmail.com d2aa3725b0 Updated version numbers on assemblies.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@153 59da171f-624f-0410-aa54-27559c288bec
2009-04-18 10:12:55 +00:00
kenneth.skovhede@gmail.com eab455ddc6 Reworked the way the backends are used, by introducing a higher level BackendWrapper.
Reworked encryption to not support streaming, but only pre/post process encrypted files.
The Get/Put methods in the BackendWrapper now automatically writes/reads from the signature cache.
Introduced a DoubleClickRadioButton for use on the main pages.
Fixed a bug where zero byte files would throw an exception on restore.
Fixed a bug where deleting a folder while building the filelist would interrupt the backup.
Fixed issue #17.
Fixed issue #22.
Fixed issue #38.
Added the commandline option to support issue #39, but still needs a UI entry.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@131 59da171f-624f-0410-aa54-27559c288bec
2009-03-26 19:39:50 +00:00
kenneth.skovhede@gmail.com b8c4a02d2d Fixed some assembly information
git-svn-id: https://duplicati.googlecode.com/svn/trunk@115 59da171f-624f-0410-aa54-27559c288bec
2009-03-16 22:41:02 +00:00
kenneth.skovhede@gmail.com b60219335e Fixes for issue #3.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@108 59da171f-624f-0410-aa54-27559c288bec
2009-02-26 18:33:52 +00:00