lp:~mturquette/duplicity/duplicity

Created by Michael Turquette on 2014-05-21 and last modified on 2014-05-21
Get this branch:
bzr branch lp:~mturquette/duplicity/duplicity
Only Michael Turquette can upload to this branch. If you are Michael Turquette please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Michael Turquette
Project:
Duplicity
Status:
Development

Recent revisions

990. By Michael Turquette on 2014-05-21

Introduce --no-secret-key option for the purpose of encrypting backups
with only a public key. Without this change duplicity begins a backup,
but then fails subsequent backups while trying to decrypt the first
volume. This scheme is most useful for laptops and other mobile devices
where the user does not wish to keep the secret key on disk.

This concept was first published to the list in 2010:
http://article.gmane.org/gmane.comp.sysutils.backup.duplicity.general/4299

Signed-off-by: Mike Turquette <email address hidden>

989. By Kenneth Loafman on 2014-05-11

* Update shebang line to python2 instead of python to avoid confusion.

988. By Kenneth Loafman on 2014-05-11

* 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).

987. By Kenneth Loafman on 2014-05-10

Clean up indentation mismatches.

986. By Kenneth Loafman on 2014-05-09

Misc format fixes.

985. By Michael Terry on 2014-05-07

  * Applied expat fix from edso. See answer #12 in
    https://answers.launchpad.net/duplicity/+question/248020
  * Forward-ported from r980 in 0.6-series

984. By Kenneth Loafman on 2014-05-07

First cut of 0.7.00 Changelog.

983. By Michael Terry on 2014-05-06

Fix running ./testing/manual/backendtest to be able to find config.py and fix the tests in testing/manual/ to not be picked up by ./setup.py test

982. By Kenneth Loafman on 2014-04-30

* Merged in lp:~mterry/duplicity/encode-exceptions
  - Because exceptions often contain file paths, they have the same problem
    with Python 2.x's implicit decoding using the 'ascii' encoding that we've
    experienced before. So I added a new util.uexc() method that uses the
    util.ufn() method to convert an exception to a unicode string and used it
    around the place.
  - Bugs fixed: 1289288, 1311176, 1313966

981. By Kenneth Loafman on 2014-04-29

* 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).

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:duplicity/0.7-series
This branch contains Public information 
Everyone can see this information.