Duplicity 0.6.01

Milestone information

Project:
Duplicity
Series:
0.6-series
Version:
0.6.01
Released:
2009-07-01  
Registrant:
Kenneth Loafman
Release registered:
2009-07-01
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Peter Schuller
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
9 Fix Released

Download files for this release

File Description Downloads

Release notes 

Fixed issues in Checkpoint/Restart:
* The --name backupname" option was added to allow the
  user to separate one archive from another. If not
  specified, the default is an MD5 hash of the target
  URL, which should suffice for most uses.

* The archive_dir (cache) is now stored in a standard
  location, defaulting to ~/.cache/duplicity. See
  http://standards.freedesktop.org/basedir-spec/latest/

* The interaction between the --archive-dir option and
  the --name option allows for four possible results
  for the location of the archive dir.
    - neither specified (default)
      ~/.cache/duplicity/hash-of-url
    - --archive-dir=~/arch, no --name
      ~/arch/hash-of-url
    - no --archive-dir, --name=foo
      ~/.cache/duplicity/foo
    - --archive-dir=~/arch, --name=foo
      ~/arch/foo

* duplicity will now copy needed metadata from the
  remote store to the local cache as needed. This
  means that the first use after upgraded from 0.5.x
  will have the metadata copied to the local archive
  dir in order to sync both.

* cleanup will now work correctly with the archive
  dir and separates the local from the remote files.

Bugs fixed this release:
* 388034 Unable to backup
* 378940 python2-6 issue / UTF-8 charset / Ubuntu 9.04
* 379386 Fix list-current-files w/ missing archive dir
* 387102 Asynchronous upload not working properly
* 387218 Make scp/ssh into sftp-only backend
* 388992 List of Orphaned Files Growing
* 392905 NoneType object has no attribute 'startswith'
* 393372 Error creating directory
* 383412 Add InfoCodes for upload events
* 383419 Add gio backend

Changelog 

View the full changelog

revno: 546
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Wed 2009-07-01 10:03:52 -0500
message:
  Fixed issues in Checkpoint/Restart:
  * The --name backupname" option was added to allow the
    user to separate one archive from another. If not
    specified, the default is an MD5 hash of the target
    URL, which should suffice for most uses.

  * The archive_dir (cache) is now stored in a standard
    location, defaulting to ~/.cache/duplicity. See
    http://standards.freedesktop.org/basedir-spec/latest/

  * The interaction between the --archive-dir option and
    the --name option allows for four possible results
    for the location of the archive dir.
      - neither specified (default)
        ~/.cache/duplicity/hash-of-url
      - --archive-dir=~/arch, no --name
        ~/arch/hash-of-url
      - no --archive-dir, --name=foo
        ~/.cache/duplicity/foo
      - --archive-dir=~/arch, --name=foo
        ~/arch/foo

  * duplicity will now copy needed metadata from the
    remote store to the local cache as needed. This
    means that the first use after upgraded from 0.5.x
    will have the metadata copied to the local archive
    dir in order to sync both.

  * cleanup will now work correctly with the archive
    dir and separates the local from the remote files.
modified:
  duplicity-bin
  duplicity/collections.py
  duplicity/commandline.py
  duplicity/dup_temp.py
  duplicity/file_naming.py
  duplicity/globals.py
  duplicity/gpg.py
  duplicity/path.py
------------------------------------------------------------
revno: 545
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Sat 2009-06-27 08:30:45 -0500
message:
  Fixes bug 392905. Allow omission of remote file name if the same as the source file name.
modified:
  duplicity/backends/ftpbackend.py
------------------------------------------------------------
revno: 544
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Thu 2009-06-25 09:04:19 -0500
message:
  merge of lp:~kenneth-loafman/duplicity/smart-archive-v2
modified:
  .project
  duplicity/commandline.py
  duplicity/globals.py
    ------------------------------------------------------------
    revno: 541.2.2
    committer: <email address hidden>
    branch nick: smart-archive-v2
    timestamp: Tue 2009-06-23 14:37:55 -0500
    message:
      * Change to use XDG_ convention per http://standards.freedesktop.org/basedir-spec/latest/
    modified:
      .project
      .pydevproject
      duplicity/globals.py
    ------------------------------------------------------------
    revno: 541.2.1
    committer: <email address hidden>
    branch nick: duplicity-src
    timestamp: Tue 2009-06-23 13:57:00 -0500
    message:
      * Change handling of smart archive dir so both archive and name can be changed.
    modified:
      duplicity/commandline.py
      duplicity/globals.py
