Commit Graph
50 Commits
Author SHA1 Message Date
kenneth@hexad.dk a292998f96 Changed so --debug-output also gives a stracktrace if the entire command line process crashes.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1418 59da171f-624f-0410-aa54-27559c288bec
2012-08-07 17:54:58 +00:00
kenneth@hexad.dk 7e5dd2d581 Update command line help to use a friendlier format.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1258 59da171f-624f-0410-aa54-27559c288bec
2012-05-08 18:32:31 +00:00
kenneth@hexad.dk 93dbd7fb02 Update issue #613
Status: Fixed

That was caused by a fix in r1159.
I have tested that the fix does not cause a regression.
Strange that it has not been reported before though.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1246 59da171f-624f-0410-aa54-27559c288bec
2012-05-06 19:37:16 +00:00
kenneth@hexad.dk 87263927de Fixed a problem with using delete-all-but-n as an option instead of as a command.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1159 59da171f-624f-0410-aa54-27559c288bec
2012-03-17 12:00:32 +00:00
kenneth@hexad.dk eb5583aee1 Update issue #532
Status: Fixed

Changed the included GPG to use gpg4win version 2.1.0 and include all required files.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1120 59da171f-624f-0410-aa54-27559c288bec
2012-02-03 07:34:25 +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.skovhede@gmail.com c138d1668e Added the delete-all-but-n command
git-svn-id: https://duplicati.googlecode.com/svn/trunk@939 59da171f-624f-0410-aa54-27559c288bec
2011-10-19 05:50:10 +00:00
kenneth.skovhede@gmail.com a2c69ee672 Made some user-experience enhancements for the commandline interface
git-svn-id: https://duplicati.googlecode.com/svn/trunk@833 59da171f-624f-0410-aa54-27559c288bec
2011-07-23 14:57:32 +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
kenneth.skovhede@gmail.com fb62721ea2 Changed the way the commandline usage text is stored, so it is easier to localize
git-svn-id: https://duplicati.googlecode.com/svn/trunk@734 59da171f-624f-0410-aa54-27559c288bec
2011-03-27 15:07:55 +00:00
kenneth.skovhede@gmail.com c753e7c622 Changed the default filesize to be -1 to differentiate files with length = 0 from those with no reported length.
Now also stores the filename+size of signature/content files to ensure that the parsed filenames match the expected ones.
The filesize and filenames are used to verify that the remote file is complete, without downloading it.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@716 59da171f-624f-0410-aa54-27559c288bec
2011-03-11 18:42:20 +00:00
kenneth.skovhede@gmail.com b834dab602 This commit upgrades the manifest version number to 3.
This commit includes an option to create an unencrypted verification file.
There is now a check to see if all volumes mentioned in the manifest exists,
before performing backup/restore operations.
This check is also performed on cleanup.
There is now a check that prevents auto-cleanup from removing more than
2 orphan files. 

If a delete-older-than or delete-all-but-n-full is interrupted, the leftover
files will not be auto-deleted but must be deleted with the cleanup command,
which allows the user to see what files are delete.

Update issue #360
Status: Fixed

There is now a complete verification chain, where the manifest hashes are verified backwards.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@711 59da171f-624f-0410-aa54-27559c288bec
2011-03-10 18:26:38 +00:00
kenneth.skovhede@gmail.com 66bd9acfc8 Added support for custom version numbers, so 1.99.0.605 can be displayed as "1.2 beta 1"
git-svn-id: https://duplicati.googlecode.com/svn/trunk@647 59da171f-624f-0410-aa54-27559c288bec
2010-12-28 12:55:03 +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 91a14b451d Added a DEBUG text to all dialogs and the commandline version number
git-svn-id: https://duplicati.googlecode.com/svn/trunk@578 59da171f-624f-0410-aa54-27559c288bec
2010-11-05 06:56:07 +00:00
kenneth.skovhede@gmail.com b69935e0cc Update issue #264
Status: Fixed
Added a find-last-version command to the commandline version,
it takes the same input as a restore operation, so
use --file-to-restore to supply a list of files to search for.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@559 59da171f-624f-0410-aa54-27559c288bec
2010-10-23 13:10:54 +00:00
kenneth.skovhede@gmail.com 6cbe503d28 The logic for missing folders on the backends have changed.
Previously some backends autocreated a missing folder, and some threw an exception.

