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.
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.
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.
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.
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.
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.
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
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.
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
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.
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)
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.
f0e9f3f1:
One last change for bug #1829416 from charlie4096
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.
7d2fab89:
Removed python-gettext from setup.py. Whoops!
a020404e:
Move pytest-runner setup requirement to a test requirement
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.
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.
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
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.
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”
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
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.
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.
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.
cfdf24d7:
Modify some generators to return when finished
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.
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
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
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.
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
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.
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
a87414af:
Make backend.tobytes use util.fsencode rather than reimplementing
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
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.
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.
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
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.
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
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
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.
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.
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
f6573679:
Fix errors where log.Warn was invoked with log.warn in
webdavbackend.py
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
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.
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.
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
c0a9ca31:
Fix bin/duplicity.1 entries for –verify and –compare-data
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.
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
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.
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
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
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.
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.
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
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
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
c6375adf:
Added future imports to globmatch.py and added future to tox.ini
deps.
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()
c48ff6f4:
Fixed PEP8 errors: E402 module level import not at top of file
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
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
7eba8beb:
Update setup.py to show only Python 2.7 support.
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
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
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
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.
f880267c:
Remove time from run-tests, in case this causes any issues (e.g. cross
platform support).
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
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
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.
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.
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.
4b889fd7:
Improve description of new argument in man page
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
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).
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
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
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.
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
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.
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.
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
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.
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.
b6534962:
Fixed bug #1594780 with patches from B. Reitsma - Use re.finditer() to
speed processing
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
60957c05:
Fix PEP8 error in onedrivebackend.py (space before bracket).
18f32bae:
Fix pep8 issues from last two patch sets.
7f1dfc84:
Fixed bug #1589038 with patches from Malte Schröder - Added ignore_case
option to selection functions
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
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
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.
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.
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
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.
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
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
ea04f388:
Use built-in username/password support in backends.py.
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
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.
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
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
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)
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.
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.
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.
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.
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.
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’
)
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.
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.
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.
4c49785c:
Re-enable tests that had been temporarily commented out.
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.
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.
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.
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://
725b971b:
Support using PyDrive with a regular Google account, instead of a
service account.
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.
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,
…)
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
‘{’.
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.
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.
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
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.
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.
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.
a99abfe0:
Fixed variable typo in commandline.py that was causing build fails.
f56a246a:
Fixed some tabs/spaces problems that were causing install failures.
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
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.
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).
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
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).
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
b78d7620:
move netloc usage definitions into respective backends
e67597df:
Added test_verify_changed_source_file test to flag up the issue
mentioned in Bug #1354880
6afcb4b4:
Source formatted, using PyDev, all source files to fix some easily fixed
PEP8 issues. Use ignore space when comparing against previous
versions.
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.
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
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”.
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
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).
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.
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
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
c15abb38:
Remove –add-concurrency option and enhance the error message the case
where an existing lockfile is detected
bb0d0c61:
Reformat –allow-concurrency text and add mention of stale lockfile
10ea19c7:
Update manpage with new –add-concurrency option
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)
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
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.
9ef392ed:
Applied patch to fix “Access GDrive through gdocs backend failing” - see
https://lists.nongnu.org/archive/html/duplicity-talk/2013-07/msg00007.html
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
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.
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.
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.
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.
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
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.
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.
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
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.
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
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
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
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.
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
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
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
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.
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.
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
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
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
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)
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
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
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
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.
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
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
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
b6a11e39:
422477 [PATCH] IMAP Backend Error in delete()
38cf79ed:
422477 [PATCH] IMAP Backend Error in delete()
b7980127:
Additional Portuguese and brand-new Bulgarian translations
85547cc7:
Translation of Spanish and Portuguese has begun
8c22a8d1:
Updated existing PO files with Rosetta translations
0dfe5885:
Change message “–cleanup option” to “‘cleanup’ command”
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.
7b3bc248:
onedrive: Support using an external client id / refresh token
5c229a9b:
fix functional tests when _runtestdir is not /tmp
db811f66:
Allow to override manpage date with SOURCE_DATE_EPOCH
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
df8d93fe:chg:
build_ext now builds inplace for development ease.
d54b0083:chg:
Remove lockfile to avoid user confusion.
ff191987:chg:
Fix Support DynamicLargeObjects inside swift backend
f0ff1dfe:chg:
Fix makechangelog to output actual problems.
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.
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.
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.
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.
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.
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
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.
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
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.
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)
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.
0836c689:
One last change for bug #1829416 from charlie4096
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.
305d09f8:
Removed python-gettext from setup.py. Whoops!
03e9891b:
Move pytest-runner setup requirement to a test requirement
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.
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.
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
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.
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”
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
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.
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.
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.
b40afc6e:
Modify some generators to return when finished
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.
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
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
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
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.
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.
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
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.
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
aac4fe35:
Make backend.tobytes use util.fsencode rather than reimplementing
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
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.
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.
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
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.
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
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
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.
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.
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
f66c0863:
Fix errors where log.Warn was invoked with log.warn in
webdavbackend.py
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
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.
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.
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
f3046dc4:
Fix bin/duplicity.1 entries for –verify and –compare-data
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.
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
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.
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
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
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.
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.
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
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
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
62162260:
Added future imports to globmatch.py and added future to tox.ini
deps.
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()
59e11d3b:
Fixed PEP8 errors: E402 module level import not at top of file
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
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
befa17f8:
Update setup.py to show only Python 2.7 support.
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
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
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
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.
0855ee3d:
Remove time from run-tests, in case this causes any issues (e.g. cross
platform support).
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
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
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.
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.
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.
6a63b9a1:
Improve description of new argument in man page
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
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).
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
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
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.
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
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.
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.
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
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.
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.
0bb6379b:
Fixed bug #1594780 with patches from B. Reitsma - Use re.finditer() to
speed processing
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
d642a0d4:
Fix PEP8 error in onedrivebackend.py (space before bracket).
d9ee1a17:
Fix pep8 issues from last two patch sets.
b0dca827:
Fixed bug #1589038 with patches from Malte Schröder - Added ignore_case
option to selection functions
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
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
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.
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.
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
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.
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
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
ab567e18:
Use built-in username/password support in backends.py.
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
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.
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
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
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)
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.
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.
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.
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.
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.
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’
)
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.
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.
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.
2b7349e9:
Re-enable tests that had been temporarily commented out.
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.
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.
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.
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://
99d19983:
Support using PyDrive with a regular Google account, instead of a
service account.
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.
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,
…)
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
‘{’.
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.
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.
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
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.
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.
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.
1426220e:
Fixed variable typo in commandline.py that was causing build fails.
e699b413:
Fixed some tabs/spaces problems that were causing install failures.
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
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.
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).
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
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).
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
24a9a21f:
move netloc usage definitions into respective backends
e992570a:
Added test_verify_changed_source_file test to flag up the issue
mentioned in Bug #1354880
4be5d27b:
Source formatted, using PyDev, all source files to fix some easily fixed
PEP8 issues. Use ignore space when comparing against previous
versions.
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.
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
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”.
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
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).
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.
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
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
d8a47a65:
Remove –add-concurrency option and enhance the error message the case
where an existing lockfile is detected
b04cddbf:
Reformat –allow-concurrency text and add mention of stale lockfile
512cc232:
Update manpage with new –add-concurrency option
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)
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
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.
b06ab120:
Applied patch to fix “Access GDrive through gdocs backend failing” - see
https://lists.nongnu.org/archive/html/duplicity-talk/2013-07/msg00007.html
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
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.
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.
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.
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.
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
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.
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.
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
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.
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
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
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
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.
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
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
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
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.
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.
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
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
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
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)
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
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
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
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.
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
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
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
7629654e:
422477 [PATCH] IMAP Backend Error in delete()
10eac963:
422477 [PATCH] IMAP Backend Error in delete()
2c2af741:
Additional Portuguese and brand-new Bulgarian translations
8e1b61fc:
Translation of Spanish and Portuguese has begun
bd32dc43:
Updated existing PO files with Rosetta translations
fe7a5225:
Change message “–cleanup option” to “‘cleanup’ command”
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.
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.
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.)
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.
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
513307a8:
Make Changelog.GNU close to GNU Changelog format.
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
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
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
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.
1ed4a846:
Fix “external file not found” to show command and file names.
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
1a68d91c:
Surround –gio option with try/except so user will not see
traceback.
bcca7a3f:
Make GIO tests dependent on presence of gio module.
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
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.
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.
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!]
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’.
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
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,
…
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.
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
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
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
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.
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
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
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
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
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
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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