------------------------------------------------------------
revno: 543
committer: Michael Terry <email address hidden>
branch nick: trunk
timestamp: Wed 2009-06-24 15:08:27 -0400
message:
  merge lp:~mterry/duplicity/gio-dist-fix to distribute gio backend
modified:
  dist/makedist
    ------------------------------------------------------------
    revno: 541.1.2
    committer: Michael Terry <email address hidden>
    branch nick: gio-dist-fix
    timestamp: Wed 2009-06-24 15:06:35 -0400
    message:
      merge from trunk
    modified:
      duplicity/backends/sshbackend.py
    ------------------------------------------------------------
    revno: 541.1.1
    committer: Michael Terry <email address hidden>
    branch nick: duplicity-bzr
    timestamp: Wed 2009-06-24 13:02:34 -0400
    message:
      actually distribute the gio backend
    modified:
      dist/makedist
------------------------------------------------------------
revno: 542
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Wed 2009-06-24 14:03:05 -0500
message:
  Fix "external file not found" to show command and file names.
modified:
  duplicity/backends/sshbackend.py
------------------------------------------------------------
revno: 541
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Tue 2009-06-23 04:36:50 -0500
message:
  merge of lp:~scode/duplicity/smart-default-archive
modified:
  duplicity.1
  duplicity/backend.py
  duplicity/commandline.py
  duplicity/globals.py
    ------------------------------------------------------------
    revno: 525.1.10
    committer: <email address hidden>
    branch nick: smart-default-archive
    timestamp: Tue 2009-06-23 04:09:48 -0500
    message:
      Avoid deprecation warning for md5 in Python 2.6.
    modified:
      duplicity/commandline.py
    ------------------------------------------------------------
    revno: 525.1.9
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-22 23:29:33 +0200
    message:
      * --name affects *expansion*, not default value, of --archive-dir
    modified:
      duplicity.1
    ------------------------------------------------------------
    revno: 525.1.8
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-22 23:27:33 +0200
    message:
      * fix a man page mistake from previous merge
      * remove last remnants of DUPLICITY_ARGS_HASH
    modified:
      duplicity.1
    ------------------------------------------------------------
    revno: 525.1.7
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-22 23:21:45 +0200
    message:
      * correct man page to claim hash of backend url rather than has of args
    modified:
      duplicity.1
    ------------------------------------------------------------
    revno: 525.1.6
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-22 23:19:11 +0200
    message:
      * figure out which arg is a backend url without actually instantiating a backend
    modified:
      duplicity/backend.py
      duplicity/commandline.py
    ------------------------------------------------------------
    revno: 525.1.5
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-22 23:09:47 +0200
    message:
      * make default value to --name be the has of the backend URL specifically, rather than
        the has of remaining args
      * outstanding issue: in order to figure out which arg is a backend we call get_backend();
        must either fix this or feel comfortable that instantiating (and not using) a backend
        is side-effect free
    modified:
      duplicity/commandline.py
    ------------------------------------------------------------
    revno: 525.1.4
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-22 22:44:33 +0200
    message:
      * introduce --name parameter to specify symbolic name of a backup
      * change --archive-dir expansion to look for %DUPLICITY_BACKUP_NAME%
      * which in turn defaults to the args hash previously used for
        --archive-dir and %DUPLICITY_ARGS_HASH% expansion
    modified:
      duplicity.1
      duplicity/commandline.py
      duplicity/globals.py
    ------------------------------------------------------------
    revno: 525.1.3
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-22 22:20:22 +0200
    message:
      * merge from trunk
    added:
      .bzrignore
      duplicity/backends/giobackend.py
    modified:
      duplicity.1
      duplicity/asyncscheduler.py
      duplicity/backend.py
      duplicity/backends/__init__.py
      duplicity/backends/sshbackend.py
      duplicity/commandline.py
      duplicity/gpg.py
      duplicity/log.py
      testing/backendtest.py
    ------------------------------------------------------------
    revno: 525.1.2
    committer: Peter Schuller <email address hidden>
    branch nick: smart-default-archive
    timestamp: Mon 2009-06-15 23:58:29 +0200
    message:
      * support expansion of %DUPLICITY_ARGS_HASH% in --archive-dir value
      * default to ~/.duplicity/%DUPLICITY_ARGS_HASH$ so that default behavior
        works well even when the user has multiple backup destinations
      * update the manpage accordingly
    modified:
      duplicity.1
      duplicity/commandline.py
      duplicity/globals.py