The new standard is that all backends throw the FolderMissingException on all access (except delete).
This means that the Test() and List() methods are now the same for all stock backends.
Third-party applications that use the backends should implement custom logic to auto-create the folders,
when the FolderMissingException is encountered.

Duplicati auto-creates missing folders, but this can be toggled through the new flag --disable-autocreate-folders.
In case the auto-create fails to detect a missing folder, there is now a "create-folder" action in the commandline version.

Update issue #102
Status: Fixed
The IBackend_v2 interface has the CreateFolder and Test methods.
The CreateFolder is exposed to the commandline interface with the action create-folder.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@558 59da171f-624f-0410-aa54-27559c288bec
2010-10-23 11:40:43 +00:00
kenneth.skovhede@gmail.com 7dc0d3cee7 Fixed some issues with passwordless operations.
Update issue #235
I have now added a simple version of the collection-status command,
which shows Type, Time, Volume count and Size for each backup set,
with the incrementals listed under the full's they belong to.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@540 59da171f-624f-0410-aa54-27559c288bec
2010-10-09 16:46:52 +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 df085e4271 Update issue #221
Status: Fixed
Added the first generic module, a password request module.
The motivation for this is to allow the creation of custom passphrase modules.
A simple model would be to add a GUI input dialog. 
A more sophisticated version may read a passphrase to an encrypted file which contains the real passphrase or similar.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@519 59da171f-624f-0410-aa54-27559c288bec
2010-09-17 16:20:16 +00:00
kenneth.skovhede@gmail.com 08a58bfdbb Update issue #262
Status: Fixed

It turns out that the fix to enable filters disabled the --file-to-restore option.
I have fixed that and also updated the restore output to correctly reflect what has happened during the restore.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@505 59da171f-624f-0410-aa54-27559c288bec
2010-09-11 11:12:46 +00:00
kenneth.skovhede@gmail.com 88ca81777d Fixed a problem with filters and the CommandLine version, see issue #258.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@494 59da171f-624f-0410-aa54-27559c288bec
2010-09-04 12:24:46 +00:00
kenneth.skovhede@gmail.com 4aca3e0aee Update issue #47
Status: Fixed
I have now added a 32bit version of gpg.exe and pscp.exe to the
package. On startup, the subfolder "win-tools" is appended to the
PATH environment variable, making them available from within Duplicati,
but preferring any system path items.

This only happens on windows. 
I assume any decent Linux distro has scp, expect and gpg.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@491 59da171f-624f-0410-aa54-27559c288bec
2010-09-01 21:06:33 +00:00
kenneth.skovhede@gmail.com 51552bea24 Fixes for issue #18.
Added snapshot support using either VSS (win xp/vista/7) or LVM (linux).
Using the snapshot feature requires administrative/root privileges, and is toggled by the "snapshot-policy" option (by commandline or in advanced settings).

Also improved the validation of options to not show incorrect warnings.
This fixes issue #233.


