mirror of
https://github.com/restic/restic.git
synced 2025-08-17 15:57:28 +00:00
Compare commits
809 Commits
debug-wron
...
v0.13.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
594f155eb6 | ||
![]() |
90f1a9b5f5 | ||
![]() |
2ad3d50535 | ||
![]() |
59fd21e30e | ||
![]() |
c31f1e797b | ||
![]() |
53ac0bfe85 | ||
![]() |
40791fff64 | ||
![]() |
a53a4a23fd | ||
![]() |
b567c08e80 | ||
![]() |
0ca89b6fec | ||
![]() |
d7e46c187a | ||
![]() |
6aefe3e111 | ||
![]() |
03137a34db | ||
![]() |
c7d637ec39 | ||
![]() |
6087c4ad75 | ||
![]() |
cdf478c8f4 | ||
![]() |
80969a6347 | ||
![]() |
676d5d498c | ||
![]() |
9c1d49e312 | ||
![]() |
ca1e2316cf | ||
![]() |
0b8b524f12 | ||
![]() |
a350625554 | ||
![]() |
32e61f2620 | ||
![]() |
8388f66c4c | ||
![]() |
0937008648 | ||
![]() |
3a285f91bc | ||
![]() |
29a5778626 | ||
![]() |
53656f019a | ||
![]() |
cd190bee14 | ||
![]() |
2ee07ded2b | ||
![]() |
12606b575f | ||
![]() |
5f145f0c7e | ||
![]() |
13c40d4199 | ||
![]() |
13aae82635 | ||
![]() |
b85d035956 | ||
![]() |
47aa4613f7 | ||
![]() |
a9a5acb8ce | ||
![]() |
6dee59b789 | ||
![]() |
2e19d19216 | ||
![]() |
18a1de0de1 | ||
![]() |
9b57fcc6b0 | ||
![]() |
17878036d8 | ||
![]() |
2b1932a258 | ||
![]() |
fdc738fb70 | ||
![]() |
daea461f15 | ||
![]() |
a3d99217a4 | ||
![]() |
e0ab689ccd | ||
![]() |
7af69fd7b9 | ||
![]() |
49b67c8aaa | ||
![]() |
44d543ede3 | ||
![]() |
5ef4ee7760 | ||
![]() |
254c8743fc | ||
![]() |
ad4f4dbc7a | ||
![]() |
63f6a9b085 | ||
![]() |
4a2d5a146d | ||
![]() |
1efc26899d | ||
![]() |
8df246d0f3 | ||
![]() |
dd30083c2b | ||
![]() |
fb4c5af5c4 | ||
![]() |
18ec49ddfa | ||
![]() |
5ec312ca06 | ||
![]() |
aebd24e414 | ||
![]() |
d72181c8c1 | ||
![]() |
c6fd13425b | ||
![]() |
cc90f2ba6b | ||
![]() |
d8f58fb7bf | ||
![]() |
a4786dda5a | ||
![]() |
aaa7f94139 | ||
![]() |
6b17a7110c | ||
![]() |
7080fed7ae | ||
![]() |
74f29ad09b | ||
![]() |
5f34ad523f | ||
![]() |
58236ead12 | ||
![]() |
8ae4d86a84 | ||
![]() |
3f0184ba2a | ||
![]() |
90473ea9ff | ||
![]() |
4e84e8ab3f | ||
![]() |
2e9180638e | ||
![]() |
058dfc20da | ||
![]() |
502fc3281c | ||
![]() |
77c850148a | ||
![]() |
df89aa0087 | ||
![]() |
792523b28b | ||
![]() |
f0a8182493 | ||
![]() |
6183d0be53 | ||
![]() |
7f6fc78f95 | ||
![]() |
abfbacf3d3 | ||
![]() |
b0c1d0f9cd | ||
![]() |
8b6fe845d4 | ||
![]() |
6ff32ee4d3 | ||
![]() |
2ff3b7d69c | ||
![]() |
9589de16db | ||
![]() |
2c3e5d943d | ||
![]() |
e2bb384a60 | ||
![]() |
e5985e0d63 | ||
![]() |
8832837a8a | ||
![]() |
f92130d878 | ||
![]() |
a5b0e0bef4 | ||
![]() |
e6e51b84ac | ||
![]() |
c5c3dfe10f | ||
![]() |
19ec4d8f17 | ||
![]() |
47ecd950b8 | ||
![]() |
051cc7ce71 | ||
![]() |
64e733f3d6 | ||
![]() |
017614c41a | ||
![]() |
0cfdb82ea4 | ||
![]() |
d5ed5da85c | ||
![]() |
8eb83029a8 | ||
![]() |
882d58abce | ||
![]() |
8de4401bb5 | ||
![]() |
f7a9b90eb9 | ||
![]() |
aa214f99b4 | ||
![]() |
4a25bbaed3 | ||
![]() |
583edc39b8 | ||
![]() |
212b2f651f | ||
![]() |
15ab96ecd6 | ||
![]() |
d71afb3d32 | ||
![]() |
4bf05d91a1 | ||
![]() |
de3afc1005 | ||
![]() |
2ea998f70e | ||
![]() |
e8fa3855e7 | ||
![]() |
34a6a24544 | ||
![]() |
1d8a0b06cb | ||
![]() |
50053a85d3 | ||
![]() |
f1cfb97237 | ||
![]() |
cb81ee9396 | ||
![]() |
b0e64deb27 | ||
![]() |
43d173b042 | ||
![]() |
1b152a2c4d | ||
![]() |
15cc3c0e23 | ||
![]() |
5904f80cfa | ||
![]() |
4d579c4387 | ||
![]() |
15d7313387 | ||
![]() |
6c84ea1412 | ||
![]() |
78c7dd53ef | ||
![]() |
a34bfa8269 | ||
![]() |
0425a30420 | ||
![]() |
1b23675f21 | ||
![]() |
836fbb9133 | ||
![]() |
c71729dfc4 | ||
![]() |
711ceb0109 | ||
![]() |
829c0a67af | ||
![]() |
fb5d9345a7 | ||
![]() |
95eb859b54 | ||
![]() |
257740b0cc | ||
![]() |
46d08d9404 | ||
![]() |
a7853057ab | ||
![]() |
eb282532dc | ||
![]() |
f2a3b3b4a1 | ||
![]() |
58e8b34633 | ||
![]() |
a02cea6e83 | ||
![]() |
708d7a2574 | ||
![]() |
6f4b5ab8d1 | ||
![]() |
634a9c162d | ||
![]() |
632ca2ef52 | ||
![]() |
24088f8307 | ||
![]() |
c892c0bab9 | ||
![]() |
78dac2fd48 | ||
![]() |
5ea8bba1a1 | ||
![]() |
a5e103a212 | ||
![]() |
e7ec0453b1 | ||
![]() |
1ebcb1d097 | ||
![]() |
fe04d024c7 | ||
![]() |
718966a81a | ||
![]() |
4f33eca634 | ||
![]() |
cc110c42e6 | ||
![]() |
897d8e662c | ||
![]() |
4a95af5290 | ||
![]() |
f28c8bc1c2 | ||
![]() |
1827b16ade | ||
![]() |
8b758c78a3 | ||
![]() |
8d2996eaaa | ||
![]() |
58efe21eca | ||
![]() |
71fcf48533 | ||
![]() |
921e328b56 | ||
![]() |
e62d4f622f | ||
![]() |
2cdc0719af | ||
![]() |
bdcdfaf6b4 | ||
![]() |
2b94742ca5 | ||
![]() |
d357744104 | ||
![]() |
d4225ec803 | ||
![]() |
de8521ae56 | ||
![]() |
bb066cf7d3 | ||
![]() |
556424d61b | ||
![]() |
92ae951ffa | ||
![]() |
973fa921cb | ||
![]() |
e0d615c264 | ||
![]() |
ef5672a902 | ||
![]() |
c0eddc9969 | ||
![]() |
fbb0e6499a | ||
![]() |
503d4c3e2f | ||
![]() |
cccb0d4064 | ||
![]() |
a144c986f2 | ||
![]() |
d62bfed65d | ||
![]() |
77b129ec74 | ||
![]() |
3024239e40 | ||
![]() |
5ccf583b8a | ||
![]() |
80cbaf6d38 | ||
![]() |
448419990c | ||
![]() |
7baa9a570d | ||
![]() |
bf9c8771a4 | ||
![]() |
5e84f38f31 | ||
![]() |
8fe122d675 | ||
![]() |
74c47f1f12 | ||
![]() |
fa5ca8af81 | ||
![]() |
b45d88e124 | ||
![]() |
bc4cbd775b | ||
![]() |
a29777f467 | ||
![]() |
bce87922c0 | ||
![]() |
81876d5c1b | ||
![]() |
7f0aa49f45 | ||
![]() |
5aaa3e93c1 | ||
![]() |
ec2e3b260e | ||
![]() |
26914abe62 | ||
![]() |
950b818274 | ||
![]() |
defe19fdf6 | ||
![]() |
409e4936af | ||
![]() |
10b39d7591 | ||
![]() |
194ed19557 | ||
![]() |
877fc9f352 | ||
![]() |
64258a2c2a | ||
![]() |
c520672982 | ||
![]() |
9374c3ce81 | ||
![]() |
4d56b34096 | ||
![]() |
66382b2861 | ||
![]() |
1fab5892b5 | ||
![]() |
c898f7a6bf | ||
![]() |
7659790923 | ||
![]() |
ecf34783ef | ||
![]() |
68370feeee | ||
![]() |
574c83e47f | ||
![]() |
e6a5801155 | ||
![]() |
d90efd7704 | ||
![]() |
9fe5a87785 | ||
![]() |
7f1608dc77 | ||
![]() |
f4c5dec05d | ||
![]() |
7c1903e1ee | ||
![]() |
51b7e3119b | ||
![]() |
a009b39e4c | ||
![]() |
1d3e99f475 | ||
![]() |
9aa2eff384 | ||
![]() |
ee2f14eaf0 | ||
![]() |
553ea36ca6 | ||
![]() |
6586e90acf | ||
![]() |
ea04f40eb3 | ||
![]() |
f9b6f8fd45 | ||
![]() |
1b1a2115fa | ||
![]() |
65908647e3 | ||
![]() |
81e2499d19 | ||
![]() |
195a5cf996 | ||
![]() |
bc97a3d1f9 | ||
![]() |
702cff636f | ||
![]() |
780e11b7e2 | ||
![]() |
4126435663 | ||
![]() |
d107a2cfdf | ||
![]() |
38a8a48a25 | ||
![]() |
77bf148460 | ||
![]() |
533ac4fd95 | ||
![]() |
7049f1cbfc | ||
![]() |
dc7a8aab24 | ||
![]() |
94983a1f36 | ||
![]() |
a92faca10e | ||
![]() |
b19cd8c50f | ||
![]() |
b862732318 | ||
![]() |
cb844e7136 | ||
![]() |
b7fe1fe6b4 | ||
![]() |
c98bbdcdbe | ||
![]() |
326fefcd80 | ||
![]() |
fa3eed1998 | ||
![]() |
5571c3f7fd | ||
![]() |
d8ea10db8c | ||
![]() |
77551597b2 | ||
![]() |
92f293cd0b | ||
![]() |
2081bd12fb | ||
![]() |
74ebc650ab | ||
![]() |
c707d71b72 | ||
![]() |
691866ce43 | ||
![]() |
efd918c59e | ||
![]() |
7d28006e2e | ||
![]() |
0880afe67b | ||
![]() |
100baf74c0 | ||
![]() |
c733ae6b16 | ||
![]() |
989b398fee | ||
![]() |
bbc8146934 | ||
![]() |
aa22ebac69 | ||
![]() |
097ed659b2 | ||
![]() |
185a55026b | ||
![]() |
495831d53c | ||
![]() |
3442dc87fb | ||
![]() |
a81f34ae47 | ||
![]() |
95b44490a0 | ||
![]() |
3caab3c7ac | ||
![]() |
40745b4f82 | ||
![]() |
6c01078f3d | ||
![]() |
790294dc26 | ||
![]() |
30d968b0e4 | ||
![]() |
43b82d69b4 | ||
![]() |
bd316d3893 | ||
![]() |
e8bbb05328 | ||
![]() |
58be5172ff | ||
![]() |
cb6fd281a0 | ||
![]() |
eb61de7b3a | ||
![]() |
98a88b483d | ||
![]() |
6a4c1ed50d | ||
![]() |
409306db2b | ||
![]() |
aad8864835 | ||
![]() |
c1eb7ac1a1 | ||
![]() |
e5f0f67ba0 | ||
![]() |
45eb30388f | ||
![]() |
454b6d608e | ||
![]() |
a61a0255a8 | ||
![]() |
6add186867 | ||
![]() |
a476752962 | ||
![]() |
e8d20ea32c | ||
![]() |
fe43f53528 | ||
![]() |
0d4f16b6ba | ||
![]() |
0666c4d244 | ||
![]() |
fdbd65485e | ||
![]() |
2daf033156 | ||
![]() |
5dad45f005 | ||
![]() |
7eb6372123 | ||
![]() |
61b368ddea | ||
![]() |
fd8bce8184 | ||
![]() |
d7322a5f36 | ||
![]() |
9cc1ecdd45 | ||
![]() |
af3de702c7 | ||
![]() |
226cd8d4d1 | ||
![]() |
4cabad8c34 | ||
![]() |
cf92c58460 | ||
![]() |
5767c65c62 | ||
![]() |
75c990504d | ||
![]() |
5a87a0ba0a | ||
![]() |
38ccddc84f | ||
![]() |
d7b5061aa5 | ||
![]() |
27141ae87f | ||
![]() |
90d75651e6 | ||
![]() |
2a915069a8 | ||
![]() |
55bea6e7a6 | ||
![]() |
af6f6fba15 | ||
![]() |
6d8ceefd67 | ||
![]() |
7349c6d338 | ||
![]() |
2a92b68e65 | ||
![]() |
64b00d28b1 | ||
![]() |
23f9cb838d | ||
![]() |
01261770bb | ||
![]() |
a0f1c74000 | ||
![]() |
be6fc02c04 | ||
![]() |
3ce5544796 | ||
![]() |
556caa326f | ||
![]() |
ae170e2b38 | ||
![]() |
f7316cea07 | ||
![]() |
32a84ab3e4 | ||
![]() |
6c7eabf08c | ||
![]() |
4aaf10c356 | ||
![]() |
f65e1211d9 | ||
![]() |
7cb8ea69ba | ||
![]() |
80564a9bc9 | ||
![]() |
5e6af77b7a | ||
![]() |
cc254dfefe | ||
![]() |
23531be272 | ||
![]() |
b922fc851b | ||
![]() |
ccfd5f1d4a | ||
![]() |
9a1f685179 | ||
![]() |
b5e40b370c | ||
![]() |
74c0607c92 | ||
![]() |
5861bb031c | ||
![]() |
c2569ff923 | ||
![]() |
ecbe7f3a99 | ||
![]() |
88731d8c28 | ||
![]() |
dc88ca79b6 | ||
![]() |
efb10b3c40 | ||
![]() |
d456437ad1 | ||
![]() |
4c61825249 | ||
![]() |
9f44129c2f | ||
![]() |
5592c17e4a | ||
![]() |
aa0a7b78a8 | ||
![]() |
88a23521dd | ||
![]() |
e678acafcf | ||
![]() |
54d58edacc | ||
![]() |
5975ed61f3 | ||
![]() |
dc62ec5933 | ||
![]() |
547d9b384d | ||
![]() |
187a77fb27 | ||
![]() |
fa7b9d5dfe | ||
![]() |
6774fc6454 | ||
![]() |
096f15db5c | ||
![]() |
84491ff40b | ||
![]() |
b3c3121622 | ||
![]() |
ce4b6d0874 | ||
![]() |
52061e817c | ||
![]() |
133ac42a0b | ||
![]() |
90f975fa1c | ||
![]() |
086993bae1 | ||
![]() |
d6f78163d4 | ||
![]() |
c9b4fadd91 | ||
![]() |
da458a55db | ||
![]() |
9ccdba9df6 | ||
![]() |
a0f9d73d44 | ||
![]() |
427781928f | ||
![]() |
2fc7abac35 | ||
![]() |
f9c581f219 | ||
![]() |
18fccb5995 | ||
![]() |
2a9f0f19b6 | ||
![]() |
d686fa25de | ||
![]() |
f000f41c91 | ||
![]() |
64fe733fa0 | ||
![]() |
781378a65e | ||
![]() |
64a9272c9a | ||
![]() |
ee89e33f12 | ||
![]() |
f0e9068ef2 | ||
![]() |
f70aca6f6f | ||
![]() |
814a399e4c | ||
![]() |
13730e3844 | ||
![]() |
0f41e99ea7 | ||
![]() |
6712c6de73 | ||
![]() |
9e852af5be | ||
![]() |
4baebdc6f5 | ||
![]() |
a293fd9aef | ||
![]() |
91e8f0e486 | ||
![]() |
d7d562b287 | ||
![]() |
76e1ba6fd0 | ||
![]() |
8eb6a5805b | ||
![]() |
65bd2a9a49 | ||
![]() |
12f0ccc237 | ||
![]() |
bb53fcfc0d | ||
![]() |
27f241334e | ||
![]() |
4e99a3d650 | ||
![]() |
1cb1cd6f44 | ||
![]() |
1a34260cf0 | ||
![]() |
13d52c88fb | ||
![]() |
4b5ca1e914 | ||
![]() |
917f5b910a | ||
![]() |
c0f2c1d871 | ||
![]() |
9985368d46 | ||
![]() |
2dd592a06c | ||
![]() |
362338dd60 | ||
![]() |
6ac032be64 | ||
![]() |
0ce05d5725 | ||
![]() |
0aed8d47d7 | ||
![]() |
39a26066f7 | ||
![]() |
47faf69230 | ||
![]() |
b3dc127af5 | ||
![]() |
8442c43209 | ||
![]() |
6e942693ba | ||
![]() |
5e22ae10f1 | ||
![]() |
573221aa40 | ||
![]() |
b8550a21f2 | ||
![]() |
027a51529d | ||
![]() |
5427119205 | ||
![]() |
f647614e24 | ||
![]() |
e0867c9682 | ||
![]() |
f740b2fb23 | ||
![]() |
0e5f2fff71 | ||
![]() |
99228be623 | ||
![]() |
04ca69cc78 | ||
![]() |
f867e65bcd | ||
![]() |
a00e27adf6 | ||
![]() |
0858fbf6aa | ||
![]() |
aef3658a5f | ||
![]() |
200f09522d | ||
![]() |
cbd88c457a | ||
![]() |
1a0eb05bfa | ||
![]() |
3c753c071c | ||
![]() |
16313bfcc9 | ||
![]() |
75f53955ee | ||
![]() |
1632a84e7b | ||
![]() |
b3d5bf7c99 | ||
![]() |
57627a307f | ||
![]() |
6ab7d49a03 | ||
![]() |
a53778cd83 | ||
![]() |
dd94efb307 | ||
![]() |
8a486eafed | ||
![]() |
4d576c2f79 | ||
![]() |
f9e1fa26ff | ||
![]() |
fb3cf3f885 | ||
![]() |
e08e65dc30 | ||
![]() |
daeb4cdf8f | ||
![]() |
cdd704920d | ||
![]() |
bbdf18c4a2 | ||
![]() |
1f583b3d8e | ||
![]() |
c73316a111 | ||
![]() |
4526d5d197 | ||
![]() |
dca9b6f5db | ||
![]() |
a16ce65295 | ||
![]() |
5c41120c70 | ||
![]() |
5c617859ab | ||
![]() |
81211750ba | ||
![]() |
de7e3a0648 | ||
![]() |
6bd8a2faaa | ||
![]() |
58b5679f14 | ||
![]() |
7b8886c052 | ||
![]() |
ff95999246 | ||
![]() |
b71c52797a | ||
![]() |
82140967d3 | ||
![]() |
43cb26010a | ||
![]() |
35033d9b79 | ||
![]() |
84822d44d4 | ||
![]() |
58c7f4694d | ||
![]() |
4d40c70214 | ||
![]() |
44169d0dc4 | ||
![]() |
6aa7e9f9c6 | ||
![]() |
bdfedf1f5b | ||
![]() |
b9cfe6f68a | ||
![]() |
72eec8c0c4 | ||
![]() |
68608a89ad | ||
![]() |
1e306be000 | ||
![]() |
ddb7697d29 | ||
![]() |
313ad0e32f | ||
![]() |
e2b0072441 | ||
![]() |
505f8a2229 | ||
![]() |
eda8c67616 | ||
![]() |
258ce0c1e5 | ||
![]() |
3d6a3e2555 | ||
![]() |
0caad1e890 | ||
![]() |
f2a1b125cb | ||
![]() |
6e03f80ca2 | ||
![]() |
1d7bb01a6b | ||
![]() |
a4689eb3b9 | ||
![]() |
c5a66e9181 | ||
![]() |
b5972f184c | ||
![]() |
d7dc19a496 | ||
![]() |
f3442ce8a5 | ||
![]() |
678e75e1c2 | ||
![]() |
6b5b29dbee | ||
![]() |
f35f2c48cd | ||
![]() |
bcb852a8d0 | ||
![]() |
aa0faa8c7d | ||
![]() |
f7ec263a22 | ||
![]() |
7d665fa1f4 | ||
![]() |
69d5b4c36b | ||
![]() |
36db248e30 | ||
![]() |
eb72b10f55 | ||
![]() |
622f4c7daa | ||
![]() |
f8c50394d6 | ||
![]() |
aa648bdcac | ||
![]() |
e8abc79ce9 | ||
![]() |
34a33565c8 | ||
![]() |
7409225fa8 | ||
![]() |
07b3f65a6f | ||
![]() |
3e0acf1395 | ||
![]() |
97388b3504 | ||
![]() |
8b84c96d9d | ||
![]() |
debc4a3a99 | ||
![]() |
e1efc193e1 | ||
![]() |
f0113139ea | ||
![]() |
f6df94a50e | ||
![]() |
31e56f1ad5 | ||
![]() |
7fda2f2ad8 | ||
![]() |
dec5008369 | ||
![]() |
873505ed3b | ||
![]() |
25ecf9eafb | ||
![]() |
e88f3fb80c | ||
![]() |
b2efa0af39 | ||
![]() |
25f4acdaa8 | ||
![]() |
cff4955a48 | ||
![]() |
05a987b07c | ||
![]() |
92da5168e1 | ||
![]() |
34afc93ddc | ||
![]() |
023eea6463 | ||
![]() |
684600cf42 | ||
![]() |
85fe5feadb | ||
![]() |
969141b5e9 | ||
![]() |
13ce981794 | ||
![]() |
c2ef049f1b | ||
![]() |
a488d4c847 | ||
![]() |
4133b1ea65 | ||
![]() |
46d2ca5095 | ||
![]() |
334d8ce724 | ||
![]() |
c661518df9 | ||
![]() |
0d81f16343 | ||
![]() |
3b09ae9074 | ||
![]() |
18531e3d6f | ||
![]() |
ca07317815 | ||
![]() |
d0ca8fb0b8 | ||
![]() |
08b7f2b58d | ||
![]() |
e483b63c40 | ||
![]() |
fc60b560ba | ||
![]() |
736e964317 | ||
![]() |
9c41e4a343 | ||
![]() |
332b1896d1 | ||
![]() |
cb6b0f6255 | ||
![]() |
1e73aac610 | ||
![]() |
2a1add7538 | ||
![]() |
7dab113035 | ||
![]() |
8efb874f48 | ||
![]() |
de99207046 | ||
![]() |
d8d2cc6dd9 | ||
![]() |
68b74e359e | ||
![]() |
b9f5d3fe13 | ||
![]() |
a12c5f1d37 | ||
![]() |
24474a36f4 | ||
![]() |
ccc84af73d | ||
![]() |
96904f8972 | ||
![]() |
69f9d269eb | ||
![]() |
ec59c73489 | ||
![]() |
6c514adb8a | ||
![]() |
edf89e1c74 | ||
![]() |
f7c7c2f730 | ||
![]() |
cfea79d0c5 | ||
![]() |
5cd40f8b58 | ||
![]() |
d32949ee54 | ||
![]() |
83b10dbb12 | ||
![]() |
e136dd8696 | ||
![]() |
33adb58817 | ||
![]() |
da9053b184 | ||
![]() |
ef1aeb8724 | ||
![]() |
2ca76afc2b | ||
![]() |
89ab6d557e | ||
![]() |
0256f95994 | ||
![]() |
bfadc82a20 | ||
![]() |
34b6130a0e | ||
![]() |
22260d130d | ||
![]() |
9341a83b05 | ||
![]() |
66d904c905 | ||
![]() |
746dbda413 | ||
![]() |
f7784bddb3 | ||
![]() |
1cdd38d9e0 | ||
![]() |
b3c0d2f45b | ||
![]() |
cd25e36811 | ||
![]() |
e96677cafb | ||
![]() |
1d69341e88 | ||
![]() |
36c5d39c2c | ||
![]() |
7facc8ccc1 | ||
![]() |
ba31c6fdaa | ||
![]() |
b58799d83a | ||
![]() |
0d5b764f90 | ||
![]() |
d6b3859e48 | ||
![]() |
b48f579530 | ||
![]() |
401ef92c5f | ||
![]() |
e329623771 | ||
![]() |
26f85779be | ||
![]() |
5b9ee56335 | ||
![]() |
3264eae9f6 | ||
![]() |
83c8a9b058 | ||
![]() |
43cf301450 | ||
![]() |
d05c88a5d6 | ||
![]() |
058b102db0 | ||
![]() |
fcebc7d250 | ||
![]() |
f2959127b6 | ||
![]() |
61460dee52 | ||
![]() |
54a6d98945 | ||
![]() |
f72f6c9c80 | ||
![]() |
52b98f7f95 | ||
![]() |
04d856e601 | ||
![]() |
a7b49c4889 | ||
![]() |
a568211b98 | ||
![]() |
f70b10d0ee | ||
![]() |
55bf76ba0c | ||
![]() |
162117c42c | ||
![]() |
82ae942965 | ||
![]() |
f576d3d826 | ||
![]() |
037f0a4c91 | ||
![]() |
2f9346a5af | ||
![]() |
a3105799c9 | ||
![]() |
666768cd17 | ||
![]() |
adc7a6555f | ||
![]() |
9a97095a4c | ||
![]() |
aa7a5f19c2 | ||
![]() |
e3013271a6 | ||
![]() |
92bd448691 | ||
![]() |
c844580e0f | ||
![]() |
67c938f232 | ||
![]() |
a851c53cbe | ||
![]() |
4960b841e6 | ||
![]() |
ce5d630681 | ||
![]() |
c3ddde9e7d | ||
![]() |
cac481634c | ||
![]() |
c23b1a4cba | ||
![]() |
110a32a08b | ||
![]() |
8e213e82fc | ||
![]() |
8a150ee91f | ||
![]() |
cb5ec7ea6b | ||
![]() |
625410f003 | ||
![]() |
75eff92b56 | ||
![]() |
a24e986b2b | ||
![]() |
6822ce8479 | ||
![]() |
d857fb6e59 | ||
![]() |
342520b648 | ||
![]() |
028f2b8c0e | ||
![]() |
1b6e8c888f | ||
![]() |
5f3b802ee7 | ||
![]() |
022dc35be9 | ||
![]() |
1f43cac12d | ||
![]() |
6da66c15d8 | ||
![]() |
3500f9490c | ||
![]() |
b8c7543a55 | ||
![]() |
45ba456291 | ||
![]() |
caac38ed27 | ||
![]() |
15c537f9db | ||
![]() |
8f9cea8cc0 | ||
![]() |
3c0c0c132b | ||
![]() |
9968220652 | ||
![]() |
0649828555 | ||
![]() |
3c03b35212 | ||
![]() |
ab2b7d7f9a | ||
![]() |
9a8a2cae4c | ||
![]() |
9607cad267 | ||
![]() |
3d1d5295cc | ||
![]() |
30b6a0878a | ||
![]() |
187c8fb259 | ||
![]() |
1ec628ddf5 | ||
![]() |
5898cb341f | ||
![]() |
43732bb885 | ||
![]() |
6feaf6bd1f | ||
![]() |
c45f8ee075 | ||
![]() |
3601a9b6cd | ||
![]() |
fdec8051ab | ||
![]() |
333c5a19d4 | ||
![]() |
a8ad6b9a4b | ||
![]() |
b0882b3f3c | ||
![]() |
e74110a833 | ||
![]() |
ae441d3134 | ||
![]() |
913a34f568 | ||
![]() |
468612b108 | ||
![]() |
7eabcabf68 | ||
![]() |
17bb77b1f9 | ||
![]() |
80dcfca191 | ||
![]() |
94a154c7ca | ||
![]() |
219d9a62f2 | ||
![]() |
e8713bc209 | ||
![]() |
04d1983800 | ||
![]() |
88208c3db2 | ||
![]() |
59ea5a4208 | ||
![]() |
145830005b | ||
![]() |
8ad9f88993 | ||
![]() |
859d89b032 | ||
![]() |
f9223cd827 | ||
![]() |
0be906a92f | ||
![]() |
dfb9326b1b | ||
![]() |
e4e0ce09ad | ||
![]() |
0334114865 | ||
![]() |
b1bbdcb637 | ||
![]() |
4a0b7328ec | ||
![]() |
3e0456d88b | ||
![]() |
dd94174379 | ||
![]() |
63e32c44c0 | ||
![]() |
f013662e3f | ||
![]() |
4320ff2bbf | ||
![]() |
354b7e89cc | ||
![]() |
829959390a | ||
![]() |
ccd55d529d | ||
![]() |
4ddcc17135 | ||
![]() |
407843c5f9 | ||
![]() |
46d31ab86d | ||
![]() |
c986823d3f | ||
![]() |
239931578c | ||
![]() |
9df52327cc | ||
![]() |
21b787a4d1 | ||
![]() |
ddca699cd2 | ||
![]() |
605db3b389 | ||
![]() |
8de129e12f | ||
![]() |
2072f0a481 | ||
![]() |
5731e391f8 | ||
![]() |
6a0a1d1f1c | ||
![]() |
a8d21b5dcf | ||
![]() |
823d0afd6e | ||
![]() |
a5989707ac | ||
![]() |
3a0cfafeb5 | ||
![]() |
c923bd957d | ||
![]() |
1a3f885d3d | ||
![]() |
3bf43d7951 | ||
![]() |
561da92396 | ||
![]() |
5cf42884c8 | ||
![]() |
9e4e0077fb | ||
![]() |
1758da855f | ||
![]() |
15ea90feed | ||
![]() |
826cfa0533 | ||
![]() |
fef408a8bd | ||
![]() |
a2d4209322 | ||
![]() |
275f713211 | ||
![]() |
4707bdb204 | ||
![]() |
47277c4b4c | ||
![]() |
d2e53730d6 | ||
![]() |
fd33030556 | ||
![]() |
38cc4393f6 | ||
![]() |
7f6f31c34b | ||
![]() |
164b4cb2f6 | ||
![]() |
4a9b05aff1 | ||
![]() |
aaf1c44362 | ||
![]() |
a5592e83f7 | ||
![]() |
ab2790d9de | ||
![]() |
8a2a326189 | ||
![]() |
86b5d8ffaa | ||
![]() |
636b2f2e94 | ||
![]() |
ae5302c7a8 | ||
![]() |
866a52ad4e | ||
![]() |
a4507610a0 | ||
![]() |
7def2d8ea7 | ||
![]() |
ee0112ab3b | ||
![]() |
b373f164fe | ||
![]() |
8a0dbe7c1a | ||
![]() |
4e3ad8b3b1 | ||
![]() |
5144141321 | ||
![]() |
d35d279455 | ||
![]() |
1ca60bccfb | ||
![]() |
7f86eb4ec0 | ||
![]() |
c1a3de4a6e | ||
![]() |
f8c4dd7b1a | ||
![]() |
a5b80452fe | ||
![]() |
aff1e220f5 | ||
![]() |
095155d9ce | ||
![]() |
1dd9fdce74 | ||
![]() |
b2f5381737 | ||
![]() |
7f9a0a5907 | ||
![]() |
3b591ed987 | ||
![]() |
ce7d613749 | ||
![]() |
581d90cf91 | ||
![]() |
55c3a90a0d | ||
![]() |
d3c59d18e5 |
12
.dockerignore
Normal file
12
.dockerignore
Normal file
@@ -0,0 +1,12 @@
|
||||
# Folders
|
||||
.git/
|
||||
.github/
|
||||
changelog/
|
||||
doc/
|
||||
docker/
|
||||
helpers/
|
||||
|
||||
# Files
|
||||
.gitignore
|
||||
.golangci.yml
|
||||
*.md
|
32
.github/PULL_REQUEST_TEMPLATE.md
vendored
32
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,13 +1,7 @@
|
||||
|
||||
|
||||
<!--
|
||||
Thank you very much for contributing code or documentation to restic! Please
|
||||
fill out the following questions to make it easier for us to review your
|
||||
changes.
|
||||
|
||||
You do not need to check all the boxes below all at once, feel free to take
|
||||
your time and add more commits. If you're done and ready for review, please
|
||||
check the last box.
|
||||
-->
|
||||
|
||||
What does this PR change? What problem does it solve?
|
||||
@@ -17,8 +11,8 @@ What does this PR change? What problem does it solve?
|
||||
Describe the changes and their purpose here, as detailed as needed.
|
||||
-->
|
||||
|
||||
Was the change discussed in an issue or in the forum before?
|
||||
------------------------------------------------------------
|
||||
Was the change previously discussed in an issue or on the forum?
|
||||
----------------------------------------------------------------
|
||||
|
||||
<!--
|
||||
Link issues and relevant forum posts here.
|
||||
@@ -30,11 +24,17 @@ is closed automatically when this PR is merged.
|
||||
Checklist
|
||||
---------
|
||||
|
||||
- [ ] I have read the [Contribution Guidelines](https://github.com/restic/restic/blob/master/CONTRIBUTING.md#providing-patches)
|
||||
- [ ] I have enabled [maintainer edits for this PR](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
|
||||
- [ ] I have added tests for all changes in this PR
|
||||
- [ ] I have added documentation for the changes (in the manual)
|
||||
- [ ] There's a new file in `changelog/unreleased/` that describes the changes for our users (template [here](https://github.com/restic/restic/blob/master/changelog/TEMPLATE))
|
||||
- [ ] I have run `gofmt` on the code in all commits
|
||||
- [ ] All commit messages are formatted in the same style as [the other commits in the repo](https://github.com/restic/restic/blob/master/CONTRIBUTING.md#git-commits)
|
||||
- [ ] I'm done, this Pull Request is ready for review
|
||||
<!--
|
||||
You do not need to check all the boxes below all at once. Feel free to take
|
||||
your time and add more commits. If you're done and ready for review, please
|
||||
check the last box. Enable a checkbox by replacing [ ] with [x].
|
||||
-->
|
||||
|
||||
- [ ] I have read the [contribution guidelines](https://github.com/restic/restic/blob/master/CONTRIBUTING.md#providing-patches).
|
||||
- [ ] I have [enabled maintainer edits](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork).
|
||||
- [ ] I have added tests for all code changes.
|
||||
- [ ] I have added documentation for relevant changes (in the manual).
|
||||
- [ ] There's a new file in `changelog/unreleased/` that describes the changes for our users (see [template](https://github.com/restic/restic/blob/master/changelog/TEMPLATE)).
|
||||
- [ ] I have run `gofmt` on the code in all commits.
|
||||
- [ ] All commit messages are formatted in the same style as [the other commits in the repo](https://github.com/restic/restic/blob/master/CONTRIBUTING.md#git-commits).
|
||||
- [ ] I'm done! This pull request is ready for review.
|
||||
|
325
.github/workflows/tests.yml
vendored
Normal file
325
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,325 @@
|
||||
name: test
|
||||
on:
|
||||
# run tests on push to master, but not when other branches are pushed to
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
# run tests for all pull requests
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
latest_go: "1.18.x"
|
||||
GO111MODULE: on
|
||||
|
||||
jobs:
|
||||
test:
|
||||
strategy:
|
||||
matrix:
|
||||
# list of jobs to run:
|
||||
include:
|
||||
- job_name: Windows
|
||||
go: 1.18.x
|
||||
os: windows-latest
|
||||
install_verb: install
|
||||
|
||||
- job_name: macOS
|
||||
go: 1.18.x
|
||||
os: macOS-latest
|
||||
test_fuse: false
|
||||
install_verb: install
|
||||
|
||||
- job_name: Linux
|
||||
go: 1.18.x
|
||||
os: ubuntu-latest
|
||||
test_cloud_backends: true
|
||||
test_fuse: true
|
||||
check_changelog: true
|
||||
install_verb: install
|
||||
|
||||
- job_name: Linux
|
||||
go: 1.17.x
|
||||
os: ubuntu-latest
|
||||
test_fuse: true
|
||||
install_verb: install
|
||||
|
||||
- job_name: Linux
|
||||
go: 1.16.x
|
||||
os: ubuntu-latest
|
||||
test_fuse: true
|
||||
install_verb: get
|
||||
|
||||
- job_name: Linux
|
||||
go: 1.15.x
|
||||
os: ubuntu-latest
|
||||
test_fuse: true
|
||||
install_verb: get
|
||||
|
||||
- job_name: Linux
|
||||
go: 1.14.x
|
||||
os: ubuntu-latest
|
||||
test_fuse: true
|
||||
install_verb: get
|
||||
|
||||
name: ${{ matrix.job_name }} Go ${{ matrix.go }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
env:
|
||||
GOPROXY: https://proxy.golang.org
|
||||
|
||||
steps:
|
||||
- name: Set up Go ${{ matrix.go }}
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ matrix.go }}
|
||||
|
||||
- name: Get programs (Linux/macOS)
|
||||
run: |
|
||||
echo "build Go tools"
|
||||
go ${{ matrix.install_verb }} github.com/restic/rest-server/cmd/rest-server@latest
|
||||
|
||||
echo "install minio server"
|
||||
mkdir $HOME/bin
|
||||
if [ "$RUNNER_OS" == "macOS" ]; then
|
||||
wget --no-verbose -O $HOME/bin/minio https://dl.minio.io/server/minio/release/darwin-amd64/minio
|
||||
else
|
||||
wget --no-verbose -O $HOME/bin/minio https://dl.minio.io/server/minio/release/linux-amd64/minio
|
||||
fi
|
||||
chmod 755 $HOME/bin/minio
|
||||
|
||||
echo "install rclone"
|
||||
if [ "$RUNNER_OS" == "macOS" ]; then
|
||||
wget --no-verbose -O rclone.zip https://downloads.rclone.org/rclone-current-osx-amd64.zip
|
||||
else
|
||||
wget --no-verbose -O rclone.zip https://downloads.rclone.org/rclone-current-linux-amd64.zip
|
||||
fi
|
||||
unzip rclone.zip
|
||||
cp rclone*/rclone $HOME/bin
|
||||
chmod 755 $HOME/bin/rclone
|
||||
rm -rf rclone*
|
||||
|
||||
# add $HOME/bin to path ($GOBIN was already added to the path by setup-go@v2)
|
||||
echo $HOME/bin >> $GITHUB_PATH
|
||||
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest'
|
||||
|
||||
- name: Get programs (Windows)
|
||||
shell: powershell
|
||||
run: |
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
echo "build Go tools"
|
||||
go ${{ matrix.install_verb }} github.com/restic/rest-server/...
|
||||
|
||||
echo "install minio server"
|
||||
mkdir $Env:USERPROFILE/bin
|
||||
Invoke-WebRequest https://dl.minio.io/server/minio/release/windows-amd64/minio.exe -OutFile $Env:USERPROFILE/bin/minio.exe
|
||||
|
||||
echo "install rclone"
|
||||
Invoke-WebRequest https://downloads.rclone.org/rclone-current-windows-amd64.zip -OutFile rclone.zip
|
||||
|
||||
unzip rclone.zip
|
||||
copy rclone*/rclone.exe $Env:USERPROFILE/bin
|
||||
|
||||
# add $USERPROFILE/bin to path ($GOBIN was already added to the path by setup-go@v2)
|
||||
echo $Env:USERPROFILE\bin >> $Env:GITHUB_PATH
|
||||
|
||||
echo "install tar"
|
||||
cd $env:USERPROFILE
|
||||
mkdir tar
|
||||
cd tar
|
||||
|
||||
# install exactly these versions of tar and the libraries, other combinations might not work!
|
||||
|
||||
Invoke-WebRequest https://github.com/restic/test-assets/raw/master/tar-1.13-1-bin.zip -OutFile tar.zip
|
||||
unzip tar.zip
|
||||
Invoke-WebRequest https://github.com/restic/test-assets/raw/master/libintl-0.11.5-2-bin.zip -OutFile libintl.zip
|
||||
unzip libintl.zip
|
||||
Invoke-WebRequest https://github.com/restic/test-assets/raw/master/libiconv-1.8-1-bin.zip -OutFile libiconv.zip
|
||||
unzip libiconv.zip
|
||||
|
||||
# add $USERPROFILE/tar/bin to path
|
||||
echo $Env:USERPROFILE\tar\bin >> $Env:GITHUB_PATH
|
||||
if: matrix.os == 'windows-latest'
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Build with build.go
|
||||
run: |
|
||||
go run build.go
|
||||
|
||||
- name: Run local Tests
|
||||
env:
|
||||
RESTIC_TEST_FUSE: ${{ matrix.test_fuse }}
|
||||
run: |
|
||||
go test -cover ./...
|
||||
|
||||
- name: Test cloud backends
|
||||
env:
|
||||
RESTIC_TEST_S3_KEY: ${{ secrets.RESTIC_TEST_S3_KEY }}
|
||||
RESTIC_TEST_S3_SECRET: ${{ secrets.RESTIC_TEST_S3_SECRET }}
|
||||
RESTIC_TEST_S3_REPOSITORY: ${{ secrets.RESTIC_TEST_S3_REPOSITORY }}
|
||||
RESTIC_TEST_AZURE_ACCOUNT_NAME: ${{ secrets.RESTIC_TEST_AZURE_ACCOUNT_NAME }}
|
||||
RESTIC_TEST_AZURE_ACCOUNT_KEY: ${{ secrets.RESTIC_TEST_AZURE_ACCOUNT_KEY }}
|
||||
RESTIC_TEST_AZURE_REPOSITORY: ${{ secrets.RESTIC_TEST_AZURE_REPOSITORY }}
|
||||
RESTIC_TEST_B2_ACCOUNT_ID: ${{ secrets.RESTIC_TEST_B2_ACCOUNT_ID }}
|
||||
RESTIC_TEST_B2_ACCOUNT_KEY: ${{ secrets.RESTIC_TEST_B2_ACCOUNT_KEY }}
|
||||
RESTIC_TEST_B2_REPOSITORY: ${{ secrets.RESTIC_TEST_B2_REPOSITORY }}
|
||||
RESTIC_TEST_GS_REPOSITORY: ${{ secrets.RESTIC_TEST_GS_REPOSITORY }}
|
||||
RESTIC_TEST_GS_PROJECT_ID: ${{ secrets.RESTIC_TEST_GS_PROJECT_ID }}
|
||||
GOOGLE_PROJECT_ID: ${{ secrets.RESTIC_TEST_GS_PROJECT_ID }}
|
||||
RESTIC_TEST_GS_APPLICATION_CREDENTIALS_B64: ${{ secrets.RESTIC_TEST_GS_APPLICATION_CREDENTIALS_B64 }}
|
||||
RESTIC_TEST_OS_AUTH_URL: ${{ secrets.RESTIC_TEST_OS_AUTH_URL }}
|
||||
RESTIC_TEST_OS_TENANT_NAME: ${{ secrets.RESTIC_TEST_OS_TENANT_NAME }}
|
||||
RESTIC_TEST_OS_USERNAME: ${{ secrets.RESTIC_TEST_OS_USERNAME }}
|
||||
RESTIC_TEST_OS_PASSWORD: ${{ secrets.RESTIC_TEST_OS_PASSWORD }}
|
||||
RESTIC_TEST_OS_REGION_NAME: ${{ secrets.RESTIC_TEST_OS_REGION_NAME }}
|
||||
RESTIC_TEST_SWIFT: ${{ secrets.RESTIC_TEST_SWIFT }}
|
||||
# fail if any of the following tests cannot be run
|
||||
RESTIC_TEST_DISALLOW_SKIP: "restic/backend/rest.TestBackendREST,\
|
||||
restic/backend/sftp.TestBackendSFTP,\
|
||||
restic/backend/s3.TestBackendMinio,\
|
||||
restic/backend/rclone.TestBackendRclone,\
|
||||
restic/backend/s3.TestBackendS3,\
|
||||
restic/backend/swift.TestBackendSwift,\
|
||||
restic/backend/b2.TestBackendB2,\
|
||||
restic/backend/gs.TestBackendGS,\
|
||||
restic/backend/azure.TestBackendAzure"
|
||||
run: |
|
||||
# prepare credentials for Google Cloud Storage tests in a temp file
|
||||
export GOOGLE_APPLICATION_CREDENTIALS=$(mktemp --tmpdir restic-gcs-auth-XXXXXXX)
|
||||
echo $RESTIC_TEST_GS_APPLICATION_CREDENTIALS_B64 | base64 -d > $GOOGLE_APPLICATION_CREDENTIALS
|
||||
go test -cover -parallel 4 ./internal/backend/...
|
||||
|
||||
# only run cloud backend tests for pull requests from and pushes to our
|
||||
# own repo, otherwise the secrets are not available
|
||||
if: (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) && matrix.test_cloud_backends
|
||||
|
||||
- name: Check changelog files with calens
|
||||
run: |
|
||||
echo "install calens"
|
||||
go install github.com/restic/calens@latest
|
||||
|
||||
echo "check changelog files"
|
||||
calens
|
||||
if: matrix.check_changelog
|
||||
|
||||
cross_compile:
|
||||
strategy:
|
||||
|
||||
# ATTENTION: the list of architectures must be in sync with helpers/build-release-binaries/main.go!
|
||||
matrix:
|
||||
# run cross-compile in two batches parallel so the overall tests run faster
|
||||
targets:
|
||||
- "linux/386 linux/amd64 linux/arm linux/arm64 linux/ppc64le linux/mips linux/mipsle linux/mips64 linux/mips64le linux/s390x \
|
||||
openbsd/386 openbsd/amd64"
|
||||
|
||||
- "freebsd/386 freebsd/amd64 freebsd/arm \
|
||||
aix/ppc64 \
|
||||
darwin/amd64 darwin/arm64 \
|
||||
netbsd/386 netbsd/amd64 \
|
||||
windows/386 windows/amd64 \
|
||||
solaris/amd64"
|
||||
|
||||
env:
|
||||
GOPROXY: https://proxy.golang.org
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: Cross Compile for ${{ matrix.targets }}
|
||||
|
||||
steps:
|
||||
- name: Set up Go ${{ env.latest_go }}
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.latest_go }}
|
||||
|
||||
- name: Install gox
|
||||
run: |
|
||||
go install github.com/mitchellh/gox@latest
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Cross-compile with gox for ${{ matrix.targets }}
|
||||
env:
|
||||
GOFLAGS: "-trimpath"
|
||||
GOX_ARCHS: "${{ matrix.targets }}"
|
||||
run: |
|
||||
mkdir build-output
|
||||
gox -parallel 2 -verbose -osarch "$GOX_ARCHS" -output "build-output/{{.Dir}}_{{.OS}}_{{.Arch}}" ./cmd/restic
|
||||
gox -parallel 2 -verbose -osarch "$GOX_ARCHS" -tags debug -output "build-output/{{.Dir}}_{{.OS}}_{{.Arch}}_debug" ./cmd/restic
|
||||
|
||||
lint:
|
||||
name: lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Go ${{ env.latest_go }}
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ env.latest_go }}
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: golangci-lint
|
||||
uses: golangci/golangci-lint-action@v2
|
||||
with:
|
||||
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
|
||||
version: v1.45
|
||||
# Optional: show only new issues if it's a pull request. The default value is `false`.
|
||||
only-new-issues: true
|
||||
args: --verbose --timeout 5m
|
||||
skip-go-installation: true
|
||||
|
||||
# only run golangci-lint for pull requests, otherwise ALL hints get
|
||||
# reported. We need to slowly address all issues until we can enable
|
||||
# linting the master branch :)
|
||||
if: github.event_name == 'pull_request'
|
||||
|
||||
- name: Check go.mod/go.sum
|
||||
run: |
|
||||
echo "check if go.mod and go.sum are up to date"
|
||||
go mod tidy
|
||||
git diff --exit-code go.mod go.sum
|
||||
|
||||
docker:
|
||||
name: docker
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
# list of Docker images to use as base name for tags
|
||||
images: |
|
||||
restic/restic
|
||||
# generate Docker tags based on the following events/attributes
|
||||
tags: |
|
||||
type=schedule
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
type=sha
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: false
|
||||
context: .
|
||||
file: docker/Dockerfile
|
||||
pull: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
57
.golangci.yml
Normal file
57
.golangci.yml
Normal file
@@ -0,0 +1,57 @@
|
||||
# This is the configuration for golangci-lint for the restic project.
|
||||
#
|
||||
# A sample config with all settings is here:
|
||||
# https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml
|
||||
|
||||
linters:
|
||||
# only enable the linters listed below
|
||||
disable-all: true
|
||||
enable:
|
||||
# make sure all errors returned by functions are handled
|
||||
- errcheck
|
||||
|
||||
# find unused code
|
||||
- deadcode
|
||||
|
||||
# show how code can be simplified
|
||||
- gosimple
|
||||
|
||||
# # make sure code is formatted
|
||||
- gofmt
|
||||
|
||||
# examine code and report suspicious constructs, such as Printf calls whose
|
||||
# arguments do not align with the format string
|
||||
- govet
|
||||
|
||||
# make sure names and comments are used according to the conventions
|
||||
- golint
|
||||
|
||||
# detect when assignments to existing variables are not used
|
||||
- ineffassign
|
||||
|
||||
# run static analysis and find errors
|
||||
- staticcheck
|
||||
|
||||
# find unused variables, functions, structs, types, etc.
|
||||
- unused
|
||||
|
||||
# find unused struct fields
|
||||
- structcheck
|
||||
|
||||
# find unused global variables
|
||||
- varcheck
|
||||
|
||||
# parse and typecheck code
|
||||
- typecheck
|
||||
|
||||
issues:
|
||||
# don't use the default exclude rules, this hides (among others) ignored
|
||||
# errors from Close() calls
|
||||
exclude-use-default: false
|
||||
|
||||
# list of things to not warn about
|
||||
exclude:
|
||||
# golint: do not warn about missing comments for exported stuff
|
||||
- exported (function|method|var|type|const) `.*` should have comment or be unexported
|
||||
# golint: ignore constants in all caps
|
||||
- don't use ALL_CAPS in Go names; use CamelCase
|
@@ -1,2 +0,0 @@
|
||||
go:
|
||||
enabled: true
|
58
.travis.yml
58
.travis.yml
@@ -1,58 +0,0 @@
|
||||
language: go
|
||||
sudo: false
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
go: "1.13.x"
|
||||
env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache/go-build
|
||||
- $HOME/gopath/pkg/mod
|
||||
|
||||
- os: linux
|
||||
go: "1.14.x"
|
||||
env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache/go-build
|
||||
- $HOME/gopath/pkg/mod
|
||||
|
||||
# only run fuse and cloud backends tests on Travis for the latest Go on Linux
|
||||
- os: linux
|
||||
go: "1.15.x"
|
||||
sudo: true
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache/go-build
|
||||
- $HOME/gopath/pkg/mod
|
||||
|
||||
- os: osx
|
||||
go: "1.15.x"
|
||||
env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/Library/Caches/go-build
|
||||
- $HOME/gopath/pkg/mod
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
- "chat.freenode.net#restic"
|
||||
on_success: change
|
||||
on_failure: change
|
||||
skip_join: true
|
||||
|
||||
install:
|
||||
- go version
|
||||
- export GOBIN="$GOPATH/bin"
|
||||
- export PATH="$PATH:$GOBIN"
|
||||
- go env
|
||||
|
||||
script:
|
||||
- go run run_integration_tests.go
|
1188
CHANGELOG.md
1188
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
@@ -13,11 +13,10 @@ bug fixes are most welcome. However even "minor" details as fixing spelling
|
||||
errors, improving documentation or pointing out usability issues are a great
|
||||
help also.
|
||||
|
||||
|
||||
The restic project uses the GitHub infrastructure (see the
|
||||
[project page](https://github.com/restic/restic)) for all related discussions
|
||||
as well as the [forum](https://forum.restic.net/) and the `#restic` channel
|
||||
on [irc.freenode.net](https://kiwiirc.com/nextclient/irc.freenode.net/restic).
|
||||
on [irc.libera.chat](https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:6697/#restic).
|
||||
|
||||
If you want to find an area that currently needs improving have a look at the
|
||||
open issues listed at the
|
||||
@@ -67,7 +66,7 @@ Development Environment
|
||||
The repository contains the code written for restic in the directories
|
||||
`cmd/` and `internal/`.
|
||||
|
||||
Restic requires Go version 1.13 or later for compiling. Clone the repo (without
|
||||
Restic requires Go version 1.14 or later for compiling. Clone the repo (without
|
||||
having `$GOPATH` set) and `cd` into the directory:
|
||||
|
||||
$ unset GOPATH
|
||||
@@ -124,7 +123,10 @@ down to the following steps:
|
||||
writing, ask yourself: If I were the user, what would I need to be aware
|
||||
of with this change?
|
||||
|
||||
8. Once your code looks good and passes all the tests, we'll merge it. Thanks
|
||||
8. Do not edit the man pages under `doc/man` or `doc/manual_rest.rst` -
|
||||
these are autogenerated before new releases.
|
||||
|
||||
9. Once your code looks good and passes all the tests, we'll merge it. Thanks
|
||||
a lot for your contribution!
|
||||
|
||||
Please provide the patches for each bug or feature in a separate branch and
|
||||
@@ -141,6 +143,14 @@ Installing the script `fmt-check` from https://github.com/edsrzf/gofmt-git-hook
|
||||
locally as a pre-commit hook checks formatting before committing automatically,
|
||||
just copy this script to `.git/hooks/pre-commit`.
|
||||
|
||||
The project is using the program
|
||||
[`golangci-lint`](https://github.com/golangci/golangci-lint) to run a list of
|
||||
linters and checkers. It will be run on the code when you submit a PR. In order
|
||||
to check your code beforehand, you can run `golangci-lint run` manually.
|
||||
Eventually, we will enable `golangci-lint` for the whole code base. For now,
|
||||
you can ignore warnings printed for lines you did not modify, those will be
|
||||
ignored by the CI.
|
||||
|
||||
For each pull request, several different systems run the integration tests on
|
||||
Linux, macOS and Windows. We won't merge any code that does not pass all tests
|
||||
for all systems, so when a tests fails, try to find out what's wrong and fix
|
||||
|
@@ -1,6 +1,5 @@
|
||||
[](https://restic.readthedocs.io/en/latest/?badge=latest)
|
||||
[](https://travis-ci.com/restic/restic)
|
||||
[](https://ci.appveyor.com/project/fd0/restic/branch/master)
|
||||
[](https://github.com/restic/restic/actions?query=workflow%3Atest)
|
||||
[](https://goreportcard.com/report/github.com/restic/restic)
|
||||
|
||||
# Introduction
|
||||
@@ -47,8 +46,8 @@ Therefore, restic supports the following backends for storing backups natively:
|
||||
|
||||
- [Local directory](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#local)
|
||||
- [sftp server (via SSH)](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#sftp)
|
||||
- [HTTP REST server](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#rest-server) ([protocol](doc/100_references.rst#rest-backend), [rest-server](https://github.com/restic/rest-server))
|
||||
- [AWS S3](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#amazon-s3) (either from Amazon or using the [Minio](https://minio.io) server)
|
||||
- [HTTP REST server](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#rest-server) ([protocol](https://restic.readthedocs.io/en/latest/100_references.html#rest-backend), [rest-server](https://github.com/restic/rest-server))
|
||||
- [Amazon S3](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#amazon-s3) (either from Amazon or using the [Minio](https://minio.io) server)
|
||||
- [OpenStack Swift](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#openstack-swift)
|
||||
- [BackBlaze B2](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#backblaze-b2)
|
||||
- [Microsoft Azure Blob Storage](https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#microsoft-azure-blob-storage)
|
||||
|
32
appveyor.yml
32
appveyor.yml
@@ -1,32 +0,0 @@
|
||||
clone_folder: c:\restic
|
||||
|
||||
environment:
|
||||
GOPATH: c:\gopath
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
cache:
|
||||
- '%LocalAppData%\go-build'
|
||||
|
||||
init:
|
||||
- ps: >-
|
||||
$app = Get-WmiObject -Class Win32_Product -Filter "Vendor = 'http://golang.org'"
|
||||
|
||||
if ($app) {
|
||||
$app.Uninstall()
|
||||
}
|
||||
|
||||
install:
|
||||
- rmdir c:\go /s /q
|
||||
- appveyor DownloadFile https://dl.google.com/go/go1.15.2.windows-amd64.msi
|
||||
- msiexec /i go1.15.2.windows-amd64.msi /q
|
||||
- go version
|
||||
- go env
|
||||
- appveyor DownloadFile https://sourceforge.netcologne.de/project/gnuwin32/tar/1.13-1/tar-1.13-1-bin.zip -FileName tar.zip
|
||||
- 7z x tar.zip bin/tar.exe
|
||||
- set PATH=bin/;%PATH%
|
||||
|
||||
build_script:
|
||||
- go run run_integration_tests.go
|
16
build.go
16
build.go
@@ -35,6 +35,7 @@
|
||||
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//go:build ignore_build_go
|
||||
// +build ignore_build_go
|
||||
|
||||
package main
|
||||
@@ -58,7 +59,7 @@ var config = Config{
|
||||
Main: "./cmd/restic", // package name for the main package
|
||||
DefaultBuildTags: []string{"selfupdate"}, // specify build tags which are always used
|
||||
Tests: []string{"./..."}, // tests to run
|
||||
MinVersion: GoVersion{Major: 1, Minor: 11, Patch: 0}, // minimum Go version supported
|
||||
MinVersion: GoVersion{Major: 1, Minor: 14, Patch: 0}, // minimum Go version supported
|
||||
}
|
||||
|
||||
// Config configures the build.
|
||||
@@ -123,17 +124,8 @@ func printEnv(env []string) {
|
||||
|
||||
// build runs "go build args..." with GOPATH set to gopath.
|
||||
func build(cwd string, env map[string]string, args ...string) error {
|
||||
a := []string{"build"}
|
||||
|
||||
// try to remove all absolute paths from resulting binary
|
||||
if goVersion.AtLeast(GoVersion{1, 13, 0}) {
|
||||
// use the new flag introduced by Go 1.13
|
||||
a = append(a, "-trimpath")
|
||||
} else {
|
||||
// otherwise try to trim as many paths as possible
|
||||
a = append(a, "-asmflags", fmt.Sprintf("all=-trimpath=%s", cwd))
|
||||
a = append(a, "-gcflags", fmt.Sprintf("all=-trimpath=%s", cwd))
|
||||
}
|
||||
// -trimpath removes all absolute paths from the binary.
|
||||
a := []string{"build", "-trimpath"}
|
||||
|
||||
if enablePIE {
|
||||
a = append(a, "-buildmode=pie")
|
||||
|
10
changelog/0.12.0_2021-02-14/issue-1681
Normal file
10
changelog/0.12.0_2021-02-14/issue-1681
Normal file
@@ -0,0 +1,10 @@
|
||||
Bugfix: Make `mount` not create missing mount point directory
|
||||
|
||||
When specifying a non-existent directory as mount point for the `mount`
|
||||
command, restic used to create the specified directory automatically.
|
||||
|
||||
This has now changed such that restic instead gives an error when the
|
||||
specified directory for the mount point does not exist.
|
||||
|
||||
https://github.com/restic/restic/issues/1681
|
||||
https://github.com/restic/restic/pull/3008
|
8
changelog/0.12.0_2021-02-14/issue-1800
Normal file
8
changelog/0.12.0_2021-02-14/issue-1800
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Ignore `no data available` filesystem error during backup
|
||||
|
||||
Restic was unable to backup files on some filesystems, for example certain
|
||||
configurations of CIFS on Linux which return a `no data available` error
|
||||
when reading extended attributes. These errors are now ignored.
|
||||
|
||||
https://github.com/restic/restic/issues/1800
|
||||
https://github.com/restic/restic/pull/3034
|
8
changelog/0.12.0_2021-02-14/issue-2186
Normal file
8
changelog/0.12.0_2021-02-14/issue-2186
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Allow specifying percentage in `check --read-data-subset`
|
||||
|
||||
We've enhanced the `check` command's `--read-data-subset` option to also accept
|
||||
a percentage (e.g. `2.5%` or `10%`). This will check the given percentage of
|
||||
pack files (which are randomly selected on each run).
|
||||
|
||||
https://github.com/restic/restic/issues/2186
|
||||
https://github.com/restic/restic/pull/3038
|
14
changelog/0.12.0_2021-02-14/issue-2453
Normal file
14
changelog/0.12.0_2021-02-14/issue-2453
Normal file
@@ -0,0 +1,14 @@
|
||||
Enhancement: Report permanent/fatal backend errors earlier
|
||||
|
||||
When encountering errors in reading from or writing to storage backends,
|
||||
restic retries the failing operation up to nine times (for a total of ten
|
||||
attempts). It used to retry all backend operations, but now detects some
|
||||
permanent error conditions so that it can report fatal errors earlier.
|
||||
|
||||
Permanent failures include local disks being full, SSH connections
|
||||
dropping and permission errors.
|
||||
|
||||
https://github.com/restic/restic/issues/2453
|
||||
https://github.com/restic/restic/pull/3170
|
||||
https://github.com/restic/restic/issues/3180
|
||||
https://github.com/restic/restic/pull/3181
|
21
changelog/0.12.0_2021-02-14/issue-2528
Normal file
21
changelog/0.12.0_2021-02-14/issue-2528
Normal file
@@ -0,0 +1,21 @@
|
||||
Enhancement: Add Alibaba/Aliyun OSS support in the `s3` backend
|
||||
|
||||
A new extended option `s3.bucket-lookup` has been added to support
|
||||
Alibaba/Aliyun OSS in the `s3` backend. The option can be set to one
|
||||
of the following values:
|
||||
|
||||
- `auto` - Existing behaviour
|
||||
- `dns` - Use DNS style bucket access
|
||||
- `path` - Use path style bucket access
|
||||
|
||||
To make the `s3` backend work with Alibaba/Aliyun OSS you must set
|
||||
`s3.bucket-lookup` to `dns` and set the `s3.region` parameter. For
|
||||
example:
|
||||
|
||||
restic -o s3.bucket-lookup=dns -o s3.region=oss-eu-west-1 -r s3:https://oss-eu-west-1.aliyuncs.com/bucketname init
|
||||
|
||||
Note that `s3.region` must be set, otherwise the MinIO SDK tries to
|
||||
look it up and it seems that Alibaba doesn't support that properly.
|
||||
|
||||
https://github.com/restic/restic/issues/2528
|
||||
https://github.com/restic/restic/pull/2535
|
9
changelog/0.12.0_2021-02-14/issue-2563
Normal file
9
changelog/0.12.0_2021-02-14/issue-2563
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Report the correct owner of directories in FUSE mounts
|
||||
|
||||
Restic 0.10.0 changed the FUSE mount to always report the current user
|
||||
as the owner of directories within the FUSE mount, which is incorrect.
|
||||
|
||||
This is now changed back to reporting the correct owner of a directory.
|
||||
|
||||
https://github.com/restic/restic/issues/2563
|
||||
https://github.com/restic/restic/pull/3141
|
31
changelog/0.12.0_2021-02-14/issue-2688
Normal file
31
changelog/0.12.0_2021-02-14/issue-2688
Normal file
@@ -0,0 +1,31 @@
|
||||
Bugfix: Make `backup` and `tag` commands separate tags by comma
|
||||
|
||||
Running `restic backup --tag foo,bar` previously created snapshots with one
|
||||
single tag containing a comma (`foo,bar`) instead of two tags (`foo`, `bar`).
|
||||
|
||||
Similarly, the `tag` command's `--set`, `--add` and `--remove` options would
|
||||
treat `foo,bar` as one tag instead of two tags. This was inconsistent with
|
||||
other commands and often unexpected when one intended `foo,bar` to mean two
|
||||
tags.
|
||||
|
||||
To be consistent in all commands, restic now interprets `foo,bar` to mean two
|
||||
separate tags (`foo` and `bar`) instead of one tag (`foo,bar`) everywhere,
|
||||
including in the `backup` and `tag` commands.
|
||||
|
||||
NOTE: This change might result in unexpected behavior in cases where you use
|
||||
the `forget` command and filter on tags like `foo,bar`. Snapshots previously
|
||||
backed up with `--tag foo,bar` will still not match that filter, but snapshots
|
||||
saved from now on will match that filter.
|
||||
|
||||
To replace `foo,bar` tags with `foo` and `bar` tags in old snapshots, you can
|
||||
first generate a list of the relevant snapshots using a command like:
|
||||
|
||||
restic snapshots --json --quiet | jq '.[] | select(contains({tags: ["foo,bar"]})) | .id'
|
||||
|
||||
and then use `restic tag --set foo --set bar snapshotID [...]` to set the new
|
||||
tags. Please adjust the commands to include real tag names and any additional
|
||||
tags, as well as the list of snapshots to process.
|
||||
|
||||
https://github.com/restic/restic/issues/2688
|
||||
https://github.com/restic/restic/pull/2690
|
||||
https://github.com/restic/restic/pull/3197
|
17
changelog/0.12.0_2021-02-14/issue-2706
Normal file
17
changelog/0.12.0_2021-02-14/issue-2706
Normal file
@@ -0,0 +1,17 @@
|
||||
Enhancement: Configurable progress reports for non-interactive terminals
|
||||
|
||||
The `backup`, `check` and `prune` commands never printed any progress
|
||||
reports on non-interactive terminals. This behavior is now configurable
|
||||
using the `RESTIC_PROGRESS_FPS` environment variable. Use for example a
|
||||
value of `1` for an update every second, or `0.01666` for an update every
|
||||
minute.
|
||||
|
||||
The `backup` command now also prints the current progress when restic
|
||||
receives a `SIGUSR1` signal.
|
||||
|
||||
Setting the `RESTIC_PROGRESS_FPS` environment variable or sending a `SIGUSR1`
|
||||
signal prints a status report even when `--quiet` was specified.
|
||||
|
||||
https://github.com/restic/restic/issues/2706
|
||||
https://github.com/restic/restic/issues/3194
|
||||
https://github.com/restic/restic/pull/3199
|
5
changelog/0.12.0_2021-02-14/issue-2739
Normal file
5
changelog/0.12.0_2021-02-14/issue-2739
Normal file
@@ -0,0 +1,5 @@
|
||||
Bugfix: Make the `cat` command respect the `--no-lock` option
|
||||
|
||||
The `cat` command would not respect the `--no-lock` flag. This is now fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/2739
|
13
changelog/0.12.0_2021-02-14/issue-2944
Normal file
13
changelog/0.12.0_2021-02-14/issue-2944
Normal file
@@ -0,0 +1,13 @@
|
||||
Enhancement: Add `backup` options `--files-from-{verbatim,raw}`
|
||||
|
||||
The new `backup` options `--files-from-verbatim` and `--files-from-raw` read a
|
||||
list of files to back up from a file. Unlike the existing `--files-from`
|
||||
option, these options do not interpret the listed filenames as glob patterns;
|
||||
instead, whitespace in filenames is preserved as-is and no pattern expansion is
|
||||
done. Please see the documentation for specifics.
|
||||
|
||||
These new options are highly recommended over `--files-from`, when using a
|
||||
script to generate the list of files to back up.
|
||||
|
||||
https://github.com/restic/restic/issues/2944
|
||||
https://github.com/restic/restic/issues/3013
|
18
changelog/0.12.0_2021-02-14/issue-3083
Normal file
18
changelog/0.12.0_2021-02-14/issue-3083
Normal file
@@ -0,0 +1,18 @@
|
||||
Enhancement: Allow usage of deprecated S3 `ListObjects` API
|
||||
|
||||
Some S3 API implementations, e.g. Ceph before version 14.2.5, have a broken
|
||||
`ListObjectsV2` implementation which causes problems for restic when using
|
||||
their API endpoints. When a broken server implementation is used, restic prints
|
||||
errors similar to the following:
|
||||
|
||||
List() returned error: Truncated response should have continuation token set
|
||||
|
||||
As a temporary workaround, restic now allows using the older `ListObjects`
|
||||
endpoint by setting the `s3.list-objects-v1` extended option, for instance:
|
||||
|
||||
restic -o s3.list-objects-v1=true snapshots
|
||||
|
||||
Please note that this option may be removed in future versions of restic.
|
||||
|
||||
https://github.com/restic/restic/issues/3083
|
||||
https://github.com/restic/restic/pull/3085
|
10
changelog/0.12.0_2021-02-14/issue-3090
Normal file
10
changelog/0.12.0_2021-02-14/issue-3090
Normal file
@@ -0,0 +1,10 @@
|
||||
Bugfix: The `--use-fs-snapshot` option now works on windows/386
|
||||
|
||||
Restic failed to create VSS snapshots on windows/386 with the following error:
|
||||
|
||||
GetSnapshotProperties() failed: E_INVALIDARG (0x80070057)
|
||||
|
||||
This is now fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/3087
|
||||
https://github.com/restic/restic/pull/3090
|
17
changelog/0.12.0_2021-02-14/issue-3095
Normal file
17
changelog/0.12.0_2021-02-14/issue-3095
Normal file
@@ -0,0 +1,17 @@
|
||||
Change: Deleting files on Google Drive now moves them to the trash
|
||||
|
||||
When deleting files on Google Drive via the `rclone` backend, restic used to
|
||||
bypass the trash folder required that one used the `-o rclone.args` option to
|
||||
enable usage of the trash folder. This ensured that deleted files in Google
|
||||
Drive were not kept indefinitely in the trash folder. However, since Google
|
||||
Drive's trash retention policy changed to deleting trashed files after 30 days,
|
||||
this is no longer needed.
|
||||
|
||||
Restic now leaves it up to rclone and its configuration to use or not use the
|
||||
trash folder when deleting files. The default is to use the trash folder, as
|
||||
of rclone 1.53.2. To re-enable the restic 0.11 behavior, set the
|
||||
`RCLONE_DRIVE_USE_TRASH` environment variable or change the rclone
|
||||
configuration. See the rclone documentation for more details.
|
||||
|
||||
https://github.com/restic/restic/issues/3095
|
||||
https://github.com/restic/restic/pull/3102
|
10
changelog/0.12.0_2021-02-14/issue-3100
Normal file
10
changelog/0.12.0_2021-02-14/issue-3100
Normal file
@@ -0,0 +1,10 @@
|
||||
Bugfix: Do not require gs bucket permissions when running `init`
|
||||
|
||||
Restic used to require bucket level permissions for the `gs` backend
|
||||
in order to initialize a restic repository.
|
||||
|
||||
It now allows a `gs` service account to initialize a repository if the
|
||||
bucket does exist and the service account has permissions to write/read
|
||||
to that bucket.
|
||||
|
||||
https://github.com/restic/restic/issues/3100
|
9
changelog/0.12.0_2021-02-14/issue-3111
Normal file
9
changelog/0.12.0_2021-02-14/issue-3111
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Correctly detect output redirection for `backup` command on Windows
|
||||
|
||||
On Windows, since restic 0.10.0 the `backup` command did not properly detect
|
||||
when the output was redirected to a file. This caused restic to output
|
||||
terminal control characters. This has been fixed by correcting the terminal
|
||||
detection.
|
||||
|
||||
https://github.com/restic/restic/issues/3111
|
||||
https://github.com/restic/restic/pull/3150
|
11
changelog/0.12.0_2021-02-14/issue-3147
Normal file
11
changelog/0.12.0_2021-02-14/issue-3147
Normal file
@@ -0,0 +1,11 @@
|
||||
Enhancement: Support additional environment variables for Swift authentication
|
||||
|
||||
The `swift` backend now supports the following additional environment variables
|
||||
for passing authentication details to restic:
|
||||
`OS_USER_ID`, `OS_USER_DOMAIN_ID`, `OS_PROJECT_DOMAIN_ID` and `OS_TRUST_ID`
|
||||
|
||||
Depending on the `openrc` configuration file these might be required when the
|
||||
user and project domains differ from one another.
|
||||
|
||||
https://github.com/restic/restic/issues/3147
|
||||
https://github.com/restic/restic/pull/3158
|
9
changelog/0.12.0_2021-02-14/issue-3151
Normal file
9
changelog/0.12.0_2021-02-14/issue-3151
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Don't create invalid snapshots when `backup` is interrupted
|
||||
|
||||
When canceling a backup run at a certain moment it was possible that
|
||||
restic created a snapshot with an invalid "null" tree. This caused
|
||||
`check` and other operations to fail. The `backup` command now properly
|
||||
handles interruptions and never saves a snapshot when interrupted.
|
||||
|
||||
https://github.com/restic/restic/issues/3151
|
||||
https://github.com/restic/restic/pull/3164
|
9
changelog/0.12.0_2021-02-14/issue-3166
Normal file
9
changelog/0.12.0_2021-02-14/issue-3166
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Improve error handling in the `restore` command
|
||||
|
||||
The `restore` command used to not print errors while downloading file contents
|
||||
from the repository. It also incorrectly exited with a zero error code even
|
||||
when there were errors during the restore process. This has all been fixed and
|
||||
`restore` now returns with a non-zero exit code when there's an error.
|
||||
|
||||
https://github.com/restic/restic/issues/3166
|
||||
https://github.com/restic/restic/pull/3207
|
8
changelog/0.12.0_2021-02-14/issue-3191
Normal file
8
changelog/0.12.0_2021-02-14/issue-3191
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Add release binaries for MIPS architectures
|
||||
|
||||
We've added a few new architectures for Linux to the release binaries: `mips`,
|
||||
`mipsle`, `mips64`, and `mip64le`. MIPS is mostly used for low-end embedded
|
||||
systems.
|
||||
|
||||
https://github.com/restic/restic/issues/3191
|
||||
https://github.com/restic/restic/pull/3208
|
11
changelog/0.12.0_2021-02-14/issue-3232
Normal file
11
changelog/0.12.0_2021-02-14/issue-3232
Normal file
@@ -0,0 +1,11 @@
|
||||
Bugfix: Correct statistics for overlapping targets
|
||||
|
||||
A user reported that restic's statistics and progress information during backup
|
||||
was not correctly calculated when the backup targets (files/dirs to save)
|
||||
overlap. For example, consider a directory `foo` which contains (among others)
|
||||
a file `foo/bar`. When `restic backup foo foo/bar` was run, restic counted the
|
||||
size of the file `foo/bar` twice, so the completeness percentage as well as the
|
||||
number of files was wrong. This is now corrected.
|
||||
|
||||
https://github.com/restic/restic/issues/3232
|
||||
https://github.com/restic/restic/pull/3243
|
12
changelog/0.12.0_2021-02-14/issue-909
Normal file
12
changelog/0.12.0_2021-02-14/issue-909
Normal file
@@ -0,0 +1,12 @@
|
||||
Enhancement: Back up mountpoints as empty directories
|
||||
|
||||
When the `--one-file-system` option is specified to `restic backup`, it
|
||||
ignores all file systems mounted below one of the target directories. This
|
||||
means that when a snapshot is restored, users needed to manually recreate
|
||||
the mountpoint directories.
|
||||
|
||||
Restic now backs up mountpoints as empty directories and therefore implements
|
||||
the same approach as `tar`.
|
||||
|
||||
https://github.com/restic/restic/issues/909
|
||||
https://github.com/restic/restic/pull/3119
|
6
changelog/0.12.0_2021-02-14/pr-3250
Normal file
6
changelog/0.12.0_2021-02-14/pr-3250
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add several more error checks
|
||||
|
||||
We've added a lot more error checks in places where errors were previously
|
||||
ignored (as hinted by the static analysis program `errcheck` via `golangci-lint`).
|
||||
|
||||
https://github.com/restic/restic/pull/3250
|
29
changelog/0.12.0_2021-02-14/pull-2718
Normal file
29
changelog/0.12.0_2021-02-14/pull-2718
Normal file
@@ -0,0 +1,29 @@
|
||||
Enhancement: Improve `prune` performance and make it more customizable
|
||||
|
||||
The `prune` command is now much faster. This is especially the case for remote
|
||||
repositories or repositories with not much data to remove. Also the memory
|
||||
usage of the `prune` command is now reduced.
|
||||
|
||||
Restic used to rebuild the index from scratch after pruning. This could lead
|
||||
to missing packs in the index in some cases for eventually consistent backends
|
||||
such as e.g. AWS S3. This behavior is now changed and the index rebuilding
|
||||
uses the information already known by `prune`.
|
||||
|
||||
By default, the `prune` command no longer removes all unused data. This
|
||||
behavior can be fine-tuned by new options, like the acceptable amount of
|
||||
unused space or the maximum size of data to reorganize. For more details,
|
||||
please see https://restic.readthedocs.io/en/stable/060_forget.html .
|
||||
|
||||
Moreover, `prune` now accepts the `--dry-run` option and also running
|
||||
`forget --dry-run --prune` will show what `prune` would do.
|
||||
|
||||
This enhancement also fixes several open issues, e.g.:
|
||||
- https://github.com/restic/restic/issues/1140
|
||||
- https://github.com/restic/restic/issues/1599
|
||||
- https://github.com/restic/restic/issues/1985
|
||||
- https://github.com/restic/restic/issues/2112
|
||||
- https://github.com/restic/restic/issues/2227
|
||||
- https://github.com/restic/restic/issues/2305
|
||||
|
||||
https://github.com/restic/restic/pull/2718
|
||||
https://github.com/restic/restic/pull/2842
|
27
changelog/0.12.0_2021-02-14/pull-2823
Normal file
27
changelog/0.12.0_2021-02-14/pull-2823
Normal file
@@ -0,0 +1,27 @@
|
||||
Enhancement: Add option to let `backup` trust mtime without checking ctime
|
||||
|
||||
The `backup` command used to require that both `ctime` and `mtime` of a file
|
||||
matched with a previously backed up version to determine that the file was
|
||||
unchanged. In other words, if either `ctime` or `mtime` of the file had
|
||||
changed, it would be considered changed and restic would read the file's
|
||||
content again to back up the relevant (changed) parts of it.
|
||||
|
||||
The new option `--ignore-ctime` makes restic look at `mtime` only, such that
|
||||
`ctime` changes for a file does not cause restic to read the file's contents
|
||||
again.
|
||||
|
||||
The check for both `ctime` and `mtime` was introduced in restic 0.9.6 to make
|
||||
backups more reliable in the face of programs that reset `mtime` (some Unix
|
||||
archivers do that), but it turned out to often be expensive because it made
|
||||
restic read file contents even if only the metadata (owner, permissions) of
|
||||
a file had changed. The new `--ignore-ctime` option lets the user restore the
|
||||
0.9.5 behavior when needed. The existing `--ignore-inode` option already
|
||||
turned off this behavior, but also removed a different check.
|
||||
|
||||
Please note that changes in files' metadata are still recorded, regardless of
|
||||
the command line options provided to the backup command.
|
||||
|
||||
https://github.com/restic/restic/issues/2495
|
||||
https://github.com/restic/restic/issues/2558
|
||||
https://github.com/restic/restic/issues/2819
|
||||
https://github.com/restic/restic/pull/2823
|
8
changelog/0.12.0_2021-02-14/pull-2941
Normal file
8
changelog/0.12.0_2021-02-14/pull-2941
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Speed up the repacking step of the `prune` command
|
||||
|
||||
The repack step of the `prune` command, which moves still used file parts into
|
||||
new pack files such that the old ones can be garbage collected later on, now
|
||||
processes multiple pack files in parallel. This is especially beneficial for
|
||||
high latency backends or when using a fast network connection.
|
||||
|
||||
https://github.com/restic/restic/pull/2941
|
11
changelog/0.12.0_2021-02-14/pull-3006
Normal file
11
changelog/0.12.0_2021-02-14/pull-3006
Normal file
@@ -0,0 +1,11 @@
|
||||
Enhancement: Speed up the `rebuild-index` command
|
||||
|
||||
We've optimized the `rebuild-index` command. Now, existing index entries are used
|
||||
to minimize the number of pack files that must be read. This speeds up the index
|
||||
rebuild a lot.
|
||||
|
||||
Additionally, the option `--read-all-packs` has been added, implementing the
|
||||
previous behavior.
|
||||
|
||||
https://github.com/restic/restic/issue/2547
|
||||
https://github.com/restic/restic/pull/3006
|
13
changelog/0.12.0_2021-02-14/pull-3014
Normal file
13
changelog/0.12.0_2021-02-14/pull-3014
Normal file
@@ -0,0 +1,13 @@
|
||||
Bugfix: Fix sporadic stream reset between rclone and restic
|
||||
|
||||
Sometimes when using restic with the `rclone` backend, an error message
|
||||
similar to the following would be printed:
|
||||
|
||||
Didn't finish writing GET request (wrote 0/xxx): http2: stream closed
|
||||
|
||||
It was found that this was caused by restic closing the connection to rclone
|
||||
to soon when downloading data. A workaround has been added which waits for
|
||||
the end of the download before closing the connection.
|
||||
|
||||
https://github.com/restic/restic/pull/3014
|
||||
https://github.com/rclone/rclone/issues/2598
|
23
changelog/0.12.0_2021-02-14/pull-3048
Normal file
23
changelog/0.12.0_2021-02-14/pull-3048
Normal file
@@ -0,0 +1,23 @@
|
||||
Enhancement: Add more checks for index and pack files in the `check` command
|
||||
|
||||
The `check` command run with the `--read-data` or `--read-data-subset` options
|
||||
used to only verify only the pack file content - it did not check if the blobs
|
||||
within the pack are correctly contained in the index.
|
||||
|
||||
A check for the latter is now in place, which can print the following error:
|
||||
|
||||
Blob ID is not contained in index or position is incorrect
|
||||
|
||||
Another test is also added, which compares pack file sizes computed from the
|
||||
index and the pack header with the actual file size. This test is able to
|
||||
detect truncated pack files.
|
||||
|
||||
If the index is not correct, it can be rebuilt by using the `rebuild-index`
|
||||
command.
|
||||
|
||||
Having added these tests, `restic check` is now able to detect non-existing
|
||||
blobs which are wrongly referenced in the index. This situation could have
|
||||
lead to missing data.
|
||||
|
||||
https://github.com/restic/restic/pull/3048
|
||||
https://github.com/restic/restic/pull/3082
|
8
changelog/0.12.0_2021-02-14/pull-3081
Normal file
8
changelog/0.12.0_2021-02-14/pull-3081
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Make the `dump` command support `zip` format
|
||||
|
||||
Previously, restic could dump the contents of a whole folder structure only
|
||||
in the `tar` format. The `dump` command now has a new flag to change output
|
||||
format to `zip`. Just pass `--archive zip` as an option to `restic dump`.
|
||||
|
||||
https://github.com/restic/restic/pull/2433
|
||||
https://github.com/restic/restic/pull/3081
|
6
changelog/0.12.0_2021-02-14/pull-3099
Normal file
6
changelog/0.12.0_2021-02-14/pull-3099
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Reduce memory usage of `check` command
|
||||
|
||||
The `check` command now requires less memory if it is run without the
|
||||
`--check-unused` option.
|
||||
|
||||
https://github.com/restic/restic/pull/3099
|
10
changelog/0.12.0_2021-02-14/pull-3106
Normal file
10
changelog/0.12.0_2021-02-14/pull-3106
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Parallelize scan of snapshot content in `copy` and `prune`
|
||||
|
||||
The `copy` and `prune` commands used to traverse the directories of
|
||||
snapshots one by one to find used data. This snapshot traversal is
|
||||
now parallized which can speed up this step several times.
|
||||
|
||||
In addition the `check` command now reports how many snapshots have
|
||||
already been processed.
|
||||
|
||||
https://github.com/restic/restic/pull/3106
|
13
changelog/0.12.0_2021-02-14/pull-3130
Normal file
13
changelog/0.12.0_2021-02-14/pull-3130
Normal file
@@ -0,0 +1,13 @@
|
||||
Enhancement: Parallelize reading of locks and snapshots
|
||||
|
||||
Restic used to read snapshots sequentially. For repositories containing
|
||||
many snapshots this slowed down commands which have to read all snapshots.
|
||||
|
||||
Now the reading of snapshots is parallelized. This speeds up for example
|
||||
`prune`, `backup` and other commands that search for snapshots with certain
|
||||
properties or which have to find the `latest` snapshot.
|
||||
|
||||
The speed up also applies to locks stored in the backup repository.
|
||||
|
||||
https://github.com/restic/restic/pull/3130
|
||||
https://github.com/restic/restic/pull/3174
|
8
changelog/0.12.0_2021-02-14/pull-3152
Normal file
8
changelog/0.12.0_2021-02-14/pull-3152
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Do not hang until foregrounded when completed in background
|
||||
|
||||
On Linux, when running in the background restic failed to stop the terminal
|
||||
output of the `backup` command after it had completed. This caused restic to
|
||||
hang until moved to the foreground. This has now been fixed.
|
||||
|
||||
https://github.com/restic/restic/pull/3152
|
||||
https://forum.restic.net/t/restic-alpine-container-cron-hangs-epoll-pwait/3334
|
7
changelog/0.12.0_2021-02-14/pull-3249
Normal file
7
changelog/0.12.0_2021-02-14/pull-3249
Normal file
@@ -0,0 +1,7 @@
|
||||
Bugfix: Improve error handling in `gs` backend
|
||||
|
||||
The `gs` backend did not notice when the last step of completing a
|
||||
file upload failed. Under rare circumstances, this could cause
|
||||
missing files in the backup repository. This has now been fixed.
|
||||
|
||||
https://github.com/restic/restic/pull/3249
|
8
changelog/0.12.0_2021-02-14/pull-3254
Normal file
8
changelog/0.12.0_2021-02-14/pull-3254
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Enable HTTP/2 for backend connections
|
||||
|
||||
Go's HTTP library usually automatically chooses between HTTP/1.x and HTTP/2
|
||||
depending on what the server supports. But for compatibility this mechanism
|
||||
is disabled if DialContext is used (which is the case for restic). This change
|
||||
allows restic's HTTP client to negotiate HTTP/2 if supported by the server.
|
||||
|
||||
https://github.com/restic/restic/pull/3254
|
13
changelog/0.12.1_2021-08-03/issue-2742
Normal file
13
changelog/0.12.1_2021-08-03/issue-2742
Normal file
@@ -0,0 +1,13 @@
|
||||
Bugfix: Improve error handling for rclone and REST backend over HTTP2
|
||||
|
||||
When retrieving data from the rclone / REST backend while also using HTTP2
|
||||
restic did not detect when no data was returned at all. This could cause
|
||||
for example the `check` command to report the following error:
|
||||
|
||||
Pack ID does not match, want [...], got e3b0c442
|
||||
|
||||
This has been fixed by correctly detecting and retrying the incomplete download.
|
||||
|
||||
https://github.com/restic/restic/issues/2742
|
||||
https://github.com/restic/restic/pull/3453
|
||||
https://forum.restic.net/t/http2-stream-closed-connection-reset-context-canceled/3743/10
|
6
changelog/0.12.1_2021-08-03/issue-2780
Normal file
6
changelog/0.12.1_2021-08-03/issue-2780
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add release binaries for s390x architecture on Linux
|
||||
|
||||
We've added release binaries for Linux using the s390x architecture.
|
||||
|
||||
https://github.com/restic/restic/issues/2780
|
||||
https://github.com/restic/restic/pull/3452
|
11
changelog/0.12.1_2021-08-03/issue-3111
Normal file
11
changelog/0.12.1_2021-08-03/issue-3111
Normal file
@@ -0,0 +1,11 @@
|
||||
Bugfix: Fix terminal output redirection for PowerShell
|
||||
|
||||
When redirecting the output of restic using PowerShell on Windows, the
|
||||
output contained terminal escape characters. This has been fixed by
|
||||
properly detecting the terminal type.
|
||||
|
||||
In addition, the mintty terminal now shows progress output for the backup
|
||||
command.
|
||||
|
||||
https://github.com/restic/restic/issues/3111
|
||||
https://github.com/restic/restic/pull/3325
|
9
changelog/0.12.1_2021-08-03/issue-3214
Normal file
9
changelog/0.12.1_2021-08-03/issue-3214
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Treat an empty password as a fatal error for repository init
|
||||
|
||||
When attempting to initialize a new repository, if an empty password was
|
||||
supplied, the repository would be created but the init command would return
|
||||
an error with a stack trace. Now, if an empty password is provided, it is
|
||||
treated as a fatal error, and no repository is created.
|
||||
|
||||
https://github.com/restic/restic/issues/3214
|
||||
https://github.com/restic/restic/pull/3283
|
8
changelog/0.12.1_2021-08-03/issue-3247
Normal file
8
changelog/0.12.1_2021-08-03/issue-3247
Normal file
@@ -0,0 +1,8 @@
|
||||
Change: Empty files now have size of 0 in `ls --json` output
|
||||
|
||||
The `ls --json` command used to omit the sizes of empty files in its
|
||||
output. It now reports a size of zero explicitly for regular files,
|
||||
while omitting the size field for all other types.
|
||||
|
||||
https://github.com/restic/restic/issues/3247
|
||||
https://github.com/restic/restic/pull/3257
|
11
changelog/0.12.1_2021-08-03/issue-3267
Normal file
11
changelog/0.12.1_2021-08-03/issue-3267
Normal file
@@ -0,0 +1,11 @@
|
||||
Bugfix: `copy` failed to copy snapshots in rare cases
|
||||
|
||||
The `copy` command could in rare cases fail with the error message `SaveTree(...)
|
||||
returned unexpected id ...`. This has been fixed.
|
||||
|
||||
On Linux/BSDs, the error could be caused by backing up symlinks with non-UTF-8
|
||||
target paths. Note that, due to limitations in the repository format, these are
|
||||
not stored properly and should be avoided if possible.
|
||||
|
||||
https://github.com/restic/restic/issues/3267
|
||||
https://github.com/restic/restic/pull/3310
|
11
changelog/0.12.1_2021-08-03/issue-3284
Normal file
11
changelog/0.12.1_2021-08-03/issue-3284
Normal file
@@ -0,0 +1,11 @@
|
||||
Bugfix: `backup --quiet` no longer prints status information
|
||||
|
||||
A regression in the latest restic version caused the output of `backup --quiet`
|
||||
to contain large amounts of backup progress information when run using an
|
||||
interactive terminal. This is fixed now.
|
||||
|
||||
A workaround for this bug is to run restic as follows:
|
||||
`restic backup --quiet [..] | cat -`.
|
||||
|
||||
https://github.com/restic/restic/issues/3184
|
||||
https://github.com/restic/restic/pull/3186
|
14
changelog/0.12.1_2021-08-03/issue-3293
Normal file
14
changelog/0.12.1_2021-08-03/issue-3293
Normal file
@@ -0,0 +1,14 @@
|
||||
Enhancement: Add `--repository-file2` option to `init` and `copy` command
|
||||
|
||||
The `init` and `copy` command can now be used with the `--repository-file2`
|
||||
option or the `$RESTIC_REPOSITORY_FILE2` environment variable.
|
||||
These to options are in addition to the `--repo2` flag and allow you to read
|
||||
the destination repository from a file.
|
||||
|
||||
Using both `--repository-file` and `--repo2` options resulted in an error for
|
||||
the `copy` or `init` command. The handling of this combination of options has
|
||||
been fixed. A workaround for this issue is to only use `--repo` or `-r` and
|
||||
`--repo2` for `init` or `copy`.
|
||||
|
||||
https://github.com/restic/restic/issues/3293
|
||||
https://github.com/restic/restic/pull/3294
|
7
changelog/0.12.1_2021-08-03/issue-3296
Normal file
7
changelog/0.12.1_2021-08-03/issue-3296
Normal file
@@ -0,0 +1,7 @@
|
||||
Bugfix: Fix crash of `check --read-data-subset=x%` run for an empty repository
|
||||
|
||||
The command `restic check --read-data-subset=x%` crashed when run for an empty
|
||||
repository. This has been fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/3296
|
||||
https://github.com/restic/restic/pull/3309
|
8
changelog/0.12.1_2021-08-03/issue-3302
Normal file
8
changelog/0.12.1_2021-08-03/issue-3302
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Fix `fdopendir: not a directory` error for local backend
|
||||
|
||||
The `check`, `list packs`, `prune` and `rebuild-index` commands failed
|
||||
for the local backend when the `data` folder in the repository contained
|
||||
files. This has been fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/3302
|
||||
https://github.com/restic/restic/pull/3308
|
5
changelog/0.12.1_2021-08-03/issue-3312
Normal file
5
changelog/0.12.1_2021-08-03/issue-3312
Normal file
@@ -0,0 +1,5 @@
|
||||
Enhancement: Add auto-completion support for fish
|
||||
|
||||
The `generate` command now supports fish auto completion.
|
||||
|
||||
https://github.com/restic/restic/pull/3312
|
8
changelog/0.12.1_2021-08-03/issue-3334
Normal file
8
changelog/0.12.1_2021-08-03/issue-3334
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Print `created new cache` message only on a terminal
|
||||
|
||||
The message `created new cache` was printed even when the output wasn't a
|
||||
terminal. That broke piping `restic dump` output to tar or zip if cache
|
||||
directory didn't exist. The message is now only printed on a terminal.
|
||||
|
||||
https://github.com/restic/restic/issues/3334
|
||||
https://github.com/restic/restic/pull/3343
|
8
changelog/0.12.1_2021-08-03/issue-3336
Normal file
8
changelog/0.12.1_2021-08-03/issue-3336
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: SFTP backend now checks for disk space
|
||||
|
||||
Backing up over SFTP previously spewed multiple generic "failure" messages
|
||||
when the remote disk was full. It now checks for disk space before writing
|
||||
a file and fails immediately with a "no space left on device" message.
|
||||
|
||||
https://github.com/restic/restic/issues/3336
|
||||
https://github.com/restic/restic/pull/3345
|
6
changelog/0.12.1_2021-08-03/issue-3377
Normal file
6
changelog/0.12.1_2021-08-03/issue-3377
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add release binaries for Apple Silicon
|
||||
|
||||
We've added release binaries for macOS on Apple Silicon (M1).
|
||||
|
||||
https://github.com/restic/restic/issues/3377
|
||||
https://github.com/restic/restic/pull/3394
|
7
changelog/0.12.1_2021-08-03/issue-3380
Normal file
7
changelog/0.12.1_2021-08-03/issue-3380
Normal file
@@ -0,0 +1,7 @@
|
||||
Bugfix: Fix crash of `backup --exclude='**'`
|
||||
|
||||
The exclude filter `**`, which excludes all files, caused restic to crash. This
|
||||
has been corrected.
|
||||
|
||||
https://github.com/restic/restic/issues/3380
|
||||
https://github.com/restic/restic/pull/3393
|
20
changelog/0.12.1_2021-08-03/issue-3414
Normal file
20
changelog/0.12.1_2021-08-03/issue-3414
Normal file
@@ -0,0 +1,20 @@
|
||||
Enhancement: Add `--keep-within-hourly` option to restic forget
|
||||
|
||||
The `forget` command allowed keeping a given number of hourly
|
||||
backups or to keep all backups within a given interval, but it
|
||||
was not possible to specify keeping hourly backups within a given
|
||||
interval.
|
||||
|
||||
The new `--keep-within-hourly` option now offers this functionality.
|
||||
Similar options for daily/weekly/monthly/yearly are also implemented,
|
||||
the new options are:
|
||||
|
||||
--keep-within-hourly <1y2m3d4h>
|
||||
--keep-within-daily <1y2m3d4h>
|
||||
--keep-within-weekly <1y2m3d4h>
|
||||
--keep-within-monthly <1y2m3d4h>
|
||||
--keep-within-yearly <1y2m3d4h>
|
||||
|
||||
https://github.com/restic/restic/issues/3414
|
||||
https://github.com/restic/restic/pull/3416
|
||||
https://forum.restic.net/t/forget-policy/4014/11
|
9
changelog/0.12.1_2021-08-03/issue-3456
Normal file
9
changelog/0.12.1_2021-08-03/issue-3456
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Support filtering and specifying untagged snapshots
|
||||
|
||||
It was previously not possible to specify an empty tag with the `--tag` and
|
||||
`--keep-tag` options. This has now been fixed, such that `--tag ''` and
|
||||
`--keep-tag ''` now matches snapshots without tags. This allows e.g. the
|
||||
`snapshots` and `forget` commands to only operate on untagged snapshots.
|
||||
|
||||
https://github.com/restic/restic/issues/3456
|
||||
https://github.com/restic/restic/pull/3457
|
9
changelog/0.12.1_2021-08-03/pull-3167
Normal file
9
changelog/0.12.1_2021-08-03/pull-3167
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Allow specifying limit of `snapshots` list
|
||||
|
||||
The `--last` option allowed limiting the output of the `snapshots`
|
||||
command to the latest snapshot for each host. The new `--latest n`
|
||||
option allows limiting the output to the latest `n` snapshots.
|
||||
|
||||
This change deprecates the option `--last` in favour of `--latest 1`.
|
||||
|
||||
https://github.com/restic/restic/pull/3167
|
6
changelog/0.12.1_2021-08-03/pull-3305
Normal file
6
changelog/0.12.1_2021-08-03/pull-3305
Normal file
@@ -0,0 +1,6 @@
|
||||
Bugfix: Fix possibly missing backup summary of JSON output in case of error
|
||||
|
||||
When using `--json` output it happened from time to time that the summary
|
||||
output was missing in case an error occurred. This has been fixed.
|
||||
|
||||
https://github.com/restic/restic/pull/3305
|
7
changelog/0.12.1_2021-08-03/pull-3426
Normal file
7
changelog/0.12.1_2021-08-03/pull-3426
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Optimize read performance of mount command
|
||||
|
||||
Reading large files in a mounted repository may be up to five times faster.
|
||||
This improvement primarily applies to repositories stored at a backend that can
|
||||
be accessed with low latency, like e.g. the local backend.
|
||||
|
||||
https://github.com/restic/restic/pull/3426
|
13
changelog/0.12.1_2021-08-03/pull-3427
Normal file
13
changelog/0.12.1_2021-08-03/pull-3427
Normal file
@@ -0,0 +1,13 @@
|
||||
Enhancement: `find --pack` fallback to index if data file is missing
|
||||
|
||||
When investigating a repository with missing data files, it might be useful to
|
||||
determine affected snapshots before running `rebuild-index`. Previously,
|
||||
`find --pack pack-id` returned no data as it required accessing the data file.
|
||||
Now, if the necessary data is still available in the repository index, it gets
|
||||
retrieved from there.
|
||||
|
||||
The command now also supports looking up multiple pack files in a single `find`
|
||||
run.
|
||||
|
||||
https://github.com/restic/restic/pull/3427
|
||||
https://forum.restic.net/t/missing-packs-not-found/2600
|
8
changelog/0.12.1_2021-08-03/pull-3449
Normal file
8
changelog/0.12.1_2021-08-03/pull-3449
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Correctly handle download errors during `restore`
|
||||
|
||||
Due to a regression in restic 0.12.0, the `restore` command in some cases did
|
||||
not retry download errors and only printed a warning. This has been fixed by
|
||||
retrying incomplete data downloads.
|
||||
|
||||
https://github.com/restic/restic/issues/3439
|
||||
https://github.com/restic/restic/pull/3449
|
10
changelog/0.13.0_2022-03-26/issue-1106
Normal file
10
changelog/0.13.0_2022-03-26/issue-1106
Normal file
@@ -0,0 +1,10 @@
|
||||
Bugfix: Never lock repository for `list locks`
|
||||
|
||||
The `list locks` command previously locked to the repository by default. This
|
||||
had the problem that it wouldn't work for an exclusively locked repository and
|
||||
that the command would also display its own lock file which can be confusing.
|
||||
|
||||
Now, the `list locks` command never locks the repository.
|
||||
|
||||
https://github.com/restic/restic/issues/1106
|
||||
https://github.com/restic/restic/pull/3665
|
16
changelog/0.13.0_2022-03-26/issue-1542
Normal file
16
changelog/0.13.0_2022-03-26/issue-1542
Normal file
@@ -0,0 +1,16 @@
|
||||
Enhancement: Add `--dry-run`/`-n` option to `backup` command
|
||||
|
||||
Testing exclude filters and other configuration options was error prone as
|
||||
wrong filters could cause files to be uploaded unintentionally. It was also
|
||||
not possible to estimate beforehand how much data would be uploaded.
|
||||
|
||||
The `backup` command now has a `--dry-run`/`-n` option, which performs all the
|
||||
normal steps of a backup without actually writing anything to the repository.
|
||||
|
||||
Passing -vv will log information about files that would be added, allowing for
|
||||
verification of source and exclusion options before running the real backup.
|
||||
|
||||
https://github.com/restic/restic/issues/1542
|
||||
https://github.com/restic/restic/pull/2308
|
||||
https://github.com/restic/restic/pull/3210
|
||||
https://github.com/restic/restic/pull/3300
|
15
changelog/0.13.0_2022-03-26/issue-2202
Normal file
15
changelog/0.13.0_2022-03-26/issue-2202
Normal file
@@ -0,0 +1,15 @@
|
||||
Enhancement: Add upload checksum for Azure, GS, S3 and Swift backends
|
||||
|
||||
Previously only the B2 and partially the Swift backends verified the integrity
|
||||
of uploaded (encrypted) files. The verification works by informing the backend
|
||||
about the expected hash of the uploaded file. The backend then verifies the
|
||||
upload and thereby rules out any data corruption during upload.
|
||||
|
||||
We have now added upload checksums for the Azure, GS, S3 and Swift backends,
|
||||
which besides integrity checking for uploads also means that restic can now be
|
||||
used to store backups in S3 buckets which have Object Lock enabled.
|
||||
|
||||
https://github.com/restic/restic/issues/2202
|
||||
https://github.com/restic/restic/issues/2700
|
||||
https://github.com/restic/restic/issues/3023
|
||||
https://github.com/restic/restic/pull/3246
|
29
changelog/0.13.0_2022-03-26/issue-233
Normal file
29
changelog/0.13.0_2022-03-26/issue-233
Normal file
@@ -0,0 +1,29 @@
|
||||
Enhancement: Support negative include/exclude patterns
|
||||
|
||||
If a pattern starts with an exclamation mark and it matches a file that was
|
||||
previously matched by a regular pattern, the match is cancelled. Notably,
|
||||
this can be used with `--exclude-file` to cancel the exclusion of some files.
|
||||
|
||||
It works similarly to `.gitignore`, with the same limitation; Once a directory
|
||||
is excluded, it is not possible to include files inside the directory.
|
||||
|
||||
Example of use as an exclude pattern for the `backup` command:
|
||||
|
||||
$HOME/**/*
|
||||
!$HOME/Documents
|
||||
!$HOME/code
|
||||
!$HOME/.emacs.d
|
||||
!$HOME/games
|
||||
# [...]
|
||||
node_modules
|
||||
*~
|
||||
*.o
|
||||
*.lo
|
||||
*.pyc
|
||||
# [...]
|
||||
$HOME/code/linux/*
|
||||
!$HOME/code/linux/.git
|
||||
# [...]
|
||||
|
||||
https://github.com/restic/restic/issues/233
|
||||
https://github.com/restic/restic/pull/2311
|
13
changelog/0.13.0_2022-03-26/issue-2345
Normal file
13
changelog/0.13.0_2022-03-26/issue-2345
Normal file
@@ -0,0 +1,13 @@
|
||||
Bugfix: Make cache crash-resistant and usable by multiple concurrent processes
|
||||
|
||||
The restic cache directory (`RESTIC_CACHE_DIR`) could end up in a broken state
|
||||
in the event of restic (or the OS) crashing. This is now less likely to occur
|
||||
as files are downloaded to a temporary location before being moved to their
|
||||
proper location.
|
||||
|
||||
This also allows multiple concurrent restic processes to operate on a single
|
||||
repository without conflicts. Previously, concurrent operations could cause
|
||||
segfaults because the processes saw each other's partially downloaded files.
|
||||
|
||||
https://github.com/restic/restic/issues/2345
|
||||
https://github.com/restic/restic/pull/2838
|
10
changelog/0.13.0_2022-03-26/issue-2388
Normal file
10
changelog/0.13.0_2022-03-26/issue-2388
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Add warning for S3 if partial credentials are provided
|
||||
|
||||
Previously restic did not notify about incomplete credentials when using the
|
||||
S3 backend, instead just reporting access denied.
|
||||
|
||||
Restic now checks that both the AWS key ID and secret environment variables are
|
||||
set before connecting to the remote server, and reports an error if not.
|
||||
|
||||
https://github.com/restic/restic/issues/2388
|
||||
https://github.com/restic/restic/pull/3532
|
11
changelog/0.13.0_2022-03-26/issue-2452
Normal file
11
changelog/0.13.0_2022-03-26/issue-2452
Normal file
@@ -0,0 +1,11 @@
|
||||
Bugfix: Improve error handling of repository locking
|
||||
|
||||
Previously, when the lock refresh failed to delete the old lock file, it forgot
|
||||
about the newly created one. Instead it continued trying to delete the old
|
||||
(usually no longer existing) lock file and thus over time lots of lock files
|
||||
accumulated. This has now been fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/2452
|
||||
https://github.com/restic/restic/issues/2473
|
||||
https://github.com/restic/restic/issues/2562
|
||||
https://github.com/restic/restic/pull/3512
|
8
changelog/0.13.0_2022-03-26/issue-2508
Normal file
8
changelog/0.13.0_2022-03-26/issue-2508
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Support JSON output and quiet mode for the `diff` command
|
||||
|
||||
The `diff` command now supports outputting machine-readable output in JSON
|
||||
format. To enable this, pass the `--json` option to the command. To only print
|
||||
the summary and suppress detailed output, pass the `--quiet` option.
|
||||
|
||||
https://github.com/restic/restic/issues/2508
|
||||
https://github.com/restic/restic/pull/3592
|
8
changelog/0.13.0_2022-03-26/issue-2656
Normal file
8
changelog/0.13.0_2022-03-26/issue-2656
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Add flag to disable TLS verification for self-signed certificates
|
||||
|
||||
There is now an `--insecure-tls` global option in restic, which disables TLS
|
||||
verification for self-signed certificates in order to support some development
|
||||
workflows.
|
||||
|
||||
https://github.com/restic/restic/issues/2656
|
||||
https://github.com/restic/restic/pull/2657
|
8
changelog/0.13.0_2022-03-26/issue-2738
Normal file
8
changelog/0.13.0_2022-03-26/issue-2738
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Don't print progress for `backup --json --quiet`
|
||||
|
||||
Unlike the text output, the `--json` output format still printed progress
|
||||
information even in `--quiet` mode. This has now been fixed by always
|
||||
disabling the progress output in quiet mode.
|
||||
|
||||
https://github.com/restic/restic/issues/2738
|
||||
https://github.com/restic/restic/pull/3264
|
9
changelog/0.13.0_2022-03-26/issue-3003
Normal file
9
changelog/0.13.0_2022-03-26/issue-3003
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Atomic uploads for the SFTP backend
|
||||
|
||||
The SFTP backend did not upload files atomically. An interrupted upload could
|
||||
leave an incomplete file behind which could prevent restic from accessing the
|
||||
repository. This has now been fixed and uploads in the SFTP backend are done
|
||||
atomically.
|
||||
|
||||
https://github.com/restic/restic/issues/3003
|
||||
https://github.com/restic/restic/pull/3524
|
6
changelog/0.13.0_2022-03-26/issue-3127
Normal file
6
changelog/0.13.0_2022-03-26/issue-3127
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add xattr (extended attributes) support for Solaris
|
||||
|
||||
Restic now supports xattr for the Solaris operating system.
|
||||
|
||||
https://github.com/restic/restic/issues/3127
|
||||
https://github.com/restic/restic/pull/3628
|
8
changelog/0.13.0_2022-03-26/issue-3382
Normal file
8
changelog/0.13.0_2022-03-26/issue-3382
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Make `check` command honor `RESTIC_CACHE_DIR` environment variable
|
||||
|
||||
Previously, the `check` command didn't honor the `RESTIC_CACHE_DIR` environment
|
||||
variable, which caused problems in certain system/usage configurations. This
|
||||
has now been fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/3382
|
||||
https://github.com/restic/restic/pull/3474
|
10
changelog/0.13.0_2022-03-26/issue-3464
Normal file
10
changelog/0.13.0_2022-03-26/issue-3464
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Skip lock creation on `forget` if `--no-lock` and `--dry-run`
|
||||
|
||||
Restic used to silently ignore the `--no-lock` option of the `forget` command.
|
||||
|
||||
It now skips creation of lock file in case both `--dry-run` and `--no-lock`
|
||||
are specified. If `--no-lock` option is specified without `--dry-run`, restic
|
||||
prints a warning message to stderr.
|
||||
|
||||
https://github.com/restic/restic/issues/3464
|
||||
https://github.com/restic/restic/pull/3623
|
8
changelog/0.13.0_2022-03-26/issue-3490
Normal file
8
changelog/0.13.0_2022-03-26/issue-3490
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Support random subset by size in `check --read-data-subset`
|
||||
|
||||
The `--read-data-subset` option of the `check` command now supports a third way
|
||||
of specifying the subset to check, namely `nS` where `n` is a size in bytes with
|
||||
suffix `S` as k/K, m/M, g/G or t/T.
|
||||
|
||||
https://github.com/restic/restic/issues/3490
|
||||
https://github.com/restic/restic/pull/3548
|
8
changelog/0.13.0_2022-03-26/issue-3518
Normal file
8
changelog/0.13.0_2022-03-26/issue-3518
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Make `copy` command honor `--no-lock` for source repository
|
||||
|
||||
The `copy` command previously did not respect the `--no-lock` option for the
|
||||
source repository, causing failures with read-only storage backends. This has
|
||||
now been fixed such that the option is now respected.
|
||||
|
||||
https://github.com/restic/restic/issues/3518
|
||||
https://github.com/restic/restic/pull/3589
|
9
changelog/0.13.0_2022-03-26/issue-3541
Normal file
9
changelog/0.13.0_2022-03-26/issue-3541
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Improve handling of temporary B2 delete errors
|
||||
|
||||
Deleting files on B2 could sometimes fail temporarily, which required restic to
|
||||
retry the delete operation. In some cases the file was deleted nevertheless,
|
||||
causing the retries and ultimately the restic command to fail. This has now been
|
||||
fixed.
|
||||
|
||||
https://github.com/restic/restic/issues/3541
|
||||
https://github.com/restic/restic/pull/3544
|
8
changelog/0.13.0_2022-03-26/issue-3542
Normal file
8
changelog/0.13.0_2022-03-26/issue-3542
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Add file mode in symbolic notation to `ls --json`
|
||||
|
||||
The `ls --json` command now provides the file mode in symbolic notation (using
|
||||
the `permissions` key), aligned with `find --json`.
|
||||
|
||||
https://github.com/restic/restic/issues/3542
|
||||
https://github.com/restic/restic/pull/3573
|
||||
https://forum.restic.net/t/restic-ls-understanding-file-mode-with-json/4371
|
10
changelog/0.13.0_2022-03-26/issue-3556
Normal file
10
changelog/0.13.0_2022-03-26/issue-3556
Normal file
@@ -0,0 +1,10 @@
|
||||
Bugfix: Fix hang with Backblaze B2 on SSL certificate authority error
|
||||
|
||||
Previously, if a request failed with an SSL unknown certificate authority
|
||||
error, the B2 backend retried indefinitely and restic would appear to hang.
|
||||
|
||||
This has now been fixed and restic instead fails with an error message.
|
||||
|
||||
https://github.com/restic/restic/issues/3556
|
||||
https://github.com/restic/restic/issues/2355
|
||||
https://github.com/restic/restic/pull/3571
|
15
changelog/0.13.0_2022-03-26/issue-3601
Normal file
15
changelog/0.13.0_2022-03-26/issue-3601
Normal file
@@ -0,0 +1,15 @@
|
||||
Bugfix: Fix rclone backend prematurely exiting when receiving SIGINT on Windows
|
||||
|
||||
Previously, pressing Ctrl+C in a Windows console where restic was running with
|
||||
rclone as the backend would cause rclone to exit prematurely due to getting a
|
||||
`SIGINT` signal at the same time as restic. Restic would then wait for a long
|
||||
time for time with "unexpected EOF" and "rclone stdio connection already closed"
|
||||
errors.
|
||||
|
||||
This has now been fixed by restic starting the rclone process detached from the
|
||||
console restic runs in (similar to starting processes in a new process group on
|
||||
Linux), which enables restic to gracefully clean up rclone (which now never gets
|
||||
the `SIGINT`).
|
||||
|
||||
https://github.com/restic/restic/issues/3601
|
||||
https://github.com/restic/restic/pull/3602
|
14
changelog/0.13.0_2022-03-26/issue-3641
Normal file
14
changelog/0.13.0_2022-03-26/issue-3641
Normal file
@@ -0,0 +1,14 @@
|
||||
Change: Ignore parent snapshot for `backup --stdin`
|
||||
|
||||
Restic uses a parent snapshot to speed up directory scanning when performing
|
||||
backups, but this only wasted time and memory when the backup source is stdin
|
||||
(using the `--stdin` option of the `backup` command), since no directory scanning
|
||||
is performed in this case.
|
||||
|
||||
Snapshots made with `backup --stdin` no longer have a parent snapshot, which allows
|
||||
restic to skip some startup operations and saves a bit of resources.
|
||||
|
||||
The `--parent` option is still available for `backup --stdin`, but is now ignored.
|
||||
|
||||
https://github.com/restic/restic/issues/3641
|
||||
https://github.com/restic/restic/pull/3645
|
8
changelog/0.13.0_2022-03-26/issue-3667
Normal file
8
changelog/0.13.0_2022-03-26/issue-3667
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: The `mount` command now reports symlinks sizes
|
||||
|
||||
Symlinks used to have size zero in restic mountpoints, confusing some
|
||||
third-party tools. They now have a size equal to the byte length of their
|
||||
target path, as required by POSIX.
|
||||
|
||||
https://github.com/restic/restic/issues/3667
|
||||
https://github.com/restic/restic/pull/3668
|
7
changelog/0.13.0_2022-03-26/pull-2594
Normal file
7
changelog/0.13.0_2022-03-26/pull-2594
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Speed up the `restore --verify` command
|
||||
|
||||
The `--verify` option lets the `restore` command verify the file content
|
||||
after it has restored a snapshot. The performance of this operation has
|
||||
now been improved by up to a factor of two.
|
||||
|
||||
https://github.com/restic/restic/pull/2594
|
10
changelog/0.13.0_2022-03-26/pull-2816
Normal file
10
changelog/0.13.0_2022-03-26/pull-2816
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: The `backup` command no longer updates file access times on Linux
|
||||
|
||||
When reading files during backup, restic used to cause the operating system to
|
||||
update the files' access times. Note that this did not apply to filesystems with
|
||||
disabled file access times.
|
||||
|
||||
Restic now instructs the operating system not to update the file access time,
|
||||
if the user running restic is the file owner or has root permissions.
|
||||
|
||||
https://github.com/restic/restic/pull/2816
|
9
changelog/0.13.0_2022-03-26/pull-2880
Normal file
9
changelog/0.13.0_2022-03-26/pull-2880
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Make `recover` collect only unreferenced trees
|
||||
|
||||
Previously, the `recover` command used to generate a snapshot containing *all*
|
||||
root trees, even those which were already referenced by a snapshot.
|
||||
|
||||
This has been improved such that it now only processes trees not already
|
||||
referenced by any snapshot.
|
||||
|
||||
https://github.com/restic/restic/pull/2880
|
12
changelog/0.13.0_2022-03-26/pull-3429
Normal file
12
changelog/0.13.0_2022-03-26/pull-3429
Normal file
@@ -0,0 +1,12 @@
|
||||
Enhancement: Verify that new or modified keys are stored correctly
|
||||
|
||||
When adding a new key or changing the password of a key, restic used to just
|
||||
create the new key (and remove the old one, when changing the password). There
|
||||
was no verification that the new key was stored correctly and works properly.
|
||||
As the repository cannot be decrypted without a valid key file, this could in
|
||||
rare cases cause the repository to become inaccessible.
|
||||
|
||||
Restic now checks that new key files actually work before continuing. This
|
||||
can protect against some (rare) cases of hardware or storage problems.
|
||||
|
||||
https://github.com/restic/restic/pull/3429
|
12
changelog/0.13.0_2022-03-26/pull-3436
Normal file
12
changelog/0.13.0_2022-03-26/pull-3436
Normal file
@@ -0,0 +1,12 @@
|
||||
Enhancement: Improve local backend's resilience to (system) crashes
|
||||
|
||||
Restic now ensures that files stored using the `local` backend are created
|
||||
atomically (that is, files are either stored completely or not at all). This
|
||||
ensures that no incomplete files are left behind even if restic is terminated
|
||||
while writing a file.
|
||||
|
||||
In addition, restic now tries to ensure that the directory in the repository
|
||||
which contains a newly uploaded file is also written to disk. This can prevent
|
||||
missing files if the system crashes or the disk is not properly unmounted.
|
||||
|
||||
https://github.com/restic/restic/pull/3436
|
9
changelog/0.13.0_2022-03-26/pull-3488
Normal file
9
changelog/0.13.0_2022-03-26/pull-3488
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: `rebuild-index` failed if an index file was damaged
|
||||
|
||||
Previously, the `rebuild-index` command would fail with an error if an index
|
||||
file was damaged or truncated. This has now been fixed.
|
||||
|
||||
On older restic versions, a (slow) workaround is to use
|
||||
`rebuild-index --read-all-packs` or to manually delete the damaged index.
|
||||
|
||||
https://github.com/restic/restic/pull/3488
|
10
changelog/0.13.0_2022-03-26/pull-3508
Normal file
10
changelog/0.13.0_2022-03-26/pull-3508
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Cache blobs read by the `dump` command
|
||||
|
||||
When dumping a file using the `dump` command, restic did not cache blobs in any
|
||||
way, so even consecutive runs of the same blob were loaded from the repository
|
||||
again and again, slowing down the dump.
|
||||
|
||||
Now, the caching mechanism already used by the `fuse` command is also used by
|
||||
the `dump` command. This makes dumping much faster, especially for sparse files.
|
||||
|
||||
https://github.com/restic/restic/pull/3508
|
8
changelog/0.13.0_2022-03-26/pull-3514
Normal file
8
changelog/0.13.0_2022-03-26/pull-3514
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Support configurable timeout for the rclone backend
|
||||
|
||||
A slow rclone backend could cause restic to time out while waiting for the
|
||||
repository to open. Restic now offers an `-o rclone.timeout` option to make
|
||||
this timeout configurable.
|
||||
|
||||
https://github.com/restic/restic/issues/3511
|
||||
https://github.com/restic/restic/pull/3514
|
6
changelog/0.13.0_2022-03-26/pull-3519
Normal file
6
changelog/0.13.0_2022-03-26/pull-3519
Normal file
@@ -0,0 +1,6 @@
|
||||
Change: Require Go 1.14 or newer
|
||||
|
||||
Restic now requires Go 1.14 to build. This allows it to use new
|
||||
standard library features instead of an external dependency.
|
||||
|
||||
https://github.com/restic/restic/issues/3519
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user