------------------------------------------------------------
revno: 540
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Tue 2009-06-23 04:22:42 -0500
message:
  Misc project changes.
modified:
  .project
------------------------------------------------------------
revno: 539
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Tue 2009-06-23 04:21:09 -0500
message:
  If python is run setuid, it's only partway set, so make sure to run with euid/egid of root.
modified:
  duplicity-bin
------------------------------------------------------------
revno: 538
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Tue 2009-06-23 04:18:39 -0500
message:
  Create testfiles/output in SetUp routine so it will run standalone.
modified:
  testing/collectionstest.py
------------------------------------------------------------
revno: 537
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Sun 2009-06-21 13:48:19 -0500
message:
  Surround --gio option with try/except so user will not see traceback.
modified:
  duplicity/commandline.py
  duplicity/log.py
------------------------------------------------------------
revno: 536
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Sun 2009-06-21 12:54:22 -0500
message:
  Make GIO tests dependent on presence of gio module.
modified:
  testing/backendtest.py
------------------------------------------------------------
revno: 535
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Sun 2009-06-21 12:53:20 -0500
message:
  Fix 'get' command args.
modified:
  duplicity/backends/sshbackend.py
------------------------------------------------------------
revno: 534
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Sun 2009-06-21 10:19:31 -0500
message:
  merge of lp:~cjwatson/duplicity/always-sftp
