[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Duplicity-talk] [Duplicity-announce] Duplicity 0.7.00 Released

From: Kenneth Loafman
Subject: Re: [Duplicity-talk] [Duplicity-announce] Duplicity 0.7.00 Released
Date: Fri, 24 Oct 2014 08:35:51 -0500

Yes, the format is compatible with 0.6.  We would not make such a change without warning.

As is with any major release, it's best to test by restoring from a 0.6 backup just to be sure.  I have and I know it works for me.


On Fri, Oct 24, 2014 at 8:30 AM, Remy van Elst <address@hidden> wrote:
Are the backups I've made for a few years with 0.6.X compatible with
0.7? As in, can I upgrade my duplicity and restore a backup from ealier
in this chain made with 0.6?

On 10/23/14 16:19, Kenneth Loafman wrote:
> Hello Everyone,
> This is the first release of the 0.7 series.  Since this is a dot zero
> release, you know what to expect.  Please test and report.  All future
> development will be done on this branch.  This series requires Python
> 2.6 and above to function.  There will be more cleanup as we go along
> which hopefully will lead us into a 2.x/3.x stable codebase.  We're
> still unclear on how that will go.
> You can download the new version at 0.7.00
> <https://launchpad.net/duplicity/+milestone/0.7.00>.
> Note that there are no RPM files at this time.  My VM install of Fedora
> is no longer supported and does not support Python 2.6.  If someone
> would like to volunteer to maintain the RPM files, that would be
> appreciated.  I really do not want to revisit that learning curve again!
> ...Thanks,
> ...Ken
> New in v0.7.00 (2014/10/23)
> ---------------------------
> Enhancements:
> * Adjust unit tests to expect single FTP backend
> * Merged in lp:~moritzm/duplicity/duplicity
>   - Use lftp for both FTP and FTPS
> * Merged in lp:~ed.so/duplicity/0.7-dpbx.importfix
> <http://ed.so/duplicity/0.7-dpbx.importfix>
>   - fix this showstopper with the dropbox backend
>     "NameError: global name 'rest' is not defined"
> * Merged in lp:~jflaker/duplicity/BugFix1325215
>   - The reference to "--progress_rate" in the man page as a parameter is
>     incorrect. Should be "--progress-rate".
> * Merged in lp:~hooloovoo/duplicity/updated-README-REPO
>   - Changes to README-REPO to reflect the restructuring of the directories.
> * Fixed bug 1375304 with patch supplied by Aleksandar Ivanovic
> * Merged in lp:~ed.so/duplicity/webdav200fix-0.7
> <http://ed.so/duplicity/webdav200fix-0.7>
>   - webdav backend fix "BackendException: Bad status code 200 reason OK.
> " when
>     restarting an interrupted backup and overwriting partially uploaded
> volumes.
> * Merged in lp:~mterry/duplicity/require-2.6
>   - Require at least Python 2.6.
>   - Our code base already requires 2.6, because 2.6-isms have crept in.
> Usually
>     because we or a contributor didn't think to test with 2.4. And frankly,
>     I'm not even sure how to test with 2.4 on a modern system.
> * Merged in lp:~mterry/duplicity/drop-pexpect
>   - Drop our local copy of pexpect in favor of a system version.
>   - It's only used by the pexpect ssh backend (and if you're opting into
> that,
>     you probably can expect that you will need pexpect) and the tests.
>   - I've done a quick smoketest (backed up and restored using
>     --ssh-backend=pexpect) and it seemed to work fine with a modern version
>     of pexpect.
> * Merged in lp:~mterry/duplicity/2.6isms
>   - Here's a whole stack of minor syntax modernizations that will become
>     necessary in python3. They all work in python2.6.
>   - I've added a new test to keep us honest and prevent backsliding on these
>     modernizations. It runs 2to3 and will fail the test if 2to3 finds
> anything
>     that needs fixing (with a specific set of exceptions carved out).
>   - This branch has most of the easy 2to3 fixes, the ones with obvious and
>     safe syntax changes.
>   - We could just let 2to3 do them for us, but ideally we use 2to3 as little
>     as possible, since it doesn't always know how to solve a given problem.
>     I will propose a branch later that actually does use 2to3 to generate
>     python3 versions of duplicity if they are requested. But this is a first
>     step to clean up the code base.
> * Merged in lp:~mterry/duplicity/drop-static
>   - Drop static.py.
>   - This is some of the oldest code in duplicity! A bzr blame says it is
>     unmodified (except for whitespace / comment changes) since revision 1.
>   - But it's not needed anymore. Not really even since we updated to
> python2.4,
>     which introduced the @staticmethod decorator. So this branch drops
> it and
>     its test file.
> * Merged in lp:~mterry/duplicity/py3-map-filter
>   - In py3, map and filter return iterable objects, not lists. So in
> each case
>     we use them, I've either imported the future version or switched to
> a list
>     comprehension if we really wanted a list.
> * Merged in lp:~mterry/duplicity/backend-unification
>   - Reorganize and simplify backend code.  Specifically:
>     - Formalize the expected API between backends and duplicity.  See
> the new
>       file duplicity/backends/README for the instructions I've given
> authors.
>     - Add some tests for our backend wrapper class as well as some tests for
>       individual backends.  For several backends that have some commands
> do all
>       the heavy lifting (hsi, tahoe, ftp), I've added fake little mock
> commands
>       so that we can test them locally.  This doesn't truly test our
> integration
>       with those commands, but at least lets us test the backend glue code.
>     - Removed a lot of duplicate and unused code which backends were
> using (or
>       not using).  This branch drops 700 lines of code (~20%)
>       in duplicity/backends!
>     - Simplified expectations of backends.  Our wrapper code now does
> all the
>       retrying, and all the exception handling.  Backends can 'fire and
> forget'
>       trusting our wrappers to give the user a reasonable error message.
>       Obviously, backends can also add more details and make nicer error
>       messages.  But they don't *have* to.
>     - Separate out the backend classes from our wrapper class.  Now
> there is no
>       possibility of namespace collision.  All our API methods use one
>       underscore.  Anything else (zero or two underscores) are for the
> backend
>       class's use.
>     - Added the concept of a 'backend prefix' which is used by par2 and gio
>       backends to provide generic support for "schema+" in urls -- like
> par2+
>       or gio+.  I've since marked the '--gio' flag as deprecated, in
> favor of
>       'gio+'.  Now you can even nest such backends like
>       par2+gio+file://blah/blah.
>     - The switch to control which cloudfiles backend had a typo.  I
> fixed this,
>       but I'm not sure I should have?  If we haven't had complaints,
> maybe we
>       can just drop the old backend.
>     - I manually tested all the backends we have (except hsi and tahoe
> -- but
>       those are simple wrappers around commands and I did test those via
> mocks
>       per above).  I also added a bunch more manual backend tests to
>       ./testing/manual/backendtest.py, which can now be run like the
> above to
>       test all the files you have configured in config.py or you can
> pass it a
>       URL which it will use for testing (useful for backend authors).
> * Merged in lp:~mterry/duplicity/py2.6.0
>   - Support python 2.6.0.
>   - Without this branch, we only support python >= 2.6.5 because that's when
>     python's urlparse.py module became its more modern incarnation. (I won't
>     get into the wisdom of them making such a change in the middle of the
>     2.6 lifecycle.)
>   - Also, the version of lockfile that I have (0.8) doesn't work with python
>     2.6.0 or 2.6.1 due to their implementation of
>     threading.current_thread().ident returning None unexpectedly. So this
>     branch tells lockfile not to worry about adding the current thread's
>     identifier to the lock filename (we don't need a separate lock per
> thread,
>     since our locking is per process).
>   - I've tested with 2.6.0 and 2.7.6 (both extremes of our current support).
> * Update shebang line to python2 instead of python to avoid confusion.
> * Merged in lp:~3v1n0/duplicity/copy.com-backend
>   - I've added a backend for Copy.com cloud storage, this supports all the
>     required operations and works as it should from my tests.
>   - You can use it by calling duplicity with something like:
>     copy://address@hidden:yaddress@hidden/duplicity
> <http://address@hidden/duplicity>
>   - The only thing I've concerns with is the optimized support for
> _delete_list
>     which can't be enabled here because the test_delete_list tries also to
>     delete a not-existing files, and it requires the backend not to raise an
>     exception in that case (is this somewhat wanted or could we do the
> same as
>     for _delete or _query?)
> * Merged in lp:~ed.so/duplicity/webdav200fix-0.7
> <http://ed.so/duplicity/webdav200fix-0.7>
>   - webdav backend fix "BackendException: Bad status code 200 reason OK.
> " when
>     restarting an interrupted backup and overwriting partially uploaded
> volumes.
> * Merged in lp:~mterry/duplicity/webdav-fixes
>   - This branch fixes two issues I saw when testing the webdav backend:
>   - 1) Errors like the following: "Attempt 1 failed. BackendException: File
>     /tmp/duplicity-LQ1a0i-tempdir/mktemp-u2aiyX-2 not found locally
> after get
>     from backend".  These were caused by the _get() method not calling
> setdata()
>     on the local path object, so the rest of the code thought it didn't
> exist.
>   - 2) Some odd issues from stale responses/data. We have a couple places in
>     webdavbackend.py where we close the connection before making a request
>     because of this problem. But I've changed it to do it every time, more
>     reliably, by putting a _close() call inside the request() method.
>   - With this, the webdav backend seems fine to me.
> * Merged in lp:~antmak/duplicity/0.7-par2-fix
>   - Useful fix for verbatim par2cmdline options (like "-t" in par2-tbb
> version)
> * Fixed bug 1327550: OverflowError: signed integer is greater than maximum
>   - Major and minor device numbers are supposed to be one byte each.
> Someone
>     has crafted a special system image using OpenVZ where the major and
> minor
>     device numbers are much larger (ploop devices).  We treat them as (0,0).
> * Added sxbacked.py, Skylable backend.  Waiting on man page updates.
> * Merged in lp:~ed.so/duplicity/manpage.verify
> <http://ed.so/duplicity/manpage.verify>
>   - Clarify verify's functionality as wished for by a user surprised
> with a big
>     bandwidth bill from rackspace.
> * Merged in lp:~jeffreydavidrogers/duplicity/duplicity
>   - This change fixes two small typos in the duplicity man page.
> * Merged in lp:~johnleach/duplicity/1315437-swift-container-create
>   - Check to see if the swift container exists before trying to create it,
>     in case we don't have permissions to create containers. Fixes #1315437
> * Merged in lp:~ed.so/duplicity/manpage.blocksize
> <http://ed.so/duplicity/manpage.blocksize>
>   - add --max_blocksize doc
>   - reorder 'a note on filename prefixes' into alphabetical order

Duplicity-talk mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]