-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathCHANGELOG
3394 lines (2916 loc) · 156 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
New in v0.8.00 (2016/07/??)
---------------------------
* Merged in lp:~aaron-whitehouse/duplicity/remove-python26
- Remove Python 2.6 support references and tests.
* Fixed bug #1600692 with patch from Wolfgang Rohdewald
- Allow symlink to have optional trailing slash during verify.
* Merged in lp:~aaron-whitehouse/duplicity/07-fix_deja_dup_error_on_locked_files
- Revert log.Error to log.Warn, as it was prior to the merge in rev 1224,
as this was affecting other applications (e.g. deja dup; Bug #1605939).
* Merged in lp:~mwilck/duplicity/duplicity
- Speedup of path_matches_glob() by about 8x. See
https://code.launchpad.net/~mwilck/duplicity/duplicity/+merge/301268
for more details.
* 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.
* Fixed bug #1612472 with patch from David Cuthbert
- Restore from S3 fails with --with-prefix-archive if prefix includes '/'
* Merged in lp:~arashad.ahamad/duplicity/duplicity_latest
- Changes for connecting to IBM Bluemix ObjectStorage. See man page.
* Merged in lp:~fenisilius/duplicity/acd_init_mkdir
- Allow duplicity to create remote folder
* Fixed bugs #815510 and #1615480
- Changed default --volsize to 200MB
* Merged in lp:~mstoll-de/duplicity/duplicity
- Backblaze announced a new domain for the b2 api
* Fixed bug #1623342 with patch from Daniel Jakots
- failing test on OpenBSD because tar/gtar not found
* 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.
* Fixed bug #1621194 with code from Tornhoof
- Do backup to google drive working without a service account
* Merged in lp:~havard/duplicity/jottacloudbackend
- Adds support for a new backend, jottacloud.com, using the scheme `jottacloud:/<folder>`.
- Reverse-engineered library, `jottalib`: http://github.com/havardgulldahl/jottalib
- Here's how you set up jottalib https://github.com/havardgulldahl/jottalib/wiki
* Merged in lp:~breunigs/duplicity/amazondrive
- Provide a native backend for AmazonDrive
* Merged in lp:~breunigs/duplicity/amazondrive2
- Fixed variable renaming issue
* Fixed bug #1642098 - does not create PAR2 archives when '--par2-options' is used
- Missing space between par2-options plus default options
* Fix bug using 40-char sign keys, from Richard McGraw on mail list
- Remove truncation of argument and adjust comments
* 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).
* Merged in lp:~ed.so/duplicity/manpage.fixes
- Fix html output via rman on the website
* Merged in lp:~horgh/duplicity/copy-symlink-targets-721599
- Add --copy-links to copy symlink contents, not just the link itself.
* 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.
* Fix some issues with testing on MacOS
* Fix problem with gpg2 in yakety and zesty
* Fix Bug #1642813 with patch from Ravi
- If stat() returns None, don't attempt to set perms.
* 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.
* Fixed bug #1623342 with patch supplied by Daniel Jakots
- Failing test on OpenBSD because tar/gtar not found
* Fixed bug #1654220 with patch supplied by Kenneth Newwood
- Duplicity fails on MacOS because GPG version parsing fails
* Merged in lp:~aaron-whitehouse/duplicity/0-8-merge_selection_tests
- Merge in TestExcludeIfPresent from 0.7-series, which tests the behaviour of
duplicity's --exclude-if-present option.
- Move and rename TestTrailingSlash2 test (was duplicate name) as in 0.7-series.
- Fix PEP error on adbackend.py.
- Add jottalib as a tox dep to fix pylint error.
- Remove unnecessary skipUnless Linux as per 0.7-series.
* Fixed bug #1655268 "--gpg-binary option not working"
- If gpg binary is specified rebuild gpg profile using new binary location
* 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
* Merged in lp:~aaron-whitehouse/duplicity/08-merge-glob-parsers
- Use a single code path for glob strings whether or not these contain special
characters/wildcards (glob_get_normal_sf) and remove glob_get_filename_sf and glob_get_tuple_sf.
- Remove run-tests-ve as this was identical to run-tests.
* Add detail about import exceptions in onedrivebackend.py
* Merged in lp:~aaron-whitehouse/duplicity/08-refactor-unit-test-globmatch
- Rename path_matches_glob_fn to select_fn_from_glob, as this more accurately reflects the return value.
- Significantly refactored unit/test_globmatch.py to make this cleaner and clearer.
* Fixed bug #1657916 with patch supplied by Daniel Harvey
- B2 provider cannot handle two backups in the same bucket
* Fixed bug #1603704 with patch supplied by Maciej Bliziński
- Crash with UnicodeEncodeError
* Merged in lp:~aaron-whitehouse/duplicity/08-python-futurize-stage-1
- Made many of the safer changes for improved Python 3 support (python-future's futurize -stage1)
without functional change to the code (and leaving the isinstance(s, types.StringType) tests unchanged).
- Created Python 2/3 compatible tests for int and long.
- Update setup.py to show only Python 2.7 support.
* Merged in lp:~marix/duplicity/azure-storage-0.30.0-plus
- This makes the Azure backend compatible with version 0.30.0 and up of the
underlying azure-storage package.
* Merged in lp:~marix/duplicity/azure-storage-sas
- This branch adds support for Shared Access Signature to the Azure backend
which allows to run Duplicity with a minimal set of permissions.
* Merged in lp:~aaron-whitehouse/duplicity/pep8_test_fixes
- Fix PEP-8 testing by moving to using pycodestyle library.
- Temporarily add ignores to allow these tests to pass.
- Fix E305 PEP8 errors: expected 2 blank lines after class or function definition, found 1.
* Merged in lp:~benoit.bertholon/duplicity/duplicity
- Fixes bug #1666194 - ProcessCommandLine function called twice fail and arglist argument not used
* Fixed variable name change in last merge which broke a bunch of tests
- Changed archive_dir_root back to archive_dir
* 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
* Merged in lp:~benoit.bertholon/duplicity/duplicity
- Use the globals.archive_dir variable to store only a string
in the case of a path, uses globals.archive_dir_path
* Merged in p:~aaron-whitehouse/duplicity/pep8_E402_fixes
- Fixed PEP8 errors: E402 module level import not at top of file
* Fixed bug #1671852 - Code regression caused by revision 1108
- change util.uexc() back to bare uexc()
* Fixed bug #1668750 - Don't mask backend errors
- added exception prints to module import errors
* 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
* Fixed bug #1684312 with suggestion from Wade Rossman
- Use shutil.copyfile instead of os.system('cp ...')
- Should reduce overhead of os.system() memory usage.
* Merged in lp:~dernils/duplicity/testing
- Fixed minor stuff in requirements.txt.
- Added a Dockerfile for testing.
- Minor changes to README files.
- Added README-TESTING with some information on testing.
* Merged in lp:~dernils/duplicity/documentation
- Minor changes to README-REPO, README-TESTING
- Also redo the changes to requirements.txt and Dockerfile
* Merged in lp:~dawgfoto/duplicity/replicate
- Add replicate command to replicate a backup (or backup
sets older than a given time) to another backend, leveraging
duplicity's backend and compression/encryption infrastructure.
* Fixed some incoming PyLint and PEP-8 errors.
* 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.
* Replace incoming non-ASCII chars in commandline.py
* 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
* Merged in lp:~dernils/duplicity/DockerfileConvenience
- Added a few tools to the Dockerfile that make life easier
* Fixed bug #1320832 with suggestion from Oskar Wycislak
- Use chunks instead of reading it all in swiftbackend
* Merged in lp:~dernils/duplicity/DockerfileConvenience
- Add a few files that are the beginning of further infrastructure based
on docker. It contains a Dockerfile for a simple ftp server (used for
backend testing) and a setup script that can be used to set up the
complete test environment.
* Moved Dockerfile for duplicitytest into testinfrastructure/duplicity_test
* Moved some things around in testing/infrastructure to clean up
* 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.
* 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
* Merged in lp:~aaron-whitehouse/duplicity/tox_pylint_fixes
- Changes needed to run-tests without pylint E0401(import-error) errors
* Merged in lp:~xlucas/duplicity/swift-storage-policies
- This brings support for Swift storage policies: when using a Swift
backend, you can specify the policy containers should be operating on.
- This is similar to AWS Cloud Storage classes (ia, rrs, glacier and so on).
* Merged in lp:~dernils/duplicity/Dockerfile
- Added another backend to the docker test infrastructure, updated the setup
for testing and updated the documentation.
* Merged in lp:~dernils/duplicity/Dockerfile
- Now have subnet name and IP of the subnet for testing as a variable.
* 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.
* 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
* 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.
* Merged in lp:~dernils/duplicity/docker-compose
- Test Infrastructure now utilizing docker-compose
* Merged in lp:~aaron-whitehouse/duplicity/08-fix-man-verify
- Fix description of --verify and --compare-data in the man page. Now
clarifies that verify compares the restored files to hashes stored at
backup date, while --compare-data compares restored files to files
in target_path.
* 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.
* Copy.com is gone so remove copycombackend.py.
* Merged in lp:~xlucas/duplicity/swift-multibackend-bug
- Fix a bug when swift backend is used in a multibackend configuration.
* 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
* Merged in lp:~dawgfoto/duplicity/replicate
- Add integration test for newly added replicate command.
- Also see https://code.launchpad.net/~dawgfoto/duplicity/replicate/+merge/322836.
* Merged in lp:~xlucas/duplicity/multibackend-prefix-affinity
- Support prefix affinity in multibackend.
* Merged in lp:~xlucas/duplicity/pca-backend
- Add support for OVH Public Cloud Archive backend.
* Fixed PEP8 and 2to3 issues.
* Patched in lp:~dawgfoto/duplicity/skip_sync_collection_status
- collection-status should not sync metadata
- up-to-date local metadata is not needed as collection-status is
generated from remote file list
- syncing metadata might require to download several GBs
* Fixed slowness in 'collection-status' by basing the status on the
remote system only. The local cache is treated as empty.
* Fixed encrypted remote manifest handling to merely put out a non-fatal
error message and continue if the private key is not available.
* Merged in lp:~mterry/duplicity/giobackend-display-name
- giobackend: handle a wider variety of gio backends by making less assumptions;
in particular, this fixes the google-drive: backend
* Fixed bug #1709047 with suggestion from Gary Hasson
- fixed so default was to use original filename
* Fixed PEP8 errors in bin/duplicity
* Merged in lp:~mterry/duplicity/gio_child_for_display_name
- gio: be slightly more correct and get child GFiles based on display name
* Fixed bug #1711905 with suggestion from Schneider
- log.Warn was invoked with log.warn in webdavbackend.py
* Merged in lp:~mterry/duplicity/gpg-tag-versions
- Support gpg versions numbers that have tags on them.
- This can happen if you build gpg from git trunk (e.g. 2.1.15-beta20). Or if you run
against the freedesktop flatpak runtime (e.g. 2.1.14-unknown).
* 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
* Fixed bug #1538333 Assertion error in manifest.py: assert filecount == ...
- Made sure to never pass .part files as true manifest files
- Changed assert to log.Error to warn about truncated/corrupt filelist
- Added unit test to make sure detection works
- Note: while this condition is serious, it will not affect the basic backup and restore
functions. Interactive options like --list-files-changed and --file-changed will not
work correctly for this backup set, so it is advised to run a full backup as soon as
possible after this error occurs.
* Fixed bug #1638033 Remove leading slash on --file-to-restore
- code already used rstrip('/') so change to just strip('/')
* 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.
* Merged in lp:~mterry/duplicity/more-decode-issues
- Here's some fixes for another couple UnicodeDecodeErrors.
- The duplicity/dup_time.py fixes when a user passes a utf8 date string (or a string with bogus
utf8 characters, but they have to really try to do that). This is bug 1334436.
- The bin/duplicity change from str(e) to util.uexc(e) fixes bug 1324188.
- The rest of the changes (util.exception_traceback and bin/duplicity changes to use it) are to
make the printing of exceptions prettier. Without this, if you see a French exception, you see
"accept\xe9es" instead of "acceptées".
- You can test all of these changes in one simple line:
$ LANGUAGE=fr duplicity remove-older-than $'accept\xffées'
* Fix backend.py to allow string, list, and tuple types to support megabackend.py.
* 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.
* 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.
* Patched in lp:~mterry/duplicity/rename-dep
- Make rename command a dependency for LP build
* Fixed bug #1654756 with new b2backend.py module from Vincent Rouille
- Faster (big files are uploaded in chunks)
- Added upload progress reporting support
* Fixed bug #1448094 with patch from Wolfgang Rohdewald
- Don't log incremental deletes for chains that have no incrementals
* Fixed bug #1724144 "--gpg-options unused with some commands"
- Add --gpg-options to get version run command
* 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
* Fixed bug #1723890 with patch from Killian Lackhove
- Fixes error handling in pydrivebackend.py
* Fixed bug #1730902 GPG Error Handling
- use util.ufn() not str() to handle encoding
* Fixed bug #1733057 AttributeError: 'GPGError' object has no attribute 'decode'
- Replaced call to util.ufn() with call to util.uexc(). Stupid typo!
* More fixes for Unicode handling
- Default to 'utf-8' if sys.getfilesystemencoding() returns 'ascii' or None
- Fixed bug #1386373 with suggestion from Eugene Morozov
* Merged in lp:~crosser/duplicity/fix-oauth-flow
- Fixed bug #1638236 "BackendException with oauth2client 4.0.0"
* Merged in lp:~crosser/duplicity/dpbx-fix-file-listing
- Fixed bug #1639664 "Dropbox support needs to be updated for Dropbox SDK v7.1"
* Merged in lp:~crosser/duplicity/fix-small-file-upload
- Fixed small file upload changes made in Dropbox SDK v7.1
* 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
* More pytest changes
- Use requirements.txt for dependencies
- Run unit tests first, then functional
- Some general cleanup
* Merged in lp:~aaron-whitehouse/duplicity/08-ufn-to-uc_name
- Replace util.ufn(path.name) with path.uc_name throughout.
* Merged in lp:~aaron-whitehouse/duplicity/08-ufn-to-fsdecode
- Change util.fsdecode to use "replace" instead of "ignore" (matching behaviour of util.ufn)
- Replace all uses of ufn with fsdecode
- Make backend.tobytes use util.fsencode rather than reimplementing
* 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
* Merged in lp:~dawgfoto/duplicity/fixup1251
- Avoid redundant replication of already present backup sets.
- Fixed by adding back BackupSet.__eq__ which was accidentally(?) removed in 1251.
* Merged in lp:~dawgfoto/duplicity/fixup1252
* only check decryptable remote manifests
- fixup of revision 1252 which introduces a non-fatal error message (see #1729796)
- for backups the GPG private key and/or it's password are typically not available
- also avoid interactive password queries through e.g. gpg agent
* Fixed bug #1768954 with patch from Max Hallden
- Add AZURE_ENDPOINT_SUFFIX environ variable to allow setting to non-U.S. servers
* Fixed bug #x1717935 with suggestion from strainu
- Use urllib.quote_plus() to properly quote pathnames passed via URL
* Merged in lp:~aaron-whitehouse/duplicity/08-pycodestyle
- Tox changes to accommodate new pycodestyle version warnings.
Ignored W504 for now and marked as a TODO.
Marked W503 as a permanent ignore, as it is prefered to the (mutually exclusive) W504 under PEP8.
- Marked various regex strings as raw strings to avoid the new W605 "invalid escape sequence".
* Merged in lp:~aaron-whitehouse/duplicity/08-unadorned-strings
- Added new script to find unadorned strings (testing/find_unadorned_strings.py python_file)
which prints all unadorned strings in a .py file.
- Added a new test to test_code.py that checks across all files for unadorned strings and gives
an error if any are found (most files are in an ignore list at this stage, but this will allow
us to incrementally remove the exceptions as we adorn the strings in each file).
- Adorn string literals in test_code.py with u/b
* 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.
* Merged in lp:~aaron-whitehouse/duplicity/08-adorn-strings
- Adorning string literals (normally to make these unicode), in support of a transition to Python 3.
See https://blueprints.launchpad.net/duplicity/+spec/adorn-string-literals
- Adorn string in duplicity/globmatch.py.
- Adorn strings in testing/unit/test_globmatch.py
- Adorn strings in selection.py
- Adorn strings in functional/test_selection.py and unit/test_selection.py
- Remove ignores for these files in test_code.py
New in v0.7.08 (2016/07/02)
---------------------------
* Merged in lp:~noizyland/duplicity/fix_azurebackend_typo
- Fix typo in error handling code
* Merged in lp:~ghoz/duplicity/swift-prefix
- adds the abiliy to use path in the swift backend, in order to have multiple
backups to the same container neatly organized.
* 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
* Fixed bug #1586934 with patches from Dmitry Nezhevenko
- fixes error handling in wrapper
* 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.
* Fixed bug #1589038 with patches from Malte Schröder
- Added ignore_case option to selection functions
* Merged in lp:~mstoll-de/duplicity/b2-reauth
- Fixes bug #1588503 b2: large uploads fail due to expired auth token
* Merged in lp:~aaron-whitehouse/duplicity/fix_pep8
- Fix PEP8 error in onedrivebackend.py (space before bracket)
* 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
* Fixed README-REPO to no longer mention 0.6-series
* Merged in lp:~aaron-whitehouse/duplicity/fix_stat_errors
- Only give an error about not being able to access possibly locked file if
that file is supposed to be included or scanned (i.e. not excluded).
Fixes Bug #1089131
* Fixed bug #1594780 with patches from B. Reitsma
- Use re.finditer() to speed processing
* Merged in lp:~aaron-whitehouse/duplicity/PEP8_W503_fixes
- Fix PEP8 W503 errors (line break before binary operator) and enable the
PEP8 test for this in test_code.CodeTest.
* Merged in lp:~aaron-whitehouse/duplicity/PEP8_line_length
- Set line length error length to 120 (matching tox.ini) for PEP8 and
fixed E501(line too long) errors.
* Merged in lp:~duplicity-team/duplicity/po-updates
* Merged in lp:~aaron-whitehouse/duplicity/08-unicode
- Many strings have been changed to unicode for better handling of international
characters and to make the transition to Python 3 significantly easier, primarily
on the 'local' side of duplicity (selection, commandline arguments etc) rather
than any backends etc.
* 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
* Merged in lp:~excitablesnowball/duplicity/s3-onezone-ia
- Add option --s3-use-onezone-ia S3 One Zone Infrequent Access Storage
New in v0.7.07.1 (2016/04/19)
---------------------------
* Fixed bug #1568677 duplicity fails to use existing S3 bucket in boto backend
- bug introduced by incomplete fix of bug #1296793
- simplified setting of bucket locations
* Fixed bug #1569523 get_bucket unknown keyword location and my_location name error
- bug introduced in improper fix of bug #1568677
- gotta love those inconsistent APIs
* Fixed bug #1571134 incompatible with python-oauth2client version 2.x
and #1558155 PyDrive backend broken, needs update to oauth2client library
- used patch from https://bugs.debian.org/820725 but made changes
to allow the user to continue using the old version
* Fixed bug #1570293 duplicity is very slow due to excessive fsync
- removed flush() after write.
- revert to previous version
New in v0.7.07 (2016/04/10)
---------------------------
* Merged in lp:~matthew-t-bentley/duplicity/b2
- Fix import and error typos.
- Allow multiple backups in the same bucket.
- Fixes bug #1523498.
- A couple fixes allowing multiple backups to be hosted in different
folders in the same bucket as well as some logging for -v9.
* Random stuff:
- 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
- supply correct path for pydevd under Mac
- fix some tests to run under Linux and Mac
* Partial fix for bug #1529606 - shell code injection in lftpbackend
- still need to fix the other backends that spawn shell commands
* Make test_restart compatible with both GNUtar and BSDtar
* Fix stupid issue with functional test path for duplicity
* Applied patch from shaochun to fix bug #1531154,
- --file-changed failed when file contains spaces
* 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
* Undo changes to test_restart.py. GNU tar is needed.
* Fix minor pep8 nit in collections.py
* Applied changes from ralle-ubuntu to fix bug 1072130.
- duplicity does not support ftpes://
* 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
* Merged in lp:~mifchip/duplicity/duplicity
- fix bug #1313964, absolute path doesn't work for FTP
* Merged in lp:~fpytloun/duplicity/webdav-gssapi
- support GSSAPI authentication in webdav backend
* Add more pylint ignore warnings tags
* Adjust so test_restart.py can run on Mac as well
* 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.
* Fix bug #1540279 - mistake in --help
* Applied patch from kay-diam to fix error handling in ssh pexpect,
fixes bug #1541314
* Fixed a patching error in ssh_pexpect_backend.py
* Merged in lp:~fpytloun/duplicity/webdav-gssapi-fix
- Make kerberos optional for webdav backend
* Merged in lp:~harningt/duplicity/multibackend-mirror
- This changeset addresses multibackend handling to permit a
mirroring option in addition to its "stripe" mode to make it
a redundancy tool vs space-expansion tool. To do this without
changing the configuration too much, I used the query string
that would generally go unused for files to specify behavior
that applies to all items inside the configuration file.
* 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
* Backed out changes made by patching for bug #1541314. These
patches should not have been applied to the 0.7 series.
* Merged in lp:~rye/duplicity/mediafire
- Backend for https://www.mediafire.com
- Requires https://pypi.python.org/pypi/mediafire/ installed.
* Reverted changes made in rev 1164 w.r.t. getting the source from
VCS rather than local directory. Fixes bug #1548080.
* More fixes to dist/makedist to make it more OS agnostic.
* Merged in lp:~ed.so/duplicity/webdav.lftp.ssl-overhaul
duplicity.1, commandline.py, globals.py
- added --ssl-cacert-path parameter
backend.py
- make sure url path component is properly url decoded,
in case it contains special chars (eg. @ or space)
lftpbackend.py
- quote _all_ cmd line params
- added missing lftp+ftpes protocol
- fix empty list result when chdir failed silently
- added ssl_cacert_path support
webdavbackend.py
- add ssl default context support for python 2.7.9+
(using system certs eg. in /etc/ssl/certs)
- added ssl_cacert_path support for python 2.7.9+
- gettext wrapped all log messages
- minor refinements
* Applied patch from Dmitry Nezhevenko to upgrade dropbox backend:
- update to SDK v2
- use chunked upload
* Merged in lp:~aaron-whitehouse/duplicity/improve_present_get_sf_man_page
- Improve man page entry for --exclude-if-present
* Merged in lp:~aaron-whitehouse/duplicity/split_glob_matching_from_select
- Move glob matching code out of selection.py's Select function and
into globmatch.py.
* 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.
* Merged in lp:~duplicity-team/duplicity/po-updates
New in v0.7.06 (2015/12/07)
---------------------------
* Merged in lp:~mnjul/duplicity/s3-infreq-access
- This adds support for AWS S3's newly announced Infrequent Access
storage class and is intended to implement Blueprint:
https://blueprints.launchpad.net/duplicity/+spec/aws-s3-std-ia-class .
- A new command line option, --s3-use-ia, is added, and boto backend
will automatically use the correct storage class value depending on
whether --s3-use-rrs and --s3-use-ia is set. Command line parser will
prompt error if both --s3-use-ia and --s3-use-rrs are used together,
as they conflict with each other.
- The manpage has been updated giving a short explanation on the new
option. Its wording derives from Amazon's official announcement:
https://aws.amazon.com/about-aws/whats-new/2015/09/announcing-new-\
amazon-s3-storage-class-and-lower-glacier-prices/
* The ptyprocess module no longer supports Python 2.6, so fix tox.ini to
use an older version. Make explicit environs for all tests.
* 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
* Applied patch from Alexander Zangerl to update to changes in lockfile
API 0.9 and later. Updated README to notify users.
* Modded tox.ini to use the latest lockfile.
* Merged in lp:~ed.so/duplicity/setup.shebang
- Having the python interpreter searched in the PATH is much more
flexible than the /usr/bin/python inserted into our scripts shebang
by setuptools. This patch prevents that. don't touch my shebang! :)
* Cleanup issues around Launchpad build, mainly lockfile >= 0.9.
* Merged in lp:~michal-s/duplicity/duplicity
- WindowsAzureMissingResourceError and WindowsAzureConflictError
changed due to SDK changes.
are all valid in our case.
* Reversed previous changes to lockfile. Now it will take any version
extant in the LP build repository. (PyPi is not avail in LP build).
* Merged in lp:~ed.so/duplicity/tempfile.tempdir
- make sure packages using python's tempfile create temp files in
duplicity's temp dir
* Fixed bug #1511308 - Cannot restore no-encryption, no-compression backup
- Corrected code to include plain file in write_multivolume()
- Added PlainWriteFile() to gpg.py
* Merged in lp:~michal-s/duplicity/duplicity
- Fix azurebackend storage class import
* Merged in lp:~feraudet/duplicity/fix
- Fix missing SWIFT_ENDPOINT_TYPE env var, bug 1519694.
* 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.
* Merged in lp:~noizyland/duplicity/azurebackend-fixes
- Support new version of Azure Storage SDK
- Refactor _list method to support containers with >5000 blobs
* Merged in lp:~matthew-t-bentley/duplicity/b2
- Adds a backed for BackBlaze's (currently beta) B2 backup service.
- This adds backends/b2backend.py, modifies log.py to add an
error code and modifies commandline.py to add the b2://
example to the help text.
* Pep8 corrections for recently released code.
* Fixed bug #1260666 universally by splitting the filelist for
delete before passing to backend.
* Fixed bug #1369243 by adjusting messages to be more readable.
* Fixed bug #1375019 with patch from Eric Bavier (home to tmp).
* Fixed bug #1379575 with patch from Tim Ruffing (shorten webdav response).
* Fixed bug #1492301 with patch from askretov (manually refresh oauth).
New in v0.7.05 (2015/09/15)
---------------------------
* Merged in lp:~aaron-whitehouse/duplicity/fix_patch_error
- Change use of mock.patch in unit tests to accommodate the obsolete
version of python-mock on the build server.
* Fixed Bug 1476019 S3 storage bucket not being automatically created
with patch from abeverley
* Merged in lp:~aaron-whitehouse/duplicity/launchpad_tox_profile
- Add tox testing profile that mimics the packages installed on the
Launchpad build server, to reduce the likelihood of tests passing
our test suite, but failing on the build server (e.g. because of
the out-of-date mock version).
* Merged in lp:~aaron-whitehouse/duplicity/disable_code_tests_for_lpbuildd
- Set RUN_CODE_TESTS to 0 for lpbuildd tox profile, reflecting its value
on the Launchpad build server (and therefore skipping PEP8, 2to3 and
pylint). More accurately reflects the system we are mimicking and saves
approximately 1 minute per test run.
* 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.
* Merged in lp:~w.baranowski/duplicity/selection_debug
- This little patch logs debug messages concerning path selection process,
and so allows users to debug their include/exclude configuration.
* Merged in lp:~germar/duplicity/par2removefix
- After reorganisation in revision 981 and the fix for bug #1406173 the
par2backend does not remove .par2 files anymore when removing
duplicity-*.gpg files.
- This banch adds an unfiltered_list() method which is used in
delete() and delete_list()
* Updated man pages to reflect more contributors.
* Fix bug #1493573. Correct option typo in man page.
* 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).
* Merged in lp:~bmerry/duplicity/pydrive-id-cache
- This fixes the issue a number of users (including myself) have been
having with duplicity creating files with duplicate filenames on
Google Drive. It keeps a runtime cache of filename to object ID
mappings, so that once it has uploaded an object it won't be fooled
by weakly consistent directory listings.
* Merged in lp:~duplicity-team/duplicity/po-updates
New in v0.7.04 (2015/08/02)
---------------------------
* Merged in lp:~noizyland/duplicity/fix-progress
- Fixes bug 1264744. selection.filelist_globbing_get_sfs leaves the
filelist file object's position at the end of the file. When the
--progress option is used the filelists need to be read twice. On
the second read nothing is read from the file because file has
already been read and the position is EOF. This patch calls seek(0)
on the filelist to reset the position to BOF so that subsequent
read() calls will return data.
* Added pylint ignore error in webdavbackend.py.
* Merged in lp:~bmerry/duplicity/pydrive-regular
- This implements the proposal made by somebody else
(http://lists.gnu.org/archive/html/duplicity-talk/2015-02/msg00037.html)
to allow the pydrive backend to work with a normal drive account instead
of a service account. It seems to be working for me: I was able to migrate
seamlessly from the gdocs backend. It's set up so that a service account
can still be used, depending on which environment variable is set.
The man page is updated to describe how to use the new functionality.
* Merged in lp:~ed.so/duplicity/gdocs.pydrive
- make pydrive new gdocs default backend
- keep gdata backend as gdata+gdocs://
* Merged in lp:~raymii/duplicity/fix-swiftbackend-max-10000-files-in-list
- Swiftclient by default returns at max 10000 files. By adding
full_listing=True we make sure all objects are returned.
Ref: https://lists.nongnu.org/archive/html/duplicity-talk/2015-05/msg00060.html
and http://docs.openstack.org/developer/python-swiftclient/swiftclient.html#swiftclient.client.get_container
* Fix a couple of PEP8 glitches.
* Fixed bug 791794 - description of --gpg-options is misleading, Simply
needed to add the '--' before the options as in "--opt1 --opt2=parm".
* Fixed bug 1465335 - pydrive still use files in trash can - with patch
from Kuang-che Wu to ignore trashed files.
* Fixed bug 1452263 - par2 option not working on small processors - with patch
from Kuang-che Wu to ignore default 30 second timeout.
* Fixed bug 1466160 - pydrive backend is slow to remove old backup set - with
patch from Kuang-che Wu to implement _delete_list().
* Fixed bug 1466582 - reduce unnecessary syscall with --exclude-if-present - with
patch from Kuang-che Wu to make sure resulting path is a directory.
* Merged in lp:~ed.so/duplicity/gpg.binary
- new parameter --gpg-binary allows user to point to a different gpg binary,
not necessarily in path
* Merged in lp:~ed.so/duplicity/gpg.binary
- new parameter --gpg-binary allows user to point to a different gpg binary,
not necessarily in path
* Merged in lp:~aaron-whitehouse/duplicity/fix_POTFILES.in_and_run-tests
- Fixed two filename references in po/POTFILES.in, a mistake which crept in in
rev 1093 and caused testing/run-tests to fail with "IndexError: list index
out of range".
* Merged in lp:~aaron-whitehouse/duplicity/reactivate_progress_test
- Re-enable the test of the --progress option (test_exclude_filelist_progress_option),
which was marked as an expected failure. The issue causing this test to fail was
fixed in revision 1095 and the test now passes.
* Fixed bug 1471348 Multi back-end doesn't work with hubiC
- added init of appropriate superclass in both cases.
* Fixed bug 1471348 Multi back-end doesn't work with hubiC (again)
- hubiC should reach up to duplicity.backend.__init__
* Merged in lp:~aaron-whitehouse/duplicity/bug_884371
- Fixed Bug #884371 - Stopped an exclude glob trumping an earlier scan glob, but also
ensured that an exclude glob is not trumped by a later include. This fix is important,
as without it files that are specified to be included are not being backed up as expected.
- Fixed Bug #932482 - a trailing slash at the end of globs no longer prevents them working
as expected.
* Merged in lp:~aaron-whitehouse/duplicity/reenable_tests
- Re-enable unit.test_selection tests that had been temporarily commented out.
* Merged in lp:~aaron-whitehouse/duplicity/trailing_slash_match_dirs
- Made globs with trailing slashes only match directories, not files, fixing Bug #1479545.
* Merged in lp:~aaron-whitehouse/duplicity/improve_tox_and_python2-6_testing
- Testing improvements, particularly in relation to testing against Python version 2.6:
* tox.ini fixed so that it is possible to run individual tests against both Python 2.6 and 2.7;
* updated test_code.py to use unittest2 for Python versions < 2.7 (instead of failing);
* ./run-tests now correctly runs all tests against both Python 2.6 and 2.7; and
* improved testing directions in README-REPO.
* Merged in lp:~dag-stenstad/duplicity/swift_authversion_3_support
- Added support for Openstack Identity v3 in the Swift backend.
* Merged in lp:~aaron-whitehouse/duplicity/fix_2to3_issues
- Fixed 2to3 issues. Updated README-REPO with more test information. Updated pylint and
test_diff2 descriptions to make it clear these require packages to be installed on the
sytem to pass. All tests pass on Python 2.6 and Python 2.7 as at this revision.
New in v0.7.03 (2015/05/11)
---------------------------
* Merged in lp:~aaron-whitehouse/duplicity/filelist_combine
- Merged globbing and non-globbing filelists to use the same code path
and all accept globbing characters. Added deprecation warning to the
--exclude-globbing-filelist and include-globbing-filelist options in
commandline.py and hid them from help output. Updated the manual
(and unit tests) accordingly.
- Note that this does trigger a change in behaviour for duplicity.
Previously, include patterns in include-filelist did not match files
in a directory that was included, so /usr/local in an include file
would not have matched /usr/local/doc. Now, this folder would be
included, as would occur if --include or the old
--include-globbing-filelist was used. Additional lines will therefore
need to be added to filelists to unambiguously exclude unwanted
subfolders, if this is intended.
- Mark --include-filelist-stdin and --exclude-fielist-stdin for
deprecation and hide from --help output.
* Fix bug 1432999 with hint from Antoine Afalo.
- '/'s at end of destination cause problems with onedrivebackend.
* Fix bug 1434702 with help from Robin Nehls
- incorrect response BackendException while downloading signatures file.
* Fix bug 1437789 with patch from pdf
- par2backend.py incorrect syntax in get()
* Merge in lp:~stynor/duplicity/multi-backend
- A new backend that allows use of more than one backend stores (e.g. to
combine the available space from more than one cloud provider to make
a larger store available to duplicity).
* Move requirements section lower in manpage.
* Merge in lp:~cemsbr/duplicity/duplicity
- Fix bug 1432229 in Copy.com backend:
Reply header has no content-type for JSON detection. Now, we also check
whether the content starts with '{'.
* Fixed bug 1444404 with patch from Samu Nuutamo
- rdiffdir patch crashes if a regular file is changed to a non-regular
file (symlink, fifo, ...)
* Fixed bug 1448249 and bug 1449151 thanks to David Coppit.
- When patching, close base file before renaming
- Enable --ignore-errors flag in rdiffdir
* 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
* Merge in lp:~sjakthol/duplicity/onedrive-error-message
- Add proper error message for OneDrive backend when python-requests or
python-requests-oauthlib is not installed (bug 1453355).
New in v0.7.02 (2015/03/10)
---------------------------
* Merged in lp:~vincegt/duplicity/swift_regionname
- Fixes bug #1376628
- Add mapping of SWIFT_REGIONNAME to select region inside SWIFT when a
provider proposes more than one region.
* Merged in lp:~aaron-whitehouse/duplicity/progress_option_error
- Added test_exclude_globbing_filelist_progress_option into
functional/test_selection.py, which shows the error reported in
Bug #1264744 - that the --exclude-globbing-filelist does not backup
the correct files if the --progress option is used. Test is marked as
an expected failure so as not to cause the test suite to fail.
* Merged in lp:~noizyland/duplicity/fix_azurebackend_container_names
- Azure Backend examples have underscores in the container names. These
are not valid Azure container names. The underscores have been replaced
with hypens and a note about valid container names added to the man page.
- Also corrects a problem where Azure Exceptions were returing unicode
strings that were not being handled correctly.
* Merged in lp:~user3942934/duplicity/pydrive
- Currently duplicity uses gdocs backend for Google Drive backups.
gdocs uses deprecated API and don't allow backups for managed Google
accounts. (see https://bugs.launchpad.net/duplicity/+bug/1315684)
- Added pydrive backend that solves both of those problems. Published
also on https://github.com/westerngateguard/duplicity-pydrive-backend.
* Fixed some tabs/spaces problems that were causing install failures.
* Fixed variable typo in commandline.py that was causing build fails.
* Merged in lp:~duplicity-team/duplicity/po-updates
* Remove 'gs' and 's3+http' from uses_netloc[]. Fixes Bug 1411803.
* 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.
* Applied patch from Adam Reichold to fix bug # 1413792.
* Merged in lp:~angusgr/duplicity/exclude-older-than
- Add "--exclude-older-than" commandline option, that allows you to only
back up files with a modification date newer than a particular threshold.
* Merged in lp:~aaron-whitehouse/duplicity/bug_884371_asterisks_in_includes
- Added tests to unit/test_selection.py and funtional/test_selection.py
to show the behaviour reported in Bug #884371, i.e. that selection is
incorrect when there is a * or ** on an include line of a filelist or
commandline --include.
* Merged in lp:~aaron-whitehouse/duplicity/bug_932482_trailing_slashes_and_wildcards_error
- Added functional and unit tests to show Bug #932482 - that selection does
not work correctly when excludes (in a filelist or in a commandline option)
contain both a single or double asterisk and a trailing slash.
* Misc fixes for the following PEP8 issues:
- E111, E121, E122, E124, E125, E126, E127, E128, E201, E202, E203,
E231, E241, E251, E261, E262, E271, E272, E301, E302, E303, E401,
E502, E701, E702, E703, E711, E721, W291, W292, W293, W391
- to run pep8 on duplicity use 'pep8 --ignore=E501'
- see http://pep8.readthedocs.org
* Fixes for 2to3 issues
* Fix spelling error in manpage, bug 1419314.
* Fix _librsyncmodule.c compilation, bug 1416344, thanks to Kari Hautio.
* Really fix bug 1416344 based on comment #5 by Roman Tereshonkov.
* 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".
* remove extraneous string format arg in previous scp fix.
New in v0.7.01 (2015/01/11)
---------------------------
Enhancements:
* 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.
* Moved testing/test_code.py to testing/manual/code_test.py
so PPA builds would succeed. Should be moved back later.
* Remove valid_extension() check from file_naming.py. It was
causing failed tests for short filenames. Thanks edso.
* Partial fix for PPA build failures, new backend name.
* Merged in lp:~ed.so/duplicity/fix.dpbx.import
- fix dpbx import error import lazily
* Merged in lp:~hooloovoo/duplicity/fix-typo-in-test-description
- Fixed spelling mistake/typo in a description of a test.
* Merged in lp:~mterry/duplicity/missing-unicode-escape
- Convert restore_dir to unicode before printing.
* Merged in lp:~ed.so/duplicity/lftp.ncftp.and.prefixes
- retire --ssh-backend, --use-scp parameters
- introduce scheme prefixes for alternative backend selection
e.g. ncftp+ftp://, see manpage
- scp is now selected via scheme e.g. scp://
- added lftp fish, webdav(s), sftp support
* Merged in lp:~mterry/duplicity/code-nits
- Fix some pylint/pep8 nits that prevented the test_code.py test from passing.
* Merged in lp:~mterry/duplicity/debian-dir
- Add a debian/ directory to make it easier to manage the PPAs for duplicity.
* In webdavbackend.py:
- Fixed bug 1396106 with change by Tim Ruffing, mispelled member.
- Added missing 'self.' before member in error message.
* Merged in lp:~adrien-delhorme/duplicity/hubic
- Add Hubic support through pyrax and a custom pyrax_identity module.
* Fixed bug 1385599 with changes by Yannick Molin. SSL settings are now
conditioned on protocol ftp or ftps.
* Partial fix of bug 1236248 with changes by az, manpage warning about
--extra-clean, however, recovery with missing sig files is broken.
* Fixed bug 1255453 with changes by Gaudenz Steinlin, report backend import
results, both normal and failed, at INFO log level.
* Manually merged in lp:~m4ktub/duplicity/0.6-reliability
- Per fix proposed in Bug #1395341.
* Modded .bzrignore to ignore *.egg test dependencies, normalized, sorted.
* Merged in lp:~ed.so/duplicity/paramiko.identyfile
- fix identity file parsing of --ssh-options for paramiko
- manpage fixes
* Source formatted, using PyDev, all source files to fix some easily fixed
PEP8 issues. Use ignore space when comparing against previous versions.
* Merge in lp:~andol/duplicity/signkeyformat
- Allow --sign-key to use short format, long format alt. full fingerprint.
* Merge in lp:~hooloovoo/duplicity/verify-not-check-source
- Tests to validate that duplicity does not check filesystem source during
verify unless --compare-data is specified
* Merge in lp:~ed.so/duplicity/move_netloc
- move netloc usage definitions into respective backends
- fix "[Question #259173]: rsync backend fails"
https://answers.launchpad.net/duplicity/+question/259173
* Make ssh an unsupported backend scheme
* Temporarily disable RsyncBackendTest and test_verify_changed_source_file
* Merge in lp:~hooloovoo/duplicity/test-verify-improvements
- Fix up test_verify, which was a bit of a mess:
- Simplify test_verify.py to just do a simple backup and verify on a
single file in each test.
- Modify tests to correctly use --compare-data option.
- Add tests for when the source files have atime/mtime manipulated.
* Fix duplicity verify to ignore the file system when globals.compare_data is
False. This means that verify only validates the viability of the backup
itself unless --compare-data is specified.
* Reenable test_verify_changed_source_file test
* Merged in lp:~hooloovoo/duplicity/add-additional-verify-tests-for-corrupted-archives
- Add tests to test_verify.py to test that verify fails if the archive
file is corrupted. Changed file objects to use the with keyword to ensure
that the file is properly closed.
- Small edit to find statement in verify_test.sh to make it work as
expected (enclose string in quotes).
* Merged in lp:~hooloovoo/duplicity/add-else-to-badupload-try-except
- Badupload test previously did not have an else in the try-except. The
test passed if the except was triggered, but would also pass if the
test did not trigger an error at all.
* Fixed bug 1406173 by applying patch supplied in report
- Ignore .par2 files in remote file list
* Removed redundant shell test testing/verify_test.sh
* Misc fixes for the following PEP8 issues:
- E211, E221, E222, E225, E226, E228
- see http://pep8.readthedocs.org
* Fixed bug 1278529 by applying patch supplied in report
- Use get_bucket() rather than lookup() on S3 to get proper error msg.
* Merged in lp:~stapelberg+ubuntu/duplicity/add-onedrive-backend
- Add a Microsoft OneDrive backend
* Merged in lp:~hooloovoo/duplicity/filelist_select_bug_1408411
- Adds functional test cases that fail because of Bug #1408411 (commented
out), to assist in fixing that bug.
* Merged in lp:~hooloovoo/duplicity/process_filelists_for_spaces_etc
- Process filelists to remove imperfections such as blank lines, comments
and leading/trailing whitespace. Also correctly processes quoted folders
containing spaces in their names. Extensive unit and functional tests to
test these changes (and selection more generally).
- The branch does add an additional folder to testfiles.tar.gz called
select2. This included a folder with a trailing space, to test the quote
test. The subfolders also have clearer names than in the "select" folder
(eg "1sub2sub3") which makes it easier to keep track of issues in tests.
* Merged in lp:~9-sa/duplicity/FixBug1408289
- Fix bug #1408289
- Wrong attribute name prevented raise of client exception, working now
* Merged in lp:~noizyland/duplicity/azurebackend
- Add backend for Azure Blob Storage Service
New in v0.7.00 (2014/10/23)
---------------------------
Enhancements:
* Adjust unit tests to expect single FTP backend
* Merged in lp:~moritzm/duplicity/duplicity
- Use lftp for both FTP and FTPS
* Merged in lp:~ed.so/duplicity/0.7-dpbx.importfix
- fix this showstopper with the dropbox backend
"NameError: global name 'rest' is not defined"
* Merged in lp:~jflaker/duplicity/BugFix1325215
- The reference to "--progress_rate" in the man page as a parameter is
incorrect. Should be "--progress-rate".
* Merged in lp:~hooloovoo/duplicity/updated-README-REPO
- Changes to README-REPO to reflect the restructuring of the directories.
* Fixed bug 1375304 with patch supplied by Aleksandar Ivanovic
* Merged in lp:~ed.so/duplicity/webdav200fix-0.7
- webdav backend fix "BackendException: Bad status code 200 reason OK. " when
restarting an interrupted backup and overwriting partially uploaded volumes.
* Merged in lp:~mterry/duplicity/require-2.6
- Require at least Python 2.6.
- Our code base already requires 2.6, because 2.6-isms have crept in. Usually
because we or a contributor didn't think to test with 2.4. And frankly,
I'm not even sure how to test with 2.4 on a modern system.
* Merged in lp:~mterry/duplicity/drop-pexpect
- Drop our local copy of pexpect in favor of a system version.
- It's only used by the pexpect ssh backend (and if you're opting into that,
you probably can expect that you will need pexpect) and the tests.
- I've done a quick smoketest (backed up and restored using
--ssh-backend=pexpect) and it seemed to work fine with a modern version
of pexpect.
* Merged in lp:~mterry/duplicity/2.6isms
- Here's a whole stack of minor syntax modernizations that will become
necessary in python3. They all work in python2.6.
- I've added a new test to keep us honest and prevent backsliding on these
modernizations. It runs 2to3 and will fail the test if 2to3 finds anything
that needs fixing (with a specific set of exceptions carved out).
- This branch has most of the easy 2to3 fixes, the ones with obvious and
safe syntax changes.
- We could just let 2to3 do them for us, but ideally we use 2to3 as little
as possible, since it doesn't always know how to solve a given problem.
I will propose a branch later that actually does use 2to3 to generate
python3 versions of duplicity if they are requested. But this is a first
step to clean up the code base.
* Merged in lp:~mterry/duplicity/drop-static
- Drop static.py.
- This is some of the oldest code in duplicity! A bzr blame says it is
unmodified (except for whitespace / comment changes) since revision 1.
- But it's not needed anymore. Not really even since we updated to python2.4,
which introduced the @staticmethod decorator. So this branch drops it and
its test file.
* Merged in lp:~mterry/duplicity/py3-map-filter
- In py3, map and filter return iterable objects, not lists. So in each case
we use them, I've either imported the future version or switched to a list
comprehension if we really wanted a list.
* Merged in lp:~mterry/duplicity/backend-unification
- Reorganize and simplify backend code. Specifically:
- Formalize the expected API between backends and duplicity. See the new
file duplicity/backends/README for the instructions I've given authors.