Commit Graph
65 Commits
Author SHA1 Message Date
kenneth@hexad.dk 722abc9d20 Updated metadata reporting to better reflect the state AFTER the action, instead of before.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1292 59da171f-624f-0410-aa54-27559c288bec
2012-05-15 17:59:40 +00:00
kenneth@hexad.dk a93c66555b Added logging and reporting of metadata to UI
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1280 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 20:15:27 +00:00
kenneth@hexad.dk 203778b911 Added metadata recording, for later use in the new UI.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1274 59da171f-624f-0410-aa54-27559c288bec
2012-05-14 18:48:21 +00:00
kenneth@hexad.dk 90f5a7ae0c Update issue #509
Status: Fixed

The problem is that the the file-based backend returns "Directory not found" when asking for the not-yet-mounted folder.
Duplicati assumed that this error means that the folder will be created later, and thus returned an empty list,
as the folder would be empty when created. This means that the retry logic was not used. 

Backing up to an empty folder will then result in a full backup being made.

But once the files started uploading, the folder is there and the folder is not created, but it is still a full backup.

This commit changes the logic a bit, so the list operation will not return until successful and a missing folder will be created during the list operation.
This ensures that the backup does not start before there has been a successful listing of the folder. If it fails, there is the normal retry delay, which should be enough to ensure that the folder is re-mounted. There may be warnings in the log, that the auto create failed. I have removed the logic that will auto create the folder during upload, as it should no longer be possible to get to the upload stage without verifying that the folder exists.

I have also changed the logic of the --disable-autocreate-folder option, so default value is "false" if it is a backup, and "true" for any other operation, so simply issuing a "list" or "cleanup" will not create folders (it did not do that before either).


git-svn-id: https://duplicati.googlecode.com/svn/trunk@1259 59da171f-624f-0410-aa54-27559c288bec
2012-05-08 19:00:53 +00:00
kenneth@hexad.dk 82b137f52f Update issue #573
Status: Fixed
I found the problem, it was because Duplicati was trying to read the size of the file AFTER it was moved.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@1166 59da171f-624f-0410-aa54-27559c288bec
2012-03-17 21:25:40 +00:00
kenneth@hexad.dk 72ff1b1bc3 Added option to log operations and expected backend state for debugging purposes.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1098 59da171f-624f-0410-aa54-27559c288bec
2012-01-15 22:15:22 +00:00
kenneth@hexad.dk 0893d5b56d Microfix, the error message showed the temporary filename, now it shows the remote filename, which is what makes sense to the user
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1018 59da171f-624f-0410-aa54-27559c288bec
2011-11-20 11:28:49 +00:00
kenneth.skovhede@gmail.com e88a619eb3 Update issue #458
Status: Fixed

There is now a delete transaction file being written, which should prevent cases where a large number of orphan files are detected.
If a large number of orphan files are detected, this should now be considered a real error.

