870d57b9: MultiBackend: Don’t log username and password.
5bd14df9: Fix NameError.
05d260ea:chg: Fix typo in test selection.
063eba9e: Merge branch ‘onedrive-token-take2’ into ‘master’
25caace6: onedrive: Support using an external client id / refresh
token
092eb039: Merge branch ‘fix-tmdir’ into ‘master’
bc224403: Merge branch ‘date’ into ‘master’
bbc2000f: fix functional tests when _runtestdir is not /tmp
902e61d2: Allow to override manpage date with SOURCE_DATE_EPOCH
debe89ce: Merge branch ‘origin/merge-requests/61’
030f9325:chg: Remove redundant call to
pre_process_download_batch.
8748c50c:chg: Fix mismatch between pre_process_download[_batch]
calls.
908f5ef8: Remove backup file.
a2a5f304: Don’t skip CI
9dba3ad8: Improved management of volumes unsealing for PCA backend
For PCA backend, unseal all volumes at once when restoring them instead
of unsealing once at a time. Use pre_process_download method already
available in dup_main. Need to implement it on BackendWrapper and
Multibackend as well.
908b1e64: Merge branch ‘master’ into ‘master’
3ecfea83: Add support for new b2sdk V2 API
60d38e07:chg: build_ext now builds inplace for development
ease.
c5ab5a4e:chg: Remove lockfile to avoid user confusion.
efbad2da:fix: Release lockfile only once.
5d208eb3:fix: Release lockfile only once.
2f8231a7: Merge branch ‘master’ into ‘master’
116058bc:chg: Fix Support DynamicLargeObjects inside swift
backend
d32eb304: Merge branch ‘issue#68’ into ‘master’
79e25a50: have duplicity retry validate_block so object storage can
report correct size
d7d7cba8:chg: Fix makechangelog to output actual problems.
fad60dcc: Merge branch ‘master’ into ‘master’
e292689e: Replace b2sdk private API references in b2backend with
public API
f034e44a:chg: Add dependency scanning.
c259f6e2:chg: Make sure changelog is only change to commit.
4d3ebf60:chg: Fix indentation.
4ec4c48c:fix: Support -o{Global,User}KnownHostsFile in
–ssh-options
25a20fcd:fix: Add pydrive2 to requirements.txt.
7ea0d094:chg: Add support for –s3-multipart-chunk-size, default
25MB
8970812e:chg: Add interruptable:true as default.
1e5081ea:chg: Fix snapcraft commands.
7c86b3b9:chg: Fix snaplogin file use.
abb9b54a:chg: Add deployment for pip and snap builds.
26b7e740:chg: Add build_pip job.
a0e5a950: Merge branch ‘master’ into ‘master’
4e3c9351: Update b2 backend to use public b2sdk API.
7daf3313: Skip tests failing on py27 under 18.04 (timing
error).
fba34cfe: Fix code style issue.
28c8664b: Add PATHS_FROM_ECLIPSE_TO_PYTHON to environ whan starting
pydevd.
e48632b3: Add *.pyc to .gitignore.
6feb23a4: Replace compilec.py with ‘setup.py build_ext’, del
compilec.py.
f2d0c90c: Merge branch ‘master’ into ‘master’
5bba3ba9: Support PyDrive2 library in the pydrive backend
ad2a7eff: Fix unadorned string.
075fe94c: Fix usage of TOXPYTHON and overrides/bin shebangs.
887f3a99: Use default ‘before_script’ for py27.
1fb21a93: Don’t collect coverage unless needed.
7dd2f80f: Merge branch ‘Tidy_up_gitlab_CI_doc’ into ‘master’
dfecbe21: Tidy .gitlab-ci.yml, fix py3.5 test, add py2.7 test
(allowed to fail)
c4f40124: Merge branch ‘fix-py27-CI’
5d4b3a08: Test code instead of py27 since py27 is tested
elsewhere.
95e88faf: Fix RdiffdirTest to use TOXPYTHON as well.
83d4cb4c: Set TOXPYTHON before tests.
1ea20cba: Put TOXPYTHON in passed environment.
de479cc5: More fixes for bug #1877885 - Catch quota overflow on Mega
upload.
19a5d340: More fixes for bug #1877885 - Catch quota overflow on Mega
upload.
146af891: Undo: Try forcing python version to match tox testing
version.
7781f1c3: Always upgrade pip.
08e52b6b: Try forcing python version to match tox testing
version.
bb3aa986: Uncomment all tests.
77323dd2: Test just py27 for now.
3bbdcba9: Replace bzr with git.
f3db17d2: Don’t load repo version of future, let pip do it.
5820d5db: Hmmm, Gitlab yaml does not like continuation lines. Fix
it.
aba5e2b2: Fix typo.
d7bb2682: Update to use pip as module and add py35 test.
2fe68d81: Add py35 to CI tests.
bd072de8: More changes to support Xenial.
e0a37bc1: Fix typo.
27bf6ac2: Fix duplicity to run under Python 3.5.
0861c46d: Fix duplicity to run under Python 3.5.
0d751d68: Merge branch ‘add_gitlab_testing’ into ‘master’
bacd104b: Update .gitlab-ci.yml to update pip before installing
other pip packages (to try to fix more-itertools issue:
https://github.com/pytest-dev/pytest/issues/4770 )
1ab8047c: Don’t include .git dir when building docker images.
761d8efd: Merge branch ‘update_pip_before_install’ into
‘master’
2c8f4e2f: Upgrade pip before installing requirements with it. Fixes
more-itertools error as newer versions of pip identify that the latest
more-itertools are incompatible with python 2.
25886504: Patched in a megav2backend.py to update to MEGAcmd
tools.
2c8355f2: Merged in lp:~kenneth-loafman/duplicity/duplicity-pylint -
Enable additional pylint warnings. Make 1st pass at correction.
unused-argument, unused-wildcard-import, redefined-builtin,
bad-indentation, mixed-indentation, unreachable - Renamed globals to
config to fix conflict with builtin.glogals() -
Resolved conflict between duplicity.config and testing.manual.config -
Normalized emacs mode line to have encoding:utf8 on all *.py files
a2f3c290: Fixed bug #1868414 - timeout parameter not passed to
BlobService for Azure backend
bf49c52d: More changes for pylint. * Resolved conflict between
duplicity.config and testing.manual.config * Normalized emacs mode line
to have encoding:utf8 on all *.py files
59b412ca: More changes for pylint. * Remove copy.com refs.
4f5c34b5: More changes for pylint.
3a5830b7: More changes for pylint.
738c4bff: Enable additional pylint warnings. Make 1st pass at
correction. - unused-argument, unused-wildcard-import,
redefined-builtin, bad-indentation, mixed-indentation
c169736e: Fixed bug #1769267 - [enhancement] please consider using
rclone as backend.
c8bf327c: Fixed bug #1755955 - best order is unclear, of
exclude-if-present and exclude-device-files - Removed warning and will
now allow these two to be in any order. If encountered outside of the
first two slots, duplicity will silently move them to be in the first
two slots. Within those two slots the order does not matter.
27ad08a8: Fixed a couple of file history bugs: #1044715 Provide a
file history feature + removed neutering done between series - #1526557
–file-changed does not work + fixed str/bytes issue finding
filename
c629b02a: Fixed bug #1865648 - module ‘multiprocessing.dummy’ has no
attribute ‘cpu_count’. - replaced with module psutil for cpu_count()
only - appears Arch Linux does not support multiprocessing
5bae0e3c: Gave up fighting the fascist version control munging on
snapcraft.io. Duplicity now has the form 0.8.10.1558, where the last
number is the bzr revno. Can’t do something nice like having a dev/fin
indicator like 0.8.10dev1558 for dev versions and a fin for release or
final.
78055144: Renamed MulitGzipFile to GzipFile to avoid future problems
with upstream author of mgzip fixing the Mulit -> Multi typo
655bd113: Fixed bug #1858207 missing targets in multibackend - Made
it possible to return default value instead of taking a fatal exception
on an operation by operation approach. The only use case now is for
multibackend to be able to list all targets and report back on the ones
that don’t work.
0c811e42: Fixed bug #1859877 - syntax warning on python 3.8
d6eff2a4: Move to single-sourceing the package version - Rework
setup.py, dist/makedist, dist/makesnap, etc., to get version from
duplicity/init.py - Drop dist/relfiles. It was
problematic.
f6e3266d: Merged in lp:~ed.so/duplicity/boto.fixup - fix manpage
indention - clarify difference between boto backends - add boto+s3://
for future use when boto3+s3:// will become default s3 backend
8fde90ee: Renamed testing/infrastructure to testing/docker
6afbacac: fix manpage indention clarify difference between boto
backends add boto+s3:// for future use when boto3+s3:// will become
default s3 backend
f9470053: Fixed a mess I made. setup.py was shebanged to Py3,
duplicity was shebanged to Py2. This meant that duplicity ran as Py2 but
could not find its modules because they were under Py3. AArgh!
1160274d: Disabling autotest for LP build. I have run tests on all
Ubuntu releases since 18.04, so the code works. To run tests manually,
run tox from the main directory. Maybe LP build will work again
soon.
85e2c33c: Merged in lp:~carlalex/duplicity/duplicity - Fixes bug
#1840044: Migrate boto backend to boto3 - New module uses boto3+s3:// as
schema.
607083bf: BUGFIX: list should retun byte strings, not unicode
strings
70b8e1a2: Updating comments
c7e71a4b: select boto3/s3 backend via url scheme rather than by CLI
option. Doc changes to support this.
5e3cb587: renaming boto3 backend file
514eee53: merging from parent
10c7402d: Adding support for AWS Glacier Deep Archive. Fixing some
typos.
4ad0467f: Manpage updates. Cleaning up the comments to reflect my
current plans. Some minor clean-ups.
09339a2c: updating comments
8c1223fb: SSE options comitted. AES tested, KMS not tested
6b40a28d: handling storage class on backup
08e18318: handling storage class on backup
bc575522: minor clean-ups
49fbb177: rename boto3 backend py file
bb9806a6: removing ‘todo’ comment for multi support. Defaults in
Boto3 chunk the upload and attempt to use multiple threads. See
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.TransferConfig
1be1119c: format fix
0c3ecbd6: Fixing status reporting. Cleanup.
7a069a49: better exception handling. Return -1 for unknwon objects
in _query.
5d5e88b6: Fixed bug #1853809 - Tests failing with Python 3.8 /
Deprecation warnings - Fixed the deprecation warnings with patch from
Sebastien Bacher - Fixed test_globmatch to handle python 3.8 same as 3.7
- Fixed tox.ini to include python 3.8 in future tests
63d141b3: Fixed bug #1853655 - duplicity crashes with
–exclude-older-than - The exclusion setup checked for valid string only.
Made the code comprehend datetime (int) as well.
94bd9a68: Fixed bug #1852876 ’_io.BufferedReader’ object has no
attribute ‘uc_name’ - Fixed a couple of instances where str() was used
in place of util.uexc() - The file was opened with builtins, so use
name, not uc_name
d4b0bd9c: Fixed bug #1852848 with patch from Tomas Krizek - B2 moved
the API from “b2” package into a separate “b2sdk” package. Using the old
“b2” package is now deprecated. See link:
https://github.com/Backblaze/B2_Command_Line_Tool/blob/master/b2/_sdk_deprecation.py
- b2backend.py currently depends on both “b2” and “b2sdk”, but use of
“b2” is enforced and “b2sdk” isn’t used at all. - The attached patch
uses “b2sdk” as the primary dependency. If the new “b2sdk” module isn’t
available, it falls back to using the old “b2” in order to keep backward
compatibility with older installations.
d01b5f5f: Fixed bug #1851727 - InvalidBackendURL for multi backend -
Encode to utf8 only on Python2, otherwise leave as unicode
64a1661f: Merged in lp:~mterry/duplicity/resume-encrypt-no-pass -
This branch arose from a Debian patch that has been disabling the
encryption validation of volume1 during restarts for years. - Debian has
been preserving the ability to back up with just an encrypt key and no
password (i.e. to have no secrets on the backup machine).
06a377f1: Merged in lp:~mterry/duplicity/pydrive-cache-fix - The
pydrive backend had another of the ongoing bytes/string issues. :) -
This time, it was saving a bytes filename in its internal cache after
each volume upload. Then when asked for a list of files later, it would
add the byte-filenames from its cache to the results. And we’d end up
thinking there were two of the same filename on the backend, which would
cause a crash at the end of an otherwise successful backup, because the
collections code would assert on the filenames being unique.
b9b8fb8f: Removed a couple of disables from pylint code test. -
E1103 - Maybe has no member - E0712 - Catching an exception which
doesn’t inherit from BaseException
f84ddb7a: Added additional fsdecode’s to uses of local_path.name and
source_path.name in b2backend’s _get() and _put. See bug #1847885 for
more details.
b1e2283c: Fixed bug #1849661 with patch from Graham Cobb - The
problem is that b2backend uses ‘quote_plus’ on the destination URL
without specifying the ‘safe’ argument as ‘/’. Note that ‘quote’
defaults ‘safe’ to ‘/’, but ‘quote_plus’ does not!
9a3f11a0: Fixed bug #1626061 with patch from Michael Apozyan - While
doing multipart upload to s3 we need to report the total size of
uploaded data, and not the size of each part individually. So we need to
keep track of all parts uploaded so far and sum it up on the fly.
92a7792f: Fixed bug #1626061 with patch from Michael Apozyan - While
doing multipart upload to s3 we need to report the total size of
uploaded data, and not the size of each part individually. So we need to
keep track of all parts uploaded so far and sum it up on the fly.
fabb5e49: Fixed bug #1848203 with patch from Michael Apozyan -
convert to integer division
e0db40e8: Updated b2 backend to work with both v0 and v1 of b2sdk *
Fixed bug #1847885 - B2 fails on string concatenation. - use
util.fsdecode() to get a string not bytes. - Partially fixed in bug
#1843995, this applies same fix to remaining instances of the
problem
9ff5cab4: In version 1 of the B2sdk, the list_file_names method is
removed from the B2Bucket class.
88b9694b: complete fix for string concatenation in b2 backend
265f9b05: Fixed Resouce warnings when using paramiko. It turns out
that duplicity’s ssh_paramiko_backend.py was not handling warning
suppression and ended up clearing all warnings, including those that
default to off.
cff9513e: Fixed Resouce warnings when using paramiko. It turns out
that duplicity’s ssh_paramiko_backend.py was not handling warning
suppression and ended up clearing all warnings, including those that
default to off.
3cbdcaf2: Fixed bug #1846678 - –exclude-device-files and
-other-filesystems crashes - assuming all options had arguments was
fixed.
cd4a41a0: Fixed bug #1844950 - ssh-pexpect backend syntax error -
put the global before the import.
0c688ce7: Fixed bug #1846167 - webdavbackend.py: expected bytes-like
object, not str - base64 now returns bytes where it used to be strings,
so just decode().
d39bb267: Fixed bug reported on maillist - Python error in Webdav
backend. See:
https://lists.nongnu.org/archive/html/duplicity-talk/2019-09/msg00026.html
52a4e36d: Fix bug #1844750 - RsyncBackend fails if used with
multi-backend. - used patch provided by KDM to fix.
55cb37cb: Fix bug #1843995 - B2 fails on string concatenation. - use
util.fsdecode() to get a string not bytes.
7f7bb75c: Fix MacOS tempfile selection to avoid /tmp and /var/tmp.
See thread:
https://lists.nongnu.org/archive/html/duplicity-talk/2019-09/msg00000.html
9549dd55: Added more python future includes to support using python3
code mixed with python2.
ce5a86b0: Fix exc.args handling. Sometimes it’s (message, int),
other times its (int, message). We look for the message and use that for
the exception report.
165153e5: Adjust exclusion list for rsync into duplicity_test.
93be690d: Set to allow pydevd usage during tox testing.
50e4c7be: Don’t add extra newline when building
dist/relfiles.txt.
ecc4ed31: Changed dist/makedist to fall back to dist/relfiles.txt in
case bzr or git is not available to get files list. Tox sdist needs
setup.py which needs dist/makedist. * Updatated LINGUAS file to add four
new translations.
aeb19bab: Made some changes to the Docker infrastructure: All
scripts run from any directory, assuming directory structure remains the
same. - Changed from Docker’s COPY internal command which is slow to
using external rsync which is faster and allows excludes. - Removed a
couple of unused files.
b8a9251d: Run compilec.py for code tests, it needs the import.
52b07ac4: Merged in
lp:~aaron-whitehouse/duplicity/08-docker-local-import - Convert the
Docker infrastructure to pull the local branch into duplicity_test. This
allows testing the local branch with the known-good Docker environment,
even if it has not yet been committed to trunk. - As a consequence,
remove the -r option to build-duplicity_test.sh. This functionality can
be achieved by branching that revision before running the script.
fba1daa8: Simplify README-TESTING and change this to recommend using
the Docker images to test local branches in a known-good
environment.
61f5075e: Convert Dockerfile-19.10 to new approach (using local
folder instead of remote repo) * run-tests passes on 19.10 Docker
(clean: commands succeeded; py27: commands succeeded; SKIPPED: py36:
InterpreterNotFound: python3.6; py37: commands succeeded; report:
commands succeeded)
ae230ea2: Convert Dockerfile-19.04 to new approach (using local
folder instead of remote repo) * run-tests passes on 19.04 Docker
(clean: commands succeeded; py27: commands succeeded; SKIPPED: py36:
InterpreterNotFound: python3.6; py37: commands succeeded; report:
commands succeeded)
10ec6bf4: Edit Dockerfile-18.10 to use the local folder. * Tests all
pass on 18.10 except for the same failures as trunk (4 failures on
python 3.6: TestUnicode.test_unicode_filelist;
TestUnicode.test_unicode_paths_asterisks;
TestUnicode.test_unicode_paths_non_globbing;
TestUnicode.test_unicode_paths_square_brackets)
eabf46d4: Use local folder instead of bzr revision, so remove the
revision arguments in the setup script. * Modify Dockerfile and
Dockerfile-18.04 to copy the local folder rather than the remote
repository. * Tests all pass on 18.04 except for the same failures as
trunk (4 failures on python 3.6: TestUnicode.test_unicode_filelist;
TestUnicode.test_unicode_paths_asterisks;
TestUnicode.test_unicode_paths_non_globbing;
TestUnicode.test_unicode_paths_square_brackets)
891d34f6: Merged in lp:~kaffeekiffer/duplicity/azure-filename -
Encode Azure back-end paths
bd4ccabb: Merged in lp:~aaron-whitehouse/duplicity/08-README-TESTING
- Change README-TESTING to be correct for running individual tests now
that we have moved to Tox/Pytest.
dfe8803b: Ran futurize selectively filter-by-filter to find the ones
that work.
f3b1f584: Fixed build on Launchpad for 0.8.x, so now there is a new
PPA at
https://launchpad.net/~duplicity-team/+archive/ubuntu/daily-dev-trunk
9dd955f4: Fix debian/control file
ae8a5318: Fix debian/control file
9762a72a: Merged in lp:~aaron-whitehouse/duplicity/08-snap-python2 -
Add packaging code for Snapcraft/Snap packages
4a96e695: Add snap package creation files * Modify dist/makedist to
version the snapcraft.yaml
0767bce9: Remove a mess I made.
29a0d1fb: Fixed bug #1839886 with hint from denick - Duplicity
crashes when using –file-prefix * Removed socket.settimeout from
backend.py. It was already set in commandline.py. * Removed pycryptopp
from README requirements
a1b72c75: More changes to provide Python test coverage: Moved bulk
of code from bin/duplicity to duplicity/dup_main.py for coverage. *
Fixed some 2to3 issues in dup_main.py * Fixed division differences with
futurize
b3ad29ca: More changes to provide Python test coverage: Moved bulk
of code from bin/duplicity to duplicity/dup_main.py for coverage. *
Fixed some 2to3 issues in dup_main.py * Fixed division differences with
futurize
42061d8f: More changes to provide Python test coverage: Moved bulk
of code from bin/duplicity to duplicity/dup_main.py for coverage. *
Fixed some 2to3 issues in dup_main.py
3f6b9819: More changes to provide Python test coverage: Now covers
functional tests spawning duplicity - Does not cover bin/duplicity for
some reason
cb4ca276: Fixed bugs #1838427 and #1838702 with a fix suggested by
Stephen Miller. The fix was to supply tarfile with a unicode grpid, not
bytes.
85eac110: Some changes to provide Python test coverage: Coverage
runs with every test cycle - Does not cover functional tests that spawn
duplicity itself. Next pass. - After a run use ‘coverage report html’ to
see an overview list and links to drill down. It shows up in
htmlcov/index.html.
51893a19: Fix dist/makedist to run on python2/3
4af852c6: Fix dist/makedist to run on python3
84890aa5: Fix dist/makedist to run on python3
f0e9f3f1: One last change for bug #1829416 from charlie4096
a017fd78: Merged in po-updates. * Fixed bug #1829416 with help from
charlie4096 - onedrive: Can’t convert ‘bytes’ object to str
implicitly
64ece375: Enhanced build_duplicity_test.sh - Use -h to get help and
defaults - Takes arguments for distro, revno, help - Distros supported
are 18.04, 18.10, 19.04, 19.10 - Revnos are passed to bzr -r option
3487456a: Fix so Docker image duplicity_test will update and pull
new bzr revisions if changed since last build.
13f4e348: Remove speedup in testing backup. The math was correct,
but it’s failing on Docker and Launchpad testing.
cb53a81f: Fix language classifiers in setup.py
7d2fab89: Removed python-gettext from setup.py. Whoops!
a020404e: Move pytest-runner setup requirement to a test
requirement
5de10b39: Merged in lp:~stragerneds/duplicity/duplicity - Cache
results of filename parsing for speedup
d8e710dd: Merged in lp:~limburgher/duplicity/dropbox - Fixes bug
#1836611 dropbox mixing bytes and strings
eab278fd: Fixed bug #1836829 progress.py: old_div not defined - also
fixed old_div in _boto_multi.py
11df6f2d: Fixed bug #1836829 progress.py: old_div not defined - also
fixed old_div in _boto_multi.py
d2512351: Remove python-gettext from requirements.txt. Normal Python
installation includes gettext. * Mod README to include Python 3.6 and
3.7
8de013d5: Correct types for os.join in Dropbox backend.
bdaf3d19: Fix some issues found by test_code.py (try 2)
266e6a83: Fix some issues found by test_code.py.
8cd38578: Fix reversed port assignments (FTP & SSH) in
docker-compose.yml.
b6a634e1: Convert the docker duplicity_test image to pull the local
branch into the container, rather than lp:duplicity. This allows the use
of the duplicity Docker testing containers to test local changes in a
known-good environment before they are merged into trunk. The equivalent
of the old behaviour can be achieved by starting with a clean branch
from lp:duplicity. * Expand Docker context to parent branch folder and
use -f in the docker build command to point to the Dockerfile. *
Simplify build-duplicity_test.sh now that the whole folder is copied
(individual files no longer need to be copied)
f8db0aa9: Fix reimport problem where “from future.builtins” was
being treated the differently than “from builtins”. They are both the
same, so converted to shorter form “from builtins” and removed
duplicates.
7f83e334: Merged in lp:~mterry/duplicity/s3fsdecode - Fix s3 backups
by encoding remote filenames
6a7a1499: Merged in lp:~aaron-whitehouse/duplicity/08-dockerfixes -
Update duplicity_test Dockerfile: Use 18.04 instead of 16.04 * Use
Ubuntu 18.04 version of pip * Add Python3 and 2to3 as a dependencies *
Set docker locale as UTF-8
ee08ae88: Merged lp:~mterry/duplicity/boto-import - A couple
functions in the boto backend were using the boto module without
importing it first.
e07b429e: Normalize shebang to just python, no version number * Fix
so most testing/*.py files have the future suggested lines - from
future import print_function from future import
standard_library standard_library.install_aliases()
64d71775: Fix s3 backups by encoding remote filenames
c2819f57: Merge with trunk
da3cf0e6: Add 2to3 as a dependency to dockerfile
37387bea: Add tzdata back in as a dependency and set
DEBIAN_FRONTEND=noninteractive so no tzdata prompt
d46e4bae: Set docker container locale to prevent UTF-8 errors
95d074cf: Change dockerfile to use 18.04 instead of 16.04 and other
fixes.
d3916839: Fix s3 backups by importing the boto module
a0d9f96d: Fixed failing test in testing/unit/test_globmatch.py -
Someone is messing with regex. Fix same. - See
https://bugs.python.org/issue29995 for details
79981055: Fixed bug #1833559 0.8 test fails with ‘duplicity not
found’ errors - Fixed assumption that duplicity/rdiffdir were in
$PATH
60251204: Fixed bug #1833573 0.8.00 does not work on Python 2 -
Fixed shebang to use /usr/bin/python instead of python2
110c5332: Fix some test_code errors that slipped by.
95ca6247: Merged in lp:~kaffeekiffer/duplicity/azure-python3-fix -
Use util.fsencode to encode file string
8b7b7e81: Fixed bug #1831178 sequence item 0: expected str instance,
int found - Simply converted int to str when making list
22337823: Fix some import conflicts with the “past” module - Rename
collections.py to dup_collections.py - Remove all “from future.utils
import old_div” - Replace old_div() with “//” (in py27 for a while). -
All tests run for py3, unit tests run for py3. The new import fail is
“from future import standard_library”
c75520e9: Fix Azure backend for python 3
97830b83: Spaces to tabs for makefile.
76a6e901: Change to python3 for build
d9b170a3: Merged in lp:~mterry/duplicity/uexc-string - The return
type of util.uexc should always be a string.
3d3fe25a: Remove unnecessary sleeping after running backups in
tests
fadea9e3: Minimize time spent sleeping between backups
f530dd76: Ensure all duplicity output is captured in tests
a9a34425: Some more work on unadorned strings - Fixed
test_unadorned_string_literals to list all strings found - Added
bin/duplicity and bin/rdiffdir to list of files tested - All unadorned
strings have now been adorned
ec945ce4: Fixed bug #1828662 with patch from Bas Hulsken -
string.split() had been deprecated in 2, removed in 3.7
41bac6d6: Merged in lp:~mgorse/duplicity/0.8-series - Python 3 fixes
to imapbackend.py - Fix bug 1828869: refresh CollectionsStatus after
sync
7beafc6b: Fix some unadorned strings.
56ade83a: Fix some unadorned strings.
bc38fa13: Fix to allow >=2.7 or >=3.5
98f181ef: Fix to always compile _librsync before testing.
fd130945: setup.py: allow python 2.7 again
6829ac38: Bug #1828869: update CollectionsStatus after sync
bc62bffb: imap: python 3 fixes
7ba0b41c: sync: handle parsed filenames without start/end times
ba40023f: More PEP 479 fixes
7c68abdd: Manual merge of lp:~yajo/duplicity/duplicity - Support
partial metadata sync. - Fixes bug #1823858 by letting the user to
choose partial syncing. Only the metadata for the target chain will be
downloaded. If older (or newer) chains are encrypted with a different
passphrase, the user will be able to restore to a given time by
supplying only the passphrase for the chain selected by the
--restore-time option when using this new option. - A side
effect is that using this flag reduces dramatically the sync time when
moving files from one to another location, in cases where big amounts of
chains are found.
8e0bb1b3: Change to Python >= 3.5
784b87ed: Merged in lp:~brandon753-ba/duplicity/aws-glacier - Adds
support for for a command line option to store data on AWS S3
Glacier.
bd65c5c3: Fix bug #1811114 with revised onedrivebackend.py from
David Martin - Adapt to new Microsoft Graph API
8f0030bf: Removed last mention of copy.com from man page with help
from edso.
997e4eaf: Merged in lp:~aaron-whitehouse/duplicity/08-style-fixes -
Fix pylint style issues (over-indented text, whitespace on blank lines
etc) - Removed “pylint: disable=bad-string-format-type” comment, which
was throwing an error and does not seem to be needed.
d9ddf161: Merged in lp:~aaron-whitehouse/duplicity/08-uexc-fix - Fix
for Bug #1770929 with associated test cases (thanks to Pete Zaitcev
(zaitcev) in Bug #1797928 for the head start).
8d6664d3: Merged in lp:~mgorse/duplicity/0.8-series - More python 3
fixes
8f8369cd: Added documentation on how to use the new AWS S3 Glacier
option.
9e52eeff: Fix pylint style issues (over-indented text, whitespace on
blank lines etc) * Removed “pylint: disable=bad-string-format-type”
comment, which was throwing an error and does not seem to be
needed.
82b49937: Accomodate unicode input for uexc and add test for
this.
f087516f: Convert deprecated .message to args[0]
6166fe0d: Add test case for lp:1770929 * Added fix (though using
deprecated .message syntax)
45dac6ff: Change README-TESTING to be correct for running individual
tests now that we have moved to Pytest.
7c902b20: Fixed a typo in prior commit
ef326de3: Added support for AWS glacier storage class
76896c0d: Attempt to port sx backend to python 3
b7337f22: rsync: py3 fixes
cc77e0bf: ncftp: py3 fixes
4ed97fe1: test_selection.py: fix an invalid escape sequence on
py3
f09663ca: Fixed bug #1817375 with hint from mgorse - Added ‘global
pexpect’ at end of imports
7bd2233f: Merged in lp:~mterry/duplicity/pydrive-root - Just a tiny
fix to clean up the temporary file we create to find the root ID. It’s a
little surprising for the user if they wind up with this file called
“i_am_in_root” that they don’t know where it came from. Almost sounds
like they were hacked.
e95da3df: Merged in lp:~mgorse/duplicity/0.8-series - More changes
for unicode and py3 support
cfdf24d7: Modify some generators to return when finished
6c2a5084: Fix lftp breakage introduced by the python 3 changes
ba4bce04: Bug #1813214 was marked fixed in 0.7.13. There were still
a couple of copy.com references remaining in the docs and web. Got those
nuked, finally.
3c3c63a8: Merged in lp:~vam9/duplicity/0.8-series-s3-kms-support -
Added s3 kms server side encryption support with kms-grants
support.
13430f7f: Merged in lp:~okrasz/duplicity/duplicity - Add
–azure-blob-tier that specifies storage tier (Hot,Cool,Archive) used for
uploaded files.
36f8ea7d: Putting option in man in alphabetical order + description
improvement.
dd96df13: Adds setting to specify Azure Blob standard storage
tier.
5bdfbcc4: Fixed bug #1803896 with patch from slawekbunka - Add
enter and exit to
B2ProgressListener
fd8a0c60: Fixed bug #1798206 and bug #1798504 * Made paramiko a
global with import during init so it would not be
loaded unless needed.
9df440ef: Merged in lp:~mcuelenaere/duplicity/duplicity - Make sure
we don’t load files completely into memory when transferring them
from/to the remote WebDAV endpoint.
a956029d: _librsyncmodule.c: Use s in format parameters again under
python 2
ca3f6ab5: Fix comment from last commit
bda236b1: compilec.py: work around conflict with collections.py
vs. built-in collections module
b51cd393: First pass at a python 3 port
875c8738: tox: pass LC_CTYPE
1212e466: Change WebDAV backend to not read/write files into memory,
but stream them from/to disk to/from the remote endpoint
90bc58b6: Merged in lp:~qsantos/duplicity/fix-unmatched-rule-error -
There are actually two commits: the first fixes a very minor detail in
the README regarding the Python version that should be used; the second
fixes the way exceptions are handled when an incorrect rule is
specified, and display the nice error message rather than an obscure
stack trace.
423b5024: Fix error message on unmatched glob rules
66780970: Merged in lp:~mgorse/duplicity/0.8-series - Adorn some
duplicity/*.py strings. I’ve avoided submitting anything that I think
might require significant discussion; I think that reviewing will be
easier this way. Mostly annotated strings as unicode, except for
librsync.py.
ed328524: Adorn strings in some duplicity/*.py files. Several files
are still tbd.
a4ce06b8: Released some things without proper paperwork: Adorned
strings in testing/, testing/functional/, and testing/unit * Added
AUTHORS file listing all copyright claimants in headers
99835a30: Fix 2to3 error found with newer 2to3 module.
b15e2f74: Nuke remnants of copycom and acdcli backends * Regen
docs
bfdc1f33: Fixed unadorned strings to unicode in duplicity//
- Some fixup due to shifting indenataion not matching PEP8. -
Substituted for non-ascii char in jottlibbackend.py comment.
2228530a: Fixed unadorned strings to unicode in duplicity/backends/*
- Some fixup due to shifting indenataion not matching PEP8.
957833d5: Fixed unadorned strings to unicode in duplicity/backends/*
- Some fixup due to shifting indenataion not matching PEP8.
28813e6f: Added function to fix unadorned strings
(testing/fix_unadorned_strings.py) - Fixes by inserting ‘u’ before token
string - Solves 99.9% of the use cases we have - Fix unadorned strings
to unicode in bin/duplicity and bin/rdiffdir - Add import for
future.print_function to find_unadorned_strings.py
06b11a47: Fix unadorned strings to unicode.
238942df: Add gpg sockets to ignore list.
8a03ad70: Add fix_unadorned_strings.py to ignore list.
a74d19c4: Add function to fix unadorned strings by inserting ‘u’
before. Solves 99.9% of the use cases we have.
5a7b6ba3: Merged in lp:~aaron-whitehouse/duplicity/08-adorn-strings
- Adorning string literals (normally to make these unicode), in support
of a transition to Python 3. See
https://blueprints.launchpad.net/duplicity/+spec/adorn-string-literals -
Adorn string in duplicity/globmatch.py. - Adorn strings in
testing/unit/test_globmatch.py - Adorn strings in selection.py - Adorn
strings in functional/test_selection.py and unit/test_selection.py -
Remove ignores for these files in test_code.py
f5059f2a: Adorn globs in functional/test_selection.py and
unit/test_selection.py * Remove ignores for these files in
test_code.py
5eee717e: Remove selection.py exception from test_code.py
bd2b1530: Fixed bug #1780617 Test fail when GnuPG >= 2.2.8 -
Relevant change in GnuPG 2.2.8: https://dev.gnupg.org/T3981 - Added
‘–ignore-mdc-error’ to all gpg calls made.
ef1547d7: Merged in
lp:~aaron-whitehouse/duplicity/08-unadorned-strings - Added new script
to find unadorned strings (testing/find_unadorned_strings.py
python_file) which prints all unadorned strings in a .py file. - Added a
new test to test_code.py that checks across all files for unadorned
strings and gives an error if any are found (most files are in an ignore
list at this stage, but this will allow us to incrementally remove the
exceptions as we adorn the strings in each file). - Adorn string
literals in test_code.py with u/b
2ebb1072: Merged in lp:~aaron-whitehouse/duplicity/08-pycodestyle -
Tox changes to accommodate new pycodestyle version warnings. Ignored
W504 for now and marked as a TODO. Marked W503 as a permanent ignore, as
it is prefered to the (mutually exclusive) W504 under PEP8. - Marked
various regex strings as raw strings to avoid the new W605 “invalid
escape sequence”.
7dd613a1: Added new script to find unadorned strings
(testing/find_unadorned_strings.py python_file) which prints all
unadorned strings in a .py file. * Added a new test to test_code.py that
checks across all files for unadorned strings and gives an error if any
are found (most files are in an ignore list at this stage, but this will
allow us to incrementally remove the exceptions as we adorn the strings
in each file).
1e64cdee: Adorn string literals in test_code.py with u/b * Add test
for unadorned string literals (currently only single file)
12649b7e: Tox changes to accommodate new pycodestyle version
warnings. Ignored W504 for now and marked as a TODO. Marked W503 as a
permanent ignore, as it is prefered to the (mutually exclusive) W504
under PEP8. * Marked various regex strings as raw strings to avoid the
new W605 “invalid escape sequence”.
d4aacfa5: Fixed bug #x1717935 with suggestion from strainu - Use
urllib.quote_plus() to properly quote pathnames passed via URL
3ad79af2: Fixed bug #1768954 with patch from Max Hallden - Add
AZURE_ENDPOINT_SUFFIX environ variable to allow setting to non-U.S.
servers
6fe72d50: Merged in lp:~dawgfoto/duplicity/fixup1252 * only check
decryptable remote manifests - fixup of revision 1252 which introduces a
non-fatal error message (see #1729796) - for backups the GPG private key
and/or it’s password are typically not available - also avoid
interactive password queries through e.g. gpg agent
3a9932d4: only check decryptable remote manifests - fixup of
revision 1252 which introduces a non-fatal error message (see #1729796)
- for backups the GPG private key and/or it’s password are typically not
available - also avoid interactive password queries through e.g. gpg
agent
c1c17c2a: check last manifest only with prev. backup
a1850691: Mass update of po files from launchpad translations.
5f463949: Merged in lp:~dawgfoto/duplicity/fixup1251 - Avoid
redundant replication of already present backup sets. - Fixed by adding
back BackupSet.__eq__ which was accidentally(?) removed in 1251.
ad8c5a1d: Avoid redundant replication of already present backup sets
- Add back BackupSet.__eq__ which was accidentally removed in 1251
1698df42: Reduce dependencies on backend libraries - Moved backend
imports into backend class init method - Surrounded
imports with try/except to allow better errors - Put all library
dependencies in requirements.txt
16c411ca: Merged in
lp:~aaron-whitehouse/duplicity/08-ufn-to-fsdecode - Change util.fsdecode
to use “replace” instead of “ignore” (matching behaviour of util.ufn) -
Replace all uses of ufn with fsdecode - Make backend.tobytes use
util.fsencode rather than reimplementing
a87414af: Make backend.tobytes use util.fsencode rather than
reimplementing
86b6258d: Merge with trunk
9ace158a: Change util.fsdecode to use “replace” instead of “ignore”
(matching behaviour of util.ufn) * Replace all uses of ufn with
fsdecode
e56a707b: Fixes so pylint 1.8.1 does not complain about missing
conditional imports. - Fix dpbxbackend so that imports require
instantiation of the class. - Added pylint: disable=import-error to a
couple of conditional imports
98be0f65: Update docs.
eccd197c: Merged in lp:~aaron-whitehouse/duplicity/08-ufn-to-uc_name
- Replace util.ufn(path.name) with path.uc_name throughout.
1d6e0511: Merge with trunk.
57230453: Replace util.ufn(path.name) with path.uc_name
throughout.
97b9c6c9: More pytest changes - Use requirements.txt for
dependencies - Run unit tests first, then functional - Some general
cleanup
b4bb3654: More pytest changes - Use requirements.txt for
dependencies - Run unit tests first, then functional - Some general
cleanup
783b72fd: Converted to use pytest instead of unittest (setup.py test
is now discouraged) - We use @pytest.mark.nocapture to mark
the tests (gpg) that require no capture of file streams (currently 10
tests). - The rest of the tests are run normally
b1882672: Remove precise-lpbuild. EOL as of April 28, 1917.
cf47e310: Remove unused import.
7523d612: First cut converting to pytest. - ‘setup.py test’ now uses
pytest. We still use tox for correct virtualenv setup. All seem to be
current best practices since ‘setup.py test’ use is discouraged. -
Global –capture=no option to allow gpg tests to complete successfully.
Future should only turn off capture to the gpg tests themselves. Creates
a still messy output.
9f11e31a: Merged in lp:~aaron-whitehouse/duplicity/08-unicode - Many
strings have been changed to unicode for better handling of
international characters and to make the transition to Python 3
significantly easier, primarily on the ‘local’ side of duplicity
(selection, commandline arguments etc) rather than any backends
etc.
62e297e7: Various code tidy-ups pre submitting for merge. None
should change behaviour.
91916e54: Change fsdecode to use globals.fsencoding * Add
‘ANSI_X3.4-1968’ to the list of fsencodings that globals.fsencode treats
as probably UTF-8
b1603245: Merge in lp:~mterry/duplicity/unicode-future
8d9d0c39: Sync with trunk.
fd55349a: Merge with trunk * Add back in testing/testfiles.tar.gz
(accidentally made unversioned in previous commit when doing manual
merge of archives) * PEP8 error (from trunk)
1cf52762: Fix PEP8 issues.
61c38e0e: Merged in lp:~crosser/duplicity/fix-small-file-upload -
Fixed small file upload changes made in Dropbox SDK v7.1
a91474c8: Merge with trunk (including manual merge of
testfiles.tar.gz to add select-unicode to the version without the
non-UTF8 file)
8f2240c2: dpbxbackend: fix small files upload (API change)
b3584716: Specify debian dependency too
62b1ce5e: Specify future requirement
a3b05cae: Merged in lp:~crosser/duplicity/dpbx-fix-file-listing -
Fixed bug #1639664 “Dropbox support needs to be updated for Dropbox SDK
v7.1”
bdd76822: Merged in lp:~crosser/duplicity/fix-oauth-flow - Fixed bug
#1638236 “BackendException with oauth2client 4.0.0”
e4e65932: dpbxbackend: check for specific API error for missing
folder
a33c50ff: The “new” Dropbox OAuth API return objects rather than
tuples. Adjust auth flow to that.
5453c89d: The “new” Dropbox API for directory listing raises an
exception when the directory is empty (and duplicity directory will be
empty on the first run). We actually want and empty list of files if the
list of files is emtpy. So catch the ListFolderError and continue.
a632d28e: More fixes for Unicode handling - Default to ‘utf-8’ if
sys.getfilesystemencoding() returns ‘ascii’ or None - Fixed bug #1386373
with suggestion from Eugene Morozov
ca58c22f: Fixed bug #1733057 AttributeError: ‘GPGError’ object has
no attribute ‘decode’ - Replaced call to util.ufn() with call to
util.uexc(). Stupid typo!
0c1fa988: Fix attribution for patch of 1448094 to Wolfgang
Rohdewald.
22699028: Merge with trunk (and fix PEP error in
backends/pydrivebackend.py)
31ffda2a: Remove non-UTF8 filename from testfiles.tar.gz.
086f84c5: Fixed bug #1730902 GPG Error Handling - use util.ufn() not
str() to handle encoding
7e4a37a1: Fixed bug #1723890 with patch from Killian Lackhove -
Fixes error handling in pydrivebackend.py
08f6949d: Fixed bug #1720159 - Cannot allocate memory with large
manifest file since 0.7.03 - filelist is not read if –file-changed
option in collection-status not present - This will keep memory usage
lower in non collection-status operations
f79aaf31: Fix PEP8 issues in b2backend.py.
da6955d2: Fixed bug #1724144 “–gpg-options unused with some
commands” - Add –gpg-options to get version run command
86924571: Fixed bug #1448094 with patch from Tomáš Zvala - Don’t log
incremental deletes for chains that have no incrementals
1ecb27d1: Fixed bug #1654756 with new b2backend.py module from
Vincent Rouille - Faster (big files are uploaded in chunks) - Added
upload progress reporting support
98a9ba7c: Remove conditional pexpect in
testing/functional/init.py – while the commented-out
text is the nicer approach in versions after pexpect 4.0, we need to
support earlier versions at this stage and a single code path is
simpler.
8468dbb8: Patched in lp:~mterry/duplicity/rename-dep - Make rename
command a dependency for LP build
75852da1: Merge with trunk
f34d8004: Fixed bug #1714663 “Volume signed by XXXXXXXXXXXXXXXX, not
XXXXXXXX” - Normalized comparison length to min length of compared keys
before comparison - Avoids comparing mix of short, long, or fingerprint
size keys.
0244a0e8: Merge with trunk.
387eb406: Fix PEP8 issues.
4e05ed79: Fixed bug #1715650 with patch from Mattheww S - Fix to
make duplicity attempt a get first, then create, a container in order to
support container ACLs.
75f779e3: More fixes to backend.py plus some cleanup.
e6fb27a2: Fix backend.py to allow string, list, and tuple types to
support megabackend.py.
aa2d25d9: Merged in lp:~mterry/duplicity/more-decode-issues - Here’s
some fixes for another couple UnicodeDecodeErrors. - The
duplicity/dup_time.py fixes when a user passes a utf8 date string (or a
string with bogus utf8 characters, but they have to really try to do
that). This is bug 1334436. - The bin/duplicity change from str(e) to
util.uexc(e) fixes bug 1324188. - The rest of the changes
(util.exception_traceback and bin/duplicity changes to use it) are to
make the printing of exceptions prettier. Without this, if you see a
French exception, you see “accept9es” instead of “acceptées”. - You can
test all of these changes in one simple line: $ LANGUAGE=fr duplicity
remove-older-than $‘accept’
c0351375: Fix some unicode decode errors around exceptions
68662bb7: Fixed bug introduced in new megabackend.py where
process_commandline() takes a string not a list. Now it takes both. *
Updated web page for new megabackend requirements.
4313c6eb: Fixed bug #1638033 Remove leading slash on
–file-to-restore - code already used rstrip(‘/’) so change to just
strip(‘/’)
860581fc: # Fixed bug #1394386 with new module megabackend.py from
Tomas Vondra - uses megatools from https://megatools.megous.com/ instead
of mega.py library which has been deprecated - fixed copyright and PEP8
issues - replaced subprocess.call() with self.subprocess_popen() to
standardize
c16acf93: # Fixed bug #1394386 with new module megabackend.py from
Tomas Vondra - uses megatools from https://megatools.megous.com/ instead
of mega.py library which has been deprecated - fixed copyright and PEP8
issues
5b1483ff: Merged in lp:~mterry/duplicity/gpg-tag-versions - Support
gpg versions numbers that have tags on them. - This can happen if you
build gpg from git trunk (e.g. 2.1.15-beta20). Or if you run against the
freedesktop flatpak runtime (e.g. 2.1.14-unknown).
f6573679: Fix errors where log.Warn was invoked with log.warn in
webdavbackend.py
943c4571: Support gpg versions with -tag suffixes
de28ab97: Merged in lp:~mterry/duplicity/gio_child_for_display_name
- gio: be slightly more correct and get child GFiles based on display
name
45f82fcc: Fixed PEP8 errors in bin/duplicity
ffb851b3: Fixed bug #1709047 with suggestion from Gary Hasson *
fixed so default was to use original filename
b6fee2ad: gio: be slightly more correct and get child GFiles based
on display name
70fb3a6d: Merged in lp:~mterry/duplicity/giobackend-display-name -
giobackend: handle a wider variety of gio backends by making less
assumptions; in particular, this fixes the google-drive: backend
1a8ebd3c: giobackend: handle a wider variety of gio backends by
making less assumptions; in particular, this fixes the google-drive:
backend
e70d1275: Merge from trunk (with pylint fixes).
96614394: Fixed encrypted remote manifest handling to merely put out
a non-fatal error message and continue if the private key is not
available.
96f13485: Fixed slowness in ‘collection-status’ by basing the status
on the remote system only. The local cache is treated as empty.
2d37ea73: Merge from trunk
f5b8e76a: Fix text of last change.
54ee4f38: Patched in
lp:~dawgfoto/duplicity/skip_sync_collection_status - collection-status
should not sync metadata - up-to-date local metadata is not needed as
collection-status is generated from remote file list - syncing metadata
might require to download several GBs
fd5f4f8a: collection-status should not sync metadata - up-to-date
local metadata is not needed as collection-status is generated from
remote file list - syncing metadata might require to download several
GBs
c7052a74: Fixed PEP8 and 2to3 issues.
60aa6ef6: Merged in lp:~xlucas/duplicity/pca-backend - Add support
for OVH Public Cloud Archive backend.
3f001439: Merged in
lp:~xlucas/duplicity/multibackend-prefix-affinity - Support prefix
affinity in multibackend.
3d32cf96: Merge with trunk, turning string literals in the new
testing/functional/test_replicate.py into unicode.
02378290: Merged in lp:~dawgfoto/duplicity/replicate - Add
integration test for newly added replicate command. - Also see
https://code.launchpad.net/~dawgfoto/duplicity/replicate/+merge/322836.
a627de1f: add integration test for newly added replicate
command
d3681607: Fixed problem in dist/makedist when building on Mac where
AppleDouble files were being created in the tarball. See:
https://superuser.com/questions/61185/why-do-i-get-files-like-foo-in-my-tarball-on-os-x
e0ce2a69: Fixed problem in dist/makedist when building on Mac where
AppleDouble files were being created in the tarball. See:
https://superuser.com/questions/61185/why-do-i-get-files-like-foo-in-my-tarball-on-os-x
c80cc195: Add support for OVH Public Cloud Archive backend.
ab246ece: Remove util.bytes_to_uc (as either .decode or fsdecode is
preferable). * Move unicode conversion for select options from
selection.py to commandline.py.
09f69b1c: Replace util.py functions to and from unicode with direct
calls to .encode and .decode, as it did not save much code, means the
“strict”/“ignore”/“replace” decision can be made per call. Also helps
narrow down on why sys.getfilesystemencoding() is not working as
expected in some places.
9dcb238c: Merge remaining file from trunk. Tests pass.
ebc7efb6: Merged in lp:~duplicity-team/duplicity/po-updates
bec1efe6: Merge all but bin/duplicity/ (which breaks
testing.functional.test_final.FinalTest.test_asym_with_hidden_recipient_cycle
)
4dfa7abd: Merged in lp:~xlucas/duplicity/swift-multibackend-bug -
Fix a bug when swift backend is used in a multibackend
configuration.
d4f4e305: Merged in lp:~xlucas/duplicity/swift-multibackend-bug -
Fix a bug when swift backend is used in a multibackend
configuration.
290b3478: Copy.com is gone so remove copycombackend.py.
8d681de8: Copy.com is gone so remove copycombackend.py.
54120606: Fixed bug #1265765 with patches from Matthias Larisch and
Edgar Soldin - SSH Paramiko backend now uses BufferedFile implementation
to enable collecting the entire list of files on the backend.
f7821cee: Fixed bug #1265765 with patches from Matthias Larisch and
Edgar Soldin - SSH Paramiko backend now uses BufferedFile implementation
to enable collecting the entire list of files on the backend.
cd47dcb7: Support prefix affinity in multibackend.
00b69529: Merge with trunk. All tests pass.
097dadcb: Added capability to mount user workspace for testing local
code.
48594012: Added variable substitution to docker-compose.yml - .env
file contains first 24 bits of subnet addr * Added teardown.sh as
completion of setup.sh
78e13007: Merged in lp:~aaron-whitehouse/duplicity/08-fix-man-verify
- Fix description of –verify and –compare-data in the man page. Now
clarifies that verify compares the restored files to hashes stored at
backup date, while –compare-data compares restored files to files in
target_path.
c0a9ca31: Fix bin/duplicity.1 entries for –verify and
–compare-data
22a77fcf: Merged in lp:~dernils/duplicity/docker-compose - Test
Infrastructure now utilizing docker-compose
f4dd72ea: test infrastructure now using docker-compose
80ce2994: Fix bug #1672540 with patch from Benoit Nadeau - Rename
would fail to move par files when moving across filesystems. - Patch
uses shutil.move() to do the rename instead.
8d227266: Fix bug #1672540 with patch from Benoit Nadeau - Rename
would fail to move par files when moving across filesystems. - Patch
uses shutil.move() to do the rename instead.
7baf638b: Some changes ported 0.7 to/from 0.8 to keep
up-to-date.
04dfffc3: Some changes ported 0.7 to/from 0.8 to keep
up-to-date.
ed251965: Revisited bug #670891 with patch from Edgar Soldin -
Forced librsync.PatchedFile() to extract file object from
TemporaryFile() object when on Windows or Cygwin systems. This allows us
to avoid the problem of tmpfile() use which creates temp files in the
wrong place. - See discussion at
https://bugs.launchpad.net/duplicity/+bug/670891
cfc35d04: Revisited bug #670891 with patch from Edgar Soldin -
Forced librsync.PatchedFile() to extract file object from
TemporaryFile() object when on Windows or Cygwin systems. This allows us
to avoid the problem of tmpfile() use which creates temp files in the
wrong place. - See discussion at
https://bugs.launchpad.net/duplicity/+bug/670891
9cc6b42c: Fix spurious warning message, return value not
needed.
c91ec511: Merge with trunk.
525c8390: Checkpoint - docker testbed mostly running - lots of
format changes in setup.sh - made sure to kill off network and restart -
simplified container naming and killall process - most tests run now
with tox, 5 fail
2cf407dd: Go back to original requirements file.
8c255024: May have finally fixed bug #1556553, “Too many open
files…”. - Applied patch from Howard Kaye, question #631423. The fix is
to dup the file descriptor, and then close the file in the deallocator
routine in the glue code. Duping the file lets the C code and the Python
code each close the file when they are done with it. - Invalidated and
removed the fix put in for bug #1320832. - Caveat: long incremental
chains will still eat up a large number of file descriptors. It’s a very
risky practice, so I’m not inclined to fix it.
eb4d9540: May have finally fixed bug #1556553, “Too many open
files…”. - Applied patch from Howard Kaye, question #631423. The fix is
to dup the file descriptor, and then close the file in the deallocator
routine in the glue code. Duping the file lets the C code and the Python
code each close the file when they are done with it. - Invalidated and
removed the fix put in for bug #1320832. - Caveat: long incremental
chains will still eat up a large number of file descriptors. It’s a very
risky practice, so I’m not inclined to fix it.
490a6508: Fix spelling and rearrange some.
b59b9a8a: Added lpbuild-trusty to replace lpbuild-precise pre Aaron
Whitehouse’s comment that there was a bug in pexpect < 3.4 that
affects us.
cd4e9f18: Merged in lp:~dernils/duplicity/Dockerfile - Now have
subnet name and IP of the subnet for testing as a variable.
2b1e0b3c: minor changes to setup.sh
e2be29bd: minor fix to setup.sh
3519dbd9: Merged in lp:~dernils/duplicity/Dockerfile - Added another
backend to the docker test infrastructure, updated the setup for testing
and updated the documentation.
e9534b26: Merged in lp:~xlucas/duplicity/swift-storage-policies -
This brings support for Swift storage policies: when using a Swift
backend, you can specify the policy containers should be operating on. -
This is similar to AWS Cloud Storage classes (ia, rrs, glacier and so
on).
cb8ebf11: added more test infrastructure
b6859a15: Merge in trunk.
b3701fb5: Support for Swift storage policies
0df43bbd: Merged in lp:~aaron-whitehouse/duplicity/tox_pylint_fixes
- Changes needed to run-tests without pylint E0401(import-error)
errors
59828f2e: Changes needed to run-tests without pylint
E0401(import-error) errors
f87913fa: Merge in changes from trunk. * Tests all pass except
pylint test (import-error that also happens for me on trunk, so will fix
there).
656efd1b: Remove unnecessary unicode conversion on commandline.py
filelist append. * Tests all pass (and in previous commit).
1fd9aed3: move stdin_test.sh to manual dir
d1613d61: remove run-tests-ve - not needed * move stdin_test.sh to
manual dir
b9b70a29: Fix comments on ignored pylint messages.
f7bf6293: Remove precise-lpbuild test since precise is EOL.
f2584ad8: precise is EOL so drop testing for it.
c1ae120d: Use unicode version of pexpect.spawn for version >=
4.0, but bytes version below this.
b2851dec: Adjust control for LP build process, fasteners not
lockfile.
4598b3fd: Adjust control for LP build process, fasteners not
lockfile.
e010d6e6: Fixed bug #1320641 and others regarding lockfile - swap
from lockfile to fasteners module - use an fcntl() style lock for
process lock of duplicity cache - lockfile will now clear if duplicity
is killed or crashes
74590df5: Fixed bug #1320641 and others regarding lockfile - swap
from lockfile to fasteners module - use an fcntl() style lock for
process lock of duplicity cache - lockfile will now clear if duplicity
is killed or crashes
deeb4d8b: Fixed bug #1689632 with patch from Howard Kaye - On MacOS,
the tempfile.TemporaryFile call erroneously raises an IOError exception
saying that too many files are open. This causes restores to fail
randomly, after thousands of files have been restored.
2780015c: Fixed bug #1689632 with patch from Howard Kaye - On MacOS,
the tempfile.TemporaryFile call erroneously raises an IOError exception
saying that too many files are open. This causes restores to fail
randomly, after thousands of files have been restored.
1162114b: Fixed bug #1320832 with suggestion from Oskar Wycislak -
Use chunks instead of reading it all in swiftbackend
b59345b4: Moved some things around in testing/infrastructure to
clean up
235459d2: Moved Dockerfile for duplicitytest into
testinfrastructure/duplicity_test
01277ec1: Merged in lp:~dernils/duplicity/DockerfileConvenience -
Add a few files that are the beginning of further infrastructure based
on docker. It contains a Dockerfile for a simple ftp server (used for
backend testing) and a setup script that can be used to set up the
complete test environment.
723ad8d5: added furhter files for test infrastructure
f1d96196: Fixed bug #1320832 with suggestion from Oskar Wycislak -
Use chunks instead of reading it all in swiftbackend
7df9e8cc: Merge with trunk. All py27 tests pass, lpbuildd-precise
still fails.
07e360a8: Merged in lp:~dernils/duplicity/DockerfileConvenience -
Added a few tools to the Dockerfile that make life easier
daeabff2: added ftp client to Dockerfile
e6880ff0: Updated Dockerfile
594bcd7d: Make all tests pass on py27 tox environment. *
lpbuildd-precise tests still fail because the outdated pexpect (2.4) has
issues with unicode (pexpect.spawn does not support unicode and
spawnu.readline fails).
e90318df: bzr does not honor perms so fix the perms at the start of
the testing and avoid annoying error regarding testing/gnupg having too
lenient perms
3522c97d: Replace incoming non-ASCII chars in commandline.py
3437fb8a: Merged in lp:~marix/duplicity/add-azure-arguments - Using
the Azure backend to store large amounts of data we found that
performance is sub-optimal. The changes on this branch add command line
parameters to fine-tune some parameters of the Azure storage library,
allowing to push write performance towards Azure above 1 Gb/s for large
back-ups. If a user does not provide the parameters the defaults of the
Azure storage library will continue to be used.
5359b7c7: Merged in lp:~marix/duplicity/add-azure-arguments - Using
the Azure backend to store large amounts of data we found that
performance is sub-optimal. The changes on this branch add command line
parameters to fine-tune some parameters of the Azure storage library,
allowing to push write performance towards Azure above 1 Gb/s for large
back-ups. If a user does not provide the parameters the defaults of the
Azure storage library will continue to be used.
6377e1ff: Merged in lp:~dawgfoto/duplicity/replicate - Add replicate
command to replicate a backup (or backup sets older than a given time)
to another backend, leveraging duplicity’s backend and
compression/encryption infrastructure. * Fixed some incoming PyLint and
PEP-8 errors.
6e943b06: unit/test_globmatch.py, unit/test_selection.py,
functional/test_selection.py tests all pass. * Assume UTF-8 encoding for
filelists (which also allows ASCII encoding). * Use new io module for
selection filelist access. * Create new path.uc_name that is a unicode
version of the path, which is then used throughout the selection code
for path name matching etc. * Move selection.py to using unicode strings
and uc_name versions of paths. * Made
functional/init.py use unicode arguments to run
duplicity for tests. * Use new io module in
functional/test_selection.py. * Remove @unittest.expectedFailure
from test_unicode_paths_square_brackets, which no longer fails. * Make
unit/test_selection.py ParseTest support unicode and add
test_unicode_paths_non_globbing unit test version of functional
test.
9af109cc: We need tzdata (timezone data).
2098d906: Add command line arguments to fine-tune the Azure
backend
4129e373: You need tox to run tox. Doh!
358d2c29: Add libffi-dev back. My bad.
44965f96: Merged in lp:~dernils/duplicity/Dockerfile - separated
requirements into requirements for duplicity (in requirements.txt) and
for testing (in tox.ini)
af5bb630: fixed tox.ini
caff5d5d: separated pip requirements into duplicity and testing
bac60835: separated pip requirements into duplicity and testing
53c92216: Remove dependencies we did not need
5725ba76: Add test user and swap to non-priviledged.
b3605abf: Move branch duplicity up the food chain.
b4377a99: Simplify Dockerfile per
https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
- Add a .dockerignore file - Uncomment some debug prints - quick fix for
bug #1680682 and gnupg v1, add missing comma
68f36e2a: Quick fix for bug #1680682 and gnupg v1, add missing
comma.
9f39f13b: Quick fix for bug #1680682 and gnupg v1, add missing
comma.
19f5affc: A little reorg, just keeping pip things together.
fa899ca3: More changes for testing: keep gpg1 version for future
testing - some changes for debugging functional tests - add
gpg-agent.conf with allow-loopback-pinentry
e8ea14f3: Merged in lp:~dernils/duplicity/Dockerfile Fixed variable
name change in commandline.py
adf1d902: Edited Dockerfile
c2d8dda2: Whoops, deleted too much. Add rdiff again.
5f54551e: Move pep8 and pylint to requirements.
71e9fee7: Add rdiff install and newline at end of file.
51d3ad00: delete tempfiles as soon as possible
8626523e: Merged in lp:~dernils/duplicity/documentation - Minor
changes to README-REPO, README-TESTING - Also redo the changes to
requirements.txt and Dockerfile
aa03a5e1: Edited requirements.txt, minor changes to README-REPO and
README-TESTING
106658c4: Merged in lp:~dernils/duplicity/testing - Fixed minor
stuff in requirements.txt. - Added a Dockerfile for testing. - Minor
changes to README files. - Added README-TESTING with some information on
testing.
9c9f6e3e: Fixed bug #1684312 with suggestion from Wade Rossman - Use
shutil.copyfile instead of os.system(‘cp …’) - Should reduce overhead of
os.system() memory usage.
a2e8c122: Fixed bug #1680682 with patch supplied from Dave Allan -
Only specify –pinentry-mode=loopback when –use-agent is not specified *
Fixed man page that had ‘cancel’ instead of ‘loopback’ for pinentry
mode
b0beb2ef: add replicate command - useful to replicate/archive
backups to another backend - allows to partially replicate only older
backup sets - checks existing backup sets on target to avoid redundant
copies
b0c3643f: working on dpbx backend tests§
d26bf1e6: Add some commented-out debug print and move under error
condition.
e6cfa3d0: Make test_selection.py use unicode string literals and
still pass. * funtional/test_selection.py still fails.
48e5c1d5: Make path.py only accept unicode. * Make all string
literals in test_selection.py unicode. * Create path.uc_name as an
alternative to path.name, allowing existing code to continue using bytes
during transition. * Make file writes in test_selection.py use io.open.
* Tests do not yet pass.
0f1ed507: Make globmatch.py deal with either unicode or string
globs. * Make path.uc_name for unicode name of path (vs path.name for
bytes). * Functional select test failures.
9a676187: test_globmatch.py now passing with unicode globs/paths *
test_square_bracket_options_unicode now passing
4c641be5: glob_to_regex converted to unicode, globmatch.py not yet
passing tests
b3b8b66b: Merge in changes to trunk.
c6375adf: Added future imports to globmatch.py and added future to
tox.ini deps.
2189f8de: Added (failing) unicode test.
49518c39: Add tests for square brackets.
d0ff26d4: Add test for unicode paths with asterisks in globs.
9cf851c9: Added files with unicode names to testfiles and added
TestUnicode.test_unicode_paths_non_globbing, which tests –include and
–exclude works as expected with these files.
d9f7d0c7: Fixed bug #1668750 - Don’t mask backend errors - added
exception prints to module import errors
47045bad: Fixed bug #1668750 - Don’t mask backend errors - added
exception prints to module import errors
e9613419: Fixed bug #1671852 - Code regression caused by revision
1108 - change util.uexc() back to bare uexc()
454062de: Fixed bug #1671852 - Code regression caused by revision
1108 - change util.uexc() back to bare uexc()
1220ed2f: Skip pylint on dpbxbackend.py for now.
d64ef21e: Refresh docs
0fd50cb7: Merged in p:~aaron-whitehouse/duplicity/pep8_E402_fixes -
Fixed PEP8 errors: E402 module level import not at top of file
c48ff6f4: Fixed PEP8 errors: E402 module level import not at top of
file
97fa82bd: Merged in lp:~benoit.bertholon/duplicity/duplicity - Use
the globals.archive_dir variable to store only a string in the case of a
path, uses globals.archive_dir_path
d3c2e106: uses the globals.archive_dir variable to store only a
string in the case of a path, uses globals.archive_dir_path
8c5d8e2f: Fixed bug #1367675 - IMAP Backend does not work with Yahoo
server - added the split() as needed in ‘nums=list[0].strip().split(”
“)’ - the other fixes mentioned in the bug report comments were already
done
f10ff5df: Fixed bug #1367675 - IMAP Backend does not work with Yahoo
server - added the split() as needed in ‘nums=list[0].strip().split(”
“)’ - the other fixes mentioned in the bug report comments were already
done
08d7421f: Fixed variable name change in last merge which broke a
bunch of tests - Changed archive_dir_root back to archive_dir
9a72a06b: Merged in lp:~benoit.bertholon/duplicity/duplicity - Fixes
bug #1666194 - ProcessCommandLine function called twice fail and arglist
argument not used
22fbd14d: Merged in lp:~aaron-whitehouse/duplicity/pep8_test_fixes -
Fix PEP-8 testing by moving to using pycodestyle library. - Temporarily
add ignores to allow these tests to pass. - Fix E305 PEP8 errors:
expected 2 blank lines after class or function definition, found 1.
4e65b733: Fix minor pep8 issue - line too long.
9b423f99: Merged in lp:~marix/duplicity/azure-storage-sas - This
branch adds support for Shared Access Signature to the Azure backend
which allows to run Duplicity with a minimal set of permissions.
8f291ae4: Merged in lp:~marix/duplicity/azure-storage-0.30.0-plus -
This makes the Azure backend compatible with version 0.30.0 and up of
the underlying azure-storage package.
187bb611: Change the global name archive_dir to archive_dir_root add
the arglist to the optparser
f0d3e5b6: Fix E305 PEP8 errors: expected 2 blank lines after class
or function definition, found 1 * Remove E305 from pycodestyle
ignores
c3e332db: Fix PEP-8 testing by moving to using pycodestyle library.
* Temporarily add ignores to allow these tests to pass.
442b45a5: Fix backup creation using azure-storage > 0.30.0
08542cd4: Add support for Shared Access Signatures to the Azure
backend.
01c64aca: Make the Azure backend compatible with azure-storage
0.30.0 and up
6612682c: Merged in
lp:~aaron-whitehouse/duplicity/08-python-futurize-stage-1 - Made many of
the safer changes for improved Python 3 support (python-future’s
futurize -stage1) without functional change to the code (and leaving the
isinstance(s, types.StringType) tests unchanged). - Created Python 2/3
compatible tests for int and long. - Update setup.py to show only Python
2.7 support.
7eba8beb: Update setup.py to show only Python 2.7 support.
528dc103: Merge changes from trunk
8cd38948: Some fixes to gpg.py to handle gpg1 & gpg2 &
gpg2.1 commandline issues - –gpg-agent is optional on gpg1, but on gpg2
it is used automatically - –pinentry-mode is not a valid opt until
gpg2.1, so condition on that
1d04ea20: Fixed bug #1603704 with patch supplied by Maciej Bliziński
- Crash with UnicodeEncodeError
3022ffca: Fixed bug #1603704 with patch supplied by Maciej Bliziński
- Crash with UnicodeEncodeError
704b330c: Fixed the documentation of –use-agent in the man page
bd1f1ab1: merged revision 1270 from lp:duplicity/0.7-series
2bc38e61: Fixed bug #1657916 with patch supplied by Daniel Harvey -
B2 provider cannot handle two backups in the same bucket
035c18b1: Fixed bug #1657916 with patch supplied by Daniel Harvey -
B2 provider cannot handle two backups in the same bucket
ad6c9b9d: Merged in
lp:~aaron-whitehouse/duplicity/08-refactor-unit-test-globmatch - Rename
path_matches_glob_fn to select_fn_from_glob, as this more accurately
reflects the return value. - Significantly refactored
unit/test_globmatch.py to make this cleaner and clearer.
6af41973: Add detail about import exceptions in
onedrivebackend.py
64f506a5: Add detail about import exceptions in
onedrivebackend.py
6564bdc4: Rename path_matches_glob_fn to select_fn_from_glob, as
this more accurately reflects the return value. * Significantly
refactored unit/test_globmatch.py to make this cleaner and clearer.
993da29c: Merged in
lp:~aaron-whitehouse/duplicity/08-merge-glob-parsers - Use a single code
path for glob strings whether or not these contain special
characters/wildcards (glob_get_normal_sf) and remove
glob_get_filename_sf and glob_get_tuple_sf. - Remove run-tests-ve as
this was identical to run-tests.
f880267c: Remove time from run-tests, in case this causes any issues
(e.g. cross platform support).
ad13ff50: Add more scan tests.
0b73f320: Removed unused non-globbing code (_glob_get_filename_sf
and _glob_get_tuple_sf). * Made run-tests time test runs. * Removed
run-tests-ve, which was identical to run-tests.
0ccafc58: Move to using single (globing, glob_get_normal_sf)
function for glob strings with and without globbing characters. No
performance impact.
056f1ff9: Make globs of “/” work with globbing code. * Make globs of
“/” match everything.
5710b947: Made _glob_get_filename_sf and _glob_get_tuple_sf internal
functions to ensure no unit tests depend on them directly.
789a193a: Merged in lp:~matthew-t-bentley/duplicity/duplicity - Sets
a user agent. Backblaze asked for this in case there are errors that
originate from the Duplicity B2 backend - Only retrieves a new upload
URL when the current one expires, to bring it in line with their best
practices for integrations:
https://www.backblaze.com/b2/docs/integration_checklist.html
77fa84ac: Merged in lp:~matthew-t-bentley/duplicity/duplicity - Sets
a user agent. Backblaze asked for this in case there are errors that
originate from the Duplicity B2 backend - Only retrieves a new upload
URL when the current one expires, to bring it in line with their best
practices for integrations:
https://www.backblaze.com/b2/docs/integration_checklist.html
7156ecd8: Only get a new upload URL when needed. Add a user
agent
a1f9311a: Fixed bug #1658283 “Duplicity 0.7.11 broken with GnuPG
2.0” - Made gpg version check more robust than just major version - Now
use –pinentry-mode=loopback on gpg 2.1 and greater - Removed check for
non-Linux systems, a false problem
98ee94b3: Fix pep8 issue.
38ab4032: Fixed bug #1655268 “–gpg-binary option not working” - If
gpg binary is specified rebuild gpg profile using new binary
location
510173fb: Fixed bug #1655268 “–gpg-binary option not working” - If
gpg binary is specified rebuild gpg profile using new binary
location
2694f2c6: Futurize -stage1 all files, leaving the isinstance(s,
types.StringType) tests unchanged. * Reverted earlier changes to
types.StringType test in test files. * Created python 2/3 compatible
tests for int and long.
2f8617ea: Futurize -stage1 on py files in testing for improved
python 2/3 support.
184935f6: Merged in
lp:~aaron-whitehouse/duplicity/0-8-merge_selection_tests - Merge in
TestExcludeIfPresent from 0.7-series, which tests the behaviour of
duplicity’s –exclude-if-present option. - Move and rename
TestTrailingSlash2 test (was duplicate name) as in 0.7-series. - Fix PEP
error on adbackend.py. - Add jottalib as a tox dep to fix pylint error.
- Remove unnecessary skipUnless Linux as per 0.7-series.
122f1825: Fixed bug #1654220 with patch supplied by Kenneth Newwood
- Duplicity fails on MacOS because GPG version parsing fails
357f354a: Fixed bug #1654220 with patch supplied by Kenneth Newwood
- Duplicity fails on MacOS because GPG version parsing fails
7b55a7b1: Fixed bug #1623342 with patch supplied by Daniel Jakots -
Failing test on OpenBSD because tar/gtar not found
9d85aea3: Fixed bug #1623342 with patch supplied by Daniel Jakots -
Failing test on OpenBSD because tar/gtar not found
01d62f1c: Fix PEP error on adbackend.py. * Add jottalib as a tox dep
to fix pylint error.
952f2c28: Merge in TestExcludeIfPresent from 0.7-series, which tests
the behaviour of duplicity’s –exclude-if-present option
ed0a3595: Move and rename TestTrailingSlash2 test.
bcb66bdc: Merged in lp:~breunigs/duplicity/amazondrive3 - As
reported on the mailinglist, if a space is entered while duplicity asks
for the URL, it fails. Since all important spaces are URL encoded
anyway, this should be fine even if there are spaces in the URL at all.
I also patched it in the onedrive backend, because it must have similar
issues.
a53b74cd: Merged in lp:~breunigs/duplicity/amazondrive3 - As
reported on the mailinglist, if a space is entered while duplicity asks
for the URL, it fails. Since all important spaces are URL encoded
anyway, this should be fine even if there are spaces in the URL at all.
I also patched it in the onedrive backend, because it must have similar
issues.
6a7d995d: Fix Bug #1642813 with patch from Ravi - If stat() returns
None, don’t attempt to set perms.
1a73793e: Fix Bug #1642813 with patch from Ravi - If stat() returns
None, don’t attempt to set perms.
43ec996b: Whoops, make a couple of changes to match series-7.
3d805297: Whoops, fix bad patch * Add gpg2 dir to .bzrignore
b30ec5d7: Fix some issues with testing on MacOS * Fix problem with
gpg2 in yakety and zesty
6199e2d9: Fix problem with gpg2 in yakety and zesty
5dd38216: Some fixes for MAC where gpg2 does not implement
–pinentry-mode.
026002f1: Skip locked folders tests if not on Linux platform.
dbabe01f: Merged in
lp:~aaron-whitehouse/duplicity/Bug_1624725_files_within_folder_slash -
Fixed Bug #1624725, so that an include glob ending in “/” now includes
folder contents (for globs with and without special characters). This
preserves the behaviour that an expression ending in “/” only matches a
folder, but now the contents of any matching folder is included.
81541c43: Merged in
lp:~aaron-whitehouse/duplicity/Bug_1624725_files_within_folder_slash -
Fixed Bug #1624725, so that an include glob ending in “/” now includes
folder contents (for globs with and without special characters). This
preserves the behaviour that an expression ending in “/” only matches a
folder, but now the contents of any matching folder is included.
2a533ded: Temp fix for tempfile.TemporaryFile failures.
50892459: Fix encryption tests by specifying long key instead of
short.
3e710cae: Merged in lp:~horgh/duplicity/copy-symlink-targets-721599
- Add –copy-links to copy symlink contents, not just the link
itself.
49f3c2a8: Merged in lp:~horgh/duplicity/copy-symlink-targets-721599
- Add –copy-links to copy symlink contents, not just the link
itself.
4b889fd7: Improve description of new argument in man page
e8b0331b: Add new argument to duplicity manpage
a96db6f8: Add flag to copy target of symlinks rather than the
link
fab20cc2: Merged in lp:~ed.so/duplicity/manpage.fixes - Fix html
output via rman on the website
2876ee53: Merged in lp:~ed.so/duplicity/manpage.fixes - Fix html
output via rman on the website
316bbc35: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
577b9acc: Revert to rev 1246.
74d682d5: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
12753df3: Revert to rev 1246.
1a8af10b: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
4b889f0c: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
a124b69a: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
bad3ea5e: Fix bug using 40-char sign keys, from Richard McGraw on
mail list - Remove truncation of argument and adjust comments
47b770bb: Fix bug using 40-char sign keys, from Richard McGraw on
mail list - Remove truncation of argument and adjust comments
82684b95: fix html output via rman
37a32eb3: Merge in changes from trunk.
9bd1ed0a: Added tests to ensure behaviour is as expected for
expressions containing globs, as these traverse a different code
path.
578d6e4b: minor fix in manpage
a59f6da0: Added –backend-retry-delay to the manpage
8d059743: Fixed bug #1642098 - does not create PAR2 archives when
‘–par2-options’ is used - Missing space between par2-options plus
default options
d5e6e80e: Fixed bug #1642098 - does not create PAR2 archives when
‘–par2-options’ is used - Missing space between par2-options plus
default options
00c88278: added new command line option –backend-retry-delay
33e38b45: added some robustness to dpbxbackend.py
6bdf0471: Merged in lp:~breunigs/duplicity/amazondrive2 - Fixed
variable renaming issue
e03be549: Fixed Bug #1624725, so that an include glob ending in “/”
now includes folder contents (for globs with and without special
characters)
5060ccf0: fixed missing rename in Amazon Drive backend
0bbda91e: Merged in lp:~breunigs/duplicity/amazondrive - Provide a
native backend for AmazonDrive
004fba71: Merged in lp:~havard/duplicity/jottacloudbackend - Adds
support for a new backend, jottacloud.com, using the scheme
jottacloud:/<folder>. - Reverse-engineered library,
jottalib: http://github.com/havardgulldahl/jottalib -
Here’s how you set up jottalib
https://github.com/havardgulldahl/jottalib/wiki
f0c62c2e: Fixed bug #1621194 with code from Tornhoof - Do backup to
google drive working without a service account
6315def0: Fixed bug #1621194 with code from Tornhoof - Do backup to
google drive working without a service account
538b5a98: rename to just “AD” to avoid any possible trademark
issues
a43489fc: Merged in lp:~mwilck/duplicity/duplicity - GPG: enable
truly non-interactive operation with gpg2 - This patch fixes the IMO
unexpected behavior that, when using GnuPG2, a pass phrase dialog always
pops up for saving backups. This is particularly annoying when trying to
do unattended / fully automatic backups.
9120a6ff: Merged in lp:~mwilck/duplicity/duplicity - GPG: enable
truly non-interactive operation with gpg2 - This patch fixes the IMO
unexpected behavior that, when using GnuPG2, a pass phrase dialog always
pops up for saving backups. This is particularly annoying when trying to
do unattended / fully automatic backups.
2cd531ec: document peculiarities of AmazonDrive
3eba5a9c: add and document native AmazonDrive backend
4329060f: Added inline comment to globmatch.py explaining glob
matching. * Removed trailing / from Path() unittests, as paths used in
duplicity do not normally have these, even if they are folders. * Added
unit test to show files within a matched folder are included without a
trailing slash. * Fixed return value of test_slash_star_scans_folder
unittest from include to scan.
ac458a25: Add unittests and code comments to explain glob
processing/regex behaviour.
5b4707da: GPG: enable truly non-interactive operation with gpg2
0292f113: Add more tests for trailing slash behaviour.
2ff9e842: Added (failing) test to show behaviour in Bug
#1624725
60c1a0a8: Fixed bug #1623342 with patch from Daniel Jakots - failing
test on OpenBSD because tar/gtar not found
a83ce11a: Fixed bug #1623342 with patch from Daniel Jakots - failing
test on OpenBSD because tar/gtar not found
2fd70bf8: Merged in
lp:~aaron-whitehouse/duplicity/bug_1620085_exclude-if-present-locked-folder
- Fixes Bug #1620085: –exclude-if-present gives OSError looking for tag
in locked folders
ac9acb35: remove uses_netloc directive
c92c3319: JottaCloudBackend: Don’t return bytestrings in
_list()
dac1bba8: Adding JottaCloud backend
28cad7a9: Fixed bug #1620085: OSError when using –exclude-if-present
with a locked directory in backup path. * Added tests for errors on
locked files.
d5e8606d: Add functional tests for –exclude-if-present.
c67d2b43: Move and rename second TestTrailingSlash block to
TestTrailingSlash2.
93701ebe: Add requirements.txt - Remove module mocks in conf.py
e804d223: OK, finally grokked how to mock out _librsync, but it did
mean having to change librsync.py with a conditional. Would have
preferred a cleaner solution. - Fixed the remaining warnings in
READTHEDOCS build, including the removal of a couple of files that were
extraneous.
2c0f3a2d: Try autodoc_mock_imports…
53356134: Try autodoc_mock_imports…
b94fc651: Try autodoc_mock_imports…
7b03ee0d: Try fully qualified module name, again.
3832583b: Remove fully qualified name.
8a598759: Resolve recursion in Mock.
b3986e26: Try fully qualified and not qualified module names.
f43f7fe2: Try without _librsync.
daf82414: Try fully qualified module name.
a6d3025b: Try with virtualenv.
c69c6d91: Try again…
82b6825a: Mock sucks, big time!
e62798a4: Mock sucks, big time!
9cea066b: Mock sucks!
5a186b87: Try MagicMock.
97292f0f: Try MagicMock.
98664f91: Fix build on RTD.
e40e8468: Fix build on RTD.
397eea8b: Fix build on RTD.
5b8c3623: Fix build on RTD.
309d763e: Fix build on RTD.
34127775: Remove _build dir from git. Fix some names, authors.
66a4fe37: Merged in lp:~mstoll-de/duplicity/duplicity - Backblaze
announced a new domain for the b2 api
326711dc: Merged in lp:~mstoll-de/duplicity/duplicity - Backblaze
announced a new domain for the b2 api
db5655e4: Fixed bugs #815510 and #1615480 - Changed default –volsize
to 200MB
fd1af0e6: Fixed bugs #815510 and #1615480 - Changed default –volsize
to 200MB
a336add4: First pass at some Sphinx docs for moving to
readthedocs.org
f691e1a1: Merged in lp:~fenisilius/duplicity/acd_init_mkdir - Allow
duplicity to create remote folder
82a45497: Merged in lp:~fenisilius/duplicity/acd_init_mkdir - Allow
duplicity to create remote folder
e079f6a5: Fixed bug #1612472 with patch from David Cuthbert -
Restore from S3 fails with –with-prefix-archive if prefix includes ‘/’ *
Merged in lp:~arashad.ahamad/duplicity/duplicity_latest - Changes for
connecting to IBM Bluemix ObjectStorage. See man page.
93daedee: Merged in lp:~arashad.ahamad/duplicity/duplicity_latest -
Changes for connecting to IBM Bluemix ObjectStorage. See man page.
e936ed38: Fixed bug #1612472 with patch from David Cuthbert -
Restore from S3 fails with –with-prefix-archive if prefix includes
‘/’
bc492c89: Added documentation for connecting to IBM Bluemix
ObjectStorage
9da8af5d: Added support to connect IBM Bluemix ObjectStorage
905918d8: Restore testing/gnupg/gpg.conf and
testing/gnupg/README.
90525e9e: Whoops, committed too much!
6913b458: Fixed conflict in merge from Martin Wilck and applied -
https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301492 -
merge fixes setsid usage in functional testing.
a80d0e45: Fixed conflict in merge from Martin Wilck and applied -
https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301492 -
merge fixes setsid usage in functional testing.
e85bf350: Remove -w from setsid in functional tests.
c39c171e: Merged in lp:~mwilck/duplicity/duplicity - Speedup of
path_matches_glob() by about 8x. See
https://code.launchpad.net/~mwilck/duplicity/duplicity/+merge/301268 for
more details.
96d3bcef: Merged in lp:~mwilck/duplicity/0.7-series - Speedup of
path_matches_glob() by about 8x. See
https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301332
for more details.
c25b225d: Fix unit test failures for
{Old,Short}FilenamesFinalTest
d7e1490b: Fix failures of unit tests with –hidden-encrypt-key
8d70d8ac: selection.py: use closure for matching paths with glob
expressions
68a027cb: selection.py: glob_get_normal_sf: use closure
path_matches_glob_fn
35eaca4a: globmatch: path_matches_glob_fn: return closure for path
match
b1ec1931: Merged in
lp:~aaron-whitehouse/duplicity/07-fix_deja_dup_error_on_locked_files -
Revert log.Error to log.Warn, as it was prior to the merge in rev 1224,
as this was affecting other applications (e.g. deja dup; Bug
#1605939).
17720b42: Merged in
lp:~aaron-whitehouse/duplicity/07-fix_deja_dup_error_on_locked_files -
Revert log.Error to log.Warn, as it was prior to the merge in rev 1224,
as this was affecting other applications (e.g. deja dup; Bug
#1605939).
c3f7b9e5: Revert log.Error to log.Warn, as it was prior to the merge
in rev 1224, as this was affecting other applications (deja dup).
9b00b6bb: Fixed bug #1600692 with patch from Wolfgang Rohdewald -
Allow symlink to have optional trailing slash during verify.
1d62b316: Fixed bug #1600692 with patch from Wolfgang Rohdewald -
Allow symlink to have optional trailing slash during verify.
b472fc99: Merged in lp:~aaron-whitehouse/duplicity/remove-python26 -
Remove Python 2.6 support references and tests.
11ed8050: Fix date in CHANGELOG. Release date was 2016-07-02, not
01.
7b24b4ab: Fix date in CHANGELOG. Release date was 2016-07-02, not
01.
b9fe9cb6: Remove import of unittest2 for Python <2.7, now that
Python 2.7 is the minimum version.
fcdda3b6: Remove Python 2.6 settings from tox.ini
84c6896d: Merge with trunk.
6f9ff93f: Changes from 0.7.08
0f983576: Merged in lp:~aaron-whitehouse/duplicity/PEP8_W503_fixes -
Fix PEP8 W503 errors (line break before binary operator) and enable the
PEP8 test for this in test_code.CodeTest. * Merged in
lp:~aaron-whitehouse/duplicity/PEP8_line_length - Set line length error
length to 120 (matching tox.ini) for PEP8 and fixed E501(line too long)
errors. * Merged in lp:~duplicity-team/duplicity/po-updates
c0228e28: Properly remove line too long errors (E501) from PEP8
ignores.
93c40c87: Fixed lines longer than 120 chars.
37bca7ab: Set line length error length to 120 (matching tox.ini) and
fixed PEP8 E501(line too long) errors.
a7c644b1: Fix PEP8 W503, line break before binary operator.
f65381b2: Remove Python 2.6 support from the test suite and
references to it from README and README-REPO.
d832ee6b: Merge 0.7-series changes to README-REPO.
eefccc4a: Merge 0.7 series changes to README
65be0081: Merge 0.7 series changes to tox.ini
b6534962: Fixed bug #1594780 with patches from B. Reitsma - Use
re.finditer() to speed processing
4e363902: Merged in lp:~aaron-whitehouse/duplicity/fix_stat_errors -
Only give an error about not being able to access possibly locked file
if that file is supposed to be included or scanned (i.e. not excluded).
Fixes Bug #1089131
acccc48d: Fixed README-REPO to no longer mention 0.6-series
db457c11: Only give an error about not being able to access possibly
locked file if that file is supposed to be included or scanned (i.e. not
excluded).
8ce8d24e: Fixed bug #822697 ssh-options not passed in rsync over ssh
- Added globals.ssh_options to rsync command line * Increased default
volume size to 200M, was 25M
54696c83: Merged in lp:~aaron-whitehouse/duplicity/fix_pep8 - Fix
PEP8 error in onedrivebackend.py (space before bracket)
60957c05: Fix PEP8 error in onedrivebackend.py (space before
bracket).
18f32bae: Fix pep8 issues from last two patch sets.
6e2d9adb: Merged in lp:~mstoll-de/duplicity/b2-reauth - Fixes bug
#1588503 b2: large uploads fail due to expired auth token
7f1dfc84: Fixed bug #1589038 with patches from Malte Schröder -
Added ignore_case option to selection functions
fd6d4021: b2 reauth: use other log level
dce5d95b: Handle expired auth token
8af78267: Fixed bug #1586992 with patches from Dmitry Nezhevenko -
Patch adds _delete_list to Par2Backend. And _delete_list fallbacks to
_delete calls if wrapped backend has no _delete_list.
11acea79: Fixed bug #1586934 with patches from Dmitry Nezhevenko -
fixes error handling in wrapper
0ef87160: Fixed bug #1573957 with patches from Dmitry Nezhevenko -
upload last chunk with files_upload_session_finish to avoid extra
request - upload small files using non-chunked api
19a0d4ed: Merged in lp:~ghoz/duplicity/swift-prefix - adds the
abiliy to use path in the swift backend, in order to have multiple
backups to the same container neatly organized.
5557f82f: Adds prefix support to swift backend
ecd3b406: Merged in lp:~noizyland/duplicity/fix_azurebackend_typo -
Fix typo in error handling code
8bc62f85: Fix typo in error handling code.
680383ca: Add missing build-dep apparently now not installed by
default with python2 in xenial+
a245be3d: Fixed bug #1570293 - removed flush() after write. - revert
to previous version
d3e45a2e: Fixed bug #1571134 and #1558155 - used patch from
https://bugs.debian.org/820725 but made changes to allow the user to
continue using the old version
9a4ec02d: Remove unused (default) argument.
f09975d6: Fixed bug #1569523 - bug introduced in improper fix of bug
#1568677 - gotta love those inconsistent APIs
3cb28a95: Blasted JIT imports got me again!
74acd2bb: Fixed bug #1568677 - bug introduced by incomplete fix of
bug 1296793 - simplified setting of bucket locations
cbde060a: Fixed bug 1568677 with suggestions from Florian Kruse -
bug introduced by incomplete fix of bug 1296793
725d6571: Merged in lp:~duplicity-team/duplicity/po-updates
2263ee98: Fix bug reported on the mailing list from Mark Grandi
(assertion error while backing up). In file_naming.parse() the filename
was being lower cased prior to parsing. If you had used a prefix with
mixed case, we were writing the file properly, but could not find it in
the backend.
ebe7340c: Merged in
lp:~aaron-whitehouse/duplicity/split_glob_matching_from_select - Move
glob matching code out of selection.py’s Select function and into
globmatch.py.
e8e8bd7b: Re-added import of re, as re.compile still used in
selection.py.
af0b1a1f: Move complexity of matching paths to globs into
globmatch.py path_matches_glob, rather than in selection.py Select.
d1bbf7e6: Merged in
lp:~aaron-whitehouse/duplicity/improve_present_get_sf_man_page - Improve
man page entry for –exclude-if-present
3cf53b10: Move ignorecase handling out of re.compile to use .lower()
instead.
b3a6e6a8: Remove glob_get_prefix_res from selection.py, now that it
has moved to globmatch.py.
86c9b85f: Move content of glob_get_prefix_res to globmatch.py
glob_get_prefix_regexs.
a3c9b9cc: Improve man page entry for –exclude-if-present
183bfa7f: Fixed globmatch tests. Tests pass.
833ec732: Resync with trunk.
b61f6bbc: Move glob_to_re to globmatch.py. Moved associated tests
into test_globmatch.py.
aa674cf5: Applied patch from Dmitry Nezhevenko to upgrade dropbox
backend: update to SDK v2 - use chunked upload
2c6cfbae: More fixes to dist/makedist to make it more OS agnostic. *
Merged in lp:~ed.so/duplicity/webdav.lftp.ssl-overhaul duplicity.1,
commandline.py, globals.py - added –ssl-cacert-path parameter backend.py
- make sure url path component is properly url decoded, in case it
contains special chars (eg. @ or space) lftpbackend.py - quote
all cmd line params - added missing lftp+ftpes protocol - fix
empty list result when chdir failed silently - added ssl_cacert_path
support webdavbackend.py - add ssl default context support for python
2.7.9+ (using system certs eg. in /etc/ssl/certs) - added
ssl_cacert_path support for python 2.7.9+ - gettext wrapped all log
messages - minor refinements
0f52e522: path may be unset
b9466340: duplicity.1, commandline.py, globals.py - added
–ssl-cacert-path parameter backend.py - make sure url path component is
properly url decoded, in case it contains special chars (eg. @ or space)
lftpbackend.py - quote all cmd line params - added missing
lftp+ftpes protocol - fix empty list result when chdir failed silently -
added ssl_cacert_path support webdavbackend.py - add ssl default context
support for python 2.7.9+ (using system certs eg. in /etc/ssl/certs) -
added ssl_cacert_path support for python 2.7.9+ - gettext wrapped all
log messages - minor refinements
96e5cc95: Reverted changes made in rev 1164 w.r.t. getting the
source from VCS rather than local directory. Fixes bug #1548080.
4ac187e0: Move the logic of the glob_to_re method into the
glob_to_regex function in globmatch.py.
9db90f91: Merged in lp:~rye/duplicity/mediafire - Backend for
https://www.mediafire.com - Requires
https://pypi.python.org/pypi/mediafire/ installed.
78dc8b12: Backed out changes made by patching for bug #1541314.
These patches should not have been applied to the 0.7 series.
cbf1dabc: Added acdclibackend.py from Stefan Breunig and Malay Shah
- renamed from amazoncloudbackend to stress use of acd_cli * Fixed some
2to3 and Pep8 issues that had crept in
9d06b1a4: Merged in lp:~harningt/duplicity/multibackend-mirror -
This changeset addresses multibackend handling to permit a mirroring
option in addition to its “stripe” mode to make it a redundancy tool vs
space-expansion tool. To do this without changing the configuration too
much, I used the query string that would generally go unused for files
to specify behavior that applies to all items inside the configuration
file.
99285559: Fixed bug 1474994 Multi backend should offer mirror option
- added query parameter option to multi-backend - added mode parameter
to alter how the backend list is operated on (mirror/stripe) - added
onfail parameter to alter how backend failure is handled - updated
man-page with documentation
7731ded6: Checkpoint, merge latest.
ea04f388: Use built-in username/password support in
backends.py.
ede2fbd9: Remove custom logging, add usage info.
46db9ccd: Merge changes from trunk.
2c755731: Fixed a patching error in ssh_pexpect_backend.py * Merged
in lp:~fpytloun/duplicity/webdav-gssapi-fix - Make kerberos optional for
webdav backend
c24e6cac: Make kerberos optional for webdav backend
fa84e9a6: Fix for bug #1538333 - assert filecount ==
len(self.files_changed) - added flush after every write for all
FileobjHooked files which should prevent some errors when duplicity is
forcibly closed.
68931583: Add more pylint ignore warnings tags * Adjust so
test_restart.py can run on Mac as well
6ab6e2b0: Merged in lp:~fpytloun/duplicity/webdav-gssapi - support
GSSAPI authentication in webdav backend
64fca867: Support GSSAPI authentication in webdav backend
4c7dfb08: Fix submitter name in changelogs. - Change comment to be
correct.
5f45e963: Fixed bug #1492301 with patch from askretov (manually
refresh oauth).
d44338fa: Fixed bug #1379575 with patch from Tim Ruffling (shorten
webdav response).
10a51c43: Fixed bug #1375019 with patch from Eric Bavier (home to
tmp).
72b42e9f: Fixed bug #1369243 by adjusting messages to be more
readable.
1c0686fc: Fixed bug #1260666 universally by splitting the filelist
for delete before passing to backend.
ac0c7b4e: Pep8 corrections for recently released code.
3d086b81: Merged in lp:~mifchip/duplicity/duplicity - fix bug
#1313964, absolute path doesn’t work for FTP
a873fe5e: Bug #1313964 fix. lstrip(‘/’) removed all the slashes, it
was an issue.
593735de: Fixed bug #1296793 - Failed to create bucket - use
S3Connection.lookup() to check bucket exists - skips Boto’s Exception
processing for this check - dupe of bug #1507109 and bug #1537185
736b56b7: Checkpoint,merge in current changes.
337fba33: Create folder recursively
fcc102d7: Use upload session context manager
a81cf0ab: Applied changes from ralle-ubuntu to fix bug 1072130. -
duplicity does not support ftpes://
d15299f9: Allow importing module, but fail on init
c884f4b8: MediaFire Backend - initial version
a22c4673: Undo changes to test_restart.py. GNU tar is needed. * Fix
minor pep8 nit in collections.py
1113f5e7: Applied patch from abeverly to fix bug #1475890 - allow
port to be specified along with hostname on S3 - adjusted help text and
man page to reflect the change
428a07ca: Applied patch from shaochun to fix bug #1531154, -
–file-changed failed when file contains spaces
56f43e60: Fix stupid issue with functional test path for
duplicity
e10686b9: Make test_restart compatible with both GNUtar and
BSDtar
0ad884c5: Partial fix for bug #1529606 - shell code injection in
lftpbackend - still need to fix the other backends that spawn shell
commands
1376f352: Random stuff: supply correct path for pydevd under Mac -
fix some tests to run under Mac as well
db6a875c: Checkpoint: remove RPM stuff from makedist - have makedist
pull directly from VCS, not local dir - update po translation directory
and build process - clean up some odd error messages - move Pep8 ignores
to tox.ini
d61e2677: Checkpoint: remove RPM stuff from makedist - have makedist
pull directly from VCS, not local dir - update po translation directory
and build process - clean up some odd error messages - move Pep8 ignores
to tox.ini
d4134176: 2to3 cleanup.
ed7ada43: Pep8 cleanup.
f75c9183: Fix date.
d0ec4cbb: Merged in lp:~matthew-t-bentley/duplicity/b2 - A couple
fixes allowing multiple backups to be hosted in different folders in the
same bucket as well as some logging for -v9.
6dac2d84: Make sure listed files are exactly in the requested path
Thanks to Andreas Knab knabar@gmail.com for the pull request
722109ee: Set fake (otherwise unused) hostname for prettier password
prompt Thanks to Andreas Knab knabar@gmail.com for the patch
37066626: Add debugging for b2backend
f0f70edf: Merged in lp:~matthew-t-bentley/duplicity/b2 - Allow
multiple backups in the same bucket. - Fixes #1523498.
2b48a03c: Allow multiple backups in the same bucket
4d962564: Merged in lp:~matthew-t-bentley/duplicity/b2 - Fix import
and error typos.
6626f37d: Merge and re-add missing error
53a2339f: Fix missing import and typos
b131bfb9: Merge from upstream
97b583cb: Merged in lp:~matthew-t-bentley/duplicity/b2 - Adds a
backed for BackBlaze’s (currently beta) B2 backup service. - This adds
backends/b2backend.py, modifies log.py to add an error code and modifies
commandline.py to add the b2:// example to the help text. * Fix perms on
duplicity/backends/multibackend.py
ca29adf5: Undo changes to po files
3ded609c: Remove unnecessary requirements section in manpage
bf2d980f: Merged in lp:~noizyland/duplicity/azurebackend-fixes -
Support new version of Azure Storage SDK - Refactor _list method to
support containers with >5000 blobs
6404c837: Documentation
4ff5881f: Merge from master
28db5aa8: Add help text for b2
3210ff56: Add basic error handling
0c1d5afa: Support new version of Azure Storage SDK * Refactor _list
method to support containers with >5000 blobs
3bb85b70: Make sure which() returns absolute pathname.
dc70e733: Remove some print statements.
4942b944: Fix bug #1520691 - Shell Code Injection in hsi backend -
Replace use of os.popen3() with subprocess equivalent. - Added code to
expand relative program path to full path. - Fix hisbackend where it
expected a list not a string.
f446cd39: Add BackBlaze B2 backend. Still needs some work (error
handling, etc)
917bf22b: Fix missing self.
f5deaecb: Fix bug #1520691 - Shell Code Injection in hsi backend -
Replace use of os.popen3() with subprocess equivalent.
d2891195: Merged in lp:~feraudet/duplicity/fix - Fix missing
SWIFT_ENDPOINT_TYPE env var, bug 1519694.
ab0a5520: Fix #1519694
66365ff4: Merged in lp:~michal-s/duplicity/duplicity - Fix
azurebackend storage class import
9d6316cf: debugged storage class import
5263c933: Fixed bug #1511308 - Cannot restore no-encryption,
no-compression backup - Corrected code to include plain file in
write_multivolume() - Added PlainWriteFile() to gpg.py
ae5f2adf: Merged in lp:~ed.so/duplicity/tempfile.tempdir - make sure
packages using python’s tempfile create temp files in duplicity’s temp
dir
0a61503a: make sure packages using python’s tempfile create temp
files in duplicity’s temp dir
9fd02664: Reversed previous changes to lockfile. Now it will take
any version extant in the LP build repository. (PyPi is not avail in LP
build).
dafcfc91: Reversed previous changes to lockfile. Now it will take
any version extant in the LP build repository. (PyPi is not avail in LP
build).
82f2fadb: Try adding spaces.
c64ed6eb: Try lockfile>=0.11.0 (use full version number).
ef1204fe: Revert last change.
980a9992: Try lockfile==0.11.0 instead of lockfile>=0.9
998f0466: Merged in lp:~michal-s/duplicity/duplicity -
WindowsAzureMissingResourceError and WindowsAzureConflictError changed
due to SDK changes.
7d1931fa: WindowsAzureMissingResourceError and
WindowsAzureConflictError classes changed due to SDK changes
5d0e5382: Cleanup issues around Launchpad build, mainly lockfile
>= 0.9.
1a399846: Merged in lp:~ed.so/duplicity/setup.shebang - Having the
python interpreter searched in the PATH is much more flexible than the
/usr/bin/python inserted into our scripts shebang by setuptools. This
patch prevents that. don’t touch my shebang! :)
f05b98bb: Modded tox.ini to use the latest lockfile.
73b9c33a: also check python version number upper bound. we run on
2.6 and 2.7 currently
a1c9dc9d: Applied patch from Alexander Zangerl to update to changes
in lockfile API 0.9 and later. Updated README to notify users.
67d594cb: don’t touch my shebang
3e852241: Add pycache.
9bf06ca4: Upgrade to newest version of pep8 and pylint. Add three
ignores to test_pep8 and one to test_pylint to get the rest to pass.
They are all valid in our case.
3c821820: Fix header date.
77904e32: The ptyprocess module no longer supports Python 2.6, so
fix tox.ini to use an older version. Make explicit environs for all
tests.
8fd42175: Merged in lp:~mnjul/duplicity/s3-infreq-access - This adds
support for AWS S3’s newly announced Infrequent Access storage class and
is intended to implement Blueprint:
https://blueprints.launchpad.net/duplicity/+spec/aws-s3-std-ia-class . -
A new command line option, –s3-use-ia, is added, and boto backend will
automatically use the correct storage class value depending on whether
–s3-use-rrs and –s3-use-ia is set. Command line parser will prompt error
if both –s3-use-ia and –s3-use-rrs are used together, as they conflict
with each other. - The manpage has been updated giving a short
explanation on the new option. Its wording derives from Amazon’s
official announcement:
https://aws.amazon.com/about-aws/whats-new/2015/09/announcing-new- amazon-s3-storage-class-and-lower-glacier-prices/
027941c7: Add support for AWS S3 Standard - Infrequent Access
storage class
3da379e9: Merge changes from trunk.
8d31748d: Merged in lp:~bmerry/duplicity/pydrive-id-cache - This
fixes the issue a number of users (including myself) have been having
with duplicity creating files with duplicate filenames on Google Drive.
It keeps a runtime cache of filename to object ID mappings, so that once
it has uploaded an object it won’t be fooled by weakly consistent
directory listings.
da48bd05: Fix up broken merge
9349f45d: Merge in master
bf391089: Add more logging info
8db85af9: Fix bug #1494228 CygWin: TypeError: basis_file must be a
(true) file - The problem that caused the change to
tempfile.TemporaryFile was due to the fact that os.tmpfile always
creates its file in the system temp directory, not in the directory
specified. The fix applied was to use os.tmpfile in cygwin/windows and
tempfile.TemporaryFile in all the rest. This means that cygwin is now
broken with respect to temp file placement of this one file (deleted
automatically on close).
fd3456f7: Fix bug #1493573. Correct option typo in man page.
e6162f4e: Updated man pages to reflect more contributors.
875a9a29: Sync with v0.7.
48e9b68b: Merged in lp:~germar/duplicity/par2removefix - After
reorganisation in revision 981 and the fix for bug #1406173 the
par2backend does not remove .par2 files anymore when removing
duplicity-*.gpg files. - This banch adds an unfiltered_list() method
which is used in delete() and delete_list()
ada5f5c9: par2 backend remove par2 files
81d38e17: Merged in lp:~w.baranowski/duplicity/selection_debug -
This little patch logs debug messages concerning path selection process,
and so allows users to debug their include/exclude configuration.
6f7f14a9: Added debug msgs to the routine checking path
selection
cf14d3d6: Refactored the selection.Select.Select method; fewer exit
points now
642c2c8c: Fixed Bug 1438170 duplicity crashes on resume when using
gpg-agent with patch from Artur Bodera (abodera). Applied the same patch
to incremental resumes as well.
07655506: Merged in
lp:~aaron-whitehouse/duplicity/disable_code_tests_for_lpbuildd - Set
RUN_CODE_TESTS to 0 for lpbuildd tox profile, reflecting its value on
the Launchpad build server (and therefore skipping PEP8, 2to3 and
pylint). More accurately reflects the system we are mimicking and saves
approximately 1 minute per test run.
ca314f1e: Rename tox profile for Launchpad’s Precise build server to
“lpbuildd-precise” for clarity (and to make it clear it should be
removed once Precise is no longer supported).
47dd2d23: Set RUN_CODE_TESTS to 0 for lpbuildd tox profile,
reflecting its value on the Launchpad build server (and therefore
skipping PEP8, 2to3 and pylint). More accurately reflects the system we
are mimicking and saves approximately 1 minute per test run.
1dc5f82f: Merged in
lp:~aaron-whitehouse/duplicity/launchpad_tox_profile - Add tox testing
profile that mimics the packages installed on the Launchpad build
server, to reduce the likelihood of tests passing our test suite, but
failing on the build server (e.g. because of the out-of-date mock
version).
fb8eae7b: Fixed Bug 1476019 S3 storage bucket not being
automatically created with patch from abeverley
261ba3b5: Fixed Bug 1476019 S3 storage bucket not being
automatically created with patch from abeverley
d26793e7: Add further instructions in README-REPO on how to test
against one environment.
b7d323ec: Add lpbuilldd as an additional tox profile, replicating
the setup of the launchpad build server.
59a9032a: Merged in lp:~aaron-whitehouse/duplicity/fix_patch_error -
Change use of mock.patch in unit tests to accommodate the obsolete
version of python-mock on the build server.
15aac370: Change use of mock.patch to accommodate the obsolete
version of python-mock on the build server (and avoid the following
error: TypeError: patch() got an unexpected keyword argument
‘return_value’ )
d4931324: Merged in lp:~aaron-whitehouse/duplicity/fix_2to3_issues -
Fixed 2to3 issues. Updated README-REPO with more test information.
Updated pylint and test_diff2 descriptions to make it clear these
require packages to be installed on the sytem to pass. All tests pass on
Python 2.6 and Python 2.7 as at this revision.
4f7b7985: Merged in
lp:~dag-stenstad/duplicity/swift_authversion_3_support - Added support
for Openstack Identity v3 in the Swift backend.
0dbbd223: Fixed 2to3 issues. Updated README-REPO with more test
information. Updated pylint and test_diff2 descriptions to make it clear
these require packages to be installed on the system to pass. All tests
pass on Python 2.6 and Python 2.7 as at this revision.
75efd658: Added support for Identity v3.
bd359a3c: Merged in
lp:~aaron-whitehouse/duplicity/improve_tox_and_python2-6_testing -
Testing improvements, particularly in relation to testing against Python
version 2.6: tox.ini fixed so that it is possible to run individual
tests against both Python 2.6 and 2.7; * updated test_code.py to use
unittest2 for Python versions < 2.7 (instead of failing); *
./run-tests now correctly runs all tests against both Python 2.6 and
2.7; and * improved testing directions in README-REPO.
ed9a2d94: Merged back to trunk.
f1895791: Delete redundant second sys import in test_code.py.
f756b041: Fixed tox.ini to correctly run individual tests. Updated
test_code.py to use unittest2 for Python versions < 2.7 (instead of
failing). Improved testing directions in README-REPO.
91471a01: Merged in
lp:~aaron-whitehouse/duplicity/trailing_slash_match_dirs - Made globs
with trailing slashes only match directories, not files, fixing Bug
#1479545.
a2169f9d: Made globs with trailing slashes only match directories,
not files, fixing Bug #1479545.
31441334: Added functional unittests to exhibit current behaviour of
trailing slashes in globs. See Bug #1479545.
141361c0: Merged in lp:~aaron-whitehouse/duplicity/reenable_tests -
Re-enable unit.test_selection tests that had been temporarily commented
out.
4c49785c: Re-enable tests that had been temporarily commented
out.
6003f4a8: Merged in lp:~aaron-whitehouse/duplicity/bug_884371 -
Fixed Bug #884371 - Stopped an exclude glob trumping an earlier scan
glob, but also ensured that an exclude glob is not trumped by a later
include. This fix is important, as without it files that are specified
to be included are not being backed up as expected. - Fixed Bug #932482
- a trailing slash at the end of globs no longer prevents them working
as expected.
e73e5e5b: Add test_glob_re unit test back in.
dbedeb41: Remove unnecessary use of mock.patch in
unit.test_selection.py.
0ddd13bb: Remove special casing for final glob in glob list as no
longer necessary.
8cd88d39: Fixed Bug #932482 by checking for a trailing slash in each
glob and removing it if present. Enabled tests checking this behaviour.
PEP8 fixes along the way.
e292c843: Stopped an exclude glob trumping an earlier scan glob, but
also ensured that an exclude glob is not trumped by a later include.
Fixed Bug #884371. Activated the (expectedFailure) tests that were
failing because of this bug.
992906bb: Additional tests to exhibit current exclude/scan
interaction and implement two functional tests as unit tests.
b1f42932: Added unit tests for negative square brackets ([!a,b,c]
and [!1-4]).
18caccd1: Added test cases (unit and functional) to test the current
behaviour of selection.py.
5d0b1231: Fixed bug 1471348 Multi back-end doesn’t work with hubiC
(again) - hubiC should reach up to duplicity.backend.__init__
772d03a7: Fixed bug 1471348 Multi back-end doesn’t work with hubiC -
added init of appropriate superclass in both cases.
d2c3d755: Merged in
lp:~aaron-whitehouse/duplicity/reactivate_progress_test - Re-enable the
test of the –progress option (test_exclude_filelist_progress_option),
which was marked as an expected failure. The issue causing this test to
fail was fixed in revision 1095 and the test now passes.
6edcd9c7: Merged in
lp:~aaron-whitehouse/duplicity/fix_POTFILES.in_and_run-tests - Fixed two
filename references in po/POTFILES.in, a mistake which crept in in rev
1093 and caused testing/run-tests to fail with “IndexError: list index
out of range”.
89c33882: Fixed two filename references in po/POTFILES.in, a mistake
which crept in in rev 1093 and caused testing/run-tests to fail with
“IndexError: list index out of range”.
b09199ba: Re-enable the test of the –progress option
(test_exclude_filelist_progress_option), which was marked as an expected
failure. The issue causing this test to fail was fixed in revision 1095
and the test now passes.
704a2492: Merged in lp:~ed.so/duplicity/gpg.binary - new parameter
–gpg-binary allows user to point to a different gpg binary, not
necessarily in path
ae20199a: Merged in lp:~ed.so/duplicity/gpg.binary - new parameter
–gpg-binary allows user to point to a different gpg binary, not
necessarily in path
3589c56d: new parameter –gpg-binary allows user to point to a
different gpg binary, not necessarily in path
be733da8: Fixed bug 1466582 - reduce unnecessary syscall with
–exclude-if-present - with patch from Kuang-che Wu to make sure
resulting path is a directory.
0b62ad25: Fixed bug 1466582 - reduce unnecessary syscall with
–exclude-if-present - with patch from Kuang-che Wu to make sure
resulting path is a directory.
2e1ba52e: Fix missing argument in _error_code
73dc60eb: Fixed bug 1466160 - pydrive backend is slow to remove old
backup set - with patch from Kuang-che Wu to implement
_delete_list().
f013057c: Fixed bug 1466160 - pydrive backend is slow to remove old
backup set - with patch from Kuang-che Wu to implement
_delete_list().
97754400: Fixed bug 1452263 - par2 option not working on small
processors - with patch from Kuang-che Wu to ignore default 30 second
timeout.
aef40012: Fixed bug 1465335 - pydrive still use files in trash can -
with patch from Kuang-che Wu to ignore trashed files.
06d4eb37: Add an ID cache to the PyDrive backend.
41c1e621: Fixed bug 791794 - description of –gpg-options is
misleading, Simply needed to add the ‘–’ before the options as in “–opt1
–opt2=parm”.
ddda51ae: Fix a couple of PEP8 glitches.
3d977000: Merged in
lp:~raymii/duplicity/fix-swiftbackend-max-10000-files-in-list -
Swiftclient by default returns at max 10000 files. By adding
full_listing=True we make sure all objects are returned. Ref:
https://lists.nongnu.org/archive/html/duplicity-talk/2015-05/msg00060.html
and
http://docs.openstack.org/developer/python-swiftclient/swiftclient.html#swiftclient.client.get_container
e749d50c: Merged in lp:~ed.so/duplicity/gdocs.pydrive - make pydrive
new gdocs default backend - keep gdata backend as gdata+gdocs://
33320f00: Add full_listing=True so that swiftclient returns more
than 10000 objects. Default is False.
b1fbbfab: manpage - some reordering, update “A NOTE ON SSH BACKENDS”
to the new prefix+ changes
9269d030: make pydrive new gdocs default backend keep gdata backend
as gdata+gdocs://
e5743342: Merged in lp:~bmerry/duplicity/pydrive-regular - This
implements the proposal made by somebody else
(http://lists.gnu.org/archive/html/duplicity-talk/2015-02/msg00037.html)
to allow the pydrive backend to work with a normal drive account instead
of a service account. It seems to be working for me: I was able to
migrate seamlessly from the gdocs backend. It’s set up so that a service
account can still be used, depending on which environment variable is
set. The man page is updated to describe how to use the new
functionality.
725b971b: Support using PyDrive with a regular Google account,
instead of a service account.
6b4cbf12: Merged in lp:~noizyland/duplicity/fix-progress - Fixes bug
1264744. selection.filelist_globbing_get_sfs leaves the filelist file
object’s position at the end of the file. When the –progress option is
used the filelists need to be read twice. On the second read nothing is
read from the file because file has already been read and the position
is EOF. This patch calls seek(0) on the filelist to reset the position
to BOF so that subsequent read() calls will return data. * Added pylint
ignore error in webdavbackend.py.
ec0ae7f7: Perform seek(0) on filelist before read().
41013145: Reset filelist position to beginning of file after calling
read(). This allows file to be read again.
86f88f64: Merge in lp:~sjakthol/duplicity/onedrive-error-message -
Add proper error message for OneDrive backend when python-requests or
python-requests-oauthlib is not installed (bug 1453355).
bed9d791: Add proper error messages for OneDrive backend when
python-requests or python-requests-oauthlib is not installed (bug
1453355).
39e73c64: Added ability to get single file status from
collection-status with patch from jitao (bug 1044715), like so: $
duplicity collection-status –file-changed c1 file://./foo
01ece1ff: Fixed bug 1448249 and bug 1449151 thanks to David Coppit.
- When patching, close base file before renaming
9be05c5b: Fixed bug 1444404 with patch from Samu Nuutamo - rdiffdir
patch crashes if a regular file is changed to a non-regular file
(symlink, fifo, …)
fa4501c7: Merge in lp:~cemsbr/duplicity/duplicity - Fix bug 1432229
in Copy.com backend: Reply header has no content-type for JSON
detection. Now, we also check whether the content starts with ‘{’.
b9a6fe2b: Fix bug 1432229 in Copy.com backend - Reply header has no
content-type for JSON detection. Now, we also check whether the content
starts with ‘{’.
581619a7: Move requirements section lower in manpage.
d403efd6: Merge in lp:~stynor/duplicity/multi-backend - A new
backend that allows use of more than one backend stores (e.g. to combine
the available space from more than one cloud provider to make a larger
store available to duplicity).
5c737e5d: logging cleanup
6eafd93c: typo - missing quote
6e29444a: add doc
911a2d98: add doc
3efab9f1: adjust delete to make unit tests pass
7ef7f76a: document json format
77dff5b6: improved logs; dont allow low level retry to kick in
c63caf26: initial working code - tested with gdocs and file
backends
2ed13bc9: Fix bug 1437789 with patch from pdf - par2backend.py
incorrect syntax in get()
cbcabb49: Fix bug 1434702 with help from Robin Nehls - incorrect
response BackendException while downloading signatures file.
90a0ca7b: Fix bug 1432999 with hint from Antoine Afalo.
14d637ed: Merged in lp:~aaron-whitehouse/duplicity/filelist_combine
- Merged globbing and non-globbing filelists to use the same code path
and all accept globbing characters. Added deprecation warning to the
–exclude-globbing-filelist and include-globbing-filelist options in
commandline.py and hid them from help output. Updated the manual (and
unit tests) accordingly. - Note that this does trigger a change in
behaviour for duplicity. Previously, include patterns in
include-filelist did not match files in a directory that was included,
so /usr/local in an include file would not have matched /usr/local/doc.
Now, this folder would be included, as would occur if –include or the
old –include-globbing-filelist was used. Additional lines will therefore
need to be added to filelists to unambiguously exclude unwanted
subfolders, if this is intended. - Mark –include-filelist-stdin and
–exclude-fielist-stdin for deprecation and hide from –help output.
d57b77e7: Updated duplicity.pot
3f04b186: Merge in changes to rebase against dev.
df9d8587: Changed tests to test filelist, rather than globbing
filelist, except for one functional globbing test of each type to ensure
this continues to work until it is deliberately removed. Changed naming
of tests etc accordingly.
b9806ad2: Removed unnecessary tests (post merging of non-globbing
and globbing filelists) and created a globbing version of the one test
that was only written for non-globbing filelists.
48287b6f: Updated manual to remove references to globbing filelists
and stdin filelists and make consequential changes to the description of
include-filelist and exclude-filelist behaviour.
aebae1c7: Merge in lp:~duplicity-team/duplicity/po-updates
5d216790: remove extraneous string format arg in previous scp
fix.
d1864d6a: Fix for –pydevd debug environment and location under
Eclipse. * Fix for bug where scp was actually working as scp and not
working with rsync.net because of using extraneous test command in
restricted shell. Was trying “test -d ‘foo’ || mkdir -p ‘foo’”, now only
“mkdir -p foo”.
0129a806: Note Bug #1423367 was fixed in the previous commit.
7b14c6ad: Mark –include-filelist-stdin and –exclude-fielist-stdin
for deprecation and hide from –help output. Add additional tests in
stdin_test.sh to test –include-filelist-stdin and that /dev/stdin is an
adequate replacement.
71cc37b8: Added bash script (stdin_test.sh) showing that filelists
from stdin were working as expected despite the changes.
43f9b747: Really fix bug 1416344 based on comment #5 by Roman
Tereshonkov
da7c6f85: Fix _librsyncmodule.c compilation, bug 1416344, thanks to
Kari Hautio.
6aba6be4: Fix spelling error in manpage, bug 1419314.
10d28763: Added deprecation warning to the
–exclude-globbing-filelist and include-globbing-filelist options in
commandline.py and hid them from help output. Commented out functions
relating to non-globbing filelists. Commented out unit tests related to
non-globbing filelists.
ae5e5086: Made non-globbing filelists use the globbing code path (ie
made all filelists globbing), as per:
http://lists.nongnu.org/archive/html/duplicity-talk/2015-01/msg00011.html
Fixed Bug #1408411 in the process, as this issue was limited to the
non-globbing code path.
072ce385: Coalesce CHANGELOG
30819fe9: Misc fixes for the following PEP8 issues: E401 - see
http://pep8.readthedocs.org
611f373e: Misc fixes for the following PEP8 issues: E231, E241,
E251, E261, E262, E271, E272, E301, E302, E303, E502, E701, E702, E703,
E711, E721, W291, W292, W293, W391 - see
http://pep8.readthedocs.org
d6bcb224: Misc fixes for the following PEP8 issues: E231, E241,
E251, E261, E262, E271, E272 - see http://pep8.readthedocs.org
85446d0e: Misc fixes for the following PEP8 issues: E231, E241 - see
http://pep8.readthedocs.org
e4d4b799: Misc fixes for the following PEP8 issues: E231, E241 - see
http://pep8.readthedocs.org * Fixes for 2to3 issues
0caf808f: Merged in
lp:~aaron-whitehouse/duplicity/bug_932482_trailing_slashes_and_wildcards_error
- Added functional and unit tests to show Bug #932482 - that selection
does not work correctly when excludes (in a filelist or in a commandline
option) contain both a single or double asterisk and a trailing
slash.
46057d22: Added functional and unit tests to show Bug #932482 - that
selection does not work correctly when excludes (in a filelist or in a
commandline option) contain both a single or double asterisk and a
trailing slash.
8d81fe77: Merged in
lp:~aaron-whitehouse/duplicity/bug_884371_asterisks_in_includes - Added
tests to unit/test_selection.py and funtional/test_selection.py to show
the behaviour reported in Bug #884371, i.e. that selection is incorrect
when there is a * or ** on an include line of a filelist or commandline
–include.
78b27da5: Added credit to Elifarley Cruz for one of the test
cases.
f1130d1c: Added functional tests to functional/test_selection.py to
show Bug #884371 (* and ** not working as expected) applies to
commandline –include.
3eedae1f: Added tests to unit/test_selection.py and
funtional/test_selection.py to show the behaviour reported in Bug
#884371, i.e. that selection is incorrect when there is a * or ** on an
include line.
a14a55e5: Merged in lp:~angusgr/duplicity/exclude-older-than - Add
“–exclude-older-than” commandline option, that allows you to only back
up files with a modification date newer than a particular threshold. *
Additional pep8 cleanup.
8a2c4cc0: Ongoing pep8 corrections.
4afbda13: Add option –exclude-older-than to only include recently
modified files.
67e7082f: Applied patch from Adam Reichold to fix bug # 1413792
aef50709: Fixed bug # 1414418 - Aligned commandline.py options and
help display contents. - Aligned commandline.py options and manpage
contents. * Changed –s3_multipart_max_timeout to
–s3-multipart-max-timeout to be consistent with commandline option
naming conventions.
9ca6025d: Misc fixes for the following PEP8 issues: 201, 202, 203 -
see http://pep8.readthedocs.org
d314c16a: Misc fixes for the following PEP8 issues: E127, E128 - see
http://pep8.readthedocs.org
92f81918: Misc fixes for the following PEP8 issues: E111, E121,
E122, E124, E125, E126 - see http://pep8.readthedocs.org
24ee18c8: Remove ‘gs’ and ‘s3+http’ from uses_netloc[]. Fixes Bug
1411803.
26f3de3b: Merged in lp:~duplicity-team/duplicity/po-updates
a99abfe0: Fixed variable typo in commandline.py that was causing
build fails.
f56a246a: Fixed some tabs/spaces problems that were causing install
failures.
1e456813: Merged in lp:~user3942934/duplicity/pydrive - Currently
duplicity uses gdocs backend for Google Drive backups. gdocs uses
deprecated API and don’t allow backups for managed Google accounts. (see
https://bugs.launchpad.net/duplicity/+bug/1315684) - Added pydrive
backend that solves both of those problems. Published also on
https://github.com/westerngateguard/duplicity-pydrive-backend.
7c181e2e: Merged in
lp:~noizyland/duplicity/fix_azurebackend_container_names - Azure Backend
examples have underscores in the container names. These are not valid
Azure container names. The underscores have been replaced with hypens
and a note about valid container names added to the man page. - Also
corrects a problem where Azure Exceptions were returing unicode strings
that were not being handled correctly.
0d6e5fa0: Changed passing keyfile via query in URL to passing the
key by environment variable. Fixed manpage accordingly. Restored Azure
info in manpage that was somehow mistakenly deleted.
2b016aec: removed underscores from example Azure container names -
added Azure container name rules to man page - handle unicode messages
correctly in Azure Exceptions
40aa8c29: Merged in
lp:~aaron-whitehouse/duplicity/progress_option_error - Added
test_exclude_globbing_filelist_progress_option into
functional/test_selection.py, which shows the error reported in Bug
#1264744 - that the –exclude-globbing-filelist does not backup the
correct files if the –progress option is used. Test is marked as an
expected failure so as not to cause the test suite to fail.
1e964e8b: Added test_exclude_globbing_filelist_progress_option into
functional/test_selection.py, which shows the error reported in Bug
#1264744 - that the –exclude-globbing-filelist does not backup the
correct files if the –progress option is used. Test is marked as an
expected failure so as not to cause the test suite to fail.
2da16df8: fixed URI parsing
777197e8: Merged in lp:~vincegt/duplicity/swift_regionname - Fixes
bug #1376628 - Add mapping of SWIFT_REGIONNAME to select region inside
SWIFT when a provider proposes more than one region.
4c0cc984: Fixed some recently added 2to3 and pep8 issues.
e5584018: Add SWIFT_REGIONNAME parameter to select SWIFT REGION. See
bug #1376628
5fe93de6: added pydrive backend aimed to replace the deprecated
gdocs backend
3bcbb360: Merged in lp:~noizyland/duplicity/azurebackend - Add
backend for Azure Blob Storage Service
507d3c34: Merged in lp:~9-sa/duplicity/FixBug1408289 - Fix bug
#1408289 - Wrong attribute name prevented raise of client exception,
working now
24f92e54: Merged in
lp:~hooloovoo/duplicity/process_filelists_for_spaces_etc - Process
filelists to remove imperfections such as blank lines, comments and
leading/trailing whitespace. Also correctly processes quoted folders
containing spaces in their names. Extensive unit and functional tests to
test these changes (and selection more generally). - The branch does add
an additional folder to testfiles.tar.gz called select2. This included a
folder with a trailing space, to test the quote test. The subfolders
also have clearer names than in the “select” folder (eg “1sub2sub3”)
which makes it easier to keep track of issues in tests.
1d6d2cb1: Merged in
lp:~hooloovoo/duplicity/filelist_select_bug_1408411 - Adds functional
test cases that fail because of Bug #1408411 (commented out), to assist
in fixing that bug.
9028a95f: Merged in
lp:~stapelberg+ubuntu/duplicity/add-onedrive-backend - Add a Microsoft
OneDrive backend
a1c6bea8: selection.py modified to pre-process lines for both
globbing and non-globbing filelists to: remove leading and trailing
whitespace; process quoted filenames correctly; remove blank lines; and
ignore full-line comments. Added tests to unit/test_selection.py and
functional/test_selection.py to cover these. Added a new folder select2
to the testfiles.tar.gz for the new functional tests (clearer names and
a folder with trailing whitespace).
700de23c: Added functional test cases to show the issue reported in
Bug #1408411 (Filelist (non-globbing) should include a folder if it
contains higher priority included files -
https://bugs.launchpad.net/duplicity/+bug/1408411).
e1ca2579: Add a backend for Microsoft OneDrive
bf861f86: Fixed bug 1278529 by applying patch supplied in report -
Use get_bucket() rather than lookup() on S3 to get proper error
msg.
cf71f0aa: Misc fixes for the following PEP8 issues: E211, E221,
E222, E225, E226, E228 - see http://pep8.readthedocs.org
8ba5d034: Fixed bug 1406173 by applying patch supplied in report -
Ignore .par2 files in remote file list * Removed redundant shell test
testing/verify_test.sh
080fcd11: Merged in
lp:~hooloovoo/duplicity/add-else-to-badupload-try-except - Badupload
test previously did not have an else in the try-except. The test passed
if the except was triggered, but would also pass if the test did not
trigger an error at all.
c37b0225: Merged in
lp:~hooloovoo/duplicity/add-additional-verify-tests-for-corrupted-archives
- Add tests to test_verify.py to test that verify fails if the archive
file is corrupted. Changed file objects to use the with keyword to
ensure that the file is properly closed. - Small edit to find statement
in verify_test.sh to make it work as expected (enclose string in
quotes).
f389a777: Add comments to the verify_test.sh script matching up the
tests in there to the tests implemented in test_verify.py. All the tests
in the shell script have now been implemented, so the shell script
should perhaps be deleted.
ce7ede01: Add tests to test_verify.py to test that verify fails if
the archive file is corrupted. Changed file objects to use the with
keyword to ensure that the file is properly closed. Small edit to find
statement in verify_test.sh to make it work as expected (enclose string
in quotes).
032ef264: Add else to try-except in badupload functional test, to
catch where the test passes successfully instead of throwing an error
(as it should).
50c83e39: Merge in lp:~hooloovoo/duplicity/test-verify-improvements
- Fix up test_verify, which was a bit of a mess: Simplify test_verify.py
to just do a simple backup and verify on a single file in each test. -
Modify tests to correctly use –compare-data option. - Add tests for when
the source files have atime/mtime manipulated. * Fix duplicity verify to
ignore the file system when globals.compare_data is False. This means
that verify only validates the viability of the backup itself unless
–compare-data is specified. * Reenable test_verify_changed_source_file
test
c7b92449: Simplify test_verify.py to just do a simple backup and
verify on a single file in each test. Modify tests to correctly use
–compare-data option and to add tests for verify when the source files
have the atime/mtime manipulated.
08facffc: Make ssh an unsupported backend scheme * Temporarily
disable RsyncBackendTest and test_verify_changed_source_file
f5fe71dd: Merge in lp:~ed.so/duplicity/move_netloc - move netloc
usage definitions into respective backends - fix “[Question #259173]:
rsync backend fails”
https://answers.launchpad.net/duplicity/+question/259173
1a4c9df6: Tests to validate that duplicity does not check filesystem
source during verify unless –compare-data is specified
b78d7620: move netloc usage definitions into respective
backends
19b14d05: Added in tests including compare_data
e67597df: Added test_verify_changed_source_file test to flag up the
issue mentioned in Bug #1354880
141e0910: Merge in lp:~andol/duplicity/signkeyformat - Allow
–sign-key to use short format, long format alt. full fingerprint.
6afcb4b4: Source formatted, using PyDev, all source files to fix
some easily fixed PEP8 issues. Use ignore space when comparing against
previous versions.
f87f52f2: Merged in lp:~ed.so/duplicity/paramiko.identyfile - fix
identity file parsing of –ssh-options for paramiko - manpage fixes
0db29890: Update man page Add hubic identity module
cb429578: Undid move of testing/test_code.py. Instead I fixed it so
that it would not run during PPA build. It now needs the setting
RUN_CODE_TESTS=1 in the environment which is supplied in the tox.ini
file.
c8387d7f: Moved testing/test_code.py to testing/manual/code_test.py
so PPA builds would succeed. Should be moved back later.
fa7dc5fb: Remove valid_extension() check from file_naming.py. It was
causing failed tests for short filenames. Thanks edso.
5349715d: Fix for failing PPA builds. FTP backend has variable class
names.
586f6ffb: Fix files list.
84d8ff77: Merged in
lp:~hooloovoo/duplicity/fix-typo-in-test-description - Fixed spelling
mistake/typo in a description of a test.
a309c850: Merged in lp:~mterry/duplicity/missing-unicode-escape -
Convert restore_dir to unicode before printing.
844300e3: Merged in lp:~ed.so/duplicity/lftp.ncftp.and.prefixes -
retire –ssh-backend, –use-scp parameters - introduce scheme prefixes for
alternative backend selection e.g. ncftp+ftp://, see manpage - scp is
now selected via scheme e.g. scp:// - added lftp fish, webdav(s), sftp
support
d0cfd401: Support older versions of dpkg-parsechangelog
f407e8c1: add https cert verification switches
49b48082: more manpage fixes/reformatting retire parameters
–ssh-backend, –use-scp, functionality is achieved via scheme:// setting
now add lftp webdav support add lftp fish support fix assertionerror
when using par2+ backend
2307cd24: Some small testing fixes to work on older copies of mock
and pylint
1686422a: Adjust unit tests to expect single FTP backend
36f1ae7b: Merged in lp:~moritzm/duplicity/duplicity - Use lftp for
both FTP and FTPS
819105ed: Minor accounting fix.
1ff25aa1: 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
42365f6f: Merged in lp:~ed.so/duplicity/0.7-dpbx.importfix - fix
this showstopper with the dropbox backend “NameError: global name ‘rest’
is not defined”
46b65cd8: Merged in lp:~jflaker/duplicity/BugFix1325215 - The
reference to “–progress_rate” in the man page as a parameter is
incorrect. Should be “–progress-rate”.
4a5d2346: Merged in lp:~hooloovoo/duplicity/updated-README-REPO -
Changes to README-REPO to reflect the restructuring of the
directories.
9f1dd251: Fixed bug 1375304 with patch supplied by Aleksandar
Ivanovic
fec21cc3: Change the branch for stable. lp:duplicity/stable doesn’t
exist and so I’ve changed this to
lp:~duplicity-team/duplicity/0.6-releases as this is the only
non-Windows, non-dev branch.
e64a10cf: Corrected the extra dot in the stable branch line at step
1.
d82de7b5: Updated README-REPO to reflect restructuring of
directories. See
https://answers.launchpad.net/duplicity/+question/252898
8539df34: Merged in lp:~jeffreydavidrogers/duplicity/duplicity -
This change fixes two small typos in the duplicity man page.
9a9bd6ea: Merged in lp:~ed.so/duplicity/manpage.verify - clarify
verify’s functionality as wished for by a user surprised with a big
bandwidth bill from rackspace.
37e5e2b3: Added sxbacked.py, Skylable backend. Waiting on man page
updates.
b3a9f5e4: Fix two small typos in duplicity man page
c951dfcc: clarify verify’s functionality as wished for by a user
surprised with a big bandwidth bill from rackspace.
b2c9cab7: 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).
f96cdedb: Merged in lp:~antmak/duplicity/0.7-par2-fix - Useful fix
for verbatim par2cmdline options (like “-t” in par2-tbb version)
6c6a7414: Restore accidental deletion.
cae2954b: 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.
2f443255: Merged in lp:~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.
93effcc8: 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://account@email.com:your-password@copy.com/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?)
f6db6644: Fix setdata() not being called a better way
6b506216: README: add copy.com requirements
716f6d08: Add copy.com to man file
fedceb26: CopyComBackend: import non-main modules only when
needed
5146aa02: Use writefileobj instead of direct write, for less code
and so that we call setdata()
263cc6d4: More reliably reset webdav connection
3f263cff: webdav backend fix “BackendException: Bad status code 200
reason OK.” when restarting an interrupted backup and overwriting
partially uploaded volumes.
c6b41d02: Added user defined verbatim options for par2
706ce8e8: Update shebang line to python2 instead of python to avoid
confusion.
4a8d6267: 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).
234747e4: Applied expat fix from edso. See answer #12 in
https://answers.launchpad.net/duplicity/+question/248020 *
Forward-ported from r980 in 0.6-series
7637d9ef: 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
47b09b9e: 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
a9d5329b: 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).
c10bf10d: 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.
0bee78c9: # Merged in lp:~mterry/duplicity/more-test-reorg - Here’s
another test reorganization / modernization branch. It does the
following things: Drop duplicity/misc.py. It is confusing to have both
misc.py and util.py, and most of the code in misc.py was no longer used.
I moved the one function that was still used into util.py. -
Consolidated the various ways to run tests into just one. I made tox
runs go through ./setup.py test, rather than nosetests. And I made the
./testing/run-tests scripts just call tox. Now we no longer need
nosetests as a test dependency (although you can still use it if you
want). - Added two more code quality automated tests: a pep8 one and a
pylint one. I disabled almost all checks in each program that gave a
warning. These tests just establish a baseline for future improvement. -
Moved the test helper code into TestCase subclasses that all tests can
use. And used more code sharing and setUp/tearDown cleverness to remove
duplicated code. - Reorganized the tests in ./testing/tests into
./testing/functional and ./testing/unit – for whether they drive
duplicity as a subprocess or whether they import and test code directly.
Each dir can have specialized TestCase subclasses now. - Renamed the
files in ./testing/unit to more clearly indicate which file in
./duplicity they are unit testing. - Added some helper methods for tests
to set environment and globals.* parameters more safely (i.e. without
affecting other tests) by automatically cleaning up any such changes
during test tearDown. - Removed test_unicode.py, since it is kind of
dumb. It used to be more useful, but now with py2.6, we are just testing
that one line of code in it is actually there.
71b0033e: Add overrides dir
7fe76cc6: more minor fixes
2924362d: Move rootfiles.tar.gz into manual directory
a078e99d: Add initial pep8 and pylint tests
fcdc74e2: Minor fixes
054b1fc9: Make run-tests scripts go through tox, this makes all our
standard test-running modes ultimately go through ./setup test
974334a7: Merged in lp:~mterry/duplicity/encode-for-print - Encode
translated strings before passing them to ‘print’. - The print command
can only apparently handle bytes. So when we pass it unicode, it freaks
out. There were only four instances I saw where we used print, so I
figured it was easiest to just convert them to use the log framework
too. - That way all user-visible strings go through that framework and
are subject to the same encoding rules.
7852a537: 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.
b0c4959a: 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.
a49901ae: Fix subprocess usage to work in py2.6 and fix a missing
unicode
09cc0b33: Solve has_key 2to3 fix
2540b04d: Move imports fix to the ‘don’t care’ section
2952abf2: Solve import 2to3 fix
d595c4da: Solve numliterals 2to3 fix
717580a1: Solve long 2to3 fix
a01a3648: Move urllib fix to the ‘don’t care’ section
1741ac8e: Solve basestring 2to3 fix
06891cb1: Move long and raw_input fixes to the ‘don’t care’
section
c0cccaa6: Solve reduce 2to3 fix
5d010b76: Solve raise 2to3 fix
b8293ba3: Mark callable and future fixes as things we explicitly
don’t care about
685fb9fa: Solve apply 2to3 fix
f9da9421: Solve idioms 2to3 fix
b8aaaa1f: Solve ws_comma 2to3 fix
dc8c8f9b: Solve renames 2to3 fix
fccc860b: Solve except 2to3 fix
8b54538f: Add test_python3.py to test readiness of source code to
run under python3 directly
640aecb5: 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.
3e071ea8: Merged in lp:~mterry/duplicity/fix-drop-u1 - Looks like
when the drop-u1 branch got merged, its conflict got resolved badly.
Here is the right version of backend.py to use (and also drops
u1backend.py from POTFILES).
550f01c3: fix typo
069063ca: Drop local copy of pexpect – only used by one of our ssh
backends and our tests
9fd193e7: Fix drop-u1 merge
5c354027: Merged in lp:~mterry/duplicity/drop-u1 - Ubuntu One is
closing shop. So no need to support a u1 backend anymore.
2597eb3f: 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.
39da53fd: Merged in lp:~mterry/duplicity/modern-testing - Enable/use
more modern testing tools like nosetests and tox as well as more common
setup.py hooks like test and sdist. - Specifically: move setup.py to
toplevel where most tools and users expect it * Move and adjust test
files to work when running “nosetests” in toplevel directory.
Specifically, do a lot more of the test setup in
tests/init.py rather than the run-tests scripts * Add
small tox.ini file for using tox, which is a wrapper for using
virtualenv. Only enable for py26 and py27 right now, since modern
setuptools dropped support for <2.6 (and tox 1.7 recently dropped
<2.6) * Add setup.py hooks for test and sdist which are both standard
targets (sdist just outsources to dist/makedist right now)
3e3433f8: Merged in lp:~mterry/duplicity/consolidate-tests -
Consolidate all the duplicity-running code in the test framework. - This
takes the four test files [1] that run duplicity itself (i.e. the
high-level functional test files) and consolidates their code. Before,
it was madness. Each one had its own run_duplicity method, with its own
slightly tweaked features. This should reduce a lot of duplication. -
[1] cleanuptest.py, finaltest.py, restarttest.py, and badupload.py
a31df098: Merged in lp:~fredrik-loch/duplicity/duplicity-S3-SSE -
Adds support for server side encryption as requested in Bug #996660
40e7f217: Drop support for Ubuntu One, since it is closing
53ac8e6b: Drop support for Python 2.4 and 2.5
a72a5654: Add missing mock dep
af1e3dd3: Whoops, make dist dir first during sdist
7b6dbba5: Enable/use more mordern testing tools like nosetest and
tox as well as more common setup.py hooks like test and sdist
2bc42d4b: Consolidate all the duplicity-running code in the test
framework
190687df: Merged in lp:~germer/duplicity/par2 - This branch adds
Par2 recovery files to duplicity. It is a wrapper backend which will
create the recovery files and upload them all together with the wrapped
backend. Corrupt archives will be detected and repaired (if possible) on
the fly during restore. - It can be used with url-string
par2+webdavs://USER@HOST/PATH - Fixes
https://bugs.launchpad.net/duplicity/+bug/426282
a0c0e817: Merged in lp:~prateek/duplicity/botoimportfix - Switches
the boto backend back to using lazy imports so there are no complaints
during the importing of backends.
1dadc6d1: Merged in lp:~ed.so/duplicity/fix.dpbx - fix dpbx backend
“NameError: global name ‘rest’ is not defined”
0b7376f0: Fixed boto import issues
c253f7ab: fix dpbx backend “NameError: global name ‘rest’ is not
defined”
b99fac50: Merged in lp:~prateek/duplicity/s3-glacier - Fixes
https://bugs.launchpad.net/duplicity/+bug/1039511 - Adds support to
detect when a file is on Glacier and initiates a restore to S3. Also
merges overlapping code in the boto backends - Fixes
https://bugs.launchpad.net/duplicity/+bug/1243246 - Adds a
–s3_multipart_max_timeout input option to limit the max execution time
of a chunked upload to S3. Also adds debug message to calculate upload
speed.
7ee61e2e: Make sure each process in a multipart upload get their own
fresh connection
374d8ba0: Updated manpage and tweaked boto backend connection
reset
10387872: Merged in lp:~mterry/duplicity/gpg-encode -
getpass.getpass(prompt) eventually calls str(prompt). Which is a no go,
if the prompt contains unicode. Here’s a patch to always pass getpass()
a byte string. - Our tests didn’t catch this because they always set
PASSPHRASE. I’ve added a test that passes the passphrase via stdin.
bb87391a: Add test that includes unicode characters to check the gpg
prompt
caadb52f: Encode prompt phrase before passing to getpass
81ec14cb: Applied two patches from mailing list message at:
https://lists.nongnu.org/archive/html/duplicity-talk/2014-01/msg00030.html
“Added command line options to use different prefixes for
manifest/sig/archive files” This resolves
https://bugs.launchpad.net/duplicity/+bug/1170161 and provides a
workaround for https://bugs.launchpad.net/duplicity/+bug/1170113
f5270b1d: Merged in lp:~mterry/duplicity/argv-encode - Use the
system filename encoding to print the args in unicode.
caf92c99: Merged in
lp:~louis-bouchard/duplicity/remove-allow-concurrency - remove the
–allow-concurrency switch but leave the lock
c15abb38: Remove –add-concurrency option and enhance the error
message the case where an existing lockfile is detected
4cf02458: Merged in
lp:~louis-bouchard/duplicity/allow-concurrency-manpage
bb0d0c61: Reformat –allow-concurrency text and add mention of stale
lockfile
10ea19c7: Update manpage with new –add-concurrency option
dcdf87df: Merged in
lp:~louis-bouchard/duplicity/add-allow-concurrency - Implement locking
mechanism to avoid concurrent execution under the same cache directory.
This is the default behavior. - Also implement –alllow-concurrency
option to disable the locking if required. - This functionality adds a
dependency to python-lockfile
cae03365: Add the –allow-concurrency option to disable the locking
mechanism that this patch implements. By default, only one instance of
duplicity will be allowed to run at once. When using this switch it
disable the locking mechanism to allow more than one instance to run
simultaneously (LP: #1266763)
2bd57f0e: Merged in lp:~mterry/duplicity/boto-list-fix to fix bzr
screwup.
9f8a9310: Raise exception if we can’t connect to S3 rather than just
silently pretending there are no files
110a253e: Restored patch of gdocsbackend.py from original author
(thanks ede) * Applied patch from bug 1266753: Boto backend removes
local cache if connection cannot be made
48fa54ff: ede Fri 2014-01-03 11:37:54 +0100 recommit: implement fix
as suggested by original autor
9cf0f755: Encode sys.argv using system filename encoding before
printing
9fbda155: recommit: implement fix as suggested by original autor
http://lists.nongnu.org/archive/html/duplicity-talk/2013-11/msg00017.html
12ee08bc: Reformat to be more consistent. Remove tabs.
2bea3a08: Reverted changes to gdocsbackend.py
c5010041: Fix conflicts.
33431886: Restored missing line from patch of gdocsbackend.py
5fa5a941: leftover from previous commit (thx Kostas for paying
attention)
2602ef1b: implement fix as suggested by original autor
http://lists.nongnu.org/archive/html/duplicity-talk/2013-11/msg00017.html
2fcbe124: Merged in lp:~mterry/duplicity/encoding - This branch
hopefully fixes two filename encoding issues: Users in bug 989496 were
noticing a UnicodeEncodeError exception which happens (as far as I can
tell) because some backends (like webdav) are returning unicode
filenames from list(). When these filenames are combined with the utf8
translations of log messages, either (A) the default ascii encoding
can’t handle promoting the utf8 bytes or – if there aren’t any utf8
bytes in the translation – (B) the resulting unicode string raises an
error later when log.py tries to upgrade the string again to unicode for
printing. - This fix is largely implemented by adding a wrapper for
backend list() implementations. This wrapper ensures that duplicity
internals always see a byte string. (I’d like to eventually use this
same wrapping strategy to implement generic retry support without
backends having to add any logic, but that’s just a thought for the
future.) - That is, the fix for issue #1 is completely inside backend.py
and the changes to backends/*.py. - The rest of the invasive changes
deal with filenames that may not be valid utf8. This is much rarer, but
possible. For proper handling of this, we need to print using unicode,
and convert filenames from the system filename encoding to unicode,
gracefully handling conversion errors. Some of the filenames we print
are remote names. Who knows what encoding they are in; it could be
different than the system filename encoding. 99% of the time, everything
will be utf8 and we’re fine. If we do get conversion errors, the only
effect should be some question mark characters in duplicity logging
output. - I tried to convert as much of the actual codebase to use
unicode for printing. But I stopped short of adding an assert in log.py
to enforce unicode, because I didn’t want to go through all the backend
code and manually adjust those bits without being able to test each
one.
36044b6e: Merged in lp:~verb/duplicity/boto-min-version - Update
documentation and error messages to match the current actual version
requirements of boto backend.
036de639: Changed to default to pyrax backend rather than cloudfiles
backend. To revert to the cloudfiles backend use
‘–cf-backend=cloudfiles’
4e484660: Merged in lp:~jkrauss/duplicity/pyrax - Rackspace has
deprecated python-cloudfiles in favor of their pyrax library, which
consolidates all Rackspace Cloud API functionality into a single
library. Tested it with Duplicity 0.6.21 on both Arch Linux and FreeBSD
8.3.0.
9ef392ed: Applied patch to fix “Access GDrive through gdocs backend
failing” - see
https://lists.nongnu.org/archive/html/duplicity-talk/2013-07/msg00007.html
1fab5357: Merged in lp:~mterry/duplicity/normalize-before-using -
Avoid throwing an exception due to a None element in a patch
sequence.
95df8f41: Merged in lp:~mterry/duplicity/disappearing-source - When
restarting a backup, we may accidentally skip the first chunk of one of
the source files. To reproduce this,: 1) interrupt a backup 2) delete
the source file it was in the middle of 3) restart the backup
ee8dd80b: Merged in lp:~mterry/duplicity/manifest-oddities - We may
accidentally end up with an oddly inconsistent manifest like so:
fde872b5: Merged in lp:~mterry/duplicity/log-path-type - Any backup
browser built on top of duplicity will need to indicate which files in
the backup are folders and which are files. The current logging
information doesn’t provide this detail. So I’ve added a field to the
log.InfoCode.file_list output that includes the path type.
f9321c19: Merged in lp:~gliptak/duplicity/415619 - Better error
message when chown fails
e109bda0: Merged in lp:~verb/duplicity/bucket_root_fix - Fix bug
that prevents backing up to the root of a bucket with boto backend.
06926823: Avoid throwing exception because of None element in patch
sequence
4726879e: Merge latest manifest-oddities changes
3986c9b0: Fix test comments
0d3b0cef: Handle a disappearing source file across restarts
better
1bcd1c80: Don’t keep dangling volume info in manifest
cef2b4c7: Show path type in log when listing files
a1b2101c: Merged in lp:~mterry/duplicity/argv - Fix use of argv when
calling os.execve
98932e4f: Merged in lp:~mterry/duplicity/catch-seq-copy-error - Any*
exception when running patch_seq2ropath should be ignored (though
logged) and duplicity should move on. This covers the two asserts in
that function (bug 1155345 and bug 720525) as well as errors that happen
during file copying (bug 662442).
217e92d4: Don’t chop the first argument off when restarting (in an
admittedly difficult-to-reach bit of code)
1a4aa113: Fix some spacing
a02036f3: Wrap whole seq2ropath function in a general try/except
rather than a more focused approach – any problem patching a file should
be ignored but logged before moving on
a11414b0: If a common exception happens when collapsing a non-file
patch, just log it and continue
4ac7249d: Merged in lp:~ed.so/duplicity/man.page - update paramiko
links - add command parameters to synopsis - add –compare-data - some
polishing and several improvements
ff13d3c1: Applied patch from Eric S Raymond to man page to fix
markup problems.
33bdf60c: Merged in lp:~ckornacker/duplicity/megacloud - Add support
for Mega (mega.co.nz) backend.
0a20e18e: Merged in lp:~verb/duplicity/boto-gcs - These patches add
support for Google Cloud Storage via the boto backend. - boto has
supported GCS in interoperability mode for a few years now. This change
adds support by taking advantage of boto’s storage_uri abstraction
layer.
cb07b9a7: Merged in lp:~mhu-s/duplicity/swiftbackend - This branch
adds support for Swift, the OpenStack Object Storage service. See
https://blueprints.launchpad.net/duplicity/+spec/swiftbackend
5cc3bac0: Merged in lp:~scowcron/duplicity/ftp_password_pexpect -
Use common backend.Backend get_password() rather than _ssh_pexpect.py
specific code.
a4e72bb4: README update for BOTO version requirement
3648b7e5: Added support for AWS S3 Glacier
a4d6dd1a: Add documentation for GCS to duplicity.1
37a90ce7: Add config template for testing boto backend with GCS
104d82c2: Add support for Google Cloud Storage to boto backend
(single threaded only)
565075bd: explicitly set umask in test_tarfile.py
4cabce87: fix requesting filename
8b86f45b: add par2 wrapper backend
f43b92ce: Adds doc
5e54c19b: better handling of authentication alternatives
8ae78889: updates copyright
c331d3e3: Use FTP_PASSWORD with pexpect backend without requiring
–ssh-askpass.
eb510e3f: fixes data size type
30598ff9: fixes missing argument
9187ae1e: fixes wrong environment variable being used
d7e67c56: adds OpenStack Swift backend
29931b85: Added commentS
34bc310c: Added max proc rule for multipart S3 uploads.
ebe88b73: Applied duplicity-ftps.patch from
https://bugs.launchpad.net/duplicity/+bug/1104069 - Don’t try to delete
an empty file list.
c384c445: Applied blocksize.patch from
https://bugs.launchpad.net/duplicity/+bug/897423 - New option
–max-blocksize (default 2048) to allow increasing delta blocksize.
90663fd9: Merged in lp:~jnoster/duplicity/dpbx-added - The
application key was approved as “production” one after some changes to
the code to suit the requirements of Dropbox team (the keys are now
obfuscated, for instance).
3e664e8f: Merged in lp:~juan-f/duplicity/progress - From time ago,
there are people asking for a progress bar estimation in duplicity.
There is even a script that circumvents the issue, getting info from the
log so as to estimate the progress status (
https://github.com/quentin/Duplicity-progress ) but does not give enough
feedback and the estimation is rather plain. - I have developed a set of
heuristics that gather information from the deltas and the transfer
ratios of the backend so as to forecast % of progress, estimation of
remaining time and average speed, for both full and incremental backup
uploads. - The current implementation works for boto backend, but to
port the other backends to use this feature would be quite easy (we can
discuss the details if interested). - The algorithm is activated by the
–progress command line flag, and will perform a first-pass dry-run to
collect evidence for all the deltas. Next it will trigger the real
upload, while a thread statistically estimates the ratio of changes and
compression for the data in/out, and uses these ratios to forecast time
remaining and % of completion. - The progress data will be logged each 3
seconds, or the –progress-rate flag.
eb093938: Merged in lp:~tblue/duplicity/paramiko-fix-delete-retry -
This fixes bug #1115715, which is really annoying. Basically it makes
using the Paramiko backend with the default settings impossible.
9e45e1d2: Actually merge in lp:~tblue/duplicity/paramiko-1.10.0 as
previously reported.
b4dc4c23: Merged in lp:~townsend/duplicity/fix-1161599-2 - The fix
in revno. 912 didn’t take into account that the parameter “body” passed
into request() is overloaded, so when it was NULL or of a type other
than file, it would fail. This checks if “body” is of type “file” before
actually seek()’ing back to the beginning of the file.
08f05c3e: Merged in lp:~tblue/duplicity/paramiko-1.10.0 - This fixes
bug #1156746, making the Paramiko backend compatible with Paramiko
1.10.0. It keeps compatibility with older Paramiko versions.
8c377bc1: The fix in revno. 912 didn’t take into account that the
parameter “body” passed into request is overloaded, so when it was NULL
or of a type other than file, it would fail. This checks if “body” is of
type “file” before actually seek()’ing back to the beginning of the
file.
b855cb86: Transient socket or HTTP errors will cause a retry of the
PUT for a backup. This would then lead to 400 Bad Request errors from
the server. This MP:
3da9f8be: Fixes the case where the file pointer to the backup file
was not being set back to the beginning of the file when an error
occurs. This causes subsequent retries to fail with 400 Bad Request
errors from the server. This is due to a change in revno. 901 where a
file handle is used instead of a bytearray. * Fixes the removal of
Content-Length from the header in revno. 901. Content-Length is required
according to the Ubuntu One API documentation.
5599a6a0: no more cleartext credentials in the code
1515016c: Application Key & Secret get obfuscated to fit the rq
of Dropbox.
35982e61: progress: Removed an unneeded if
755e84b7: progress: Fixes for the previous commit after extensive
testing: Fixed the index computation for the rotating cache of Snapshots
- Moved the start point for the Log progress thread after a proper
computation of the starting volume in case of restart, and adapted code
for it
1f5e6538: progress: Cover the sigtar and manifest upload with the
progress reporting. Now the last 1% will be dedicated to this upload and
properly report stallment when network goes off while this happens.
f04be11d: progress: Fixed a missing condition for when the progress
flag is not used
9b675891: progress: Cap data progress upload from 0..99% and show
100% only when sigtar and manifest file has uploaded correctly
1d46d37e: progress: Avoid completed percentage to drops between
backup retries when backup fails and has to be restarted. The current
progress is offset by the previous uncompleted backup from the last
volume that upload correctly. To achieve it, the progress tracker now
snapshots the current progress to the cache each completed volume, then
recovers this information later when retrying a failed backup.
8ca1e834: crosser’s patch applied
cc9f7011: progress: The algorithm now will drop the confidence
interval adaptively when overpassing the 100%. This may happen when the
sigma is large due to a very heterogeneous distribution of the size of
deltas in files. In this case, the C.I. will be drop by half to adapt to
the variability. If it happens again, it will disregard the sigma and
trust the mean only.
6cd00741: progress: Simplified computation of progress to compute an
upper bound, fit to a smooth curve. This method embraces better more
“change distribution” scenarios and is much simpler to compute. And
also, full backups will assume 1:1 correspondence in change
distribution, so progress bars during full will be computed linearly,
which is closer to reality.
0fcaafd3: Make the Paramiko backend work with Paramiko 1.10.0
450fef93: propagate exceptions upward to facilitate retries
be2189ca: Merged in lp:~ed.so/duplicity/verify.data - add switch
–compare-data, to selectively enable formerly always disabled data
comparison on verify runs
b829133d: Merged in lp:~jnoster/duplicity/dpbx-added - Add Dropbox
backend - NB! In order to use the backend one must: 1. Install Dropbox
Python SDK first. 2. Run the duplicity with Dropbox backend (dpbx://)
first time interactively to catch and follow the oAuth
URL.
e3363344: Applied patches from Laszlo Ersek to rdiffdir to “consume
a chain of sigtar files in rdiffdir delta mode” which supports
incremental sigtar files.
a7ae62f7: renamed to –compare-data to make it reusable on other
actions e.g. force data comparision on backup runs where files were
modified but mtime was not set properly by buggy software
985f2c01: add switch –verify-data, to selectively enable formerly
always disabled data comparison on verify runs
09b9cccf: note on first run was added to the man page
94af862d: THE BACKEND ITSELF HAS BEEN FINALLY ADDED.
4ca6f37b: man page fixed to mention dpbx: backend
bf76ba47: Dropbox backend (dpbx:) has been added.
2c52b624: progress: Reporting speed in bps for log file
a0956b09: Paramiko backend, delete(): Terminate when all files have
been deleted successfully.
111091ce: progress: Changed verbosity to NOTICE, so progress
messages appears by default when –progress flag is on
04795617: progress: Added average speed to the log file
91ec6c4b: progress: Fixed a typo in if clause
75530d8a: progress: Bugfixed a posible division by zero
8dab2b11: progress: New feature to compute progress of compress
& upload files The heuristics try to infer the ratio between the
amount of data collected by the deltas and the total size of the
changing files. It also infers the compression and encryption ration of
the raw deltas before sending them to the backend. With the inferred
ratios, the heuristics estimate the percentage of completion and the
time left to transfer all the (yet unknown) amount of data to send. This
is a forecast based on gathered evidence.
3934cf1d: Merged in lp:~mterry/duplicity/py3rsync - This branch lets
one build the _librsync module with Python 3. You can’t really do
anything useful with it, but it’s a nicely-isolated piece to add Python
3 support for. - The changes are a mix of modernization and #ifdef
logic. - All tests still pass in Python 2.7 and 2.4. I tested manually
that the module worked as expected in Python 3.
d3da045c: Merged in lp:~mterry/duplicity/pygi - Python bindings for
the gobject stack (used in the gio backend) have changed from static to
dynamically-generated bindings. The old static bindings are deprecated.
So here’s a branch to change the gio backend from old to new ones.
9ce1c4fd: Merged in lp:~ed.so/duplicity/webdav.manpage - explanation
of webdav changes above
ae1a6fd8: Merged in lp:~ed.so/duplicity/webdav.fix-retry - added ssl
certificate verification (see man page) - more robust retry routine to
survive ssl errors, broken pipe errors - added http redirect
support
add46c50: make _librsync module compile under Python 3
75e19be7: Use PyGI instead of older pygobject style for gio
backend
767108da: Add auto-ctrl-c-test.sh to help stress-test restart
support
74894ff5: manpage - document ssl cert verification in man page
backend.by - retry_fatal decorator accepts now premature fatal errors
and supplys a retry_count instance variable webdavbackend.py - added ssl
cert verification - added http redirect support - added always create
new connection on retrys - much more debug output for problem
pinpointing commandline.py, globals.py - added ssl cert verification
switches errors.py - add FatalBackendError for signalling exactly
that
2ac5020d: Merged in lp:~mterry/duplicity/static-corruption - This
branch fixes three possible ways a backup could get data-corrupted.
Inspired by bug 1091269. A) If resuming after a volume that ended in a
one-block file, we would skip the first block of the next file. B) If
resuming after a volume that ended in a multi-block file, we would skip
the first block of the next file. C) If resuming after a volume that
spanned a multi-block file, we would skip some data inside the file. - A
and B are because when finding the right place in the source files to
restart the backup, the iteration loop didn’t handle None block numbers
very well (which are used to indicate the end of a file). - C is what
bug 1091269 talks about. This was because data block sizes would get
smaller as the difftar file got closer and closer to the volsize.
Standard block sizes were 64 * 1024. But say we were close to the end of
the difftar… When resuming, duplicity doesn’t know the custom block
sizes used by the previous run, so it uses standard block sizes. And it
doesn’t always match up, as you can imagine. So we would leave chunks of
data out of the backed up file. - Tests added for these cases. - This
branch is called ‘static-corruption’ because all these issues occur even
when the source data doesn’t change. I still think there are some
corruption issues when a file changes in between duplicity runs. I
haven’t started looking into that yet, but that’s next on my list. - C
only happened without encryption (because the gpg writer function
already happened to force a constant data block size). A and B happened
with or without encryption.
c6a2620e: use a copy of file1 rather than writing out a new small
file so that it is clearer the first block is skipped rather than the
whole file
8df1f767: add test to confirm expected behavior if new files appear
before we restart a backup
34f19d4b: whoops, fix a test I broke with last commit because I
didn’t add get_read_size to the mock writer
e7763f3c: Fix block-loss when restarting inside a multi-block file
due to block sizes being variable
a01444dd: Fix block-loss when restarting after a volume ends with a
multi-block file; fixes test_split_after_large()
5f452905: Fix block-loss when restarting after a volume ends with a
small file; fixes test_split_after_small()
e657a1b6: Add more tests for various restart-over-volume-boundary
scenarios
09f64ac6: move non-encryption-specific tests to the right class
132ef094: tests: add a WithoutEncryption class to
restarttest.py
23704a6f: reconnect on errors as a precaution against ssl errors see
https://bugs.launchpad.net/duplicity/+bug/709973
4de510a7: Fixed 1091269 Data corruption when resuming with
–no-encryption - Patches from Pascual Abellan that make block size
consistent and that add no-encryption option to manual-ctrl-c-test.sh. -
Modified gpg.py patch to use 64k block size so unit test passes.
7ff4a26d: Merged in lp:~ed.so/duplicity/u1_and_manpage - Manpage -
document Ubuntu One required python libs - added continuous contributors
and backend author notes - U1backend - lazily import non standard python
libs, fixes
http://article.gmane.org/gmane.comp.sysutils.backup.duplicity.general/5753
- fix “not bytearray” prevents PUT with python 2.6 - don’t hang after
putting in credentials (cause it silently retries in background) but go
through with backup
16ee96c8: python3 fix reuse normalized url from oauth
3a28c754: why bother reading when we can deliver a filehandler
alltogether
735d9a5b: fix “not bytearray” prevents PUT with python 2.6
86a24886: don’t hang after putting in credentials (cause it silently
retries in background) but go through with backup
95ce100a: fix imports not being global
4194bf61: Manpage - document Ubuntu One required libs - added
continous contributors and backend author notes
fb4fadc6: Merged in lp:~ed.so/duplicity/manpage - Clear up
PASSPHRASE reusage as sign passphrase. Minor fixes.
ae55ce1a: Merge changes from trunk.
12290278: Merged in lp:~ed.so/duplicity/webdav.fix-retry - bugfix:
webdav retrying broke on ERRORS like “error: [Errno 32] Broken pipe” in
socket.pyas reported here
https://answers.launchpad.net/duplicity/+question/212966 added a more
generalized ‘retry_fatal’ decorator which makes retrying backend methods
even easier
61427a2e: Merged in
lp:~carlos-abalde/duplicity/gdocs-backend-gdata-2.0.16.-upgrade -
Upgrade of GoogleDocs backend to python gdata lib >= 2.0.15: Stop
using get_everything method.
206f75ea: Merged in lp:~mterry/duplicity/u1-utf8 - Make sure
u1backend returns filenames as utf8
42f34339: Merged in lp:~lenharo-h/duplicity/duplicity - Generate
encrypted backups without revealing the user’s key id via option
–hidden-encrypt-key
7bc38dd0: Merge changes from trunk.
ff74220d: add correct error code catch only exceptions again
08f80821: catch exceptions only
026e37cb: show error value instead of class
fd066260: bugfix: webdav retrying broke on ERRORS like “error:
[Errno 32] Broken pipe” in socket.pyas reported here
https://answers.launchpad.net/duplicity/+question/212966
a6affde5: Make sure u1backend returns filenames as utf8
ec5ca50e: Now files are directly uploaded to destination
folder/collection. This also fixes bug that created a copy of all files
in the root folder/collection in Google Drive
be09ab36: Added –hidden-encrypt-key testcases.
f03cc02d: Nuke tabs.
82a4f985: Added more details in man page.
6f1fe3b5: Fixed a typo in man mage.
3d33dcfa: Allows duplicity to encrypt backups with hidden key ids.
See –hidden-recipient in man gpg(1)
413c8146: avoid using TestCase.addCleanup, which isn’t in older
python versions
3336d52f: Merged in lp:~ed.so/duplicity/lftp.netrc - Allow .netrc
auth for lftp backend * Merged in lp:~mterry/duplicity/946988 - This
fixes bug 946988 by not duplicating the checks for when we should ask
for the password (those same checks are done more correctly inside
get_passphrase). And add a test to reproduce the bug.
7a6c76fc: allow .netrc auth for lftp backend
942a5b07: clear up PASSPHRASE reusage as sign passphrase minor
fixes
10d447fc: don’t duplicate a test for whether we should get
passphrase in two places – one of them will be out of sync
fad1bcd8: Merged in lp:~ed.so/duplicity/manpage - more formatting
fixes, clarifications in sections EXAMPLES, FILE SELECTION
021e7fc5: Merged in lp:~satwell/duplicity/caching - Add a cache for
password and group lookups. This significantly improves runtime with
very large password and group configurations.
f74455fb: Add a cache for password and group lookups. This
significantly improves runtime with very large password and group
configurations.
839d7278: Merged in lp:~mterry/duplicity/u1-ascii-error - Fix for
u1backend unicode error. Patch by Paul Barker.
f119ee19: Merged in lp:~mterry/duplicity/delete-new-sig-in-cache -
In duplicity 0.6.20, we fixed bug 1031269. This means that we no longer
leave sig files on the remote location. Leaving sig files on the remote
location also caused a bug with deleting cache files. Code used to leave
remote new-sig but delete the locale cache new-sig; this meant that we
would keep downloadoing the new-sig all the time from remote. We had
worked around that by just not deleting the new-sig in the cache, which
was sort of the wrong side of that problem to tackle. Now that we handle
the remote new-sigs better (by deleting them), I don’t think we need
this code anymore. Patch by az@debian.org.
2be12d16: Merged in lp:~mterry/duplicity/u1-oauthlib - As the Ubuntu
packager for duplicity, I would prefer u1backend.py used oauthlib
instead of oauth. oauthlib is well maintained upstream (unlike oauth),
has a python3 port (for the future), and is in Ubuntu main (so is oauth
right now, but hopefully in the future we can drop it to universe, in
which case duplicity can’t use it anymore).
416e663a: port u1backend to oauthlib
03f2eaec: we no longer need to preserve new-sigs in the cache, since
we fixed the bug keeping them on the remote side
ee3685fe: Fix U1 backend’s ascii error. Patch by Paul Barker
bcf491b1: more formatting fixes, clarifications in sections
EXAMPLES, FILE SELECTION
f7cb2688: tests: apparently on hardy chroots, /bin can be smaller
than 3MB compressed, so instead of using /bin in
test_multi_volume_failure, use largefiles
1c658b55: tests: whoops, I had accidentally disabled one of the new
tests for ignoring double entries in a tarball
c24c515a: tests: don’t use subprocess.check_output, which was only
added in Python 2.7
551a72c7: don’t use unittest.TestCase.assertSetEqual, which isn’t
supported in older Python versions
2908e913: Merged in lp:~ed.so/duplicity/ssh-pexpect-msgbug + Fixes
‘UnboundLocalError: local variable ’msg’ referenced before assignment’
in _ssh_pexpect.py
e74e1cb6: 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 please confirm. 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.
f7b9925b: 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.
f40a2667: Merged in lp:~ed.so/duplicity/duplicity.manpage + disabled
hyphenation and block justification for better readablility of command
line examples. + reformatted REQUIREMENTS section for hopefully better
online rendering + minor clarifications
97f1d00c: 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 operations. + 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 remove-all-inc-of-but-n-full
ad6b4282: Merged in lp:~mterry/duplicity/1031277 + ssh: actually
delete all the requested files, not just the first one
fb319b7d: gracefully handle multiple duplicate base dir entries in
the sigtar; avoid writing such entries out
81090bb9: Retry cloudfiles deletes
26a4f829: missing space
00492820: disabled hyphenation and block justification for better
readablility of command line examples. - reformatted REQUIREMENTS
section for hopefully better online rendering - minor
clarifications
f1c326a9: delete signature files when doing remove-all-but
fd9efbbe: ssh: actually delete all the requested files, not just the
first one
41838d05: Merged in lp:~ed.so/duplicity/duplicity.tmpspacefix
c2f668b6: Merged in lp:~ed.so/duplicity/duplicity.helpfix
a93b84d1: use tempfile.TemporaryFile() so unused temp files are
deleted automagically
d1891e1b: propbably solve bug ‘Out of space error while restoring a
file’ see bug tracker/mailing list
https://bugs.launchpad.net/duplicity/+bug/1005901
http://lists.gnu.org/archive/html/duplicity-talk/2012-09/msg00000.html
baf8a76b: fix rare ‘TypeError: encode() argument 1 must be string,
not None’ read here
http://lists.nongnu.org/archive/html/duplicity-talk/2012-09/msg00016.html
0f0c74b3: log.py: add a couple comments to reserve error codes 126
and 127 because they conflict with running duplicity under pkexec (very
similar to how 255 is reserved because gksu uses it)
584249cf: Add note on GnuPGInterface and multiple GPG
processes.
0e884144: Merged in lp:~ed.so/duplicity/backend_fixes
306a3f8d: fixed ssh/gio backend import warnings + ssh paramiko
backend imports paramiko lazily now + gio backend is not imported
automatically but on request when –gio option is used - added a warning
when –ssh-backend is used with an incorrect value
1e93da6a: ssh paramiko backend respects –num-retries now - set retry
delay for ssh backends to 10s - ssh pexpect backend + sftp part does not
claim ‘Invalid SSH password’ although it’s only ‘Permission denied’ now
+ sftp errors are now more talkative - gpg.py + commented assert which
broke otherwise working verify run
267304cd: ssh paramiko backend respects –num-retries now - set retry
delay for ssh backends to 10s - ssh pexpect backend + sftp part does not
claim ‘Invalid SSH password’ although it’s only ‘Permission denied’ now
+ sftp errors are now more talkative - gpg.py + commented assert which
broke otherwise working verify run
aec7ae1c: A couple more warning error codes that Deja Dup is
interested in noticing.
a7d1c2b6: If the gio backend wants to ask a question during its
mount phase, it previously just aborted. This branch allows it to
continue, though not to make an intelligent answer.
858d6a97: add a couple more warning codes for machine consumption of
warnings
78a9e00f: allow answering gio mount questions (albeit naively)
950387c2: Merged in lp:~ed.so/duplicity/0.6-ssh_config
902cc5d4: Merged in lp:~ed.so/duplicity/0.6-webdav_fixes.
8ccd8610: Merged in lp:~ed.so/duplicity/0.6-manpage
d47e8aea: changelog entry
d479a42a: added REQUIREMENTS section - restructure SYNOPSIS/ACTIONS
to have commands sorted by backup lifecycle - added restore and some
more hints when –time or –file-to-restore are supported - replaced
scp:// with sftp:// in examples as this is the suggested protocol anyway
- added an intro text to ACTIONS section - adapted –ssh-askpass
description to latest functionality
5beedd2d: empty listbody for enhanced webdav compatibility - bugfix:
initial folder creation on backend does not result in a ResponseNotReady
anymore
ba0df708: add ssh_config support (/etc/ssh/ssh_config +
~/.ssh/config) to paramiko sshbackend
5bb4d22f: Added option to not compress the backup, when no
encryption is selected
61f6ff8c: Merged in lp:~mterry/duplicity/resume-inc
76cc35cc: Merged in lp:~mterry/duplicity/more-test-fixes
9ce1adbc: resuming an incremental results in a ‘Restarting backup,
but current encryption settings do not match original settings’ error
because curtime is incorrectly set away from previous incremental
value
85f3c57e: tests: make other-filesystem check more robust against
certain directories being mounts or not
cb7d934d: tests: use backup source that is more likely to be larger
than 1M compressed
004872f0: tests: add delay between backups to avoid assertion
error
b5bb67fd: Fix extraneous ‘.py’ that keeps import from working.
2b13e611: Split botobackend.py into two parts, _boto_single.py which
is the older single-processing version and _boto_multi.py which is the
newer multi-processing version. The default is single processing and can
be overridden with –s3-use-multiprocessing.
4576a545: The function add_filename was rejecting anything
non-encrypted as a legit file. This fixes that problem and the bug.
e0ef28f2: Fix to allow debugging from pydev. The check for –pydevd
must be done after command line is parsed.
3f667da6: Merged in bzr merge
lp:~summer-is-gone/duplicity/tz-incremental-fix.
f239acb4: Remove random_seed from VCS, adjust .bzrignore.
cf16c3a2: Remove localbackend.testing_in_progress since all it
accomplished was to make the local backend test fail.
0eb881a6: Merged in lp:~mterry/duplicity/ship-tests and moved a
couple of things around to get manual tests working
aa4fb3c8: Adds –rsync-options to command line Allows uer to pass
additional options to the rsync backend Commit include paragraph in man
page, new global variable, and the small changes needed to the backend
itself
76ababef: – Applied patch 0616.diff from bug 881070. – Fixed compile
issues in reset_connection. – Changed ‘url’ to ‘parsed_url’ to make
consistent with backends.
ad45b4ae: Make tarball layout match bzr layout much more closely;
ship tests in tarballs and adjust things so that they can work
01c59bde: rename auto/ to tests/
c682a27d: undo accidental changes to run-tests and convert pathtest
and rdiffdirtest (for both of which, I uncommented a failing test I
didn’t understand)
3294254d: move some more custom scripts to manual/
4f704e84: move some things around; converge on one script for
running any kind of test or list of tests
c45b12b1: convert patchdirtest to auto; rip out its root-requiring
tests and move them to roottest script; fix roottest script to work now
with the new rootfiles.tar.gz, whoops
c36292be: convert finaltest to auto; workaround an ecryptfs bug with
long filenames in the test
627b92d6: drop state file random_seed from test gnupg home
06408bbe: convert gpgtest to auto; add testing keys to the suite, so
testers don’t have to make their own; delete gpgtest2, as it didn’t do
anything
644a3f2c: drop unused darwin tarball and util file
a2c84c39: convert GnuPGInterfacetest and dup_timetest to auto
aa460b0b: convert file_namingtest, parsedurltest, and restarttest to
auto
9cc476a6: convert manifesttest, selectiontest, and test_tarfile to
auto
cfdf2c73: convert cleanuptest, dup_temptest, and misctest to
auto
9f8b0b0d: convert statisticstest to auto; make sure tests are run in
English and in US/Central timezone
c018b6ea: convert statictest to auto
4e1c7bc2: convert tempdirtest to auto
6e8a7b29: convert logtest to auto
403d23cd: convert lazytest to auto
e80f7737: clean up run scripts a little bit, rename testfiles.tgz to
rootfiles.tgz
b344a140: make diffdirtest auto
f4522b01: make badupload auto
c309d70e: make collectionstest auto
f9353295: Changed functions working with UTC time file format from
localtime() to gmtime() and timegm()
f249586b: Fixed time_separator global attribute usage in some
tests
d410d331: Made proper setUp method for tests in
dup_timetest.py.
5bab1a01: move all manual tets into their own subdirectory
77c85dc5: gpg2 will not get the passphrase from gpg-agent if
–passphrase-fd is specified. Added tests to disable passphrase FD if
use_agent option is true.
b9148167: use cached size of original upload file rather than
grabbing it after put() call. Some backends invalidate the stat
information after put (like local backend after a rename)
a57db05e: allow upgrading partial chain encryption status
1552d356: when copying metadata from remote to local archive, first
copy to a temporary file then move over to archive
535bf0f9: report whether a chain is encrypted or not
13ae0a14: be more careful about what we try to synchronize
b294ff43: introduce –encrypt-sign-key parameter -
duplicity-bin::get_passphrase skip passphrase asking and reuse
passphrase if sign-key is also an encrypt key and a passphrase for
either one is already set - add _() gettext to text in
duplicity-bin::get_passphrase - document changes and minor additions in
manpage
afbfb0f9: 777377 collection-status asking for passphrase
9d1eb667: 680425 Endless retype passphrase when typo 793096 Allow to
pass different passwords for –sign-key and –encrypt-key
c10193e0: duplicity.1: move information about the PASSPHRASE and
SIGN_PASSPHRASE environment variables to the Environment Variables
section - duplicity.1: add information about the limitation on using
symmetric+sign to the bugs section - In the passphrase retrieval
function get_passphrase, do not switch from “ask password without
verifying” to ask+verify if the passphrase was empty - Allow an empty
passphrase for signing key - Make clear in the verification prompt
whether the encryption passphrase or the signing passphrase is being
confirmed - Fix passphrase retrieval for sym+sign (duplicity-bin and
gpg.py) - Allow sym+sign with limitation (see comments and manual
page)
6b2b7d0f: 797758 Duplicity ignores some FatalErrors
d9d98d1b: Checkpoint
1bb63046: always catch Exceptions, not BaseExceptions
0f806321: 794123 Timeout on sftp command ‘ls -1’
4200c69a: Checkpoint.
5c7a7701: 487720 Restore fails with “Invalid data - SHA1 hash
mismatch”
46962d29: Fixed boolean swap made when correcting syntax.
22a342c4: Fix syntax for Python 2.4 and 2.5.
91bf1ab7: Fix syntax for Python 2.4 and 2.5.
b17b6e16: Fix CHANGELOG.
d1427316: 782337 sftp backend cannot create new subdirs on new
backup
a2abe8f1: 782294 create tomporary files with sftp
e2614427: Merged in lp:~mterry/duplicity/retry-decorator
c5a0898e: Merged in lp:~mterry/duplicity/u1-status
1e2f4844: Checkpoint.
6be4adce: Merged in lp:~mterry/duplicity/gio-name
847d1974: Merged in lp:~mterry/duplicity/levelName
01937ce9: u1: allow any success status, not just 200
d922ce3b: move logging code up to retry decorator; fixes use of ‘n’
variable where it doesn’t belong
e5cc030f: 452342 Provide Ubuntu One integration
0448a683: 792704 Webdav(s) url scheme lacks port support
f1eef4f1: 782321 duplicity sftp backend should ignore removing a
file which is not there
96fde75b: 778215 ncftpls file delete fails in ftpbackend.py
614fdc86: 507904 Cygwin: Full Backup fails with “IOError: [Errno 13]
Permission denied”
28a41495: 761688 Difference found: File X has permissions 666,
expected 666
335f90e6: 739438 [PATCH] Local backend should always try renaming
instead of copying
87ab281e: 705499 “include-filelist-stdin” not implemented on version
0.6.11
06791d1a: Sync with repository.
c910e57b: 512628 –exclude-filelist-stdin and gpg error with/without
PASSPHRASE
c174bbd8: 512628 –exclude-filelist-stdin and gpg error with/without
PASSPHRASE
8414503f: invalid function description fixed for get_passphrase in
duplicity-bin - function get_passphrase in duplicity-bin accepts
argument “for_signing” which indicates that a passphrase for a signing
key is requested - introduces the SIGN_PASSPHRASE environment variable
for passing a different passphrase to the signing key - commandline
option –encrypt-secret-keyring=path introduced to set a custom location
for the secret keyring used by the encryption key - manual page updated
with SIGN_PASSPHRASE and –encrypt-secret-keyring - ask for a new
passphrase if the passphrase confirmation failed to prevent an endless
retype - improved some comments in the code - due to the difference in
the handling of the signing and encryption passphrase, the passphrase is
asked later in the duplicity-bin
cc62b446: add retry decorator for backend functions; use it for
giobackend; add retry to giobackend’s list and delete operations
737e5433: giobackend: use name, not display name to list files
dad90c9e: fix MachineFilter logic to match new level name code
a145c4b6: Cautiously avoid using levelname directly in log module.
It can be adjusted by libraries.
5d8f293d: update man page
c323ed1c: drop test file
f0122479: further fixups
5cda8820: further upload work
e7e2dc0d: start of u1 support
10b3f35a: as restoring is non-destructive by default (overideable
with –force) there is no need to raie fata errors if not supported
in/exclude parameters are given as parameters. see also:
http://lists.gnu.org/archive/html/duplicity-talk/2011-04/msg00010.html
21d5a57c: 613244 silent data corruption with checkpoint/restore
a87841a0: Add a manual test for Ctrl-C interrupts. This could be
automated, but I find that the old hairy eyeball works quite well as
is.
82ec82e1: Use python-virtualenv to provide a well-defined
environment for testing multiple versions of Python.
d2a5bb39: Add (undocumented) option –pydevd to allow easier
debugging when executing long chains of duplicity executions.
a105ab3c: Remove threaded_waitpid(). We still need GnuPGInterface
because of the shift bug in the return code and the ugly mix of tabs and
spaces. All has been reported to the author.
451507c9: Replace 2.5 ‘except…as’ syntax.
eea65596: Changes for 0.6.12.
259c72dd: Various fixes for testing. All tests pass completely.
3c855f6a: Add test for new ftps backend using lftp.
09c4bbf6: Some FTP sites return ‘total NN’ in true ls fashion, so
ignore line during listing of files.
b165d582: Fix typo on fix for 700390.
2989fc0e: Miscellaneous fixes for testing.
46153c18: 700390 Backup fails silently when target is full (sftp,
verbosity=4)
0f1f3156: 581054 Inverted “Current directory” “Previous directory”
in error message
16a30107: 626915 ftps support using lftp (ftpsbackend)
f379c38c: 629984 boto backend uses Python 2.5 conditional
0247be60: 670891 Cygwin: TypeError: basis_file must be a (true)
file, while restoring inremental backup
f1756250: 655797 symbolic link ownership not preserved
1b17c2d9: 669225 sftp: Couldnt delete file: Failure only logged on
level 9.
f1a98535: Fix CHANGELOG.
3f98e562: Merged in lp:~l2g/duplicity/use-py.test
3549cc95: solve bug 631275 rsync 3.0.7 persists on either rsync://
or :: module notation both together and it interpretes it as a
dest for rsh
f0b3eac6: protect rsync from possibly conflicting remote shell
environment setting
c0b1c6b4: restored backend:subprocess_popen_* methods moved ncftpls
workaround into ftpbackend introduced new backend:popen_persist_breaks
setting for such workarounds enhanced backend:munge_password
rsyncbackend: rsync over ssh does not ask for password (only keyauth
supported)
ae94b42f: survive spaces in path on local copying with encryption
enabled
bff7fbf2: allow signing of symmetric encryption
1561890c: Catch “Couldn’t delete file” response in sftp
commands.
d0b822ae: 637556 os.execve should get passed program as first
argument
9ac1c704: Adding the remove-all-inc-of-but-n-full variant to
remove_all_but_n_full() : remove only incremental sets from a backup
chain selected as older than the n last full
bd4a2342: Adding the 2 new remove-all-but commands as global
markers
cbb2df4d: Adding new remove-all-inc-of-but-n-full command as a
variant of remove-all-but-n-full
7717fbb2: add missing par2_utils.py to dist tarball
7fb1e80d: Remove .cvsignore
351fccc6: Remove unused future imports.
ea35998a: Remove unused future imports.
eb2f1a33: Add entry for patches from Stéphane Lesimple for
par2.
2e202ad0: Applied patch from Stéphane Lesimple found at:
https://bugs.launchpad.net/duplicity/+bug/426282/comments/5 patch skips
the par2 files when building up the sets and chains of backups
dda11605: Applied patch from Stéphane Lesimple found at:
https://bugs.launchpad.net/duplicity/+bug/426282/comments/4 patch avoids
storing all the par2 files into the local cache
23fc4f67: Fixed 435975 gpg asks for password in 0.6.05, but not in
0.5.18
1a81b7cd: Fixed 435975 gpg asks for password in 0.6.05, but not in
0.5.18
2f2b72dd: i18nized a few error messages in duplicity.selection
57c95771: More strings internationalized in asyncscheduler and
commandline
5f00aa38: Merged in lp:~mterry/duplicity/iterate-warnings
09d182b6: Merged in lp:~mterry/duplicity/iterate-warnings
d772f22a: add some machine codes to various warnings when iterating
over source files
96fe3297: Merged in lp:~duplicity-team/duplicity/po-updates
6b3ca9d2: Clean up testing run scripts.
45885a8d: Merged in lp:~duplicity-team/duplicity/po-updates
eddc29cf: Clean up testing run scripts.
b6a11e39: 422477 [PATCH] IMAP Backend Error in delete()
38cf79ed: 422477 [PATCH] IMAP Backend Error in delete()
b7980127: Additional Portuguese and brand-new Bulgarian
translations
ca2444b6: merge latest 0.6
063de5e9: Merged in lp:~l2g/duplicity/bug-411375
1ed55efe: Merged in lp:~duplicity-team/duplicity/po-updates
85547cc7: Translation of Spanish and Portuguese has begun
8c22a8d1: Updated existing PO files with Rosetta translations
0dfe5885: Change message “–cleanup option” to “‘cleanup’
command”
cde889ca: Merged in lp:~l2g/duplicity/flag-transl-comments which
cleared up howcomments should be passed to the translators cleanly
now.
3b4f36fb: Applied patches from Kasper Brand that fixed device file
handling.
http://lists.gnu.org/archive/html/duplicity-talk/2009-09/msg00001.html
b4bda3b7: When generating PO[T] files, only use code comments
starting with “TRANSL:” for notes to the translators. “TRANSL:” is
filtered out of the POT file with sed after it’s generated.
a8bcaa70: Changes for 0.6.05.
a73ed8e8: Merged in ~l2g/duplicity/test-compat from Larry Gilbert
which made the testing compatible across more systems. Also fixed the
remaining collectionstest bug which was trying to test with no cache
present.
65b608b3: Test separate filesystems using /dev instead of /proc
(more widely used)
678a16cb: dd on Darwin (and FreeBSD?) doesn’t like e.g. “bs=1K”, so
changed it to “bs=1024”
dcc9db4c: “cp -pR” seems to be a better analogue to “cp -a”. This
may not be perfect but it won’t hang on a fifo copy like “cp -pr”.
347d2c5e: Got test_get_extraneous working in
collectionstests.py
b96ed08e: MultiBackend: Don’t log username and password.
732c3021: Fix NameError.
ffb460f9:chg: Fix typo in test selection.
4a11e7f3: Merge branch ‘onedrive-token-take2’ into ‘master’
7b3bc248: onedrive: Support using an external client id / refresh
token
71fe723f: Merge branch ‘fix-tmdir’ into ‘master’
93de75a8: Merge branch ‘date’ into ‘master’
5c229a9b: fix functional tests when _runtestdir is not /tmp
db811f66: Allow to override manpage date with SOURCE_DATE_EPOCH
06d26725: Merge branch ‘origin/merge-requests/61’
b3fe383b:chg: Remove redundant call to
pre_process_download_batch.
a61c9c62:chg: Fix mismatch between pre_process_download[_batch]
calls.
822e42ba: Improved management of volumes unsealing for PCA backend
For PCA backend, unseal all volumes at once when restoring them instead
of unsealing once at a time. Use pre_process_download method already
available in dup_main. Need to implement it on BackendWrapper and
Multibackend as well.
rel.0.8.20 / 2021-06-26
d52fd888: Remove backup file.
5387dc5c: Don’t skip CI
544410d9: Merge branch ‘master’ into ‘master’
4a5259c4: Add support for new b2sdk V2 API
df8d93fe:chg: build_ext now builds inplace for development
ease.
d54b0083:chg: Remove lockfile to avoid user confusion.
a2402806:fix: Release lockfile only once.
b840f28f:fix: Release lockfile only once.
49a56fdf: Merge branch ‘master’ into ‘master’
ff191987:chg: Fix Support DynamicLargeObjects inside swift
backend
97a25712: Merge branch ‘issue#68’ into ‘master’
3b348c6c: have duplicity retry validate_block so object storage can
report correct size
f0ff1dfe:chg: Fix makechangelog to output actual problems.
68c1d6ef: Merge branch ‘master’ into ‘master’
7a59b038: Replace b2sdk private API references in b2backend with
public API
9350ca36:chg: Add dependency scanning.
891c51c1:chg: Make sure changelog is only change to commit.
0e9e3d34:chg: Fix indentation.
6b56b36d:fix: Support -o{Global,User}KnownHostsFile in
–ssh-options
5d066a07:fix: Add pydrive2 to requirements.txt.
9e6404c3:chg: Add support for –s3-multipart-chunk-size, default
25MB
b6687771:chg: Add interruptable:true as default.
80838f44:chg: Fix snapcraft commands.
d45a47b0:chg: Fix snaplogin file use.
55d5177d:chg: Add deployment for pip and snap builds.
b7cde699:chg: Add build_pip job.
32190327: Merge branch ‘master’ into ‘master’
718ccc90: Update b2 backend to use public b2sdk API.
9d639672: Skip tests failing on py27 under 18.04 (timing
error).
459a3ce0: Fix code style issue.
2534bb3d: Add PATHS_FROM_ECLIPSE_TO_PYTHON to environ whan starting
pydevd.
30d654bd: Add *.pyc to .gitignore.
4e6c3cfc: Replace compilec.py with ‘setup.py build_ext’, del
compilec.py.
db90ede1: Merge branch ‘master’ into ‘master’
dadbe2d2: Support PyDrive2 library in the pydrive backend
26daf312: Fix unadorned string.
9af28035: Fix usage of TOXPYTHON and overrides/bin shebangs.
9935c757: Use default ‘before_script’ for py27.
9cb7d1c6: Don’t collect coverage unless needed.
727b1a83: Merge branch ‘Tidy_up_gitlab_CI_doc’ into ‘master’
fc1551a5: Tidy .gitlab-ci.yml, fix py3.5 test, add py2.7 test
(allowed to fail)
b7c0dea6: Merge branch ‘fix-py27-CI’
61e33f41: Test code instead of py27 since py27 is tested
elsewhere.
6b7a2b06: Fix RdiffdirTest to use TOXPYTHON as well.
b89a30e8: Set TOXPYTHON before tests.
99ece486: Put TOXPYTHON in passed environment.
aa472f11: More fixes for bug #1877885 - Catch quota overflow on Mega
upload.
433b6451: More fixes for bug #1877885 - Catch quota overflow on Mega
upload.
880a8f23: Undo: Try forcing python version to match tox testing
version.
a3286a4f: Always upgrade pip.
fecd10c2: Try forcing python version to match tox testing
version.
42f8ad60: Uncomment all tests.
7ee52c1c: Test just py27 for now.
0f662e41: Replace bzr with git.
2f4750ca: Don’t load repo version of future, let pip do it.
87992352: Hmmm, Gitlab yaml does not like continuation lines. Fix
it.
c3721d3c: Fix typo.
a6b55799: Update to use pip as module and add py35 test.
4c890bb1: Add py35 to CI tests.
2c3c5353: More changes to support Xenial.
b22373ad: Fix typo.
7e8bf753: Fix duplicity to run under Python 3.5.
5a33cb90: Fix duplicity to run under Python 3.5.
3b57b20f: Merge branch ‘add_gitlab_testing’ into ‘master’
f299d7d1: Update .gitlab-ci.yml to update pip before installing
other pip packages (to try to fix more-itertools issue:
https://github.com/pytest-dev/pytest/issues/4770 )
8101cd40: Don’t include .git dir when building docker images.
03778ed2: Merge branch ‘update_pip_before_install’ into
‘master’
951beefd: Upgrade pip before installing requirements with it. Fixes
more-itertools error as newer versions of pip identify that the latest
more-itertools are incompatible with python 2.
15fa9aaf: Patched in a megav2backend.py to update to MEGAcmd
tools.
807fe136: Merged in lp:~kenneth-loafman/duplicity/duplicity-pylint -
Enable additional pylint warnings. Make 1st pass at correction.
unused-argument, unused-wildcard-import, redefined-builtin,
bad-indentation, mixed-indentation, unreachable - Renamed globals to
config to fix conflict with builtin.glogals() -
Resolved conflict between duplicity.config and testing.manual.config -
Normalized emacs mode line to have encoding:utf8 on all *.py files
aa374b68: Fixed bug #1868414 - timeout parameter not passed to
BlobService for Azure backend
6bc3ff27: More changes for pylint. * Resolved conflict between
duplicity.config and testing.manual.config * Normalized emacs mode line
to have encoding:utf8 on all *.py files
435b2f85: More changes for pylint. * Remove copy.com refs.
9fde9b99: More changes for pylint.
2ea9db49: More changes for pylint.
bf78bdd0: Enable additional pylint warnings. Make 1st pass at
correction. - unused-argument, unused-wildcard-import,
redefined-builtin, bad-indentation, mixed-indentation
c4aa171f: Fixed bug #1769267 - [enhancement] please consider using
rclone as backend.
2a250258: Fixed bug #1755955 - best order is unclear, of
exclude-if-present and exclude-device-files - Removed warning and will
now allow these two to be in any order. If encountered outside of the
first two slots, duplicity will silently move them to be in the first
two slots. Within those two slots the order does not matter.
201c5321: Fixed a couple of file history bugs: #1044715 Provide a
file history feature + removed neutering done between series - #1526557
–file-changed does not work + fixed str/bytes issue finding
filename
53effa6a: Fixed bug #1865648 - module ‘multiprocessing.dummy’ has no
attribute ‘cpu_count’. - replaced with module psutil for cpu_count()
only - appears Arch Linux does not support multiprocessing
4b6df774: Gave up fighting the fascist version control munging on
snapcraft.io. Duplicity now has the form 0.8.10.1558, where the last
number is the bzr revno. Can’t do something nice like having a dev/fin
indicator like 0.8.10dev1558 for dev versions and a fin for release or
final.
d2f01bfe: Renamed MulitGzipFile to GzipFile to avoid future problems
with upstream author of mgzip fixing the Mulit -> Multi typo
89226268: Fixed bug #1858207 missing targets in multibackend - Made
it possible to return default value instead of taking a fatal exception
on an operation by operation approach. The only use case now is for
multibackend to be able to list all targets and report back on the ones
that don’t work.
aa642844: Fixed bug #1859877 - syntax warning on python 3.8
6bd8193d: Move to single-sourceing the package version - Rework
setup.py, dist/makedist, dist/makesnap, etc., to get version from
duplicity/init.py - Drop dist/relfiles. It was
problematic.
83fc9ccc: Merged in lp:~ed.so/duplicity/boto.fixup - fix manpage
indention - clarify difference between boto backends - add boto+s3://
for future use when boto3+s3:// will become default s3 backend
10785928: Renamed testing/infrastructure to testing/docker
708ba6cb: fix manpage indention clarify difference between boto
backends add boto+s3:// for future use when boto3+s3:// will become
default s3 backend
31719a4c: Fixed a mess I made. setup.py was shebanged to Py3,
duplicity was shebanged to Py2. This meant that duplicity ran as Py2 but
could not find its modules because they were under Py3. AArgh!
aa3d2815: Disabling autotest for LP build. I have run tests on all
Ubuntu releases since 18.04, so the code works. To run tests manually,
run tox from the main directory. Maybe LP build will work again
soon.
ac23d014: Merged in lp:~carlalex/duplicity/duplicity - Fixes bug
#1840044: Migrate boto backend to boto3 - New module uses boto3+s3:// as
schema.
bab75735: BUGFIX: list should retun byte strings, not unicode
strings
2243057f: Updating comments
5f261a57: select boto3/s3 backend via url scheme rather than by CLI
option. Doc changes to support this.
df3e0fff: renaming boto3 backend file
448c002e: merging from parent
d830967e: Adding support for AWS Glacier Deep Archive. Fixing some
typos.
edb3da53: Manpage updates. Cleaning up the comments to reflect my
current plans. Some minor clean-ups.
b60f8f79: updating comments
241a9f2c: SSE options comitted. AES tested, KMS not tested
bd2f6aa8: handling storage class on backup
33b5d22a: handling storage class on backup
e9624e93: minor clean-ups
a3108312: rename boto3 backend py file
bdae8f29: removing ‘todo’ comment for multi support. Defaults in
Boto3 chunk the upload and attempt to use multiple threads. See
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.TransferConfig
eb8d57e7: format fix
5f16dd3c: Fixing status reporting. Cleanup.
67cc49a9: better exception handling. Return -1 for unknwon objects
in _query.
b01ea4f8: Fixed bug #1853809 - Tests failing with Python 3.8 /
Deprecation warnings - Fixed the deprecation warnings with patch from
Sebastien Bacher - Fixed test_globmatch to handle python 3.8 same as 3.7
- Fixed tox.ini to include python 3.8 in future tests
53708f04: Fixed bug #1853655 - duplicity crashes with
–exclude-older-than - The exclusion setup checked for valid string only.
Made the code comprehend datetime (int) as well.
6a05db95: Fixed bug #1852876 ’_io.BufferedReader’ object has no
attribute ‘uc_name’ - Fixed a couple of instances where str() was used
in place of util.uexc() - The file was opened with builtins, so use
name, not uc_name
2321a7b9: Fixed bug #1852848 with patch from Tomas Krizek - B2 moved
the API from “b2” package into a separate “b2sdk” package. Using the old
“b2” package is now deprecated. See link:
https://github.com/Backblaze/B2_Command_Line_Tool/blob/master/b2/_sdk_deprecation.py
- b2backend.py currently depends on both “b2” and “b2sdk”, but use of
“b2” is enforced and “b2sdk” isn’t used at all. - The attached patch
uses “b2sdk” as the primary dependency. If the new “b2sdk” module isn’t
available, it falls back to using the old “b2” in order to keep backward
compatibility with older installations.
db74a355: Fixed bug #1851727 - InvalidBackendURL for multi backend -
Encode to utf8 only on Python2, otherwise leave as unicode
8050d68a: Merged in lp:~mterry/duplicity/resume-encrypt-no-pass -
This branch arose from a Debian patch that has been disabling the
encryption validation of volume1 during restarts for years. - Debian has
been preserving the ability to back up with just an encrypt key and no
password (i.e. to have no secrets on the backup machine).
bc08cf40: Merged in lp:~mterry/duplicity/pydrive-cache-fix - The
pydrive backend had another of the ongoing bytes/string issues. :) -
This time, it was saving a bytes filename in its internal cache after
each volume upload. Then when asked for a list of files later, it would
add the byte-filenames from its cache to the results. And we’d end up
thinking there were two of the same filename on the backend, which would
cause a crash at the end of an otherwise successful backup, because the
collections code would assert on the filenames being unique.
6486ce66: Removed a couple of disables from pylint code test. -
E1103 - Maybe has no member - E0712 - Catching an exception which
doesn’t inherit from BaseException
d7f60b43: Added additional fsdecode’s to uses of local_path.name and
source_path.name in b2backend’s _get() and _put. See bug #1847885 for
more details.
2b9c2f74: Fixed bug #1849661 with patch from Graham Cobb - The
problem is that b2backend uses ‘quote_plus’ on the destination URL
without specifying the ‘safe’ argument as ‘/’. Note that ‘quote’
defaults ‘safe’ to ‘/’, but ‘quote_plus’ does not!
de675a87: Fixed bug #1626061 with patch from Michael Apozyan - While
doing multipart upload to s3 we need to report the total size of
uploaded data, and not the size of each part individually. So we need to
keep track of all parts uploaded so far and sum it up on the fly.
3e97961e: Fixed bug #1626061 with patch from Michael Apozyan - While
doing multipart upload to s3 we need to report the total size of
uploaded data, and not the size of each part individually. So we need to
keep track of all parts uploaded so far and sum it up on the fly.
8024316d: Fixed bug #1848203 with patch from Michael Apozyan -
convert to integer division
619e03ff: Updated b2 backend to work with both v0 and v1 of b2sdk *
Fixed bug #1847885 - B2 fails on string concatenation. - use
util.fsdecode() to get a string not bytes. - Partially fixed in bug
#1843995, this applies same fix to remaining instances of the
problem
f3f56432: In version 1 of the B2sdk, the list_file_names method is
removed from the B2Bucket class.
3b966fe7: complete fix for string concatenation in b2 backend
f71efe59: Fixed Resouce warnings when using paramiko. It turns out
that duplicity’s ssh_paramiko_backend.py was not handling warning
suppression and ended up clearing all warnings, including those that
default to off.
4fd4de81: Fixed Resouce warnings when using paramiko. It turns out
that duplicity’s ssh_paramiko_backend.py was not handling warning
suppression and ended up clearing all warnings, including those that
default to off.
6b27d575: Fixed bug #1846678 - –exclude-device-files and
-other-filesystems crashes - assuming all options had arguments was
fixed.
97debaa0: Fixed bug #1844950 - ssh-pexpect backend syntax error -
put the global before the import.
f0616e3e: Fixed bug #1846167 - webdavbackend.py: expected bytes-like
object, not str - base64 now returns bytes where it used to be strings,
so just decode().
7d2eeb50: Fixed bug reported on maillist - Python error in Webdav
backend. See:
https://lists.nongnu.org/archive/html/duplicity-talk/2019-09/msg00026.html
0e2748db: Fix bug #1844750 - RsyncBackend fails if used with
multi-backend. - used patch provided by KDM to fix.
17daeb0a: Fix bug #1843995 - B2 fails on string concatenation. - use
util.fsdecode() to get a string not bytes.
71ea37c8: Fix MacOS tempfile selection to avoid /tmp and /var/tmp.
See thread:
https://lists.nongnu.org/archive/html/duplicity-talk/2019-09/msg00000.html
9306d8c7: Added more python future includes to support using python3
code mixed with python2.
bafb00f3: Fix exc.args handling. Sometimes it’s (message, int),
other times its (int, message). We look for the message and use that for
the exception report.
3a7917a2: Adjust exclusion list for rsync into duplicity_test.
d35e8105: Set to allow pydevd usage during tox testing.
1cef6f5e: Don’t add extra newline when building
dist/relfiles.txt.
1a352cf0: Changed dist/makedist to fall back to dist/relfiles.txt in
case bzr or git is not available to get files list. Tox sdist needs
setup.py which needs dist/makedist. * Updatated LINGUAS file to add four
new translations.
2025c93e: Made some changes to the Docker infrastructure: All
scripts run from any directory, assuming directory structure remains the
same. - Changed from Docker’s COPY internal command which is slow to
using external rsync which is faster and allows excludes. - Removed a
couple of unused files.
f14141c1: Run compilec.py for code tests, it needs the import.
25f39eab: Merged in
lp:~aaron-whitehouse/duplicity/08-docker-local-import - Convert the
Docker infrastructure to pull the local branch into duplicity_test. This
allows testing the local branch with the known-good Docker environment,
even if it has not yet been committed to trunk. - As a consequence,
remove the -r option to build-duplicity_test.sh. This functionality can
be achieved by branching that revision before running the script.
10071d50: Simplify README-TESTING and change this to recommend using
the Docker images to test local branches in a known-good
environment.
0f256d01: Convert Dockerfile-19.10 to new approach (using local
folder instead of remote repo) * run-tests passes on 19.10 Docker
(clean: commands succeeded; py27: commands succeeded; SKIPPED: py36:
InterpreterNotFound: python3.6; py37: commands succeeded; report:
commands succeeded)
aaedefe2: Convert Dockerfile-19.04 to new approach (using local
folder instead of remote repo) * run-tests passes on 19.04 Docker
(clean: commands succeeded; py27: commands succeeded; SKIPPED: py36:
InterpreterNotFound: python3.6; py37: commands succeeded; report:
commands succeeded)
0dcaf339: Edit Dockerfile-18.10 to use the local folder. * Tests all
pass on 18.10 except for the same failures as trunk (4 failures on
python 3.6: TestUnicode.test_unicode_filelist;
TestUnicode.test_unicode_paths_asterisks;
TestUnicode.test_unicode_paths_non_globbing;
TestUnicode.test_unicode_paths_square_brackets)
803fcfda: Use local folder instead of bzr revision, so remove the
revision arguments in the setup script. * Modify Dockerfile and
Dockerfile-18.04 to copy the local folder rather than the remote
repository. * Tests all pass on 18.04 except for the same failures as
trunk (4 failures on python 3.6: TestUnicode.test_unicode_filelist;
TestUnicode.test_unicode_paths_asterisks;
TestUnicode.test_unicode_paths_non_globbing;
TestUnicode.test_unicode_paths_square_brackets)
a501c16f: Merged in lp:~kaffeekiffer/duplicity/azure-filename -
Encode Azure back-end paths
f430485e: Merged in lp:~aaron-whitehouse/duplicity/08-README-TESTING
- Change README-TESTING to be correct for running individual tests now
that we have moved to Tox/Pytest.
fb323ebf: Ran futurize selectively filter-by-filter to find the ones
that work.
9fe749d0: Fixed build on Launchpad for 0.8.x, so now there is a new
PPA at
https://launchpad.net/~duplicity-team/+archive/ubuntu/daily-dev-trunk
418d74b6: Fix debian/control file
f32dd411: Fix debian/control file
98947026: Merged in lp:~aaron-whitehouse/duplicity/08-snap-python2 -
Add packaging code for Snapcraft/Snap packages
2f4a1527: Add snap package creation files * Modify dist/makedist to
version the snapcraft.yaml
69dd94fa: Remove a mess I made.
e04c96d4: Fixed bug #1839886 with hint from denick - Duplicity
crashes when using –file-prefix * Removed socket.settimeout from
backend.py. It was already set in commandline.py. * Removed pycryptopp
from README requirements
033468a3: Convert the docker duplicity_test image to pull the local
branch into the container, rather than lp:duplicity. This allows the use
of the duplicity Docker testing containers to test local changes in a
known-good environment before they are merged into trunk. The equivalent
of the old behaviour can be achieved by starting with a clean branch
from lp:duplicity. * Expand Docker context to parent branch folder and
use -f in the docker build command to point to the Dockerfile. *
Simplify build-duplicity_test.sh now that the whole folder is copied
(individual files no longer need to be copied)
04f3925b: Change README-TESTING to be correct for running individual
tests now that we have moved to Pytest.
b8dfa78b: More changes to provide Python test coverage: Moved bulk
of code from bin/duplicity to duplicity/dup_main.py for coverage. *
Fixed some 2to3 issues in dup_main.py * Fixed division differences with
futurize
d4cb076c: More changes to provide Python test coverage: Moved bulk
of code from bin/duplicity to duplicity/dup_main.py for coverage. *
Fixed some 2to3 issues in dup_main.py * Fixed division differences with
futurize
9a1c01b7: More changes to provide Python test coverage: Moved bulk
of code from bin/duplicity to duplicity/dup_main.py for coverage. *
Fixed some 2to3 issues in dup_main.py
e325bf69: More changes to provide Python test coverage: Now covers
functional tests spawning duplicity - Does not cover bin/duplicity for
some reason
cbc43b60: Fixed bugs #1838427 and #1838702 with a fix suggested by
Stephen Miller. The fix was to supply tarfile with a unicode grpid, not
bytes.
4c472b66: Some changes to provide Python test coverage: Coverage
runs with every test cycle - Does not cover functional tests that spawn
duplicity itself. Next pass. - After a run use ‘coverage report html’ to
see an overview list and links to drill down. It shows up in
htmlcov/index.html.
rel.0.8.02 / 2019-07-31
18a18456: Fix dist/makedist to run on python2/3
7a988974: Fix dist/makedist to run on python3
3336388d: Fix dist/makedist to run on python3
0836c689: One last change for bug #1829416 from charlie4096
eddd7fec: Merged in po-updates. * Fixed bug #1829416 with help from
charlie4096 - onedrive: Can’t convert ‘bytes’ object to str
implicitly
58fd09d4: Enhanced build_duplicity_test.sh - Use -h to get help and
defaults - Takes arguments for distro, revno, help - Distros supported
are 18.04, 18.10, 19.04, 19.10 - Revnos are passed to bzr -r option
64a3a6aa: Fix so Docker image duplicity_test will update and pull
new bzr revisions if changed since last build.
ebd4ee2a: Remove speedup in testing backup. The math was correct,
but it’s failing on Docker and Launchpad testing.
aaf0d2ae: Fix language classifiers in setup.py
305d09f8: Removed python-gettext from setup.py. Whoops!
03e9891b: Move pytest-runner setup requirement to a test
requirement
6eda8ed6: Merged in lp:~stragerneds/duplicity/duplicity - Cache
results of filename parsing for speedup
88ca568e: Merged in lp:~limburgher/duplicity/dropbox - Fixes bug
#1836611 dropbox mixing bytes and strings
a49aa3ad: Fixed bug #1836829 progress.py: old_div not defined - also
fixed old_div in _boto_multi.py
e20454ee: Fixed bug #1836829 progress.py: old_div not defined - also
fixed old_div in _boto_multi.py
bfa61765: Remove python-gettext from requirements.txt. Normal Python
installation includes gettext. * Mod README to include Python 3.6 and
3.7
e50d24d5: Correct types for os.join in Dropbox backend.
962de9b9: Make sure test filenames are bytes not unicode. * Fix
test_glob_to_regex to work on Python 3.7
0f834dad: Going back to original. No portable way to ignore
warning.
430da799: Another unadorned string.
50b0d92e: Cleanup some trailing spaces/lines in Docker files.
1b5ac0a8: Fix so we start duplicity with the base python we run
under.
5665b259: Adjust POTFILES.in for compilec.py move.
ee9c705c: Ensure _librsync.so is regenned before toc testing.
8727a9b6: Add encoding to logging.FileHandler call to make log file
utf8
b89b562a: Fix warning in _librsync.c module.
a6554f6f: Fix some issues found by test_code.py (try 2)
f9daa529: Fix some issues found by test_code.py.
aa886fef: Fix reversed port assignments (FTP & SSH) in
docker-compose.yml.
05da4b27: Fix reimport problem where “from future.builtins” was
being treated the differently than “from builtins”. They are both the
same, so converted to shorter form “from builtins” and removed
duplicates.
9f7bb7a0: Merged in lp:~mterry/duplicity/s3fsdecode - Fix s3 backups
by encoding remote filenames
273caccb: Merged in lp:~aaron-whitehouse/duplicity/08-dockerfixes -
Update duplicity_test Dockerfile: Use 18.04 instead of 16.04 * Use
Ubuntu 18.04 version of pip * Add Python3 and 2to3 as a dependencies *
Set docker locale as UTF-8
76a85ead: Merged lp:~mterry/duplicity/boto-import - A couple
functions in the boto backend were using the boto module without
importing it first.
e954ea6d: Normalize shebang to just python, no version number * Fix
so most testing/*.py files have the future suggested lines - from
future import print_function from future import
standard_library standard_library.install_aliases()
70469ff1: Fix s3 backups by encoding remote filenames
b1d1eb5f: Merge with trunk
29bcab2f: Add 2to3 as a dependency to dockerfile
49de31f7: Add tzdata back in as a dependency and set
DEBIAN_FRONTEND=noninteractive so no tzdata prompt
02e7ad38: Set docker container locale to prevent UTF-8 errors
852e8c0a: Change dockerfile to use 18.04 instead of 16.04 and other
fixes.
24fbfb5c: Fix s3 backups by importing the boto module
7218e8fb: Fixed failing test in testing/unit/test_globmatch.py -
Someone is messing with regex. Fix same. - See
https://bugs.python.org/issue29995 for details
83f91b98: Fixed bug #1833559 0.8 test fails with ‘duplicity not
found’ errors - Fixed assumption that duplicity/rdiffdir were in
$PATH
be2e480a: Fixed bug #1833573 0.8.00 does not work on Python 2 -
Fixed shebang to use /usr/bin/python instead of python2
2aa4ed25: Fix some test_code errors that slipped by.
d6b4316a: Merged in lp:~kaffeekiffer/duplicity/azure-python3-fix -
Use util.fsencode to encode file string
c85a0c74: Fixed bug #1831178 sequence item 0: expected str instance,
int found - Simply converted int to str when making list
1f4c4c1d: Fix some import conflicts with the “past” module - Rename
collections.py to dup_collections.py - Remove all “from future.utils
import old_div” - Replace old_div() with “//” (in py27 for a while). -
All tests run for py3, unit tests run for py3. The new import fail is
“from future import standard_library”
985f9972: Fix Azure backend for python 3
76bc2621: Spaces to tabs for makefile.
7a42d7ee: Change to python3 for build
991e5d86: Merged in lp:~mterry/duplicity/uexc-string - The return
type of util.uexc should always be a string.
8400543b: Merged in lp:~stragerneds/duplicity/duplicity - improve
test backup speed - insure all test output is read
292794b7: Fix TestGlobToRegex.test_glob_to_regex for py3.6 and above
- see https://bugs.python.org/issue29995 for details
2a0d0b65: Remove unnecessary sleeping after running backups in
tests
fc08bacb: Minimize time spent sleeping between backups
dc7bd07a: Ensure all duplicity output is captured in tests
06390fec: Some more work on unadorned strings - Fixed
test_unadorned_string_literals to list all strings found - Added
bin/duplicity and bin/rdiffdir to list of files tested - All unadorned
strings have now been adorned
d9f74dd8: Fixed bug #1828662 with patch from Bas Hulsken -
string.split() had been deprecated in 2, removed in 3.7
be3b9284: Merged in lp:~mgorse/duplicity/0.8-series - Python 3 fixes
to imapbackend.py - Fix bug 1828869: refresh CollectionsStatus after
sync
3d023e4a: Fix some unadorned strings.
f564050e: Fix some unadorned strings.
8ac4addf: Fix to allow >=2.7 or >=3.5
db73e4fd: Fix to always compile _librsync before testing.
4f09d240: setup.py: allow python 2.7 again
23c2b151: Bug #1828869: update CollectionsStatus after sync
103eb008: imap: python 3 fixes
d7259db1: sync: handle parsed filenames without start/end times
ee057caf: More PEP 479 fixes
2478ed7d: Manual merge of lp:~yajo/duplicity/duplicity - Support
partial metadata sync. - Fixes bug #1823858 by letting the user to
choose partial syncing. Only the metadata for the target chain will be
downloaded. If older (or newer) chains are encrypted with a different
passphrase, the user will be able to restore to a given time by
supplying only the passphrase for the chain selected by the
--restore-time option when using this new option. - A side
effect is that using this flag reduces dramatically the sync time when
moving files from one to another location, in cases where big amounts of
chains are found.
4484a428: Change to Python >= 3.5
179cf6e2: Merged in lp:~brandon753-ba/duplicity/aws-glacier - Adds
support for for a command line option to store data on AWS S3
Glacier.
08571c42: Fix bug #1811114 with revised onedrivebackend.py from
David Martin - Adapt to new Microsoft Graph API
b4784000: Removed last mention of copy.com from man page with help
from edso.
0f5d5fbc: Merged in lp:~aaron-whitehouse/duplicity/08-style-fixes -
Fix pylint style issues (over-indented text, whitespace on blank lines
etc) - Removed “pylint: disable=bad-string-format-type” comment, which
was throwing an error and does not seem to be needed.
2c38570a: Merged in lp:~aaron-whitehouse/duplicity/08-uexc-fix - Fix
for Bug #1770929 with associated test cases (thanks to Pete Zaitcev
(zaitcev) in Bug #1797928 for the head start).
116494b7: Merged in lp:~mgorse/duplicity/0.8-series - More python 3
fixes
115ec850: Added documentation on how to use the new AWS S3 Glacier
option.
1dc87cd3: Fix pylint style issues (over-indented text, whitespace on
blank lines etc) * Removed “pylint: disable=bad-string-format-type”
comment, which was throwing an error and does not seem to be
needed.
674b26e3: Accomodate unicode input for uexc and add test for
this.
674ddc56: Convert deprecated .message to args[0]
7145e132: Add test case for lp:1770929 * Added fix (though using
deprecated .message syntax)
3d1ce634: Fixed a typo in prior commit
5f095648: Added support for AWS glacier storage class
8b2819d3: Attempt to port sx backend to python 3
4b4b8af8: rsync: py3 fixes
1d3b6e26: ncftp: py3 fixes
9d96f559: test_selection.py: fix an invalid escape sequence on
py3
36c638e1: Fix sync_archive on python 3
bc78a077: ssh_pexpect: py3 fixes
e37b3628: Pull from main branch
7e4a8a14: Fixed bug #1817375 with hint from mgorse - Added ‘global
pexpect’ at end of imports
b65719d9: Merged in lp:~mterry/duplicity/pydrive-root - Just a tiny
fix to clean up the temporary file we create to find the root ID. It’s a
little surprising for the user if they wind up with this file called
“i_am_in_root” that they don’t know where it came from. Almost sounds
like they were hacked.
fcb838c2: Merged in lp:~mgorse/duplicity/0.8-series - More changes
for unicode and py3 support
f951446a: pydrive: delete temporary root file
71b82651: unicode -> str
6254813b: Fix a regex substitution on python 3
2f779058: Return temporary filenames as bytes
b40afc6e: Modify some generators to return when finished
1404dd4f: Fix lftp breakage introduced by the python 3 changes
a551e766: Bug #1813214 was marked fixed in 0.7.13. There were still
a couple of copy.com references remaining in the docs and web. Got those
nuked, finally.
80d7726c: Merged in lp:~vam9/duplicity/0.8-series-s3-kms-support -
Added s3 kms server side encryption support with kms-grants
support.
b31e017d: Merged in lp:~okrasz/duplicity/duplicity - Add
–azure-blob-tier that specifies storage tier (Hot,Cool,Archive) used for
uploaded files.
34049a7c: Putting option in man in alphabetical order + description
improvement.
37d420a8: Adds setting to specify Azure Blob standard storage
tier.
1a52132e: Fixed bug #1803896 with patch from slawekbunka - Add
enter and exit to
B2ProgressListener
9fe379a4: Merged in lp:~mgorse/duplicity/0.8-series - First pass at
a python 3 port.
cb782f9f: tox: Target py3, rather than py36
424b5f67: Fix some punctuation.
8cdfeb13: Fixed bug #1798206 and bug #1798504 * Made paramiko a
global with import during init so it would not be
loaded unless needed.
7c786665: Merged in lp:~mcuelenaere/duplicity/duplicity - Make sure
we don’t load files completely into memory when transferring them
from/to the remote WebDAV endpoint.
232858dc: _librsyncmodule.c: Use s in format parameters again under
python 2
715b917d: Fix comment from last commit
1cd4ddb9: compilec.py: work around conflict with collections.py
vs. built-in collections module
081348d2: First pass at a python 3 port
58023921: tox: pass LC_CTYPE
6e86cbec: Change WebDAV backend to not read/write files into memory,
but stream them from/to disk to/from the remote endpoint
59d431a2: Fixed but #1797797 with patch from Bas Hulsken - use bytes
instead of unicode for ‘/’ in filenames
ed799c8a: Merged in lp:~mgorse/duplicity/0.8-series - Run futurize
–stage1, and adjust so that tests still pass.
390d96a8: Run futurize –stage1 on rdiffdir
27c17514: Run futurize –stage1 on bin/duplicity
fffc3ed0: Run futurize –stage1, and adjust so that tests still
pass.
93c96426: Merged in lp:~mgorse/duplicity/0.8-series - Adorn some
remaining strings
2c06eb6f: Adorn some remaining strings
934387af: Merged in lp:~qsantos/duplicity/fix-unmatched-rule-error -
There are actually two commits: the first fixes a very minor detail in
the README regarding the Python version that should be used; the second
fixes the way exceptions are handled when an incorrect rule is
specified, and display the nice error message rather than an obscure
stack trace.
f49b5b4b: Fix error message on unmatched glob rules
e6af3f99: Fix required Python version in README
18e928e8: Fixed bug #1795227 global name Dropbox is not defined -
Applied patch from Pedro Gimeno to restore globals
f1b89200: Merged in lp:~mgorse/duplicity/0.8-series - Adorn more
strings in duplicity/*.py
a5d26b8d: Annotate more strings in duplicity/*.py
23827636: Added s3 kms server side encryption support with
kms-grants support.
a2ff2c6f: Merged in lp:~mgorse/duplicity/0.8-series - Adorn some
duplicity/*.py strings. I’ve avoided submitting anything that I think
might require significant discussion; I think that reviewing will be
easier this way. Mostly annotated strings as unicode, except for
librsync.py.
4d7fd83c: Adorn strings in some duplicity/*.py files. Several files
are still tbd.
dccaf443: Unicode fixes
6376ca03: Make files executable.
93c35867: Mark adorned all but one of testing/unit.
cf6682d7: Released some things without proper paperwork: Adorned
strings in testing/, testing/functional/, and testing/unit * Added
AUTHORS file listing all copyright claimants in headers
7bde96b9: Missed a couple. Simple sort.
a0d8d569: Add AUTHORS file.
3d6fe201: Checkpoint: Fixing unadorned strings for
testing/unit/*.
12b84974: Fixed unadorned strings for testing/functional/*.
0177ae86: Fixed unadorned strings for testing/*.
b9062f81: Reverted back to rev 1317 and reimplemented revs 1319 to
1322
d0f86da9: Reverted back to rev 1317 and reimplemented revs 1319 to
1322
0cfe0a20: Whoops, my bad! Released before fully testing. Reverting
to rev 1317 and proceeding from there with unadorned string
conversion.
c4b6b71e: Move docs/conf.py to ignored. Sphinx rewrites it.
731a7251: Fix a misspelling
74c261a4: Fix 2to3 error found with newer 2to3 module.
c929c9fb: Nuke remnants of copycom and acdcli backends * Regen
docs
28bd5c37: Fixed unadorned strings to unicode in duplicity//
- Some fixup due to shifting indenataion not matching PEP8. -
Substituted for non-ascii char in jottlibbackend.py comment.
d31af044: Fixed unadorned strings to unicode in duplicity/backends/*
- Some fixup due to shifting indenataion not matching PEP8.
4ae4dda1: Fixed unadorned strings to unicode in duplicity/backends/*
- Some fixup due to shifting indenataion not matching PEP8.
f6540a98: Added function to fix unadorned strings
(testing/fix_unadorned_strings.py) - Fixes by inserting ‘u’ before token
string - Solves 99.9% of the use cases we have - Fix unadorned strings
to unicode in bin/duplicity and bin/rdiffdir - Add import for
future.print_function to find_unadorned_strings.py
7fb142ee: Fix unadorned strings to unicode.
c5baf72a: Add gpg sockets to ignore list.
f0dddeff: Add fix_unadorned_strings.py to ignore list.
c3ad7ee1: Add function to fix unadorned strings by inserting ‘u’
before. Solves 99.9% of the use cases we have.
b8c9e5f5: Add import for future.print_function
2c536a03: Merged in lp:~aaron-whitehouse/duplicity/08-adorn-strings
- Adorning string literals (normally to make these unicode), in support
of a transition to Python 3. See
https://blueprints.launchpad.net/duplicity/+spec/adorn-string-literals -
Adorn string in duplicity/globmatch.py. - Adorn strings in
testing/unit/test_globmatch.py - Adorn strings in selection.py - Adorn
strings in functional/test_selection.py and unit/test_selection.py -
Remove ignores for these files in test_code.py
7c1b991b: Adorn globs in functional/test_selection.py and
unit/test_selection.py * Remove ignores for these files in
test_code.py
a1a6d7dc: Remove selection.py exception from test_code.py
1205d8d1: Adorn globs in selection.py
03e593e2: Merge with trunk
cd2021ee: Fixed bug #1780617 Test fail when GnuPG >= 2.2.8 -
Relevant change in GnuPG 2.2.8: https://dev.gnupg.org/T3981 - Added
‘–ignore-mdc-error’ to all gpg calls made.
f830381f: Merged in lp:~excitablesnowball/duplicity/s3-onezone-ia -
Add option –s3-use-onezone-ia S3 One Zone Infrequent Access Storage
3e0e0b95: Add support for S3 One Zone - Infrequent Access storage
class.
b51dbfe4: Adorn strings in testing/unit/test_globmatch.py
09478739: Adorn string literals in duplicity/globmatch.py.
b33d5baa: Merged in
lp:~aaron-whitehouse/duplicity/08-unadorned-strings - Added new script
to find unadorned strings (testing/find_unadorned_strings.py
python_file) which prints all unadorned strings in a .py file. - Added a
new test to test_code.py that checks across all files for unadorned
strings and gives an error if any are found (most files are in an ignore
list at this stage, but this will allow us to incrementally remove the
exceptions as we adorn the strings in each file). - Adorn string
literals in test_code.py with u/b
bb61a378: Merged in lp:~aaron-whitehouse/duplicity/08-pycodestyle -
Tox changes to accommodate new pycodestyle version warnings. Ignored
W504 for now and marked as a TODO. Marked W503 as a permanent ignore, as
it is prefered to the (mutually exclusive) W504 under PEP8. - Marked
various regex strings as raw strings to avoid the new W605 “invalid
escape sequence”.
d20cf287: Added new script to find unadorned strings
(testing/find_unadorned_strings.py python_file) which prints all
unadorned strings in a .py file. * Added a new test to test_code.py that
checks across all files for unadorned strings and gives an error if any
are found (most files are in an ignore list at this stage, but this will
allow us to incrementally remove the exceptions as we adorn the strings
in each file).
f0b1c489: Adorn string literals in test_code.py with u/b * Add test
for unadorned string literals (currently only single file)
d088ef87: Tox changes to accommodate new pycodestyle version
warnings. Ignored W504 for now and marked as a TODO. Marked W503 as a
permanent ignore, as it is prefered to the (mutually exclusive) W504
under PEP8. * Marked various regex strings as raw strings to avoid the
new W605 “invalid escape sequence”.
e585fbc9: Fixed bug #x1717935 with suggestion from strainu - Use
urllib.quote_plus() to properly quote pathnames passed via URL
02b43b38: Fixed bug #1768954 with patch from Max Hallden - Add
AZURE_ENDPOINT_SUFFIX environ variable to allow setting to non-U.S.
servers
33137e8f: Merged in lp:~dawgfoto/duplicity/fixup1252 * only check
decryptable remote manifests - fixup of revision 1252 which introduces a
non-fatal error message (see #1729796) - for backups the GPG private key
and/or it’s password are typically not available - also avoid
interactive password queries through e.g. gpg agent
ecb0687f: only check decryptable remote manifests - fixup of
revision 1252 which introduces a non-fatal error message (see #1729796)
- for backups the GPG private key and/or it’s password are typically not
available - also avoid interactive password queries through e.g. gpg
agent
fb2dd024: check last manifest only with prev. backup
1f8906ac: Mass update of po files from launchpad translations.
d61a5820: Merged in lp:~dawgfoto/duplicity/fixup1251 - Avoid
redundant replication of already present backup sets. - Fixed by adding
back BackupSet.__eq__ which was accidentally(?) removed in 1251.
36d14ef8: Avoid redundant replication of already present backup sets
- Add back BackupSet.__eq__ which was accidentally removed in 1251
26aa75ae: Reduce dependencies on backend libraries - Moved backend
imports into backend class init method - Surrounded
imports with try/except to allow better errors - Put all library
dependencies in requirements.txt
24ded65c: Merged in
lp:~aaron-whitehouse/duplicity/08-ufn-to-fsdecode - Change util.fsdecode
to use “replace” instead of “ignore” (matching behaviour of util.ufn) -
Replace all uses of ufn with fsdecode - Make backend.tobytes use
util.fsencode rather than reimplementing
aac4fe35: Make backend.tobytes use util.fsencode rather than
reimplementing
ec5ed17e: Merge with trunk
2d61cfe6: Change util.fsdecode to use “replace” instead of “ignore”
(matching behaviour of util.ufn) * Replace all uses of ufn with
fsdecode
eb2977fd: Fixes so pylint 1.8.1 does not complain about missing
conditional imports. - Fix dpbxbackend so that imports require
instantiation of the class. - Added pylint: disable=import-error to a
couple of conditional imports
fe75a0ba: Update docs.
5c499572: Merged in lp:~aaron-whitehouse/duplicity/08-ufn-to-uc_name
- Replace util.ufn(path.name) with path.uc_name throughout.
1ff3239f: Merge with trunk.
d14bc462: Replace util.ufn(path.name) with path.uc_name
throughout.
8d191e6c: More pytest changes - Use requirements.txt for
dependencies - Run unit tests first, then functional - Some general
cleanup
43076db9: More pytest changes - Use requirements.txt for
dependencies - Run unit tests first, then functional - Some general
cleanup
1b9be562: Converted to use pytest instead of unittest (setup.py test
is now discouraged) - We use @pytest.mark.nocapture to mark
the tests (gpg) that require no capture of file streams (currently 10
tests). - The rest of the tests are run normally
dbccb1af: Remove precise-lpbuild. EOL as of April 28, 1917.
783ca0ad: Remove unused import.
80c16f0d: First cut converting to pytest. - ‘setup.py test’ now uses
pytest. We still use tox for correct virtualenv setup. All seem to be
current best practices since ‘setup.py test’ use is discouraged. -
Global –capture=no option to allow gpg tests to complete successfully.
Future should only turn off capture to the gpg tests themselves. Creates
a still messy output.
db112ff6: Merged in lp:~aaron-whitehouse/duplicity/08-unicode - Many
strings have been changed to unicode for better handling of
international characters and to make the transition to Python 3
significantly easier, primarily on the ‘local’ side of duplicity
(selection, commandline arguments etc) rather than any backends
etc.
0e2e7e21: Various code tidy-ups pre submitting for merge. None
should change behaviour.
43f58747: Change fsdecode to use globals.fsencoding * Add
‘ANSI_X3.4-1968’ to the list of fsencodings that globals.fsencode treats
as probably UTF-8
e19213ae: Merge in lp:~mterry/duplicity/unicode-future
4530e3f3: Sync with trunk.
97133837: Merge with trunk * Add back in testing/testfiles.tar.gz
(accidentally made unversioned in previous commit when doing manual
merge of archives) * PEP8 error (from trunk)
52c57195: Fix PEP8 issues.
f8e79d63: Merged in lp:~crosser/duplicity/fix-small-file-upload -
Fixed small file upload changes made in Dropbox SDK v7.1
082bd26f: Merge with trunk (including manual merge of
testfiles.tar.gz to add select-unicode to the version without the
non-UTF8 file)
24810c8f: dpbxbackend: fix small files upload (API change)
763cb7e2: Specify debian dependency too
1954afa9: Specify future requirement
75119fcb: Merged in lp:~crosser/duplicity/dpbx-fix-file-listing -
Fixed bug #1639664 “Dropbox support needs to be updated for Dropbox SDK
v7.1”
d32c97b4: Merged in lp:~crosser/duplicity/fix-oauth-flow - Fixed bug
#1638236 “BackendException with oauth2client 4.0.0”
880daf2c: dpbxbackend: check for specific API error for missing
folder
678e5604: The “new” Dropbox OAuth API return objects rather than
tuples. Adjust auth flow to that.
4f6f481c: The “new” Dropbox API for directory listing raises an
exception when the directory is empty (and duplicity directory will be
empty on the first run). We actually want and empty list of files if the
list of files is emtpy. So catch the ListFolderError and continue.
be790ce2: More fixes for Unicode handling - Default to ‘utf-8’ if
sys.getfilesystemencoding() returns ‘ascii’ or None - Fixed bug #1386373
with suggestion from Eugene Morozov
8748ad4d: Fixed bug #1733057 AttributeError: ‘GPGError’ object has
no attribute ‘decode’ - Replaced call to util.ufn() with call to
util.uexc(). Stupid typo!
25dbbdf3: Fix attribution for patch of 1448094 to Wolfgang
Rohdewald.
909a703e: Merge with trunk (and fix PEP error in
backends/pydrivebackend.py)
188e3cc9: Remove non-UTF8 filename from testfiles.tar.gz.
e114c215: Fixed bug #1730902 GPG Error Handling - use util.ufn() not
str() to handle encoding
425ced22: Fixed bug #1723890 with patch from Killian Lackhove -
Fixes error handling in pydrivebackend.py
7f19c95a: Fixed bug #1720159 - Cannot allocate memory with large
manifest file since 0.7.03 - filelist is not read if –file-changed
option in collection-status not present - This will keep memory usage
lower in non collection-status operations
d51afc9b: Fix PEP8 issues in b2backend.py.
84494816: Fixed bug #1724144 “–gpg-options unused with some
commands” - Add –gpg-options to get version run command
ca27552d: Fixed bug #1448094 with patch from Tomáš Zvala - Don’t log
incremental deletes for chains that have no incrementals
cb0b7ea2: Fixed bug #1654756 with new b2backend.py module from
Vincent Rouille - Faster (big files are uploaded in chunks) - Added
upload progress reporting support
632482ad: Remove conditional pexpect in
testing/functional/init.py – while the commented-out
text is the nicer approach in versions after pexpect 4.0, we need to
support earlier versions at this stage and a single code path is
simpler.
a6e00fd5: Patched in lp:~mterry/duplicity/rename-dep - Make rename
command a dependency for LP build
5291d3ae: Merge with trunk
9bb2e265: Fixed bug #1714663 “Volume signed by XXXXXXXXXXXXXXXX, not
XXXXXXXX” - Normalized comparison length to min length of compared keys
before comparison - Avoids comparing mix of short, long, or fingerprint
size keys.
92f13b28: Merge with trunk.
fc88e038: Fix PEP8 issues.
78997098: Fixed bug #1715650 with patch from Mattheww S - Fix to
make duplicity attempt a get first, then create, a container in order to
support container ACLs.
df536b03: More fixes to backend.py plus some cleanup.
d4eb13c4: Fix backend.py to allow string, list, and tuple types to
support megabackend.py.
49ae61b9: Merged in lp:~mterry/duplicity/more-decode-issues - Here’s
some fixes for another couple UnicodeDecodeErrors. - The
duplicity/dup_time.py fixes when a user passes a utf8 date string (or a
string with bogus utf8 characters, but they have to really try to do
that). This is bug 1334436. - The bin/duplicity change from str(e) to
util.uexc(e) fixes bug 1324188. - The rest of the changes
(util.exception_traceback and bin/duplicity changes to use it) are to
make the printing of exceptions prettier. Without this, if you see a
French exception, you see “accept9es” instead of “acceptées”. - You can
test all of these changes in one simple line: $ LANGUAGE=fr duplicity
remove-older-than $‘accept’
01f6ee0e: Fix some unicode decode errors around exceptions
efcf2c97: Fixed bug introduced in new megabackend.py where
process_commandline() takes a string not a list. Now it takes both. *
Updated web page for new megabackend requirements.
44106805: Fixed bug #1638033 Remove leading slash on
–file-to-restore - code already used rstrip(‘/’) so change to just
strip(‘/’)
2ac2c464: # Fixed bug #1394386 with new module megabackend.py from
Tomas Vondra - uses megatools from https://megatools.megous.com/ instead
of mega.py library which has been deprecated - fixed copyright and PEP8
issues - replaced subprocess.call() with self.subprocess_popen() to
standardize
338489c9: # Fixed bug #1394386 with new module megabackend.py from
Tomas Vondra - uses megatools from https://megatools.megous.com/ instead
of mega.py library which has been deprecated - fixed copyright and PEP8
issues
5300dc5f: Merged in lp:~mterry/duplicity/gpg-tag-versions - Support
gpg versions numbers that have tags on them. - This can happen if you
build gpg from git trunk (e.g. 2.1.15-beta20). Or if you run against the
freedesktop flatpak runtime (e.g. 2.1.14-unknown).
f66c0863: Fix errors where log.Warn was invoked with log.warn in
webdavbackend.py
08938ecc: Support gpg versions with -tag suffixes
832feab9: Merged in lp:~mterry/duplicity/gio_child_for_display_name
- gio: be slightly more correct and get child GFiles based on display
name
757b7c63: Fixed PEP8 errors in bin/duplicity
74eb43b2: Fixed bug #1709047 with suggestion from Gary Hasson *
fixed so default was to use original filename
aeafea90: gio: be slightly more correct and get child GFiles based
on display name
20bd42da: Merged in lp:~mterry/duplicity/giobackend-display-name -
giobackend: handle a wider variety of gio backends by making less
assumptions; in particular, this fixes the google-drive: backend
66e2bbe0: giobackend: handle a wider variety of gio backends by
making less assumptions; in particular, this fixes the google-drive:
backend
c1ee0dc0: Merge from trunk (with pylint fixes).
8074c2e2: Fixed encrypted remote manifest handling to merely put out
a non-fatal error message and continue if the private key is not
available.
754b34bf: Fixed slowness in ‘collection-status’ by basing the status
on the remote system only. The local cache is treated as empty.
6699c162: Merge from trunk
7b712ca3: Fix text of last change.
cbdf21ad: Patched in
lp:~dawgfoto/duplicity/skip_sync_collection_status - collection-status
should not sync metadata - up-to-date local metadata is not needed as
collection-status is generated from remote file list - syncing metadata
might require to download several GBs
77e588c2: collection-status should not sync metadata - up-to-date
local metadata is not needed as collection-status is generated from
remote file list - syncing metadata might require to download several
GBs
9aaa1659: Fixed PEP8 and 2to3 issues.
e5a8925e: Merged in lp:~xlucas/duplicity/pca-backend - Add support
for OVH Public Cloud Archive backend.
33448a33: Merged in
lp:~xlucas/duplicity/multibackend-prefix-affinity - Support prefix
affinity in multibackend.
0cdb3463: Merge with trunk, turning string literals in the new
testing/functional/test_replicate.py into unicode.
08c6d312: Merged in lp:~dawgfoto/duplicity/replicate - Add
integration test for newly added replicate command. - Also see
https://code.launchpad.net/~dawgfoto/duplicity/replicate/+merge/322836.
df257249: add integration test for newly added replicate
command
a79a563a: Fixed problem in dist/makedist when building on Mac where
AppleDouble files were being created in the tarball. See:
https://superuser.com/questions/61185/why-do-i-get-files-like-foo-in-my-tarball-on-os-x
78f165c8: Fixed problem in dist/makedist when building on Mac where
AppleDouble files were being created in the tarball. See:
https://superuser.com/questions/61185/why-do-i-get-files-like-foo-in-my-tarball-on-os-x
6b3604c2: Add support for OVH Public Cloud Archive backend.
735998a7: Remove util.bytes_to_uc (as either .decode or fsdecode is
preferable). * Move unicode conversion for select options from
selection.py to commandline.py.
28eee967: Replace util.py functions to and from unicode with direct
calls to .encode and .decode, as it did not save much code, means the
“strict”/“ignore”/“replace” decision can be made per call. Also helps
narrow down on why sys.getfilesystemencoding() is not working as
expected in some places.
b6bb67e7: Merge remaining file from trunk. Tests pass.
ec37a65b: Merged in lp:~duplicity-team/duplicity/po-updates
e21dc624: Merge all but bin/duplicity/ (which breaks
testing.functional.test_final.FinalTest.test_asym_with_hidden_recipient_cycle
)
57665527: Merged in lp:~xlucas/duplicity/swift-multibackend-bug -
Fix a bug when swift backend is used in a multibackend
configuration.
c01f3572: Merged in lp:~xlucas/duplicity/swift-multibackend-bug -
Fix a bug when swift backend is used in a multibackend
configuration.
7906bcfa: Copy.com is gone so remove copycombackend.py.
454abee5: Copy.com is gone so remove copycombackend.py.
e60a4760: Fixed bug #1265765 with patches from Matthias Larisch and
Edgar Soldin - SSH Paramiko backend now uses BufferedFile implementation
to enable collecting the entire list of files on the backend.
563e14cb: Fixed bug #1265765 with patches from Matthias Larisch and
Edgar Soldin - SSH Paramiko backend now uses BufferedFile implementation
to enable collecting the entire list of files on the backend.
730e8c4e: Support prefix affinity in multibackend.
a66aeff7: Merge with trunk. All tests pass.
773738f0: Added capability to mount user workspace for testing local
code.
2a8f1d8b: Added variable substitution to docker-compose.yml - .env
file contains first 24 bits of subnet addr * Added teardown.sh as
completion of setup.sh
f51b7762: Merged in lp:~aaron-whitehouse/duplicity/08-fix-man-verify
- Fix description of –verify and –compare-data in the man page. Now
clarifies that verify compares the restored files to hashes stored at
backup date, while –compare-data compares restored files to files in
target_path.
f3046dc4: Fix bin/duplicity.1 entries for –verify and
–compare-data
05750943: Merged in lp:~dernils/duplicity/docker-compose - Test
Infrastructure now utilizing docker-compose
16dda24a: test infrastructure now using docker-compose
c7c79e94: Fix bug #1672540 with patch from Benoit Nadeau - Rename
would fail to move par files when moving across filesystems. - Patch
uses shutil.move() to do the rename instead.
08e538e4: Fix bug #1672540 with patch from Benoit Nadeau - Rename
would fail to move par files when moving across filesystems. - Patch
uses shutil.move() to do the rename instead.
fa820f96: Some changes ported 0.7 to/from 0.8 to keep
up-to-date.
f7fa3bba: Some changes ported 0.7 to/from 0.8 to keep
up-to-date.
ec23f426: Revisited bug #670891 with patch from Edgar Soldin -
Forced librsync.PatchedFile() to extract file object from
TemporaryFile() object when on Windows or Cygwin systems. This allows us
to avoid the problem of tmpfile() use which creates temp files in the
wrong place. - See discussion at
https://bugs.launchpad.net/duplicity/+bug/670891
55f64c0d: Revisited bug #670891 with patch from Edgar Soldin -
Forced librsync.PatchedFile() to extract file object from
TemporaryFile() object when on Windows or Cygwin systems. This allows us
to avoid the problem of tmpfile() use which creates temp files in the
wrong place. - See discussion at
https://bugs.launchpad.net/duplicity/+bug/670891
9b863088: Fix spurious warning message, return value not
needed.
439b457b: Merge with trunk.
11fed951: Checkpoint - docker testbed mostly running - lots of
format changes in setup.sh - made sure to kill off network and restart -
simplified container naming and killall process - most tests run now
with tox, 5 fail
ea598187: Go back to original requirements file.
5dd05c94: May have finally fixed bug #1556553, “Too many open
files…”. - Applied patch from Howard Kaye, question #631423. The fix is
to dup the file descriptor, and then close the file in the deallocator
routine in the glue code. Duping the file lets the C code and the Python
code each close the file when they are done with it. - Invalidated and
removed the fix put in for bug #1320832. - Caveat: long incremental
chains will still eat up a large number of file descriptors. It’s a very
risky practice, so I’m not inclined to fix it.
ce240c81: May have finally fixed bug #1556553, “Too many open
files…”. - Applied patch from Howard Kaye, question #631423. The fix is
to dup the file descriptor, and then close the file in the deallocator
routine in the glue code. Duping the file lets the C code and the Python
code each close the file when they are done with it. - Invalidated and
removed the fix put in for bug #1320832. - Caveat: long incremental
chains will still eat up a large number of file descriptors. It’s a very
risky practice, so I’m not inclined to fix it.
1dd8b48f: Fix spelling and rearrange some.
3b7b92d9: Added lpbuild-trusty to replace lpbuild-precise pre Aaron
Whitehouse’s comment that there was a bug in pexpect < 3.4 that
affects us.
65ec8d0d: Merged in lp:~dernils/duplicity/Dockerfile - Now have
subnet name and IP of the subnet for testing as a variable.
56af1cca: minor changes to setup.sh
b1ebcb6e: minor fix to setup.sh
770f3bd9: Merged in lp:~dernils/duplicity/Dockerfile - Added another
backend to the docker test infrastructure, updated the setup for testing
and updated the documentation.
ccc17566: Merged in lp:~xlucas/duplicity/swift-storage-policies -
This brings support for Swift storage policies: when using a Swift
backend, you can specify the policy containers should be operating on. -
This is similar to AWS Cloud Storage classes (ia, rrs, glacier and so
on).
327d44bd: added more test infrastructure
14b43efa: Merge in trunk.
8cb8bcbd: Support for Swift storage policies
01251d68: Merged in lp:~aaron-whitehouse/duplicity/tox_pylint_fixes
- Changes needed to run-tests without pylint E0401(import-error)
errors
2e37b429: Changes needed to run-tests without pylint
E0401(import-error) errors
0c1603ea: Merge in changes from trunk. * Tests all pass except
pylint test (import-error that also happens for me on trunk, so will fix
there).
639d82e9: Remove unnecessary unicode conversion on commandline.py
filelist append. * Tests all pass (and in previous commit).
b625f2a2: move stdin_test.sh to manual dir
3c99365d: remove run-tests-ve - not needed * move stdin_test.sh to
manual dir
d14a7b7a: Fix comments on ignored pylint messages.
43c244a0: Remove precise-lpbuild test since precise is EOL.
bb7cb854: precise is EOL so drop testing for it.
2f26b014: Use unicode version of pexpect.spawn for version >=
4.0, but bytes version below this.
4957a0b7: Adjust control for LP build process, fasteners not
lockfile.
bf233f8d: Adjust control for LP build process, fasteners not
lockfile.
342c740a: Fixed bug #1320641 and others regarding lockfile - swap
from lockfile to fasteners module - use an fcntl() style lock for
process lock of duplicity cache - lockfile will now clear if duplicity
is killed or crashes
24d43cdf: Fixed bug #1320641 and others regarding lockfile - swap
from lockfile to fasteners module - use an fcntl() style lock for
process lock of duplicity cache - lockfile will now clear if duplicity
is killed or crashes
6d8ef9e4: Fixed bug #1689632 with patch from Howard Kaye - On MacOS,
the tempfile.TemporaryFile call erroneously raises an IOError exception
saying that too many files are open. This causes restores to fail
randomly, after thousands of files have been restored.
809a9fe7: Fixed bug #1689632 with patch from Howard Kaye - On MacOS,
the tempfile.TemporaryFile call erroneously raises an IOError exception
saying that too many files are open. This causes restores to fail
randomly, after thousands of files have been restored.
1a30fe90: Fixed bug #1320832 with suggestion from Oskar Wycislak -
Use chunks instead of reading it all in swiftbackend
e9ffef2f: Moved some things around in testing/infrastructure to
clean up
ab3c6c85: Moved Dockerfile for duplicitytest into
testinfrastructure/duplicity_test
b0d311d4: Merged in lp:~dernils/duplicity/DockerfileConvenience -
Add a few files that are the beginning of further infrastructure based
on docker. It contains a Dockerfile for a simple ftp server (used for
backend testing) and a setup script that can be used to set up the
complete test environment.
7808481a: added furhter files for test infrastructure
03840343: Fixed bug #1320832 with suggestion from Oskar Wycislak -
Use chunks instead of reading it all in swiftbackend
6835af96: Merge with trunk. All py27 tests pass, lpbuildd-precise
still fails.
47a95531: Merged in lp:~dernils/duplicity/DockerfileConvenience -
Added a few tools to the Dockerfile that make life easier
efe339d2: added ftp client to Dockerfile
2ae1059e: Updated Dockerfile
c7b890aa: Make all tests pass on py27 tox environment. *
lpbuildd-precise tests still fail because the outdated pexpect (2.4) has
issues with unicode (pexpect.spawn does not support unicode and
spawnu.readline fails).
36e56f8b: bzr does not honor perms so fix the perms at the start of
the testing and avoid annoying error regarding testing/gnupg having too
lenient perms
918751ae: Replace incoming non-ASCII chars in commandline.py
3b6c196a: Merged in lp:~marix/duplicity/add-azure-arguments - Using
the Azure backend to store large amounts of data we found that
performance is sub-optimal. The changes on this branch add command line
parameters to fine-tune some parameters of the Azure storage library,
allowing to push write performance towards Azure above 1 Gb/s for large
back-ups. If a user does not provide the parameters the defaults of the
Azure storage library will continue to be used.
74759285: Merged in lp:~marix/duplicity/add-azure-arguments - Using
the Azure backend to store large amounts of data we found that
performance is sub-optimal. The changes on this branch add command line
parameters to fine-tune some parameters of the Azure storage library,
allowing to push write performance towards Azure above 1 Gb/s for large
back-ups. If a user does not provide the parameters the defaults of the
Azure storage library will continue to be used.
c93c1c79: Merged in lp:~dawgfoto/duplicity/replicate - Add replicate
command to replicate a backup (or backup sets older than a given time)
to another backend, leveraging duplicity’s backend and
compression/encryption infrastructure. * Fixed some incoming PyLint and
PEP-8 errors.
92be9085: unit/test_globmatch.py, unit/test_selection.py,
functional/test_selection.py tests all pass. * Assume UTF-8 encoding for
filelists (which also allows ASCII encoding). * Use new io module for
selection filelist access. * Create new path.uc_name that is a unicode
version of the path, which is then used throughout the selection code
for path name matching etc. * Move selection.py to using unicode strings
and uc_name versions of paths. * Made
functional/init.py use unicode arguments to run
duplicity for tests. * Use new io module in
functional/test_selection.py. * Remove @unittest.expectedFailure
from test_unicode_paths_square_brackets, which no longer fails. * Make
unit/test_selection.py ParseTest support unicode and add
test_unicode_paths_non_globbing unit test version of functional
test.
b933ff59: We need tzdata (timezone data).
2f1ff44c: Add command line arguments to fine-tune the Azure
backend
2b97aa2c: You need tox to run tox. Doh!
b953de4d: Add libffi-dev back. My bad.
0b3b5d43: Merged in lp:~dernils/duplicity/Dockerfile - separated
requirements into requirements for duplicity (in requirements.txt) and
for testing (in tox.ini)
dc1d9703: fixed tox.ini
d95c10fe: separated pip requirements into duplicity and testing
85837ecc: separated pip requirements into duplicity and testing
999f9110: Remove dependencies we did not need
7af42bc6: Add test user and swap to non-priviledged.
c191eff1: Move branch duplicity up the food chain.
d330b621: Simplify Dockerfile per
https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
- Add a .dockerignore file - Uncomment some debug prints - quick fix for
bug #1680682 and gnupg v1, add missing comma
33dd14b6: Quick fix for bug #1680682 and gnupg v1, add missing
comma.
d7e6c2c9: Quick fix for bug #1680682 and gnupg v1, add missing
comma.
f8f6ef1c: A little reorg, just keeping pip things together.
3a61ae16: More changes for testing: keep gpg1 version for future
testing - some changes for debugging functional tests - add
gpg-agent.conf with allow-loopback-pinentry
a21128bd: Merged in lp:~dernils/duplicity/Dockerfile Fixed variable
name change in commandline.py
07bd7b16: Edited Dockerfile
d18194d0: Whoops, deleted too much. Add rdiff again.
4ecff083: Move pep8 and pylint to requirements.
206f4e34: Add rdiff install and newline at end of file.
0b03c033: delete tempfiles as soon as possible
3a34a4ff: Merged in lp:~dernils/duplicity/documentation - Minor
changes to README-REPO, README-TESTING - Also redo the changes to
requirements.txt and Dockerfile
fba2acf3: Edited requirements.txt, minor changes to README-REPO and
README-TESTING
a998ad7b: Merged in lp:~dernils/duplicity/testing - Fixed minor
stuff in requirements.txt. - Added a Dockerfile for testing. - Minor
changes to README files. - Added README-TESTING with some information on
testing.
7e48e801: Fixed bug #1684312 with suggestion from Wade Rossman - Use
shutil.copyfile instead of os.system(‘cp …’) - Should reduce overhead of
os.system() memory usage.
ec24037c: Fixed bug #1680682 with patch supplied from Dave Allan -
Only specify –pinentry-mode=loopback when –use-agent is not specified *
Fixed man page that had ‘cancel’ instead of ‘loopback’ for pinentry
mode
d858f13e: add replicate command - useful to replicate/archive
backups to another backend - allows to partially replicate only older
backup sets - checks existing backup sets on target to avoid redundant
copies
b069613e: working on dpbx backend tests§
afe9d2f7: Add some commented-out debug print and move under error
condition.
3d419279: Make test_selection.py use unicode string literals and
still pass. * funtional/test_selection.py still fails.
3c243b8c: Make path.py only accept unicode. * Make all string
literals in test_selection.py unicode. * Create path.uc_name as an
alternative to path.name, allowing existing code to continue using bytes
during transition. * Make file writes in test_selection.py use io.open.
* Tests do not yet pass.
4a7a5875: Make globmatch.py deal with either unicode or string
globs. * Make path.uc_name for unicode name of path (vs path.name for
bytes). * Functional select test failures.
1ccb1689: test_globmatch.py now passing with unicode globs/paths *
test_square_bracket_options_unicode now passing
ae323989: glob_to_regex converted to unicode, globmatch.py not yet
passing tests
f7b9f2b1: Merge in changes to trunk.
62162260: Added future imports to globmatch.py and added future to
tox.ini deps.
aee790b8: Added (failing) unicode test.
d52ea722: Add tests for square brackets.
3ca67813: Add test for unicode paths with asterisks in globs.
2883bfda: Added files with unicode names to testfiles and added
TestUnicode.test_unicode_paths_non_globbing, which tests –include and
–exclude works as expected with these files.
815dafab: Fixed bug #1668750 - Don’t mask backend errors - added
exception prints to module import errors
0456d65e: Fixed bug #1668750 - Don’t mask backend errors - added
exception prints to module import errors
c1ef0b73: Fixed bug #1671852 - Code regression caused by revision
1108 - change util.uexc() back to bare uexc()
34ed2ac7: Fixed bug #1671852 - Code regression caused by revision
1108 - change util.uexc() back to bare uexc()
a48ee644: Skip pylint on dpbxbackend.py for now.
98b1bca7: Refresh docs
f043c106: Merged in p:~aaron-whitehouse/duplicity/pep8_E402_fixes -
Fixed PEP8 errors: E402 module level import not at top of file
59e11d3b: Fixed PEP8 errors: E402 module level import not at top of
file
82454ae2: Merged in lp:~benoit.bertholon/duplicity/duplicity - Use
the globals.archive_dir variable to store only a string in the case of a
path, uses globals.archive_dir_path
d2d393e7: uses the globals.archive_dir variable to store only a
string in the case of a path, uses globals.archive_dir_path
c8240211: Fixed bug #1367675 - IMAP Backend does not work with Yahoo
server - added the split() as needed in ‘nums=list[0].strip().split(”
“)’ - the other fixes mentioned in the bug report comments were already
done
7a1ac495: Fixed bug #1367675 - IMAP Backend does not work with Yahoo
server - added the split() as needed in ‘nums=list[0].strip().split(”
“)’ - the other fixes mentioned in the bug report comments were already
done
2721e86c: Fixed variable name change in last merge which broke a
bunch of tests - Changed archive_dir_root back to archive_dir
baf4683a: Merged in lp:~benoit.bertholon/duplicity/duplicity - Fixes
bug #1666194 - ProcessCommandLine function called twice fail and arglist
argument not used
6f6ac96f: Merged in lp:~aaron-whitehouse/duplicity/pep8_test_fixes -
Fix PEP-8 testing by moving to using pycodestyle library. - Temporarily
add ignores to allow these tests to pass. - Fix E305 PEP8 errors:
expected 2 blank lines after class or function definition, found 1.
a5b40d69: Fix minor pep8 issue - line too long.
841bdc9d: Merged in lp:~marix/duplicity/azure-storage-sas - This
branch adds support for Shared Access Signature to the Azure backend
which allows to run Duplicity with a minimal set of permissions.
c36a0fa6: Merged in lp:~marix/duplicity/azure-storage-0.30.0-plus -
This makes the Azure backend compatible with version 0.30.0 and up of
the underlying azure-storage package.
fab4e9d0: Change the global name archive_dir to archive_dir_root add
the arglist to the optparser
5d7790bb: Fix E305 PEP8 errors: expected 2 blank lines after class
or function definition, found 1 * Remove E305 from pycodestyle
ignores
b9ce119b: Fix PEP-8 testing by moving to using pycodestyle library.
* Temporarily add ignores to allow these tests to pass.
d0c485eb: Fix backup creation using azure-storage > 0.30.0
060b3281: Add support for Shared Access Signatures to the Azure
backend.
633af2af: Make the Azure backend compatible with azure-storage
0.30.0 and up
bfc8810b: Merged in
lp:~aaron-whitehouse/duplicity/08-python-futurize-stage-1 - Made many of
the safer changes for improved Python 3 support (python-future’s
futurize -stage1) without functional change to the code (and leaving the
isinstance(s, types.StringType) tests unchanged). - Created Python 2/3
compatible tests for int and long. - Update setup.py to show only Python
2.7 support.
befa17f8: Update setup.py to show only Python 2.7 support.
2aab33a7: Merge changes from trunk
926ba760: Some fixes to gpg.py to handle gpg1 & gpg2 &
gpg2.1 commandline issues - –gpg-agent is optional on gpg1, but on gpg2
it is used automatically - –pinentry-mode is not a valid opt until
gpg2.1, so condition on that
10b8aa2f: Fixed bug #1603704 with patch supplied by Maciej Bliziński
- Crash with UnicodeEncodeError
734d82dd: Fixed bug #1603704 with patch supplied by Maciej Bliziński
- Crash with UnicodeEncodeError
2c1ffb36: Fixed the documentation of –use-agent in the man page
1edbdb7d: merged revision 1270 from lp:duplicity/0.7-series
7840b408: Fixed bug #1657916 with patch supplied by Daniel Harvey -
B2 provider cannot handle two backups in the same bucket
6455ee6f: Fixed bug #1657916 with patch supplied by Daniel Harvey -
B2 provider cannot handle two backups in the same bucket
d967c475: Merged in
lp:~aaron-whitehouse/duplicity/08-refactor-unit-test-globmatch - Rename
path_matches_glob_fn to select_fn_from_glob, as this more accurately
reflects the return value. - Significantly refactored
unit/test_globmatch.py to make this cleaner and clearer.
a615bbe4: Add detail about import exceptions in
onedrivebackend.py
fdf9d468: Add detail about import exceptions in
onedrivebackend.py
60b4bf99: Rename path_matches_glob_fn to select_fn_from_glob, as
this more accurately reflects the return value. * Significantly
refactored unit/test_globmatch.py to make this cleaner and clearer.
1400d884: Merged in
lp:~aaron-whitehouse/duplicity/08-merge-glob-parsers - Use a single code
path for glob strings whether or not these contain special
characters/wildcards (glob_get_normal_sf) and remove
glob_get_filename_sf and glob_get_tuple_sf. - Remove run-tests-ve as
this was identical to run-tests.
0855ee3d: Remove time from run-tests, in case this causes any issues
(e.g. cross platform support).
af5eaa47: Add more scan tests.
7c57cde5: Removed unused non-globbing code (_glob_get_filename_sf
and _glob_get_tuple_sf). * Made run-tests time test runs. * Removed
run-tests-ve, which was identical to run-tests.
691d8f33: Move to using single (globing, glob_get_normal_sf)
function for glob strings with and without globbing characters. No
performance impact.
aede8aee: Make globs of “/” work with globbing code. * Make globs of
“/” match everything.
a2a016eb: Made _glob_get_filename_sf and _glob_get_tuple_sf internal
functions to ensure no unit tests depend on them directly.
3832485c: Merged in lp:~matthew-t-bentley/duplicity/duplicity - Sets
a user agent. Backblaze asked for this in case there are errors that
originate from the Duplicity B2 backend - Only retrieves a new upload
URL when the current one expires, to bring it in line with their best
practices for integrations:
https://www.backblaze.com/b2/docs/integration_checklist.html
b8ca51d0: Merged in lp:~matthew-t-bentley/duplicity/duplicity - Sets
a user agent. Backblaze asked for this in case there are errors that
originate from the Duplicity B2 backend - Only retrieves a new upload
URL when the current one expires, to bring it in line with their best
practices for integrations:
https://www.backblaze.com/b2/docs/integration_checklist.html
09da3ec6: Only get a new upload URL when needed. Add a user
agent
f449626d: Fixed bug #1658283 “Duplicity 0.7.11 broken with GnuPG
2.0” - Made gpg version check more robust than just major version - Now
use –pinentry-mode=loopback on gpg 2.1 and greater - Removed check for
non-Linux systems, a false problem
2ed3aa9b: Fix pep8 issue.
437684d8: Fixed bug #1655268 “–gpg-binary option not working” - If
gpg binary is specified rebuild gpg profile using new binary
location
82621c56: Fixed bug #1655268 “–gpg-binary option not working” - If
gpg binary is specified rebuild gpg profile using new binary
location
ca842259: Futurize -stage1 all files, leaving the isinstance(s,
types.StringType) tests unchanged. * Reverted earlier changes to
types.StringType test in test files. * Created python 2/3 compatible
tests for int and long.
27f1a028: Futurize -stage1 on py files in testing for improved
python 2/3 support.
0a92806f: Merged in
lp:~aaron-whitehouse/duplicity/0-8-merge_selection_tests - Merge in
TestExcludeIfPresent from 0.7-series, which tests the behaviour of
duplicity’s –exclude-if-present option. - Move and rename
TestTrailingSlash2 test (was duplicate name) as in 0.7-series. - Fix PEP
error on adbackend.py. - Add jottalib as a tox dep to fix pylint error.
- Remove unnecessary skipUnless Linux as per 0.7-series.
48840a0b: Fixed bug #1654220 with patch supplied by Kenneth Newwood
- Duplicity fails on MacOS because GPG version parsing fails
d4a9c37d: Fixed bug #1654220 with patch supplied by Kenneth Newwood
- Duplicity fails on MacOS because GPG version parsing fails
bcc923ec: Fixed bug #1623342 with patch supplied by Daniel Jakots -
Failing test on OpenBSD because tar/gtar not found
bab8cfa1: Fixed bug #1623342 with patch supplied by Daniel Jakots -
Failing test on OpenBSD because tar/gtar not found
92235bca: Fix PEP error on adbackend.py. * Add jottalib as a tox dep
to fix pylint error.
1ca6251c: Merge in TestExcludeIfPresent from 0.7-series, which tests
the behaviour of duplicity’s –exclude-if-present option
94c684d9: Move and rename TestTrailingSlash2 test.
800c6935: Merged in lp:~breunigs/duplicity/amazondrive3 - As
reported on the mailinglist, if a space is entered while duplicity asks
for the URL, it fails. Since all important spaces are URL encoded
anyway, this should be fine even if there are spaces in the URL at all.
I also patched it in the onedrive backend, because it must have similar
issues.
bac5f33a: Merged in lp:~breunigs/duplicity/amazondrive3 - As
reported on the mailinglist, if a space is entered while duplicity asks
for the URL, it fails. Since all important spaces are URL encoded
anyway, this should be fine even if there are spaces in the URL at all.
I also patched it in the onedrive backend, because it must have similar
issues.
8134d711: Fix Bug #1642813 with patch from Ravi - If stat() returns
None, don’t attempt to set perms.
996bd5a1: Fix Bug #1642813 with patch from Ravi - If stat() returns
None, don’t attempt to set perms.
108e09f8: Whoops, make a couple of changes to match series-7.
f3e43415: Whoops, fix bad patch * Add gpg2 dir to .bzrignore
5a785806: Fix some issues with testing on MacOS * Fix problem with
gpg2 in yakety and zesty
0affec8f: Fix problem with gpg2 in yakety and zesty
ecd8404e: Some fixes for MAC where gpg2 does not implement
–pinentry-mode.
5316be82: Skip locked folders tests if not on Linux platform.
a86a9cb3: Merged in
lp:~aaron-whitehouse/duplicity/Bug_1624725_files_within_folder_slash -
Fixed Bug #1624725, so that an include glob ending in “/” now includes
folder contents (for globs with and without special characters). This
preserves the behaviour that an expression ending in “/” only matches a
folder, but now the contents of any matching folder is included.
6599b400: Merged in
lp:~aaron-whitehouse/duplicity/Bug_1624725_files_within_folder_slash -
Fixed Bug #1624725, so that an include glob ending in “/” now includes
folder contents (for globs with and without special characters). This
preserves the behaviour that an expression ending in “/” only matches a
folder, but now the contents of any matching folder is included.
bbdc36fd: Temp fix for tempfile.TemporaryFile failures.
302a5e2b: Fix encryption tests by specifying long key instead of
short.
a1dfaffc: Merged in lp:~horgh/duplicity/copy-symlink-targets-721599
- Add –copy-links to copy symlink contents, not just the link
itself.
2604cf85: Merged in lp:~horgh/duplicity/copy-symlink-targets-721599
- Add –copy-links to copy symlink contents, not just the link
itself.
6a63b9a1: Improve description of new argument in man page
b82f9cb5: Add new argument to duplicity manpage
ec872c82: Add flag to copy target of symlinks rather than the
link
988aef92: Merged in lp:~ed.so/duplicity/manpage.fixes - Fix html
output via rman on the website
1ec38202: Merged in lp:~ed.so/duplicity/manpage.fixes - Fix html
output via rman on the website
4fac9490: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
ac573387: Revert to rev 1246.
096a41d6: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
8a6f6316: Revert to rev 1246.
4f9db163: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
21e6925b: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
07607695: Merged in lp:~dernils/duplicity/robust-dropbox-backend -
Added new command line option –backend-retry-delay that allows to
determine the time that duplicity sleeps before retrying after an error
has occured. - Added some robustness to dpbxbackend.py that ensures
re-authentication happens in case that a socket is changed (e.g. due to
a forced reconnect of a dynamic internet connection).
3ef44593: Fix bug using 40-char sign keys, from Richard McGraw on
mail list - Remove truncation of argument and adjust comments
e20383f2: Fix bug using 40-char sign keys, from Richard McGraw on
mail list - Remove truncation of argument and adjust comments
bbc83e22: fix html output via rman
708ad52e: Merge in changes from trunk.
b32e079d: Added tests to ensure behaviour is as expected for
expressions containing globs, as these traverse a different code
path.
2f2c09f4: minor fix in manpage
a5e50289: Added –backend-retry-delay to the manpage
604eaa3a: Fixed bug #1642098 - does not create PAR2 archives when
‘–par2-options’ is used - Missing space between par2-options plus
default options
9780e546: Fixed bug #1642098 - does not create PAR2 archives when
‘–par2-options’ is used - Missing space between par2-options plus
default options
aed5162a: added new command line option –backend-retry-delay
4401adb1: added some robustness to dpbxbackend.py
7ced28de: Merged in lp:~breunigs/duplicity/amazondrive2 - Fixed
variable renaming issue
eea83340: Fixed Bug #1624725, so that an include glob ending in “/”
now includes folder contents (for globs with and without special
characters)
24b8d980: fixed missing rename in Amazon Drive backend
6340c8ae: Merged in lp:~breunigs/duplicity/amazondrive - Provide a
native backend for AmazonDrive
756796be: Merged in lp:~havard/duplicity/jottacloudbackend - Adds
support for a new backend, jottacloud.com, using the scheme
jottacloud:/<folder>. - Reverse-engineered library,
jottalib: http://github.com/havardgulldahl/jottalib -
Here’s how you set up jottalib
https://github.com/havardgulldahl/jottalib/wiki
b4a4f6da: Fixed bug #1621194 with code from Tornhoof - Do backup to
google drive working without a service account
61d36e9f: Fixed bug #1621194 with code from Tornhoof - Do backup to
google drive working without a service account
c6c08f12: rename to just “AD” to avoid any possible trademark
issues
8f945f92: Merged in lp:~mwilck/duplicity/duplicity - GPG: enable
truly non-interactive operation with gpg2 - This patch fixes the IMO
unexpected behavior that, when using GnuPG2, a pass phrase dialog always
pops up for saving backups. This is particularly annoying when trying to
do unattended / fully automatic backups.
db3e4ddf: Merged in lp:~mwilck/duplicity/duplicity - GPG: enable
truly non-interactive operation with gpg2 - This patch fixes the IMO
unexpected behavior that, when using GnuPG2, a pass phrase dialog always
pops up for saving backups. This is particularly annoying when trying to
do unattended / fully automatic backups.
3e9f18b4: document peculiarities of AmazonDrive
504582c7: add and document native AmazonDrive backend
12f7dd9e: Added inline comment to globmatch.py explaining glob
matching. * Removed trailing / from Path() unittests, as paths used in
duplicity do not normally have these, even if they are folders. * Added
unit test to show files within a matched folder are included without a
trailing slash. * Fixed return value of test_slash_star_scans_folder
unittest from include to scan.
bcbaaecd: Add unittests and code comments to explain glob
processing/regex behaviour.
85a2fd05: GPG: enable truly non-interactive operation with gpg2
a3d2a830: Add more tests for trailing slash behaviour.
5627cdae: Added (failing) test to show behaviour in Bug
#1624725
52f23232: Fixed bug #1623342 with patch from Daniel Jakots - failing
test on OpenBSD because tar/gtar not found
504c6695: Fixed bug #1623342 with patch from Daniel Jakots - failing
test on OpenBSD because tar/gtar not found
fc5cc01f: Merged in
lp:~aaron-whitehouse/duplicity/bug_1620085_exclude-if-present-locked-folder
- Fixes Bug #1620085: –exclude-if-present gives OSError looking for tag
in locked folders
8d61f9d9: remove uses_netloc directive
d214849a: JottaCloudBackend: Don’t return bytestrings in
_list()
1f8cf169: Adding JottaCloud backend
4b71ccaa: Fixed bug #1620085: OSError when using –exclude-if-present
with a locked directory in backup path. * Added tests for errors on
locked files.
258ffdb2: Add functional tests for –exclude-if-present.
d1b4cc58: Move and rename second TestTrailingSlash block to
TestTrailingSlash2.
853e1b4b: Add requirements.txt - Remove module mocks in conf.py
9cc3f0f2: OK, finally grokked how to mock out _librsync, but it did
mean having to change librsync.py with a conditional. Would have
preferred a cleaner solution. - Fixed the remaining warnings in
READTHEDOCS build, including the removal of a couple of files that were
extraneous.
32011970: Try autodoc_mock_imports…
afc6e9ae: Try autodoc_mock_imports…
27ec8a7f: Try autodoc_mock_imports…
b512dc18: Try fully qualified module name, again.
39c49814: Remove fully qualified name.
cc110e6a: Resolve recursion in Mock.
03991aae: Try fully qualified and not qualified module names.
c5a8ea74: Try without _librsync.
bac86efb: Try fully qualified module name.
5226d7e7: Try with virtualenv.
885498a7: Try again…
20271a44: Mock sucks, big time!
66592f03: Mock sucks, big time!
31a0b938: Mock sucks!
0e4015d5: Try MagicMock.
ff178e9a: Try MagicMock.
dd573593: Fix build on RTD.
7f27522d: Fix build on RTD.
302c6d7f: Fix build on RTD.
e36df243: Fix build on RTD.
811174f2: Fix build on RTD.
7c746284: Remove _build dir from git. Fix some names, authors.
77874763: Merged in lp:~mstoll-de/duplicity/duplicity - Backblaze
announced a new domain for the b2 api
4da1f3c9: Merged in lp:~mstoll-de/duplicity/duplicity - Backblaze
announced a new domain for the b2 api
f37f8e00: Fixed bugs #815510 and #1615480 - Changed default –volsize
to 200MB
e9cb5c33: Fixed bugs #815510 and #1615480 - Changed default –volsize
to 200MB
55712fd4: First pass at some Sphinx docs for moving to
readthedocs.org
eef444be: Merged in lp:~fenisilius/duplicity/acd_init_mkdir - Allow
duplicity to create remote folder
5ca8a194: Merged in lp:~fenisilius/duplicity/acd_init_mkdir - Allow
duplicity to create remote folder
5fca1c44: Fixed bug #1612472 with patch from David Cuthbert -
Restore from S3 fails with –with-prefix-archive if prefix includes ‘/’ *
Merged in lp:~arashad.ahamad/duplicity/duplicity_latest - Changes for
connecting to IBM Bluemix ObjectStorage. See man page.
de408708: Merged in lp:~arashad.ahamad/duplicity/duplicity_latest -
Changes for connecting to IBM Bluemix ObjectStorage. See man page.
986b663c: Fixed bug #1612472 with patch from David Cuthbert -
Restore from S3 fails with –with-prefix-archive if prefix includes
‘/’
0899a9a8: Added documentation for connecting to IBM Bluemix
ObjectStorage
36dc2014: Added support to connect IBM Bluemix ObjectStorage
2fa3afdd: Restore testing/gnupg/gpg.conf and
testing/gnupg/README.
b912fdee: Whoops, committed too much!
4fcd098b: Fixed conflict in merge from Martin Wilck and applied -
https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301492 -
merge fixes setsid usage in functional testing.
ad533083: Fixed conflict in merge from Martin Wilck and applied -
https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301492 -
merge fixes setsid usage in functional testing.
b54e2a57: Remove -w from setsid in functional tests.
f0d4f0a6: Merged in lp:~mwilck/duplicity/duplicity - Speedup of
path_matches_glob() by about 8x. See
https://code.launchpad.net/~mwilck/duplicity/duplicity/+merge/301268 for
more details.
81483199: Merged in lp:~mwilck/duplicity/0.7-series - Speedup of
path_matches_glob() by about 8x. See
https://code.launchpad.net/~mwilck/duplicity/0.7-series/+merge/301332
for more details.
ae2ca117: Fix unit test failures for
{Old,Short}FilenamesFinalTest
dd75a6f9: Fix failures of unit tests with –hidden-encrypt-key
f94a306d: selection.py: use closure for matching paths with glob
expressions
86827d41: selection.py: glob_get_normal_sf: use closure
path_matches_glob_fn
b1ddf387: globmatch: path_matches_glob_fn: return closure for path
match
0ce2edcf: Merged in
lp:~aaron-whitehouse/duplicity/07-fix_deja_dup_error_on_locked_files -
Revert log.Error to log.Warn, as it was prior to the merge in rev 1224,
as this was affecting other applications (e.g. deja dup; Bug
#1605939).
c9ce84a5: Merged in
lp:~aaron-whitehouse/duplicity/07-fix_deja_dup_error_on_locked_files -
Revert log.Error to log.Warn, as it was prior to the merge in rev 1224,
as this was affecting other applications (e.g. deja dup; Bug
#1605939).
d6977486: Revert log.Error to log.Warn, as it was prior to the merge
in rev 1224, as this was affecting other applications (deja dup).
ab61d44a: Fixed bug #1600692 with patch from Wolfgang Rohdewald -
Allow symlink to have optional trailing slash during verify.
89480ad4: Fixed bug #1600692 with patch from Wolfgang Rohdewald -
Allow symlink to have optional trailing slash during verify.
75575fe1: Merged in lp:~aaron-whitehouse/duplicity/remove-python26 -
Remove Python 2.6 support references and tests.
2bdfcb31: Fix date in CHANGELOG. Release date was 2016-07-02, not
01.
643b85ec: Fix date in CHANGELOG. Release date was 2016-07-02, not
01.
4802af3d: Remove import of unittest2 for Python <2.7, now that
Python 2.7 is the minimum version.
4ffed34b: Remove Python 2.6 settings from tox.ini
ca63ac7d: Merge with trunk.
628ba0ee: Changes from 0.7.08
3c78a4e7: Merged in lp:~aaron-whitehouse/duplicity/PEP8_W503_fixes -
Fix PEP8 W503 errors (line break before binary operator) and enable the
PEP8 test for this in test_code.CodeTest. * Merged in
lp:~aaron-whitehouse/duplicity/PEP8_line_length - Set line length error
length to 120 (matching tox.ini) for PEP8 and fixed E501(line too long)
errors. * Merged in lp:~duplicity-team/duplicity/po-updates
0bd37cc4: Properly remove line too long errors (E501) from PEP8
ignores.
7c0a0601: Fixed lines longer than 120 chars.
75f44379: Set line length error length to 120 (matching tox.ini) and
fixed PEP8 E501(line too long) errors.
6b6e9abf: Fix PEP8 W503, line break before binary operator.
70216f8a: Remove Python 2.6 support from the test suite and
references to it from README and README-REPO.
a6ae75e0: Merge 0.7-series changes to README-REPO.
c44227b5: Merge 0.7 series changes to README
b25f954f: Merge 0.7 series changes to tox.ini
0bb6379b: Fixed bug #1594780 with patches from B. Reitsma - Use
re.finditer() to speed processing
a04231ee: Merged in lp:~aaron-whitehouse/duplicity/fix_stat_errors -
Only give an error about not being able to access possibly locked file
if that file is supposed to be included or scanned (i.e. not excluded).
Fixes Bug #1089131
c62e273b: Fixed README-REPO to no longer mention 0.6-series
c3c7b50d: Only give an error about not being able to access possibly
locked file if that file is supposed to be included or scanned (i.e. not
excluded).
75712a46: Fixed bug #822697 ssh-options not passed in rsync over ssh
- Added globals.ssh_options to rsync command line * Increased default
volume size to 200M, was 25M
cf92c3c2: Merged in lp:~aaron-whitehouse/duplicity/fix_pep8 - Fix
PEP8 error in onedrivebackend.py (space before bracket)
d642a0d4: Fix PEP8 error in onedrivebackend.py (space before
bracket).
d9ee1a17: Fix pep8 issues from last two patch sets.
c565f06d: Merged in lp:~mstoll-de/duplicity/b2-reauth - Fixes bug
#1588503 b2: large uploads fail due to expired auth token
b0dca827: Fixed bug #1589038 with patches from Malte Schröder -
Added ignore_case option to selection functions
9bfc42fa: b2 reauth: use other log level
928f188e: Handle expired auth token
c2a412b4: Fixed bug #1586992 with patches from Dmitry Nezhevenko -
Patch adds _delete_list to Par2Backend. And _delete_list fallbacks to
_delete calls if wrapped backend has no _delete_list.
3949daff: Fixed bug #1586934 with patches from Dmitry Nezhevenko -
fixes error handling in wrapper
0e512463: Fixed bug #1573957 with patches from Dmitry Nezhevenko -
upload last chunk with files_upload_session_finish to avoid extra
request - upload small files using non-chunked api
8b9df748: Merged in lp:~ghoz/duplicity/swift-prefix - adds the
abiliy to use path in the swift backend, in order to have multiple
backups to the same container neatly organized.
5fb7b933: Adds prefix support to swift backend
66de12b5: Merged in lp:~noizyland/duplicity/fix_azurebackend_typo -
Fix typo in error handling code
56a249ef: Fix typo in error handling code.
9afe9cdc: Add missing build-dep apparently now not installed by
default with python2 in xenial+
a6c632cc: Fixed bug #1570293 - removed flush() after write. - revert
to previous version
4791057c: Fixed bug #1571134 and #1558155 - used patch from
https://bugs.debian.org/820725 but made changes to allow the user to
continue using the old version
63481d30: Remove unused (default) argument.
96a52837: Fixed bug #1569523 - bug introduced in improper fix of bug
#1568677 - gotta love those inconsistent APIs
46d5dec0: Blasted JIT imports got me again!
fa2e1117: Fixed bug #1568677 - bug introduced by incomplete fix of
bug 1296793 - simplified setting of bucket locations
7bcc6635: Fixed bug 1568677 with suggestions from Florian Kruse -
bug introduced by incomplete fix of bug 1296793
f7496854: Merged in lp:~duplicity-team/duplicity/po-updates
928efc08: Fix bug reported on the mailing list from Mark Grandi
(assertion error while backing up). In file_naming.parse() the filename
was being lower cased prior to parsing. If you had used a prefix with
mixed case, we were writing the file properly, but could not find it in
the backend.
617e33b7: Merged in
lp:~aaron-whitehouse/duplicity/split_glob_matching_from_select - Move
glob matching code out of selection.py’s Select function and into
globmatch.py.
803f2e28: Re-added import of re, as re.compile still used in
selection.py.
015f19c5: Move complexity of matching paths to globs into
globmatch.py path_matches_glob, rather than in selection.py Select.
9dc4b19c: Merged in
lp:~aaron-whitehouse/duplicity/improve_present_get_sf_man_page - Improve
man page entry for –exclude-if-present
2c59a455: Move ignorecase handling out of re.compile to use .lower()
instead.
0e0bdf1f: Remove glob_get_prefix_res from selection.py, now that it
has moved to globmatch.py.
c755ede2: Move content of glob_get_prefix_res to globmatch.py
glob_get_prefix_regexs.
36b748a2: Improve man page entry for –exclude-if-present
a46f8cb1: Fixed globmatch tests. Tests pass.
67148780: Resync with trunk.
a3285c69: Move glob_to_re to globmatch.py. Moved associated tests
into test_globmatch.py.
69e97350: Applied patch from Dmitry Nezhevenko to upgrade dropbox
backend: update to SDK v2 - use chunked upload
f44fa10b: More fixes to dist/makedist to make it more OS agnostic. *
Merged in lp:~ed.so/duplicity/webdav.lftp.ssl-overhaul duplicity.1,
commandline.py, globals.py - added –ssl-cacert-path parameter backend.py
- make sure url path component is properly url decoded, in case it
contains special chars (eg. @ or space) lftpbackend.py - quote
all cmd line params - added missing lftp+ftpes protocol - fix
empty list result when chdir failed silently - added ssl_cacert_path
support webdavbackend.py - add ssl default context support for python
2.7.9+ (using system certs eg. in /etc/ssl/certs) - added
ssl_cacert_path support for python 2.7.9+ - gettext wrapped all log
messages - minor refinements
81611555: path may be unset
add32b34: duplicity.1, commandline.py, globals.py - added
–ssl-cacert-path parameter backend.py - make sure url path component is
properly url decoded, in case it contains special chars (eg. @ or space)
lftpbackend.py - quote all cmd line params - added missing
lftp+ftpes protocol - fix empty list result when chdir failed silently -
added ssl_cacert_path support webdavbackend.py - add ssl default context
support for python 2.7.9+ (using system certs eg. in /etc/ssl/certs) -
added ssl_cacert_path support for python 2.7.9+ - gettext wrapped all
log messages - minor refinements
36b0a8e7: Reverted changes made in rev 1164 w.r.t. getting the
source from VCS rather than local directory. Fixes bug #1548080.
a1161693: Move the logic of the glob_to_re method into the
glob_to_regex function in globmatch.py.
ad074a27: Merged in lp:~rye/duplicity/mediafire - Backend for
https://www.mediafire.com - Requires
https://pypi.python.org/pypi/mediafire/ installed.
7236b401: Backed out changes made by patching for bug #1541314.
These patches should not have been applied to the 0.7 series.
ca3dbff4: Added acdclibackend.py from Stefan Breunig and Malay Shah
- renamed from amazoncloudbackend to stress use of acd_cli * Fixed some
2to3 and Pep8 issues that had crept in
2b9da532: Merged in lp:~harningt/duplicity/multibackend-mirror -
This changeset addresses multibackend handling to permit a mirroring
option in addition to its “stripe” mode to make it a redundancy tool vs
space-expansion tool. To do this without changing the configuration too
much, I used the query string that would generally go unused for files
to specify behavior that applies to all items inside the configuration
file.
c37502e2: Fixed bug 1474994 Multi backend should offer mirror option
- added query parameter option to multi-backend - added mode parameter
to alter how the backend list is operated on (mirror/stripe) - added
onfail parameter to alter how backend failure is handled - updated
man-page with documentation
dad54f89: Checkpoint, merge latest.
ab567e18: Use built-in username/password support in
backends.py.
7b44bb65: Remove custom logging, add usage info.
fe15531d: Merge changes from trunk.
976fdc71: Fixed a patching error in ssh_pexpect_backend.py * Merged
in lp:~fpytloun/duplicity/webdav-gssapi-fix - Make kerberos optional for
webdav backend
f69c567c: Make kerberos optional for webdav backend
e6ff1efb: Fix for bug #1538333 - assert filecount ==
len(self.files_changed) - added flush after every write for all
FileobjHooked files which should prevent some errors when duplicity is
forcibly closed.
d0cfccca: Add more pylint ignore warnings tags * Adjust so
test_restart.py can run on Mac as well
0f278926: Merged in lp:~fpytloun/duplicity/webdav-gssapi - support
GSSAPI authentication in webdav backend
c1863b1c: Support GSSAPI authentication in webdav backend
134281ef: Fix submitter name in changelogs. - Change comment to be
correct.
60761e5d: Fixed bug #1492301 with patch from askretov (manually
refresh oauth).
d0bf7d7a: Fixed bug #1379575 with patch from Tim Ruffling (shorten
webdav response).
14052b49: Fixed bug #1375019 with patch from Eric Bavier (home to
tmp).
fc8e0576: Fixed bug #1369243 by adjusting messages to be more
readable.
c7be51a0: Fixed bug #1260666 universally by splitting the filelist
for delete before passing to backend.
478a84a4: Pep8 corrections for recently released code.
2cccd9ad: Merged in lp:~mifchip/duplicity/duplicity - fix bug
#1313964, absolute path doesn’t work for FTP
133e2e93: Bug #1313964 fix. lstrip(‘/’) removed all the slashes, it
was an issue.
5e52bcb3: Fixed bug #1296793 - Failed to create bucket - use
S3Connection.lookup() to check bucket exists - skips Boto’s Exception
processing for this check - dupe of bug #1507109 and bug #1537185
6d087451: Checkpoint,merge in current changes.
f3e2186b: Create folder recursively
a469aa92: Use upload session context manager
91d4f8c9: Applied changes from ralle-ubuntu to fix bug 1072130. -
duplicity does not support ftpes://
0b6ff26f: Allow importing module, but fail on init
c7cf0c30: MediaFire Backend - initial version
cd6b4b5f: Undo changes to test_restart.py. GNU tar is needed. * Fix
minor pep8 nit in collections.py
6dca915e: Applied patch from abeverly to fix bug #1475890 - allow
port to be specified along with hostname on S3 - adjusted help text and
man page to reflect the change
a31ddfe7: Applied patch from shaochun to fix bug #1531154, -
–file-changed failed when file contains spaces
c072e977: Fix stupid issue with functional test path for
duplicity
e8e265aa: Make test_restart compatible with both GNUtar and
BSDtar
d23eed28: Partial fix for bug #1529606 - shell code injection in
lftpbackend - still need to fix the other backends that spawn shell
commands
1c3b1cf5: Random stuff: supply correct path for pydevd under Mac -
fix some tests to run under Mac as well
622f1a06: Checkpoint: remove RPM stuff from makedist - have makedist
pull directly from VCS, not local dir - update po translation directory
and build process - clean up some odd error messages - move Pep8 ignores
to tox.ini
e50dea6f: Checkpoint: remove RPM stuff from makedist - have makedist
pull directly from VCS, not local dir - update po translation directory
and build process - clean up some odd error messages - move Pep8 ignores
to tox.ini
7581d295: 2to3 cleanup.
9ceac23f: Pep8 cleanup.
2b917d21: Fix date.
860a6dd0: Merged in lp:~matthew-t-bentley/duplicity/b2 - A couple
fixes allowing multiple backups to be hosted in different folders in the
same bucket as well as some logging for -v9.
6bdc912f: Make sure listed files are exactly in the requested path
Thanks to Andreas Knab knabar@gmail.com for the pull request
cccb718c: Set fake (otherwise unused) hostname for prettier password
prompt Thanks to Andreas Knab knabar@gmail.com for the patch
aa47b91f: Add debugging for b2backend
af89609f: Merged in lp:~matthew-t-bentley/duplicity/b2 - Allow
multiple backups in the same bucket. - Fixes #1523498.
2d2ec83e: Allow multiple backups in the same bucket
08a86ebe: Merged in lp:~matthew-t-bentley/duplicity/b2 - Fix import
and error typos.
1397a1f7: Merge and re-add missing error
cba442a5: Fix missing import and typos
92c8de65: Merge from upstream
4ae00a13: Merged in lp:~matthew-t-bentley/duplicity/b2 - Adds a
backed for BackBlaze’s (currently beta) B2 backup service. - This adds
backends/b2backend.py, modifies log.py to add an error code and modifies
commandline.py to add the b2:// example to the help text. * Fix perms on
duplicity/backends/multibackend.py
593569df: Undo changes to po files
f1d502b3: Remove unnecessary requirements section in manpage
11c6d955: Merged in lp:~noizyland/duplicity/azurebackend-fixes -
Support new version of Azure Storage SDK - Refactor _list method to
support containers with >5000 blobs
21495794: Documentation
5140a452: Merge from master
ff7bbd35: Add help text for b2
cd8c3585: Add basic error handling
dac0b75b: Support new version of Azure Storage SDK * Refactor _list
method to support containers with >5000 blobs
96081f0a: Make sure which() returns absolute pathname.
e3408a41: Remove some print statements.
365be9e7: Fix bug #1520691 - Shell Code Injection in hsi backend -
Replace use of os.popen3() with subprocess equivalent. - Added code to
expand relative program path to full path. - Fix hisbackend where it
expected a list not a string.
92689752: Add BackBlaze B2 backend. Still needs some work (error
handling, etc)
aea12f7a: Fix missing self.
97cd948d: Fix bug #1520691 - Shell Code Injection in hsi backend -
Replace use of os.popen3() with subprocess equivalent.
8b6b88dd: Merged in lp:~feraudet/duplicity/fix - Fix missing
SWIFT_ENDPOINT_TYPE env var, bug 1519694.
0556a1ab: Fix #1519694
63b81445: Merged in lp:~michal-s/duplicity/duplicity - Fix
azurebackend storage class import
dd6bcc79: debugged storage class import
f23b85c4: Fixed bug #1511308 - Cannot restore no-encryption,
no-compression backup - Corrected code to include plain file in
write_multivolume() - Added PlainWriteFile() to gpg.py
2861c1dc: Merged in lp:~ed.so/duplicity/tempfile.tempdir - make sure
packages using python’s tempfile create temp files in duplicity’s temp
dir
c5f4d543: make sure packages using python’s tempfile create temp
files in duplicity’s temp dir
18617ce0: Reversed previous changes to lockfile. Now it will take
any version extant in the LP build repository. (PyPi is not avail in LP
build).
654545ea: Reversed previous changes to lockfile. Now it will take
any version extant in the LP build repository. (PyPi is not avail in LP
build).
d0cb8ac1: Try adding spaces.
335b975e: Try lockfile>=0.11.0 (use full version number).
19d349e5: Revert last change.
2c942bd1: Try lockfile==0.11.0 instead of lockfile>=0.9
e1f357ee: Merged in lp:~michal-s/duplicity/duplicity -
WindowsAzureMissingResourceError and WindowsAzureConflictError changed
due to SDK changes.
13b2be76: WindowsAzureMissingResourceError and
WindowsAzureConflictError classes changed due to SDK changes
61b7f64b: Cleanup issues around Launchpad build, mainly lockfile
>= 0.9.
9d177145: Merged in lp:~ed.so/duplicity/setup.shebang - Having the
python interpreter searched in the PATH is much more flexible than the
/usr/bin/python inserted into our scripts shebang by setuptools. This
patch prevents that. don’t touch my shebang! :)
5c2f0c70: Modded tox.ini to use the latest lockfile.
99e7f6f4: also check python version number upper bound. we run on
2.6 and 2.7 currently
7049c83f: Applied patch from Alexander Zangerl to update to changes
in lockfile API 0.9 and later. Updated README to notify users.
e6cd24ac: don’t touch my shebang
7e807390: Add pycache.
4c0e3e4b: Upgrade to newest version of pep8 and pylint. Add three
ignores to test_pep8 and one to test_pylint to get the rest to pass.
They are all valid in our case.
f983c746: Fix header date.
d1e47ac7: The ptyprocess module no longer supports Python 2.6, so
fix tox.ini to use an older version. Make explicit environs for all
tests.
578a3000: Merged in lp:~mnjul/duplicity/s3-infreq-access - This adds
support for AWS S3’s newly announced Infrequent Access storage class and
is intended to implement Blueprint:
https://blueprints.launchpad.net/duplicity/+spec/aws-s3-std-ia-class . -
A new command line option, –s3-use-ia, is added, and boto backend will
automatically use the correct storage class value depending on whether
–s3-use-rrs and –s3-use-ia is set. Command line parser will prompt error
if both –s3-use-ia and –s3-use-rrs are used together, as they conflict
with each other. - The manpage has been updated giving a short
explanation on the new option. Its wording derives from Amazon’s
official announcement:
https://aws.amazon.com/about-aws/whats-new/2015/09/announcing-new- amazon-s3-storage-class-and-lower-glacier-prices/
6e842ecc: Add support for AWS S3 Standard - Infrequent Access
storage class
5560909f: Merge changes from trunk.
1478924f: Merged in lp:~bmerry/duplicity/pydrive-id-cache - This
fixes the issue a number of users (including myself) have been having
with duplicity creating files with duplicate filenames on Google Drive.
It keeps a runtime cache of filename to object ID mappings, so that once
it has uploaded an object it won’t be fooled by weakly consistent
directory listings.
7eeebb03: Fix up broken merge
18e53be3: Merge in master
d5e31752: Add more logging info
58921fc0: Fix bug #1494228 CygWin: TypeError: basis_file must be a
(true) file - The problem that caused the change to
tempfile.TemporaryFile was due to the fact that os.tmpfile always
creates its file in the system temp directory, not in the directory
specified. The fix applied was to use os.tmpfile in cygwin/windows and
tempfile.TemporaryFile in all the rest. This means that cygwin is now
broken with respect to temp file placement of this one file (deleted
automatically on close).
3a23b29b: Fix bug #1493573. Correct option typo in man page.
98483d0e: Updated man pages to reflect more contributors.
d482620e: Sync with v0.7.
d282298a: Merged in lp:~germar/duplicity/par2removefix - After
reorganisation in revision 981 and the fix for bug #1406173 the
par2backend does not remove .par2 files anymore when removing
duplicity-*.gpg files. - This banch adds an unfiltered_list() method
which is used in delete() and delete_list()
710a9648: par2 backend remove par2 files
4862d3ca: Merged in lp:~w.baranowski/duplicity/selection_debug -
This little patch logs debug messages concerning path selection process,
and so allows users to debug their include/exclude configuration.
c086efd6: Added debug msgs to the routine checking path
selection
01dc76af: Refactored the selection.Select.Select method; fewer exit
points now
ded95170: Fixed Bug 1438170 duplicity crashes on resume when using
gpg-agent with patch from Artur Bodera (abodera). Applied the same patch
to incremental resumes as well.
7008e2ae: Merged in
lp:~aaron-whitehouse/duplicity/disable_code_tests_for_lpbuildd - Set
RUN_CODE_TESTS to 0 for lpbuildd tox profile, reflecting its value on
the Launchpad build server (and therefore skipping PEP8, 2to3 and
pylint). More accurately reflects the system we are mimicking and saves
approximately 1 minute per test run.
7728b5eb: Rename tox profile for Launchpad’s Precise build server to
“lpbuildd-precise” for clarity (and to make it clear it should be
removed once Precise is no longer supported).
b7c7ef9a: Set RUN_CODE_TESTS to 0 for lpbuildd tox profile,
reflecting its value on the Launchpad build server (and therefore
skipping PEP8, 2to3 and pylint). More accurately reflects the system we
are mimicking and saves approximately 1 minute per test run.
d912d18c: Merged in
lp:~aaron-whitehouse/duplicity/launchpad_tox_profile - Add tox testing
profile that mimics the packages installed on the Launchpad build
server, to reduce the likelihood of tests passing our test suite, but
failing on the build server (e.g. because of the out-of-date mock
version).
44d6c8a3: Fixed Bug 1476019 S3 storage bucket not being
automatically created with patch from abeverley
86188a9c: Fixed Bug 1476019 S3 storage bucket not being
automatically created with patch from abeverley
613ec3ee: Add further instructions in README-REPO on how to test
against one environment.
4f5b303b: Add lpbuilldd as an additional tox profile, replicating
the setup of the launchpad build server.
3137b303: Merged in lp:~aaron-whitehouse/duplicity/fix_patch_error -
Change use of mock.patch in unit tests to accommodate the obsolete
version of python-mock on the build server.
edec989f: Change use of mock.patch to accommodate the obsolete
version of python-mock on the build server (and avoid the following
error: TypeError: patch() got an unexpected keyword argument
‘return_value’ )
172463df: Merged in lp:~aaron-whitehouse/duplicity/fix_2to3_issues -
Fixed 2to3 issues. Updated README-REPO with more test information.
Updated pylint and test_diff2 descriptions to make it clear these
require packages to be installed on the sytem to pass. All tests pass on
Python 2.6 and Python 2.7 as at this revision.
6deea84c: Merged in
lp:~dag-stenstad/duplicity/swift_authversion_3_support - Added support
for Openstack Identity v3 in the Swift backend.
0dfc1c61: Fixed 2to3 issues. Updated README-REPO with more test
information. Updated pylint and test_diff2 descriptions to make it clear
these require packages to be installed on the system to pass. All tests
pass on Python 2.6 and Python 2.7 as at this revision.
7d371d62: Added support for Identity v3.
abd25de9: Merged in
lp:~aaron-whitehouse/duplicity/improve_tox_and_python2-6_testing -
Testing improvements, particularly in relation to testing against Python
version 2.6: tox.ini fixed so that it is possible to run individual
tests against both Python 2.6 and 2.7; * updated test_code.py to use
unittest2 for Python versions < 2.7 (instead of failing); *
./run-tests now correctly runs all tests against both Python 2.6 and
2.7; and * improved testing directions in README-REPO.
94a49ec8: Merged back to trunk.
896ed7a2: Delete redundant second sys import in test_code.py.
00afa726: Fixed tox.ini to correctly run individual tests. Updated
test_code.py to use unittest2 for Python versions < 2.7 (instead of
failing). Improved testing directions in README-REPO.
309e6320: Merged in
lp:~aaron-whitehouse/duplicity/trailing_slash_match_dirs - Made globs
with trailing slashes only match directories, not files, fixing Bug
#1479545.
82870b12: Made globs with trailing slashes only match directories,
not files, fixing Bug #1479545.
941febca: Added functional unittests to exhibit current behaviour of
trailing slashes in globs. See Bug #1479545.
f40f0866: Merged in lp:~aaron-whitehouse/duplicity/reenable_tests -
Re-enable unit.test_selection tests that had been temporarily commented
out.
2b7349e9: Re-enable tests that had been temporarily commented
out.
1fc62707: Merged in lp:~aaron-whitehouse/duplicity/bug_884371 -
Fixed Bug #884371 - Stopped an exclude glob trumping an earlier scan
glob, but also ensured that an exclude glob is not trumped by a later
include. This fix is important, as without it files that are specified
to be included are not being backed up as expected. - Fixed Bug #932482
- a trailing slash at the end of globs no longer prevents them working
as expected.
f86a0740: Add test_glob_re unit test back in.
485e45c0: Remove unnecessary use of mock.patch in
unit.test_selection.py.
a9135d6f: Remove special casing for final glob in glob list as no
longer necessary.
d8634bdb: Fixed Bug #932482 by checking for a trailing slash in each
glob and removing it if present. Enabled tests checking this behaviour.
PEP8 fixes along the way.
bfb96cfd: Stopped an exclude glob trumping an earlier scan glob, but
also ensured that an exclude glob is not trumped by a later include.
Fixed Bug #884371. Activated the (expectedFailure) tests that were
failing because of this bug.
cd4203df: Additional tests to exhibit current exclude/scan
interaction and implement two functional tests as unit tests.
46226977: Added unit tests for negative square brackets ([!a,b,c]
and [!1-4]).
936cffb7: Added test cases (unit and functional) to test the current
behaviour of selection.py.
5a2fe8fc: Fixed bug 1471348 Multi back-end doesn’t work with hubiC
(again) - hubiC should reach up to duplicity.backend.__init__
308960c6: Fixed bug 1471348 Multi back-end doesn’t work with hubiC -
added init of appropriate superclass in both cases.
406fc410: Merged in
lp:~aaron-whitehouse/duplicity/reactivate_progress_test - Re-enable the
test of the –progress option (test_exclude_filelist_progress_option),
which was marked as an expected failure. The issue causing this test to
fail was fixed in revision 1095 and the test now passes.
d32c8895: Merged in
lp:~aaron-whitehouse/duplicity/fix_POTFILES.in_and_run-tests - Fixed two
filename references in po/POTFILES.in, a mistake which crept in in rev
1093 and caused testing/run-tests to fail with “IndexError: list index
out of range”.
a2bd3b16: Fixed two filename references in po/POTFILES.in, a mistake
which crept in in rev 1093 and caused testing/run-tests to fail with
“IndexError: list index out of range”.
6a4b7ae2: Re-enable the test of the –progress option
(test_exclude_filelist_progress_option), which was marked as an expected
failure. The issue causing this test to fail was fixed in revision 1095
and the test now passes.
87e5b4df: Merged in lp:~ed.so/duplicity/gpg.binary - new parameter
–gpg-binary allows user to point to a different gpg binary, not
necessarily in path
eff9cf33: Merged in lp:~ed.so/duplicity/gpg.binary - new parameter
–gpg-binary allows user to point to a different gpg binary, not
necessarily in path
8f5dfd5a: new parameter –gpg-binary allows user to point to a
different gpg binary, not necessarily in path
f93b73c9: Fixed bug 1466582 - reduce unnecessary syscall with
–exclude-if-present - with patch from Kuang-che Wu to make sure
resulting path is a directory.
1fe73a19: Fixed bug 1466582 - reduce unnecessary syscall with
–exclude-if-present - with patch from Kuang-che Wu to make sure
resulting path is a directory.
05f82469: Fix missing argument in _error_code
2e07af43: Fixed bug 1466160 - pydrive backend is slow to remove old
backup set - with patch from Kuang-che Wu to implement
_delete_list().
ca93dac6: Fixed bug 1466160 - pydrive backend is slow to remove old
backup set - with patch from Kuang-che Wu to implement
_delete_list().
dc44ebac: Fixed bug 1452263 - par2 option not working on small
processors - with patch from Kuang-che Wu to ignore default 30 second
timeout.
f905b999: Fixed bug 1465335 - pydrive still use files in trash can -
with patch from Kuang-che Wu to ignore trashed files.
c6095a89: Add an ID cache to the PyDrive backend.
92babc5c: Fixed bug 791794 - description of –gpg-options is
misleading, Simply needed to add the ‘–’ before the options as in “–opt1
–opt2=parm”.
8f85ba05: Fix a couple of PEP8 glitches.
07d695cf: Merged in
lp:~raymii/duplicity/fix-swiftbackend-max-10000-files-in-list -
Swiftclient by default returns at max 10000 files. By adding
full_listing=True we make sure all objects are returned. Ref:
https://lists.nongnu.org/archive/html/duplicity-talk/2015-05/msg00060.html
and
http://docs.openstack.org/developer/python-swiftclient/swiftclient.html#swiftclient.client.get_container
dbcc35d1: Merged in lp:~ed.so/duplicity/gdocs.pydrive - make pydrive
new gdocs default backend - keep gdata backend as gdata+gdocs://
507b2b71: Add full_listing=True so that swiftclient returns more
than 10000 objects. Default is False.
add8b625: manpage - some reordering, update “A NOTE ON SSH BACKENDS”
to the new prefix+ changes
bff388e7: make pydrive new gdocs default backend keep gdata backend
as gdata+gdocs://
8e9579d3: Merged in lp:~bmerry/duplicity/pydrive-regular - This
implements the proposal made by somebody else
(http://lists.gnu.org/archive/html/duplicity-talk/2015-02/msg00037.html)
to allow the pydrive backend to work with a normal drive account instead
of a service account. It seems to be working for me: I was able to
migrate seamlessly from the gdocs backend. It’s set up so that a service
account can still be used, depending on which environment variable is
set. The man page is updated to describe how to use the new
functionality.
99d19983: Support using PyDrive with a regular Google account,
instead of a service account.
ec708e90: Merged in lp:~noizyland/duplicity/fix-progress - Fixes bug
1264744. selection.filelist_globbing_get_sfs leaves the filelist file
object’s position at the end of the file. When the –progress option is
used the filelists need to be read twice. On the second read nothing is
read from the file because file has already been read and the position
is EOF. This patch calls seek(0) on the filelist to reset the position
to BOF so that subsequent read() calls will return data. * Added pylint
ignore error in webdavbackend.py.
8968ac69: Perform seek(0) on filelist before read().
9bd2949f: Reset filelist position to beginning of file after calling
read(). This allows file to be read again.
e4900da1: Merge in lp:~sjakthol/duplicity/onedrive-error-message -
Add proper error message for OneDrive backend when python-requests or
python-requests-oauthlib is not installed (bug 1453355).
efa361be: Add proper error messages for OneDrive backend when
python-requests or python-requests-oauthlib is not installed (bug
1453355).
62989df4: Added ability to get single file status from
collection-status with patch from jitao (bug 1044715), like so: $
duplicity collection-status –file-changed c1 file://./foo
a37e7d52: Fixed bug 1448249 and bug 1449151 thanks to David Coppit.
- When patching, close base file before renaming
cd0b62a0: Fixed bug 1444404 with patch from Samu Nuutamo - rdiffdir
patch crashes if a regular file is changed to a non-regular file
(symlink, fifo, …)
71cc1bde: Merge in lp:~cemsbr/duplicity/duplicity - Fix bug 1432229
in Copy.com backend: Reply header has no content-type for JSON
detection. Now, we also check whether the content starts with ‘{’.
b9b032dc: Fix bug 1432229 in Copy.com backend - Reply header has no
content-type for JSON detection. Now, we also check whether the content
starts with ‘{’.
c3d3d530: Move requirements section lower in manpage.
5af43184: Merge in lp:~stynor/duplicity/multi-backend - A new
backend that allows use of more than one backend stores (e.g. to combine
the available space from more than one cloud provider to make a larger
store available to duplicity).
ea7aa648: logging cleanup
967e0ffe: typo - missing quote
23bcafe5: add doc
231328db: add doc
0843ac19: adjust delete to make unit tests pass
8b518418: document json format
dc3b7365: improved logs; dont allow low level retry to kick in
4f5535a1: initial working code - tested with gdocs and file
backends
2ad3929b: Fix bug 1437789 with patch from pdf - par2backend.py
incorrect syntax in get()
264942d3: Fix bug 1434702 with help from Robin Nehls - incorrect
response BackendException while downloading signatures file.
6d91174f: Fix bug 1432999 with hint from Antoine Afalo.
7a45f8d1: Merged in lp:~aaron-whitehouse/duplicity/filelist_combine
- Merged globbing and non-globbing filelists to use the same code path
and all accept globbing characters. Added deprecation warning to the
–exclude-globbing-filelist and include-globbing-filelist options in
commandline.py and hid them from help output. Updated the manual (and
unit tests) accordingly. - Note that this does trigger a change in
behaviour for duplicity. Previously, include patterns in
include-filelist did not match files in a directory that was included,
so /usr/local in an include file would not have matched /usr/local/doc.
Now, this folder would be included, as would occur if –include or the
old –include-globbing-filelist was used. Additional lines will therefore
need to be added to filelists to unambiguously exclude unwanted
subfolders, if this is intended. - Mark –include-filelist-stdin and
–exclude-fielist-stdin for deprecation and hide from –help output.
be67633a: Updated duplicity.pot
520c952a: Merge in changes to rebase against dev.
e9c395cf: Changed tests to test filelist, rather than globbing
filelist, except for one functional globbing test of each type to ensure
this continues to work until it is deliberately removed. Changed naming
of tests etc accordingly.
acb05514: Removed unnecessary tests (post merging of non-globbing
and globbing filelists) and created a globbing version of the one test
that was only written for non-globbing filelists.
891c262d: Updated manual to remove references to globbing filelists
and stdin filelists and make consequential changes to the description of
include-filelist and exclude-filelist behaviour.
66c6e9e8: Merge in lp:~duplicity-team/duplicity/po-updates
1083ca4c: remove extraneous string format arg in previous scp
fix.
a3506ebd: Fix for –pydevd debug environment and location under
Eclipse. * Fix for bug where scp was actually working as scp and not
working with rsync.net because of using extraneous test command in
restricted shell. Was trying “test -d ‘foo’ || mkdir -p ‘foo’”, now only
“mkdir -p foo”.
286b41a6: Note Bug #1423367 was fixed in the previous commit.
82193cf7: Mark –include-filelist-stdin and –exclude-fielist-stdin
for deprecation and hide from –help output. Add additional tests in
stdin_test.sh to test –include-filelist-stdin and that /dev/stdin is an
adequate replacement.
7dd7c606: Added bash script (stdin_test.sh) showing that filelists
from stdin were working as expected despite the changes.
9c4dedeb: Really fix bug 1416344 based on comment #5 by Roman
Tereshonkov
cf31894c: Fix _librsyncmodule.c compilation, bug 1416344, thanks to
Kari Hautio.
b2a52295: Fix spelling error in manpage, bug 1419314.
99ee3463: Added deprecation warning to the
–exclude-globbing-filelist and include-globbing-filelist options in
commandline.py and hid them from help output. Commented out functions
relating to non-globbing filelists. Commented out unit tests related to
non-globbing filelists.
6542cb2d: Made non-globbing filelists use the globbing code path (ie
made all filelists globbing), as per:
http://lists.nongnu.org/archive/html/duplicity-talk/2015-01/msg00011.html
Fixed Bug #1408411 in the process, as this issue was limited to the
non-globbing code path.
74b7727e: Coalesce CHANGELOG
1efe81c4: Misc fixes for the following PEP8 issues: E401 - see
http://pep8.readthedocs.org
10177806: Misc fixes for the following PEP8 issues: E231, E241,
E251, E261, E262, E271, E272, E301, E302, E303, E502, E701, E702, E703,
E711, E721, W291, W292, W293, W391 - see
http://pep8.readthedocs.org
b47cd765: Misc fixes for the following PEP8 issues: E231, E241,
E251, E261, E262, E271, E272 - see http://pep8.readthedocs.org
bc750aff: Misc fixes for the following PEP8 issues: E231, E241 - see
http://pep8.readthedocs.org
7f8e3ffb: Misc fixes for the following PEP8 issues: E231, E241 - see
http://pep8.readthedocs.org * Fixes for 2to3 issues
ca887059: Merged in
lp:~aaron-whitehouse/duplicity/bug_932482_trailing_slashes_and_wildcards_error
- Added functional and unit tests to show Bug #932482 - that selection
does not work correctly when excludes (in a filelist or in a commandline
option) contain both a single or double asterisk and a trailing
slash.
28e762a7: Added functional and unit tests to show Bug #932482 - that
selection does not work correctly when excludes (in a filelist or in a
commandline option) contain both a single or double asterisk and a
trailing slash.
9d0cf7d1: Merged in
lp:~aaron-whitehouse/duplicity/bug_884371_asterisks_in_includes - Added
tests to unit/test_selection.py and funtional/test_selection.py to show
the behaviour reported in Bug #884371, i.e. that selection is incorrect
when there is a * or ** on an include line of a filelist or commandline
–include.
d8e2bf31: Added credit to Elifarley Cruz for one of the test
cases.
985f7a03: Added functional tests to functional/test_selection.py to
show Bug #884371 (* and ** not working as expected) applies to
commandline –include.
dd2debde: Added tests to unit/test_selection.py and
funtional/test_selection.py to show the behaviour reported in Bug
#884371, i.e. that selection is incorrect when there is a * or ** on an
include line.
969c7951: Merged in lp:~angusgr/duplicity/exclude-older-than - Add
“–exclude-older-than” commandline option, that allows you to only back
up files with a modification date newer than a particular threshold. *
Additional pep8 cleanup.
28e77c9c: Ongoing pep8 corrections.
8c58b82e: Add option –exclude-older-than to only include recently
modified files.
f7904f9d: Applied patch from Adam Reichold to fix bug # 1413792
1e57bd33: Fixed bug # 1414418 - Aligned commandline.py options and
help display contents. - Aligned commandline.py options and manpage
contents. * Changed –s3_multipart_max_timeout to
–s3-multipart-max-timeout to be consistent with commandline option
naming conventions.
42fe989b: Misc fixes for the following PEP8 issues: 201, 202, 203 -
see http://pep8.readthedocs.org
322a6ab4: Misc fixes for the following PEP8 issues: E127, E128 - see
http://pep8.readthedocs.org
34b4fec0: Misc fixes for the following PEP8 issues: E111, E121,
E122, E124, E125, E126 - see http://pep8.readthedocs.org
03c55c9b: Remove ‘gs’ and ‘s3+http’ from uses_netloc[]. Fixes Bug
1411803.
8d96f690: Merged in lp:~duplicity-team/duplicity/po-updates
1426220e: Fixed variable typo in commandline.py that was causing
build fails.
e699b413: Fixed some tabs/spaces problems that were causing install
failures.
33bc2354: Merged in lp:~user3942934/duplicity/pydrive - Currently
duplicity uses gdocs backend for Google Drive backups. gdocs uses
deprecated API and don’t allow backups for managed Google accounts. (see
https://bugs.launchpad.net/duplicity/+bug/1315684) - Added pydrive
backend that solves both of those problems. Published also on
https://github.com/westerngateguard/duplicity-pydrive-backend.
6de78376: Merged in
lp:~noizyland/duplicity/fix_azurebackend_container_names - Azure Backend
examples have underscores in the container names. These are not valid
Azure container names. The underscores have been replaced with hypens
and a note about valid container names added to the man page. - Also
corrects a problem where Azure Exceptions were returing unicode strings
that were not being handled correctly.
f1f7a743: Changed passing keyfile via query in URL to passing the
key by environment variable. Fixed manpage accordingly. Restored Azure
info in manpage that was somehow mistakenly deleted.
1b8d13ef: removed underscores from example Azure container names -
added Azure container name rules to man page - handle unicode messages
correctly in Azure Exceptions
4a83a2ab: Merged in
lp:~aaron-whitehouse/duplicity/progress_option_error - Added
test_exclude_globbing_filelist_progress_option into
functional/test_selection.py, which shows the error reported in Bug
#1264744 - that the –exclude-globbing-filelist does not backup the
correct files if the –progress option is used. Test is marked as an
expected failure so as not to cause the test suite to fail.
be86d843: Added test_exclude_globbing_filelist_progress_option into
functional/test_selection.py, which shows the error reported in Bug
#1264744 - that the –exclude-globbing-filelist does not backup the
correct files if the –progress option is used. Test is marked as an
expected failure so as not to cause the test suite to fail.
4a4a6943: fixed URI parsing
e160fa73: Merged in lp:~vincegt/duplicity/swift_regionname - Fixes
bug #1376628 - Add mapping of SWIFT_REGIONNAME to select region inside
SWIFT when a provider proposes more than one region.
7ca0db5b: Fixed some recently added 2to3 and pep8 issues.
9e5fec9c: Add SWIFT_REGIONNAME parameter to select SWIFT REGION. See
bug #1376628
c931c09f: added pydrive backend aimed to replace the deprecated
gdocs backend
da8d763c: Merged in lp:~noizyland/duplicity/azurebackend - Add
backend for Azure Blob Storage Service
eb81b0af: Merged in lp:~9-sa/duplicity/FixBug1408289 - Fix bug
#1408289 - Wrong attribute name prevented raise of client exception,
working now
121878d3: Merged in
lp:~hooloovoo/duplicity/process_filelists_for_spaces_etc - Process
filelists to remove imperfections such as blank lines, comments and
leading/trailing whitespace. Also correctly processes quoted folders
containing spaces in their names. Extensive unit and functional tests to
test these changes (and selection more generally). - The branch does add
an additional folder to testfiles.tar.gz called select2. This included a
folder with a trailing space, to test the quote test. The subfolders
also have clearer names than in the “select” folder (eg “1sub2sub3”)
which makes it easier to keep track of issues in tests.
11adc9d5: Merged in
lp:~hooloovoo/duplicity/filelist_select_bug_1408411 - Adds functional
test cases that fail because of Bug #1408411 (commented out), to assist
in fixing that bug.
2e81845d: Merged in
lp:~stapelberg+ubuntu/duplicity/add-onedrive-backend - Add a Microsoft
OneDrive backend
9a678c83: selection.py modified to pre-process lines for both
globbing and non-globbing filelists to: remove leading and trailing
whitespace; process quoted filenames correctly; remove blank lines; and
ignore full-line comments. Added tests to unit/test_selection.py and
functional/test_selection.py to cover these. Added a new folder select2
to the testfiles.tar.gz for the new functional tests (clearer names and
a folder with trailing whitespace).
0c75f13d: Added functional test cases to show the issue reported in
Bug #1408411 (Filelist (non-globbing) should include a folder if it
contains higher priority included files -
https://bugs.launchpad.net/duplicity/+bug/1408411).
f0034f64: Add a backend for Microsoft OneDrive
8913a2f0: Fixed bug 1278529 by applying patch supplied in report -
Use get_bucket() rather than lookup() on S3 to get proper error
msg.
a0baa290: Misc fixes for the following PEP8 issues: E211, E221,
E222, E225, E226, E228 - see http://pep8.readthedocs.org
f8534ac1: Fixed bug 1406173 by applying patch supplied in report -
Ignore .par2 files in remote file list * Removed redundant shell test
testing/verify_test.sh
a9a8efc5: Merged in
lp:~hooloovoo/duplicity/add-else-to-badupload-try-except - Badupload
test previously did not have an else in the try-except. The test passed
if the except was triggered, but would also pass if the test did not
trigger an error at all.
d765a5e3: Merged in
lp:~hooloovoo/duplicity/add-additional-verify-tests-for-corrupted-archives
- Add tests to test_verify.py to test that verify fails if the archive
file is corrupted. Changed file objects to use the with keyword to
ensure that the file is properly closed. - Small edit to find statement
in verify_test.sh to make it work as expected (enclose string in
quotes).
d7ac6bb6: Add comments to the verify_test.sh script matching up the
tests in there to the tests implemented in test_verify.py. All the tests
in the shell script have now been implemented, so the shell script
should perhaps be deleted.
d10d3783: Add tests to test_verify.py to test that verify fails if
the archive file is corrupted. Changed file objects to use the with
keyword to ensure that the file is properly closed. Small edit to find
statement in verify_test.sh to make it work as expected (enclose string
in quotes).
39c23600: Add else to try-except in badupload functional test, to
catch where the test passes successfully instead of throwing an error
(as it should).
3b6f29a0: Merge in lp:~hooloovoo/duplicity/test-verify-improvements
- Fix up test_verify, which was a bit of a mess: Simplify test_verify.py
to just do a simple backup and verify on a single file in each test. -
Modify tests to correctly use –compare-data option. - Add tests for when
the source files have atime/mtime manipulated. * Fix duplicity verify to
ignore the file system when globals.compare_data is False. This means
that verify only validates the viability of the backup itself unless
–compare-data is specified. * Reenable test_verify_changed_source_file
test
6548cd8b: Simplify test_verify.py to just do a simple backup and
verify on a single file in each test. Modify tests to correctly use
–compare-data option and to add tests for verify when the source files
have the atime/mtime manipulated.
d04f2de7: Make ssh an unsupported backend scheme * Temporarily
disable RsyncBackendTest and test_verify_changed_source_file
9f19cf08: Merge in lp:~ed.so/duplicity/move_netloc - move netloc
usage definitions into respective backends - fix “[Question #259173]:
rsync backend fails”
https://answers.launchpad.net/duplicity/+question/259173
06e70895: Tests to validate that duplicity does not check filesystem
source during verify unless –compare-data is specified
24a9a21f: move netloc usage definitions into respective
backends
53e1a19d: Added in tests including compare_data
e992570a: Added test_verify_changed_source_file test to flag up the
issue mentioned in Bug #1354880
863405a5: Merge in lp:~andol/duplicity/signkeyformat - Allow
–sign-key to use short format, long format alt. full fingerprint.
4be5d27b: Source formatted, using PyDev, all source files to fix
some easily fixed PEP8 issues. Use ignore space when comparing against
previous versions.
0f5b1d6a: Merged in lp:~ed.so/duplicity/paramiko.identyfile - fix
identity file parsing of –ssh-options for paramiko - manpage fixes
eef544b3: Update man page Add hubic identity module
d3d5a066: Undid move of testing/test_code.py. Instead I fixed it so
that it would not run during PPA build. It now needs the setting
RUN_CODE_TESTS=1 in the environment which is supplied in the tox.ini
file.
fcd868ad: Moved testing/test_code.py to testing/manual/code_test.py
so PPA builds would succeed. Should be moved back later.
3061442c: Remove valid_extension() check from file_naming.py. It was
causing failed tests for short filenames. Thanks edso.
243a54d6: Fix for failing PPA builds. FTP backend has variable class
names.
1da0b737: Fix files list.
8721f718: Merged in
lp:~hooloovoo/duplicity/fix-typo-in-test-description - Fixed spelling
mistake/typo in a description of a test.
99bf9bb8: Merged in lp:~mterry/duplicity/missing-unicode-escape -
Convert restore_dir to unicode before printing.
9d48b9b3: Merged in lp:~ed.so/duplicity/lftp.ncftp.and.prefixes -
retire –ssh-backend, –use-scp parameters - introduce scheme prefixes for
alternative backend selection e.g. ncftp+ftp://, see manpage - scp is
now selected via scheme e.g. scp:// - added lftp fish, webdav(s), sftp
support
a1bbf1cb: Support older versions of dpkg-parsechangelog
c6904d76: add https cert verification switches
721ada4e: more manpage fixes/reformatting retire parameters
–ssh-backend, –use-scp, functionality is achieved via scheme:// setting
now add lftp webdav support add lftp fish support fix assertionerror
when using par2+ backend
eeed0460: Some small testing fixes to work on older copies of mock
and pylint
de5a5c2d: Adjust unit tests to expect single FTP backend
aa975a08: Merged in lp:~moritzm/duplicity/duplicity - Use lftp for
both FTP and FTPS
403dbbe7: Minor accounting fix.
9c3a19a0: 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
daad5bf6: Merged in lp:~ed.so/duplicity/0.7-dpbx.importfix - fix
this showstopper with the dropbox backend “NameError: global name ‘rest’
is not defined”
a7791340: Merged in lp:~jflaker/duplicity/BugFix1325215 - The
reference to “–progress_rate” in the man page as a parameter is
incorrect. Should be “–progress-rate”.
cc80b44d: Merged in lp:~hooloovoo/duplicity/updated-README-REPO -
Changes to README-REPO to reflect the restructuring of the
directories.
8b437e7e: Fixed bug 1375304 with patch supplied by Aleksandar
Ivanovic
b3e1eb1e: Change the branch for stable. lp:duplicity/stable doesn’t
exist and so I’ve changed this to
lp:~duplicity-team/duplicity/0.6-releases as this is the only
non-Windows, non-dev branch.
f4ee5071: Corrected the extra dot in the stable branch line at step
1.
b1b6fe41: Updated README-REPO to reflect restructuring of
directories. See
https://answers.launchpad.net/duplicity/+question/252898
66586f0b: Merged in lp:~jeffreydavidrogers/duplicity/duplicity -
This change fixes two small typos in the duplicity man page.
d4682f33: Merged in lp:~ed.so/duplicity/manpage.verify - clarify
verify’s functionality as wished for by a user surprised with a big
bandwidth bill from rackspace.
433945e4: Added sxbacked.py, Skylable backend. Waiting on man page
updates.
e0d09bb1: Fix two small typos in duplicity man page
fcd7e6ec: clarify verify’s functionality as wished for by a user
surprised with a big bandwidth bill from rackspace.
cfb27d78: 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).
4fda94b6: Merged in lp:~antmak/duplicity/0.7-par2-fix - Useful fix
for verbatim par2cmdline options (like “-t” in par2-tbb version)
50030189: Restore accidental deletion.
d6edff08: 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.
b61b3054: Merged in lp:~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.
2ea8ad5d: 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://account@email.com:your-password@copy.com/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?)
1da69e82: Fix setdata() not being called a better way
801ca58c: README: add copy.com requirements
3a953e96: Add copy.com to man file
41956543: CopyComBackend: import non-main modules only when
needed
c65c4005: Use writefileobj instead of direct write, for less code
and so that we call setdata()
5bccfe6e: More reliably reset webdav connection
0f03bf94: webdav backend fix “BackendException: Bad status code 200
reason OK.” when restarting an interrupted backup and overwriting
partially uploaded volumes.
502e56f7: Added user defined verbatim options for par2
ef09d9a2: Update shebang line to python2 instead of python to avoid
confusion.
6ea7efd1: 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).
0b7a7bb8: Applied expat fix from edso. See answer #12 in
https://answers.launchpad.net/duplicity/+question/248020 *
Forward-ported from r980 in 0.6-series
d819aef6: 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
bfe2f48d: 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
c1b66937: 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).
4e7b05fb: 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.
c3a42168: # Merged in lp:~mterry/duplicity/more-test-reorg - Here’s
another test reorganization / modernization branch. It does the
following things: Drop duplicity/misc.py. It is confusing to have both
misc.py and util.py, and most of the code in misc.py was no longer used.
I moved the one function that was still used into util.py. -
Consolidated the various ways to run tests into just one. I made tox
runs go through ./setup.py test, rather than nosetests. And I made the
./testing/run-tests scripts just call tox. Now we no longer need
nosetests as a test dependency (although you can still use it if you
want). - Added two more code quality automated tests: a pep8 one and a
pylint one. I disabled almost all checks in each program that gave a
warning. These tests just establish a baseline for future improvement. -
Moved the test helper code into TestCase subclasses that all tests can
use. And used more code sharing and setUp/tearDown cleverness to remove
duplicated code. - Reorganized the tests in ./testing/tests into
./testing/functional and ./testing/unit – for whether they drive
duplicity as a subprocess or whether they import and test code directly.
Each dir can have specialized TestCase subclasses now. - Renamed the
files in ./testing/unit to more clearly indicate which file in
./duplicity they are unit testing. - Added some helper methods for tests
to set environment and globals.* parameters more safely (i.e. without
affecting other tests) by automatically cleaning up any such changes
during test tearDown. - Removed test_unicode.py, since it is kind of
dumb. It used to be more useful, but now with py2.6, we are just testing
that one line of code in it is actually there.
066332cd: Add overrides dir
314342e5: more minor fixes
fd3122df: Move rootfiles.tar.gz into manual directory
75ebecb9: Add initial pep8 and pylint tests
e545a156: Minor fixes
578b6fef: Make run-tests scripts go through tox, this makes all our
standard test-running modes ultimately go through ./setup test
f98e4f2e: Merged in lp:~mterry/duplicity/encode-for-print - Encode
translated strings before passing them to ‘print’. - The print command
can only apparently handle bytes. So when we pass it unicode, it freaks
out. There were only four instances I saw where we used print, so I
figured it was easiest to just convert them to use the log framework
too. - That way all user-visible strings go through that framework and
are subject to the same encoding rules.
13bc6376: 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.
60e44710: 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.
38df685b: Fix subprocess usage to work in py2.6 and fix a missing
unicode
80fdb92d: Solve has_key 2to3 fix
6093a463: Move imports fix to the ‘don’t care’ section
fd2b94f8: Solve import 2to3 fix
be7d9f6c: Solve numliterals 2to3 fix
820bb1af: Solve long 2to3 fix
a349695c: Move urllib fix to the ‘don’t care’ section
3ec71378: Solve basestring 2to3 fix
cd9d5655: Move long and raw_input fixes to the ‘don’t care’
section
970b0b56: Solve reduce 2to3 fix
daaf6e51: Solve raise 2to3 fix
239a5299: Mark callable and future fixes as things we explicitly
don’t care about
059e9685: Solve apply 2to3 fix
112c8e9c: Solve idioms 2to3 fix
56cc7911: Solve ws_comma 2to3 fix
cae2beb5: Solve renames 2to3 fix
401812da: Solve except 2to3 fix
bce34123: Add test_python3.py to test readiness of source code to
run under python3 directly
ae5e99a8: 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.
b2b3e57b: Merged in lp:~mterry/duplicity/fix-drop-u1 - Looks like
when the drop-u1 branch got merged, its conflict got resolved badly.
Here is the right version of backend.py to use (and also drops
u1backend.py from POTFILES).
97b2a775: fix typo
435df384: Drop local copy of pexpect – only used by one of our ssh
backends and our tests
437651f7: Fix drop-u1 merge
45589568: Merged in lp:~mterry/duplicity/drop-u1 - Ubuntu One is
closing shop. So no need to support a u1 backend anymore.
d39d528f: 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.
4199ac7a: Merged in lp:~mterry/duplicity/modern-testing - Enable/use
more modern testing tools like nosetests and tox as well as more common
setup.py hooks like test and sdist. - Specifically: move setup.py to
toplevel where most tools and users expect it * Move and adjust test
files to work when running “nosetests” in toplevel directory.
Specifically, do a lot more of the test setup in
tests/init.py rather than the run-tests scripts * Add
small tox.ini file for using tox, which is a wrapper for using
virtualenv. Only enable for py26 and py27 right now, since modern
setuptools dropped support for <2.6 (and tox 1.7 recently dropped
<2.6) * Add setup.py hooks for test and sdist which are both standard
targets (sdist just outsources to dist/makedist right now)
2a307d54: Merged in lp:~mterry/duplicity/consolidate-tests -
Consolidate all the duplicity-running code in the test framework. - This
takes the four test files [1] that run duplicity itself (i.e. the
high-level functional test files) and consolidates their code. Before,
it was madness. Each one had its own run_duplicity method, with its own
slightly tweaked features. This should reduce a lot of duplication. -
[1] cleanuptest.py, finaltest.py, restarttest.py, and badupload.py
54761df7: Merged in lp:~fredrik-loch/duplicity/duplicity-S3-SSE -
Adds support for server side encryption as requested in Bug #996660
276f5fc2: Drop support for Ubuntu One, since it is closing
41f6585e: Drop support for Python 2.4 and 2.5
a25fa2a9: Add missing mock dep
1d382604: Whoops, make dist dir first during sdist
3fa04a92: Enable/use more mordern testing tools like nosetest and
tox as well as more common setup.py hooks like test and sdist
5c0120c2: Consolidate all the duplicity-running code in the test
framework
b423bb3a: Merged in lp:~germer/duplicity/par2 - This branch adds
Par2 recovery files to duplicity. It is a wrapper backend which will
create the recovery files and upload them all together with the wrapped
backend. Corrupt archives will be detected and repaired (if possible) on
the fly during restore. - It can be used with url-string
par2+webdavs://USER@HOST/PATH - Fixes
https://bugs.launchpad.net/duplicity/+bug/426282
1b97ea44: Merged in lp:~prateek/duplicity/botoimportfix - Switches
the boto backend back to using lazy imports so there are no complaints
during the importing of backends.
e27aeec9: Merged in lp:~ed.so/duplicity/fix.dpbx - fix dpbx backend
“NameError: global name ‘rest’ is not defined”
28929959: Fixed boto import issues
41eb484c: fix dpbx backend “NameError: global name ‘rest’ is not
defined”
424a624d: Merged in lp:~prateek/duplicity/s3-glacier - Fixes
https://bugs.launchpad.net/duplicity/+bug/1039511 - Adds support to
detect when a file is on Glacier and initiates a restore to S3. Also
merges overlapping code in the boto backends - Fixes
https://bugs.launchpad.net/duplicity/+bug/1243246 - Adds a
–s3_multipart_max_timeout input option to limit the max execution time
of a chunked upload to S3. Also adds debug message to calculate upload
speed.
9048bbe2: Make sure each process in a multipart upload get their own
fresh connection
74695411: Updated manpage and tweaked boto backend connection
reset
4abb3192: Merged in lp:~mterry/duplicity/gpg-encode -
getpass.getpass(prompt) eventually calls str(prompt). Which is a no go,
if the prompt contains unicode. Here’s a patch to always pass getpass()
a byte string. - Our tests didn’t catch this because they always set
PASSPHRASE. I’ve added a test that passes the passphrase via stdin.
47ed870a: Add test that includes unicode characters to check the gpg
prompt
39b81ebd: Encode prompt phrase before passing to getpass
3d86da90: Applied two patches from mailing list message at:
https://lists.nongnu.org/archive/html/duplicity-talk/2014-01/msg00030.html
“Added command line options to use different prefixes for
manifest/sig/archive files” This resolves
https://bugs.launchpad.net/duplicity/+bug/1170161 and provides a
workaround for https://bugs.launchpad.net/duplicity/+bug/1170113
27020a8a: Merged in lp:~mterry/duplicity/argv-encode - Use the
system filename encoding to print the args in unicode.
dcaddac5: Merged in
lp:~louis-bouchard/duplicity/remove-allow-concurrency - remove the
–allow-concurrency switch but leave the lock
d8a47a65: Remove –add-concurrency option and enhance the error
message the case where an existing lockfile is detected
96526dd6: Merged in
lp:~louis-bouchard/duplicity/allow-concurrency-manpage
b04cddbf: Reformat –allow-concurrency text and add mention of stale
lockfile
512cc232: Update manpage with new –add-concurrency option
7e1d3890: Merged in
lp:~louis-bouchard/duplicity/add-allow-concurrency - Implement locking
mechanism to avoid concurrent execution under the same cache directory.
This is the default behavior. - Also implement –alllow-concurrency
option to disable the locking if required. - This functionality adds a
dependency to python-lockfile
38249d92: Add the –allow-concurrency option to disable the locking
mechanism that this patch implements. By default, only one instance of
duplicity will be allowed to run at once. When using this switch it
disable the locking mechanism to allow more than one instance to run
simultaneously (LP: #1266763)
2980f125: Merged in lp:~mterry/duplicity/boto-list-fix to fix bzr
screwup.
56f0ebc4: Raise exception if we can’t connect to S3 rather than just
silently pretending there are no files
f288ec31: Restored patch of gdocsbackend.py from original author
(thanks ede) * Applied patch from bug 1266753: Boto backend removes
local cache if connection cannot be made
3ed2644b: ede Fri 2014-01-03 11:37:54 +0100 recommit: implement fix
as suggested by original autor
e9e276fb: Encode sys.argv using system filename encoding before
printing
2bfdd781: recommit: implement fix as suggested by original autor
http://lists.nongnu.org/archive/html/duplicity-talk/2013-11/msg00017.html
52116849: Reformat to be more consistent. Remove tabs.
97e50192: Reverted changes to gdocsbackend.py
68669b89: Fix conflicts.
23fe017d: Restored missing line from patch of gdocsbackend.py
b16838ce: leftover from previous commit (thx Kostas for paying
attention)
fc461415: implement fix as suggested by original autor
http://lists.nongnu.org/archive/html/duplicity-talk/2013-11/msg00017.html
e7e56733: Merged in lp:~mterry/duplicity/encoding - This branch
hopefully fixes two filename encoding issues: Users in bug 989496 were
noticing a UnicodeEncodeError exception which happens (as far as I can
tell) because some backends (like webdav) are returning unicode
filenames from list(). When these filenames are combined with the utf8
translations of log messages, either (A) the default ascii encoding
can’t handle promoting the utf8 bytes or – if there aren’t any utf8
bytes in the translation – (B) the resulting unicode string raises an
error later when log.py tries to upgrade the string again to unicode for
printing. - This fix is largely implemented by adding a wrapper for
backend list() implementations. This wrapper ensures that duplicity
internals always see a byte string. (I’d like to eventually use this
same wrapping strategy to implement generic retry support without
backends having to add any logic, but that’s just a thought for the
future.) - That is, the fix for issue #1 is completely inside backend.py
and the changes to backends/*.py. - The rest of the invasive changes
deal with filenames that may not be valid utf8. This is much rarer, but
possible. For proper handling of this, we need to print using unicode,
and convert filenames from the system filename encoding to unicode,
gracefully handling conversion errors. Some of the filenames we print
are remote names. Who knows what encoding they are in; it could be
different than the system filename encoding. 99% of the time, everything
will be utf8 and we’re fine. If we do get conversion errors, the only
effect should be some question mark characters in duplicity logging
output. - I tried to convert as much of the actual codebase to use
unicode for printing. But I stopped short of adding an assert in log.py
to enforce unicode, because I didn’t want to go through all the backend
code and manually adjust those bits without being able to test each
one.
810cbe7e: Merged in lp:~verb/duplicity/boto-min-version - Update
documentation and error messages to match the current actual version
requirements of boto backend.
b2eb2b0d: Changed to default to pyrax backend rather than cloudfiles
backend. To revert to the cloudfiles backend use
‘–cf-backend=cloudfiles’
3614e6db: Merged in lp:~jkrauss/duplicity/pyrax - Rackspace has
deprecated python-cloudfiles in favor of their pyrax library, which
consolidates all Rackspace Cloud API functionality into a single
library. Tested it with Duplicity 0.6.21 on both Arch Linux and FreeBSD
8.3.0.
b06ab120: Applied patch to fix “Access GDrive through gdocs backend
failing” - see
https://lists.nongnu.org/archive/html/duplicity-talk/2013-07/msg00007.html
c146023b: Merged in lp:~mterry/duplicity/normalize-before-using -
Avoid throwing an exception due to a None element in a patch
sequence.
568d6017: Merged in lp:~mterry/duplicity/disappearing-source - When
restarting a backup, we may accidentally skip the first chunk of one of
the source files. To reproduce this,: 1) interrupt a backup 2) delete
the source file it was in the middle of 3) restart the backup
7bcc034d: Merged in lp:~mterry/duplicity/manifest-oddities - We may
accidentally end up with an oddly inconsistent manifest like so:
35e5faf8: Merged in lp:~mterry/duplicity/log-path-type - Any backup
browser built on top of duplicity will need to indicate which files in
the backup are folders and which are files. The current logging
information doesn’t provide this detail. So I’ve added a field to the
log.InfoCode.file_list output that includes the path type.
7248e315: Merged in lp:~gliptak/duplicity/415619 - Better error
message when chown fails
a0e4e7cb: Merged in lp:~verb/duplicity/bucket_root_fix - Fix bug
that prevents backing up to the root of a bucket with boto backend.
c3988296: Avoid throwing exception because of None element in patch
sequence
d51e2ed5: Merge latest manifest-oddities changes
d22f6c79: Fix test comments
daee1290: Handle a disappearing source file across restarts
better
d6cab07e: Don’t keep dangling volume info in manifest
bc85f340: Show path type in log when listing files
78dda8c9: Merged in lp:~mterry/duplicity/argv - Fix use of argv when
calling os.execve
21744e42: Merged in lp:~mterry/duplicity/catch-seq-copy-error - Any*
exception when running patch_seq2ropath should be ignored (though
logged) and duplicity should move on. This covers the two asserts in
that function (bug 1155345 and bug 720525) as well as errors that happen
during file copying (bug 662442).
d18a08c1: Don’t chop the first argument off when restarting (in an
admittedly difficult-to-reach bit of code)
a6b9ea76: Fix some spacing
303acc04: Wrap whole seq2ropath function in a general try/except
rather than a more focused approach – any problem patching a file should
be ignored but logged before moving on
fc57d20e: If a common exception happens when collapsing a non-file
patch, just log it and continue
5631c245: Merged in lp:~ed.so/duplicity/man.page - update paramiko
links - add command parameters to synopsis - add –compare-data - some
polishing and several improvements
65871192: Applied patch from Eric S Raymond to man page to fix
markup problems.
b172cd73: Merged in lp:~ckornacker/duplicity/megacloud - Add support
for Mega (mega.co.nz) backend.
3e751e2a: Merged in lp:~verb/duplicity/boto-gcs - These patches add
support for Google Cloud Storage via the boto backend. - boto has
supported GCS in interoperability mode for a few years now. This change
adds support by taking advantage of boto’s storage_uri abstraction
layer.
fd4cc267: Merged in lp:~mhu-s/duplicity/swiftbackend - This branch
adds support for Swift, the OpenStack Object Storage service. See
https://blueprints.launchpad.net/duplicity/+spec/swiftbackend
13d67fb9: Merged in lp:~scowcron/duplicity/ftp_password_pexpect -
Use common backend.Backend get_password() rather than _ssh_pexpect.py
specific code.
cddbe01a: README update for BOTO version requirement
eed8373e: Added support for AWS S3 Glacier
8684f5cb: Add documentation for GCS to duplicity.1
ca7ed56b: Add config template for testing boto backend with GCS
912634a9: Add support for Google Cloud Storage to boto backend
(single threaded only)
d896b3c5: explicitly set umask in test_tarfile.py
82c4e715: fix requesting filename
d8c1d7ba: add par2 wrapper backend
ba346914: Adds doc
de65dc87: better handling of authentication alternatives
3dc3a33d: updates copyright
33290406: Use FTP_PASSWORD with pexpect backend without requiring
–ssh-askpass.
c0859af3: fixes data size type
abbd2f56: fixes missing argument
990abe0a: fixes wrong environment variable being used
6bd4a92e: adds OpenStack Swift backend
d191fb81: Added commentS
72c0106d: Added max proc rule for multipart S3 uploads.
be308264: Applied duplicity-ftps.patch from
https://bugs.launchpad.net/duplicity/+bug/1104069 - Don’t try to delete
an empty file list.
a19850d8: Applied blocksize.patch from
https://bugs.launchpad.net/duplicity/+bug/897423 - New option
–max-blocksize (default 2048) to allow increasing delta blocksize.
39bcb8a2: Merged in lp:~jnoster/duplicity/dpbx-added - The
application key was approved as “production” one after some changes to
the code to suit the requirements of Dropbox team (the keys are now
obfuscated, for instance).
50cfc2b2: Merged in lp:~juan-f/duplicity/progress - From time ago,
there are people asking for a progress bar estimation in duplicity.
There is even a script that circumvents the issue, getting info from the
log so as to estimate the progress status (
https://github.com/quentin/Duplicity-progress ) but does not give enough
feedback and the estimation is rather plain. - I have developed a set of
heuristics that gather information from the deltas and the transfer
ratios of the backend so as to forecast % of progress, estimation of
remaining time and average speed, for both full and incremental backup
uploads. - The current implementation works for boto backend, but to
port the other backends to use this feature would be quite easy (we can
discuss the details if interested). - The algorithm is activated by the
–progress command line flag, and will perform a first-pass dry-run to
collect evidence for all the deltas. Next it will trigger the real
upload, while a thread statistically estimates the ratio of changes and
compression for the data in/out, and uses these ratios to forecast time
remaining and % of completion. - The progress data will be logged each 3
seconds, or the –progress-rate flag.
14469f10: Merged in lp:~tblue/duplicity/paramiko-fix-delete-retry -
This fixes bug #1115715, which is really annoying. Basically it makes
using the Paramiko backend with the default settings impossible.
362fc150: Actually merge in lp:~tblue/duplicity/paramiko-1.10.0 as
previously reported.
f31b378b: Merged in lp:~townsend/duplicity/fix-1161599-2 - The fix
in revno. 912 didn’t take into account that the parameter “body” passed
into request() is overloaded, so when it was NULL or of a type other
than file, it would fail. This checks if “body” is of type “file” before
actually seek()’ing back to the beginning of the file.
59d5cbe2: Merged in lp:~tblue/duplicity/paramiko-1.10.0 - This fixes
bug #1156746, making the Paramiko backend compatible with Paramiko
1.10.0. It keeps compatibility with older Paramiko versions.
09736990: The fix in revno. 912 didn’t take into account that the
parameter “body” passed into request is overloaded, so when it was NULL
or of a type other than file, it would fail. This checks if “body” is of
type “file” before actually seek()’ing back to the beginning of the
file.
be6692f1: Transient socket or HTTP errors will cause a retry of the
PUT for a backup. This would then lead to 400 Bad Request errors from
the server. This MP:
219774a8: Fixes the case where the file pointer to the backup file
was not being set back to the beginning of the file when an error
occurs. This causes subsequent retries to fail with 400 Bad Request
errors from the server. This is due to a change in revno. 901 where a
file handle is used instead of a bytearray. * Fixes the removal of
Content-Length from the header in revno. 901. Content-Length is required
according to the Ubuntu One API documentation.
75b54ab3: no more cleartext credentials in the code
a16e6c4f: Application Key & Secret get obfuscated to fit the rq
of Dropbox.
6b5995f2: progress: Removed an unneeded if
f463dfd6: progress: Fixes for the previous commit after extensive
testing: Fixed the index computation for the rotating cache of Snapshots
- Moved the start point for the Log progress thread after a proper
computation of the starting volume in case of restart, and adapted code
for it
9e392446: progress: Cover the sigtar and manifest upload with the
progress reporting. Now the last 1% will be dedicated to this upload and
properly report stallment when network goes off while this happens.
d26b3a8d: progress: Fixed a missing condition for when the progress
flag is not used
b31ae715: progress: Cap data progress upload from 0..99% and show
100% only when sigtar and manifest file has uploaded correctly
8b455e47: progress: Avoid completed percentage to drops between
backup retries when backup fails and has to be restarted. The current
progress is offset by the previous uncompleted backup from the last
volume that upload correctly. To achieve it, the progress tracker now
snapshots the current progress to the cache each completed volume, then
recovers this information later when retrying a failed backup.
5e338b93: crosser’s patch applied
dba8bddf: progress: The algorithm now will drop the confidence
interval adaptively when overpassing the 100%. This may happen when the
sigma is large due to a very heterogeneous distribution of the size of
deltas in files. In this case, the C.I. will be drop by half to adapt to
the variability. If it happens again, it will disregard the sigma and
trust the mean only.
b286bcbc: progress: Simplified computation of progress to compute an
upper bound, fit to a smooth curve. This method embraces better more
“change distribution” scenarios and is much simpler to compute. And
also, full backups will assume 1:1 correspondence in change
distribution, so progress bars during full will be computed linearly,
which is closer to reality.
09a44c9b: Make the Paramiko backend work with Paramiko 1.10.0
6e8c4848: propagate exceptions upward to facilitate retries
0952ada8: Merged in lp:~ed.so/duplicity/verify.data - add switch
–compare-data, to selectively enable formerly always disabled data
comparison on verify runs
8b220ef5: Merged in lp:~jnoster/duplicity/dpbx-added - Add Dropbox
backend - NB! In order to use the backend one must: 1. Install Dropbox
Python SDK first. 2. Run the duplicity with Dropbox backend (dpbx://)
first time interactively to catch and follow the oAuth
URL.
84b07d2c: Applied patches from Laszlo Ersek to rdiffdir to “consume
a chain of sigtar files in rdiffdir delta mode” which supports
incremental sigtar files.
f5e31d15: renamed to –compare-data to make it reusable on other
actions e.g. force data comparision on backup runs where files were
modified but mtime was not set properly by buggy software
4db3e6dc: add switch –verify-data, to selectively enable formerly
always disabled data comparison on verify runs
d71d8fe3: note on first run was added to the man page
10ebfa5e: THE BACKEND ITSELF HAS BEEN FINALLY ADDED.
fe8cb8f8: man page fixed to mention dpbx: backend
2818371a: Dropbox backend (dpbx:) has been added.
537fe9be: progress: Reporting speed in bps for log file
9826c37a: Paramiko backend, delete(): Terminate when all files have
been deleted successfully.
91172de8: progress: Changed verbosity to NOTICE, so progress
messages appears by default when –progress flag is on
8f294fd0: progress: Added average speed to the log file
475bcf9e: progress: Fixed a typo in if clause
93bd7b10: progress: Bugfixed a posible division by zero
b8220a1f: progress: New feature to compute progress of compress
& upload files The heuristics try to infer the ratio between the
amount of data collected by the deltas and the total size of the
changing files. It also infers the compression and encryption ration of
the raw deltas before sending them to the backend. With the inferred
ratios, the heuristics estimate the percentage of completion and the
time left to transfer all the (yet unknown) amount of data to send. This
is a forecast based on gathered evidence.
a47e2f5f: Merged in lp:~mterry/duplicity/py3rsync - This branch lets
one build the _librsync module with Python 3. You can’t really do
anything useful with it, but it’s a nicely-isolated piece to add Python
3 support for. - The changes are a mix of modernization and #ifdef
logic. - All tests still pass in Python 2.7 and 2.4. I tested manually
that the module worked as expected in Python 3.
3f72f986: Merged in lp:~mterry/duplicity/pygi - Python bindings for
the gobject stack (used in the gio backend) have changed from static to
dynamically-generated bindings. The old static bindings are deprecated.
So here’s a branch to change the gio backend from old to new ones.
a3e9ac27: Merged in lp:~ed.so/duplicity/webdav.manpage - explanation
of webdav changes above
45738439: Merged in lp:~ed.so/duplicity/webdav.fix-retry - added ssl
certificate verification (see man page) - more robust retry routine to
survive ssl errors, broken pipe errors - added http redirect
support
e88ca043: make _librsync module compile under Python 3
f4225a3a: Use PyGI instead of older pygobject style for gio
backend
1a2e9490: Add auto-ctrl-c-test.sh to help stress-test restart
support
dbe152e6: manpage - document ssl cert verification in man page
backend.by - retry_fatal decorator accepts now premature fatal errors
and supplys a retry_count instance variable webdavbackend.py - added ssl
cert verification - added http redirect support - added always create
new connection on retrys - much more debug output for problem
pinpointing commandline.py, globals.py - added ssl cert verification
switches errors.py - add FatalBackendError for signalling exactly
that
5eb9ff00: Merged in lp:~mterry/duplicity/static-corruption - This
branch fixes three possible ways a backup could get data-corrupted.
Inspired by bug 1091269. A) If resuming after a volume that ended in a
one-block file, we would skip the first block of the next file. B) If
resuming after a volume that ended in a multi-block file, we would skip
the first block of the next file. C) If resuming after a volume that
spanned a multi-block file, we would skip some data inside the file. - A
and B are because when finding the right place in the source files to
restart the backup, the iteration loop didn’t handle None block numbers
very well (which are used to indicate the end of a file). - C is what
bug 1091269 talks about. This was because data block sizes would get
smaller as the difftar file got closer and closer to the volsize.
Standard block sizes were 64 * 1024. But say we were close to the end of
the difftar… When resuming, duplicity doesn’t know the custom block
sizes used by the previous run, so it uses standard block sizes. And it
doesn’t always match up, as you can imagine. So we would leave chunks of
data out of the backed up file. - Tests added for these cases. - This
branch is called ‘static-corruption’ because all these issues occur even
when the source data doesn’t change. I still think there are some
corruption issues when a file changes in between duplicity runs. I
haven’t started looking into that yet, but that’s next on my list. - C
only happened without encryption (because the gpg writer function
already happened to force a constant data block size). A and B happened
with or without encryption.
6610ab9f: use a copy of file1 rather than writing out a new small
file so that it is clearer the first block is skipped rather than the
whole file
31be83bb: add test to confirm expected behavior if new files appear
before we restart a backup
137efc02: whoops, fix a test I broke with last commit because I
didn’t add get_read_size to the mock writer
7dc43438: Fix block-loss when restarting inside a multi-block file
due to block sizes being variable
c90c4c63: Fix block-loss when restarting after a volume ends with a
multi-block file; fixes test_split_after_large()
649ee782: Fix block-loss when restarting after a volume ends with a
small file; fixes test_split_after_small()
d54ca34b: Add more tests for various restart-over-volume-boundary
scenarios
56e58748: move non-encryption-specific tests to the right class
ade354ba: tests: add a WithoutEncryption class to
restarttest.py
2ad3d0e5: reconnect on errors as a precaution against ssl errors see
https://bugs.launchpad.net/duplicity/+bug/709973
aed583bb: Fixed 1091269 Data corruption when resuming with
–no-encryption - Patches from Pascual Abellan that make block size
consistent and that add no-encryption option to manual-ctrl-c-test.sh. -
Modified gpg.py patch to use 64k block size so unit test passes.
ff27716b: Merged in lp:~ed.so/duplicity/u1_and_manpage - Manpage -
document Ubuntu One required python libs - added continuous contributors
and backend author notes - U1backend - lazily import non standard python
libs, fixes
http://article.gmane.org/gmane.comp.sysutils.backup.duplicity.general/5753
- fix “not bytearray” prevents PUT with python 2.6 - don’t hang after
putting in credentials (cause it silently retries in background) but go
through with backup
561d37f3: python3 fix reuse normalized url from oauth
c1488929: why bother reading when we can deliver a filehandler
alltogether
a3003006: fix “not bytearray” prevents PUT with python 2.6
754b4bb9: don’t hang after putting in credentials (cause it silently
retries in background) but go through with backup
951a6218: fix imports not being global
27e3c5bb: Manpage - document Ubuntu One required libs - added
continous contributors and backend author notes
d1bc8bfc: Merged in lp:~ed.so/duplicity/manpage - Clear up
PASSPHRASE reusage as sign passphrase. Minor fixes.
adb318bf: Merge changes from trunk.
d642bb28: Merged in lp:~ed.so/duplicity/webdav.fix-retry - bugfix:
webdav retrying broke on ERRORS like “error: [Errno 32] Broken pipe” in
socket.pyas reported here
https://answers.launchpad.net/duplicity/+question/212966 added a more
generalized ‘retry_fatal’ decorator which makes retrying backend methods
even easier
a00155c5: Merged in
lp:~carlos-abalde/duplicity/gdocs-backend-gdata-2.0.16.-upgrade -
Upgrade of GoogleDocs backend to python gdata lib >= 2.0.15: Stop
using get_everything method.
973281eb: Merged in lp:~mterry/duplicity/u1-utf8 - Make sure
u1backend returns filenames as utf8
5ed459ec: Merged in lp:~lenharo-h/duplicity/duplicity - Generate
encrypted backups without revealing the user’s key id via option
–hidden-encrypt-key
6ee1b193: Merge changes from trunk.
e40229a4: add correct error code catch only exceptions again
37ddaf7f: catch exceptions only
1ff7fad1: show error value instead of class
17461679: bugfix: webdav retrying broke on ERRORS like “error:
[Errno 32] Broken pipe” in socket.pyas reported here
https://answers.launchpad.net/duplicity/+question/212966
456a802b: Make sure u1backend returns filenames as utf8
41c3230a: Now files are directly uploaded to destination
folder/collection. This also fixes bug that created a copy of all files
in the root folder/collection in Google Drive
3d80db63: Added –hidden-encrypt-key testcases.
bdfda325: Nuke tabs.
cb2e74a5: Added more details in man page.
94deaa7e: Fixed a typo in man mage.
c95c685b: Allows duplicity to encrypt backups with hidden key ids.
See –hidden-recipient in man gpg(1)
28106aba: avoid using TestCase.addCleanup, which isn’t in older
python versions
25b8d581: Merged in lp:~ed.so/duplicity/lftp.netrc - Allow .netrc
auth for lftp backend * Merged in lp:~mterry/duplicity/946988 - This
fixes bug 946988 by not duplicating the checks for when we should ask
for the password (those same checks are done more correctly inside
get_passphrase). And add a test to reproduce the bug.
bd350695: allow .netrc auth for lftp backend
574de9c6: clear up PASSPHRASE reusage as sign passphrase minor
fixes
87a2e20c: don’t duplicate a test for whether we should get
passphrase in two places – one of them will be out of sync
30442b16: Merged in lp:~ed.so/duplicity/manpage - more formatting
fixes, clarifications in sections EXAMPLES, FILE SELECTION
31aeff19: Merged in lp:~satwell/duplicity/caching - Add a cache for
password and group lookups. This significantly improves runtime with
very large password and group configurations.
4fdc75bd: Add a cache for password and group lookups. This
significantly improves runtime with very large password and group
configurations.
ec1b6784: Merged in lp:~mterry/duplicity/u1-ascii-error - Fix for
u1backend unicode error. Patch by Paul Barker.
7c5b121b: Merged in lp:~mterry/duplicity/delete-new-sig-in-cache -
In duplicity 0.6.20, we fixed bug 1031269. This means that we no longer
leave sig files on the remote location. Leaving sig files on the remote
location also caused a bug with deleting cache files. Code used to leave
remote new-sig but delete the locale cache new-sig; this meant that we
would keep downloadoing the new-sig all the time from remote. We had
worked around that by just not deleting the new-sig in the cache, which
was sort of the wrong side of that problem to tackle. Now that we handle
the remote new-sigs better (by deleting them), I don’t think we need
this code anymore. Patch by az@debian.org.
0890e155: Merged in lp:~mterry/duplicity/u1-oauthlib - As the Ubuntu
packager for duplicity, I would prefer u1backend.py used oauthlib
instead of oauth. oauthlib is well maintained upstream (unlike oauth),
has a python3 port (for the future), and is in Ubuntu main (so is oauth
right now, but hopefully in the future we can drop it to universe, in
which case duplicity can’t use it anymore).
68b062ed: port u1backend to oauthlib
c3b32d83: we no longer need to preserve new-sigs in the cache, since
we fixed the bug keeping them on the remote side
cdedcf6b: Fix U1 backend’s ascii error. Patch by Paul Barker
6f267279: more formatting fixes, clarifications in sections
EXAMPLES, FILE SELECTION
32e33cd7: tests: apparently on hardy chroots, /bin can be smaller
than 3MB compressed, so instead of using /bin in
test_multi_volume_failure, use largefiles
2f7a5bdf: tests: whoops, I had accidentally disabled one of the new
tests for ignoring double entries in a tarball
4dbffa3c: tests: don’t use subprocess.check_output, which was only
added in Python 2.7
d5880386: don’t use unittest.TestCase.assertSetEqual, which isn’t
supported in older Python versions
9b3bcd4f: Merged in lp:~ed.so/duplicity/ssh-pexpect-msgbug + Fixes
‘UnboundLocalError: local variable ’msg’ referenced before assignment’
in _ssh_pexpect.py
4a54258a: 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 please confirm. 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.
f79c52bc: 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.
6c0d5501: Merged in lp:~ed.so/duplicity/duplicity.manpage + disabled
hyphenation and block justification for better readablility of command
line examples. + reformatted REQUIREMENTS section for hopefully better
online rendering + minor clarifications
bf5022e3: 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 operations. + 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 remove-all-inc-of-but-n-full
49bac061: Merged in lp:~mterry/duplicity/1031277 + ssh: actually
delete all the requested files, not just the first one
c182b561: gracefully handle multiple duplicate base dir entries in
the sigtar; avoid writing such entries out
542d8f81: Retry cloudfiles deletes
468cf5c3: missing space
a3125350: disabled hyphenation and block justification for better
readablility of command line examples. - reformatted REQUIREMENTS
section for hopefully better online rendering - minor
clarifications
c48ca2e7: delete signature files when doing remove-all-but
29e17519: ssh: actually delete all the requested files, not just the
first one
972a360c: Merged in lp:~ed.so/duplicity/duplicity.tmpspacefix
3b5c6bb7: Merged in lp:~ed.so/duplicity/duplicity.helpfix
e88ad272: use tempfile.TemporaryFile() so unused temp files are
deleted automagically
b55b9d67: propbably solve bug ‘Out of space error while restoring a
file’ see bug tracker/mailing list
https://bugs.launchpad.net/duplicity/+bug/1005901
http://lists.gnu.org/archive/html/duplicity-talk/2012-09/msg00000.html
1ab97913: fix rare ‘TypeError: encode() argument 1 must be string,
not None’ read here
http://lists.nongnu.org/archive/html/duplicity-talk/2012-09/msg00016.html
3f2a5d25: log.py: add a couple comments to reserve error codes 126
and 127 because they conflict with running duplicity under pkexec (very
similar to how 255 is reserved because gksu uses it)
41815d80: Add note on GnuPGInterface and multiple GPG
processes.
7a220174: Merged in lp:~ed.so/duplicity/backend_fixes
0c2f22d8: fixed ssh/gio backend import warnings + ssh paramiko
backend imports paramiko lazily now + gio backend is not imported
automatically but on request when –gio option is used - added a warning
when –ssh-backend is used with an incorrect value
c63aad54: ssh paramiko backend respects –num-retries now - set retry
delay for ssh backends to 10s - ssh pexpect backend + sftp part does not
claim ‘Invalid SSH password’ although it’s only ‘Permission denied’ now
+ sftp errors are now more talkative - gpg.py + commented assert which
broke otherwise working verify run
10c101ac: ssh paramiko backend respects –num-retries now - set retry
delay for ssh backends to 10s - ssh pexpect backend + sftp part does not
claim ‘Invalid SSH password’ although it’s only ‘Permission denied’ now
+ sftp errors are now more talkative - gpg.py + commented assert which
broke otherwise working verify run
bfc751e6: A couple more warning error codes that Deja Dup is
interested in noticing.
41ef3c0c: If the gio backend wants to ask a question during its
mount phase, it previously just aborted. This branch allows it to
continue, though not to make an intelligent answer.
1fdecf3d: add a couple more warning codes for machine consumption of
warnings
71408bcb: allow answering gio mount questions (albeit naively)
c85b8496: Merged in lp:~ed.so/duplicity/0.6-ssh_config
cb4b20a8: Merged in lp:~ed.so/duplicity/0.6-webdav_fixes.
81e8be0b: Merged in lp:~ed.so/duplicity/0.6-manpage
4989348c: changelog entry
27862256: added REQUIREMENTS section - restructure SYNOPSIS/ACTIONS
to have commands sorted by backup lifecycle - added restore and some
more hints when –time or –file-to-restore are supported - replaced
scp:// with sftp:// in examples as this is the suggested protocol anyway
- added an intro text to ACTIONS section - adapted –ssh-askpass
description to latest functionality
c71e940c: empty listbody for enhanced webdav compatibility - bugfix:
initial folder creation on backend does not result in a ResponseNotReady
anymore
3e5a8715: add ssh_config support (/etc/ssh/ssh_config +
~/.ssh/config) to paramiko sshbackend
69ef259c: Added option to not compress the backup, when no
encryption is selected
d7707ccd: Merged in lp:~mterry/duplicity/resume-inc
41754292: Merged in lp:~mterry/duplicity/more-test-fixes
00600c86: resuming an incremental results in a ‘Restarting backup,
but current encryption settings do not match original settings’ error
because curtime is incorrectly set away from previous incremental
value
480de26b: tests: make other-filesystem check more robust against
certain directories being mounts or not
2f729a9b: tests: use backup source that is more likely to be larger
than 1M compressed
58016074: tests: add delay between backups to avoid assertion
error
aceff90c: Fix extraneous ‘.py’ that keeps import from working.
59e4e8e0: Split botobackend.py into two parts, _boto_single.py which
is the older single-processing version and _boto_multi.py which is the
newer multi-processing version. The default is single processing and can
be overridden with –s3-use-multiprocessing.
01fe3bc4: The function add_filename was rejecting anything
non-encrypted as a legit file. This fixes that problem and the bug.
76f6a040: Fix to allow debugging from pydev. The check for –pydevd
must be done after command line is parsed.
aa3c5453: Merged in bzr merge
lp:~summer-is-gone/duplicity/tz-incremental-fix.
f2e24d72: Remove random_seed from VCS, adjust .bzrignore.
69a700f6: Remove localbackend.testing_in_progress since all it
accomplished was to make the local backend test fail.
03472c55: Merged in lp:~mterry/duplicity/ship-tests and moved a
couple of things around to get manual tests working
eab6b63a: Adds –rsync-options to command line Allows uer to pass
additional options to the rsync backend Commit include paragraph in man
page, new global variable, and the small changes needed to the backend
itself
c83829f9: – Applied patch 0616.diff from bug 881070. – Fixed compile
issues in reset_connection. – Changed ‘url’ to ‘parsed_url’ to make
consistent with backends.
85b44aad: Make tarball layout match bzr layout much more closely;
ship tests in tarballs and adjust things so that they can work
f91d19cd: rename auto/ to tests/
68068f34: undo accidental changes to run-tests and convert pathtest
and rdiffdirtest (for both of which, I uncommented a failing test I
didn’t understand)
e6316243: move some more custom scripts to manual/
92fec48e: move some things around; converge on one script for
running any kind of test or list of tests
5f3640d9: convert patchdirtest to auto; rip out its root-requiring
tests and move them to roottest script; fix roottest script to work now
with the new rootfiles.tar.gz, whoops
63375d59: convert finaltest to auto; workaround an ecryptfs bug with
long filenames in the test
4d4fc8ad: drop state file random_seed from test gnupg home
9eb312e1: convert gpgtest to auto; add testing keys to the suite, so
testers don’t have to make their own; delete gpgtest2, as it didn’t do
anything
e23c6aca: drop unused darwin tarball and util file
9fff9e9f: convert GnuPGInterfacetest and dup_timetest to auto
e37f4f8d: convert file_namingtest, parsedurltest, and restarttest to
auto
72ebfd7c: convert manifesttest, selectiontest, and test_tarfile to
auto
dd07db65: convert cleanuptest, dup_temptest, and misctest to
auto
0bf65488: convert statisticstest to auto; make sure tests are run in
English and in US/Central timezone
937f1e90: convert statictest to auto
e4be9efa: convert tempdirtest to auto
625dc68d: convert logtest to auto
230dc49d: convert lazytest to auto
b65440b5: clean up run scripts a little bit, rename testfiles.tgz to
rootfiles.tgz
bb97c56b: make diffdirtest auto
f5283ce2: make badupload auto
41725db9: make collectionstest auto
e99418fe: Changed functions working with UTC time file format from
localtime() to gmtime() and timegm()
5e200836: Fixed time_separator global attribute usage in some
tests
624eca0b: Made proper setUp method for tests in
dup_timetest.py.
0456c552: move all manual tets into their own subdirectory
f1b958a9: gpg2 will not get the passphrase from gpg-agent if
–passphrase-fd is specified. Added tests to disable passphrase FD if
use_agent option is true.
83449d39: use cached size of original upload file rather than
grabbing it after put() call. Some backends invalidate the stat
information after put (like local backend after a rename)
cc21f0b4: allow upgrading partial chain encryption status
90b6b712: when copying metadata from remote to local archive, first
copy to a temporary file then move over to archive
93bc6e0a: report whether a chain is encrypted or not
a4308baf: be more careful about what we try to synchronize
4fc4842d: introduce –encrypt-sign-key parameter -
duplicity-bin::get_passphrase skip passphrase asking and reuse
passphrase if sign-key is also an encrypt key and a passphrase for
either one is already set - add _() gettext to text in
duplicity-bin::get_passphrase - document changes and minor additions in
manpage
58159e98: 777377 collection-status asking for passphrase
799d07a8: 680425 Endless retype passphrase when typo 793096 Allow to
pass different passwords for –sign-key and –encrypt-key
7119af43: duplicity.1: move information about the PASSPHRASE and
SIGN_PASSPHRASE environment variables to the Environment Variables
section - duplicity.1: add information about the limitation on using
symmetric+sign to the bugs section - In the passphrase retrieval
function get_passphrase, do not switch from “ask password without
verifying” to ask+verify if the passphrase was empty - Allow an empty
passphrase for signing key - Make clear in the verification prompt
whether the encryption passphrase or the signing passphrase is being
confirmed - Fix passphrase retrieval for sym+sign (duplicity-bin and
gpg.py) - Allow sym+sign with limitation (see comments and manual
page)
29c79488: 797758 Duplicity ignores some FatalErrors
afdd5bdd: Checkpoint
6666f1dd: always catch Exceptions, not BaseExceptions
c5c19e88: 794123 Timeout on sftp command ‘ls -1’
085418f1: Checkpoint.
b2153461: 487720 Restore fails with “Invalid data - SHA1 hash
mismatch”
189e6c51: Fixed boolean swap made when correcting syntax.
0548acd0: Fix syntax for Python 2.4 and 2.5.
8bc7eec8: Fix syntax for Python 2.4 and 2.5.
0701aee5: Fix CHANGELOG.
0dddd786: 782337 sftp backend cannot create new subdirs on new
backup
3810ccec: 782294 create tomporary files with sftp
164f9996: Merged in lp:~mterry/duplicity/retry-decorator
c4c74eba: Merged in lp:~mterry/duplicity/u1-status
1c11001d: Checkpoint.
4236cb5f: Merged in lp:~mterry/duplicity/gio-name
54892033: Merged in lp:~mterry/duplicity/levelName
9974ca3d: u1: allow any success status, not just 200
9d5ae659: move logging code up to retry decorator; fixes use of ‘n’
variable where it doesn’t belong
828ee64f: 452342 Provide Ubuntu One integration
a619dfc3: 792704 Webdav(s) url scheme lacks port support
3b17997e: 782321 duplicity sftp backend should ignore removing a
file which is not there
b7a38f21: 778215 ncftpls file delete fails in ftpbackend.py
39c24788: 507904 Cygwin: Full Backup fails with “IOError: [Errno 13]
Permission denied”
b11bc84e: 761688 Difference found: File X has permissions 666,
expected 666
ef8bc5f0: 739438 [PATCH] Local backend should always try renaming
instead of copying
46b40853: 705499 “include-filelist-stdin” not implemented on version
0.6.11
b7ba8108: Sync with repository.
60334685: 512628 –exclude-filelist-stdin and gpg error with/without
PASSPHRASE
1f02db35: 512628 –exclude-filelist-stdin and gpg error with/without
PASSPHRASE
a104b3ad: invalid function description fixed for get_passphrase in
duplicity-bin - function get_passphrase in duplicity-bin accepts
argument “for_signing” which indicates that a passphrase for a signing
key is requested - introduces the SIGN_PASSPHRASE environment variable
for passing a different passphrase to the signing key - commandline
option –encrypt-secret-keyring=path introduced to set a custom location
for the secret keyring used by the encryption key - manual page updated
with SIGN_PASSPHRASE and –encrypt-secret-keyring - ask for a new
passphrase if the passphrase confirmation failed to prevent an endless
retype - improved some comments in the code - due to the difference in
the handling of the signing and encryption passphrase, the passphrase is
asked later in the duplicity-bin
bd5f3e6b: add retry decorator for backend functions; use it for
giobackend; add retry to giobackend’s list and delete operations
773f89de: giobackend: use name, not display name to list files
df3b2bca: fix MachineFilter logic to match new level name code
25b91034: Cautiously avoid using levelname directly in log module.
It can be adjusted by libraries.
b4033450: update man page
bb1c01ea: drop test file
14c5a784: further fixups
e6bf297d: further upload work
bc8d11e0: start of u1 support
a7c22404: as restoring is non-destructive by default (overideable
with –force) there is no need to raie fata errors if not supported
in/exclude parameters are given as parameters. see also:
http://lists.gnu.org/archive/html/duplicity-talk/2011-04/msg00010.html
a26f936e: 613244 silent data corruption with checkpoint/restore
eda30f1e: Add a manual test for Ctrl-C interrupts. This could be
automated, but I find that the old hairy eyeball works quite well as
is.
a24fadb6: Use python-virtualenv to provide a well-defined
environment for testing multiple versions of Python.
eb7368c3: Add (undocumented) option –pydevd to allow easier
debugging when executing long chains of duplicity executions.
6e7b5a3e: Remove threaded_waitpid(). We still need GnuPGInterface
because of the shift bug in the return code and the ugly mix of tabs and
spaces. All has been reported to the author.
f008b26d: Replace 2.5 ‘except…as’ syntax.
00365aa6: Changes for 0.6.12.
e8ac0444: Various fixes for testing. All tests pass completely.
9895a3e4: Add test for new ftps backend using lftp.
afc5b4f4: Some FTP sites return ‘total NN’ in true ls fashion, so
ignore line during listing of files.
77b88ae3: Fix typo on fix for 700390.
17853100: Miscellaneous fixes for testing.
0f1e0101: 700390 Backup fails silently when target is full (sftp,
verbosity=4)
f8510f79: 581054 Inverted “Current directory” “Previous directory”
in error message
8aefe405: 626915 ftps support using lftp (ftpsbackend)
36b256fb: 629984 boto backend uses Python 2.5 conditional
1d7c3b31: 670891 Cygwin: TypeError: basis_file must be a (true)
file, while restoring inremental backup
2be1d5fb: 655797 symbolic link ownership not preserved
c12255fc: 669225 sftp: Couldnt delete file: Failure only logged on
level 9.
35490f4f: Fix CHANGELOG.
eb993e42: Merged in lp:~l2g/duplicity/use-py.test
31419ff4: solve bug 631275 rsync 3.0.7 persists on either rsync://
or :: module notation both together and it interpretes it as a
dest for rsh
f05051dc: protect rsync from possibly conflicting remote shell
environment setting
0d847e89: restored backend:subprocess_popen_* methods moved ncftpls
workaround into ftpbackend introduced new backend:popen_persist_breaks
setting for such workarounds enhanced backend:munge_password
rsyncbackend: rsync over ssh does not ask for password (only keyauth
supported)
733da0f0: survive spaces in path on local copying with encryption
enabled
d1249666: allow signing of symmetric encryption
b2077715: Catch “Couldn’t delete file” response in sftp
commands.
af8e89e4: 637556 os.execve should get passed program as first
argument
5aeaeebf: Adding the remove-all-inc-of-but-n-full variant to
remove_all_but_n_full() : remove only incremental sets from a backup
chain selected as older than the n last full
cae55b5d: Adding the 2 new remove-all-but commands as global
markers
a0414647: Adding new remove-all-inc-of-but-n-full command as a
variant of remove-all-but-n-full
f36f5831: add missing par2_utils.py to dist tarball
fb840e55: Remove .cvsignore
a8252326: Remove unused future imports.
b9bccea8: Remove unused future imports.
b5513616: Add entry for patches from Stéphane Lesimple for
par2.
3af16c1d: Applied patch from Stéphane Lesimple found at:
https://bugs.launchpad.net/duplicity/+bug/426282/comments/5 patch skips
the par2 files when building up the sets and chains of backups
c9f9f67d: Applied patch from Stéphane Lesimple found at:
https://bugs.launchpad.net/duplicity/+bug/426282/comments/4 patch avoids
storing all the par2 files into the local cache
a6cd6ceb: Fixed 435975 gpg asks for password in 0.6.05, but not in
0.5.18
a9ae5cf1: Fixed 435975 gpg asks for password in 0.6.05, but not in
0.5.18
f6d4e3c2: i18nized a few error messages in duplicity.selection
9152ef15: More strings internationalized in asyncscheduler and
commandline
3f898d28: Merged in lp:~mterry/duplicity/iterate-warnings
6fe1d847: Merged in lp:~mterry/duplicity/iterate-warnings
ddadd5fb: add some machine codes to various warnings when iterating
over source files
bf00b723: Merged in lp:~duplicity-team/duplicity/po-updates
00f24f84: Clean up testing run scripts.
e21bb5e4: Merged in lp:~duplicity-team/duplicity/po-updates
5c4a7371: Clean up testing run scripts.
7629654e: 422477 [PATCH] IMAP Backend Error in delete()
10eac963: 422477 [PATCH] IMAP Backend Error in delete()
2c2af741: Additional Portuguese and brand-new Bulgarian
translations
857808fe: merge latest 0.6
6a3aec4b: Merged in lp:~l2g/duplicity/bug-411375
20010932: Merged in lp:~duplicity-team/duplicity/po-updates
8e1b61fc: Translation of Spanish and Portuguese has begun
bd32dc43: Updated existing PO files with Rosetta translations
fe7a5225: Change message “–cleanup option” to “‘cleanup’
command”
d35239fd: Merged in lp:~l2g/duplicity/flag-transl-comments which
cleared up howcomments should be passed to the translators cleanly
now.
dd3ae0d9: Applied patches from Kasper Brand that fixed device file
handling.
http://lists.gnu.org/archive/html/duplicity-talk/2009-09/msg00001.html
ddd3a38d: When generating PO[T] files, only use code comments
starting with “TRANSL:” for notes to the translators. “TRANSL:” is
filtered out of the POT file with sed after it’s generated.
1149c5af: Changes for 0.6.05.
5756de2c: Merged in ~l2g/duplicity/test-compat from Larry Gilbert
which made the testing compatible across more systems. Also fixed the
remaining collectionstest bug which was trying to test with no cache
present.
227b9e32: Test separate filesystems using /dev instead of /proc
(more widely used)
bfdcca4d: 418170 [PATCH] file names longer then 512 symbols are not
supported
4d9b9284: 408059 Failure due to _logger.log failure for content with
special characters: TypeError decoding Unicode not supported
a1e76a3d: dd on Darwin (and FreeBSD?) doesn’t like e.g. “bs=1K”, so
changed it to “bs=1024”
76256b14: “cp -pR” seems to be a better analogue to “cp -a”. This
may not be perfect but it won’t hang on a fifo copy like “cp -pr”.
1c5f6102: Got test_get_extraneous working in
collectionstests.py
352df3cc: Unpacked testfiles.tar.gz on Mac OS X file system and
repacked as new file
3604e4f1: Changed options to ‘cp’ to be compatible with BSD style
yet (hopefully) stay compatible with GNU
307eb7c2: Took care of some redundancy in tar usage
a8078cea: Use bash “command” command to look for Python binaries
beyond /usr/bin
14bb5bdb: “remove-older-than” asks for passphrase even though not
required; watch for correct internal action name to fix this
936d8014: “remove-older-than” asks for passphrase even though not
required; watch for correct internal action name to fix this
56843d2e: Comment out Pydev debug startup code.
093b7ed8: Merge from trunk.
05b90b09: Fixed #409593 deja-dup (or duplicity) deletes all
signatures
a678cb71: Typo in remove-older-than may have caused unnecessary
passphrase prompts?
8a9352b1: Typo in “remove-older-than” may have caused unnecessary
passphrase prompts?
09354bd0: Changes for 0.5.19.
22cc0f9c: Merge GIO changes from trunk.
27efedd9: allow gio backend to restore by setting correct state. LP:
#407968
b7604198: Changes for 0.6.04.
32fbabb6: Changes for 0.6.04.
8a121750: Fixed 405734 duplicity fails to restore files that contain
a newline character
b7f823b2: Fixed 403790 Backup error: No such file or directory
8f02a910: Last changes for 0.6.03.
a5a2f2fe: Fix getrlimit usage for Cygwin, which was returning -1 for
the hard limit on max open files
ab29fd4e: Changes for 0.6.03.
ae873552: Changes for 0.6.03.
a4df321e: Fixed 402794 duplicity public-key-only incompatible with
gnupg 2.0.11.
54eb92a9: Fixed 405975 duplicity.gpg.gpg_failed() breaks and spews
on GnuPG error.
5183c23c: Fixed 398230 Deja-dup backup fails with message: “Unable
to locate last file”
b311b321: Fix bug 405646 Small i18n error.
d5fbbeb5: Minor header comment correction.
02bc010a: Adjust to file renames.
c0529cae: merge of lp:~l2g/duplicity/doc-update.
f85bce69: merge of lp:~l2g/duplicity/i18n-update-1.
09c9ff07: Fix restart issues when local manifest does not agree with
the contents of the remote system. In all cases, clean up as needed, and
restart the backup at the last known good state.
535bb5f3: Refactor to put loop outside of try/except clause.
645ee613: BackupSet.delete() now removes both local and remote
files.
8c91bb25: Make testing into a module.
d6ee19eb: Oops, one too many things in usage() were
dictionarified
52753c8a: Redid dictionary in usage to use a local hash instead of a
bunch of local variables, to make things a tad more pleasant.
34e65ef2: Broke up the usage() help info to simplify translation
maintenance. Imported .po files from Launchpad Translation (not sure how
necessary they are to have in here, but here they are.)
d29144f7: Updated some intltool config info
8eae751f: Updated .po and .pot files
94b3c4e1: Capture stderr as well as logger and display stderr with
logger only if gpg fails. Cuts out some of the noise from gpg.
9a5953ca: Split restarttest.py from finaltest.py for ease in
debugging.
7d861fef: fix test config to import backends (now optional).
a8cdfb7e: Sorry… I missed the point being made here…
9c55bc57: Minor capitalization changes in the manpage
db71d976: CVS-README changed to REPO-README and updated with
Launchpad/bzr info
a8ad05ad: fix 377528 –file-to-restore doesn’t work with trailing
slash
3522c2da: First pass at bug 394757 - Optional Backends
https://bugs.launchpad.net/bugs/394757
093d659f: ignore unicode() translation errors in log messsages.
8408f770: ignore unicode() translation errors in log messsages.
f6225f84: Make sure ‘invalid packet (ctb=14)’ from gpg is not a
fatal error.
c5632d46: Make sure ‘invalid packet (ctb=14)’ from gpg is not a
fatal error.
9b0c8443: On processes that complete before waitpid(), log them and
return zero as the process.returned value. They will have already
trapped in the main thread if they returned in error.
da0150d4: On processes that complete before waitpid(), log them and
return zero as the process.returned value. They will have already
trapped in the main thread if they returned in error.
3f3be923: Use correct name of error class ConflictingScheme.
544e51a9: Copy changes from trunk for duplicity translation.
c2c12227: s/pair/tuple/ (method doc fix)
5d5f6e82: when doing the “sleep to make sure we have different
current time than last backup”: sleep for 2 seconds instead of 1, since
it is an expected case that time may be moving slightly slower as a
result of adjtime() and such - assert afterwards that current time
really does differ from previous time
1b755f90: merge latest trunk
513307a8: Make Changelog.GNU close to GNU Changelog format.
26bf115f: Changes for 0.6.02.
8072466d: Another attempt at fixing #394629 Hang on first
collection-status.
28159068: Fix Bug #395826 “No such file or directory” when backing
up second time
6523b284: merge of lp:~scode/duplicity/archive-sync-removelocal and
fixes.
d963c318: Fix bug #394629 Hang on first collection-status
595a05a2: optimistically try to resolve final issue by passing
ParseResult:s sense of what’s what to get_suffix() rather than
hard-coding based on manifest. not sure if this has other bad
side-effects though - will discuss on ML.
66b056b4: nuke accidentally added characters in comments - left
control is breaking on my keyboard…
1f58c463: initial stab (broken): synch both ways; i.e., remove
spurious local files in addition to downloading missing ones * problem
remaining with determining the correct local name
28c66c7a: merge of lp:~scode/duplicity/ignore-errors
f38b4233: support an –ignore-errors command which is intended to
mean “try to continue in the face of” errors that might possibly be okay
to ignore - intended during restoration to avoid bailing out on errors
that are not fatal yet would in fact produce an “incorrect” restoration
- for now, only changes behavior on file meta data restoration where I
happened to have a problem (I had a +t file which was impossible to
restore to +t even though it was possible for it to exist and for me to
read it) - be clear in the man page that this is only supposed to be
used in case of problems and even then to please contact maintainer if
use is needed
5d6417ff: merge of lp:~scode/duplicity/misc
73d6b18d: Update ignore list.
2ce42e59: Fixes: [Bug 379386] Fix ‘list-current-files’ with missing
archive dir
ed543c88: print archive directory in a more readable fashion
#394627
c82b091c: merge from lp:~mterry/duplicity/po-fixes: reorganize po
directory, so that we can start translating in LP
e8f15f36: fix po dir layout, update POTFILES.in, add pot file to
bzr
e4a62a1f: Changes for 0.6.01.
4d1c8e80: 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.
18d813da: Fixes bug 392905. Allow omission of remote file name if
the same as the source file name.
59e81179: merge of
lp:~kenneth-loafman/duplicity/smart-archive-v2
ffe561a9: merge lp:~mterry/duplicity/gio-dist-fix to distribute gio
backend
79a0dadc: merge from trunk
1ed4a846: Fix “external file not found” to show command and file
names.
77147f94: actually distribute the gio backend
15b90260: Change to use XDG_ convention per
http://standards.freedesktop.org/basedir-spec/latest/
45771e04: Change handling of smart archive dir so both archive and
name can be changed.
76030d90: merge of lp:~scode/duplicity/smart-default-archive
49d6c3da: Misc project changes.
8c9ac074: If python is run setuid, it’s only partway set, so make
sure to run with euid/egid of root.
3eeca257: Create testfiles/output in SetUp routine so it will run
standalone.
0172bc40: Avoid deprecation warning for md5 in Python 2.6.
b52739f8: –name affects expansion, not default value, of
–archive-dir
3cfb97db: fix a man page mistake from previous merge * remove last
remnants of DUPLICITY_ARGS_HASH
1ca6fd7c: correct man page to claim hash of backend url rather than
has of args
4e9b29a5: figure out which arg is a backend url without actually
instantiating a backend
e08882b5: 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
f14f38a5: 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
cc66cf62: merge from trunk
1a68d91c: Surround –gio option with try/except so user will not see
traceback.
bcca7a3f: Make GIO tests dependent on presence of gio module.
ceadbb93: Fix ‘get’ command args.
5bd4d4de: merge of lp:~cjwatson/duplicity/always-sftp
3628bdf4: Add .bzrignore
afab0882: merge of lp:~scode/duplicity/bug-387102
1bb18f12: merge of lp:~scode/duplicity/reasonable-io-blocksize
880d10b2: Fix regression – add tahoebackend back in.
ffce7364: s/src.name/self.src.name/ in exception handling path
6687ad4b: merge log worker event info codes
5af327ab: merge with trunk
348c8839: Merge GIO branch, supporting the –gio argument
5f26c927: merge lp:~mterry/duplicity/log-upload-events since I
created conflicts with my changes
ea65ae65: Fix omitted changes in duplicity manpage.
9a82ad82: s/self.__waiter/self.__failed_waiter/
e5990e3d: 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.
689b44e4: 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
ce46165f: 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
526d4d6c: s/src.name/self.src.name/ in exception handling path
72024dd2: Changes for 0.6.0.
6af14a34: Some cleanup on the forced assertion test code to allow
multiple failures and no traceback for the assert.
7c6de173: 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.
536cac13: Fix getrlimit usage for Cygwin, which was returning -1 for
the hard limit on max open files.
67b9af0c: After merge of Checkpoint/Restart.
73bfe28a: Allow handling of unicode filenames in log messages.
0df0073d: don’t be so specific about exceptions we catch
bc8bc495: add GIO backend
392229ad: add log codes for upload events
2b956404: add info codes for upload events
3a69f177: Changes for 0.5.18.
32847b57: Changes for 0.5.18.
ad3836ca: Correct copyright.
22222afe: Reset file type preferences.
a6c57b18: Changed from using ulimit external command to
resource.getrlimit to check open files limit.
4760307e: patch #6743: Tahoe backend for duplicity
https://savannah.nongnu.org/patch/?6743
2281cc61: Only half of this bug is fixed but it’s still useful. bug
#21792: pipe call fails with an error OSError: [Errno 24] Too many open
files https://savannah.nongnu.org/bugs/?21792
67b4a2a7: Added support for RackSpace’s CloudFiles, cf+http.
c3ac854f: Add more detail on connection failure.
56092ef7: Added support for RackSpace’s CloudFiles, cf+http.
a46e5793: initial attempt at using only sftp on the client
(https://savannah.nongnu.org/bugs/index.php?26464)
dceaf254: Changes for 0.5.17.
d4e43a11: Checkpoint.
d2f2491a: The previous revision got the wrong comment, so I cleaned
up some code and checked back in. The correct release comment should
be:
b353a059: patch #6813: Making changelist easy to read
https://savannah.nongnu.org/patch/?6813
d1e9f057: Moved from using the df command to get temp space
availability to Python’s os.statvfs() call. Not all df commands work the
same way.
d52ce1e2: I had put in some trial code that I removed incompletely
that forced a full backup action. This removes the last line of that
code.
ef1b47c7: Changes for 0.5.16.
a82ac7fa: Reduce max_open_files limit needed to 1024, was 2048.
050c6e26: Fix argument list in FatalError call re max open
files.
ce0a66c1: bug #24825: duplicity warn on insufficient TMPDIR space
availability and low max open file limits pre-backup.
https://savannah.nongnu.org/bugs/?24825
061ea781: Use os.access() check on regular files and dirs only.
6c28341c: Added tilde and variable expansion to the source or target
argument that is not a URL.
13217c74: Remove check for only one $version string.
8bd567d0: bug #24825: duplicity warn on insufficient TMPDIR space
availability and low max open file limits pre-backup.
https://savannah.nongnu.org/bugs/?24825
fdaa8a91: bug #25976: Password requested when not needed.
https://savannah.nongnu.org/bugs/?25976
d660f2cb: Make sure gettext is included first. Add variable at top
of file for verbosity.
53dcfba0: Add some documentation.
5d10e1f8: Make sure gettext is available by importing first.
adaf850d: Move ssh and imap backend globals to globals.py.
57dc97c7: patch #6806: More graceful handling of old –short-filename
files https://savannah.nongnu.org/patch/?6806
6a62f4dd: modify file name test to test short filenames even when
not specifically requested to
5999b0f8: accept short filenames even if not specifically
requested
56428bd3: If a file is unreadable due to access rights or other
non-fatal errors, put out error message and continue rather than dying
messily with a traceback.
75564e95: Move SystemExit function back to the top and put a large
note NOT to move it back down, otherwise, Exception gets invoked
instead.
313371f4: Remove “–restore-dir” from options[]. It’s not an option
and never has been.
87ae3ea0: Added tilde ‘~’ expansion and variable expansion in the
options that require a filename. You can now have this
“–archive-dir=~/ArchDir/$SYSNAME” if you need it. No expansion is
applied to the source or target URL’s.
55c55e28: Unit tests were failing for ftp because of the filtering
for duplicity-only filenames. Corrected this and removed the check for
the filename in the first element.
77a7d354: If a file is unreadable due to access rights or other non-
fatal errors, put out error message and continue.
6b3afc8e: FTP backend was failing on PureFTPd when the “-x ’‘”
option was removed from the second ncftpls popen, a fix that was
implemented due to bug #24741. This fix does the ls in one pass by
extracting either the first or the last entry on the ’ls -l’. [Standard
FTP would be nice!]
d9e36bba: Changes for 0.5.14.
32019a97: Normalized include statements and tried to insure that all
duplicity includes were from the duplicity module.
4071fc45: After email voting among known duplicity contributors, the
decision was reached to revert to the GPL Version 2 license, so with
their consensus, duplicity is now under GPL Version 2.
0056d622: The -vN option has not changed. Verbosity may also be one
of: character [ewnid], or word [‘error’, ‘warning’, ‘notice’, ‘info’,
‘debug’]. The default is 4 (Notice). The options -v4, -vn, and -vnotice
are functionally equivalent, as are the mixed-case versions, -vN,
-vNotice, -vNOTICE.
bec92407: The -vN option has not changed. Verbosity may also be one
of: character [ewnid], or word [‘error’, ‘warning’, ‘notice’, ‘info’,
‘debug’]. The default is 4 (Notice). The options -v4, -vn, and -vnotice
are functionally equivalent, as are the mixed-case versions, -vN,
-vNotice, -vNOTICE.
c3e6f666: Add ‘../’ to Python path so we find our GnuPGInterface and
not another.
c51974cd: Changed from log.Log with numbered log levels to
log.Debug, log.Info, log.Notice, log.Warn, log.FatalError as below: 0
log.FatalError 1 log.Warn 2 log.Warn 3 log.Notice 4 log.Notice 5
log.Info 6 log.Info 7 log.Info 8 log.Info 9 log.Debug The -vN option has
not changed at this point.
81408c67: Revert to calling NcFTP utilities (ls, get, put) directly
rather than scripting ncftp via pexpect. Move fatal error regarding
version 3.2.0 to a warning message since it has been reported that the
segfault problem does not occur on most distributions.
d2a108e1: Add Changelog.GNU to website and distribution to add a bit
of detail showing the CVS changes via rcs2log. Added
dist/mkGNUChangelog.sh.
49e06ba7: One statement per line. Indent text of error message to
code level.
9680f043: Fixed bug where an extra comma caused a traceback during a
warning about unnecessary sig files. Plus fixed print so the real
filename would show up and not a Python object representation.
eb7ac39d: bug #25787: Usernames with escaped @-sign are not handled
properly https://savannah.nongnu.org/bugs/?25787
52598504: Adjust log levels so errors show up without
verbosity.
2d37baa3: BackendException does not cause traceback except when
verbosity is at level 9 (debug).
9a644f18: Fix backends so sleep does not occur after last
retry.
3347d9cd: Add more error detection to FTP backend.
60943654: patch #6773: Make user name optional in rsync backend
https://savannah.nongnu.org/patch/?6773
5665af90: bug #25853: duplicity fails with boto passwords coming
from ~/.boto https://savannah.nongnu.org/bugs/?25853
d7fe1def: GPG errors will no longer cause tracebacks, but will
produce a log entry, from gpg, similar to the following: ===== Begin
GnuPG log ===== gpg: BAD0BAD0: skipped: public key not found gpg:
[stdin]: encryption failed: public key not found ===== End GnuPG log
===== This will let the user know what really caused the GPG process to
fail, and what really caused errors like ‘broken pipe’.
3b886dbf: Add / modify / repair Epydoc docstrings and format.
93158e9d: One statement per line.
40db6cf3: One statement per line.
1d20ff60: Changes for 0.5.11.
13d8fa8a: Bug #333057: GnuPGInterface prints exit statuses
incorrectly https://bugs.launchpad.net/bugs/333057
ac9087e6: bug #25787: Usernames with @-sign are not handled properly
https://savannah.nongnu.org/bugs/?25787
b9d68a70: Detabify (was tab-width 8).
dd6aec91: Bug #333057: GnuPGInterface prints exit statuses
incorrectly https://bugs.launchpad.net/bugs/333057
db47661b: Fix issue on return from waitpid where the result was
shifted left and not right, producing 131072 instead of 2, as it
should.
ac6c14e8: One statement per line.
1e628382: bug #25696: ncftp error with 0.5.09
https://savannah.nongnu.org/bugs/?25696
df0bfb00: Also log the quit command.
497d9ea8: One statement per line.
101fc58e: bug #15664: When restoring backup: “OverflowError: long
int too large to convert to int”
https://savannah.nongnu.org/bugs/?15664
3681502e: One statement per line.
44276dda: patch #6761: More robust pexpect handling of SSH
authentication https://savannah.nongnu.org/patch/?6761
7eafb41a: patch #6762: Wrong exit() used for 2.3/2.4 Python
https://savannah.nongnu.org/patch/?6762
f5899e93: One statement per line.
fcfa27a8: Explain new filenames and –time-separator better.
45765fe6: Changes for 0.5.10.
f7b1bdf3: Add deprecation warnings for options affected by old
filenames.
6b5bc282: bug #19988: Incompatibility to Samba/SMB share
https://savannah.nongnu.org/bugs/?19988
da4c9fe6: One statement per line.
7900040d: One statement per line.
c7783cc2: Module gettext should be imported and installed prior to
importing any other modules. This allows long strings to be translated
when put at the module level rather than at the function call level. See
dup_time.py for examples.
89ffa243: One statement per line and other cleanup.
aa92ffad: bug #25550: Error codes do not propagate from log to exit
status https://savannah.nongnu.org/bugs/?25550
a940e0c5: bug #25097: Allow listing files from any time, not just
current time https://savannah.nongnu.org/bugs/?25097
c8d84c80: Bug #229826 duplicity crashed with ValueError in port()
https://bugs.launchpad.net/duplicity/+bug/229826
9f39cdbe: Changes for 0.5.09.
3493dfe5: If tempdir.py is included, but not instantiated, then
deleted, it throws an exception, as happens during testing when
duplicity main is not used to instantiate tempdir. The fix is to make
sure instantiation has happened before calling cleanup().
1251d067: These are changes to make debugging easier. - Filter ANSI
control (bolding) characters from NcFTP responses. - Turn off ad for
ncftp server at close of each session.
a0104966: bug #25530: commandline passwd not working
https://savannah.nongnu.org/bugs/?25530
5c42ab23: FTP is now driven with pexpect rather than NcFTP
utilities. This closes the following bugs: bug #24741: ncftpls -x ’’
causes failure on Yahoo FTP server bug #23516: duplicity/ncftpget not
closing unlinked files, …
913f9ea7: Merge from pexpect_ftp.
4fd8300f: Applied retryImap2.patch from bug 25512.
59177980: bug #25509: Logic error in imapbackend.py [IMAP_SERVER]
https://savannah.nongnu.org/bugs/?25512
12e076d6: Replace rdiff-backup with duplicity in strings.
ae5a3d92: Add copyright for author.
a1b82627: Split parsedurl test from backendtest and add test
cases.
bb0707fa: Add NcFTP 3.2.0 exception clause to dependencies.
70182fa1: Turns out going backwards in the license is not as easy as
forwards. Restoring GPLv3 license until consensus reached.
0e4db189: Add/update copyright statements in all distribution source
files and revert duplicity to GPL version 2 license.
0fcf206c: Changes for 0.5.07.
bf692979: Python 2.3 unittest.py tried to call to a test-local
variable named ‘test_id’ and failed. Changed to ‘my_test_id’ and all is
well.
83708139: Original fix to disallow use of ncftpput 3.2.0 mistyped
the ErrorCode used.
bccfd155: patch #6733: Improve error handling in imapbackend.py
https://savannah.nongnu.org/patch/?6733
d778f2fd: Add/update copyright statements in all distribution source
files and revert duplicity to GPL version 2 license.
42541b51: patch #6729: New imap backend. Replaces current gmail
backend https://savannah.nongnu.org/patch/?6729
cde57722: Modify patch #6730: Fix timing out for SSH backend Do not
take out the first line from the return buffer (#4).
a5f7d425: patch #6730: Fix timing out for SSH backend
https://savannah.nongnu.org/patch/?6730
34aa1376: patch #6729: New imap backend. Replaces current gmail
backend https://savannah.nongnu.org/patch/?6729
944c8e0f: Removed ref to bug 25331 since the analysis and fix were
both wrong. The issue was fixed correctly in bug 25403.
2d21a816: bug #25403: 0.5.06 “manifests not equal because different
volume numbers” https://savannah.nongnu.org/bugs/?25403
fa8df0c7: bug #25403: 0.5.06 “manifests not equal because different
volume numbers” https://savannah.nongnu.org/bugs/?25403
55a58fa3: One statement per line.
94e0005b: Move alltests list to separate file.
4c165708: Add coverage output to .cvsignore.
400c6f03: Turn on verbose for unit tests.
4ba257e4: Fix backendtest.py so that empty URL’s in config.py cause
the backend test to be skipped rather than erroring. Added notes in
config.py.tmpl explaining the change.
c050757f: Make default Python be system default version.
232c72c1: Add Releases directory.
54ba8d65: First pass at coverage analysis, collect the data.
10b170ea: Remove LOG entries. Not needed.
7a5d439d: Change to ASCII (-kkv)
3d8e2b39: Run a single unit test.
01254228: Increase default volume size (–volsize) to 25M from 5M.
This reduces the number of volumes to accomodate larger backups.
5de3f51a: bug #25379: sys.exit() causes traceback and should not
https://savannah.nongnu.org/bugs/index.php?25379
1f1c7c0a: Reworked patch 6701 to list collection one at a time
rather than writing all as one huge list. Was causing memeory problems
when the collections got large.
4b922c3b: bug #25331: When –archive-dir and –encrypt-key are used
together, incremental fails.
https://savannah.nongnu.org/bugs/index.php?25331
cbffdf6c: bug #25331: When –archive-dir and –encrypt-key are used
together, incremental fails.
https://savannah.nongnu.org/bugs/index.php?25331
ef998beb: Changes for 0.5.06.
8c864d2a: Fix illegal macro .PP. by removing extraneous period on
end.
f52778f4: NcFTP version 3.2.0 will not work with duplicity since we
require the use of both -f and -C options on ncftpput. 3.1.9, 3.2.1+
work fine. I put in error checks for this situation in the FTP backend
code.
282c0f2c: Noah Spurrier has given us permission to distribute
pexpect.py along with duplicity, so this will no longer be an install
requirement.
01c1bc7e: Added loop to run-all-tests.sh to run all tests against
all supported versions of Python if available. Looks for 2.3, 2.4, 2.5,
2.6.
a2ec3c43: Fix to deprecation warnings about sha and md5 modules.
Uses hashlib if available, otherwise original module.
16d685ab: Missed the most basic case, no selection functions.
Fixed.
b0e7c0c1: bug #25230: –include-globbing-filelist only including
first entry. https://savannah.nongnu.org/bugs/?25230
b4001a37: sr #106583: document the need to use the –force option
https://savannah.nongnu.org/support/?106583
c6488151: patch #6709: Report correct number of volumes when
restoring https://savannah.nongnu.org/patch/?6709
90ce58d7: bug #25239: Error during clean, wrong case in duplcicity
https://savannah.nongnu.org/bugs/?25239
f4019707: Changes for 0.5.05.
ea7e046d: Add po files back into distribution.
30cbcb4f: Cosmetic - reformat FatalError calls at end for
readability.
67c2eb6a: Change “test” to “$version”.
24aa7ab5: Build list of .mo files to be installed from po
directory.
2ca892b0: Use reldate expansion to include release date.
7837138e: Use os.path.join() instead of hardcoded strings - Make
VersionedCopy replace $reldate as well as $version
a623d44c: Adjust RPM spec file for translations.
3d82d753: Changes for 0.5.04.
fdca64e0: patch #6702: handle unknown errnos in robust.py
https://savannah.nongnu.org/patch/?6702
793ffdb9: patch #6700: Make duplicity translatable
https://savannah.nongnu.org/patch/?6700 [not in patch - added after unit
tests]
f574f070: patch #6701: Make current-list command machine-readable
https://savannah.nongnu.org/patch/?6701
f32e5998: patch #6700: Make duplicity translatable
https://savannah.nongnu.org/patch/?6700
84ce9270: GPG was throwing “gpg: [don’t know]: invalid packet
(ctb=14)” and apparently this is non-fatal. There is a fix for this
being rolled into GPG 2.x.
http://lists.gnupg.org/pipermail/gnupg-devel/2006-September/023180.html
Copied from collections.py. Fix supplied by Simon Blandford simon@onepointltd.com
7bd01fd9: One statement per line. No other changes.
701bdc1e: One statement per line. No other changes.
0bd5b638: Print backend name for each test started.
826658da: Remove test for assert on non-existing delete. Not all
backends will raise an exception when the target of a delete does not
exist.
3b68b196: Log correct file name in line 67. Use diff_ropath, not
basis_path.
bd06e6cc: Fix patch applied during Patch #6696. Applied
fixiter.diff.
79fa53af: patch #6697: Always log at least one progress during dry
run https://savannah.nongnu.org/patch/?6697
5e7372da: patch #6696: Consolidate get_delta_iter and
get_delta_iter_w_sig https://savannah.nongnu.org/patch/?6696
784cda88: patch #6297: Add IMAP/s/gmail support
https://savannah.nongnu.org/patch/index.php?6297
8dca0e8e: patch #6297: Add IMAP/s/gmail support
https://savannah.nongnu.org/patch/index.php?6297
b18e90a0: Change to one statement per line.
490fc7d1: Change use of logger so that gpg logs are always
collected. The log is always printed in the case of gpg IO errors.
Verbosity level 5 or greater will also print the logs the same as
previous versions.
af0784e9: Make one statement per line. No other changes.
c51562cc: bug #24260: backend.py missing re import
https://savannah.nongnu.org/bugs/index.php?24260
f7db7fe5: Changes for 0.5.01
efdce64a: Ignore test log file.
dae7889e: Untabify all files. To compare against previous versions
use ‘cvs diff -w’ or ‘diff -w’.
7052acfa: Create target dir (collection) if needed.
1f967351: Ignore testfiles dir.
fc84c63d: Add tests for webdav and webdavs.
166ee3b3: bug #24223: WebDAV backend broken in 0.5.00
https://savannah.nongnu.org/bugs/index.php?24223
41b4a50d: Changes for 0.5.00
2de51b91: Changes for 0.5.00
afbe47c7: temp2.tar was a test-created file that had to be present
at the beginning of test_tarfile.py. Removed the need for it to be
present and removed the file from CVS.
eaf676a6: Changes to get unit tests working again: resolve circular
imports during unit tests - resolve exception error import - now in
errors.py
bb87c780: patch #6353: Concurrency for volume encryption and upload.
https://savannah.nongnu.org/patch/index.php?6353
e7b43b47: patch #6589: S3 european bucket support
https://savannah.nongnu.org/patch/index.php?6589
389abbdb: Changes for 0.4.12.
19c21098: bug #23362: Documentation for –version, –time-separator
https://savannah.nongnu.org/bugs/index.php?23362
7fc564a2: Cosmetic only.
b80eba63: bug #23540: doc bug in man page (environment FTP_PASSWORD)
https://savannah.nongnu.org/bugs/?23540
64f38a6c: Dan Muresan created a patch that tries to minimize the
number of password prompts. To do so, it sometimes requests a password
once without confirmation; if later it turns out that a full backup is
needed, the user is prompted for confirmation.
2c590f50: bug #23066: ssh uris with given portnumbers are not
handled correctly https://savannah.nongnu.org/bugs/index.php?23066
0b555e8a: Fix sort() for Python 2.3
1f47928b: Change back to requiring Python 2.3.
7f1329aa: Change requirements back to Python 2.3.
ef45dae7: Changes for 0.4.11
9a73cf06: Modified to run on Python 2.3.
fd31d316: bug #22826: regressions caused by boto 1.1c
https://savannah.nongnu.org/bugs/?22826
7f15996c: Reinstate patch #6340 with a detailed explanation.
http://savannah.nongnu.org/patch/index.php?6340
610f3387: Changes for 0.4.10.
3c40af8e: Remove –sign for now.
12bb2a44: bug #22728: FTP backend fails on empty directory
https://savannah.nongnu.org/bugs/?22728
19845386: Fix log.debug to log.Debug
28b7a63d: patch #6453: handle absolute urls in webdav backend
https://savannah.nongnu.org/patch/index.php?6453
773d436d: patch #6375: Duplicity reports the epoch for a nonexistant
last full backup date https://savannah.nongnu.org/patch/?6375
5a9767c3: remove sleep() from dup_time.py - not used. - make one
statement per line format change.
c8b289f9: Remove testSleeping since sleep() removed from
dup_time.py.
2f57db25: Add S3 backend test.
55de1532: do not store object
e4681006: Add requirements for source package install.
df3744d6: Changes for 0.4.9.
30178996: Add more info on URL formats.
fd6b1691: Updated URL Formats in the Help Screen.
7fa5e54e: Added section URL FORMAT in the duplicity man page.
69578e76: Make sure to strip extraneous single colon when dealing
with non-module URLs. We provide the colon as needed.
c6b1c3e2: bug #21909: Problematic typo in compare_verbose() method
https://savannah.nongnu.org/bugs/index.php?21909
7cbdf13f: patch #6357: Explicit restore action is missing from the
command list, https://savannah.nongnu.org/patch/?6357
6c6a2367: patch #6356: Command line option for the temporary
directory root. https://savannah.nongnu.org/patch/?6356
d7e362a1: Added regression tests for absolute, relative, and module
pathing in the rsync scheme.
e7386bd1: Fixed rsync URL description text in –help.
26ded1b3: Added 2nd patch to bug #21475 that forces all versions of
Python to use the fixed urlparse.py.
15098653: Fixed so that remove-older-than and remove-all-but-n-full
will not request a GPG passphrase.
fc000da7: Fixed regression caused by changeover to new urlparse.py.
bug #21475: FTP Usernames that contain ‘@’ are not recognized
https://savannah.nongnu.org/bugs/index.php?21475
507cb28a: Changes for 0.4.8.
1b13d38f: Format to one statement per line.
9378ae38: Allow pexpect to force the close of the child on sftp
calls. We already do that with scp calls. This cleans up that
exception.
92fd63fa: patch #6344: S3 bad bad key key handling
http://savannah.nongnu.org/patch/?6344
5e4cf8a2: Replace set_password/phrase with set_environ and clarify
meaning in config.py.
b16d0752: Complete description of install using –prefix=.
5badff45: Fix version of boto needed plus formatting.
3cc5b4e4: patch #6340: S3 short filename regression
https://savannah.nongnu.org/patch/?6340
68150356: Make sure config.py not checked in.
88f2250a: Initial release.
b562563f: This test requires a file that no longer exists. Plus, it
is unclear what this test is supposed to accomplish. Tar is tested by
the other tests.
0f14cdcc: First pass at getting tests up to date: – isolate config
in ‘config.py’ (see config.py.tmpl) – silence noisy tests as much as
possible – fix code on both sides as needed
9fde4053: Initial release.
1552f7c5: Remove 2nd call to dup_time.settimestr() since it
overrides the time that may be set by –current-time (used for
testing).
1f277c2e: Regen dup_time.curtimestr if time-separator changed.
3e22fbb7: Fixed previous patch that assumed the presence of the user
and password in the rsync URL.
e376b183: Bring tests up to date.
116bdc1f: bug #21751: rsync module urls do not work in 0.4.7
https://savannah.nongnu.org/bugs/index.php?21751
d584d163: Changes for version 0.4.7.
9293b4f1: Change to require Python 2.4 or later.
dcc9d5f5: Formatted list and added tempdir.py and urllib_2_5.py to
the released files list.
8f1646e4: Fix confusion over patches applied to different versions.
Patch #6300 should now be applied completely.
36b9d6ab: Hole imapbackend till next release.
0737a78f: Hold till next release.
6ad55408: patch #6300: Standard library replacement for ParsedUrl
class https://savannah.nongnu.org/patch/?6300
1ad6fe57: Backed out the following patch until bugs fixed… patch
#6300: Standard library replacement for ParsedUrl class
https://savannah.nongnu.org/patch/?6300
fc887e48: patch #6301: log sftp commands at verbosity 5
https://savannah.nongnu.org/patch/?6301
227a7284: patch #6300: Standard library replacement for ParsedUrl
class https://savannah.nongnu.org/patch/?6300
b708e47e: https://savannah.nongnu.org/patch/?6284 patch #6285:
security fix: eliminate use of mktemp()
4af7f14d: https://savannah.nongnu.org/bugs/index.php?21651 bug
#21651, add https support for webdav.
bb6438ff: https://savannah.nongnu.org/bugs/index.php?21657 bug
#21657: ncftpls fails to create dir in ver 0.4.5
e96c6ec7: https://savannah.nongnu.org/bugs/index.php?21651 bug
#21651, add https support for webdav.
b519c7af: Try, the second. See comments in the bug tracker.
https://savannah.nongnu.org/bugs/index.php?21646 bug #21646:
–archive-dir causes delete of remote full sigs and orphaned sig
files
d0fc64b0: https://savannah.nongnu.org/bugs/index.php?21651 bug
#21651, add https support for webdav
1a1c242e: Fix release date in 0.4.5.
72909c95: Changes for 0.4.5.
913c351e: https://savannah.nongnu.org/bugs/index.php?21646 Fix to
handling of collections when –archive-dir is used. Prior to this,
duplicity would write the full sig files to both local and remote, then
delete the remote. Now, it does not delete the remote full sigs.
1f1da108: Changes for version 0.4.4.
76516c38: Applied a patch from Gregory Hartman to correct handling
of DST in time calculations. This affects backups made the night of a
DST time switch.
a2972427: Cosmetic - Use True and False, not 1 and None.
442167cc: Fix version checking code in ftpBackend.
1a957ffd: Changes to commandline processing to allow non-ambiguous
short strings for commands, i.e. ‘i’, ‘inc’, ‘incr’ for ‘incremental’,
‘f’ for ‘full’, etc.. A warning message is printed if the short command
is not unique.
fa7d91c6: Changes to ftpBackend to use the login config file rather
than putting the username and password on the command line. This
requires the use of NcFTP 3.1.9 or later.
b1bdafae: Changes for 0.4.4.RC4 try 2
9bd0cf63: Changes for 0.4.4.RC4
3739d642: Replace with Version 3 GPL text.
52e882ed: Fixed issue in –time-separator where the current time
string was being set prior to setting the separator, causing errors when
trying to set the –time-separator for Windows systems.
983f6694: There is a new command line syntax to separate actions and
options. Refer to the new man page for full details.
897ef187: Correct calling sequence in calls to
get_signature_chains().
31aacf80: Fix so that ftpBackend.delete() does not print file
list.
6f287376: Fix so that file mtime is always compared in full
seconds.
b0ad0c42: Changes for 0.4.4.RC3 – Corrected.
44a116e2: Changes for 0.4.4.RC3.
8e1f0575: Add ‘patch’ dir to ignore list.
fba1d7f0: Patch from Olivier Croquette to add :port option in
FTP.
9343f1fb: Patch from Olivier Croquette to add
–full-if-older-than=
36219114: Patch from Olivier Croquette to add :port option in
FTP.
7bd01d3d: Changes for 0.4.4.RC2.
f7727e84: Added –timeout (default 30) to allow users to
change duplicity’s network timeout settings.
3cc56baa: Add patch from Olivier Croquette to allow user@domain
usernames, making ftp://user@domain@domain.com/path a valid URL.
ed9a3c8c: Add patch from Alexander Zangerl to suppress the GPG
passphrase prompt when a passphrase is not needed. - full and pubkey
enc: doesn’t depend on old encrypted info - inc and pubkey enc and
archive-dir: need manifest and sigs, which the archive dir contains
unencrypted - with encryption disabled - listing files: needs manifest,
but the archive dir has that - collection status: only looks at a
repository
7ab98add: Changes for 0.4.4.RC1.
e5ccad7c: https://savannah.nongnu.org/patch/index.php?6205 Add
option –librsync-dir for when its not found.
3c5399c2: Bug #21123: duplicity 0.4.3 does not find any backup
chains https://savannah.nongnu.org/bugs/?21123
846c6a06: Make tempfiles with useful names.
4db851ff: Fixes manual page and usage msg for rsync url and
–remove-older-than.
3f44fc01: Fix for Debian bug #228388: old/aborted/offending sig
files prohibit any further action.
bb343baa: Fixes manual page and usage msg for rsync url and
–remove-older-than.
f428903f: Do not ask for passphrase when none is needed.
9bd58bb2: Final patch for Peter Schuller’s fix to max read size. The
first one was broken (revision previous to this).
46faa352: Add patch submitted by Peter Schuller which removes the
default SSH options that ignored known hosts files and disabled strict
host checking. This patch also handles the authentication failures from
these issues.
33884e46: Fixed so that max read size is 64k, not the volume size
which can be quite large.
5d4973ad: Fix release date.
27fa0788: Changes for 0.4.3 release.
c1ed9196: Removed use of tempfile.TemporaryFile(). This fixes the
restore problem on Windows that was due to Python bug 1776696 reported
on Sourceforge.
53a2b158: Removed hardwired options to use bzip2 compression.
32efb426: Changed ssh-command to ssh-options to allow users to add
options to the scp and sftp commmands.
c976c14e: Move get_password() to Backend class to standardize.
25ba0a8f: Upgrade to GPL version 3 license.
43423689: Do not pass :port part of URL to scp backend. Its taken as
the target file and errors out.
962883c5: Change ssh_command option to be ssh_options. This adds
options to the scp and sftp commands that are used by the ssh
backend.
3bd8bdff: Fixed bug 20764 - unable to use port in ssh backend.
https://savannah.nongnu.org/bugs/?20764
13dd76fa: Changes for 0.4.3.RC12
b303fe34: Changes for 0.4.3.RC12
13718150: Changed the file:, ftp:, and ssh: backends so that the
target directory will be created at start.
5cb61375: Clean up help list formatting.
9db2934a: Fix index out of range in Bug 20730, triggered when there
is only one incremental and no previous in list.
https://savannah.nongnu.org/bugs/?20730
5c49887e: Print warning if pexpect version is less than 2.1. - Fix
author and maintainer settings.
83a42263: Fix environment var name for ssh backend.
002de24b: Changes for 0.4.3.RC11.
824e0521: Add –ssh-askpass option.
3e954798: Duplicity now correctly processes scp URL’s of the form:
scp://user@host[:port]/ where the directory spec is empty. This fixes a
bug where the user could not write into the home directory on the
target.
94dbcb5e: patch #6094, Boto Backend Fixes for RC10
5e4139b9: Changes for 0.4.3.RC10
8537a6a4: Add support for: –ftp-passive, –ftp-regular,
–num-retries
c4958468: Add support for: –ftp-passive, –ftp-regular,
–num-retries
3b5c4b22: Added a commandline option, ‘–num-retries=’, to set
the number of retries. The default is 5.
5b27baeb: New S3 backend, Boto, from Eric Evans, replaces bitBucket.
Boto can be obtained from http://code.google.com/p/boto/. I did not make
this a requirement for setup since its not in the normal
repositories.
6e4182a1: Change to a max block size of 2048 bytes for rsync
difference buffer. This may slow things down for truly large files, but
will give much smaller deltas on files with numerous small changes, such
as database files.
ca267e7c: Initial release.
7a1677e8: Changes for 0.4.3.RC8
2bb2b17f: Bug 20039 - Andreas Schildbach: –and– Patch 6030 -
Alexander Zangerl az@debian.org: Duplicity now uses bzip2 for
compression. This matches the way the Debian distribution handles it.
I’ll think about adding an option to override later, if its needed.
33d621cd: Bug 20282 - Thomas Tuttle: An out of range index when
checking past history in the backup sets caused a failure when trying to
access later.
28da3d43: Changes for 0.4.3.RC7
14d9bcf6: Patch 6029 - Alexander Zangerl az@debian.org:
http://bugs.debian.org/370206 archive-dir together with incremental
backup results in crash. the patch is simple, the code in 0.4.2 did
attempt to access strings as objects.
4f58ca06: Patch 6033 - Alexander Zangerl az@debian.org: let’s add a
–help terse usage message and don’t just direct the user to the manual.
this should come handy if somebody needs to restore stuff without having
the manual available.
ebc50975: Patch 6032 - Alexander Zangerl az@debian.org: a new
feature patch: i’ve recently gotten annoyed with having gazillions of
5mb files and therefore added a –volsize option to allow the user
setting the chunk size. the patch is simple and contains a manpage
update as well.
e5835fd8: Add -u (unbuffered) to shebang line.
d5545eeb: Add stderr.flush() in FatalError().
5c4b97cb: Bug 20179 - dAniel hAhler: When errors cause login to fail
in FTP, reset and try again.
0a32ec89: Not needed.
3aab7fbd: Cosmetic change to force new log. The log for revision
1.28 is not correct. It should read as follows:
65466e17: Changes for 0.4.3.RC6.
fb38cf7b: Patch 5998 - Kuang-che Wu: Cache uid and gid lookup to
speed operations.
b0e94d89: Bug 20419 - dAniel hAhler: When errors cause an incomplete
backup set, flag the error with a message, rather than erroring out. The
user then knows to run –cleanup.
6812788d: Changes for 0.4.3.RC5.
50c0ee4d: dAniel hAhler submitted a patch to change “Error
initializing file foo” (log level 2), where foo was a socket, to
“Skipping socket foo” (log level 7).
https://savannah.nongnu.org/patch/?5985
2538a128: Change logging to flush after every write, unbuffering
stdout and stderr, thus producing logs that are coherent.
96b093f2: GnuPG fails when trying to access stdin on an empty
passphrase. Changes allow empty passphrase on public-key encryption and
now respond gracefully on empty passphrase for symmetric
encryption.
c164daf3: Changes for 0.4.3.RC4.
601685b0: Move catch of NLST errors back to self.error_retry()
31550411: More FTP fixes: clean up error handling - change initial
error delay to zero - move catch of NLST errors to self.list()
81c1c262: Changes to release 0.4.3.RC3.
9d60edad: Fix so that FTP connection/login is closed and reopened
when errors 221 or 421 are reported.
1fa0f02c: Changes to release 0.4.3.RC2.
3f91e646: Remove GnuPGInterface.py
8e6b49cc: Apply patch for bug 19998, ValueError exception.
6b5dab80: Added change notices for FTP password and rsync
backend.
1ae37feb: Fix request password in ftpBackend if environ not
set.
e2e0cc71: allow connection after 226 in NLST (ProFTPD) - request
password in ftpBackend if environ not set - rsyncBackend was using the
full URL, now uses server:path
3e06fb09: Document changes for 0.4.3.
38e9beb3: Do not set FTP to active mode at start of session.
ef5cda64: 1) WebDAV needs a Depth: 1 header otherwise infinite depth
is assumed and may be restricted due to load.
53c380b0: BitBucketBackend: if something goes wrong and we need to
re-connect, dump the exception on stderr. Be very noisy so that whatever
is wrong will be fixed.
73acb588: Typo fix for error message
7fb3fc9d: Fix a bug in the bitbucket backend: We need to get a new
bits from the new bucket if we re-connect.
8036c80b: Changes to the bitbucket backend: Update to work with
bitbucket 0.3b. * Add some docimentation. * Implement a suggestion by
Ben Escoto to move the access and secret keys to environment variables.
* Implement a very simplistic error correction mechanisim that will
re-connect on an operation failure and re-try the operation. Note that
this is just a band-aid for issues that should be resolved at lower
levels.
a37c96ed: Removed time_separator entry from changelog when I backed
out patch
387ddd3c: Went back to old time_separator, because I realized new
way wouldn’t handle some cases, and could break backwards
compatibility
59bd396a: Andre Beckedorf’s patches for ftp and rsync backends, and
time_separator
1c4bdfd3: Checked in Brian Sutherland’s Amazon S3 code
b1f3b294: Added –sftp-command to changelog
3aef4be7: Added –sftp-command option and man page documentation
8068fb10: Fixed Jiri’s name. Sorry about that :-)
c6478c29: final changes for version 0.4.2
be1c3bb8: Fixes to the scp backend
6f39acf7: Stop –remove-older-than from deleting current chain
935440bb: Catch ftp error 450 when listing directory
3a398593: cleaned up and documented –collection-status
84cab1f1: asdf’s tarfile large uid/gid patch
9f08eb72: Jiri Tyr’s scp/sftp patch
80e46641: Eric Hanchrow’s remove signature patch
d0b01e1e: A few minor updates so test pass on my system again
e76d0722: MDR patch allows signing with different key
3021420f: Added note about passphrase confirmation
6cfafa3b: When collecting password from user, make type it twice to
confirm
2c6c2caa: Final changes for 0.4.1
c644859e: Updating rpm for Fedora
00fe6d69: Trying to remove…
0f745173: Small changes for 0.4.1 and python 2.3
192afa44: variable block size, librsync 0.9.6
29a08f57: Remove large file note now that block size chosen based on
file size
baa61183: Ported some code from rdiff-backup: choose sig block based
on file length, and work with librsync 0.9.6.
2aae54bd: Mention problem with /proc
9e6be669: Cache pwd and group files
881546eb: Added –version switch, small change to man page
1ad6d570: Sebastian Wilhelmi’s update for rsync backend
a3d00d16: Applied Stephen Isard’s patch for
–exclude-globbing-filelist
b80ad0d0: Added mention of rsync backend.
8cb5ff73: added rsync contributed by Sebastian Wilhelmi
42f95a82: Added test and fix for long symlink to long file bug
12e6affc: Raise error (instead of exiting silently) if no files
found to restore
32bb8615: Added long filenames test
96b86bb7: Added man page info on –short-filenames option
0d1f2f6a: (version of) Helmut Schneider’s patch to display mtimes
with list files
807a1fdd: Added –no-encryption option, fixed crash on inc when no
changed files
58170da3: Added –verify option, tweaked some verbosity levels
80b660e2: Added compare_verbose and test to path module
566bae04: Changed restore procedure. Now all sets integrated
simultaneously.
e5f41c8e: Fixed typo in get_ropath
29576647: Added a few options for only doing
upload/move/checkin/etc
126fb133: Changed way difftars are split between volumes to waste
less space
d8ec20f8: Slight tweak to base36 code
9eb6f599: Added extra tests for base36 conversion
20a10a04: Shorted short filenames (use base36)
1ae8921a: Swallow GPG logging output if verbosity 3 or less