~jflaker/duplicity/BugFix1325215

  • Committer: Kenneth Loafman
  • Date: 2014-04-29 15:35:47 UTC
  • mfrom: (978.2.10 backend-unification)
  • Revision ID: kenneth@loafman.com-20140429153547-to2j1tyyl0ps1hi6
* 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).
Filename Latest Rev Last Changed Committer Comment Size
..
bin 800.1.24 12 years ago Michael Terry Make tarball layout match bzr layout much more clo Diff
dist 1 21 years ago bescoto Initial checkin Diff
duplicity 1 21 years ago bescoto Initial checkin Diff
po 355 15 years ago loafman patch #6700: Make duplicity translatable https://s Diff
testing 1 21 years ago bescoto Initial checkin Diff
.bzrignore 979 10 years ago Kenneth Loafman * Fixed bug #1312328 WebDAV backend can't understa 101 bytes Diff Download File
CHANGELOG 981 10 years ago Kenneth Loafman * Merged in lp:~mterry/duplicity/backend-unificati 92.4 KB Diff Download File
Changelog.GNU 981 10 years ago Kenneth Loafman * Merged in lp:~mterry/duplicity/backend-unificati 187 KB Diff Download File
COPYING 476 15 years ago loafman After email voting among known duplicity contribut 17.5 KB Diff Download File
README 967.2.5 10 years ago Michael Terry Drop support for Python 2.4 and 2.5 2.7 KB Diff Download File
README-LOG 813 12 years ago Kenneth Loafman Some doc changes including new requirements. 1.1 KB Diff Download File
README-REPO 813 12 years ago Kenneth Loafman Some doc changes including new requirements. 809 bytes Diff Download File
File setup.py 978.2.9 10 years ago Michael Terry Merge from trunk 5.4 KB Diff Download File
tox.ini 977.1.1 10 years ago Michael Terry More reorg of testing/ 109 bytes Diff Download File