mirror of
https://github.com/restic/restic.git
synced 2025-08-23 05:47:26 +00:00
Compare commits
1431 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
beb208e159 | ||
![]() |
c221d662d0 | ||
![]() |
143597d445 | ||
![]() |
16ca837763 | ||
![]() |
ce7fb166b3 | ||
![]() |
9de51d04ec | ||
![]() |
dc39773cd2 | ||
![]() |
30fa305c07 | ||
![]() |
686f24b578 | ||
![]() |
247d2b7215 | ||
![]() |
017cd113d3 | ||
![]() |
f744c2553e | ||
![]() |
56cd6bd495 | ||
![]() |
bff635bc5f | ||
![]() |
3422c1ca83 | ||
![]() |
f6b2731aa5 | ||
![]() |
3eb5b45b41 | ||
![]() |
01aacf41b5 | ||
![]() |
2caf8edc55 | ||
![]() |
3151978f58 | ||
![]() |
ab4ef432ff | ||
![]() |
be4f54b603 | ||
![]() |
7260110c27 | ||
![]() |
2437f11af7 | ||
![]() |
57873502f8 | ||
![]() |
3678ec9ad8 | ||
![]() |
a717e9e6f7 | ||
![]() |
12c797700e | ||
![]() |
daca9d6815 | ||
![]() |
930602a444 | ||
![]() |
acb05e7855 | ||
![]() |
a7b95d716a | ||
![]() |
925b542eb0 | ||
![]() |
f7659bd8b0 | ||
![]() |
8c124a2b75 | ||
![]() |
d3ad63a4ec | ||
![]() |
271c50cf5c | ||
![]() |
1aeb193fd9 | ||
![]() |
f715bef82f | ||
![]() |
4fc00d4120 | ||
![]() |
7603ab7ac1 | ||
![]() |
36fa1f8c20 | ||
![]() |
445fb23b6d | ||
![]() |
5f79b4cb6c | ||
![]() |
8e15b59347 | ||
![]() |
6e2e957332 | ||
![]() |
7ffc03ff8f | ||
![]() |
44924ba043 | ||
![]() |
ce19f26948 | ||
![]() |
74016d5981 | ||
![]() |
57636a4573 | ||
![]() |
4f6d2502f7 | ||
![]() |
f1f69bc648 | ||
![]() |
d7551d7b0c | ||
![]() |
fb74de6360 | ||
![]() |
67535e00a8 | ||
![]() |
19592285eb | ||
![]() |
f64862722a | ||
![]() |
254239c2a9 | ||
![]() |
cce1a1f768 | ||
![]() |
754482fe6c | ||
![]() |
73153dbd3f | ||
![]() |
92421ec47f | ||
![]() |
9acc9243ba | ||
![]() |
df64998649 | ||
![]() |
64d27eed86 | ||
![]() |
abb18a830c | ||
![]() |
1e42f4f300 | ||
![]() |
bd742ddb69 | ||
![]() |
b511f4dce2 | ||
![]() |
7961740dcc | ||
![]() |
dc3032c360 | ||
![]() |
44fb2a860f | ||
![]() |
fbf8073dfc | ||
![]() |
7ddf91b65c | ||
![]() |
8dae2de2ce | ||
![]() |
03a0377410 | ||
![]() |
025ec9dff5 | ||
![]() |
2384c1cee7 | ||
![]() |
bb2ad76833 | ||
![]() |
30cfd13328 | ||
![]() |
9ffc26883a | ||
![]() |
83c51db903 | ||
![]() |
d30d5d4473 | ||
![]() |
5088905502 | ||
![]() |
ae72b438b0 | ||
![]() |
ddf2065ce2 | ||
![]() |
228a970540 | ||
![]() |
c7a8086c19 | ||
![]() |
c2c06ae2c9 | ||
![]() |
1824168aa3 | ||
![]() |
350761f1ba | ||
![]() |
3231945a85 | ||
![]() |
f080142137 | ||
![]() |
ff785924de | ||
![]() |
393a7266c9 | ||
![]() |
cb8d2d3df5 | ||
![]() |
a884ce1566 | ||
![]() |
5ae8316c24 | ||
![]() |
85eca1b5e9 | ||
![]() |
a1536f38fa | ||
![]() |
888f52afd1 | ||
![]() |
e206680947 | ||
![]() |
5fa6dc53cb | ||
![]() |
26be094f28 | ||
![]() |
e4c0d77bdd | ||
![]() |
1dd655dad2 | ||
![]() |
581d0984fe | ||
![]() |
e62add84bc | ||
![]() |
63779c1eb4 | ||
![]() |
c204382ea9 | ||
![]() |
321efec60c | ||
![]() |
33dbd0ba5c | ||
![]() |
9a73869c27 | ||
![]() |
8f26fe271c | ||
![]() |
251335f124 | ||
![]() |
081743d0a5 | ||
![]() |
3a86f4852b | ||
![]() |
14aead94b3 | ||
![]() |
ce01ca30d6 | ||
![]() |
e2d347a698 | ||
![]() |
42ebb0a0a6 | ||
![]() |
419acad3c3 | ||
![]() |
810b5ea076 | ||
![]() |
fc5439a37a | ||
![]() |
48aab8bd65 | ||
![]() |
6fbcd1694b | ||
![]() |
494fe2a8b5 | ||
![]() |
f761068f4e | ||
![]() |
c44e808aa5 | ||
![]() |
ab37c6095a | ||
![]() |
d6fd94e49d | ||
![]() |
53040a2e34 | ||
![]() |
cfc19b4582 | ||
![]() |
141fabdd09 | ||
![]() |
d49ca42771 | ||
![]() |
f6fded729d | ||
![]() |
465700595c | ||
![]() |
0fcd9d6926 | ||
![]() |
dd3b9910ee | ||
![]() |
185b60c22b | ||
![]() |
589c23dc23 | ||
![]() |
0183fea926 | ||
![]() |
7d9642523b | ||
![]() |
4bf07a74a0 | ||
![]() |
2a976d795f | ||
![]() |
1892b314f8 | ||
![]() |
b7bed406b9 | ||
![]() |
ee4202f7c3 | ||
![]() |
4cd28713b6 | ||
![]() |
e3fe87f269 | ||
![]() |
a02698fcdd | ||
![]() |
bfd923e81e | ||
![]() |
20bfed5985 | ||
![]() |
e40191942d | ||
![]() |
abd34ab76f | ||
![]() |
4b43a269ee | ||
![]() |
e2b7dc6528 | ||
![]() |
d2431b667f | ||
![]() |
b70fdf61c4 | ||
![]() |
e6f25c4811 | ||
![]() |
adb682bc43 | ||
![]() |
1e9744c9a4 | ||
![]() |
9a02f17cc2 | ||
![]() |
c284712cae | ||
![]() |
2dbdf381b2 | ||
![]() |
a1a49ce211 | ||
![]() |
3252e4200c | ||
![]() |
8d9d218d1c | ||
![]() |
0785fbd418 | ||
![]() |
b358dd369b | ||
![]() |
d67b9a32c6 | ||
![]() |
ecfe59235e | ||
![]() |
a868a30f4d | ||
![]() |
347a645450 | ||
![]() |
9f5565b0fc | ||
![]() |
fd979ab4c5 | ||
![]() |
375868edcf | ||
![]() |
060d8b57e0 | ||
![]() |
cc627e832b | ||
![]() |
5a0f0e3faa | ||
![]() |
b52f2aa9a4 | ||
![]() |
60ea2435be | ||
![]() |
159badf5ba | ||
![]() |
903a3a31dc | ||
![]() |
548227e6df | ||
![]() |
cd03275005 | ||
![]() |
e43c9202a6 | ||
![]() |
c5e75d1c98 | ||
![]() |
526956af35 | ||
![]() |
256104111d | ||
![]() |
21c83b1725 | ||
![]() |
581c62ee72 | ||
![]() |
ef7747313d | ||
![]() |
18d4ac2fd9 | ||
![]() |
9180e2c48a | ||
![]() |
a63989afcd | ||
![]() |
d3c0bd6d0e | ||
![]() |
fcfa6f0355 | ||
![]() |
580f90d745 | ||
![]() |
c7b624ba0d | ||
![]() |
ca4af43c03 | ||
![]() |
1f2463f42e | ||
![]() |
157c854d04 | ||
![]() |
ffc276a603 | ||
![]() |
e42b7db008 | ||
![]() |
024148cac9 | ||
![]() |
8943741a0b | ||
![]() |
95c5517c35 | ||
![]() |
06179a7e81 | ||
![]() |
cf1fb50f9c | ||
![]() |
6793300850 | ||
![]() |
2cbdfbf652 | ||
![]() |
b2208bb9c2 | ||
![]() |
4c25495d68 | ||
![]() |
abdd59ea1b | ||
![]() |
05ca903d48 | ||
![]() |
fd77646f8b | ||
![]() |
2a67258867 | ||
![]() |
fca4fe4459 | ||
![]() |
26757ae2e5 | ||
![]() |
9d6890a236 | ||
![]() |
2218ecd049 | ||
![]() |
d0974c155d | ||
![]() |
8026e6fdfb | ||
![]() |
01f9662614 | ||
![]() |
f928aeec34 | ||
![]() |
f77bc0fae8 | ||
![]() |
eb6650b201 | ||
![]() |
bc68d55e94 | ||
![]() |
ecbbd851a1 | ||
![]() |
336719b058 | ||
![]() |
e9f1721678 | ||
![]() |
64d98945a6 | ||
![]() |
84f82dae1a | ||
![]() |
6bfd9f833b | ||
![]() |
bb1a22d1e6 | ||
![]() |
438719f269 | ||
![]() |
c83c03ed63 | ||
![]() |
19b9c881ca | ||
![]() |
4e34325035 | ||
![]() |
78bd591c7c | ||
![]() |
39ac12f6ea | ||
![]() |
400730afca | ||
![]() |
d80e108b03 | ||
![]() |
846c2b6869 | ||
![]() |
d8bbe5dc84 | ||
![]() |
d926b9fd80 | ||
![]() |
4ba8d40282 | ||
![]() |
4fb1401266 | ||
![]() |
6d4c40f8d0 | ||
![]() |
56e394ac33 | ||
![]() |
c3cc5d7cee | ||
![]() |
6b12b92339 | ||
![]() |
16c314ab7f | ||
![]() |
1449d7dc29 | ||
![]() |
0e78ac92d8 | ||
![]() |
c703d21d55 | ||
![]() |
1af96fc6dd | ||
![]() |
9fac2ca832 | ||
![]() |
a5c0cf2324 | ||
![]() |
38926d8576 | ||
![]() |
f279731168 | ||
![]() |
76b616451f | ||
![]() |
fd12a3af20 | ||
![]() |
3cd92efdcf | ||
![]() |
b804279fe8 | ||
![]() |
a56b8fad87 | ||
![]() |
4c00efd4bf | ||
![]() |
b6f98bdb02 | ||
![]() |
c4b2486b7c | ||
![]() |
83ca08245b | ||
![]() |
a069467e72 | ||
![]() |
6a7c23d2ae | ||
![]() |
cc847a3d6d | ||
![]() |
baebf45e2e | ||
![]() |
fa4f438bc1 | ||
![]() |
4e0b2a8e3a | ||
![]() |
0532f08048 | ||
![]() |
a472868e06 | ||
![]() |
e4fdc5eb76 | ||
![]() |
09365cc4ea | ||
![]() |
2aa6b49651 | ||
![]() |
7877797c7e | ||
![]() |
1a26355dbe | ||
![]() |
c5829e9ffc | ||
![]() |
b5b246edd5 | ||
![]() |
ee5e14d536 | ||
![]() |
09bd924710 | ||
![]() |
a9c2e84ccd | ||
![]() |
a144b81c4a | ||
![]() |
3c453a4217 | ||
![]() |
1e2f23d77a | ||
![]() |
2c76e724ab | ||
![]() |
577faa7570 | ||
![]() |
6a34e0d10f | ||
![]() |
b08f21cdc6 | ||
![]() |
1c1fede399 | ||
![]() |
63a0913e6e | ||
![]() |
325957443e | ||
![]() |
4b2d3b15a2 | ||
![]() |
4e2a87c920 | ||
![]() |
901e1b129c | ||
![]() |
4478d633e2 | ||
![]() |
92f516b1d4 | ||
![]() |
03193e6d92 | ||
![]() |
01fe719aff | ||
![]() |
2c964df3e2 | ||
![]() |
8919125b0b | ||
![]() |
1f5137aa70 | ||
![]() |
a95eb33616 | ||
![]() |
e68a7fea8a | ||
![]() |
2e7ec717c1 | ||
![]() |
22d5061df2 | ||
![]() |
4544a77172 | ||
![]() |
b3a073e066 | ||
![]() |
b077a1227b | ||
![]() |
3f48e0e0f4 | ||
![]() |
86f4b03730 | ||
![]() |
c43c94776b | ||
![]() |
0b776e63e7 | ||
![]() |
360ff1806a | ||
![]() |
1beeb7d0dd | ||
![]() |
e978b36713 | ||
![]() |
737d93860a | ||
![]() |
011217e4bf | ||
![]() |
362d5afec4 | ||
![]() |
4172fcd167 | ||
![]() |
518bf4e5f6 | ||
![]() |
17312d3a98 | ||
![]() |
4d5c7a8749 | ||
![]() |
fc0295016a | ||
![]() |
99b62c11b8 | ||
![]() |
6d9a029e09 | ||
![]() |
20352886f3 | ||
![]() |
3622b60c13 | ||
![]() |
065fe1e54f | ||
![]() |
4dc0f24b38 | ||
![]() |
fe99340e40 | ||
![]() |
e377759c81 | ||
![]() |
61f6db25f4 | ||
![]() |
cabbbd2b14 | ||
![]() |
cf4cf94418 | ||
![]() |
34f27edc03 | ||
![]() |
345b6c4694 | ||
![]() |
e4a39e02d2 | ||
![]() |
432e167255 | ||
![]() |
594256bfa4 | ||
![]() |
0fcb1e6b7a | ||
![]() |
38795c66c9 | ||
![]() |
c0960f538f | ||
![]() |
5b6568875c | ||
![]() |
d8dd79eb0b | ||
![]() |
2bdeb645b9 | ||
![]() |
9f2ffa3e50 | ||
![]() |
d4bab5c133 | ||
![]() |
3473d73d0c | ||
![]() |
917cc542c9 | ||
![]() |
a9cf5d482a | ||
![]() |
75946e7c58 | ||
![]() |
19035e977b | ||
![]() |
d9ba9279e0 | ||
![]() |
31e156c666 | ||
![]() |
7e6fff324c | ||
![]() |
e94d2da890 | ||
![]() |
874b3dbbd9 | ||
![]() |
0d01c27c9e | ||
![]() |
30110fcfc2 | ||
![]() |
673f0bbd6c | ||
![]() |
5a77b2ab49 | ||
![]() |
a951e7b126 | ||
![]() |
d3f9c8b362 | ||
![]() |
a4ff591165 | ||
![]() |
49dd70c771 | ||
![]() |
a64f24029b | ||
![]() |
0886738d24 | ||
![]() |
9fc38803e0 | ||
![]() |
e5c929b793 | ||
![]() |
0e0fee9c8f | ||
![]() |
26769a39eb | ||
![]() |
923be90906 | ||
![]() |
84a22eac92 | ||
![]() |
6eb1be0be4 | ||
![]() |
f31bbcf1a9 | ||
![]() |
5d09fca6a2 | ||
![]() |
34671d7c9b | ||
![]() |
4a524da736 | ||
![]() |
e361cc3807 | ||
![]() |
3cd8a7bc96 | ||
![]() |
8206f85d2e | ||
![]() |
7022144e0f | ||
![]() |
1bee3e01fa | ||
![]() |
624a2d8305 | ||
![]() |
57c6233982 | ||
![]() |
c161aba084 | ||
![]() |
0279fd7212 | ||
![]() |
dedf17f5e8 | ||
![]() |
817890794d | ||
![]() |
b9ada91054 | ||
![]() |
dfb6d0fced | ||
![]() |
c6c1dccc53 | ||
![]() |
279566bafe | ||
![]() |
c67a8452f7 | ||
![]() |
5253ef218c | ||
![]() |
0923976909 | ||
![]() |
492baf991f | ||
![]() |
0dfdc11ed9 | ||
![]() |
54c6837ec4 | ||
![]() |
e085713b35 | ||
![]() |
e77d8c64a7 | ||
![]() |
a410fa16a1 | ||
![]() |
b3e1089cf9 | ||
![]() |
7f8e269891 | ||
![]() |
fcc9ce81ba | ||
![]() |
b9d643358a | ||
![]() |
ab5ef600a2 | ||
![]() |
04c4033695 | ||
![]() |
de37b68baa | ||
![]() |
bdc206d440 | ||
![]() |
efe2e792b3 | ||
![]() |
6f3c23eba7 | ||
![]() |
4b34bc3210 | ||
![]() |
6ed9100aa1 | ||
![]() |
c63b02d0f1 | ||
![]() |
d0205ec889 | ||
![]() |
d8dcbc89d1 | ||
![]() |
be0a5b7f06 | ||
![]() |
24ce08e122 | ||
![]() |
864eaeab7c | ||
![]() |
96311d1a2b | ||
![]() |
da77f4a2e2 | ||
![]() |
6bb1bcce03 | ||
![]() |
6edf28d1e1 | ||
![]() |
929afc63d5 | ||
![]() |
99f7fd74e3 | ||
![]() |
58306bfabb | ||
![]() |
f6890210aa | ||
![]() |
5873ab4031 | ||
![]() |
ab7a3a803d | ||
![]() |
1e868933c5 | ||
![]() |
21f67a0a13 | ||
![]() |
272ccec7e1 | ||
![]() |
68bf1509bd | ||
![]() |
cfccd67600 | ||
![]() |
bc461d32e0 | ||
![]() |
ee4bfdf954 | ||
![]() |
3037894f62 | ||
![]() |
89075bdf6d | ||
![]() |
c323f73bf9 | ||
![]() |
aef5e03731 | ||
![]() |
fc1f74d32d | ||
![]() |
7d59df1ab8 | ||
![]() |
2866f3f31c | ||
![]() |
dc1154c8ad | ||
![]() |
35a816e8ab | ||
![]() |
93210614f4 | ||
![]() |
dfd37afee2 | ||
![]() |
08a5281bd4 | ||
![]() |
cdb48a8970 | ||
![]() |
4fd5f0b8a9 | ||
![]() |
92ad6bf74f | ||
![]() |
2c7dd3edf4 | ||
![]() |
19e7803ac6 | ||
![]() |
9f0605766c | ||
![]() |
1a5d7a9965 | ||
![]() |
296769355d | ||
![]() |
07d080830e | ||
![]() |
c99eabfb37 | ||
![]() |
842fe43590 | ||
![]() |
be02008025 | ||
![]() |
29da86b473 | ||
![]() |
bad7215696 | ||
![]() |
881ff5e554 | ||
![]() |
86b7fd0335 | ||
![]() |
70209d7d1d | ||
![]() |
f07552161c | ||
![]() |
856f3a9135 | ||
![]() |
49e9bcadb7 | ||
![]() |
1b8823ef2e | ||
![]() |
b5062959c8 | ||
![]() |
2fb4d44a4d | ||
![]() |
3c08f956a3 | ||
![]() |
1463a7aaaa | ||
![]() |
76b8e080c3 | ||
![]() |
a9f9243afc | ||
![]() |
34bf9de339 | ||
![]() |
597f6be4e4 | ||
![]() |
aeeec0ff94 | ||
![]() |
ab040d8811 | ||
![]() |
d58ae43317 | ||
![]() |
b723094739 | ||
![]() |
84dcc3c396 | ||
![]() |
21747bc219 | ||
![]() |
28b00891d2 | ||
![]() |
b4e00c324f | ||
![]() |
4eb9df63cf | ||
![]() |
fde674d214 | ||
![]() |
fbb08c14de | ||
![]() |
8b95b48bae | ||
![]() |
71a4ccea71 | ||
![]() |
5a9c7c51e6 | ||
![]() |
5abd133e26 | ||
![]() |
2debb5c0e0 | ||
![]() |
54c0794cf3 | ||
![]() |
cff3f3dc0d | ||
![]() |
c5575c7ed9 | ||
![]() |
99d88ad297 | ||
![]() |
7f0d964a05 | ||
![]() |
514f1b8917 | ||
![]() |
a7a99be460 | ||
![]() |
e17f65b23a | ||
![]() |
e86fb5eedd | ||
![]() |
c8cb9a9509 | ||
![]() |
aa333f4d49 | ||
![]() |
c40002246d | ||
![]() |
77a6054d64 | ||
![]() |
94ec55ff2c | ||
![]() |
2369da158f | ||
![]() |
5379950c64 | ||
![]() |
cbfa516575 | ||
![]() |
fb62da1748 | ||
![]() |
b1b1f6e04f | ||
![]() |
05f826a4fc | ||
![]() |
649afb1198 | ||
![]() |
5dc8d3588d | ||
![]() |
9d2aa0a71c | ||
![]() |
c34db983d8 | ||
![]() |
e805b968b1 | ||
![]() |
e706f1a8d1 | ||
![]() |
4219bfbcc9 | ||
![]() |
f99c95c766 | ||
![]() |
cccb2fc7e7 | ||
![]() |
ff3de66ddf | ||
![]() |
fb0d01ef1f | ||
![]() |
e11a183578 | ||
![]() |
ee6732d2c6 | ||
![]() |
4b2f2b542d | ||
![]() |
6eb2d76435 | ||
![]() |
f63c7048c7 | ||
![]() |
ca3c566a99 | ||
![]() |
7719cf88d9 | ||
![]() |
00e905ebe6 | ||
![]() |
164acceb55 | ||
![]() |
909d9273cc | ||
![]() |
d62a664bb7 | ||
![]() |
663c57ab4d | ||
![]() |
ed99f53786 | ||
![]() |
abc4027083 | ||
![]() |
d6212ee2d9 | ||
![]() |
9c55e8d69c | ||
![]() |
1c9fca6d14 | ||
![]() |
be205563be | ||
![]() |
fc6c341b26 | ||
![]() |
f86c141b83 | ||
![]() |
a6d4888d48 | ||
![]() |
44550a88a0 | ||
![]() |
b5c23695c9 | ||
![]() |
0084e42cb6 | ||
![]() |
fe33c05a20 | ||
![]() |
3789e55e20 | ||
![]() |
4cec7e236a | ||
![]() |
3a16148447 | ||
![]() |
df2c03a6a4 | ||
![]() |
ebce4b2581 | ||
![]() |
953f3d55ee | ||
![]() |
7e6bfdae79 | ||
![]() |
0f4cbea27d | ||
![]() |
59782e347c | ||
![]() |
e835abeceb | ||
![]() |
8e812b7ac0 | ||
![]() |
685ce719ad | ||
![]() |
2b39f9f4b2 | ||
![]() |
b63de7c798 | ||
![]() |
b0c6e53241 | ||
![]() |
e9ea268847 | ||
![]() |
dd91b13ff3 | ||
![]() |
c4e9d5d11e | ||
![]() |
52230b8f07 | ||
![]() |
a3d43a92b3 | ||
![]() |
2130897ce0 | ||
![]() |
67da240068 | ||
![]() |
1046eabf95 | ||
![]() |
663e8284b2 | ||
![]() |
5a43ca1ccb | ||
![]() |
200415e0a1 | ||
![]() |
ea50687e8b | ||
![]() |
7335a2492f | ||
![]() |
bcb6881ffb | ||
![]() |
37df829b3d | ||
![]() |
39f1ba1897 | ||
![]() |
231076fa4a | ||
![]() |
0bdb131521 | ||
![]() |
c31a5e7e5c | ||
![]() |
05958caf6e | ||
![]() |
87e31799f2 | ||
![]() |
35528506a6 | ||
![]() |
2544978aaf | ||
![]() |
97565d68a2 | ||
![]() |
f49f5c5903 | ||
![]() |
d89f2e5226 | ||
![]() |
02f4f5dc66 | ||
![]() |
5723636b35 | ||
![]() |
5632ca4f44 | ||
![]() |
539599d1f1 | ||
![]() |
d77a326bb0 | ||
![]() |
60a7a9d019 | ||
![]() |
99f0fce673 | ||
![]() |
b708cfee3f | ||
![]() |
b8620429e2 | ||
![]() |
aab414b368 | ||
![]() |
e120b17abd | ||
![]() |
5f43e17918 | ||
![]() |
489eef5a6f | ||
![]() |
8c550ca011 | ||
![]() |
032621289b | ||
![]() |
92316a9853 | ||
![]() |
180741609e | ||
![]() |
70250762f3 | ||
![]() |
39ba17a2d6 | ||
![]() |
cfe8c8c9cd | ||
![]() |
b45fc89512 | ||
![]() |
aabc0ccaa7 | ||
![]() |
2bc4d200d4 | ||
![]() |
0247fe01c0 | ||
![]() |
c912b38bf0 | ||
![]() |
559946c58a | ||
![]() |
a99637c613 | ||
![]() |
36501dda73 | ||
![]() |
18ecd9df30 | ||
![]() |
c686dd0448 | ||
![]() |
6d91d468e7 | ||
![]() |
5f9b5b0219 | ||
![]() |
3f7d85360a | ||
![]() |
8d8456590c | ||
![]() |
85f9f3e290 | ||
![]() |
9e1180a29b | ||
![]() |
e17c1096a0 | ||
![]() |
546d6f36b2 | ||
![]() |
6ecd14d780 | ||
![]() |
f6ed7dc013 | ||
![]() |
e290f2591e | ||
![]() |
75f90ca303 | ||
![]() |
ca1430184f | ||
![]() |
a297ab9d7c | ||
![]() |
f078525d98 | ||
![]() |
e03cc81a9a | ||
![]() |
af27f1dde5 | ||
![]() |
32505c3916 | ||
![]() |
9a8d5a1bff | ||
![]() |
740ee787c1 | ||
![]() |
2eba0bfeec | ||
![]() |
d780ec4bce | ||
![]() |
6b564d21b3 | ||
![]() |
6c2b2a58ad | ||
![]() |
b80b68dcb3 | ||
![]() |
29c92ca415 | ||
![]() |
bc04ce8e6b | ||
![]() |
6b6b75fa4a | ||
![]() |
84e493beba | ||
![]() |
323376efa2 | ||
![]() |
e353b00501 | ||
![]() |
2510d770ab | ||
![]() |
7d8765a937 | ||
![]() |
81a04656c5 | ||
![]() |
2f26fb8834 | ||
![]() |
d3ebe1311f | ||
![]() |
42a8c19aae | ||
![]() |
27ccea6371 | ||
![]() |
4f46b4f393 | ||
![]() |
221e741537 | ||
![]() |
8b3b7bc5ef | ||
![]() |
934ae1b559 | ||
![]() |
0e7e3cb714 | ||
![]() |
95b6e4e9e9 | ||
![]() |
3a5e040b7e | ||
![]() |
28c826868b | ||
![]() |
1695c8ed55 | ||
![]() |
366622f09a | ||
![]() |
0dc31c03e1 | ||
![]() |
0405e67f8b | ||
![]() |
df350e1f6e | ||
![]() |
06cb3f7058 | ||
![]() |
56b884be17 | ||
![]() |
a25d280f3e | ||
![]() |
2253a73837 | ||
![]() |
946c8399e2 | ||
![]() |
9d0f13c4c0 | ||
![]() |
eb9e2bc79a | ||
![]() |
0722c44ba1 | ||
![]() |
2424012d75 | ||
![]() |
82ded35706 | ||
![]() |
69fcb604c8 | ||
![]() |
88607fc625 | ||
![]() |
7092af6329 | ||
![]() |
23d7d91597 | ||
![]() |
ad82781743 | ||
![]() |
20d78ab0d9 | ||
![]() |
be24237063 | ||
![]() |
d886cb5c27 | ||
![]() |
63bb1933e5 | ||
![]() |
81e6a9d0d0 | ||
![]() |
5d4110d2a7 | ||
![]() |
0cedb3ac9f | ||
![]() |
0b44c629f2 | ||
![]() |
2579fe6b7b | ||
![]() |
812ce4bfc4 | ||
![]() |
410efe0694 | ||
![]() |
b2d944d5cb | ||
![]() |
b846c3915c | ||
![]() |
ffbc68aa2e | ||
![]() |
eddb8549ef | ||
![]() |
bb44855078 | ||
![]() |
2567026ccb | ||
![]() |
0cc8fc6f18 | ||
![]() |
cc81b916a6 | ||
![]() |
27fadd2c6e | ||
![]() |
dc38265b54 | ||
![]() |
1ea518d5ef | ||
![]() |
901cd5edef | ||
![]() |
e1fd47765b | ||
![]() |
c02923fbfc | ||
![]() |
7c5ce83044 | ||
![]() |
37e2e9a844 | ||
![]() |
26e5db1849 | ||
![]() |
a2766ffe0c | ||
![]() |
0f5e38609f | ||
![]() |
f178cbf93d | ||
![]() |
c8096ca8d2 | ||
![]() |
27d29b9853 | ||
![]() |
8a171731ba | ||
![]() |
abde9e2fba | ||
![]() |
6a4a328bbc | ||
![]() |
8253fadc96 | ||
![]() |
134abbd82b | ||
![]() |
fe557b022a | ||
![]() |
cd8226130a | ||
![]() |
1ebf0e8de8 | ||
![]() |
37ea764000 | ||
![]() |
0fdb9a6129 | ||
![]() |
47b326b7b5 | ||
![]() |
e2cf6eb434 | ||
![]() |
f79698dcdd | ||
![]() |
35a5307db3 | ||
![]() |
6341c7d72c | ||
![]() |
f4bab789b8 | ||
![]() |
fa893ee477 | ||
![]() |
014cec06f1 | ||
![]() |
431ab5aa6a | ||
![]() |
262b0cd9d4 | ||
![]() |
e83ec17e95 | ||
![]() |
ea593fca1b | ||
![]() |
fe1f151ae1 | ||
![]() |
b12bba4e2a | ||
![]() |
e2005e02bb | ||
![]() |
41c8c946ba | ||
![]() |
fe08686558 | ||
![]() |
0ed2401711 | ||
![]() |
06bd606d85 | ||
![]() |
c347431907 | ||
![]() |
f63d7048f9 | ||
![]() |
f39f7c76dd | ||
![]() |
0268d0e7d6 | ||
![]() |
8515d093e0 | ||
![]() |
fe3f326d8d | ||
![]() |
8170db40c7 | ||
![]() |
99ac0da4bc | ||
![]() |
7e2c93420f | ||
![]() |
6d46824fb0 | ||
![]() |
bb435b39d9 | ||
![]() |
2a67d7a6c2 | ||
![]() |
ba43c8bab5 | ||
![]() |
931e6ed2ac | ||
![]() |
a5f0e9ab65 | ||
![]() |
6fc133ad6a | ||
![]() |
e1b80859f2 | ||
![]() |
d069ee31b2 | ||
![]() |
981752ade0 | ||
![]() |
d01d07fc0a | ||
![]() |
526aaca6f5 | ||
![]() |
2f8147af59 | ||
![]() |
f3016a9096 | ||
![]() |
f854a41ba9 | ||
![]() |
ca3cadef5e | ||
![]() |
3304b0fcf0 | ||
![]() |
d8938e259a | ||
![]() |
53a554c89d | ||
![]() |
e71db01230 | ||
![]() |
178e946fc7 | ||
![]() |
f3bff12939 | ||
![]() |
7a99418dc5 | ||
![]() |
c71ba466ea | ||
![]() |
8ce5d35543 | ||
![]() |
134f834c60 | ||
![]() |
8a37c07295 | ||
![]() |
bd0ada7842 | ||
![]() |
eea96f652d | ||
![]() |
38c3061df7 | ||
![]() |
f5fa602482 | ||
![]() |
e44ac55f63 | ||
![]() |
f1cfb73a8b | ||
![]() |
5b96885c6d | ||
![]() |
c5da90a5b7 | ||
![]() |
bcdebfb84e | ||
![]() |
359b273649 | ||
![]() |
2e2c8dc620 | ||
![]() |
8d37b723ca | ||
![]() |
315b7f282f | ||
![]() |
a3f8e9dfa7 | ||
![]() |
982810f7cc | ||
![]() |
90b96d19cd | ||
![]() |
6a52bb6f54 | ||
![]() |
cacaa4393f | ||
![]() |
d63ab4e9a4 | ||
![]() |
ca6daec8dd | ||
![]() |
c87f2420a6 | ||
![]() |
f5bbbc52f4 | ||
![]() |
9e3dde8ec7 | ||
![]() |
9dba182e51 | ||
![]() |
944fc857eb | ||
![]() |
7507a658ac | ||
![]() |
9fa4f5eb6b | ||
![]() |
ce4d71d626 | ||
![]() |
8e2ef3f38b | ||
![]() |
8dc952775e | ||
![]() |
99b6163e27 | ||
![]() |
beaf55f1fc | ||
![]() |
980bb9059f | ||
![]() |
0e7281eb71 | ||
![]() |
0b6133d7b5 | ||
![]() |
b57ca64275 | ||
![]() |
faadbd734b | ||
![]() |
88b0a93409 | ||
![]() |
4a995105a9 | ||
![]() |
7fe496f983 | ||
![]() |
e56370eb5b | ||
![]() |
b8af7f63a0 | ||
![]() |
3eea555155 | ||
![]() |
897c923cc9 | ||
![]() |
67193e3deb | ||
![]() |
0e722efb09 | ||
![]() |
3736f33ebf | ||
![]() |
d1d9c3f9d7 | ||
![]() |
cd5cbe0910 | ||
![]() |
814e992c0b | ||
![]() |
660fe78735 | ||
![]() |
87d084e18c | ||
![]() |
9ce2a73fc5 | ||
![]() |
f2314b26ba | ||
![]() |
74dcf41f25 | ||
![]() |
b6ba30186f | ||
![]() |
32637a0328 | ||
![]() |
0addd90e14 | ||
![]() |
1b5ee5b10a | ||
![]() |
042adeb5d0 | ||
![]() |
7e4ce0dacc | ||
![]() |
8ceb22fe8a | ||
![]() |
c5553ec855 | ||
![]() |
bb3ed54291 | ||
![]() |
513ba3b6f7 | ||
![]() |
17d688afef | ||
![]() |
d81eee26b3 | ||
![]() |
cc5ada63a4 | ||
![]() |
88fb60e0b5 | ||
![]() |
02200acad0 | ||
![]() |
1a2d190bdb | ||
![]() |
2db4ff168a | ||
![]() |
a77c8cc5d2 | ||
![]() |
b8866c1fe4 | ||
![]() |
f0f17db847 | ||
![]() |
a5c003acb0 | ||
![]() |
7b44fd0f9d | ||
![]() |
cebee0b8fa | ||
![]() |
d886bc6c48 | ||
![]() |
d81adcfaa5 | ||
![]() |
6da9bfbbce | ||
![]() |
69a6e622d0 | ||
![]() |
1dcfd64028 | ||
![]() |
5d1c1f721e | ||
![]() |
fbc8bbf305 | ||
![]() |
cdef55bb88 | ||
![]() |
26df48b2aa | ||
![]() |
a7baea0522 | ||
![]() |
55e6003749 | ||
![]() |
846acd5d4c | ||
![]() |
43f8145858 | ||
![]() |
79759928f6 | ||
![]() |
eb59d28154 | ||
![]() |
79f63a2e74 | ||
![]() |
6a62254048 | ||
![]() |
657a1d75af | ||
![]() |
2694def56a | ||
![]() |
7843341da3 | ||
![]() |
d46314648e | ||
![]() |
e45011af57 | ||
![]() |
fb09884893 | ||
![]() |
d1eecafa63 | ||
![]() |
b47d991f56 | ||
![]() |
553ea812a7 | ||
![]() |
216e374310 | ||
![]() |
034b0b8040 | ||
![]() |
5ab9e12b46 | ||
![]() |
abe6e0d22d | ||
![]() |
f5b550191c | ||
![]() |
3dcacb3730 | ||
![]() |
033589a66b | ||
![]() |
e46a647c45 | ||
![]() |
f26492fc2d | ||
![]() |
3473c3f7b6 | ||
![]() |
1b5242b4f9 | ||
![]() |
6d897def1b | ||
![]() |
2f10e25738 | ||
![]() |
555bd257bd | ||
![]() |
3afd974dea | ||
![]() |
f4120c9d45 | ||
![]() |
61cb1cc6f8 | ||
![]() |
49bc1d0b3b | ||
![]() |
ba23d24dd1 | ||
![]() |
556a63de19 | ||
![]() |
fae3c4d437 | ||
![]() |
89c2ed2a1c | ||
![]() |
23f1cb06d6 | ||
![]() |
ac92e2dd2d | ||
![]() |
bf58425351 | ||
![]() |
a3dc0ab398 | ||
![]() |
224ebdb8b9 | ||
![]() |
cf80d295f3 | ||
![]() |
2133869127 | ||
![]() |
97330ac621 | ||
![]() |
1ee1559506 | ||
![]() |
eccc336319 | ||
![]() |
7fe657ec71 | ||
![]() |
77c07bfd19 | ||
![]() |
4de938d97a | ||
![]() |
dad1c87afe | ||
![]() |
801dbb6d03 | ||
![]() |
fa0be82da8 | ||
![]() |
7e8bc8d362 | ||
![]() |
0bb2a8e0d0 | ||
![]() |
2e72b57f2f | ||
![]() |
bff1039e3a | ||
![]() |
5a999cb77f | ||
![]() |
3a2539e0ac | ||
![]() |
e262f35d0a | ||
![]() |
176bfa6529 | ||
![]() |
240c4cf2fd | ||
![]() |
db5ec5d876 | ||
![]() |
e1dfaf5d87 | ||
![]() |
5436154f0d | ||
![]() |
809e218d20 | ||
![]() |
1eaad6cebb | ||
![]() |
56fccecd06 | ||
![]() |
3890a947ca | ||
![]() |
e299272378 | ||
![]() |
70248bd05a | ||
![]() |
7a5fde8f5a | ||
![]() |
62ba9f1950 | ||
![]() |
610b676444 | ||
![]() |
58699e3c90 | ||
![]() |
9be24a1c9f | ||
![]() |
5ace41471e | ||
![]() |
3b2106ed30 | ||
![]() |
5f4f997126 | ||
![]() |
49d397a419 | ||
![]() |
ea1ab96749 | ||
![]() |
24c62e719a | ||
![]() |
9c6b7f688e | ||
![]() |
d41dce5ecb | ||
![]() |
52a3eafede | ||
![]() |
55dfc85159 | ||
![]() |
a7a478a19e | ||
![]() |
2080afd9de | ||
![]() |
9aa136b982 | ||
![]() |
3a191f37cb | ||
![]() |
429106340f | ||
![]() |
530c73b457 | ||
![]() |
fb9729fdb9 | ||
![]() |
45a09c76ff | ||
![]() |
efd65a1b65 | ||
![]() |
ae60188eb9 | ||
![]() |
3b904525d9 | ||
![]() |
1e31f5202f | ||
![]() |
f12d41138a | ||
![]() |
98369f6a5d | ||
![]() |
8f9bf1995b | ||
![]() |
e7de3b5f9d | ||
![]() |
3541d06d07 | ||
![]() |
db0e3cd772 | ||
![]() |
d3fee08f9a | ||
![]() |
727fb6eabe | ||
![]() |
d610c60991 | ||
![]() |
3f6e11d26e | ||
![]() |
a4577769ae | ||
![]() |
7f927d4774 | ||
![]() |
e091673f8f | ||
![]() |
9842eff887 | ||
![]() |
c40b3d3983 | ||
![]() |
ac5eefdee4 | ||
![]() |
bf508643a5 | ||
![]() |
02fc16e97d | ||
![]() |
1a83a739dc | ||
![]() |
81473f4538 | ||
![]() |
e1a847e4d1 | ||
![]() |
0f426c3795 | ||
![]() |
6df3d169b8 | ||
![]() |
5479daa6d4 | ||
![]() |
397fec0152 | ||
![]() |
d7e644272f | ||
![]() |
e91749bbb0 | ||
![]() |
bcd1e45ba7 | ||
![]() |
4c6b626db6 | ||
![]() |
835ba16c27 | ||
![]() |
3b6a580b32 | ||
![]() |
01c486d486 | ||
![]() |
6342a08a16 | ||
![]() |
94c8ee11f8 | ||
![]() |
9b38980ed9 | ||
![]() |
649c536250 | ||
![]() |
dd49e2b12d | ||
![]() |
f61dab1774 | ||
![]() |
40edf00182 | ||
![]() |
c35518a865 | ||
![]() |
7a0b4428e3 | ||
![]() |
c784a15aaa | ||
![]() |
ce180de9b8 | ||
![]() |
fca9a523e9 | ||
![]() |
8a3889be11 | ||
![]() |
2a1633621b | ||
![]() |
e2deeceb1b | ||
![]() |
d4e994de7b | ||
![]() |
a60e751217 | ||
![]() |
81c5d8a968 | ||
![]() |
5b1e4df177 | ||
![]() |
4d80744cbb | ||
![]() |
e243d4b7ee | ||
![]() |
dce35fcb00 | ||
![]() |
e45a21b0b6 | ||
![]() |
fda563d606 | ||
![]() |
f3b49987f8 | ||
![]() |
c8c01a5cae | ||
![]() |
f7ece90129 | ||
![]() |
0f25ef9498 | ||
![]() |
5bf2228596 | ||
![]() |
227b01395f | ||
![]() |
9f52fe1a10 | ||
![]() |
affc6c3390 | ||
![]() |
951a34dcbf | ||
![]() |
36eaa22ed0 | ||
![]() |
62df316356 | ||
![]() |
00797fdd85 | ||
![]() |
9eb39cef05 | ||
![]() |
ee6150f67c | ||
![]() |
9fa909ccd6 | ||
![]() |
b1af544b1d | ||
![]() |
7d5b17ac72 | ||
![]() |
7a221f2473 | ||
![]() |
bdbe956c5c | ||
![]() |
8e5b1e6f2f | ||
![]() |
257a454515 | ||
![]() |
b6aeea425b | ||
![]() |
c8e05d1f2a | ||
![]() |
a8aa4eb06c | ||
![]() |
c1a02cc081 | ||
![]() |
e66adc42da | ||
![]() |
89938bc21c | ||
![]() |
0b2947dedb | ||
![]() |
47ddd34266 | ||
![]() |
2fdca5d310 | ||
![]() |
e5d4e33509 | ||
![]() |
e117f613af | ||
![]() |
0dfdf02885 | ||
![]() |
4a0129fc2b | ||
![]() |
a9c705009c | ||
![]() |
d937ad8cf6 | ||
![]() |
1a08a8219f | ||
![]() |
9924c311c9 | ||
![]() |
e846e14965 | ||
![]() |
36e70228f2 | ||
![]() |
a677f1139a | ||
![]() |
6f8eba9c28 | ||
![]() |
c22c582546 | ||
![]() |
ea75509d6e | ||
![]() |
ed30bd7b76 | ||
![]() |
7090c5ceeb | ||
![]() |
bee09c1a0f | ||
![]() |
8f9ef4402b | ||
![]() |
f26c0cb70f | ||
![]() |
81d7ecba2b | ||
![]() |
087c3fe1dc | ||
![]() |
43ff971dfd | ||
![]() |
5c75a98053 | ||
![]() |
7ce47402fb | ||
![]() |
1e48141648 | ||
![]() |
dbda892542 | ||
![]() |
b46774be21 | ||
![]() |
1073bfba37 | ||
![]() |
5dfb4d1195 | ||
![]() |
0a2219c5f7 | ||
![]() |
ff3149831e | ||
![]() |
c935d0558c | ||
![]() |
83eb075e3a | ||
![]() |
204c2bf09c | ||
![]() |
2444522243 | ||
![]() |
92eb1cbffd | ||
![]() |
8c40ae5a03 | ||
![]() |
fa2ee78a5c | ||
![]() |
e4a5cdc5bc | ||
![]() |
2d73a273af | ||
![]() |
761af08889 | ||
![]() |
0ee1650f82 | ||
![]() |
0e647417f3 | ||
![]() |
d1bf5a4882 | ||
![]() |
b8414b240c | ||
![]() |
3fbdd12b04 | ||
![]() |
a3f6bf3e5a | ||
![]() |
3a5805db50 | ||
![]() |
de8c64e767 | ||
![]() |
73d6b15095 | ||
![]() |
5d396b9302 | ||
![]() |
61d2519111 | ||
![]() |
e61c94a846 | ||
![]() |
7ed0f61f3f | ||
![]() |
85055d1c68 | ||
![]() |
e4c469c149 | ||
![]() |
9940e8d9f1 | ||
![]() |
3dccca1f27 | ||
![]() |
22e96a37f8 | ||
![]() |
48b1ab5aaf | ||
![]() |
0230fa188f | ||
![]() |
4118ce876e | ||
![]() |
9537bc561d | ||
![]() |
ae43c47ca8 | ||
![]() |
2fa4060991 | ||
![]() |
f9a934759f | ||
![]() |
3686b1ffe5 | ||
![]() |
ea017a49c3 | ||
![]() |
3559f9c776 | ||
![]() |
637f57ca71 | ||
![]() |
4e60156b45 | ||
![]() |
af9946b098 | ||
![]() |
b7d4b0f821 | ||
![]() |
62ed776a8c | ||
![]() |
f880ff21aa | ||
![]() |
4a36993c19 | ||
![]() |
d87b2f189d | ||
![]() |
f9a097a8c0 | ||
![]() |
d43358b6dd | ||
![]() |
8058f196e1 | ||
![]() |
e13e6f34d2 | ||
![]() |
c2ff7150aa | ||
![]() |
a899621930 | ||
![]() |
a0966e1d1d | ||
![]() |
e2464382ed | ||
![]() |
095bc79dc3 | ||
![]() |
1fd3c2488e | ||
![]() |
2ee8485886 | ||
![]() |
b67c178672 | ||
![]() |
7ac4f0a525 | ||
![]() |
c4613c51d1 | ||
![]() |
77bf17076b | ||
![]() |
8dd6beba15 | ||
![]() |
a345386967 | ||
![]() |
bdd43bd430 | ||
![]() |
1716501598 | ||
![]() |
d9a5b9178e | ||
![]() |
8ca6a9a240 | ||
![]() |
ba75a3884c | ||
![]() |
d91d89eef6 | ||
![]() |
a726c91116 | ||
![]() |
d00fe95f10 | ||
![]() |
072b7a014e | ||
![]() |
618ce115d7 | ||
![]() |
d973aa82fe | ||
![]() |
3a85b6b7c6 | ||
![]() |
2c22ff175c | ||
![]() |
6bc43a4198 | ||
![]() |
e348b3deeb | ||
![]() |
6724b9a583 | ||
![]() |
41c35b2218 | ||
![]() |
4477d76f03 | ||
![]() |
14f5f6235a | ||
![]() |
739350fd8e | ||
![]() |
14ed97102b | ||
![]() |
db389058fa | ||
![]() |
b557d04007 | ||
![]() |
52c5da997b | ||
![]() |
57d198f99a | ||
![]() |
a3ab17b470 | ||
![]() |
9bf3141893 | ||
![]() |
d35eb6a0c3 | ||
![]() |
37aad2e3aa | ||
![]() |
efc5d0699a | ||
![]() |
893bc9f777 | ||
![]() |
61b8729ef9 | ||
![]() |
b89d3cc4d0 | ||
![]() |
e8cc11ea34 | ||
![]() |
2e804511ca | ||
![]() |
b6790c491b | ||
![]() |
c95e2b009e | ||
![]() |
d5615a67c8 | ||
![]() |
d9b9bbd4a8 | ||
![]() |
d780b1eede | ||
![]() |
608adf15a3 | ||
![]() |
1717391f6c | ||
![]() |
2e6e9ff6f8 | ||
![]() |
23c903074c | ||
![]() |
94030a12cf | ||
![]() |
f63d7de9da | ||
![]() |
13ee6792df | ||
![]() |
6302444f34 | ||
![]() |
61c5e4b54a | ||
![]() |
d6118871be | ||
![]() |
94b27e8933 | ||
![]() |
05500dc5f8 | ||
![]() |
c5a72971fe | ||
![]() |
5bc6486e3b | ||
![]() |
59e18bce0a | ||
![]() |
898c5b6df5 | ||
![]() |
9cd422791a | ||
![]() |
91edebf1fe | ||
![]() |
df8a5792f1 | ||
![]() |
cda7b417cd | ||
![]() |
d2ac35af26 | ||
![]() |
6caeff2408 | ||
![]() |
83d1a46526 | ||
![]() |
d1bd160b0a | ||
![]() |
bc88a8bb03 | ||
![]() |
04cfb984ae | ||
![]() |
02a245941a | ||
![]() |
7fb1352aa1 | ||
![]() |
4c555bad2e | ||
![]() |
75c789bab4 | ||
![]() |
626d020e62 | ||
![]() |
3830117735 | ||
![]() |
042cee8e36 | ||
![]() |
03cc5b47e9 | ||
![]() |
46fa45942e | ||
![]() |
0cb4104aa7 | ||
![]() |
f2bbc5fbc4 | ||
![]() |
16340ce811 | ||
![]() |
2cf8153f4a | ||
![]() |
2f00287e45 | ||
![]() |
0de17f64e9 | ||
![]() |
c30838878f | ||
![]() |
bd31281f1e | ||
![]() |
7fc54ed98e | ||
![]() |
0abdcedcab | ||
![]() |
6c05353086 | ||
![]() |
e7575bf380 | ||
![]() |
89ace85903 | ||
![]() |
68a91d66b7 | ||
![]() |
724b5bf4fe | ||
![]() |
d6da9211bc | ||
![]() |
f45abac27f | ||
![]() |
00b9a1d87d | ||
![]() |
20b835b5a4 | ||
![]() |
7bb1a474df | ||
![]() |
750ee35dbf | ||
![]() |
fda5e1f543 | ||
![]() |
78d090aea5 | ||
![]() |
7362569cf5 | ||
![]() |
f5b1c7e5f1 | ||
![]() |
c554cdac4c | ||
![]() |
41b624ea1b | ||
![]() |
7cdcaadcf5 | ||
![]() |
4ad33d3c3b | ||
![]() |
2778ac21de | ||
![]() |
cb3cd57926 | ||
![]() |
ba6815d413 | ||
![]() |
52004cdde8 | ||
![]() |
1d2045cb61 | ||
![]() |
357e2e404a | ||
![]() |
38e5640cda | ||
![]() |
c4c731bd9a | ||
![]() |
04d27acd60 | ||
![]() |
80f0303b21 | ||
![]() |
d651d9b427 | ||
![]() |
3b2648bd5e | ||
![]() |
73cc11f000 | ||
![]() |
637de0149c | ||
![]() |
855575e5a7 | ||
![]() |
ed2999a163 | ||
![]() |
a18c16e19e | ||
![]() |
9032ab2eec | ||
![]() |
03f66b8d74 | ||
![]() |
8c30ae7c65 | ||
![]() |
453c9c9199 | ||
![]() |
993e370f92 | ||
![]() |
2bcd3a3acc | ||
![]() |
c54c632ca1 | ||
![]() |
28a4a35625 | ||
![]() |
e7577d7bb4 | ||
![]() |
27ea0623d7 | ||
![]() |
390e2bbddc | ||
![]() |
b50fc08f39 | ||
![]() |
b2ce7e8d84 | ||
![]() |
2b1c6d3cf8 | ||
![]() |
c658305a1b | ||
![]() |
63235d8f94 | ||
![]() |
d702227af0 | ||
![]() |
b7251dbea5 | ||
![]() |
144b7f3386 | ||
![]() |
9583dc820f | ||
![]() |
a03076f2d8 | ||
![]() |
d76fa22b4b | ||
![]() |
f960831f10 | ||
![]() |
b0fb95dfc9 | ||
![]() |
bca9566849 | ||
![]() |
8760de42fe | ||
![]() |
2c02efd1fe | ||
![]() |
4b4a63ed44 | ||
![]() |
64f434eca4 | ||
![]() |
f4e85a53e7 | ||
![]() |
f8176a74ec | ||
![]() |
e60a96a71a | ||
![]() |
216e2607ca | ||
![]() |
53f8026018 | ||
![]() |
de92ce7a88 | ||
![]() |
eb8041b943 | ||
![]() |
9c6e9bcf33 | ||
![]() |
154816ffd0 | ||
![]() |
c86e425df6 | ||
![]() |
3883c7a190 | ||
![]() |
a66760d86d | ||
![]() |
52752659c1 | ||
![]() |
f676c0c41b | ||
![]() |
f31e993f09 | ||
![]() |
56f610e548 | ||
![]() |
052a6a0acc | ||
![]() |
77037e33c9 | ||
![]() |
5a34799554 | ||
![]() |
47282abfa4 | ||
![]() |
c9cc724b31 | ||
![]() |
0d3674245b | ||
![]() |
82b21cdf4a | ||
![]() |
c4592f577a | ||
![]() |
3cd851e578 | ||
![]() |
e074833a7d | ||
![]() |
c5f1a83cb4 | ||
![]() |
1baaa778ee | ||
![]() |
6a948d5afd | ||
![]() |
ea66ae0811 | ||
![]() |
bf8a155fb1 | ||
![]() |
4ae59bef96 | ||
![]() |
eadf5dcb2d | ||
![]() |
91a24e8229 | ||
![]() |
e3c979a7a4 | ||
![]() |
05365706c0 | ||
![]() |
bbca31b661 | ||
![]() |
eb7fc12e01 | ||
![]() |
98ae7b1210 | ||
![]() |
51877cecf7 | ||
![]() |
9053b2000b | ||
![]() |
dd6ce5f9d8 | ||
![]() |
9a8301fc74 | ||
![]() |
aabe2a0a30 | ||
![]() |
c79fb6fcdd | ||
![]() |
af9ba3be91 | ||
![]() |
6f24d038f8 | ||
![]() |
cf65893c4b | ||
![]() |
bd7d5a429f | ||
![]() |
7b54f6e642 | ||
![]() |
422c0dfb5e | ||
![]() |
73b296918b | ||
![]() |
907c201693 | ||
![]() |
58de8bf392 | ||
![]() |
a89a7a783a | ||
![]() |
c422010597 | ||
![]() |
08e1d9ffad | ||
![]() |
a4e8dc3371 | ||
![]() |
19da56a6ea | ||
![]() |
d3c06c39f9 | ||
![]() |
6301620428 | ||
![]() |
a6f157f346 | ||
![]() |
8d4417ec92 | ||
![]() |
0b55be2581 | ||
![]() |
88a59fd0ca | ||
![]() |
539674614b | ||
![]() |
9d1b9157d4 | ||
![]() |
5f449045d2 | ||
![]() |
3e4d236751 | ||
![]() |
4fe6593fbe | ||
![]() |
635633379a | ||
![]() |
48fecd791d | ||
![]() |
a325a20fb4 | ||
![]() |
1f0916b01b | ||
![]() |
eb767ab15f | ||
![]() |
92c0aa3854 | ||
![]() |
a61016cb55 | ||
![]() |
eb7ddd6e11 | ||
![]() |
ff3d2e42f4 | ||
![]() |
1aab123b6c | ||
![]() |
d11f8d294f | ||
![]() |
04ded881f6 | ||
![]() |
4f9bf5312b | ||
![]() |
7cf8f59987 | ||
![]() |
b8b5c8e8c9 | ||
![]() |
a46baf7685 | ||
![]() |
f2a51aa37c | ||
![]() |
233eaf8ee9 | ||
![]() |
067be2c551 | ||
![]() |
550e1feaec | ||
![]() |
f90ce23f30 | ||
![]() |
29f8f8fe68 | ||
![]() |
48c1e7b00d | ||
![]() |
2175ccedd2 | ||
![]() |
d4e74f20aa | ||
![]() |
aa5bc39311 | ||
![]() |
46049b4236 | ||
![]() |
683ebef6c6 | ||
![]() |
5010e95c23 | ||
![]() |
46b7a270a6 | ||
![]() |
cf497c2728 | ||
![]() |
16fcd07110 | ||
![]() |
a9a2798910 | ||
![]() |
9cd664caa3 | ||
![]() |
a90e0c6595 | ||
![]() |
7b5efaf7b0 | ||
![]() |
3b7ca4ac35 | ||
![]() |
40a61b82ce | ||
![]() |
028f43299a | ||
![]() |
3a4727f0f5 | ||
![]() |
fec89f95fb | ||
![]() |
5681d41f76 | ||
![]() |
efd61d97ef | ||
![]() |
3ed56f2192 | ||
![]() |
122462b9b1 | ||
![]() |
2217b9277e | ||
![]() |
b5e0e3631b | ||
![]() |
be68e43871 | ||
![]() |
f6034c0882 | ||
![]() |
f693781bf0 |
25
.github/ISSUE_TEMPLATE.md
vendored
25
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,25 +0,0 @@
|
||||
<!--
|
||||
NOTE: Not filling out the issue template needs a good reason, otherwise the
|
||||
issue may be closed instantly! Please take the time to help us debugging the
|
||||
problem by collecting information, even if it seems irrelevant to you. Thanks!
|
||||
-->
|
||||
|
||||
## Output of `restic version`
|
||||
|
||||
|
||||
## How did you start restic exactly? (Include the complete command line)
|
||||
|
||||
|
||||
## What backend/server/service did you use?
|
||||
|
||||
|
||||
## Expected behavior
|
||||
|
||||
|
||||
## Actual behavior
|
||||
|
||||
|
||||
## Steps to reproduce the behavior
|
||||
|
||||
|
||||
## Do you have any idea what may have caused this?
|
93
.github/ISSUE_TEMPLATE/Bug.md
vendored
Normal file
93
.github/ISSUE_TEMPLATE/Bug.md
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Report a problem with restic to help us resolve it and improve
|
||||
---
|
||||
|
||||
<!--
|
||||
|
||||
Welcome! - We kindly ask that you:
|
||||
|
||||
1. Fill out the issue template below - not doing so needs a good reason.
|
||||
2. Use the forum if you have a question rather than a bug or feature request.
|
||||
|
||||
The forum is at: https://forum.restic.net
|
||||
|
||||
NOTE: Not filling out the issue template needs a good reason, as otherwise it
|
||||
may take a lot longer to find the problem, not to mention it can take up a lot
|
||||
more time which can otherwise be spent on development. Please also take the
|
||||
time to help us debug the issue by collecting relevant information, even if
|
||||
it doesn't seem to be relevant to you. Thanks!
|
||||
|
||||
The forum is a better place for questions about restic or general suggestions
|
||||
and topics, e.g. usage or documentation questions! This issue tracker is mainly
|
||||
for tracking bugs and feature requests directly relating to the development of
|
||||
the software itself, rather than the project.
|
||||
|
||||
Thanks for understanding, and for contributing to the project!
|
||||
|
||||
-->
|
||||
|
||||
|
||||
Output of `restic version`
|
||||
--------------------------
|
||||
|
||||
|
||||
How did you run restic exactly?
|
||||
-------------------------------
|
||||
|
||||
<!--
|
||||
This section should include at least:
|
||||
|
||||
* The complete command line and any environment variables you used to
|
||||
configure restic's backend access. Make sure to replace sensitive values!
|
||||
|
||||
* The output of the commands, what restic prints gives may give us much
|
||||
information to diagnose the problem!
|
||||
-->
|
||||
|
||||
What backend/server/service did you use to store the repository?
|
||||
----------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Expected behavior
|
||||
-----------------
|
||||
|
||||
<!--
|
||||
Describe what you'd like restic to do differently.
|
||||
-->
|
||||
|
||||
Actual behavior
|
||||
---------------
|
||||
|
||||
<!--
|
||||
In this section, please try to concentrate on observations, so only describe
|
||||
what you observed directly.
|
||||
-->
|
||||
|
||||
Steps to reproduce the behavior
|
||||
-------------------------------
|
||||
|
||||
<!--
|
||||
The more time you spend describing an easy way to reproduce the behavior (if
|
||||
this is possible), the easier it is for the project developers to fix it!
|
||||
-->
|
||||
|
||||
Do you have any idea what may have caused this?
|
||||
-----------------------------------------------
|
||||
|
||||
|
||||
|
||||
Do you have an idea how to solve the issue?
|
||||
-------------------------------------------
|
||||
|
||||
|
||||
|
||||
Did restic help you or made you happy in any way?
|
||||
-------------------------------------------------
|
||||
|
||||
<!--
|
||||
Answering this question is not required, but if you have anything positive to share, please do so here!
|
||||
Sometimes we get tired of reading bug reports all day and a little positive end note does wonders.
|
||||
Idea by Joey Hess, https://joeyh.name/blog/entry/two_holiday_stories/
|
||||
-->
|
57
.github/ISSUE_TEMPLATE/Feature.md
vendored
Normal file
57
.github/ISSUE_TEMPLATE/Feature.md
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest a new feature or enhancement for restic
|
||||
---
|
||||
|
||||
<!--
|
||||
|
||||
Welcome! - We kindly ask that you:
|
||||
|
||||
1. Fill out the issue template below - not doing so needs a good reason.
|
||||
2. Use the forum if you have a question rather than a bug or feature request.
|
||||
|
||||
The forum is at: https://forum.restic.net
|
||||
|
||||
The forum is a better place for questions about restic or general suggestions
|
||||
and topics, e.g. usage or documentation questions! This issue tracker is mainly
|
||||
for tracking bugs and feature requests directly relating to the development of
|
||||
the software itself, rather than the project.
|
||||
|
||||
Thanks for understanding, and for contributing to the project!
|
||||
|
||||
-->
|
||||
|
||||
|
||||
Output of `restic version`
|
||||
--------------------------
|
||||
|
||||
<!--
|
||||
Please add the version of restic you're currently using here, this helps us
|
||||
later to see what has changed in restic when we revisit this issue after some
|
||||
time.
|
||||
-->
|
||||
|
||||
What should restic do differently? Which functionality do you think we should add?
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
<!--
|
||||
Please describe the feature you'd like us to add here.
|
||||
-->
|
||||
|
||||
|
||||
What are you trying to do?
|
||||
--------------------------
|
||||
|
||||
<!--
|
||||
This section should contain a brief description what you're trying to do, which
|
||||
would be possible after implementing the new feature.
|
||||
-->
|
||||
|
||||
Did restic help you or made you happy in any way?
|
||||
-------------------------------------------------
|
||||
|
||||
<!--
|
||||
Answering this question is not required, but if you have anything positive to share, please do so here!
|
||||
Sometimes we get tired of reading bug reports all day and a little positive end note does wonders.
|
||||
Idea by Joey Hess, https://joeyh.name/blog/entry/two_holiday_stories/
|
||||
-->
|
36
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
36
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
|
||||
<!--
|
||||
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 is the purpose of this change? What does it change?
|
||||
--------------------------------------------------------
|
||||
|
||||
<!--
|
||||
Describe the changes here, as detailed as needed.
|
||||
-->
|
||||
|
||||
Was the change discussed in an issue or in the forum before?
|
||||
------------------------------------------------------------
|
||||
|
||||
<!--
|
||||
Link issues and relevant forum posts here.
|
||||
-->
|
||||
|
||||
Checklist
|
||||
---------
|
||||
|
||||
- [ ] I have read the [Contribution Guidelines](https://github.com/restic/restic/blob/master/CONTRIBUTING.md#providing-patches)
|
||||
- [ ] 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
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,6 +1,3 @@
|
||||
/pkg
|
||||
/bin
|
||||
/restic
|
||||
/.vagrant
|
||||
/vendor/pkg
|
||||
/doc/_build
|
||||
|
35
.travis.yml
35
.travis.yml
@@ -1,35 +1,20 @@
|
||||
language: go
|
||||
sudo: false
|
||||
|
||||
go:
|
||||
- 1.7.6
|
||||
- 1.8.3
|
||||
- tip
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
env:
|
||||
matrix:
|
||||
RESTIC_TEST_FUSE=0
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- os: osx
|
||||
go: 1.7.6
|
||||
- os: osx
|
||||
go: tip
|
||||
- os: linux
|
||||
go: 1.8.3
|
||||
include:
|
||||
- os: linux
|
||||
go: 1.8.3
|
||||
go: "1.9.x"
|
||||
env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0 RESTIC_BUILD_SOLARIS=0
|
||||
|
||||
# only run fuse and cloud backends tests on Travis for the latest Go on Linux
|
||||
- os: linux
|
||||
go: "1.10.x"
|
||||
sudo: true
|
||||
env:
|
||||
RESTIC_TEST_FUSE=1
|
||||
allow_failures:
|
||||
- go: tip
|
||||
|
||||
- os: osx
|
||||
go: "1.10.x"
|
||||
env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
|
||||
|
||||
branches:
|
||||
only:
|
||||
|
1433
CHANGELOG.md
1433
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
@@ -60,50 +60,35 @@ uploading it somewhere or post only the parts that are really relevant.
|
||||
Development Environment
|
||||
=======================
|
||||
|
||||
For development you need the build tool [`gb`](https://getgb.io), it can be
|
||||
installed by running the following command:
|
||||
In order to compile restic with the `go` tool directly, it needs to be checked
|
||||
out at the right path within a `GOPATH`. The concept of a `GOPATH` is explained
|
||||
in ["How to write Go code"](https://golang.org/doc/code.html).
|
||||
|
||||
$ go get github.com/constabulary/gb/...
|
||||
|
||||
The repository contains two directories with code: `src/` contains the code
|
||||
written for restic, whereas `vendor/` contains copies of libraries restic
|
||||
depends on. The libraries are managed with the `gb vendor` command.
|
||||
|
||||
Just clone the repository, `cd` to it and run `gb build` to build the binary:
|
||||
If you do not have a directory with Go code yet, executing the following
|
||||
instructions in your shell will create one for you and check out the restic
|
||||
repo:
|
||||
|
||||
$ export GOPATH="$HOME/go"
|
||||
$ mkdir -p "$GOPATH/src/github.com/restic"
|
||||
$ cd "$GOPATH/src/github.com/restic"
|
||||
$ git clone https://github.com/restic/restic
|
||||
$ cd restic
|
||||
$ gb build
|
||||
[...]
|
||||
$ bin/restic version
|
||||
|
||||
You can then build restic as follows:
|
||||
|
||||
$ go build ./cmd/restic
|
||||
$ ./restic version
|
||||
restic compiled manually
|
||||
compiled at unknown time with go1.7
|
||||
compiled with go1.8.3 on linux/amd64
|
||||
|
||||
The following commands can be used to run all the tests:
|
||||
|
||||
$ gb test
|
||||
ok github.com/restic/restic 8.174s
|
||||
[...]
|
||||
$ go test ./cmd/... ./internal/...
|
||||
|
||||
If you want to run your tests on Linux, OpenBSD or FreeBSD, you can use
|
||||
[vagrant](https://www.vagrantup.com/) with the provided `Vagrantfile` to
|
||||
quickly set up VMs and run the tests, e.g.:
|
||||
|
||||
$ vagrant up freebsd
|
||||
[...]
|
||||
|
||||
$ vagrant ssh freebsd -c 'cd restic/restic; go test -v ./...'
|
||||
[...]
|
||||
|
||||
The default `go` tool can also be used by setting the environment variable
|
||||
`GOPATH` to the following value while being in the top level directory in the
|
||||
git repository:
|
||||
|
||||
$ export GOPATH=$PWD:$PWD/vendor
|
||||
|
||||
The file `.envrc` allows automatic `GOPATH` configuration with
|
||||
[direnv](https://direnv.net/), inspect the file and then allow automatic
|
||||
configuration by running `direnv allow`.
|
||||
The repository contains two sets of directories with code: `cmd/` and
|
||||
`internal/` contain the code written for restic, whereas `vendor/` contains
|
||||
copies of libraries restic depends on. The libraries are managed with the
|
||||
[`dep`](https://github.com/golang/dep) tool.
|
||||
|
||||
Providing Patches
|
||||
=================
|
||||
@@ -122,7 +107,8 @@ down to the following steps:
|
||||
|
||||
2. Clone the repository locally and create a new branch. If you are working on
|
||||
the code itself, please set up the development environment as described in
|
||||
the previous section.
|
||||
the previous section. Especially take care to place your forked repository
|
||||
at the correct path (`src/github.com/restic/restic`) within your `GOPATH`.
|
||||
|
||||
3. Then commit your changes as fine grained as possible, as smaller patches,
|
||||
that handle one and only one issue are easier to discuss and merge.
|
||||
@@ -134,7 +120,8 @@ down to the following steps:
|
||||
|
||||
6. You will receive comments on your code and the feature or bug that they
|
||||
address. Maybe you need to rework some minor things, in this case push new
|
||||
commits to the branch you created for the pull request, they will be
|
||||
commits to the branch you created for the pull request (or amend the
|
||||
existing commit, use common sense to decide which is better), they will be
|
||||
automatically added to the pull request.
|
||||
|
||||
7. If your pull request changes anything that users should be aware of (a
|
||||
@@ -144,7 +131,7 @@ down to the following steps:
|
||||
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
|
||||
a low for your contribution!
|
||||
a lot for your contribution!
|
||||
|
||||
Please provide the patches for each bug or feature in a separate branch and
|
||||
open up a pull request for each.
|
||||
@@ -170,14 +157,14 @@ what the tests are there for.
|
||||
Git Commits
|
||||
-----------
|
||||
|
||||
I would be good if you could follow the same general style regarding Git
|
||||
It would be good if you could follow the same general style regarding Git
|
||||
commits as the rest of the project, this makes reviewing code, browsing the
|
||||
history and triaging bugs much easier.
|
||||
|
||||
Git commit messages have a very terse summary in the first line of the commit
|
||||
message, followed by an empty line, followed by a more verbose description or a
|
||||
List of changed things. For examples, please refer to the excellent [How to
|
||||
Write a Git Commit Message](http://chris.beams.io/posts/git-commit/).
|
||||
Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
|
||||
|
||||
If you change/add multiple different things that aren't related at all, try to
|
||||
make several smaller commits. This is much easier to review. Using `git add -p`
|
||||
|
57
Dockerfile
57
Dockerfile
@@ -1,57 +0,0 @@
|
||||
# This Dockerfiles configures a container that is similar to the Travis CI
|
||||
# environment and can be used to run tests locally.
|
||||
#
|
||||
# build the image:
|
||||
# docker build -t restic/test .
|
||||
#
|
||||
# run all tests and cross-compile restic:
|
||||
# docker run --rm -v $PWD:/home/travis/restic restic/test go run run_integration_tests.go -minio minio
|
||||
#
|
||||
# run interactively:
|
||||
# docker run --interactive --tty --rm -v $PWD:/home/travis/restic restic/test /bin/bash
|
||||
#
|
||||
# run a subset of tests:
|
||||
# docker run --rm -v $PWD:/home/travis/restic restic/test gb test -v ./backend
|
||||
#
|
||||
# build the image for an older version of Go:
|
||||
# docker build --build-arg GOVERSION=1.6.4 -t restic/test:go1.6.4 .
|
||||
|
||||
FROM ubuntu:14.04
|
||||
|
||||
ARG GOVERSION=1.8.3
|
||||
ARG GOARCH=amd64
|
||||
|
||||
# install dependencies
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends ca-certificates wget git build-essential openssh-server
|
||||
|
||||
# add and configure user
|
||||
ENV HOME /home/travis
|
||||
RUN useradd -m -d $HOME -s /bin/bash travis
|
||||
|
||||
# run everything below as user travis
|
||||
USER travis
|
||||
WORKDIR $HOME
|
||||
|
||||
# download and install Go
|
||||
RUN wget -q -O /tmp/go.tar.gz https://storage.googleapis.com/golang/go${GOVERSION}.linux-${GOARCH}.tar.gz
|
||||
RUN tar xf /tmp/go.tar.gz && rm -f /tmp/go.tar.gz
|
||||
ENV GOROOT $HOME/go
|
||||
ENV GOPATH $HOME/gopath
|
||||
ENV PATH $PATH:$GOROOT/bin:$GOPATH/bin:$HOME/bin
|
||||
|
||||
RUN mkdir -p $HOME/restic
|
||||
|
||||
# pre-install tools, this speeds up running the tests itself
|
||||
RUN go get github.com/constabulary/gb/...
|
||||
RUN go get golang.org/x/tools/cmd/cover
|
||||
RUN go get github.com/mitchellh/gox
|
||||
RUN go get github.com/pierrre/gotestcover
|
||||
RUN mkdir $HOME/bin \
|
||||
&& wget -q -O $HOME/bin/minio https://dl.minio.io/server/minio/release/linux-${GOARCH}/minio \
|
||||
&& chmod +x $HOME/bin/minio
|
||||
|
||||
# set TRAVIS_BUILD_DIR for integration script
|
||||
ENV TRAVIS_BUILD_DIR $HOME/restic
|
||||
|
||||
WORKDIR $HOME/restic
|
27
GOVERNANCE.md
Normal file
27
GOVERNANCE.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# restic project governance
|
||||
|
||||
## Overview
|
||||
|
||||
The restic project uses a governance model commonly described as Benevolent
|
||||
Dictator For Life (BDFL). This document outlines our understanding of what this
|
||||
means. It is derived from the [i3 window manager project
|
||||
governance](https://raw.githubusercontent.com/i3/i3/next/.github/GOVERNANCE.md).
|
||||
|
||||
## Roles
|
||||
|
||||
* user: anyone who interacts with the restic project
|
||||
* core contributor: a handful of people who have contributed significantly to
|
||||
the project by any means (issue triage, support, documentation, code, etc.).
|
||||
Core contributors are recognizable via GitHub’s "Member" badge.
|
||||
* Benevolent Dictator For Life (BDFL): a single individual who makes decisions
|
||||
when consensus cannot be reached. restic's current BDFL is [@fd0](https://github.com/fd0).
|
||||
|
||||
## Decision making process
|
||||
|
||||
In general, we try to reach consensus in discussions. In case consensus cannot
|
||||
be reached, the BDFL makes a decision.
|
||||
|
||||
## Contribution process
|
||||
|
||||
The contribution process is described in a separate document called
|
||||
[CONTRIBUTING](CONTRIBUTING.md).
|
474
Gopkg.lock
generated
Normal file
474
Gopkg.lock
generated
Normal file
@@ -0,0 +1,474 @@
|
||||
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
|
||||
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:94e9caf404409a2990cfd22aca37d758494c098eff3e2c37fda1abed862e74dd"
|
||||
name = "bazil.org/fuse"
|
||||
packages = [
|
||||
".",
|
||||
"fs",
|
||||
"fuseutil",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "65cc252bf6691cb3c7014bcb2c8dc29de91e3a7e"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:5c3894b2aa4d6bead0ceeea6831b305d62879c871780e7b76296ded1b004bc57"
|
||||
name = "cloud.google.com/go"
|
||||
packages = ["compute/metadata"]
|
||||
pruneopts = "UT"
|
||||
revision = "aad3f485ee528456e0768f20397b4d9dd941e755"
|
||||
version = "v0.25.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:46ea9487304f4b3c787f54483ecb13a338d686dcd670db0ab1a112ed0ae2128e"
|
||||
name = "github.com/Azure/azure-sdk-for-go"
|
||||
packages = [
|
||||
"storage",
|
||||
"version",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "4e8cbbfb1aeab140cd0fa97fd16b64ee18c3ca6a"
|
||||
version = "v19.1.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:27d0cd1a78fc836f7c0f07749d029a5f7895c84ad066187b08b70e9d1830098e"
|
||||
name = "github.com/Azure/go-autorest"
|
||||
packages = [
|
||||
"autorest",
|
||||
"autorest/adal",
|
||||
"autorest/azure",
|
||||
"autorest/date",
|
||||
"logger",
|
||||
"version",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "dd94e014aaf16d1df746762e392aa201c1b4c461"
|
||||
version = "v10.15.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2209584c0f7c9b68c23374e659357ab546e1b70eec2761f03280f69a8fd23d77"
|
||||
name = "github.com/cenkalti/backoff"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "2ea60e5f094469f9e65adb9cd103795b73ae743e"
|
||||
version = "v2.0.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:7cb4fdca4c251b3ef8027c90ea35f70c7b661a593b9eeae34753c65499098bb1"
|
||||
name = "github.com/cpuguy83/go-md2man"
|
||||
packages = ["md2man"]
|
||||
pruneopts = "UT"
|
||||
revision = "20f5889cbdc3c73dbd2862796665e7c465ade7d1"
|
||||
version = "v1.0.8"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:76dc72490af7174349349838f2fe118996381b31ea83243812a97e5a0fd5ed55"
|
||||
name = "github.com/dgrijalva/jwt-go"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"
|
||||
version = "v3.2.0"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:6f9339c912bbdda81302633ad7e99a28dfa5a639c864061f1929510a9a64aa74"
|
||||
name = "github.com/dustin/go-humanize"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c7edfbb6320d6a93240d663dc52bca92bed4c116abe54c35679eec4e7cc2bd77"
|
||||
name = "github.com/elithrar/simple-scrypt"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "d150773194090feb6c897805a7bcea8d49544e2c"
|
||||
version = "v1.3.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:fe8a03a8222d5b913f256972933d26d24ad7c8286692a42943bc01633cc8fce3"
|
||||
name = "github.com/go-ini/ini"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "358ee7663966325963d4e8b2e1fbd570c5195153"
|
||||
version = "v1.38.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:15042ad3498153684d09f393bbaec6b216c8eec6d61f63dff711de7d64ed8861"
|
||||
name = "github.com/golang/protobuf"
|
||||
packages = ["proto"]
|
||||
pruneopts = "UT"
|
||||
revision = "b4deda0973fb4c70b50d226b1af49f3da59f5265"
|
||||
version = "v1.1.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:2e3c336fc7fde5c984d2841455a658a6d626450b1754a854b3b32e7a8f49a07a"
|
||||
name = "github.com/google/go-cmp"
|
||||
packages = [
|
||||
"cmp",
|
||||
"cmp/internal/diff",
|
||||
"cmp/internal/function",
|
||||
"cmp/internal/value",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3af367b6b30c263d47e8895973edcca9a49cf029"
|
||||
version = "v0.2.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be"
|
||||
name = "github.com/inconshreveable/mousetrap"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
|
||||
version = "v1.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:190ff84d9b2ed6589088f178cba8edb4b8ecb334df4572421fb016be1ac20463"
|
||||
name = "github.com/juju/ratelimit"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "59fac5042749a5afb9af70e813da1dd5474f0167"
|
||||
version = "1.0.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9cedee824c21326bd26950bd9e1ffe9dc4e7ca03dc8634d0e6f954ee6a383172"
|
||||
name = "github.com/kr/fs"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "1455def202f6e05b95cc7bfc7e8ae67ae5141eba"
|
||||
version = "v0.1.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:1faa76bd9bffce9c25eaca0597afb67bd05a21ae57fe4378154ce8855ef163d1"
|
||||
name = "github.com/kurin/blazer"
|
||||
packages = [
|
||||
"b2",
|
||||
"base",
|
||||
"internal/b2assets",
|
||||
"internal/b2types",
|
||||
"internal/blog",
|
||||
"x/window",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "caf65aa76491dc533bac68ad3243ce72fa4e0a0a"
|
||||
version = "v0.5.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:4e878df5f4e9fd625bf9c9aac77ef7cbfa4a74c01265505527c23470c0e40300"
|
||||
name = "github.com/marstr/guid"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "8bd9a64bf37eb297b492a4101fb28e80ac0b290f"
|
||||
version = "v1.1.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:d4d17353dbd05cb52a2a52b7fe1771883b682806f68db442b436294926bbfafb"
|
||||
name = "github.com/mattn/go-isatty"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39"
|
||||
version = "v0.0.3"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:95c73c666919be2843b955eafc83f58c136312b74f79c703152f4c4a95fd64dc"
|
||||
name = "github.com/minio/minio-go"
|
||||
packages = [
|
||||
".",
|
||||
"pkg/credentials",
|
||||
"pkg/encrypt",
|
||||
"pkg/s3signer",
|
||||
"pkg/s3utils",
|
||||
"pkg/set",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "70799fe8dae6ecfb6c7d7e9e048fce27f23a1992"
|
||||
version = "v6.0.5"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:8eb17c2ec4df79193ae65b621cd1c0c4697db3bc317fe6afdc76d7f2746abd05"
|
||||
name = "github.com/mitchellh/go-homedir"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "3864e76763d94a6df2f9960b16a20a33da9f9a66"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:928de5172dd3563964d1b88a4ee3775cf72e16f1efabb482ab6d0e0bab86ee69"
|
||||
name = "github.com/ncw/swift"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "b2a7479cf26fa841ff90dd932d0221cb5c50782d"
|
||||
version = "v1.0.39"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:40e195917a951a8bf867cd05de2a46aaf1806c50cf92eebf4c16f78cd196f747"
|
||||
name = "github.com/pkg/errors"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
|
||||
version = "v0.8.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:cfa0d7741863a0e1d30e0ccdd4b48a96a471cdb47892303de8b92c3713af3e77"
|
||||
name = "github.com/pkg/profile"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "5b67d428864e92711fcbd2f8629456121a56d91f"
|
||||
version = "v1.2.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:23ed92ba5d90a2dfe817f3895027ccef796e79c30be5125d48e17afdcc395d73"
|
||||
name = "github.com/pkg/sftp"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "57673e38ea946592a59c26592b7e6fbda646975b"
|
||||
version = "v1.8.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:0d67664e93e366f072ac9672feea29bfc63c9f90f005e9e8a0df1954153f5a14"
|
||||
name = "github.com/pkg/xattr"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "ae385d07bb53f092fcc7daaf738d8513df084931"
|
||||
version = "v0.3.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:13ecc4000f49cf0aa3ee56fffcc93119c8edffacfff08674c80d2757d8c33a83"
|
||||
name = "github.com/restic/chunker"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "db83917be3b88cc307464b7d8a221c173e34a0db"
|
||||
version = "v0.2.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:8bc629776d035c003c7814d4369521afe67fdb8efc4b5f66540d29343b98cf23"
|
||||
name = "github.com/russross/blackfriday"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "55d61fa8aa702f59229e6cff85793c22e580eaf5"
|
||||
version = "v1.5.1"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:274f67cb6fed9588ea2521ecdac05a6d62a8c51c074c1fccc6a49a40ba80e925"
|
||||
name = "github.com/satori/go.uuid"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "f58768cc1a7a7e77a3bd49e98cdd21419399b6a3"
|
||||
version = "v1.2.0"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:d867dfa6751c8d7a435821ad3b736310c2ed68945d05b50fb9d23aee0540c8cc"
|
||||
name = "github.com/sirupsen/logrus"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "3e01752db0189b9157070a0e1668a620f9a85da2"
|
||||
version = "v1.0.6"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:e01b05ba901239c783dfe56450bcde607fc858908529868259c9a8765dc176d0"
|
||||
name = "github.com/spf13/cobra"
|
||||
packages = [
|
||||
".",
|
||||
"doc",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "ef82de70bb3f60c65fb8eebacbb2d122ef517385"
|
||||
version = "v0.0.3"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:9424f440bba8f7508b69414634aef3b2b3a877e522d8a4624692412805407bb7"
|
||||
name = "github.com/spf13/pflag"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "583c0c0531f06d5278b7d917446061adc344b5cd"
|
||||
version = "v1.0.1"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:eefb1f49ec07e71206d4c9ea1a3e634cad331c2180733e4121b8ae39e8e92ecb"
|
||||
name = "golang.org/x/crypto"
|
||||
packages = [
|
||||
"argon2",
|
||||
"blake2b",
|
||||
"curve25519",
|
||||
"ed25519",
|
||||
"ed25519/internal/edwards25519",
|
||||
"internal/chacha20",
|
||||
"internal/subtle",
|
||||
"pbkdf2",
|
||||
"poly1305",
|
||||
"scrypt",
|
||||
"ssh",
|
||||
"ssh/terminal",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "c126467f60eb25f8f27e5a981f32a87e3965053f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:8356aa7bdcb10a210b814b64ff76d61de7c36ac4cb6263de3af5e3e2e546956d"
|
||||
name = "golang.org/x/net"
|
||||
packages = [
|
||||
"context",
|
||||
"context/ctxhttp",
|
||||
"http/httpguts",
|
||||
"http2",
|
||||
"http2/hpack",
|
||||
"idna",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "32f9bdbd7df18e8641d215e7ea68be88b971feb0"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:bea0314c10bd362ab623af4880d853b5bad3b63d0ab9945c47e461b8d04203ed"
|
||||
name = "golang.org/x/oauth2"
|
||||
packages = [
|
||||
".",
|
||||
"google",
|
||||
"internal",
|
||||
"jws",
|
||||
"jwt",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "3d292e4d0cdc3a0113e6d207bb137145ef1de42f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:39ebcc2b11457b703ae9ee2e8cca0f68df21969c6102cb3b705f76cca0ea0239"
|
||||
name = "golang.org/x/sync"
|
||||
packages = ["errgroup"]
|
||||
pruneopts = "UT"
|
||||
revision = "1d60e4601c6fd243af51cc01ddf169918a5407ca"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:a220a85c72a6cb7339c412cb2b117019a7fd94007cdfffb3b5b1d058227a2bf8"
|
||||
name = "golang.org/x/sys"
|
||||
packages = [
|
||||
"cpu",
|
||||
"unix",
|
||||
"windows",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "bd9dbc187b6e1dacfdd2722a87e83093c2d7bd6e"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:e5a8511f063c38c51ab9ab80e718e9149f692652aeb4e393a8c020dd1bf38ca2"
|
||||
name = "golang.org/x/text"
|
||||
packages = [
|
||||
"collate",
|
||||
"collate/build",
|
||||
"encoding",
|
||||
"encoding/internal",
|
||||
"encoding/internal/identifier",
|
||||
"encoding/unicode",
|
||||
"internal/colltab",
|
||||
"internal/gen",
|
||||
"internal/tag",
|
||||
"internal/triegen",
|
||||
"internal/ucd",
|
||||
"internal/utf8internal",
|
||||
"language",
|
||||
"runes",
|
||||
"secure/bidirule",
|
||||
"transform",
|
||||
"unicode/bidi",
|
||||
"unicode/cldr",
|
||||
"unicode/norm",
|
||||
"unicode/rangetable",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
|
||||
version = "v0.3.0"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
digest = "1:fb983acae7bd9c3ed9aadc1b1241d9e559ed21dbf84c17a0dda663ca169ccd69"
|
||||
name = "google.golang.org/api"
|
||||
packages = [
|
||||
"gensupport",
|
||||
"googleapi",
|
||||
"googleapi/internal/uritemplates",
|
||||
"storage/v1",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "31ca0e01cd791f07750cb23fc99327721f753290"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:c8907869850adaa8bd7631887948d0684f3787d0912f1c01ab72581a6c34432e"
|
||||
name = "google.golang.org/appengine"
|
||||
packages = [
|
||||
".",
|
||||
"internal",
|
||||
"internal/app_identity",
|
||||
"internal/base",
|
||||
"internal/datastore",
|
||||
"internal/log",
|
||||
"internal/modules",
|
||||
"internal/remote_api",
|
||||
"internal/urlfetch",
|
||||
"urlfetch",
|
||||
]
|
||||
pruneopts = "UT"
|
||||
revision = "b1f26356af11148e710935ed1ac8a7f5702c7612"
|
||||
version = "v1.1.0"
|
||||
|
||||
[[projects]]
|
||||
branch = "v2"
|
||||
digest = "1:5bb148b78468350091db2ffbb2370f35cc6dcd74d9378a31b1c7b86ff7528f08"
|
||||
name = "gopkg.in/tomb.v2"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "d5d1b5820637886def9eef33e03a27a9f166942c"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:342378ac4dcb378a5448dd723f0784ae519383532f5e70ade24132c4c8693202"
|
||||
name = "gopkg.in/yaml.v2"
|
||||
packages = ["."]
|
||||
pruneopts = "UT"
|
||||
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
|
||||
version = "v2.2.1"
|
||||
|
||||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
analyzer-version = 1
|
||||
input-imports = [
|
||||
"bazil.org/fuse",
|
||||
"bazil.org/fuse/fs",
|
||||
"github.com/Azure/azure-sdk-for-go/storage",
|
||||
"github.com/cenkalti/backoff",
|
||||
"github.com/elithrar/simple-scrypt",
|
||||
"github.com/google/go-cmp/cmp",
|
||||
"github.com/juju/ratelimit",
|
||||
"github.com/kurin/blazer/b2",
|
||||
"github.com/mattn/go-isatty",
|
||||
"github.com/minio/minio-go",
|
||||
"github.com/minio/minio-go/pkg/credentials",
|
||||
"github.com/ncw/swift",
|
||||
"github.com/pkg/errors",
|
||||
"github.com/pkg/profile",
|
||||
"github.com/pkg/sftp",
|
||||
"github.com/pkg/xattr",
|
||||
"github.com/restic/chunker",
|
||||
"github.com/spf13/cobra",
|
||||
"github.com/spf13/cobra/doc",
|
||||
"github.com/spf13/pflag",
|
||||
"golang.org/x/crypto/poly1305",
|
||||
"golang.org/x/crypto/scrypt",
|
||||
"golang.org/x/crypto/ssh/terminal",
|
||||
"golang.org/x/net/context",
|
||||
"golang.org/x/net/context/ctxhttp",
|
||||
"golang.org/x/net/http2",
|
||||
"golang.org/x/oauth2/google",
|
||||
"golang.org/x/sync/errgroup",
|
||||
"golang.org/x/sys/unix",
|
||||
"golang.org/x/text/encoding/unicode",
|
||||
"google.golang.org/api/googleapi",
|
||||
"google.golang.org/api/storage/v1",
|
||||
"gopkg.in/tomb.v2",
|
||||
]
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
25
Gopkg.toml
Normal file
25
Gopkg.toml
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
# Gopkg.toml example
|
||||
#
|
||||
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
|
||||
# for detailed Gopkg.toml documentation.
|
||||
#
|
||||
# required = ["github.com/user/thing/cmd/thing"]
|
||||
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
|
||||
#
|
||||
# [[constraint]]
|
||||
# name = "github.com/user/project"
|
||||
# version = "1.0.0"
|
||||
#
|
||||
# [[constraint]]
|
||||
# name = "github.com/user/project2"
|
||||
# branch = "dev"
|
||||
# source = "github.com/myfork/project2"
|
||||
#
|
||||
# [[override]]
|
||||
# name = "github.com/x/y"
|
||||
# version = "2.4.0"
|
||||
|
||||
[prune]
|
||||
unused-packages = true
|
||||
go-tests = true
|
18
LICENSE
18
LICENSE
@@ -1,19 +1,21 @@
|
||||
BSD 2-Clause License
|
||||
|
||||
Copyright (c) 2014, Alexander Neumann <alexander@bumpern.de>
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
|
5
Makefile
5
Makefile
@@ -6,7 +6,8 @@ restic:
|
||||
go run build.go
|
||||
|
||||
clean:
|
||||
rm -rf restic
|
||||
rm -f restic
|
||||
|
||||
test:
|
||||
go test ./...
|
||||
go test ./cmd/... ./internal/...
|
||||
|
||||
|
60
README.rst
60
README.rst
@@ -1,4 +1,4 @@
|
||||
|Documentation| |Build Status| |Build status| |Report Card| |Say Thanks|
|
||||
|Documentation| |Build Status| |Build status| |Report Card| |Say Thanks| |TestCoverage| |Reviewed by Hound|
|
||||
|
||||
Introduction
|
||||
------------
|
||||
@@ -7,11 +7,13 @@ restic is a backup program that is fast, efficient and secure.
|
||||
|
||||
For detailed usage and installation instructions check out the `documentation <https://restic.readthedocs.io/en/latest>`__.
|
||||
|
||||
You can ask questions in our `Discourse forum <https://forum.restic.net>`__.
|
||||
|
||||
Quick start
|
||||
-----------
|
||||
|
||||
Once you've `installed
|
||||
<https://restic.readthedocs.io/en/latest/installation.html>`__ restic, start
|
||||
<https://restic.readthedocs.io/en/latest/020_installation.html>`__ restic, start
|
||||
off with creating a repository for your backups:
|
||||
|
||||
.. code-block:: console
|
||||
@@ -27,7 +29,7 @@ and add some data:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ restic -r /tmp/backup backup ~/work
|
||||
$ restic --repo /tmp/backup backup ~/work
|
||||
enter password for repository:
|
||||
scan [/home/user/work]
|
||||
scanned 764 directories, 1816 files in 0:00
|
||||
@@ -35,7 +37,27 @@ and add some data:
|
||||
duration: 0:29, 54.47MiB/s
|
||||
snapshot 40dc1520 saved
|
||||
|
||||
For more options check out the `manual guide <https://restic.readthedocs.io/en/latest/manual.html>`__.
|
||||
Next you can either use ``restic restore`` to restore files or use ``restic
|
||||
mount`` to mount the repository via fuse and browse the files from previous
|
||||
snapshots.
|
||||
|
||||
For more options check out the `online documentation <https://restic.readthedocs.io/en/latest/>`__.
|
||||
|
||||
Backends
|
||||
--------
|
||||
|
||||
Saving a backup on the same machine is nice but not a real backup strategy.
|
||||
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)
|
||||
- `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>`__
|
||||
- `Google Cloud Storage <https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#google-cloud-storage>`__
|
||||
- And many other services via the `rclone <https://rclone.org>`__ `Backend <https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#other-services-via-rclone>`__
|
||||
|
||||
Design Principles
|
||||
-----------------
|
||||
@@ -72,30 +94,44 @@ Reproducible Builds
|
||||
-------------------
|
||||
|
||||
The binaries released with each restic version starting at 0.6.1 are
|
||||
[reproducible](https://reproducible-builds.org/), which means that you can
|
||||
`reproducible <https://reproducible-builds.org/>`__, which means that you can
|
||||
easily reproduce a byte identical version from the source code for that
|
||||
release. Instructions on how to do that are contained in the
|
||||
[build repository](https://github.com/restic/build).
|
||||
`builder repository <https://github.com/restic/builder>`__.
|
||||
|
||||
News
|
||||
----
|
||||
|
||||
You can follow the restic project on Twitter `@resticbackup <https://twitter.com/resticbackup>`__ or by subscribing to
|
||||
the `development blog <https://restic.github.io/blog/>`__.
|
||||
the `development blog <https://restic.net/blog/>`__.
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Restic is licensed under "BSD 2-Clause License". You can find the
|
||||
Restic is licensed under `BSD 2-Clause License <https://opensource.org/licenses/BSD-2-Clause>`__. You can find the
|
||||
complete text in ``LICENSE``.
|
||||
|
||||
Sponsorship
|
||||
-----------
|
||||
|
||||
Backend integration tests for Google Cloud Storage and Microsoft Azure Blob
|
||||
Storage are sponsored by `AppsCode <https://appscode.com>`__!
|
||||
|
||||
|AppsCode|
|
||||
|
||||
.. |Documentation| image:: https://readthedocs.org/projects/restic/badge/?version=latest
|
||||
:target: https://restic.readthedocs.io/en/latest/?badge=latest
|
||||
.. |Build Status| image:: https://travis-ci.org/restic/restic.svg?branch=master
|
||||
:target: https://travis-ci.org/restic/restic
|
||||
.. |Build Status| image:: https://travis-ci.com/restic/restic.svg?branch=master
|
||||
:target: https://travis-ci.com/restic/restic
|
||||
.. |Build status| image:: https://ci.appveyor.com/api/projects/status/nuy4lfbgfbytw92q/branch/master?svg=true
|
||||
:target: https://ci.appveyor.com/project/fd0/restic/branch/master
|
||||
.. |Report Card| image:: http://goreportcard.com/badge/github.com/restic/restic
|
||||
:target: http://goreportcard.com/report/github.com/restic/restic
|
||||
.. |Report Card| image:: https://goreportcard.com/badge/github.com/restic/restic
|
||||
:target: https://goreportcard.com/report/github.com/restic/restic
|
||||
.. |Say Thanks| image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg
|
||||
:target: https://saythanks.io/to/restic
|
||||
.. |TestCoverage| image:: https://codecov.io/gh/restic/restic/branch/master/graph/badge.svg
|
||||
:target: https://codecov.io/gh/restic/restic
|
||||
.. |AppsCode| image:: https://cdn.appscode.com/images/logo/appscode/ac-logo-color.png
|
||||
:target: https://appscode.com
|
||||
.. |Reviewed by Hound| image:: https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg
|
||||
:target: https://houndci.com
|
||||
|
124
Vagrantfile
vendored
124
Vagrantfile
vendored
@@ -1,124 +0,0 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
GO_VERSION = '1.7'
|
||||
|
||||
def packages_freebsd
|
||||
return <<-EOF
|
||||
pkg install -y git
|
||||
pkg install -y curl
|
||||
|
||||
echo 'fuse_load="YES"' >> /boot/loader.conf
|
||||
echo 'vfs.usermount=1' >> /etc/sysctl.conf
|
||||
|
||||
kldload fuse
|
||||
sysctl vfs.usermount=1
|
||||
pw groupmod operator -M vagrant
|
||||
EOF
|
||||
end
|
||||
|
||||
def packages_openbsd
|
||||
return <<-EOF
|
||||
. ~/.profile
|
||||
pkg_add git curl bash gtar--
|
||||
ln -sf /usr/local/bin/gtar /usr/local/bin/tar
|
||||
EOF
|
||||
end
|
||||
|
||||
def packages_linux
|
||||
return <<-EOF
|
||||
apt-get update
|
||||
apt-get install -y git curl
|
||||
EOF
|
||||
end
|
||||
|
||||
def packages_darwin
|
||||
return <<-EOF
|
||||
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
brew cask install osxfuse
|
||||
EOF
|
||||
end
|
||||
|
||||
def install_gimme
|
||||
return <<-EOF
|
||||
rm -rf /opt/gimme
|
||||
mkdir -p /opt/gimme || true
|
||||
git clone https://github.com/meatballhat/gimme /opt/gimme
|
||||
perl -p -i -e 's,/bin/bash,/usr/bin/env bash,' /opt/gimme/gimme
|
||||
ln -sf /opt/gimme/gimme /usr/bin/gimme
|
||||
EOF
|
||||
end
|
||||
|
||||
def prepare_user(boxname)
|
||||
return <<-EOF
|
||||
mkdir -p ~/go/src
|
||||
export PATH=/usr/local/bin:$PATH
|
||||
|
||||
gimme #{GO_VERSION} >> ~/.profile
|
||||
echo export 'GOPATH=/vagrant/go' >> ~/.profile
|
||||
echo export 'PATH=$GOPATH/bin:/usr/local/bin:$PATH' >> ~/.profile
|
||||
|
||||
. ~/.profile
|
||||
|
||||
go get golang.org/x/tools/cmd/cover
|
||||
go get github.com/constabulary/gb/...
|
||||
|
||||
echo
|
||||
echo "Run:"
|
||||
echo " vagrant rsync #{boxname}"
|
||||
echo " vagrant ssh #{boxname} -c 'cd /vagrant; gb build && gb test'"
|
||||
EOF
|
||||
end
|
||||
|
||||
def fix_perms
|
||||
return <<-EOF
|
||||
chown -R vagrant /vagrant
|
||||
EOF
|
||||
end
|
||||
|
||||
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
||||
# configures the configuration version (we support older styles for
|
||||
# backwards compatibility). Please don't change it unless you know what
|
||||
# you're doing.
|
||||
Vagrant.configure(2) do |config|
|
||||
# use rsync to copy content to the folder
|
||||
config.vm.synced_folder ".", "/vagrant", :type => "rsync"
|
||||
|
||||
# fix permissions on synced folder
|
||||
config.vm.provision "fix perms", :type => :shell, :inline => fix_perms
|
||||
|
||||
config.vm.define "linux" do |b|
|
||||
b.vm.box = "ubuntu/trusty64"
|
||||
b.vm.provision "packages linux", :type => :shell, :inline => packages_linux
|
||||
b.vm.provision "install gimme", :type => :shell, :inline => install_gimme
|
||||
b.vm.provision "prepare user", :type => :shell, :privileged => false, :inline => prepare_user("linux")
|
||||
|
||||
# fix network card
|
||||
config.vm.provider "virtualbox" do |v|
|
||||
v.customize ["modifyvm", :id, "--nictype1", "virtio"]
|
||||
end
|
||||
end
|
||||
|
||||
config.vm.define "freebsd" do |b|
|
||||
b.vm.box = "geoffgarside/freebsd-10.1"
|
||||
b.vm.provision "packages freebsd", :type => :shell, :inline => packages_freebsd
|
||||
b.vm.provision "install gimme", :type => :shell, :inline => install_gimme
|
||||
b.vm.provision "prepare user", :type => :shell, :privileged => false, :inline => prepare_user("freebsd")
|
||||
end
|
||||
|
||||
config.vm.define "openbsd" do |b|
|
||||
b.vm.box = "tmatilai/openbsd-5.6"
|
||||
b.vm.provision "packages openbsd", :type => :shell, :inline => packages_openbsd
|
||||
b.vm.provision "install gimme", :type => :shell, :inline => install_gimme
|
||||
b.vm.provision "prepare user", :type => :shell, :privileged => false, :inline => prepare_user("openbsd")
|
||||
end
|
||||
|
||||
config.vm.define "darwin" do |b|
|
||||
#b.vm.box = "jhcook/osx-yosemite-10.10"
|
||||
b.vm.box = "jhcook/yosemite-clitools"
|
||||
b.vm.provision "packages darwin", :type => :shell, :privileged => false, :inline => packages_darwin
|
||||
b.vm.provision "install gimme", :type => :shell, :inline => install_gimme
|
||||
b.vm.provision "prepare user", :type => :shell, :privileged => false, :inline => prepare_user("darwin")
|
||||
end
|
||||
|
||||
end
|
@@ -17,8 +17,8 @@ init:
|
||||
|
||||
install:
|
||||
- rmdir c:\go /s /q
|
||||
- appveyor DownloadFile https://storage.googleapis.com/golang/go1.8.1.windows-amd64.msi
|
||||
- msiexec /i go1.8.1.windows-amd64.msi /q
|
||||
- appveyor DownloadFile https://dl.google.com/go/go1.10.windows-amd64.msi
|
||||
- msiexec /i go1.10.windows-amd64.msi /q
|
||||
- go version
|
||||
- go env
|
||||
- appveyor DownloadFile http://sourceforge.netcologne.de/project/gnuwin32/tar/1.13-1/tar-1.13-1-bin.zip -FileName tar.zip
|
||||
|
238
build.go
238
build.go
@@ -1,4 +1,33 @@
|
||||
// +build ignore
|
||||
// BSD 2-Clause License
|
||||
//
|
||||
// Copyright (c) 2016-2018, Alexander Neumann <alexander@bumpern.de>
|
||||
// All rights reserved.
|
||||
//
|
||||
// This file has been copied from the repository at:
|
||||
// https://github.com/fd0/build-go
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// * Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
// 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.
|
||||
|
||||
// +build ignore_build_go
|
||||
|
||||
package main
|
||||
|
||||
@@ -11,28 +40,39 @@ import (
|
||||
"path"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// config contains the configuration for the program to build.
|
||||
var config = Config{
|
||||
Name: "restic", // name of the program executable and directory
|
||||
Namespace: "github.com/restic/restic", // subdir of GOPATH, e.g. "github.com/foo/bar"
|
||||
Main: "github.com/restic/restic/cmd/restic", // package name for the main package
|
||||
Tests: []string{ // tests to run
|
||||
"github.com/restic/restic/internal/...",
|
||||
"github.com/restic/restic/cmd/...",
|
||||
},
|
||||
MinVersion: GoVersion{Major: 1, Minor: 9, Patch: 0}, // minimum Go version supported
|
||||
}
|
||||
|
||||
// Config configures the build.
|
||||
type Config struct {
|
||||
Name string
|
||||
Namespace string
|
||||
Main string
|
||||
Tests []string
|
||||
MinVersion GoVersion
|
||||
}
|
||||
|
||||
var (
|
||||
verbose bool
|
||||
keepGopath bool
|
||||
runTests bool
|
||||
enableCGO bool
|
||||
enablePIE bool
|
||||
)
|
||||
|
||||
var config = struct {
|
||||
Name string
|
||||
Namespace string
|
||||
Main string
|
||||
Tests []string
|
||||
}{
|
||||
Name: "restic", // name of the program executable and directory
|
||||
Namespace: "", // subdir of GOPATH, e.g. "github.com/foo/bar"
|
||||
Main: "cmds/restic", // package name for the main package
|
||||
Tests: []string{"restic/...", "cmds/..."}, // tests to run
|
||||
}
|
||||
|
||||
// specialDir returns true if the file begins with a special character ('.' or '_').
|
||||
func specialDir(name string) bool {
|
||||
if name == "." {
|
||||
@@ -77,7 +117,12 @@ func excludePath(name string) bool {
|
||||
// └── restic
|
||||
// └── foo.go
|
||||
func updateGopath(dst, src, prefix string) error {
|
||||
verbosePrintf("copy contents of %v to %v\n", src, filepath.Join(dst, prefix))
|
||||
return filepath.Walk(src, func(name string, fi os.FileInfo, err error) error {
|
||||
if name == src {
|
||||
return err
|
||||
}
|
||||
|
||||
if specialDir(name) {
|
||||
if fi.IsDir() {
|
||||
return filepath.SkipDir
|
||||
@@ -86,6 +131,10 @@ func updateGopath(dst, src, prefix string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if fi.IsDir() {
|
||||
return nil
|
||||
}
|
||||
@@ -126,7 +175,6 @@ func copyFile(dst, src string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer fsrc.Close()
|
||||
|
||||
if err = os.MkdirAll(filepath.Dir(dst), 0755); err != nil {
|
||||
fmt.Printf("MkdirAll(%v)\n", filepath.Dir(dst))
|
||||
@@ -137,17 +185,28 @@ func copyFile(dst, src string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer fdst.Close()
|
||||
|
||||
_, err = io.Copy(fdst, fsrc)
|
||||
if _, err = io.Copy(fdst, fsrc); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
err = fsrc.Close()
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
err = fdst.Close()
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
err = os.Chmod(dst, fi.Mode())
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
err = os.Chtimes(dst, fi.ModTime(), fi.ModTime())
|
||||
}
|
||||
|
||||
return err
|
||||
return nil
|
||||
}
|
||||
|
||||
// die prints the message with fmt.Fprintf() to stderr and exits with an error
|
||||
@@ -167,8 +226,11 @@ func showUsage(output io.Writer) {
|
||||
fmt.Fprintf(output, " -T --test run tests\n")
|
||||
fmt.Fprintf(output, " -o --output set output file name\n")
|
||||
fmt.Fprintf(output, " --enable-cgo use CGO to link against libc\n")
|
||||
fmt.Fprintf(output, " --enable-pie use PIE buildmode\n")
|
||||
fmt.Fprintf(output, " --goos value set GOOS for cross-compilation\n")
|
||||
fmt.Fprintf(output, " --goarch value set GOARCH for cross-compilation\n")
|
||||
fmt.Fprintf(output, " --goarm value set GOARM for cross-compilation\n")
|
||||
fmt.Fprintf(output, " --tempdir dir use a specific directory for compilation\n")
|
||||
}
|
||||
|
||||
func verbosePrintf(message string, args ...interface{}) {
|
||||
@@ -194,13 +256,28 @@ func cleanEnv() (env []string) {
|
||||
}
|
||||
|
||||
// build runs "go build args..." with GOPATH set to gopath.
|
||||
func build(cwd, goos, goarch, gopath string, args ...string) error {
|
||||
func build(cwd string, ver GoVersion, goos, goarch, goarm, gopath string, args ...string) error {
|
||||
a := []string{"build"}
|
||||
a = append(a, "-asmflags", fmt.Sprintf("-trimpath=%s", gopath))
|
||||
a = append(a, "-gcflags", fmt.Sprintf("-trimpath=%s", gopath))
|
||||
|
||||
if ver.AtLeast(GoVersion{1, 10, 0}) {
|
||||
verbosePrintf("Go version is at least 1.10, using new syntax for -gcflags\n")
|
||||
// use new prefix
|
||||
a = append(a, "-asmflags", fmt.Sprintf("all=-trimpath=%s", gopath))
|
||||
a = append(a, "-gcflags", fmt.Sprintf("all=-trimpath=%s", gopath))
|
||||
} else {
|
||||
a = append(a, "-asmflags", fmt.Sprintf("-trimpath=%s", gopath))
|
||||
a = append(a, "-gcflags", fmt.Sprintf("-trimpath=%s", gopath))
|
||||
}
|
||||
if enablePIE {
|
||||
a = append(a, "-buildmode=pie")
|
||||
}
|
||||
|
||||
a = append(a, args...)
|
||||
cmd := exec.Command("go", a...)
|
||||
cmd.Env = append(cleanEnv(), "GOPATH="+gopath, "GOARCH="+goarch, "GOOS="+goos)
|
||||
if goarm != "" {
|
||||
cmd.Env = append(cmd.Env, "GOARM="+goarm)
|
||||
}
|
||||
if !enableCGO {
|
||||
cmd.Env = append(cmd.Env, "CGO_ENABLED=0")
|
||||
}
|
||||
@@ -208,7 +285,7 @@ func build(cwd, goos, goarch, gopath string, args ...string) error {
|
||||
cmd.Dir = cwd
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
verbosePrintf("go %s\n", args)
|
||||
verbosePrintf("go %s\n", a)
|
||||
|
||||
return cmd.Run()
|
||||
}
|
||||
@@ -289,10 +366,89 @@ func (cs Constants) LDFlags() string {
|
||||
return strings.Join(l, " ")
|
||||
}
|
||||
|
||||
// GoVersion is the version of Go used to compile the project.
|
||||
type GoVersion struct {
|
||||
Major int
|
||||
Minor int
|
||||
Patch int
|
||||
}
|
||||
|
||||
// ParseGoVersion parses the Go version s. If s cannot be parsed, the returned GoVersion is null.
|
||||
func ParseGoVersion(s string) (v GoVersion) {
|
||||
if !strings.HasPrefix(s, "go") {
|
||||
return
|
||||
}
|
||||
|
||||
s = s[2:]
|
||||
data := strings.Split(s, ".")
|
||||
if len(data) < 2 || len(data) > 3 {
|
||||
// invalid version
|
||||
return GoVersion{}
|
||||
}
|
||||
|
||||
var err error
|
||||
|
||||
v.Major, err = strconv.Atoi(data[0])
|
||||
if err != nil {
|
||||
return GoVersion{}
|
||||
}
|
||||
|
||||
// try to parse the minor version while removing an eventual suffix (like
|
||||
// "rc2" or so)
|
||||
for s := data[1]; s != ""; s = s[:len(s)-1] {
|
||||
v.Minor, err = strconv.Atoi(s)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if v.Minor == 0 {
|
||||
// no minor version found
|
||||
return GoVersion{}
|
||||
}
|
||||
|
||||
if len(data) >= 3 {
|
||||
v.Patch, err = strconv.Atoi(data[2])
|
||||
if err != nil {
|
||||
return GoVersion{}
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// AtLeast returns true if v is at least as new as other. If v is empty, true is returned.
|
||||
func (v GoVersion) AtLeast(other GoVersion) bool {
|
||||
var empty GoVersion
|
||||
|
||||
// the empty version satisfies all versions
|
||||
if v == empty {
|
||||
return true
|
||||
}
|
||||
|
||||
if v.Major < other.Major {
|
||||
return false
|
||||
}
|
||||
|
||||
if v.Minor < other.Minor {
|
||||
return false
|
||||
}
|
||||
|
||||
if v.Patch < other.Patch {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func (v GoVersion) String() string {
|
||||
return fmt.Sprintf("Go %d.%d.%d", v.Major, v.Minor, v.Patch)
|
||||
}
|
||||
|
||||
func main() {
|
||||
ver := runtime.Version()
|
||||
if strings.HasPrefix(ver, "go1") && ver < "go1.7" {
|
||||
fmt.Fprintf(os.Stderr, "Go version %s detected, restic requires at least Go 1.7\n", ver)
|
||||
ver := ParseGoVersion(runtime.Version())
|
||||
if !ver.AtLeast(config.MinVersion) {
|
||||
fmt.Fprintf(os.Stderr, "%s detected, this program requires at least %s\n", ver, config.MinVersion)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
@@ -303,6 +459,9 @@ func main() {
|
||||
|
||||
targetGOOS := runtime.GOOS
|
||||
targetGOARCH := runtime.GOARCH
|
||||
targetGOARM := ""
|
||||
|
||||
gopath := ""
|
||||
|
||||
var outputFilename string
|
||||
|
||||
@@ -326,16 +485,24 @@ func main() {
|
||||
case "-o", "--output":
|
||||
skipNext = true
|
||||
outputFilename = params[i+1]
|
||||
case "--tempdir":
|
||||
skipNext = true
|
||||
gopath = params[i+1]
|
||||
case "-T", "--test":
|
||||
runTests = true
|
||||
case "--enable-cgo":
|
||||
enableCGO = true
|
||||
case "--enable-pie":
|
||||
enablePIE = true
|
||||
case "--goos":
|
||||
skipNext = true
|
||||
targetGOOS = params[i+1]
|
||||
case "--goarch":
|
||||
skipNext = true
|
||||
targetGOARCH = params[i+1]
|
||||
case "--goarm":
|
||||
skipNext = true
|
||||
targetGOARM = params[i+1]
|
||||
case "-h":
|
||||
showUsage(os.Stdout)
|
||||
return
|
||||
@@ -346,6 +513,8 @@ func main() {
|
||||
}
|
||||
}
|
||||
|
||||
verbosePrintf("detected Go version %v\n", ver)
|
||||
|
||||
if len(buildTags) == 0 {
|
||||
verbosePrintf("adding build-tag release\n")
|
||||
buildTags = []string{"release"}
|
||||
@@ -362,19 +531,21 @@ func main() {
|
||||
die("Getwd(): %v\n", err)
|
||||
}
|
||||
|
||||
gopath, err := ioutil.TempDir("", fmt.Sprintf("%v-build-", config.Name))
|
||||
if err != nil {
|
||||
die("TempDir(): %v\n", err)
|
||||
if gopath == "" {
|
||||
gopath, err = ioutil.TempDir("", fmt.Sprintf("%v-build-", config.Name))
|
||||
if err != nil {
|
||||
die("TempDir(): %v\n", err)
|
||||
}
|
||||
}
|
||||
|
||||
verbosePrintf("create GOPATH at %v\n", gopath)
|
||||
if err = updateGopath(gopath, filepath.Join(root, "src"), config.Namespace); err != nil {
|
||||
if err = updateGopath(gopath, root, config.Namespace); err != nil {
|
||||
die("copying files from %v/src to %v/src failed: %v\n", root, gopath, err)
|
||||
}
|
||||
|
||||
vendor := filepath.Join(root, "vendor", "src")
|
||||
vendor := filepath.Join(root, "vendor")
|
||||
if directoryExists(vendor) {
|
||||
if err = updateGopath(gopath, vendor, ""); err != nil {
|
||||
if err = updateGopath(gopath, vendor, filepath.Join(config.Namespace, "vendor")); err != nil {
|
||||
die("copying files from %v to %v failed: %v\n", root, gopath, err)
|
||||
}
|
||||
}
|
||||
@@ -401,7 +572,10 @@ func main() {
|
||||
if err != nil {
|
||||
die("Getwd() returned %v\n", err)
|
||||
}
|
||||
output := filepath.Join(cwd, outputFilename)
|
||||
output := outputFilename
|
||||
if !filepath.IsAbs(output) {
|
||||
output = filepath.Join(cwd, output)
|
||||
}
|
||||
|
||||
version := getVersion()
|
||||
constants := Constants{}
|
||||
@@ -417,7 +591,7 @@ func main() {
|
||||
"-o", output, config.Main,
|
||||
}
|
||||
|
||||
err = build(filepath.Join(gopath, "src"), targetGOOS, targetGOARCH, gopath, args...)
|
||||
err = build(filepath.Join(gopath, "src"), ver, targetGOOS, targetGOARCH, targetGOARM, gopath, args...)
|
||||
if err != nil {
|
||||
die("build failed: %v\n", err)
|
||||
}
|
||||
|
8
changelog/0.6.0_2017-05-29/issue-953
Normal file
8
changelog/0.6.0_2017-05-29/issue-953
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Make `forget` consistent
|
||||
|
||||
The `forget` command was corrected to be more consistent in which snapshots are
|
||||
to be forgotten. It is possible that the new code removes more snapshots than
|
||||
before, so please review what would be deleted by using the `--dry-run` option.
|
||||
|
||||
https://github.com/restic/restic/pull/957
|
||||
https://github.com/restic/restic/issues/953
|
11
changelog/0.6.0_2017-05-29/issue-965
Normal file
11
changelog/0.6.0_2017-05-29/issue-965
Normal file
@@ -0,0 +1,11 @@
|
||||
Enhancement: Unify repository layout for all backends
|
||||
|
||||
Up to now the s3 backend used a special repository layout. We've decided to
|
||||
unify the repository layout and implemented the default layout also for the s3
|
||||
backend. For creating a new repository on s3 with the default layout, use
|
||||
`restic -o s3.layout=default init`. For further commands the option is not
|
||||
necessary any more, restic will automatically detect the correct layout to use.
|
||||
A future version will switch to the default layout for new repositories.
|
||||
|
||||
https://github.com/restic/restic/pull/966
|
||||
https://github.com/restic/restic/issues/965
|
15
changelog/0.6.0_2017-05-29/pull-962
Normal file
15
changelog/0.6.0_2017-05-29/pull-962
Normal file
@@ -0,0 +1,15 @@
|
||||
Enhancement: Improve memory and runtime for the s3 backend
|
||||
|
||||
We've updated the library used for accessing s3, switched to using a lower
|
||||
level API and added caching for some requests. This lead to a decrease in
|
||||
memory usage and a great speedup. In addition, we added benchmark functions for
|
||||
all backends, so we can track improvements over time. The Continuous
|
||||
Integration test service we're using (Travis) now runs the s3 backend tests not
|
||||
only against a Minio server, but also against the Amazon s3 live service, so we
|
||||
should be notified of any regressions much sooner.
|
||||
|
||||
https://github.com/restic/restic/pull/962
|
||||
https://github.com/restic/restic/pull/960
|
||||
https://github.com/restic/restic/pull/946
|
||||
https://github.com/restic/restic/pull/938
|
||||
https://github.com/restic/restic/pull/883
|
8
changelog/0.6.1_2017-06-01/issue-985
Normal file
8
changelog/0.6.1_2017-06-01/issue-985
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Allow multiple parallel idle HTTP connections
|
||||
|
||||
Backends based on HTTP now allow several idle connections in parallel. This
|
||||
is especially important for the REST backend, which (when used with a local
|
||||
server) may create a lot connections and exhaust available ports quickly.
|
||||
|
||||
https://github.com/restic/restic/issues/985
|
||||
https://github.com/restic/restic/pull/986
|
6
changelog/0.6.1_2017-06-01/pull-891
Normal file
6
changelog/0.6.1_2017-06-01/pull-891
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Remove temporary path from binary in `build.go`
|
||||
|
||||
The `build.go` now strips the temporary directory used for compilation from
|
||||
the binary. This is the first step in enabling reproducible builds.
|
||||
|
||||
https://github.com/restic/restic/pull/981
|
7
changelog/0.6.1_2017-06-01/pull-974
Normal file
7
changelog/0.6.1_2017-06-01/pull-974
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Remove regular status reports
|
||||
|
||||
Regular status report: We've removed the status report that was printed
|
||||
every 10 seconds when restic is run non-interactively. You can still force
|
||||
reporting the current status by sending a `USR1` signal to the process.
|
||||
|
||||
https://github.com/restic/restic/pull/974
|
9
changelog/0.7.0_2017-07-01/issue-1013
Normal file
9
changelog/0.7.0_2017-07-01/issue-1013
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Switch back to using the high-level minio-go API for s3
|
||||
|
||||
For the s3 backend we're back to using the high-level API the s3 client library
|
||||
for uploading data, a few users reported dropped connections (which the library
|
||||
will automatically retry now).
|
||||
|
||||
https://github.com/restic/restic/issues/1013
|
||||
https://github.com/restic/restic/issues/1023
|
||||
https://github.com/restic/restic/pull/1025
|
7
changelog/0.7.0_2017-07-01/issue-1021
Normal file
7
changelog/0.7.0_2017-07-01/issue-1021
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Detect invalid backend name and print error
|
||||
|
||||
restic now tries to detect when an invalid/unknown backend is used and
|
||||
returns an error message.
|
||||
|
||||
https://github.com/restic/restic/issues/1021
|
||||
https://github.com/restic/restic/pull/1070
|
8
changelog/0.7.0_2017-07-01/issue-1029
Normal file
8
changelog/0.7.0_2017-07-01/issue-1029
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Remove invalid pack files when `prune` is run
|
||||
|
||||
The `prune` command has been improved and will now remove invalid pack files,
|
||||
for example files that have not been uploaded completely because a backup was
|
||||
interrupted.
|
||||
|
||||
https://github.com/restic/restic/issues/1029
|
||||
https://github.com/restic/restic/pull/1036
|
4
changelog/0.7.0_2017-07-01/issue-512
Normal file
4
changelog/0.7.0_2017-07-01/issue-512
Normal file
@@ -0,0 +1,4 @@
|
||||
Enhancement: Add Backblaze B2 backend
|
||||
|
||||
https://github.com/restic/restic/issues/512
|
||||
https://github.com/restic/restic/pull/978
|
9
changelog/0.7.0_2017-07-01/issue-636
Normal file
9
changelog/0.7.0_2017-07-01/issue-636
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Add dirs `tags` and `hosts` to fuse mount
|
||||
|
||||
The fuse mount now has two more directories: `tags` contains a subdir for
|
||||
each tag, which in turn contains only the snapshots that have this tag. The
|
||||
subdir `hosts` contains a subdir for each host that has a snapshot, and the
|
||||
subdir contains the snapshots for that host.
|
||||
|
||||
https://github.com/restic/restic/issues/636
|
||||
https://github.com/restic/restic/pull/1050
|
8
changelog/0.7.0_2017-07-01/issue-965
Normal file
8
changelog/0.7.0_2017-07-01/issue-965
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Switch to `default` repo layout for the s3 backend
|
||||
|
||||
The default layout for the s3 backend is now `default` (instead of `s3legacy`).
|
||||
Also, there's a new `migrate` command to convert an existing repo, it can be
|
||||
run like this: `restic migrate s3_layout`
|
||||
|
||||
https://github.com/restic/restic/issues/965
|
||||
https://github.com/restic/restic/pull/1004
|
8
changelog/0.7.0_2017-07-01/issue-989
Normal file
8
changelog/0.7.0_2017-07-01/issue-989
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Improve performance of the `find` command
|
||||
|
||||
Improved performance for the `find` command: Restic recognizes paths it has
|
||||
already checked for the files in question, so the number of backend requests
|
||||
is reduced a lot.
|
||||
|
||||
https://github.com/restic/restic/issues/989
|
||||
https://github.com/restic/restic/pull/993
|
4
changelog/0.7.0_2017-07-01/pull-975
Normal file
4
changelog/0.7.0_2017-07-01/pull-975
Normal file
@@ -0,0 +1,4 @@
|
||||
Enhancement: Add new backend for OpenStack Swift
|
||||
|
||||
https://github.com/restic/restic/pull/975
|
||||
https://github.com/restic/restic/pull/648
|
5
changelog/0.7.0_2017-07-01/pull-998
Normal file
5
changelog/0.7.0_2017-07-01/pull-998
Normal file
@@ -0,0 +1,5 @@
|
||||
Enhancement: Improve performance of the fuse mount
|
||||
|
||||
Listing directories which contain large files now is significantly faster.
|
||||
|
||||
https://github.com/restic/restic/pull/998
|
10
changelog/0.7.1_2017-07-22/issue-1055
Normal file
10
changelog/0.7.1_2017-07-22/issue-1055
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Create subdirs below `data/` for local/sftp backends
|
||||
|
||||
The local and sftp backends now create the subdirs below `data/` on
|
||||
open/init. This way, restic makes sure that they always exist. This is
|
||||
connected to an issue for the sftp server.
|
||||
|
||||
https://github.com/restic/restic/issues/1055
|
||||
https://github.com/restic/rest-server/pull/11#issuecomment-309879710
|
||||
https://github.com/restic/restic/pull/1077
|
||||
https://github.com/restic/restic/pull/1105
|
8
changelog/0.7.1_2017-07-22/issue-1067
Normal file
8
changelog/0.7.1_2017-07-22/issue-1067
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Allow loading credentials for s3 from IAM
|
||||
|
||||
When no S3 credentials are specified in the environment variables, restic
|
||||
now tries to load credentials from an IAM instance profile when the s3
|
||||
backend is used.
|
||||
|
||||
https://github.com/restic/restic/issues/1067
|
||||
https://github.com/restic/restic/pull/1086
|
8
changelog/0.7.1_2017-07-22/issue-1073
Normal file
8
changelog/0.7.1_2017-07-22/issue-1073
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Add `migrate` cmd to migrate from `s3legacy` to `default` layout
|
||||
|
||||
The `migrate` command for changing the `s3legacy` layout to the `default` layout
|
||||
for s3 backends has been improved: It can now be restarted with `restic migrate
|
||||
--force s3_layout` and automatically retries operations on error.
|
||||
|
||||
https://github.com/restic/restic/issues/1073
|
||||
https://github.com/restic/restic/pull/1075
|
4
changelog/0.7.1_2017-07-22/issue-1081
Normal file
4
changelog/0.7.1_2017-07-22/issue-1081
Normal file
@@ -0,0 +1,4 @@
|
||||
Enhancement: Clarify semantic for `--tasg` for the `forget` command
|
||||
|
||||
https://github.com/restic/restic/issues/1081
|
||||
https://github.com/restic/restic/pull/1090
|
5
changelog/0.7.1_2017-07-22/pull-1080
Normal file
5
changelog/0.7.1_2017-07-22/pull-1080
Normal file
@@ -0,0 +1,5 @@
|
||||
Enhancement: Ignore chmod() errors on filesystems which do not support it
|
||||
|
||||
https://github.com/restic/restic/pull/1080
|
||||
https://github.com/restic/restic/pull/1112
|
||||
|
3
changelog/0.7.1_2017-07-22/pull-1082
Normal file
3
changelog/0.7.1_2017-07-22/pull-1082
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Print stats on SIGINFO on Darwin and FreeBSD (ctrl+t)
|
||||
|
||||
https://github.com/restic/restic/pull/1082
|
9
changelog/0.7.1_2017-07-22/pull-1115
Normal file
9
changelog/0.7.1_2017-07-22/pull-1115
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Fix `prune`, only include existing files in indexes
|
||||
|
||||
A bug was found (and corrected) in the index rebuilding after prune, which led
|
||||
to indexes which include blobs that were not present in the repo any more.
|
||||
There were already checks in place which detected this situation and aborted
|
||||
with an error message. A new run of either `prune` or `rebuild-index` corrected
|
||||
the index files. This is now fixed and a test has been added to detect this.
|
||||
|
||||
https://github.com/restic/restic/pull/1115
|
8
changelog/0.7.2_2017-09-13/issue-1132
Normal file
8
changelog/0.7.2_2017-09-13/issue-1132
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Make `key` command always prompt for a password
|
||||
|
||||
The `key` command now prompts for a password even if the original password
|
||||
to access a repo has been specified via the `RESTIC_PASSWORD` environment
|
||||
variable or a password file.
|
||||
|
||||
https://github.com/restic/restic/issues/1132
|
||||
https://github.com/restic/restic/pull/1133
|
8
changelog/0.7.2_2017-09-13/issue-1167
Normal file
8
changelog/0.7.2_2017-09-13/issue-1167
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Do not create a local repo unless `init` is used
|
||||
|
||||
When a restic command other than `init` is used with a local repository and the
|
||||
repository directory does not exist, restic creates the directory structure.
|
||||
That's an error, only the `init` command should create the dir.
|
||||
|
||||
https://github.com/restic/restic/issues/1167
|
||||
https://github.com/restic/restic/pull/1182
|
4
changelog/0.7.2_2017-09-13/issue-1179
Normal file
4
changelog/0.7.2_2017-09-13/issue-1179
Normal file
@@ -0,0 +1,4 @@
|
||||
Enhancement: Resolve name conflicts, append a counter
|
||||
|
||||
https://github.com/restic/restic/issues/1179
|
||||
https://github.com/restic/restic/pull/1209
|
7
changelog/0.7.2_2017-09-13/issue-1208
Normal file
7
changelog/0.7.2_2017-09-13/issue-1208
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Add `--compact` to `snapshots` command
|
||||
|
||||
The option `--compact` was added to the `snapshots` command to get a better
|
||||
overview of the snapshots in a repo. It limits each snapshot to a single line.
|
||||
|
||||
https://github.com/restic/restic/issues/1218
|
||||
https://github.com/restic/restic/pull/1223
|
10
changelog/0.7.2_2017-09-13/issue-317
Normal file
10
changelog/0.7.2_2017-09-13/issue-317
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Add `--exclude-caches` and `--exclude-if-present`
|
||||
|
||||
A new option `--exclude-caches` was added that allows excluding cache
|
||||
directories (that are tagged as such). This is a special case of a more generic
|
||||
option `--exclude-if-present` which excludes a directory if a file with a
|
||||
specific name (and contents) is present.
|
||||
|
||||
https://github.com/restic/restic/issues/317
|
||||
https://github.com/restic/restic/pull/1170
|
||||
https://github.com/restic/restic/pull/1224
|
4
changelog/0.7.2_2017-09-13/issues-697
Normal file
4
changelog/0.7.2_2017-09-13/issues-697
Normal file
@@ -0,0 +1,4 @@
|
||||
Enhancement: Automatically generate man pages for all restic commands
|
||||
|
||||
https://github.com/restic/restic/issues/697
|
||||
https://github.com/restic/restic/pull/1147
|
3
changelog/0.7.2_2017-09-13/pull-1044
Normal file
3
changelog/0.7.2_2017-09-13/pull-1044
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Improve `restore`, do not traverse/load excluded directories
|
||||
|
||||
https://github.com/restic/restic/pull/1044
|
3
changelog/0.7.2_2017-09-13/pull-1061
Normal file
3
changelog/0.7.2_2017-09-13/pull-1061
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Add Dockerfile and official Docker image
|
||||
|
||||
https://github.com/restic/restic/pull/1061
|
7
changelog/0.7.2_2017-09-13/pull-1126
Normal file
7
changelog/0.7.2_2017-09-13/pull-1126
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Use the standard Go git repository layout, use `dep` for vendoring
|
||||
|
||||
The git repository layout was changed to resemble the layout typically used in
|
||||
Go projects, we're not using `gb` for building restic any more and vendoring
|
||||
the dependencies is now taken care of by `dep`.
|
||||
|
||||
https://github.com/restic/restic/pull/1126
|
5
changelog/0.7.2_2017-09-13/pull-1134
Normal file
5
changelog/0.7.2_2017-09-13/pull-1134
Normal file
@@ -0,0 +1,5 @@
|
||||
Enhancement: Add support for storing backups on Google Cloud Storage
|
||||
|
||||
https://github.com/restic/restic/pull/1134
|
||||
https://github.com/restic/restic/pull/1052
|
||||
https://github.com/restic/restic/issues/211
|
3
changelog/0.7.2_2017-09-13/pull-1144
Normal file
3
changelog/0.7.2_2017-09-13/pull-1144
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Properly report errors when reading files with exclude patterns
|
||||
|
||||
https://github.com/restic/restic/pull/1144
|
8
changelog/0.7.2_2017-09-13/pull-1149
Normal file
8
changelog/0.7.2_2017-09-13/pull-1149
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Add support for storing backups on Microsoft Azure Blob Storage
|
||||
|
||||
The library we're using to access the service requires Go 1.8, so restic now
|
||||
needs at least Go 1.8.
|
||||
|
||||
https://github.com/restic/restic/pull/1149
|
||||
https://github.com/restic/restic/pull/1059
|
||||
https://github.com/restic/restic/issues/609
|
3
changelog/0.7.2_2017-09-13/pull-1164
Normal file
3
changelog/0.7.2_2017-09-13/pull-1164
Normal file
@@ -0,0 +1,3 @@
|
||||
Bugfix: Make the `key remove` command behave as documented
|
||||
|
||||
https://github.com/restic/restic/pull/1164
|
8
changelog/0.7.2_2017-09-13/pull-1191
Normal file
8
changelog/0.7.2_2017-09-13/pull-1191
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Make sure to write profiling files on interrupt
|
||||
|
||||
Since a few releases restic had the ability to write profiling files for memory
|
||||
and CPU usage when `debug` is enabled. It was discovered that when restic is
|
||||
interrupted (ctrl+c is pressed), the proper shutdown hook is not run. This is
|
||||
now corrected.
|
||||
|
||||
https://github.com/restic/restic/pull/1191
|
3
changelog/0.7.2_2017-09-13/pull-1196
Normal file
3
changelog/0.7.2_2017-09-13/pull-1196
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Add `--group-by` to `forget` command for flexible grouping
|
||||
|
||||
https://github.com/restic/restic/pull/1196
|
5
changelog/0.7.2_2017-09-13/pull-1203
Normal file
5
changelog/0.7.2_2017-09-13/pull-1203
Normal file
@@ -0,0 +1,5 @@
|
||||
Enhancement: Print stats on all BSD systems when SIGINFO (ctrl+t) is received
|
||||
|
||||
https://github.com/restic/restic/pull/1203
|
||||
https://github.com/restic/restic/pull/1082#issuecomment-326279920
|
||||
|
3
changelog/0.7.2_2017-09-13/pull-1205
Normal file
3
changelog/0.7.2_2017-09-13/pull-1205
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Allow specifying time/date for a backup with `--time`
|
||||
|
||||
https://github.com/restic/restic/pull/1205
|
9
changelog/0.7.3_2017-09-20/issue-1246
Normal file
9
changelog/0.7.3_2017-09-20/issue-1246
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: List all files stored in Google Cloud Storage
|
||||
|
||||
For large backups stored in Google Cloud Storage, the `prune` command fails
|
||||
because listing only returns the first 1000 files. This has been corrected, no
|
||||
data is lost in the process. In addition, a plausibility check was added to
|
||||
`prune`.
|
||||
|
||||
https://github.com/restic/restic/issues/1246
|
||||
https://github.com/restic/restic/pull/1247
|
9
changelog/0.8.0_2017-11-26/issue-1102
Normal file
9
changelog/0.8.0_2017-11-26/issue-1102
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Add subdirectory `ids` to fuse mount
|
||||
|
||||
The fuse mount now has an `ids` subdirectory which contains the snapshots below
|
||||
their (short) IDs.
|
||||
|
||||
https://github.com/restic/restic/issues/1102
|
||||
https://github.com/restic/restic/pull/1299
|
||||
https://github.com/restic/restic/pull/1320
|
||||
|
10
changelog/0.8.0_2017-11-26/issue-1114
Normal file
10
changelog/0.8.0_2017-11-26/issue-1114
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Add `--cacert` to specify TLS certificates to check against
|
||||
|
||||
We've added the `--cacert` option which can be used to pass one (or more) CA
|
||||
certificates to restic. These are used in addition to the system CA
|
||||
certificates to verify HTTPS certificates (e.g. for the REST backend).
|
||||
|
||||
https://github.com/restic/restic/issues/1114
|
||||
https://github.com/restic/restic/pull/1276
|
||||
|
||||
|
9
changelog/0.8.0_2017-11-26/issue-1216
Normal file
9
changelog/0.8.0_2017-11-26/issue-1216
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Add upload/download limiting
|
||||
|
||||
We've added support for rate limiting through `--limit-upload` and
|
||||
`--limit-download` flags.
|
||||
|
||||
https://github.com/restic/restic/issues/1216
|
||||
https://github.com/restic/restic/pull/1336
|
||||
https://github.com/restic/restic/pull/1358
|
||||
|
7
changelog/0.8.0_2017-11-26/issue-1256
Normal file
7
changelog/0.8.0_2017-11-26/issue-1256
Normal file
@@ -0,0 +1,7 @@
|
||||
Bugfix: Re-enable workaround for S3 backend
|
||||
|
||||
We've re-enabled a workaround for `minio-go` (the library we're using to
|
||||
access s3 backends), this reduces memory usage.
|
||||
|
||||
https://github.com/restic/restic/issues/1256
|
||||
https://github.com/restic/restic/pull/1267
|
6
changelog/0.8.0_2017-11-26/issue-1271
Normal file
6
changelog/0.8.0_2017-11-26/issue-1271
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Cache results for excludes for `backup`
|
||||
|
||||
The `backup` command now caches the result of excludes for a directory.
|
||||
|
||||
https://github.com/restic/restic/issues/1271
|
||||
https://github.com/restic/restic/pull/1326
|
9
changelog/0.8.0_2017-11-26/issue-1274
Normal file
9
changelog/0.8.0_2017-11-26/issue-1274
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Add `generate` command, replaces `manpage` and `autocomplete`
|
||||
|
||||
The `generate` command has been added, which replaces the now removed
|
||||
commands `manpage` and `autocomplete`. This release of restic contains the
|
||||
most recent manpages in `doc/man` and the auto-completion files for bash and
|
||||
zsh in `doc/bash-completion.sh` and `doc/zsh-completion.zsh`
|
||||
|
||||
https://github.com/restic/restic/issues/1274
|
||||
https://github.com/restic/restic/pull/1282
|
8
changelog/0.8.0_2017-11-26/issue-1291
Normal file
8
changelog/0.8.0_2017-11-26/issue-1291
Normal file
@@ -0,0 +1,8 @@
|
||||
Bugfix: Reuse backend TCP connections to BackBlaze B2
|
||||
|
||||
A bug was discovered in the library we're using to access Backblaze, it now
|
||||
reuses already established TCP connections which should be a lot faster and
|
||||
not cause network failures any more.
|
||||
|
||||
https://github.com/restic/restic/issues/1291
|
||||
https://github.com/restic/restic/pull/1301
|
7
changelog/0.8.0_2017-11-26/issue-1367
Normal file
7
changelog/0.8.0_2017-11-26/issue-1367
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Allow comments in files read from via `--file-from`
|
||||
|
||||
When the list of files/dirs to be saved is read from a file with
|
||||
`--files-from`, comment lines (starting with `#`) are now ignored.
|
||||
|
||||
https://github.com/restic/restic/issues/1367
|
||||
https://github.com/restic/restic/pull/1368
|
18
changelog/0.8.0_2017-11-26/issue-1445
Normal file
18
changelog/0.8.0_2017-11-26/issue-1445
Normal file
@@ -0,0 +1,18 @@
|
||||
Security: Prevent writing outside the target directory during restore
|
||||
|
||||
A vulnerability was found in the restic restorer, which allowed attackers in
|
||||
special circumstances to restore files to a location outside of the target
|
||||
directory. Due to the circumstances we estimate this to be a low-risk
|
||||
vulnerability, but urge all users to upgrade to the latest version of restic.
|
||||
|
||||
Exploiting the vulnerability requires a Linux/Unix system which saves backups
|
||||
via restic and a Windows systems which restores files from the repo. In
|
||||
addition, the attackers need to be able to create create files with arbitrary
|
||||
names which are then saved to the restic repo. For example, by creating a file
|
||||
named "..\test.txt" (which is a perfectly legal filename on Linux) and
|
||||
restoring a snapshot containing this file on Windows, it would be written to
|
||||
the parent of the target directory.
|
||||
|
||||
We'd like to thank Tyler Spivey for reporting this responsibly!
|
||||
|
||||
https://github.com/restic/restic/pull/1445
|
9
changelog/0.8.0_2017-11-26/issue-448
Normal file
9
changelog/0.8.0_2017-11-26/issue-448
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: sftp backend prompts for password
|
||||
|
||||
The sftp backend now prompts for the password if a password is necessary for
|
||||
login.
|
||||
|
||||
https://github.com/restic/restic/issues/448
|
||||
https://github.com/restic/restic/pull/1270
|
||||
|
||||
|
7
changelog/0.8.0_2017-11-26/issue-510
Normal file
7
changelog/0.8.0_2017-11-26/issue-510
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Add `dump` command
|
||||
|
||||
We've added the `dump` command which prints a file from a snapshot to
|
||||
stdout. This can e.g. be used to restore files read with `backup --stdin`.
|
||||
|
||||
https://github.com/restic/restic/issues/510
|
||||
https://github.com/restic/restic/pull/1346
|
23
changelog/0.8.0_2017-11-26/pull-1040
Normal file
23
changelog/0.8.0_2017-11-26/pull-1040
Normal file
@@ -0,0 +1,23 @@
|
||||
Enhancement: Add local metadata cache
|
||||
|
||||
We've added a local cache for metadata so that restic doesn't need to load
|
||||
all metadata (snapshots, indexes, ...) from the repo each time it starts. By
|
||||
default the cache is active, but there's a new global option `--no-cache`
|
||||
that can be used to disable the cache. By deafult, the cache a standard
|
||||
cache folder for the OS, which can be overridden with `--cache-dir`. The
|
||||
cache will automatically populate, indexes and snapshots are saved as they
|
||||
are loaded. Cache directories for repos that haven't been used recently can
|
||||
automatically be removed by restic with the `--cleanup-cache` option.
|
||||
|
||||
A related change was to by default create pack files in the repo that contain
|
||||
either data or metadata, not both mixed together. This allows easy caching of
|
||||
only the metadata files. The next run of `restic prune` will untangle mixed
|
||||
files automatically.
|
||||
|
||||
https://github.com/restic/restic/pull/1040
|
||||
https://github.com/restic/restic/issues/29
|
||||
https://github.com/restic/restic/issues/738
|
||||
https://github.com/restic/restic/issues/282
|
||||
https://github.com/restic/restic/pull/1287
|
||||
https://github.com/restic/restic/pull/1436
|
||||
https://github.com/restic/restic/pull/1265
|
6
changelog/0.8.0_2017-11-26/pull-1249
Normal file
6
changelog/0.8.0_2017-11-26/pull-1249
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add `latest` symlink in fuse mount
|
||||
|
||||
The directory structure in the fuse mount now exposes a symlink `latest`
|
||||
which points to the latest snapshot in that particular directory.
|
||||
|
||||
https://github.com/restic/restic/pull/1249
|
6
changelog/0.8.0_2017-11-26/pull-1269
Normal file
6
changelog/0.8.0_2017-11-26/pull-1269
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Add `--compact` to `forget` command
|
||||
|
||||
The option `--compact` was added to the `forget` command to provide the same
|
||||
compact view as the `snapshots` command.
|
||||
|
||||
https://github.com/restic/restic/pull/1269
|
7
changelog/0.8.0_2017-11-26/pull-1281
Normal file
7
changelog/0.8.0_2017-11-26/pull-1281
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Google Cloud Storage backend needs less permissions
|
||||
|
||||
The Google Cloud Storage backend no longer requires the service account to
|
||||
have the `storage.buckets.get` permission ("Storage Admin" role) in `restic
|
||||
init` if the bucket already exists.
|
||||
|
||||
https://github.com/restic/restic/pull/1281
|
7
changelog/0.8.0_2017-11-26/pull-1317
Normal file
7
changelog/0.8.0_2017-11-26/pull-1317
Normal file
@@ -0,0 +1,7 @@
|
||||
Bugfix: Run prune when `forget --prune` is called with just snapshot IDs
|
||||
|
||||
A bug in the `forget` command caused `prune` not to be run when `--prune` was
|
||||
specified without a policy, e.g. when only snapshot IDs that should be
|
||||
forgotten are listed manually.
|
||||
|
||||
https://github.com/restic/restic/pull/1317
|
8
changelog/0.8.0_2017-11-26/pull-1319
Normal file
8
changelog/0.8.0_2017-11-26/pull-1319
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Make `check` print `no errors found` explicitly
|
||||
|
||||
The `check` command now explicetly prints `No errors were found` when no errors
|
||||
could be found.
|
||||
|
||||
https://github.com/restic/restic/pull/1319
|
||||
https://github.com/restic/restic/issues/1303
|
||||
|
3
changelog/0.8.0_2017-11-26/pull-1353
Normal file
3
changelog/0.8.0_2017-11-26/pull-1353
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Retry failed backend requests
|
||||
|
||||
https://github.com/restic/restic/pull/1353
|
10
changelog/0.8.0_2017-11-26/pull-1437
Normal file
10
changelog/0.8.0_2017-11-26/pull-1437
Normal file
@@ -0,0 +1,10 @@
|
||||
Bugfix: Remove implicit path `/restic` for the s3 backend
|
||||
|
||||
The s3 backend used the subdir `restic` within a bucket if no explicit path
|
||||
after the bucket name was specified. Since this version, restic does not use
|
||||
this default path any more. If you created a repo on s3 in a bucket without
|
||||
specifying a path within the bucket, you need to add `/restic` at the end of
|
||||
the repository specification to access your repo: `s3:s3.amazonaws.com/bucket/restic`
|
||||
|
||||
https://github.com/restic/restic/pull/1437
|
||||
https://github.com/restic/restic/issues/1292
|
4
changelog/0.8.1_2017-12-27/issue-1457
Normal file
4
changelog/0.8.1_2017-12-27/issue-1457
Normal file
@@ -0,0 +1,4 @@
|
||||
Bugfix: Improve s3 backend with DigitalOcean Spaces
|
||||
|
||||
https://github.com/restic/restic/issues/1457
|
||||
https://github.com/restic/restic/pull/1459
|
9
changelog/0.8.1_2017-12-27/pull-1436
Normal file
9
changelog/0.8.1_2017-12-27/pull-1436
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Add code to detect old cache directories
|
||||
|
||||
We've added code to detect old cache directories of repositories that
|
||||
haven't been used in a long time, restic now prints a note when it detects
|
||||
that such dirs exist. Also, the option `--cleanup-cache` was added to
|
||||
automatically remove such directories. That's not a problem because the
|
||||
cache will be rebuild once a repo is accessed again.
|
||||
|
||||
https://github.com/restic/restic/pull/1436
|
6
changelog/0.8.1_2017-12-27/pull-1439
Normal file
6
changelog/0.8.1_2017-12-27/pull-1439
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Improve cancellation logic
|
||||
|
||||
The cancellation logic was improved, restic can now shut down cleanly when
|
||||
requested to do so (e.g. via ctrl+c).
|
||||
|
||||
https://github.com/restic/restic/pull/1439
|
9
changelog/0.8.1_2017-12-27/pull-1452
Normal file
9
changelog/0.8.1_2017-12-27/pull-1452
Normal file
@@ -0,0 +1,9 @@
|
||||
Change: Do not save atime by default
|
||||
|
||||
By default, the access time for files and dirs is not saved any more. It is
|
||||
not possible to reliably disable updating the access time during a backup,
|
||||
so for the next backup the access time is different again. This means a lot
|
||||
of metadata is saved. If you want to save the access time anyway, pass
|
||||
`--with-atime` to the `backup` command.
|
||||
|
||||
https://github.com/restic/restic/pull/1452
|
6
changelog/0.8.1_2017-12-27/pull-1454
Normal file
6
changelog/0.8.1_2017-12-27/pull-1454
Normal file
@@ -0,0 +1,6 @@
|
||||
Bugfix: Correct cache dir location for Windows and Darwin
|
||||
|
||||
The cache directory on Windows and Darwin was not correct, instead the
|
||||
directory `.cache` was used.
|
||||
|
||||
https://github.com/restic/restic/pull/1454
|
9
changelog/0.8.1_2017-12-27/pull-1459
Normal file
9
changelog/0.8.1_2017-12-27/pull-1459
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Disable handling SIGPIPE
|
||||
|
||||
We've disabled handling SIGPIPE again. Turns out, writing to broken TCP
|
||||
connections also raised SIGPIPE, so restic exits on the first write to a
|
||||
broken connection. Instead, restic should retry the request.
|
||||
|
||||
https://github.com/restic/restic/pull/1459
|
||||
https://github.com/restic/restic/issues/1457
|
||||
https://github.com/restic/restic/issues/1466
|
8
changelog/0.8.1_2017-12-27/pull-1462
Normal file
8
changelog/0.8.1_2017-12-27/pull-1462
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Add the `diff` command
|
||||
|
||||
The command `diff` was added, it allows comparing two snapshots and listing
|
||||
all differences.
|
||||
|
||||
https://github.com/restic/restic/issues/11
|
||||
https://github.com/restic/restic/issues/1460
|
||||
https://github.com/restic/restic/pull/1462
|
4
changelog/0.8.2_2018-02-17/issue-1506
Normal file
4
changelog/0.8.2_2018-02-17/issue-1506
Normal file
@@ -0,0 +1,4 @@
|
||||
Bugfix: Limit bandwith at the http.RoundTripper for HTTP based backends
|
||||
|
||||
https://github.com/restic/restic/issues/1506
|
||||
https://github.com/restic/restic/pull/1511
|
9
changelog/0.8.2_2018-02-17/issue-1512
Normal file
9
changelog/0.8.2_2018-02-17/issue-1512
Normal file
@@ -0,0 +1,9 @@
|
||||
Bugfix: Restore directory permissions as the last step
|
||||
|
||||
This change allows restoring into directories that were not writable during
|
||||
backup. Before, restic created the directory, set the read-only mode and then
|
||||
failed to create files in the directory. This change now restores the directory
|
||||
(with its permissions) as the very last step.
|
||||
|
||||
https://github.com/restic/restic/issues/1512
|
||||
https://github.com/restic/restic/pull/1536
|
8
changelog/0.8.2_2018-02-17/issue-1522
Normal file
8
changelog/0.8.2_2018-02-17/issue-1522
Normal file
@@ -0,0 +1,8 @@
|
||||
Enhancement: Add support for TLS client certificate authentication
|
||||
|
||||
Support has been added for using a TLS client certificate for authentication to
|
||||
HTTP based backend. A file containing the PEM encoded private key and
|
||||
certificate can be set using the `--tls-client-cert` option.
|
||||
|
||||
https://github.com/restic/restic/issues/1522
|
||||
https://github.com/restic/restic/pull/1524
|
4
changelog/0.8.2_2018-02-17/issue-1528
Normal file
4
changelog/0.8.2_2018-02-17/issue-1528
Normal file
@@ -0,0 +1,4 @@
|
||||
Bugfix: Correctly create missing subdirs in data/
|
||||
|
||||
https://github.com/restic/restic/issues/1528
|
||||
https://github.com/restic/restic/pull/1529
|
7
changelog/0.8.2_2018-02-17/issue-1541
Normal file
7
changelog/0.8.2_2018-02-17/issue-1541
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Reduce number of remote requests during repository check
|
||||
|
||||
This change eliminates redundant remote repository calls and significantly
|
||||
improves repository check time.
|
||||
|
||||
https://github.com/restic/restic/issues/1541
|
||||
https://github.com/restic/restic/pull/1548
|
9
changelog/0.8.2_2018-02-17/issue-1567
Normal file
9
changelog/0.8.2_2018-02-17/issue-1567
Normal file
@@ -0,0 +1,9 @@
|
||||
Enhancement: Reduce number of backend requests for rebuild-index and prune
|
||||
|
||||
We've found a way to reduce then number of backend requests for the
|
||||
`rebuild-index` and `prune` operations. This significantly speeds up the
|
||||
operations for high-latency backends.
|
||||
|
||||
https://github.com/restic/restic/issues/1567
|
||||
https://github.com/restic/restic/pull/1574
|
||||
https://github.com/restic/restic/pull/1575
|
7
changelog/0.8.2_2018-02-17/issue-1590
Normal file
7
changelog/0.8.2_2018-02-17/issue-1590
Normal file
@@ -0,0 +1,7 @@
|
||||
Bugfix: Strip spaces for lines read via --files-from
|
||||
|
||||
Leading and trailing spaces in lines read via `--files-from` are now stripped,
|
||||
so it behaves the same as with lines read via `--exclude-file`.
|
||||
|
||||
https://github.com/restic/restic/issues/1590
|
||||
https://github.com/restic/restic/pull/1613
|
3
changelog/0.8.2_2018-02-17/pull-1507
Normal file
3
changelog/0.8.2_2018-02-17/pull-1507
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Only reload snapshots once per minute for fuse mount
|
||||
|
||||
https://github.com/restic/restic/pull/1507
|
7
changelog/0.8.2_2018-02-17/pull-1538
Normal file
7
changelog/0.8.2_2018-02-17/pull-1538
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Reduce memory allocations for querying the index
|
||||
|
||||
This change reduces the internal memory allocations when the index data
|
||||
structures in memory are queried if a blob (part of a file) already exists in
|
||||
the repo. It should speed up backup a bit, and maybe even reduce RAM usage.
|
||||
|
||||
https://github.com/restic/restic/pull/1538
|
7
changelog/0.8.2_2018-02-17/pull-1549
Normal file
7
changelog/0.8.2_2018-02-17/pull-1549
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: Speed up querying across indices and scanning existing files
|
||||
|
||||
This change increases the whenever a blob (part of a file) is searched for in a
|
||||
restic repository. This will reduce cpu usage some when backing up files already
|
||||
backed up by restic. Cpu usage is further decreased when scanning files.
|
||||
|
||||
https://github.com/restic/restic/pull/1549
|
7
changelog/0.8.2_2018-02-17/pull-1554
Normal file
7
changelog/0.8.2_2018-02-17/pull-1554
Normal file
@@ -0,0 +1,7 @@
|
||||
Enhancement: fuse/mount: Correctly handle EOF, add template option
|
||||
|
||||
We've added the `--snapshot-template` string, which can be used to specify a
|
||||
template for a snapshot directory. In addition, accessing data after the end of
|
||||
a file via the fuse mount is now handled correctly.
|
||||
|
||||
https://github.com/restic/restic/pull/1554
|
10
changelog/0.8.2_2018-02-17/pull-1564
Normal file
10
changelog/0.8.2_2018-02-17/pull-1564
Normal file
@@ -0,0 +1,10 @@
|
||||
Enhancement: Don't terminate ssh on SIGINT
|
||||
|
||||
We've reworked the code which runs the `ssh` login for the sftp backend so that
|
||||
it can prompt for a password (if needed) but does not exit when the user
|
||||
presses CTRL+C (SIGINT) e.g. during backup. This allows restic to properly shut
|
||||
down when it receives SIGINT and remove the lock file from the repo, afterwards
|
||||
exiting the `ssh` process.
|
||||
|
||||
https://github.com/restic/restic/pull/1564
|
||||
https://github.com/restic/restic/pull/1588
|
3
changelog/0.8.2_2018-02-17/pull-1579
Normal file
3
changelog/0.8.2_2018-02-17/pull-1579
Normal file
@@ -0,0 +1,3 @@
|
||||
Enhancement: Retry Backend.List() in case of errors
|
||||
|
||||
https://github.com/restic/restic/pull/1579
|
12
changelog/0.8.2_2018-02-17/pull-1584
Normal file
12
changelog/0.8.2_2018-02-17/pull-1584
Normal file
@@ -0,0 +1,12 @@
|
||||
Enhancement: Limit index file size
|
||||
|
||||
Before, restic would create a single new index file on `prune` or
|
||||
`rebuild-index`, this may lead to memory problems when this huge index is
|
||||
created and loaded again. We're now limiting the size of the index file, and
|
||||
split newly created index files into several smaller ones. This allows restic
|
||||
to be more memory-efficient.
|
||||
|
||||
https://github.com/restic/restic/pull/1584
|
||||
https://github.com/restic/restic/issues/1412
|
||||
https://github.com/restic/restic/issues/979
|
||||
https://github.com/restic/restic/issues/526
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user