git-svn-id: https://duplicati.googlecode.com/svn/trunk@461 59da171f-624f-0410-aa54-27559c288bec
2010-08-12 18:32:15 +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 70708fc454 Fixed issue #136.
Fixed issue #182.
Fixed an error with the commandline version reported in the forum.
Added improved error output.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@417 59da171f-624f-0410-aa54-27559c288bec
2010-05-24 09:00:03 +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 d8660416c0 Cleaned up passphrase reading in the commandline version.
Fixed an incorrect specifier for Year in the time parser.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@353 59da171f-624f-0410-aa54-27559c288bec
2010-01-30 20:37:27 +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 55ca654e73 Support for compiling under MonoDevelop
git-svn-id: https://duplicati.googlecode.com/svn/trunk@241 59da171f-624f-0410-aa54-27559c288bec
2009-07-25 09:03:37 +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 9b13c60a01 Added a FTP_USERNAME environment variable and corresponding --ftp-username option.
Fixed issue #86.
Fixed issue #87.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@225 59da171f-624f-0410-aa54-27559c288bec
2009-07-16 20:36:49 +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 d5e2cb65c2 First version of the LocalizationTool, you can now generate resx files for a language.
Added a stub version of the danish translation files, which are not yet translated.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@198 59da171f-624f-0410-aa54-27559c288bec
2009-06-21 20:22:49 +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 ecb2819be9 Made the S3 provider backwards compatible, now that the filenames don't have a prefixed slash.
Added option to examine a backup for issue #37, but it should be a tree.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@135 59da171f-624f-0410-aa54-27559c288bec
2009-03-29 21:59:00 +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 acfcd02a3a Fixed issue #14, and added a more readable output than what was avalible in beta 3.
Added commandline action to purge the signature cache.
Duplicati now removes files from the signature cache when they are deleted from the backend.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@130 59da171f-624f-0410-aa54-27559c288bec
2009-03-23 20:44:25 +00:00
kenneth.skovhede@gmail.com 365f8d7f30 Improved the usage dialog greatly, and added some missing options.
Still needs to describe the filter system.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@129 59da171f-624f-0410-aa54-27559c288bec
2009-03-22 22:55:04 +00:00
kenneth.skovhede@gmail.com 513c3b3f56 Now able to print usage.
The internal use of the option dictionary should be
changed to only use the encapsulating class to ease future maintenance.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@126 59da171f-624f-0410-aa54-27559c288bec
2009-03-22 17:33:11 +00:00
kenneth.skovhede@gmail.com 0cd0b4d1c8 Added the cleanup method, this closes #16.
Fixed a bug where non-modified files were marked as deleted.
Cleaned up the ListContent method to use the same code as the Backup method, this closes #31.
Added a WEBDAV backend for #28, but there is no UI for it yet.
Made most of the work for documenting commandline options, #14.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@123 59da171f-624f-0410-aa54-27559c288bec
2009-03-21 12:46:54 +00:00
kenneth.skovhede@gmail.com 8babf1d616 Updated license notices.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@85 59da171f-624f-0410-aa54-27559c288bec
2009-02-10 23:36:15 +00:00
kenneth.skovhede@gmail.com 56465d5b20 Finished converting the Wizard to use a less centralized approach.
Converted the wizard to use a settings-bag approach instead of modifying the objects directly. This should prevent cruft data on the objects.
The newly re-written wizard is not tested yet, and the restore part is still missing the file selection part.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@77 59da171f-624f-0410-aa54-27559c288bec
2009-02-04 22:18:13 +00:00
kenneth.skovhede@gmail.com b19b9c4690 Added statistics to output, and options to remove old backups.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@67 59da171f-624f-0410-aa54-27559c288bec
2009-01-17 15:27:51 +00:00
kenneth.skovhede@gmail.com c4fec09e6a Now supports the FTP backend.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@64 59da171f-624f-0410-aa54-27559c288bec
2009-01-15 12:57:52 +00:00
kenneth.skovhede@gmail.com 8879df0309 Final commit in the refactor sequence.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@59 59da171f-624f-0410-aa54-27559c288bec
2009-01-14 17:31:19 +00:00
kenneth.skovhede@gmail.com ed5a88128e Encryption now works, at least with AES encryption.
Most Duplicity commandline switches are now supported.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@53 59da171f-624f-0410-aa54-27559c288bec
2009-01-14 16:19:54 +00:00
kenneth.skovhede@gmail.com 2ce46f1a2e Added a unittest option, which reveals that there is a problem with restore in the new python-free version.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@45 59da171f-624f-0410-aa54-27559c288bec
2008-09-28 20:33:42 +00:00
kenneth.skovhede@gmail.com aeb8d02a51 Ported librsync to pure managed code, and named it SharpRSync.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@40 59da171f-624f-0410-aa54-27559c288bec
2008-09-24 09:16:21 +00:00
kenneth.skovhede@gmail.com 2eccd19469 Initial work towards a python free implementation.
There were too many problems porting pexpect to windows for that to work.



git-svn-id: https://duplicati.googlecode.com/svn/trunk@37 59da171f-624f-0410-aa54-27559c288bec
2008-09-13 16:24:43 +00:00