A lot of bug fixes and enhancements by the duplicity team. My thanks go out to them for keeping the project going.
I'm hoping some of the upstream maintainers read this announcement as well. There's a very pointed note at the top of the CHANGELOG file you need to read, but the bottom line is, QUIT CHANGING THE RELEASE! We don't do anything without good reason and we're all tired of chasing bugs reported to us because you refuse to package duplicity the way we intended. From now on, those bugs will be reassigned to the package maintainers that modified the code. Please cease the changes.
New in v0.6.20 (2012/10/28)
- added gdocs and rsync REQUIREMENTS
- added cloudfiles documentation
- refactor GnuPGInterface to gpginterface.py
reasoning can be found in README
- fix rare 'TypeError: encode() argument 1 must be string, not None'
- use tempfile.TemporaryFile() so unused temp files are deleted automagically
- propbably solve bug 'Out of space error while restoring a file'
* Merged in lp:~mterry/duplicity/utf8-po
- For some crazy reason, the gettext module defaults to giving you strings in
whatever charset the po file happened to define. Which means you never know
what string of bytes you're going to get. This module makes sure we always
get utf-8 byte strings. So we're at least predictable and reduces one
source of UnicodeDecodeErrors (like in bug 989496)
* Merged in lp:~mterry/duplicity/1031277
- ssh: actually delete all the requested files, not just the first one
* Merged in lp:~mterry/duplicity/leftover-sigtar
- So currently, duplicity does not delete signature files when doing a
remove-all-but-n operation. Seems wrong, since those signature files are now
useless and take up space.
- This branch does several things:
1) Make remove-all-but-n operate on chains. In practice it did before, since
the sets it operated on always came from complete chains (i.e. it never
used only some of the sets from a chain)
2) Add a new method to get all signature chains before a certain time.
3) Use this new method to also delete signature chains during remove-all-but
- And it cleans up the cleanuptest.py file:
1) Removes crufty, unused code
2) Disallows changing the destination folder for the test, which no one
would ever want to do and isn't really supported anyway
3) Add some additional checks to the existing test
4) Adds two new methods to test remove-all-but-n and
- disabled hyphenation and block justification for better readablility of
command line examples.
- reformatted REQUIREMENTS section for hopefully better online rendering
- minor clarifications
* Merged in lp:~gregretkowski/duplicity/cf-retry-delete
- This will retry cloudfile delete commands. With large numbers of archive
files over mediocre links transient network errors will occasionally cause
deletes to fail and these should be retried.
* Merged in lp:~mterry/duplicity/ropath.index
- This branch does two main things:
1) Skips base dir entries when compiling the list of deleted delta iters.
(this gracefully recovers from the sort of situations that lead to bug
929067). I'm reasonably confident this is an uninvasive change, but
2) Overwrites the sigtar file on backup-restart. This is because AFAICT,
duplicity will rewrite the entire sigtar each restart. But we were
opening the sigtar file as "ab", so we'd just dump the contents on top
of the previous contents. Which was causing some confusion in bug 929067.
If I'm wrong that we don't always rewrite the entire sigtar each time,
this needs some rethink. Please also confirm that.
- In addition, I added two tests for the above two changes and make some
improvements elsewhere in the restarttest.py file while I was at it.
- Fixes 'UnboundLocalError: local variable 'msg' referenced before assignment'
- place gpg.py tempfiles in duplicity's tmp subfolder which is cleaned
* Merged in lp:~mterry/duplicity/u1-402
- Switch the code we check for out-of-space in u1backend.
* Applied patch for #1066625 ubuntu one backend
- add delay between retries
Bugs closed in this release:
519948 remove-* commands don't remove signature-files
907077 assert len(chain_list) == 2 AssertionError
929067 crash during restore: "assert ropath.index == (), ropath.index"
995851 doc improvement for --encrypt-key, --sign-key
997691 Ubuntu One backend should check for 402 error for out-of-space
1031269 remove-all-but-n-full broken
1039001 --exclude-if-present and --exclude-other-filesystems causes crash
with inaccessible other fs
1066625 ubuntu one backend does not work without gnome/dbus/x11 session