modified:
  duplicity/backends/sshbackend.py
    ------------------------------------------------------------
    revno: 508.1.1
    committer: Colin Watson <email address hidden>
    branch nick: always-sftp
    timestamp: Wed 2009-05-06 17:24:39 +0100
    message:
      initial attempt at using only sftp on the client (https://savannah.nongnu.org/bugs/index.php?26464)
    modified:
      duplicity/backends/sshbackend.py
------------------------------------------------------------
revno: 533
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Sun 2009-06-21 10:14:54 -0500
message:
  Add .bzrignore
added:
  .bzrignore
    ------------------------------------------------------------
    revno: 518.3.2
    committer: Michael Terry <email address hidden>
    branch nick: duplicity.logworker
    timestamp: Thu 2009-06-18 20:42:30 -0400
    message:
      merge with trunk
    modified:
      CHANGELOG
      Changelog.GNU
      duplicity-bin
      duplicity.1
      duplicity/GnuPGInterface.py
      duplicity/asyncscheduler.py
      duplicity/backend.py
      duplicity/collections.py
      duplicity/commandline.py
      duplicity/diffdir.py
      duplicity/dup_temp.py
      duplicity/file_naming.py
      duplicity/globals.py
      duplicity/gpg.py
      duplicity/log.py
      duplicity/manifest.py
      duplicity/path.py
      duplicity/tempdir.py
      testing/GnuPGInterfacetest.py
      testing/backendtest.py
      testing/collectionstest.py
      testing/diffdirtest.py
      testing/dup_temptest.py
      testing/file_namingtest.py
      testing/finaltest.py
      testing/gpgtest.py
      testing/manifesttest.py
      testing/misctest.py
      testing/patchdirtest.py
      testing/pathtest.py
      testing/rdiffdirtest.py
      testing/roottest.py
      testing/run-a-test.sh
      testing/run-all-tests.sh
      testing/run-coverage.sh
      testing/selectiontest.py
      testing/statisticstest.py
------------------------------------------------------------
revno: 532
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Sat 2009-06-20 12:20:32 -0500
message:
  merge of lp:~scode/duplicity/bug-387102
modified:
  duplicity/asyncscheduler.py
    ------------------------------------------------------------
    revno: 525.3.3
    committer: Peter Schuller <email address hidden>
    branch nick: bug-387102
    timestamp: Thu 2009-06-18 23:30:03 +0200
    message:
      * merge lp:~mterry/duplicity/log-upload-events since I created conflicts with my
        changes
    modified:
      duplicity/asyncscheduler.py
      duplicity/log.py
    ------------------------------------------------------------
    revno: 525.3.2
    committer: Peter Schuller <email address hidden>
    branch nick: bug-387102
    timestamp: Tue 2009-06-16 23:16:34 +0200
    message:
      * s/self.__waiter/self.__failed_waiter/
    modified:
      duplicity/asyncscheduler.py
    ------------------------------------------------------------
    revno: 525.3.1
    committer: Peter Schuller <email address hidden>
    branch nick: bug-387102
    timestamp: Tue 2009-06-16 22:45:35 +0200
    message:
      * significantly re-design the asynch scheduler to be much simpler; instead of keeping workers
        and queues, simply launch a thread for each unit of work, blocking when called for by
        a concurrency limit or a barrier. the old design was a result of initially designing for
        keeping a persistent set of workers, only to then drop that idea. when dropping that idea,
        I should have re-done it like this from the start instead of retaining the complexity
        i introduced for the persistent worker design.
    modified:
      duplicity/asyncscheduler.py
------------------------------------------------------------
revno: 531
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Sat 2009-06-20 10:44:27 -0500
message:
  merge of lp:~scode/duplicity/reasonable-io-blocksize
modified:
  duplicity/gpg.py
    ------------------------------------------------------------
    revno: 525.2.1
    committer: Peter Schuller <email address hidden>
    branch nick: reasonable-io-blocksize
    timestamp: Tue 2009-06-16 20:45:58 +0200
    message:
      * GPGWriteFile: what was previously the minimum block is is now just the block size; meaning
        the maximum block size used for individual I/O operations, but still the minimum in terms
        of when to give up on the iteration
      * GZipWriteFile: similar change, though blocksize handling was a bit different
    modified:
      duplicity/gpg.py
------------------------------------------------------------
revno: 530
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Sat 2009-06-20 10:29:33 -0500
message:
  Fix regression -- add tahoebackend back in.
modified:
  duplicity/backends/__init__.py
------------------------------------------------------------
revno: 529
committer: Kenneth Loafman <email address hidden>
branch nick: duplicity-src
timestamp: Fri 2009-06-19 08:09:16 -0500
message:
  s/src.name/self.src.name/ in exception handling path
modified:
  duplicity/dup_temp.py
    ------------------------------------------------------------
    revno: 525.1.1
    committer: Peter Schuller <email address hidden>
    branch nick: misc
    timestamp: Mon 2009-06-15 22:45:33 +0200
    message:
      * s/src.name/self.src.name/ in exception handling path
    modified:
      duplicity/dup_temp.py
------------------------------------------------------------
revno: 528
committer: Michael Terry <email address hidden>
branch nick: duplicity
timestamp: Thu 2009-06-18 20:46:29 -0400
message:
  merge log worker event info codes
modified:
  duplicity/asyncscheduler.py
  duplicity/log.py
    ------------------------------------------------------------
    revno: 518.3.1
    committer: Michael Terry <email address hidden>
    branch nick: duplicity.logworker
    timestamp: Sun 2009-05-31 06:53:34 -0400
    message:
      add log codes for upload events
    modified:
      duplicity/asyncscheduler.py
      duplicity/log.py
------------------------------------------------------------
revno: 527
committer: Michael Terry <email address hidden>
branch nick: duplicity
timestamp: Thu 2009-06-18 20:31:56 -0400
message:
  Merge GIO branch, supporting the --gio argument
added:
  duplicity/backends/giobackend.py
modified:
  duplicity.1
  duplicity/backend.py
  duplicity/commandline.py
  testing/backendtest.py
    ------------------------------------------------------------
    revno: 518.2.2
    committer: Michael Terry <email address hidden>
    branch nick: duplicity-bzr
    timestamp: Thu 2009-06-04 14:07:07 -0400
    message:
      don't be so specific about exceptions we catch
    modified:
      duplicity/backends/giobackend.py
    ------------------------------------------------------------
    revno: 518.2.1
    committer: Michael Terry <email address hidden>
    branch nick: duplicity-bzr
    timestamp: Thu 2009-06-04 13:57:56 -0400
    message:
      add GIO backend
    added:
      duplicity/backends/giobackend.py
    modified:
      duplicity.1
      duplicity/backend.py
      duplicity/commandline.py
      testing/backendtest.py
    ------------------------------------------------------------
    revno: 518.1.1
    committer: Michael Terry <email address hidden>
    branch nick: duplicity
    timestamp: Sat 2009-05-30 15:18:40 +0200
    message:
      add info codes for upload events
    added:
      duplicity/backends/giobackend.py
    modified:
      duplicity/asyncscheduler.py
      duplicity/log.py
------------------------------------------------------------
revno: 526
committer: <email address hidden>
branch nick: duplicity-src
timestamp: Thu 2009-06-18 14:58:18 -0500
message:
  Fix omitted changes in duplicity manpage.
modified:
  duplicity.1
------------------------------------------------------------
revno: 525
committer: loafman
timestamp: Mon 2009-06-08 13:39:44 +0000
message:
  Changes for 0.6.0.
modified:
  CHANGELOG
  Changelog.GNU
------------------------------------------------------------
revno: 524
committer: loafman
timestamp: Mon 2009-06-08 13:01:52 +0000
message:
  Some cleanup on the forced assertion test code to allow
  multiple failures and no traceback for the assert.
modified:
  duplicity-bin
------------------------------------------------------------
revno: 523
committer: loafman
timestamp: Mon 2009-06-08 12:59:52 +0000
message:
  Add code for testing of Checkpoint/Restore that I had been doing by hand, both single and multiple failure tests, with verify at the end.
modified:
  testing/finaltest.py
------------------------------------------------------------
revno: 522
committer: loafman
timestamp: Sun 2009-06-07 12:51:51 +0000
message:
  Fix getrlimit usage for Cygwin, which was returning -1 for the hard limit on max open files.
modified:
  duplicity-bin
------------------------------------------------------------
revno: 521
committer: loafman
timestamp: Sat 2009-06-06 17:35:19 +0000
message:
  After merge of Checkpoint/Restart.
modified:
  CHANGELOG
  duplicity-bin
  duplicity/GnuPGInterface.py
  duplicity/backend.py
  duplicity/collections.py
  duplicity/commandline.py
  duplicity/diffdir.py
  duplicity/dup_temp.py
  duplicity/file_naming.py
  duplicity/globals.py
  duplicity/gpg.py
  duplicity/log.py
  duplicity/manifest.py
  duplicity/path.py
  duplicity/tempdir.py
  testing/GnuPGInterfacetest.py
  testing/backendtest.py
  testing/collectionstest.py
  testing/diffdirtest.py
  testing/dup_temptest.py
  testing/file_namingtest.py
  testing/finaltest.py
  testing/gpgtest.py
  testing/manifesttest.py
  testing/misctest.py
  testing/patchdirtest.py
  testing/pathtest.py
  testing/rdiffdirtest.py
  testing/roottest.py
  testing/run-a-test.sh
  testing/run-all-tests.sh
  testing/run-coverage.sh
  testing/selectiontest.py
  testing/statisticstest.py
------------------------------------------------------------
revno: 520
committer: loafman
timestamp: Sat 2009-06-06 17:23:44 +0000
message:
  Checkpoint - Prep for merge of duplicity-cprs.
modified:
  Changelog.GNU
------------------------------------------------------------
revno: 519
committer: loafman
timestamp: Sat 2009-06-06 17:22:47 +0000
message:
  Allow handling of unicode filenames in log messages.
modified:
  duplicity/log.py
------------------------------------------------------------

0 blueprints and 9 bugs targeted

Bug report Importance Assignee Status
388034 #388034 Unable to backup 3 High   10 Fix Released
378940 #378940 python2-6 issue / UTF-8 charset / Ubuntu 9.04 4 Medium   10 Fix Released
383412 #383412 Add InfoCodes for upload events 4 Medium   10 Fix Released
383419 #383419 Add gio backend 4 Medium   10 Fix Released
387102 #387102 Asynchronous upload not working properly 4 Medium Peter Schuller  10 Fix Released
387218 #387218 Add SFTP-only backend 4 Medium   10 Fix Released
388992 #388992 List of Orphaned Files Growing 4 Medium   10 Fix Released
392905 #392905 AttributeError: 'NoneType' object has no attribute 'startswith' 4 Medium   10 Fix Released
393372 #393372 Error creating directory 4 Medium   10 Fix Released
This milestone contains Public information
Everyone can see this information.