I chose not to put in the cleanup button, because it would take too long for me to fit it in there, and I would rather focus on getting 2.0 ready, which will have a new UI anyway.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@957 59da171f-624f-0410-aa54-27559c288bec
2011-10-30 11:56:42 +00:00
kenneth.skovhede@gmail.com e8ec407bd8 Compacted the way retry warnings are reported in the log.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@951 59da171f-624f-0410-aa54-27559c288bec
2011-10-28 05:45:08 +00:00
kenneth.skovhede@gmail.com 41b1a5ad4a Added a protection against partial downloads
git-svn-id: https://duplicati.googlecode.com/svn/trunk@941 59da171f-624f-0410-aa54-27559c288bec
2011-10-22 14:55:06 +00:00
kenneth.skovhede@gmail.com 652e02d64e Fixed a bug with create-folders that was introduced with r913 (issue #251)
git-svn-id: https://duplicati.googlecode.com/svn/trunk@940 59da171f-624f-0410-aa54-27559c288bec
2011-10-22 14:53:41 +00:00
kenneth.skovhede@gmail.com b94350243c Microfix: Failures in upload/download/delete now show the filename
git-svn-id: https://duplicati.googlecode.com/svn/trunk@932 59da171f-624f-0410-aa54-27559c288bec
2011-10-12 09:05:52 +00:00
kenneth.skovhede@gmail.com 7ef7a98918 Update issue #251
Status: Fixed

The backend connections are now re-used.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@913 59da171f-624f-0410-aa54-27559c288bec
2011-09-24 11:39:50 +00:00
kenneth.skovhede@gmail.com af681f57f0 Fixed a timeout issue with S3
git-svn-id: https://duplicati.googlecode.com/svn/trunk@846 59da171f-624f-0410-aa54-27559c288bec
2011-07-30 09:36:44 +00:00
kenneth.skovhede@gmail.com c518a3dd59 Fixed a reverse setting of the flag --list-verify-uploads
git-svn-id: https://duplicati.googlecode.com/svn/trunk@815 59da171f-624f-0410-aa54-27559c288bec
2011-06-26 10:22:03 +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
hugh@hugheaves.com bc00bf1fbe Backed out changes accidentally commited to trunk
git-svn-id: https://duplicati.googlecode.com/svn/trunk@759 59da171f-624f-0410-aa54-27559c288bec
2011-04-27 20:42:14 +00:00
hugh@hugheaves.com 2f8f0be0f1 git-svn-id: https://duplicati.googlecode.com/svn/trunk@758 59da171f-624f-0410-aa54-27559c288bec 2011-04-27 20:24:44 +00:00
kenneth.skovhede@gmail.com 32ae43e14a Fixed some consistency to change how List() is invoked which ensures that it is properly retried.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@729 59da171f-624f-0410-aa54-27559c288bec
2011-03-16 18:21:50 +00:00
kenneth.skovhede@gmail.com 1f11cf67f9 Fixed some progress reporting
git-svn-id: https://duplicati.googlecode.com/svn/trunk@720 59da171f-624f-0410-aa54-27559c288bec
2011-03-12 10:03:54 +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 b149736c81 Added an option to verify uploads by issuing a list after each put.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@715 59da171f-624f-0410-aa54-27559c288bec
2011-03-10 21:33:44 +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 da37cabb38 Fixed an issue where broken manifests did not correctly switch to the alternate
git-svn-id: https://duplicati.googlecode.com/svn/trunk@699 59da171f-624f-0410-aa54-27559c288bec
2011-02-16 20:15:06 +00:00
kenneth.skovhede@gmail.com 8b262288c6 Added option to allow the file backend to use a system Move call rather than copy.
Changed the non-streaming file-backend interface to use sytem copy calls rather than
manual stream copy.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@654 59da171f-624f-0410-aa54-27559c288bec
2010-12-29 14:31:33 +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 0eedae3760 Fixed an issue where a cleanup would go into an infinite loop.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@564 59da171f-624f-0410-aa54-27559c288bec
2010-10-27 21:09:11 +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 cf8e7c4890 Better support for restoring a backup with multiple source folders.
Added name support in GUI and commandline version.
When restoring from commandline, subfolders will now be named like the source folders, if only one source folder is given.
When restoring from GUI, the names will be suggested like in the commandline.
It is no longer required that the unused folders exists when restoring a multi-source backup from the GUI.
Added size tooltips to the restore GUI window with the list of backup chains.
Now correctly deletes old signature cache files, even if they use the old names.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@542 59da171f-624f-0410-aa54-27559c288bec
2010-10-12 22:22:29 +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 b20257d186 Now recognizes both old-style and new-style cache filenames (prefer new)
git-svn-id: https://duplicati.googlecode.com/svn/trunk@539 59da171f-624f-0410-aa54-27559c288bec
2010-10-09 16:11:11 +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 537be589ee Fixed a bug where empty manifests where reported
git-svn-id: https://duplicati.googlecode.com/svn/trunk@515 59da171f-624f-0410-aa54-27559c288bec
2010-09-16 16:12:12 +00:00
kenneth.skovhede@gmail.com 3e054c2576 Added a number of error correction and detection messages to prevent the volume deletion problem created by the S3 backend bug.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@512 59da171f-624f-0410-aa54-27559c288bec
2010-09-12 21:50:09 +00:00
kenneth.skovhede@gmail.com 1aaf9c8f98 Added option to enable verbose error messages
git-svn-id: https://duplicati.googlecode.com/svn/trunk@508 59da171f-624f-0410-aa54-27559c288bec
2010-09-11 12:43:55 +00:00
kenneth.skovhede@gmail.com 8e16d51e00 Update issue #21
Status: Fixed

The backup can now proceed with a broken signature file.
A restore operation is not affected by broken signature files either,
although the restore will include previously deleted files,
if the signatures are damaged.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@492 59da171f-624f-0410-aa54-27559c288bec
2010-09-04 12:23:03 +00:00
kenneth.skovhede@gmail.com 79fdce5ca6 Update issue #185
Status: Fixed
The code to support this was already in place, but did
not work because Application.Exit() had been invoked,
making all messageboxes return Cancel without showing.

I also improved the logic a bit so a cancel does
not invoke the cleanup afterwards, making the exit
procedure faster.

I also added checks for the stop command to the
code that fetches the signature files, to make
the application respond faster to the stop command.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@490 59da171f-624f-0410-aa54-27559c288bec
2010-09-01 21:04:18 +00:00
kenneth.skovhede@gmail.com b079ece335 Update issue #90.
Status: Fixed

I have fixed a number of UI issues when using async uploads.
For one, the pause/stop features now work.

If the progress is paused, a upload progressbar will be displayed,
so the progress does not appear to hang.

When the backup is complete, the remaining uploads
are now done as normal, resulting in a normal UI display with progress.

I have also reserved some space on the progress bar for cleanup,
and inserted a status message indicating that the cleanup is in progress.

The async now works so well, that I think it should be on by default.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@482 59da171f-624f-0410-aa54-27559c288bec
2010-08-25 20:59:47 +00:00
kenneth.skovhede@gmail.com ebe68c9c70 Fixes issue #110.
Also fixed a bug with the "allow-full-removal" option.

Update issue 110
I have now added a limit to the number of generated volumes, and as described, it is 2 by default.
I have also added support for setting a custom folder where the volumes are placed in. They are placed in the temp folder by default.

I re-read the comments on this issue, and I can see that I misread the statements from Baris.Eris.
This limit does not prevent any volumes from being uploaded (you can use the --totalsize option for that),
it just pauses the volume generation when there are already two or more volumes waiting to be uploaded.
As soon as a volume is uploaded, the program continues. The purpose of this is not to limit the data being
uploaded, but rather to prevent spamming the disk with hundreds of volumes.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@476 59da171f-624f-0410-aa54-27559c288bec
2010-08-17 16:09:36 +00:00
kenneth.skovhede@gmail.com 8e74a65706 Fixed a problem where the innerException information is lost
git-svn-id: https://duplicati.googlecode.com/svn/trunk@474 59da171f-624f-0410-aa54-27559c288bec
2010-08-15 16:20:47 +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 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 1f87e01fc7 Fixed issue #129.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@337 59da171f-624f-0410-aa54-27559c288bec
2010-01-17 20:21:08 +00:00
kenneth.skovhede@gmail.com 3156127a41 Fixed a missing upload progress bar from r310.
Added better progress text when restoring.
Added progress reporting when restoring.
Added progress bar for download, if the backend supports reporting sizes.
Also contains a fix for issue #143.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@334 59da171f-624f-0410-aa54-27559c288bec
2010-01-16 16:18:59 +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 e43553f608 Fixed issue #10.
Fixed issue #69.
Fixed issue #142.
I finally got the time to complete the pause and throttle options.
It required a minor rewrite, so I also fixed issue #142.

git-svn-id: https://duplicati.googlecode.com/svn/trunk@310 59da171f-624f-0410-aa54-27559c288bec
2010-01-03 22:46:58 +00:00
kenneth.skovhede@gmail.com 6eb7159069 Fixed issue #114, removed the extra property in the IStreamingBackend interface.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@289 59da171f-624f-0410-aa54-27559c288bec
2009-09-21 20:15:29 +00:00
kenneth.skovhede@gmail.com 6167b04e75 Removed unused code, thanks to the warnings given by MonoDevelop.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@270 59da171f-624f-0410-aa54-27559c288bec
2009-08-27 20:40:31 +00:00