Compare commits
2709 Commits
v2.32.0-rc
...
v2.35.8
Author | SHA1 | Date | |
---|---|---|---|
7380a72f6b | |||
8cd052ea53 | |||
abcb63fb70 | |||
d6e9f67a8e | |||
3a19048ce4 | |||
bcd874d50f | |||
b8787a98db | |||
31f7fe5e34 | |||
ea56f91275 | |||
92957d8427 | |||
b524e896b6 | |||
668f2d5361 | |||
528290f8c6 | |||
4fe5d0b10a | |||
18e2b1cfc8 | |||
3bb3d6bac5 | |||
e91cfe6085 | |||
a5bb10fd5e | |||
c4137be0f5 | |||
29198213c9 | |||
9db05711c9 | |||
2f3b28f272 | |||
4989c35688 | |||
fef08dd32e | |||
8453685d04 | |||
e4cb3693a4 | |||
3c7896e362 | |||
6f5ff3aa31 | |||
0737200a06 | |||
0a1dc55c40 | |||
5843080c85 | |||
321854ac46 | |||
0c8d22abaf | |||
7c811ed5e5 | |||
a2b2173cfe | |||
c025b4b2f1 | |||
d99728b2ca | |||
a36df79a37 | |||
e4298ccd7f | |||
8516dac1e1 | |||
07f91e5e79 | |||
a69043d510 | |||
18bc8eb7b5 | |||
b0e3e2d06b | |||
fda237cb64 | |||
86f6f4fa91 | |||
79e0626b39 | |||
20854bc47a | |||
c03ffcff4e | |||
417fb91b5d | |||
b7a92d078b | |||
6a53a59bf9 | |||
91da4a29e1 | |||
a7237f5ae9 | |||
bd6d3de01f | |||
f44e6a2105 | |||
4bd481e0ad | |||
4fab049258 | |||
ed4404af3c | |||
87248c5933 | |||
2aedeff35f | |||
aeb93d7da2 | |||
0bbcf95194 | |||
e14d6b8408 | |||
394a759d2b | |||
a3033a68ac | |||
2c9a4c7310 | |||
fade728df1 | |||
bffc762f87 | |||
cf8f6ce02a | |||
58325b93c5 | |||
c508c30968 | |||
f39fe8fcb2 | |||
25d7cb600c | |||
012e0d76dc | |||
f8bf6b8f3d | |||
0227130244 | |||
02f4981723 | |||
fbabbc30e7 | |||
6c9466944c | |||
3748b5b7f5 | |||
7fe9bf55b8 | |||
5f22dcc02d | |||
d96ea538e8 | |||
32e357b6df | |||
8a755eddf5 | |||
82689d5e5d | |||
16128765d7 | |||
b7b37a3371 | |||
27ab4784d5 | |||
f8587c31c9 | |||
a59a8c687f | |||
bb3a9265e5 | |||
e0bfc0b3b9 | |||
6662a836eb | |||
3305300f4c | |||
304a50adff | |||
f930a23943 | |||
81c2d4c3a5 | |||
937b71cc8b | |||
17d23e8a38 | |||
522cc87fdc | |||
48050c42c7 | |||
1de69c0cdd | |||
f6e0b9f389 | |||
b49f309aa1 | |||
81dc898df9 | |||
a244dc5b0a | |||
3c50032ff5 | |||
dfa6b32b5e | |||
d74b1fd54f | |||
a60a66e409 | |||
e1e12e97ac | |||
447ac906e1 | |||
34ace8bad0 | |||
2455720950 | |||
8d0d48cf21 | |||
eb22e7dfa2 | |||
868154bb1c | |||
ac8a1db867 | |||
be85cfc4db | |||
478a426f14 | |||
7800e1dccf | |||
3957f3c84e | |||
af778cd9be | |||
9cbd2827c5 | |||
ecf9b4a443 | |||
122512967e | |||
abd4d67ab0 | |||
ef374dd9b8 | |||
092d3a2bf9 | |||
067aa8fb41 | |||
4a7dab5ce4 | |||
0ca6ead81e | |||
71ad7fe1bc | |||
32696a4cbe | |||
a1d4f67c12 | |||
f4a32a550f | |||
0d3beb71da | |||
0f21b8f468 | |||
225d2d50cc | |||
ac7e57fa28 | |||
f8d510ed0b | |||
99f4abb8da | |||
8a96dbcb33 | |||
7de0c306f7 | |||
6f054f9fb3 | |||
359da658ae | |||
aef3d5948c | |||
f2eed22852 | |||
378eaded1a | |||
80c525c4ac | |||
eebfde3f21 | |||
656d9a24f6 | |||
fc0c773028 | |||
5b1c746c35 | |||
2f8809f9a1 | |||
88b7be68a4 | |||
3b0bf27049 | |||
b779214eaf | |||
6b11e3d52e | |||
b9063afda1 | |||
ae9abbb63e | |||
5f1a3fec8c | |||
d516b2db0a | |||
2f0dde7852 | |||
1f65dd6ae6 | |||
1530434434 | |||
09f66d65f8 | |||
17083c79ae | |||
0f85c4a30b | |||
bb50ec3cc3 | |||
e47363e5a8 | |||
53ef17d3ee | |||
1f480d5127 | |||
4d0b43aa76 | |||
93fbff09eb | |||
87ed4fc046 | |||
303b876f76 | |||
9bcd7a8eca | |||
201b0c7af6 | |||
44de39c45c | |||
6a2381a3e5 | |||
cb95038137 | |||
fdcad5a53e | |||
8959555cee | |||
bdc77d1d68 | |||
2a9a5862e5 | |||
6e7ad1e4c2 | |||
898225ba04 | |||
4c53a8c20f | |||
f120b65cd4 | |||
ff5b7913f0 | |||
89bece5c8c | |||
c6e19e47a6 | |||
7ea759cf9b | |||
9e2b35d764 | |||
0fff4ea346 | |||
519947b69a | |||
87953304da | |||
b3d4896aad | |||
297ca895a2 | |||
6327f0efed | |||
159af2a97f | |||
ea0fca8d2a | |||
7ff31e1c72 | |||
50b2d72e11 | |||
e2724c1ed1 | |||
80dabf99ee | |||
0f8f20f222 | |||
af4e5f569b | |||
0330edb239 | |||
15f002812f | |||
2b95d94b05 | |||
b56bd95bbc | |||
6bcc4e2c7d | |||
ee27abd30d | |||
fe7f7ad36c | |||
90999dd686 | |||
ffb9f29809 | |||
c8464a3df9 | |||
df3c41adeb | |||
36b65715a4 | |||
9a329bdb49 | |||
31e3912369 | |||
22d2f70e85 | |||
f2b255141b | |||
5906910794 | |||
cac15b3fb4 | |||
65387fd5eb | |||
14a38adf53 | |||
1ffcbaa1a5 | |||
12f82b0dd7 | |||
453cef7455 | |||
83ca08298e | |||
2a72807f6d | |||
c9c082850d | |||
4e2e2a4ffe | |||
a4510f8106 | |||
cde28af37b | |||
68d1da41c4 | |||
a5c97b0164 | |||
e1e1de0c6d | |||
0517f591ca | |||
68d924e1de | |||
cb57f25021 | |||
4b1fd48874 | |||
38ad274f94 | |||
05b345af64 | |||
f91e43e2cd | |||
59b1ff19f0 | |||
79aed79241 | |||
c39fc06b99 | |||
90d242d36e | |||
6e22345591 | |||
27a70fa044 | |||
c17de5a505 | |||
2c5410480e | |||
def8c6a05d | |||
9b6eda0785 | |||
c0450ca098 | |||
0669bdf4eb | |||
4b51386bbf | |||
bc61dbac77 | |||
78e696c9dd | |||
626f2cabe6 | |||
8ab404ea04 | |||
077e120a1e | |||
114d64b783 | |||
43f196cec2 | |||
01ea04f76e | |||
3c0e417827 | |||
b48c69c3c8 | |||
9dbb375f94 | |||
be69d35e48 | |||
321f7f4fa4 | |||
98ab07ace5 | |||
b6f538f296 | |||
66f6c18e5b | |||
09481fec21 | |||
97d6fb5a1f | |||
4a9b204920 | |||
58d4d7f1c5 | |||
e83ba647f7 | |||
9afe4d9f6b | |||
c91b0b7c72 | |||
5d522cddfd | |||
2043ce828e | |||
2a6c7f996e | |||
8292c148df | |||
88a516aca0 | |||
bb14cfdfd7 | |||
a165484047 | |||
d9fc3a987b | |||
76987b8628 | |||
2b755b3371 | |||
ead6767ad7 | |||
da81d473fc | |||
d0c99fcc61 | |||
b58e7bfcd7 | |||
246cac8505 | |||
d7d30badbf | |||
59bb00090e | |||
68e2ea0b30 | |||
986cd6556c | |||
6fa00ee843 | |||
408c5c5c79 | |||
c4904377ba | |||
12909b6b8a | |||
c488182903 | |||
43ea635c35 | |||
b83f99c399 | |||
8205b2ff36 | |||
71cade5a0b | |||
3ce8888fb4 | |||
dcc0cd074f | |||
2dc94da374 | |||
4f4b18497a | |||
0dc90d954d | |||
8bb565d375 | |||
a3eca58445 | |||
391c3a1020 | |||
a481d4378c | |||
fdfae830f8 | |||
d30126c20d | |||
2f12b31b74 | |||
451a7dbe28 | |||
d3fd1a6667 | |||
9ccab75608 | |||
cd1799dea0 | |||
0dd44584ab | |||
019bd34082 | |||
dfac9b609f | |||
2ae0a9cb82 | |||
d52da62801 | |||
62a3a27b91 | |||
5536415551 | |||
67b7017593 | |||
dcaf17c75d | |||
fcd2c3d9d8 | |||
7c28875bcd | |||
994b328f36 | |||
daf1d8285e | |||
07815e2d97 | |||
20d6b6868c | |||
f2919bae98 | |||
46fbe418b2 | |||
4a0339b36f | |||
f9f7fd3b23 | |||
a6db572af6 | |||
99f0d97b73 | |||
0fe3df45f2 | |||
fb8dfc1ccb | |||
ed8d1d42d0 | |||
be49349c72 | |||
7b6853a826 | |||
8c21d820e9 | |||
408c51f0b4 | |||
c2a2940510 | |||
3a9a6ac5d9 | |||
78087097b8 | |||
5a4e0547e2 | |||
57eb368144 | |||
597af311a2 | |||
62e83d4f69 | |||
8d2c37320b | |||
3f9d5059c6 | |||
13fa77b689 | |||
ee1dc493d1 | |||
d2f0b72759 | |||
3770c21be9 | |||
00cbaf9362 | |||
57f28f4094 | |||
5a4069a1d8 | |||
a0f5ca94dd | |||
786eb1ba39 | |||
726a228dfb | |||
44f14a9d24 | |||
d3115660b4 | |||
a3f40ec4b0 | |||
bd2bc94252 | |||
0f829620e6 | |||
ae9b9509a7 | |||
32e3e8bc55 | |||
dc2c44fbb1 | |||
999bba3e0b | |||
34d607032c | |||
47ca93d071 | |||
e4d0c11c04 | |||
e6a9bc0c60 | |||
deb5407a42 | |||
794c000267 | |||
dee839a263 | |||
6b2edaa378 | |||
70c0d55349 | |||
4cf67ae1b6 | |||
9732e2229c | |||
e665e98ec1 | |||
8618d322e0 | |||
ca7990cea5 | |||
0fc8ed154c | |||
9e7e41bf19 | |||
7c096b8d61 | |||
552038e26c | |||
acd78728bb | |||
55a9651d26 | |||
d35954160a | |||
d30e2bbe85 | |||
ba2f3f58ac | |||
4e256731d6 | |||
f2e3a218e8 | |||
be61fd1181 | |||
f85751a147 | |||
45c5e47048 | |||
0b624e039c | |||
1530ff3553 | |||
69a9c10c95 | |||
159597f5a3 | |||
b174a3c014 | |||
bc32aa1e63 | |||
15209c8612 | |||
4e5fd9dbcd | |||
63a2e8b41e | |||
aa5937d2d9 | |||
e1d9288267 | |||
79aee56c1e | |||
212962deba | |||
557b2bd3a5 | |||
986eb34b71 | |||
f9b889dd67 | |||
250ca49b4f | |||
4f7e2f0b21 | |||
6ba65f4ac3 | |||
832ec72c3e | |||
9c5bef3b35 | |||
4ce498baa3 | |||
62329d336f | |||
285907901c | |||
f346fcb62a | |||
a4bbd13be3 | |||
324eb77ee7 | |||
c21b8ae857 | |||
d73f5cfa89 | |||
31da22d1fd | |||
34ba05c296 | |||
22597af97d | |||
2d53614210 | |||
5be30d0cd3 | |||
0d7131763e | |||
3865a7e36d | |||
fbd992b61b | |||
db8c7a1cc0 | |||
f30c1d5eb1 | |||
0cca54c706 | |||
1ad0780a77 | |||
5459bc1bbb | |||
925d7304d2 | |||
0c51d6b4ae | |||
d0fd993137 | |||
cbe1d9d630 | |||
db5875aa9f | |||
efe26b9ee0 | |||
03949e33f5 | |||
77b1d9f355 | |||
7abcbcb7ea | |||
c576868eaf | |||
74d2f5695d | |||
0849541268 | |||
020b813f40 | |||
2041b0e8e8 | |||
efe47c83b2 | |||
e57ea501d0 | |||
88511d271b | |||
fe13adb17b | |||
afb31ad95f | |||
e773545c7f | |||
3e1dbfa135 | |||
7d53ff402a | |||
25be7ec4bf | |||
4b1197ab5a | |||
bb47eee9df | |||
670703e9d6 | |||
d67fc4bf0b | |||
b8148376a2 | |||
cdac0caddd | |||
97991dfab7 | |||
8bb6fe853f | |||
353a27ad95 | |||
85ac30ff5c | |||
f0850875fd | |||
4ee5cacc16 | |||
cb136bd852 | |||
fc0e3e02c9 | |||
8e715503f1 | |||
7b11728a7b | |||
b0b5337876 | |||
9b0a970ace | |||
2d5b70de2d | |||
a0f3df5d64 | |||
a9c84980d0 | |||
d1305bd3cf | |||
03194a1afa | |||
1c39c822a9 | |||
bd16b3c39f | |||
3d2dce168f | |||
b5e7f5e5b1 | |||
23c83fc473 | |||
6d1e149ac0 | |||
5396d7b298 | |||
83113c4268 | |||
50992f96c5 | |||
122842fd93 | |||
dd3aa418aa | |||
4bbf3780ff | |||
6393c956f4 | |||
30770aa981 | |||
02769437e1 | |||
cafd34522f | |||
5a2c1c0dee | |||
fca965a3bc | |||
324b170b88 | |||
580a5d7f75 | |||
63bbe8beb7 | |||
0fce211ccc | |||
bc3ae46b42 | |||
c65744e7d7 | |||
00fcce285d | |||
0b0ee3388c | |||
b817e54533 | |||
e6f8861bd4 | |||
8a0d52dfd8 | |||
72962e8b3c | |||
b4a5c5c419 | |||
25e61909e9 | |||
eec7f53b31 | |||
0e488f1732 | |||
ff046a0066 | |||
08fba1076f | |||
52d14e166d | |||
76e32d6193 | |||
eb89352504 | |||
eb315457f6 | |||
0990658bf8 | |||
7dfe427107 | |||
bea084ba41 | |||
f73613ac33 | |||
deefc2d9f6 | |||
ecd81dfc79 | |||
b3cecf49ea | |||
5f46385309 | |||
e95566d909 | |||
17baeaf82d | |||
2c68f577fc | |||
f5c39c3268 | |||
24f6e6d626 | |||
0faf84d97d | |||
adcd4d4c6f | |||
e081a7c3b7 | |||
18568ee8f8 | |||
9912391402 | |||
e39ceeb475 | |||
3c966c7b4e | |||
e9706a188f | |||
0464d0a134 | |||
df25a19d72 | |||
cd2d40fb7f | |||
93db6eef04 | |||
eafd6e7e55 | |||
a78537a0f2 | |||
46d699f492 | |||
5867757d88 | |||
368b584315 | |||
add4c864b6 | |||
51ba65b5c3 | |||
338e2a9acc | |||
44c7e62e51 | |||
27a443b820 | |||
0803f9c7cd | |||
e5b17bda8b | |||
8c5de0d265 | |||
1b38efc7a0 | |||
91028f7659 | |||
9f3547837e | |||
434e0636db | |||
3656f84278 | |||
1e45db1214 | |||
25449450c0 | |||
cf0b26d90c | |||
b50252484f | |||
da8fb6be55 | |||
0bf0de6cc7 | |||
ddc35d833d | |||
d85ada7cbd | |||
4582676075 | |||
cb59d55ec1 | |||
7020c88c30 | |||
4368e40bef | |||
546f822d53 | |||
2b7104573c | |||
f5f0842d0b | |||
c76a53eb71 | |||
d0feac4e8c | |||
9187659f9a | |||
829fe56c62 | |||
0a43fb2202 | |||
cd5a9ac080 | |||
e258eb4800 | |||
44ba10d671 | |||
65279256f3 | |||
3474b602a5 | |||
6887f69faa | |||
21f0e85061 | |||
f2463490c4 | |||
be73860793 | |||
14b9c2b3e3 | |||
593a2a5d06 | |||
9fdf4f1db4 | |||
38baae6cfe | |||
8bc1f39f41 | |||
c8dd491fa5 | |||
7435e7e2e7 | |||
c25edee9a5 | |||
66996bea9b | |||
a6714088e0 | |||
7bc341e21b | |||
26de1fc0c9 | |||
62e8452c8c | |||
a43abad1e3 | |||
ddfc44a898 | |||
4496526f80 | |||
cc9dcdee61 | |||
abe6bb3905 | |||
f9ba6acaa9 | |||
ad1260b6c9 | |||
49767c3d9f | |||
7c2abf1a83 | |||
0ae87432aa | |||
5126145ba8 | |||
44ac8fd1b4 | |||
9b96d91e94 | |||
96f6623ada | |||
dea96aae4d | |||
96eca029bf | |||
911e9e88ab | |||
ea6ae410be | |||
f2a454e0a5 | |||
4d1cfc1351 | |||
20ec2d034c | |||
c01b1cbd47 | |||
291d77eb3e | |||
8c4cbad6a3 | |||
b8de3d6e02 | |||
fc8a8126df | |||
e6e94f34b2 | |||
9e12400da8 | |||
c7c4bdeccf | |||
26a15355d6 | |||
d3b2159712 | |||
7f14609e29 | |||
2b7098936c | |||
87ee87dd6b | |||
6def0ff878 | |||
c8a4cd55d9 | |||
33c997a411 | |||
e685ea5353 | |||
7ca4fc8819 | |||
b93fea08d2 | |||
13f69f3082 | |||
336d82e472 | |||
f917f57f40 | |||
35151cf072 | |||
e9d7761bb9 | |||
25715419bf | |||
707d2f2fe8 | |||
c08bb26010 | |||
df7375d772 | |||
4a6e4b9602 | |||
d62a7656fe | |||
eef0a8e7c1 | |||
bcef4ba329 | |||
ad03180c5c | |||
a650ff5aec | |||
5f439a0ecf | |||
4150a1677b | |||
1bf2673685 | |||
5263e22cba | |||
f7991f01f2 | |||
96bfb2d8ce | |||
e3f7e01b50 | |||
33c5d6c845 | |||
7d3fc7df70 | |||
7b089120d9 | |||
0ea906d205 | |||
c152456453 | |||
0f2140f105 | |||
ccd3258b4d | |||
5024ade1b1 | |||
49da404070 | |||
bf5b83fd8a | |||
2a4aed42ec | |||
49f1eb3b34 | |||
0adc8ba6ae | |||
71076d0edd | |||
e7f3925bed | |||
3b4b5a793a | |||
350a2518c8 | |||
538ac74604 | |||
4a2dcb1a08 | |||
56eed3422c | |||
085b98f6cd | |||
fd3cb0501e | |||
e083ef5d54 | |||
6b13bc3232 | |||
b82dd3f7f2 | |||
663c5ad035 | |||
ea1954af77 | |||
152923b132 | |||
9081a421a6 | |||
42c456ff81 | |||
ad506e6780 | |||
cd3e606211 | |||
a288957a40 | |||
cae3877e72 | |||
5a0724ad3e | |||
edbd9f3715 | |||
4e13fcc213 | |||
1293313003 | |||
1371836157 | |||
d1dad7d765 | |||
95d85f4884 | |||
5a73c6bdc7 | |||
2c0fa66bc8 | |||
8996d68ac7 | |||
5f93836143 | |||
db92cdb5c8 | |||
04480e67fe | |||
74db416c9c | |||
f29b823c3a | |||
16235e3b14 | |||
a7df4f52af | |||
168a937bbc | |||
0ba558ffb1 | |||
88e9b1e3fc | |||
34de5b8eac | |||
143b963b60 | |||
2b98abce71 | |||
f35f25083e | |||
1ffc3588fd | |||
68611f512c | |||
4d53e91c6b | |||
fe319d5fe1 | |||
aace36fd3c | |||
c1d16cedd4 | |||
7c7cf62c48 | |||
569a03f24b | |||
ca7a5bf4bd | |||
d34182b9e3 | |||
bbb7d710ea | |||
689a2aa719 | |||
e9f197e057 | |||
974ef7ced2 | |||
ffa14514a9 | |||
bc9adb42cb | |||
d83443820f | |||
3a6160031b | |||
6c220937e2 | |||
84c99b2023 | |||
92dd0a55d0 | |||
67ba13e5a4 | |||
06a199f38b | |||
f9b2b6684d | |||
b7088a5f9e | |||
6ae7e88353 | |||
7706294ec9 | |||
a443b762cf | |||
89557d68aa | |||
133db54dab | |||
49cbad0edd | |||
ed7fe7be52 | |||
d3600a1ad7 | |||
09fb894a5f | |||
fa800afe59 | |||
ed5fa68872 | |||
1b372d1ccb | |||
26274f24db | |||
7140c4988f | |||
3a7746a66e | |||
1cecd06e36 | |||
e88842ee1c | |||
3ebeb1d6b1 | |||
8d5be8b421 | |||
66d55b990e | |||
48bcd823d4 | |||
0f05f22516 | |||
191eb491ed | |||
a5bd782982 | |||
1ea3d7fcc4 | |||
875da7f061 | |||
e1d1c94364 | |||
3411fa0f0f | |||
048a41db4d | |||
d42b4ce5a0 | |||
02f2875d3b | |||
f776897d4f | |||
9b591b9403 | |||
88d915a634 | |||
9cc14a5b5d | |||
5fbd2fc599 | |||
494cb27e57 | |||
ecb8d9d11e | |||
99c7db563f | |||
a73934c320 | |||
ada03fcbeb | |||
2b647089ba | |||
a876f0b95c | |||
0e7696c64d | |||
84bf71eae7 | |||
e4fa191d02 | |||
4b540cf913 | |||
492288c70a | |||
bbf1932c30 | |||
66e6babac6 | |||
876b142331 | |||
0cb1330bc6 | |||
36f0a2e20f | |||
e2a33ef9e2 | |||
e890c845b8 | |||
e06c9e1df2 | |||
596b5e77c9 | |||
d6a09e795d | |||
e2ffeae3f6 | |||
e9aa762cc7 | |||
b79541af7a | |||
970fa57f76 | |||
df7000cd91 | |||
cbc985a1f4 | |||
9d6b9df128 | |||
5ceb663e92 | |||
6b53a80441 | |||
7e6630a76d | |||
65db97b4fa | |||
18b18503e3 | |||
0cddd84c9f | |||
cfd86ee3dd | |||
7baf6588c5 | |||
7afb458e91 | |||
b82299ec6f | |||
b93d720691 | |||
4567e9c5f4 | |||
676063016a | |||
94882d1245 | |||
e2efbd2381 | |||
aecb85bdd1 | |||
16d4bd4f14 | |||
f54f48fc07 | |||
ca08972495 | |||
977e458cca | |||
f442c94638 | |||
dd9cede913 | |||
d96fb140f9 | |||
618200d243 | |||
e22ad35ed3 | |||
4ea08416b8 | |||
eccd97d0b0 | |||
1d517ceab9 | |||
3c6eb4ec50 | |||
42b297fe8c | |||
c0a8212802 | |||
f733719316 | |||
235233a394 | |||
d01af2568e | |||
5650c37365 | |||
d00296a8bf | |||
1f511a9b56 | |||
cd9ef9ce67 | |||
7e27bd589d | |||
9a95a9f230 | |||
68fb83b58e | |||
7b3fd03e6a | |||
a31efa77c6 | |||
4d1ae1a605 | |||
2343b75ca0 | |||
fc0c491f65 | |||
da007ba378 | |||
8b3bef88f7 | |||
cca0a9da05 | |||
a0f604ee56 | |||
f54c172bb3 | |||
dacf0acdf6 | |||
942843e8dd | |||
192a3fa31d | |||
55b99febc4 | |||
c3673a8eb2 | |||
735907bde1 | |||
8ba651b56e | |||
23112fc28c | |||
9ff67749fb | |||
a38989bd5b | |||
6fc527a8d0 | |||
9e8fe7b1c7 | |||
0988e665e9 | |||
7d1b866778 | |||
f0ac30ec19 | |||
fa21296b58 | |||
412e4caee3 | |||
361cb52383 | |||
559664c792 | |||
655b8561d6 | |||
022815114a | |||
60980aed78 | |||
ee4a1d63d7 | |||
e6432e0f1f | |||
a8a6e0682d | |||
06ebae09f5 | |||
b7bf32b0c5 | |||
47bfdfb3fd | |||
de658515ae | |||
05f1f41c9b | |||
aeefc1866c | |||
46b0585286 | |||
a2ce608244 | |||
2b7b75850c | |||
20141e322c | |||
a4dfb4491e | |||
4c64fb5aad | |||
9e39acc94a | |||
7f4c3508c0 | |||
492cb394fb | |||
86609db9da | |||
71471b2a7c | |||
6b615dbece | |||
e9e5ba39a7 | |||
c6fc44e9bf | |||
63ec2297d2 | |||
06355d72dc | |||
d54fd59d84 | |||
67f310e1ad | |||
97ab03b12a | |||
54c4f8ce52 | |||
5a4f8381b6 | |||
65ca3245f9 | |||
f3f157ff27 | |||
18c6653da0 | |||
6a1bb089fd | |||
ef1639145d | |||
e058b1846c | |||
2c428e4205 | |||
6ffb5fc069 | |||
525705a0a2 | |||
162a13b855 | |||
bfa646c2cb | |||
91016984db | |||
061a21d36d | |||
236bae14da | |||
c314b62553 | |||
85bc006561 | |||
82a57cd13f | |||
c4b208c309 | |||
480f0541b8 | |||
6a9a50a8af | |||
12144e8f02 | |||
386076ec92 | |||
c21fb4676f | |||
8252ec300e | |||
203eb8381a | |||
0b45a41dc1 | |||
3c8150497f | |||
c270b055d9 | |||
27ff1fbc5d | |||
b202e51b15 | |||
96c101257b | |||
a2fb7672c0 | |||
2e59e78096 | |||
612942a1d2 | |||
25ad722126 | |||
8a7a90bc3d | |||
ebeb39faad | |||
d7927d428c | |||
6e3b0348a4 | |||
c7c9692897 | |||
ab77294a2a | |||
7212f2887a | |||
c1e10b2dce | |||
e29099a2d1 | |||
692305ec67 | |||
98e7ab6d42 | |||
1a89796e4a | |||
d72d4f92e2 | |||
e5fb028688 | |||
37766b61cd | |||
8464b2d1d8 | |||
9d530dc002 | |||
f217f6d1d1 | |||
ada1a17261 | |||
871e42eb09 | |||
a86ed75f32 | |||
092228ee5c | |||
853ec9aa9b | |||
a4b9fb6a5c | |||
0b69bb0fb1 | |||
223a1bfb58 | |||
0ef08090d2 | |||
c5c3486f38 | |||
e4c9538a9c | |||
f3af71c947 | |||
78d468f1a9 | |||
41a28eb6c1 | |||
5e311edfd3 | |||
f1da24ca5e | |||
25a33b3342 | |||
4755d7dff7 | |||
6582bd31e3 | |||
ed90f04155 | |||
1e3ccb552f | |||
f65bb9fb06 | |||
6846f7248d | |||
0506eb71f7 | |||
ccf3cc1b18 | |||
ac0986e302 | |||
096a7fbb97 | |||
db7a3d25d6 | |||
76887df014 | |||
52106430dc | |||
5ac15ad250 | |||
c339ff690f | |||
df3458e957 | |||
8b72fea7e9 | |||
ef18119dec | |||
aa30fe1481 | |||
a897ab7ed1 | |||
dc5570872f | |||
f30e4d854b | |||
ed41385ad6 | |||
ec9a37d69b | |||
4f1d3e3e3b | |||
ae22e8415d | |||
c0f1f9dec4 | |||
98926e0d01 | |||
504131ac26 | |||
823b4281ca | |||
ae39ba431a | |||
8650c6298c | |||
8cc804d0ab | |||
f005593dc3 | |||
7e19e2efa9 | |||
1c720357ce | |||
15b808da74 | |||
095d112f8c | |||
a046aa38ca | |||
3247919a75 | |||
5d22e18965 | |||
f443b226ca | |||
234383cd40 | |||
8583bf7559 | |||
9875c51553 | |||
f0beebdb7b | |||
d7bc852151 | |||
62f035aee3 | |||
af303ee392 | |||
a5e61a4225 | |||
cf006037bf | |||
a7c2daa06d | |||
1fdfb774aa | |||
2d498a7c89 | |||
6e4fd8bfcd | |||
571f4348dd | |||
6e658547d3 | |||
0c52cf8e00 | |||
7491ef6198 | |||
9fb391bff9 | |||
f6c013dfa1 | |||
e4c497a194 | |||
7ff24785cb | |||
288a480621 | |||
98300c8157 | |||
0b3481c9ab | |||
b7bcdbdb48 | |||
0033ab3f59 | |||
809aeedb0e | |||
fdc8f79f1f | |||
c150064dbe | |||
2bd2f258f4 | |||
af6d1d602a | |||
9e25a2e85a | |||
bbfc8212e1 | |||
77edbde474 | |||
ef09a7fbbe | |||
b59c06092f | |||
c365967f21 | |||
e61304f21d | |||
9cfc01e560 | |||
b809c3d900 | |||
b5f309dc7f | |||
d64b99d35b | |||
6287460203 | |||
6aa501aab2 | |||
79c887d29d | |||
62a7648a5e | |||
1af632444b | |||
bf4ca3fdd2 | |||
d9e2677559 | |||
48939c572c | |||
f11b01bdd5 | |||
e4bea4a67d | |||
a45b824097 | |||
0a5af02acb | |||
69247e283c | |||
689cfaf9e7 | |||
474e4f9b55 | |||
cd9a57f6a0 | |||
872c9e67ec | |||
ae9e6ef35e | |||
3fb1d4da5e | |||
8b02ffee3f | |||
ff09581e12 | |||
444b8548b1 | |||
ee2b241b69 | |||
1725c4c64b | |||
b20f67a659 | |||
6d71443d8e | |||
0a15e94e10 | |||
a02d78c4ae | |||
0fadf75a3d | |||
ee8870a800 | |||
25ed97c61b | |||
32e28fc2de | |||
70fb2c9886 | |||
b306aefded | |||
0e17a537f3 | |||
49c2cbe69a | |||
f72187eaf5 | |||
32b6c51888 | |||
b37c9a0fd1 | |||
7bdcb8ef1f | |||
6a4fd600f4 | |||
690bd356fe | |||
d46f95a2bd | |||
dca0768820 | |||
49b7148778 | |||
ffa6045102 | |||
fe77a458d1 | |||
1c23cc1344 | |||
3de9da8e2c | |||
d4d96982ec | |||
fdad5ab3eb | |||
b40b6187e4 | |||
9b338cbefd | |||
d79e73a833 | |||
5e01fc9d80 | |||
5d54f964c6 | |||
5586bd2de2 | |||
4e408f1060 | |||
c5d1c7028d | |||
b4266066b6 | |||
6a0699bccc | |||
367e9feee2 | |||
77357e806f | |||
dc79a67841 | |||
e578d0311d | |||
4ef91a2d79 | |||
119b26d6b9 | |||
9d12546de9 | |||
e8191a5265 | |||
be79131a53 | |||
2a97289ad8 | |||
68ef6c0b1a | |||
252caf8e41 | |||
1e50f2a689 | |||
0cc4ec1550 | |||
404c4a5462 | |||
859a585bdf | |||
62bff959c7 | |||
f6c075ad71 | |||
97492aacff | |||
4ae0bc75f9 | |||
ed4d535342 | |||
9567a670d2 | |||
c4fdba3383 | |||
637b80cd6a | |||
bfaaf191a5 | |||
bf972896d7 | |||
818e393084 | |||
5c5b29b459 | |||
c3660cfb03 | |||
e879295b20 | |||
71ef66d740 | |||
13a2f620b2 | |||
eef71904ff | |||
155b517d5c | |||
8788195c88 | |||
9bc45a2802 | |||
34224e14d6 | |||
6a5c337922 | |||
d342834529 | |||
62f2ffc563 | |||
28794ec72e | |||
13d9fcec29 | |||
3c2047a711 | |||
7bf7f0ba05 | |||
1b887353d7 | |||
352e761388 | |||
3f9ab7ccde | |||
8c32856133 | |||
350b87cd65 | |||
3e063de46e | |||
1cf93847c1 | |||
d860c86ba5 | |||
e793168364 | |||
e48d427268 | |||
acb533440f | |||
1ae2b8cda8 | |||
3b34f636df | |||
ffc97f1a9e | |||
46bc0e731a | |||
17df8dbeba | |||
f14bd71934 | |||
35425d1034 | |||
e581fd7231 | |||
a322920d0b | |||
e303bf22f9 | |||
1214aa841b | |||
ef8a6c6268 | |||
890044708d | |||
27f7ed2a07 | |||
c90cfc225b | |||
1f86b7cb63 | |||
c8ad9d04c6 | |||
2a1ae649a4 | |||
fc5e90b848 | |||
465028e0e2 | |||
272f0a574d | |||
eab4ac6a23 | |||
6ad66ab45e | |||
926d233035 | |||
c0b80e05f7 | |||
6a75658c0a | |||
6cb3deb451 | |||
25dc57bac8 | |||
e5a917fcf4 | |||
9d05b459c7 | |||
f751097be3 | |||
e861b09636 | |||
106298f7f9 | |||
e10bfe7b33 | |||
16119bac40 | |||
7ca97f5222 | |||
870de59af0 | |||
d3347c4b42 | |||
6926f2e135 | |||
4513972086 | |||
5a5ea9763c | |||
b39b0e1a82 | |||
d8d33378ed | |||
ed45be7634 | |||
844cc43377 | |||
7cebe73dbd | |||
921c795c25 | |||
3d411afabc | |||
e22b245ea5 | |||
b9e4d84878 | |||
76f3b69896 | |||
d2a534c515 | |||
56c4d7f6a9 | |||
55e7f52b40 | |||
1566cdd4ae | |||
100c2da2d3 | |||
0785eb7698 | |||
3a757d0369 | |||
93cccedb8f | |||
09bde81f29 | |||
068966d2e8 | |||
0a2b53c2f2 | |||
65351024eb | |||
2498121cd6 | |||
cbb1ae05d5 | |||
58e2bc452b | |||
976d3f00d6 | |||
6a4f5dadd3 | |||
92382d14cd | |||
842d45d293 | |||
1030daecda | |||
df9c83bdf7 | |||
ac162a606b | |||
4a6fd7d3c7 | |||
324efc90d1 | |||
273c9c5777 | |||
38c356aad6 | |||
96e41f58fe | |||
31deb28f5e | |||
dccb32bf01 | |||
5848fb11ac | |||
3b6a8db3b0 | |||
01cab97679 | |||
ddb3474b66 | |||
bfff2c4833 | |||
74ad250a1c | |||
dd45a56246 | |||
7e7d220d9d | |||
59b8283d55 | |||
70e4a57762 | |||
a5ed333121 | |||
42cd635b21 | |||
f7a0dba7a2 | |||
093fffdfbe | |||
59580685be | |||
067e73c8ae | |||
1fd2aa543d | |||
f787ebd51c | |||
0000e81811 | |||
0bc7787ca9 | |||
73ee449bbf | |||
afc72b5d3a | |||
40bc872adb | |||
84edc40676 | |||
f1ed4ce9e3 | |||
1aa589922b | |||
0cecb75531 | |||
e031e9719d | |||
d536a71169 | |||
2e6701017e | |||
28c10ecbfc | |||
8e2af8f0db | |||
2255c80c91 | |||
4ac9f15492 | |||
3f566c4e69 | |||
45bde58ef8 | |||
6d08b9d4ca | |||
1d89d88d37 | |||
5f18e31f46 | |||
a169166d2b | |||
90f838bc36 | |||
08944d1c22 | |||
6fb22ca463 | |||
56d863e979 | |||
ebd2e4a13a | |||
3b723f722d | |||
6ffb990dc4 | |||
b6b210c5e1 | |||
750036c8f7 | |||
5e4546d599 | |||
6a99fa2e9e | |||
34e8a20d76 | |||
98961e42f0 | |||
73c5f67071 | |||
abf897bacd | |||
cefe983a32 | |||
45d141a1dd | |||
3d875f96f1 | |||
bb1677fc29 | |||
6579e788c0 | |||
93d2c16041 | |||
d7c4415e55 | |||
f9786f9b85 | |||
61d450f049 | |||
63b60b3add | |||
0299a69694 | |||
49fdd51a23 | |||
105e8b014b | |||
ed4958477b | |||
f6526728f9 | |||
edd2cd345f | |||
670e597399 | |||
4eb2bfdc92 | |||
6e54a32468 | |||
a30321b9ea | |||
538835d2ac | |||
f69a6e4f07 | |||
608cfd31cf | |||
9865b6e6a4 | |||
9d444d9ee0 | |||
dd20e4a6db | |||
0e29222e0c | |||
94b7f1563a | |||
56d06fe4aa | |||
1fdd51aa13 | |||
480d3d6bf9 | |||
1b5f37334a | |||
c42e0b6409 | |||
04988c8d18 | |||
491a7575f1 | |||
c512d27e78 | |||
2d84c4ed57 | |||
67985e4e4a | |||
2d653c5036 | |||
1763334caf | |||
5d1f5b8cd4 | |||
968f12fdac | |||
6d751be4b6 | |||
8dccb2244c | |||
9aab952e85 | |||
bf708add2e | |||
5b062e1f79 | |||
078eecbcbe | |||
f805844676 | |||
2ac0cbc9b0 | |||
da5e0c6a00 | |||
e9de7a52a5 | |||
b4724242fa | |||
3e8084f188 | |||
44d2aec6e8 | |||
cfe853e66b | |||
07a348e746 | |||
330155ed8a | |||
5e3aba33da | |||
d2c470f9bc | |||
ca267aee15 | |||
446cc5544a | |||
8c6b4332b4 | |||
2b88fe0603 | |||
dfa8bae5a2 | |||
0d0d8d8a11 | |||
f53df0bdf6 | |||
7c81295382 | |||
7c3c0a99cc | |||
ea47e59fe3 | |||
f188160be9 | |||
ddb1055343 | |||
b1b065ee35 | |||
d1e376d2f9 | |||
50eb005eb3 | |||
f7511fdfbd | |||
188da7dc09 | |||
bd42622e5f | |||
c2e799012b | |||
0e35107e7d | |||
0a4cb1f1f2 | |||
57e4a7b633 | |||
8f79fb6445 | |||
68658a867d | |||
cabb41d0f6 | |||
b5866edf97 | |||
ffb0387608 | |||
b83e131029 | |||
91b2c79394 | |||
e3b77a2d03 | |||
28caad63d0 | |||
6c84b007c4 | |||
06a0eeaa25 | |||
956d2e4639 | |||
2cdc292b31 | |||
77bd616367 | |||
5bafb3576a | |||
06fa4db3f7 | |||
a9bacccae5 | |||
5a5f04d86b | |||
d35d03cf93 | |||
0a5940fbe7 | |||
1ed4bef6b4 | |||
ff76fc841f | |||
9856ea6785 | |||
28ecef4c84 | |||
731b6859c4 | |||
c234e8a0ec | |||
b66c77a64e | |||
6295f87b5f | |||
51b04c05b7 | |||
2e54907e83 | |||
56722a0635 | |||
e07b817cfc | |||
12fe4909fa | |||
c3ff7be6fb | |||
9f0a45208d | |||
4631cfc20b | |||
1cc31e1529 | |||
f0a74bcb03 | |||
f9d65b04cd | |||
c21919f1b2 | |||
3050b6dfc7 | |||
f1bee82873 | |||
c6b4888b3f | |||
3540c71ea5 | |||
54b4d125d5 | |||
7740ac691d | |||
1d188263e0 | |||
35f070b4de | |||
1e66871608 | |||
1a845fbc48 | |||
f84e79ff4b | |||
995e525b17 | |||
cc8e26ee8d | |||
0394f8d002 | |||
99c99ed825 | |||
71e36361bf | |||
2a6d0b2b68 | |||
10a08cbd39 | |||
c042ad5ad5 | |||
a16dd13740 | |||
dc89c34d9e | |||
e78db9d303 | |||
1b8bd2243e | |||
5331af2352 | |||
bbeca063cf | |||
b5a36278f4 | |||
67fc02be54 | |||
a1af533323 | |||
403192acb6 | |||
df0c308c1a | |||
75405e7270 | |||
c2509c5407 | |||
ed8794ef7a | |||
76f5fdc203 | |||
11e5d0a262 | |||
0649303820 | |||
deec8aa2d0 | |||
6b58df54cf | |||
93a8ed28ea | |||
3584cff71c | |||
b031f47802 | |||
04d3761db2 | |||
d5fdf3073a | |||
d1e894c6d7 | |||
05881a6fc9 | |||
fdb1322651 | |||
8750249053 | |||
9bd51d4975 | |||
59c923229e | |||
a3e2033e04 | |||
64bc75244b | |||
187fc8b8b6 | |||
54156af0d6 | |||
bf4a60874a | |||
4b81f690f6 | |||
bffcb4d9d6 | |||
a7775c7eb8 | |||
66c0c44df6 | |||
637799bf0a | |||
afb32e8101 | |||
4c719308ce | |||
44257f7b52 | |||
3d141d8789 | |||
1ea5e46cb9 | |||
5639a8d144 | |||
2b2af95908 | |||
c76fcf3e46 | |||
f696272e58 | |||
59a29d1644 | |||
10de757a09 | |||
e8332242b7 | |||
7c1200745b | |||
ce125d431a | |||
ccf094788c | |||
0ab7eeccd9 | |||
108c265f27 | |||
9db5fb4fb3 | |||
7f0e4f6ac2 | |||
f0a35c9ce5 | |||
ab539c9094 | |||
c7d3aabd27 | |||
97b89c8150 | |||
2082224f17 | |||
caca3c9f07 | |||
8de300e1f7 | |||
a05f02b1d9 | |||
e56e53067f | |||
5ef260d2d1 | |||
76804526f9 | |||
0057847208 | |||
b6d8887d3d | |||
a3952f8e7c | |||
bb390b1f49 | |||
245670cd46 | |||
0fdcfa2f9f | |||
ae578de926 | |||
911aba1420 | |||
d1bbbe45df | |||
5e1f28d206 | |||
3f36e6f30c | |||
5fe973b912 | |||
282073cce2 | |||
d045719ac8 | |||
1e14bc11ed | |||
0b7ae738a6 | |||
54627db03a | |||
7390c65df4 | |||
e505f452d4 | |||
f20c1fb296 | |||
32da6e6daf | |||
e4ff3b67c2 | |||
905a028804 | |||
2a7f64616a | |||
7ce3dcd533 | |||
2d4032c2fb | |||
59a399ed36 | |||
4c25356e0e | |||
cc5b594788 | |||
b4c7aab7b9 | |||
ec3cc27ab0 | |||
84122ecdbf | |||
78a509190d | |||
5d70198efe | |||
3218cb753f | |||
c90be786da | |||
f222bd34ff | |||
8d133a4653 | |||
8f0f110156 | |||
7050791126 | |||
296339549a | |||
be8d370e3c | |||
162410f8a0 | |||
09ef66179b | |||
7407d733a4 | |||
751530de5d | |||
893b563505 | |||
325006f2db | |||
e54e50201c | |||
5b952447cc | |||
b40845293b | |||
c5ead19ea2 | |||
42b5e09d1e | |||
ea7dc012d2 | |||
bee8691f19 | |||
3d40e3723b | |||
4dbf7f30b1 | |||
1b421e7a5a | |||
2834a72d5e | |||
295d81b9e4 | |||
ff6a37c99e | |||
26146980f1 | |||
6346f704a0 | |||
1bfb57f642 | |||
f265f2d630 | |||
3326a783f1 | |||
facca53ac3 | |||
4838f62c8c | |||
fd9e226776 | |||
29b315778e | |||
64625c728f | |||
b5726a5d9c | |||
8b7c11b866 | |||
96ac07f4a9 | |||
613204b948 | |||
9762646ee4 | |||
05665a0dff | |||
09f66eb0e2 | |||
bfe37f3dc5 | |||
a4b1a0ade4 | |||
fd0d7036e0 | |||
6d09fc54f6 | |||
f0b567898b | |||
02d263277a | |||
6dbe1b4ee2 | |||
febba8038d | |||
cd6a1fc8a2 | |||
1396a95ee0 | |||
bd29bcf913 | |||
0538a2586e | |||
e4897d2bde | |||
6f9e7cadf3 | |||
b4ceeef962 | |||
9559de3b66 | |||
87d4aed743 | |||
1ab13eb973 | |||
173368d73d | |||
6c083b7619 | |||
4bc1fd6e39 | |||
2ec02dd5a8 | |||
522a5c2cf5 | |||
8737dab346 | |||
4e58cedd94 | |||
16a86907bc | |||
66833f0e70 | |||
ae44b5a4f3 | |||
e8f55568de | |||
35cf94eaf6 | |||
d9a65b6c0a | |||
73cd7d9420 | |||
bfbb60d328 | |||
516680ba77 | |||
5d9c9349bd | |||
c0b99303db | |||
6957636792 | |||
a33806398a | |||
ad90da7351 | |||
10a0d6ae64 | |||
8eb8dcf946 | |||
5df5106e1e | |||
c4dee2c085 | |||
5a22a334cb | |||
28d04e1ec1 | |||
3322a9d87f | |||
a788d31931 | |||
0c41a887b4 | |||
bf6d819bc1 | |||
4011224944 | |||
8463beaeb6 | |||
cfba19618f | |||
f7ab826740 | |||
7ad8ddecfd | |||
ec8d24f05d | |||
f0d795428e | |||
7b06222619 | |||
c8f491668e | |||
85246a7054 | |||
efae5c2e22 | |||
a20a40e3b6 | |||
4293c057dc | |||
31e4a0db03 | |||
63ddde68cd | |||
ce7ae09bd4 | |||
e18f4de927 | |||
03137a4804 | |||
7e44ff7a39 | |||
957ba814bf | |||
18a2f66d8a | |||
e3e8bf046e | |||
0693806bf8 | |||
dd45471a37 | |||
78ca584f1c | |||
50d92b5f03 | |||
8d33c3af0b | |||
a35e03dee0 | |||
e8ffd034c8 | |||
61feddcdf2 | |||
998330ac2e | |||
daad41c96d | |||
bdfe1f0d69 | |||
c344256811 | |||
22d18a9b15 | |||
55dfcf9591 | |||
ce7a9f0141 | |||
77efbb366a | |||
02155c8c00 | |||
8a96b9d0a7 | |||
5dc16756b2 | |||
72d84ea347 | |||
e27eab45c7 | |||
522d3cec00 | |||
8fe8bae9d2 | |||
17919c3585 | |||
06aa5e4ea4 | |||
82db1f8439 | |||
ff8d6e5a66 | |||
5b55b32bd2 | |||
0a159d65d6 | |||
a74b35081c | |||
52f1e82178 | |||
aa4df107e7 | |||
ab7c7c219b | |||
6df8755c7b | |||
92a5d1c9b4 | |||
ca0cc98e03 | |||
72b113e562 | |||
b996f84989 | |||
709b3f32d3 | |||
5acffd3473 | |||
2d3491b117 | |||
326460a870 | |||
6eccfc3adf | |||
48f68715b1 | |||
f2cc8881d7 | |||
7d9c80f626 | |||
d941cc4c34 | |||
f46c46e4f2 | |||
7366096de9 | |||
b681b191f9 | |||
eba1ba9d32 | |||
cb7db5bbd5 | |||
01c381037c | |||
add5240fa5 | |||
0aa496b6d5 | |||
27f3796ac1 | |||
3231f41009 | |||
57f183b698 | |||
e0a2f5cbc5 | |||
d868e4d9ee | |||
4c3bddb64f | |||
77b063cd35 | |||
9135259b03 | |||
0ba5a0b3ba | |||
2ad8d49635 | |||
6e21f716f8 | |||
a5619d4f8d | |||
6a8cbc41ba | |||
27e0c3c6cf | |||
153fb49e60 | |||
efa3d64ce8 | |||
6540b71614 | |||
b45c172e51 | |||
2d59597333 | |||
9387fbd646 | |||
ff1e653c8e | |||
4b58b6f7b7 | |||
e255a5e81c | |||
eb6e956e79 | |||
d3f17e1723 | |||
c51f5a6437 | |||
b1b82d1c30 | |||
aeb4657242 | |||
c528e17966 | |||
0f533c7284 | |||
a5f9f24aa0 | |||
711260fd60 | |||
6b4277e697 | |||
ed184620f5 | |||
f57a739691 | |||
caff8b7340 | |||
1c7d1ab6f4 | |||
284b2ce8fc | |||
62b5a35a33 | |||
9fec7b2130 | |||
47c61004c7 | |||
fe7df03a9a | |||
9bb6c2e54f | |||
177c0d6e63 | |||
5d3cd09a80 | |||
f5909d34ca | |||
426c00e454 | |||
73ff4ad086 | |||
70afef5cdf | |||
96328398b3 | |||
53a66ec37c | |||
3955140653 | |||
bac01c6469 | |||
ccdd5d1eb1 | |||
2c7f3aacd3 | |||
2f040a9671 | |||
88682b016d | |||
67f61efbb9 | |||
f1c0368da4 | |||
367c5f36a6 | |||
6d209a01f8 | |||
070e7c5619 | |||
92f480909f | |||
84e4484f12 | |||
8722f9fb6b | |||
8757b35d44 | |||
767a4ca648 | |||
6c40894d24 | |||
85e73cc8ac | |||
0d4f46b768 | |||
bfd515ac56 | |||
a896086851 | |||
fb0b14df65 | |||
7e3b9d1534 | |||
e1eb133476 | |||
669277c551 | |||
b81a85ecd8 | |||
8778fa8b4f | |||
aca13c2355 | |||
7d0daf3f12 | |||
48072e3d68 | |||
e082113484 | |||
f6bb64df82 | |||
2dee7e6105 | |||
614c3d8f2e | |||
469888e6a5 | |||
d9e9b44d7a | |||
b0173340c6 | |||
a9fd2f207d | |||
a241878ac7 | |||
0834257379 | |||
597a977489 | |||
e124ecf7f7 | |||
e4f8d27585 | |||
1e93770888 | |||
fd680bc558 | |||
7a132c628e | |||
c93ca46cf5 | |||
f54b9f21ca | |||
66e905b7dd | |||
a7439d0f9d | |||
5b12e16bb1 | |||
1ae6ed230a | |||
20d422cfd7 | |||
3fa2e91d17 | |||
48cdcd9ca0 | |||
245fbba46d | |||
ff7a2e4dbb | |||
cc40b5ce13 | |||
ae35e16cd4 | |||
7aa7829f75 | |||
6f45ec88d2 | |||
81bc122589 | |||
640d9d55c3 | |||
11e984da07 | |||
491ad946b2 | |||
ab628588f8 | |||
c2a4b6d4ee | |||
ed9bff0817 | |||
69290551b9 | |||
8174627b3d | |||
1549577338 | |||
597fa8cb43 | |||
5146c2f148 | |||
c21b2511c2 | |||
c4203212e3 | |||
1b2be06e04 | |||
066f6cd447 | |||
6f64eeab60 | |||
276bc6357e | |||
08ac213965 | |||
aab0eeaba5 | |||
f19b2752e7 | |||
bda891e664 | |||
5c933f0155 | |||
e48a623dea | |||
2f71366878 | |||
ae2d05d0c6 | |||
0160f7e725 | |||
f58c7468cd | |||
95b4ff3931 | |||
a16eb6b1ff | |||
bb01122a82 | |||
f6a5af0f62 | |||
bd72824c60 | |||
c51f8f94e5 | |||
917a54c017 | |||
1d7f7f242c | |||
3ba3d0621b | |||
fa95666a40 | |||
6643503722 | |||
03d9fd1f6e | |||
f172556b89 | |||
f2563c9ef3 | |||
baf8ec8d3a | |||
0c164ae7a6 | |||
d786523932 | |||
2be6b6f411 | |||
212631ed50 | |||
881aebffcf | |||
325b06deda | |||
ff7b83f562 | |||
be6444d1ca | |||
f3cc916acc | |||
e9f2118ddf | |||
bf8ae49a8f | |||
7116fd3556 | |||
225bc32a98 | |||
b06a5047ee | |||
f7cd3c0832 | |||
b94aff54d1 | |||
5e9a5e5cd4 | |||
efedbb11de | |||
cfeae5a31e | |||
8bcda98da5 | |||
3cf9bb36bf | |||
8ef6aad664 | |||
289946016e | |||
8f333b5f66 | |||
92c199fa6d | |||
ec3d4607ae | |||
523ccf5dba | |||
cb92e28384 | |||
fb2aacea67 | |||
813147b681 | |||
dc66e3c799 | |||
4e7e75353a | |||
fd3e513e88 | |||
7d3bc0806b | |||
88e7a93391 | |||
309f8cf9f9 | |||
508b35770d | |||
37eabbe498 | |||
9b272daa50 | |||
86e24f5b12 | |||
0934645bf8 | |||
2640b6a3a6 | |||
81e30fc0c7 | |||
55095d03a9 | |||
bbc7dccd9d | |||
117e2caa42 | |||
18c9fced7b | |||
738cdce5b2 | |||
37a65ae0c9 | |||
1dcaad9726 | |||
14eb1841a6 | |||
e5ee33e855 | |||
bed9b4e312 | |||
118ee5c613 | |||
a90b519187 | |||
d4c5a0c81b | |||
ad51ae4dc0 | |||
b3e36df0d4 | |||
95862fa2fa | |||
ea75369306 | |||
2be328e4df | |||
b50be84244 | |||
b227bead4d | |||
41a03e285f | |||
5d213e46bb | |||
4c90d8908a | |||
7cfaa86fe6 | |||
cebead1ebf | |||
a8cbc89589 | |||
b6029b3279 | |||
581a3bb155 | |||
e83b1243bd | |||
716f68ec33 | |||
626beebdf8 | |||
de0fcbe0f4 | |||
15fe88d5a6 | |||
ba8a3b019e | |||
f006132c24 | |||
a6226fd772 | |||
ed86301f68 | |||
0c61041ed6 | |||
ab6f23b751 | |||
6baf4e4da4 | |||
46d723ce57 | |||
c4d5907324 | |||
7c86d365da | |||
47ac23d314 | |||
db0aa64208 | |||
ffbb3ee955 | |||
d0c637e6b9 | |||
59dcbb810c | |||
a452128a36 | |||
6a38e33331 | |||
9d66d5eae4 | |||
f559d6d45e | |||
809ea28f80 | |||
bf9c0cbddb | |||
f45022dc2f | |||
00e302da76 | |||
dd3c8a72a2 | |||
14825944d7 | |||
e84f865118 | |||
f32c5d3716 | |||
33f13ad7c5 | |||
f6bb2099bf | |||
2d755dfac9 | |||
aa7d2fe355 | |||
55194925e6 | |||
c87977a0c5 | |||
390b44eb2b | |||
12515dc49e | |||
5fee9b925e | |||
f5a3c5e637 | |||
6a5fb96672 | |||
29ef1f27fe | |||
899062438f | |||
530a446d4a | |||
98e2d9d6f7 | |||
f234da8019 | |||
760486a1f7 | |||
5befe8a1f1 | |||
eea7f7a977 | |||
28a592e4f4 | |||
85baaed475 | |||
1fd88224a3 | |||
9b1cdd334d | |||
eacf36a4d1 | |||
81483fe613 | |||
67feccd3ba | |||
6320813bc0 | |||
b36ade216c | |||
4d15c85556 | |||
002a6dfc7c | |||
510415ecc9 | |||
e80178eac6 | |||
b378df72ed | |||
e037c2e418 | |||
01758866ba | |||
cece123d71 | |||
2a68d66127 | |||
310dc40996 | |||
fac4caefa7 | |||
87c67efc0c | |||
518bb518d1 | |||
e5a14ddd2d | |||
099a64aa39 | |||
dfbbe8bd49 | |||
fea3738ac5 | |||
4dc964691f | |||
5fef3b15db | |||
1a6fb019d6 | |||
506d2a354a | |||
58705b4903 | |||
31f9acf9ce | |||
10f57e0eb9 | |||
3e5e6c6e94 | |||
11c649b891 | |||
62a15162fe | |||
c131aab043 | |||
98bdfc0c1b | |||
8d2cca9754 | |||
ea00f105a7 | |||
4ef987fab4 | |||
d4df71b2b0 | |||
972c9cf6ae | |||
3e7d4888e5 | |||
4da8b2fcd4 | |||
1d9c8daef8 | |||
5c8273d57c | |||
0bb92f3a3a | |||
9ab80dd6ae | |||
66262451ec | |||
9bcdaab13e | |||
8230107f33 | |||
e9fe413fc2 | |||
107687b5af | |||
e163f73b7b | |||
8a49dfacd6 | |||
5a9b455146 | |||
c01881845c | |||
9556aadd63 | |||
977f8acefd | |||
f95661b740 | |||
2cf9f0fca1 | |||
fe14431526 | |||
a50234b3be | |||
ace40eab9e | |||
100ac47bf3 | |||
2f566d665a | |||
e46775cf9e | |||
5e93b90dea | |||
e6b0a8fab8 | |||
8dda4cbdf2 | |||
5db9d38359 | |||
7431842325 | |||
644de29e22 | |||
482e1488a9 | |||
013c7e2b07 | |||
1119a15b5c | |||
f0b922473e | |||
092e5115d1 | |||
f239fff4c1 | |||
a8791ef649 | |||
6697ee01b5 | |||
4137c54b90 | |||
cdf2241c71 | |||
fa0e936fbb | |||
7afc0b03a2 | |||
42f8ed6ca2 | |||
939fa07582 | |||
4eaffd81a5 | |||
5e7cbab196 | |||
83ad8ca596 | |||
940fe202ad | |||
1d07640b65 | |||
7f554a4f69 | |||
aaf113ed95 | |||
fa8b225d86 | |||
268055bfde | |||
546adc4950 | |||
b271a3034f | |||
6d56fb28fb | |||
5bae927222 | |||
4d4c8ddd37 | |||
6ca224f156 | |||
dd6d3c90ee | |||
c9d6d8a193 | |||
01369fdfd3 | |||
e5cc59c77c | |||
14793a4e37 | |||
1e893a1216 | |||
1fcc40cd1d | |||
ffcb4e94d3 | |||
4577d26dc0 | |||
27f45ccf33 | |||
8231c841ff | |||
7ed37eb8ae | |||
9a863b3358 | |||
b54cf3a766 | |||
8c05e42c7a | |||
ed3c566d97 | |||
675ea4efdb | |||
8d833e9337 | |||
d7cf4188e2 | |||
4e3250b7fb | |||
2b2999460c | |||
edfc744918 | |||
14c3dd817d | |||
9fa6213731 | |||
e394a16023 | |||
a03b097d63 | |||
644e6b2c0f | |||
789f6f226b | |||
b7d11a0f5d | |||
bbe3165f82 | |||
b9dee075eb | |||
e85fcb355a | |||
7121c4d4e2 | |||
bd0708c7eb | |||
311d0b8e8e | |||
e082631e51 | |||
12510bd5da | |||
fd441eb612 | |||
9938f30d13 | |||
d3da223f22 | |||
b2896d2739 | |||
dc1daacdcc | |||
2f732bf15e | |||
b7e6a41622 | |||
63766510a1 | |||
95cf6464dd | |||
eb27b338a3 | |||
fe3fec53a6 | |||
33309e428b | |||
bb3a55f6d3 | |||
dae59cb263 | |||
8de2e2e41b | |||
8f0c15bfb6 | |||
f003a91f5c | |||
4523dc8624 | |||
6f843a3355 | |||
359ff69389 | |||
031e2f7ae1 | |||
adc27d6a93 | |||
e4dc25ed49 | |||
7171221d82 | |||
d3236becec | |||
866a3014de | |||
33e5da5b6c | |||
b9457af004 | |||
3d5fc24dae | |||
1d25e5bdf5 | |||
be19c5ca3e | |||
ddcb189d9d | |||
e05cdb17e8 | |||
70569fadce | |||
878b399734 | |||
734283855f | |||
b3b186262f | |||
4bb9eb5f91 | |||
8b09a900a1 | |||
7bee6c1004 | |||
5e1ca57a7b | |||
e0ef578eae | |||
d478f56759 | |||
528fc51b6d | |||
785bf2088e | |||
ade1552598 | |||
88617d11f9 | |||
c510928a25 | |||
ac223c4047 | |||
64f0109f17 | |||
daab8a564f | |||
8e62a85352 | |||
8721e2eaed | |||
bd4232fac3 | |||
832a239b72 | |||
c4670b8a8d | |||
a91e0bb833 | |||
8eb90d385c | |||
f90efd9981 | |||
cdeabf513a | |||
f0ade787ac | |||
3cc43bff9c | |||
1fb3445658 | |||
b2fc822629 | |||
368cab75c1 | |||
a93c6fd677 | |||
fba551379e | |||
bc34e5227b | |||
508416d95c | |||
3b57e72c0c | |||
d3b88be1b4 | |||
fdbcdfcf61 | |||
89efac81c7 | |||
5b1cd37e44 | |||
ca2d62b787 | |||
94b82d5686 | |||
9dd29dbef0 | |||
6623a528e0 | |||
05d2c61c67 | |||
0db4961c49 | |||
82823118b9 | |||
54a03bc7d9 | |||
74fab8ff54 | |||
a066a90db6 | |||
cc00362125 | |||
1ba5f45132 | |||
f934f1b47f | |||
daa1acefc5 | |||
11042ab914 | |||
0d53d19946 | |||
e5ca291076 | |||
f8fe49e539 | |||
fe0d576153 | |||
d76723ee53 | |||
bf48e5acdb | |||
9eb00af562 | |||
69bdbdb0ee | |||
523506df51 | |||
bd6a3fd7f1 | |||
cd807a5cda | |||
17a1bb570b | |||
bf26c06f12 | |||
e669ffb2b8 | |||
3d814b5dc0 | |||
47410778fb | |||
fc6609d198 | |||
e61059660c | |||
d1ed8d6cee | |||
f7c35ea2a1 | |||
f9365c0a24 | |||
75ae10bc75 | |||
1157618a2a | |||
21ef7ee4d6 | |||
b6bd704c3e | |||
d2992c6bc0 | |||
308528a3ea | |||
c3c0b71f9a | |||
4d4c7d05da | |||
4da281e84d | |||
c9780bb2ca | |||
0659866a09 | |||
07e230d762 | |||
5d96bcbc06 | |||
b1d87fbaf1 | |||
927dc33070 | |||
75d31ceec5 | |||
48ca53cac4 | |||
eb448631fb | |||
d4ac305073 | |||
103e02c700 | |||
8c8195e9c3 | |||
a98b02c112 | |||
0008d12284 | |||
d1c5ae78ce | |||
6f70f00b4f | |||
54ba2f1862 | |||
561fa03529 | |||
8232a0ff48 | |||
ae4e099e7c | |||
5dbeffdeaf | |||
d486ca60a5 | |||
32d6280226 | |||
5ae1eb22c9 | |||
693575c2d1 | |||
069f9989cb | |||
2134c3fb1f | |||
8e48f115aa | |||
b7bd70ddd4 | |||
e867110340 | |||
11819cb741 | |||
c08e112b43 | |||
18b49be492 | |||
83ae1edff7 | |||
018b85dead | |||
a38c4c02e5 | |||
62473695d2 | |||
7cc1147371 | |||
905549ff4e | |||
f741069550 | |||
5be2a2c74b | |||
221ec24e9b | |||
1ef488eaaa | |||
9f8aa6089a | |||
102969c422 | |||
a515f26eac | |||
4677587e57 | |||
1d38852b11 | |||
7e24201365 | |||
e22ac8b126 | |||
0800bedcc7 | |||
11fac260fe | |||
9c7a1fc9b6 | |||
3a7d26bb4b | |||
40098093c6 | |||
eff40457a4 | |||
e651013a8b | |||
92d8ed8ac1 | |||
90e07f0a34 | |||
33f379eee6 | |||
407532f82d | |||
cf2dc1c238 | |||
351bca2d1f | |||
84069fcc14 | |||
e04170697a | |||
6a24cc71ed | |||
d5659f856f | |||
5632e838f8 | |||
52a47aea70 | |||
ae815940f6 | |||
ba8c2680ec | |||
66c9562013 | |||
cdff1bb5a3 | |||
0dc787a9f2 | |||
9ab0b66129 | |||
4348824059 | |||
d681d0dc3a | |||
10b635b773 | |||
15e7c7dca6 | |||
db6bfb9fe8 | |||
f3abf6aa63 | |||
3663e5904d | |||
bc40dfb10a | |||
770fedaf9f | |||
ce93a4c612 | |||
5726a6b401 | |||
3d97ea479f | |||
560bf51892 | |||
bff9703f0a | |||
60fadf8bd2 | |||
1e5b5ea538 | |||
3585d0ea23 | |||
a492d5331c | |||
806f83287f | |||
fe7fe62d8d | |||
dc05929411 | |||
c49a177bec | |||
033395be32 | |||
922f8bbbf1 | |||
7b76d6bf22 | |||
f89ecf7988 | |||
ec1e28ef9c | |||
15316a4732 | |||
f9221e2cf5 | |||
e9f79acb28 | |||
abb2b389f7 | |||
0eb6c189a3 | |||
6afb265b96 | |||
88473c8bae | |||
7463064b28 | |||
542d6abbb4 | |||
b2086b5183 | |||
3c7e2e8f0a | |||
1cf823d8f0 | |||
fb20d4b126 | |||
e355307692 | |||
50101b93ca | |||
fb5e3378f8 | |||
ebbf5d2b70 | |||
9fffc38583 | |||
9b6e2c8b98 | |||
98c7656a18 | |||
6fc5369263 | |||
3fca954172 | |||
ef830cc434 | |||
d1fa94356d | |||
69bb2e1804 | |||
ef7dc2e9cc | |||
ebaf3bcf1a | |||
54662d5958 | |||
d65aea37d9 | |||
4465690cd8 | |||
2f61b3eef3 | |||
b48015b340 | |||
eddc1f556c | |||
47c0cb1a5d | |||
2bff554b23 | |||
1aedd03afb | |||
d331dd3b0c | |||
c75c423952 | |||
9146ef75dd | |||
a7d18a1109 | |||
a751e0296f | |||
340062243a | |||
cea232194d | |||
7c0afdf23c | |||
12d6991cf4 | |||
3c06a58339 | |||
2bafb3d702 | |||
5210225f25 | |||
eb87c6f559 | |||
c4e317814f | |||
78cfdd0cf5 | |||
46a237f42f | |||
0e20b229ee | |||
69b3367f6c | |||
9eb542f2ee | |||
aac578492d | |||
9853830787 | |||
9b6e74a9c0 | |||
4f5ce122ac | |||
4dbc55e87d | |||
09751bf1b2 | |||
6a748c2c66 | |||
fce3b089df | |||
77f37de39f | |||
f7ee88f1d0 | |||
aa9ad6fee5 | |||
670b81a890 | |||
98f3f03bcb | |||
2019256717 | |||
c189dba20e | |||
d9d3b76fee | |||
ac2158649d | |||
8e444e66df | |||
169914ede2 | |||
4dd75a195b | |||
0dd2fd18f8 | |||
f4f7304b44 | |||
135997254a | |||
289af16300 | |||
abcb66c614 | |||
ce24797d38 | |||
409047a2b3 | |||
cd0a852981 | |||
f74d11471f | |||
f96178c529 | |||
1d72b604ef | |||
382b601acd | |||
7f53f78b04 | |||
7d879ad7e0 | |||
211eca0895 | |||
ccf0378905 | |||
3153c83c77 | |||
7ce7a617b9 | |||
8e1d2fc0cc | |||
7f06d94e72 | |||
e4b5d2a83f | |||
b009fd41e8 | |||
d8c6dc2a5a | |||
f44416c823 | |||
ce885c5342 | |||
b03709eae7 | |||
d6e35a2644 | |||
bb6a63a4e5 | |||
26b25e03b2 | |||
a45e390ad6 | |||
ef68c3d800 | |||
356da0f98b | |||
61bf4490af | |||
5a3743da32 | |||
4184cbd635 | |||
91d2347033 | |||
338abb0f04 | |||
6fb9195f6c | |||
482c962de4 | |||
8603c419d3 | |||
a0538e5c8b | |||
47eb4c6890 | |||
546096a5cb | |||
b7b793d1e7 | |||
d94f9b8e90 | |||
52ff891c03 | |||
7b4d495439 | |||
ebf3c04b26 | |||
15664a5f35 | |||
0d3505e286 | |||
0481af98ba | |||
ebee5580ca | |||
8e02217e10 | |||
33b62fba4d | |||
de65c76e55 | |||
cccdfd2243 | |||
d5e7f9632f | |||
a2bb98ba76 | |||
7ba68e0cf1 | |||
ace6d8e3d6 | |||
ee02ac6164 | |||
e16acc80a7 | |||
94d17948af | |||
3714fbcb45 | |||
69c13a7880 | |||
2fb9d2596f | |||
6d09c53001 | |||
e54b271529 | |||
7088ce7191 | |||
e0c91cffde | |||
c5b09cf771 | |||
1afd78fb5c | |||
1f934725f7 | |||
0add899baf | |||
d371a9ef4c | |||
00458dc5f1 | |||
65c63a0054 | |||
cc16f95d21 | |||
04159fba42 | |||
72739680fc | |||
533e0325ab | |||
90cfb2666b | |||
7e6d72bb11 | |||
b8e8b98647 | |||
6b010c80a2 | |||
d099b9c9c7 | |||
3b9fd8361f | |||
050f76b9af | |||
1231cab341 | |||
dc474899e7 | |||
c139e58237 | |||
e740873c47 | |||
fe8fc09f34 | |||
a5709636d9 | |||
41e2e177c7 | |||
759d02d1ae | |||
c305e667e0 | |||
d491f5ea07 | |||
1fa9cf6ea1 | |||
fdc8acc706 | |||
f1ed224753 | |||
9c8e7e968c | |||
0218ad5d5c | |||
1142746cbb | |||
b1259ecff9 | |||
9910cbb6f9 | |||
dd8468ef00 | |||
62038c81f3 | |||
0221eb8678 | |||
230356ba70 | |||
ed1e674f4d | |||
d1e7c2cac9 | |||
3d33e36c47 | |||
e94005634c | |||
fe1c18ba4d | |||
c95e3a3f0b | |||
17530b2ed2 | |||
5a544a4e11 | |||
f4dc9432fd | |||
447ed29c0d | |||
4adbf387bf | |||
fef381e6dc | |||
9264d29bf6 | |||
2b110e9ba2 | |||
119974e9e7 | |||
671818ab0b | |||
879be4319f | |||
ecc4ee9cac | |||
c2529290f0 | |||
1df318be63 | |||
3127ff90ea | |||
7ba3016729 | |||
db10fc6c09 | |||
471e7b2cf6 | |||
56da21392b | |||
12d078ed2b | |||
11998a0364 | |||
beded618b2 | |||
5317dfeaed | |||
a6eff43bea | |||
f5bfcc823b | |||
fd16a39944 | |||
1e20a407fe | |||
23f6d40dd3 | |||
19b2517f95 | |||
e0b16421b1 | |||
3ae7fe2b0f | |||
faf16d4e97 | |||
48229c193d | |||
7a55fa0e0b | |||
225f7fa847 | |||
4e0a64a713 | |||
733b9f59ba | |||
25e65b6dd5 | |||
cbdca289fb | |||
86b41b3895 | |||
d509802993 | |||
19ceb486f8 | |||
64aceb6d73 | |||
2734f2e324 | |||
d29bd6d73d | |||
a22099f552 | |||
f9500261e0 | |||
caba91c373 | |||
bb80333c08 | |||
a84216c684 | |||
619418b993 | |||
8013d7d9ee | |||
09667e9516 | |||
617480d75b | |||
ae1a7eefff | |||
4d0a2a608d | |||
6aacb7d861 | |||
e22f2daed0 | |||
f6e2cd0625 | |||
410334ed52 | |||
2ca245f8be | |||
aafa5df0df | |||
f302c1e4aa | |||
68142e117c | |||
3d20ed27b8 | |||
99234d5905 | |||
7434b92798 | |||
9bafe049d6 | |||
e2c5993744 | |||
e9488197ad | |||
2b95ebb4fd | |||
bfe35a6165 | |||
72ee47ceeb | |||
f5f5a61d5a | |||
4901884a23 | |||
cd5b33fbdc | |||
a30e43f61a | |||
afb82d1db0 | |||
1197f1a463 | |||
0caf20f228 | |||
e5b66bb324 | |||
64568c7171 | |||
33b4ae1114 | |||
7f07c1cdb7 | |||
a46a848296 | |||
2df546e17f | |||
5d93460024 | |||
22233d43eb | |||
f97fe35857 | |||
fa59e7beb2 | |||
9e20442298 | |||
a8d5eb6dc0 | |||
5b0672a26e | |||
5d35a9531c | |||
52e011cd2b | |||
2e197a7592 | |||
03c1f14acf | |||
d90d441c33 | |||
102fdd2e07 | |||
a47fcbe6e4 | |||
d26ec88009 | |||
188e9e28c5 | |||
7cd5d5b299 | |||
064952fc34 | |||
69ae93089c | |||
c960939858 | |||
6d0a40166e | |||
ecbff141a1 | |||
f0d4d398e2 | |||
97c8aac9c5 | |||
04d12d6590 | |||
ba7d318504 | |||
47c88d16ba | |||
8cfe386b78 | |||
6cf8d96fa2 | |||
5144219b7d | |||
cb8fb7f861 | |||
b57913f205 | |||
edc23840b0 | |||
15f3e1e056 |
@ -2,8 +2,15 @@ env:
|
||||
CIRRUS_CLONE_DEPTH: 1
|
||||
|
||||
freebsd_12_task:
|
||||
env:
|
||||
GIT_PROVE_OPTS: "--timer --jobs 10"
|
||||
GIT_TEST_OPTS: "--no-chain-lint --no-bin-wrappers"
|
||||
MAKEFLAGS: "-j4"
|
||||
DEFAULT_TEST_TARGET: prove
|
||||
DEVELOPER: 1
|
||||
freebsd_instance:
|
||||
image: freebsd-12-1-release-amd64
|
||||
image_family: freebsd-12-2
|
||||
memory: 2G
|
||||
install_script:
|
||||
pkg install -y gettext gmake perl5
|
||||
create_user_script:
|
||||
|
31
.github/workflows/check-whitespace.yml
vendored
31
.github/workflows/check-whitespace.yml
vendored
@ -1,8 +1,9 @@
|
||||
name: check-whitespace
|
||||
|
||||
# Get the repo with the commits(+1) in the series.
|
||||
# Get the repository with all commits to ensure that we can analyze
|
||||
# all of the commits contributed via the Pull Request.
|
||||
# Process `git log --check` output to extract just the check errors.
|
||||
# Add a comment to the pull request with the check errors.
|
||||
# Exit with failure upon white-space issues.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
@ -12,15 +13,9 @@ jobs:
|
||||
check-whitespace:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set commit count
|
||||
shell: bash
|
||||
run: echo "COMMIT_DEPTH=$((1+$COMMITS))" >>$GITHUB_ENV
|
||||
env:
|
||||
COMMITS: ${{ github.event.pull_request.commits }}
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: ${{ env.COMMIT_DEPTH }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: git log --check
|
||||
id: check_out
|
||||
@ -47,25 +42,9 @@ jobs:
|
||||
echo "${dash} ${etc}"
|
||||
;;
|
||||
esac
|
||||
done <<< $(git log --check --pretty=format:"---% h% s" -${{github.event.pull_request.commits}})
|
||||
done <<< $(git log --check --pretty=format:"---% h% s" ${{github.event.pull_request.base.sha}}..)
|
||||
|
||||
if test -n "${log}"
|
||||
then
|
||||
echo "::set-output name=checkout::"${log}""
|
||||
exit 2
|
||||
fi
|
||||
|
||||
- name: Add Check Output as Comment
|
||||
uses: actions/github-script@v3
|
||||
id: add-comment
|
||||
env:
|
||||
log: ${{ steps.check_out.outputs.checkout }}
|
||||
with:
|
||||
script: |
|
||||
await github.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: `Whitespace errors found in workflow ${{ github.workflow }}:\n\n\`\`\`\n${process.env.log.replace(/\\n/g, "\n")}\n\`\`\``
|
||||
})
|
||||
if: ${{ failure() }}
|
||||
|
105
.github/workflows/l10n.yml
vendored
Normal file
105
.github/workflows/l10n.yml
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
name: git-l10n
|
||||
|
||||
on: [push, pull_request_target]
|
||||
|
||||
jobs:
|
||||
git-po-helper:
|
||||
if: >-
|
||||
endsWith(github.repository, '/git-po') ||
|
||||
contains(github.head_ref, 'l10n') ||
|
||||
contains(github.ref, 'l10n')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Setup base and head objects
|
||||
id: setup-tips
|
||||
run: |
|
||||
if test "${{ github.event_name }}" = "pull_request_target"
|
||||
then
|
||||
base=${{ github.event.pull_request.base.sha }}
|
||||
head=${{ github.event.pull_request.head.sha }}
|
||||
else
|
||||
base=${{ github.event.before }}
|
||||
head=${{ github.event.after }}
|
||||
fi
|
||||
echo "::set-output name=base::$base"
|
||||
echo "::set-output name=head::$head"
|
||||
- name: Run partial clone
|
||||
run: |
|
||||
git -c init.defaultBranch=master init --bare .
|
||||
git remote add \
|
||||
--mirror=fetch \
|
||||
origin \
|
||||
https://github.com/${{ github.repository }}
|
||||
# Fetch tips that may be unreachable from github.ref:
|
||||
# - For a forced push, "$base" may be unreachable.
|
||||
# - For a "pull_request_target" event, "$head" may be unreachable.
|
||||
args=
|
||||
for commit in \
|
||||
${{ steps.setup-tips.outputs.base }} \
|
||||
${{ steps.setup-tips.outputs.head }}
|
||||
do
|
||||
case $commit in
|
||||
*[^0]*)
|
||||
args="$args $commit"
|
||||
;;
|
||||
*)
|
||||
# Should not fetch ZERO-OID.
|
||||
;;
|
||||
esac
|
||||
done
|
||||
git -c protocol.version=2 fetch \
|
||||
--progress \
|
||||
--no-tags \
|
||||
--no-write-fetch-head \
|
||||
--filter=blob:none \
|
||||
origin \
|
||||
${{ github.ref }} \
|
||||
$args
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: '>=1.16'
|
||||
- name: Install git-po-helper
|
||||
run: go install github.com/git-l10n/git-po-helper@main
|
||||
- name: Install other dependencies
|
||||
run: |
|
||||
sudo apt-get update -q &&
|
||||
sudo apt-get install -q -y gettext
|
||||
- name: Run git-po-helper
|
||||
id: check-commits
|
||||
run: |
|
||||
exit_code=0
|
||||
git-po-helper check-commits \
|
||||
--github-action-event="${{ github.event_name }}" -- \
|
||||
${{ steps.setup-tips.outputs.base }}..${{ steps.setup-tips.outputs.head }} \
|
||||
>git-po-helper.out 2>&1 || exit_code=$?
|
||||
if test $exit_code -ne 0 || grep -q WARNING git-po-helper.out
|
||||
then
|
||||
# Remove ANSI colors which are proper for console logs but not
|
||||
# proper for PR comment.
|
||||
echo "COMMENT_BODY<<EOF" >>$GITHUB_ENV
|
||||
perl -pe 's/\e\[[0-9;]*m//g; s/\bEOF$//g' git-po-helper.out >>$GITHUB_ENV
|
||||
echo "EOF" >>$GITHUB_ENV
|
||||
fi
|
||||
cat git-po-helper.out
|
||||
exit $exit_code
|
||||
- name: Create comment in pull request for report
|
||||
uses: mshick/add-pr-comment@v1
|
||||
if: >-
|
||||
always() &&
|
||||
github.event_name == 'pull_request_target' &&
|
||||
env.COMMENT_BODY != ''
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
repo-token-user-login: 'github-actions[bot]'
|
||||
message: >
|
||||
${{ steps.check-commits.outcome == 'failure' && 'Errors and warnings' || 'Warnings' }}
|
||||
found by [git-po-helper](https://github.com/git-l10n/git-po-helper#readme) in workflow
|
||||
[#${{ github.run_number }}](${{ env.GITHUB_SERVER_URL }}/${{ github.repository }}/actions/runs/${{ github.run_id }}):
|
||||
|
||||
```
|
||||
|
||||
${{ env.COMMENT_BODY }}
|
||||
|
||||
```
|
212
.github/workflows/main.yml
vendored
212
.github/workflows/main.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: CI/PR
|
||||
name: CI
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
@ -7,6 +7,7 @@ env:
|
||||
|
||||
jobs:
|
||||
ci-config:
|
||||
name: config
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
|
||||
@ -77,49 +78,28 @@ jobs:
|
||||
}
|
||||
|
||||
windows-build:
|
||||
name: win build
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: download git-sdk-64-minimal
|
||||
shell: bash
|
||||
run: |
|
||||
## Get artifact
|
||||
urlbase=https://dev.azure.com/git-for-windows/git/_apis/build/builds
|
||||
id=$(curl "$urlbase?definitions=22&statusFilter=completed&resultFilter=succeeded&\$top=1" |
|
||||
jq -r ".value[] | .id")
|
||||
download_url="$(curl "$urlbase/$id/artifacts" |
|
||||
jq -r '.value[] | select(.name == "git-sdk-64-minimal").resource.downloadUrl')"
|
||||
curl --connect-timeout 10 --retry 5 --retry-delay 0 --retry-max-time 240 \
|
||||
-o artifacts.zip "$download_url"
|
||||
|
||||
## Unzip and remove the artifact
|
||||
unzip artifacts.zip
|
||||
rm artifacts.zip
|
||||
- uses: actions/checkout@v2
|
||||
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||
- name: build
|
||||
shell: powershell
|
||||
shell: bash
|
||||
env:
|
||||
HOME: ${{runner.workspace}}
|
||||
MSYSTEM: MINGW64
|
||||
NO_PERL: 1
|
||||
run: |
|
||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
||||
printf '%s\n' /git-sdk-64-minimal/ >>.git/info/exclude
|
||||
|
||||
ci/make-test-artifacts.sh artifacts
|
||||
"@
|
||||
- name: upload build artifacts
|
||||
uses: actions/upload-artifact@v1
|
||||
run: . /etc/profile && ci/make-test-artifacts.sh artifacts
|
||||
- name: zip up tracked files
|
||||
run: git archive -o artifacts/tracked.tar.gz HEAD
|
||||
- name: upload tracked files and build artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: windows-artifacts
|
||||
path: artifacts
|
||||
- name: upload git-sdk-64-minimal
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: git-sdk-64-minimal
|
||||
path: git-sdk-64-minimal
|
||||
windows-test:
|
||||
name: win test
|
||||
runs-on: windows-latest
|
||||
needs: [windows-build]
|
||||
strategy:
|
||||
@ -127,65 +107,39 @@ jobs:
|
||||
matrix:
|
||||
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: download build artifacts
|
||||
uses: actions/download-artifact@v1
|
||||
- name: download tracked files and build artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: windows-artifacts
|
||||
path: ${{github.workspace}}
|
||||
- name: extract build artifacts
|
||||
- name: extract tracked files and build artifacts
|
||||
shell: bash
|
||||
run: tar xf artifacts.tar.gz
|
||||
- name: download git-sdk-64-minimal
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: git-sdk-64-minimal
|
||||
path: ${{github.workspace}}/git-sdk-64-minimal/
|
||||
run: tar xf artifacts.tar.gz && tar xf tracked.tar.gz
|
||||
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||
- name: test
|
||||
shell: powershell
|
||||
run: |
|
||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
||||
# Let Git ignore the SDK
|
||||
printf '%s\n' /git-sdk-64-minimal/ >>.git/info/exclude
|
||||
|
||||
ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||
"@
|
||||
shell: bash
|
||||
run: . /etc/profile && ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||
- name: ci/print-test-failures.sh
|
||||
if: failure()
|
||||
shell: powershell
|
||||
run: |
|
||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
|
||||
shell: bash
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: failed-tests-windows
|
||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||
vs-build:
|
||||
name: win+VS build
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
env:
|
||||
MSYSTEM: MINGW64
|
||||
NO_PERL: 1
|
||||
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: download git-sdk-64-minimal
|
||||
shell: bash
|
||||
run: |
|
||||
## Get artifact
|
||||
urlbase=https://dev.azure.com/git-for-windows/git/_apis/build/builds
|
||||
id=$(curl "$urlbase?definitions=22&statusFilter=completed&resultFilter=succeeded&\$top=1" |
|
||||
jq -r ".value[] | .id")
|
||||
download_url="$(curl "$urlbase/$id/artifacts" |
|
||||
jq -r '.value[] | select(.name == "git-sdk-64-minimal").resource.downloadUrl')"
|
||||
curl --connect-timeout 10 --retry 5 --retry-delay 0 --retry-max-time 240 \
|
||||
-o artifacts.zip "$download_url"
|
||||
|
||||
## Unzip and remove the artifact
|
||||
unzip artifacts.zip
|
||||
rm artifacts.zip
|
||||
- uses: actions/checkout@v2
|
||||
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||
- name: initialize vcpkg
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
@ -203,79 +157,65 @@ jobs:
|
||||
- name: add msbuild to PATH
|
||||
uses: microsoft/setup-msbuild@v1
|
||||
- name: copy dlls to root
|
||||
shell: powershell
|
||||
run: |
|
||||
& compat\vcbuild\vcpkg_copy_dlls.bat release
|
||||
if (!$?) { exit(1) }
|
||||
shell: cmd
|
||||
run: compat\vcbuild\vcpkg_copy_dlls.bat release
|
||||
- name: generate Visual Studio solution
|
||||
shell: bash
|
||||
run: |
|
||||
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
|
||||
-DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
|
||||
-DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
|
||||
- name: MSBuild
|
||||
run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
|
||||
- name: bundle artifact tar
|
||||
shell: powershell
|
||||
shell: bash
|
||||
env:
|
||||
MSVC: 1
|
||||
VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
|
||||
run: |
|
||||
& git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
||||
mkdir -p artifacts &&
|
||||
eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)\"
|
||||
"@
|
||||
- name: upload build artifacts
|
||||
uses: actions/upload-artifact@v1
|
||||
mkdir -p artifacts &&
|
||||
eval "$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts NO_GETTEXT=YesPlease 2>&1 | grep ^tar)"
|
||||
- name: zip up tracked files
|
||||
run: git archive -o artifacts/tracked.tar.gz HEAD
|
||||
- name: upload tracked files and build artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: vs-artifacts
|
||||
path: artifacts
|
||||
vs-test:
|
||||
name: win+VS test
|
||||
runs-on: windows-latest
|
||||
needs: [vs-build, windows-build]
|
||||
needs: vs-build
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: download git-sdk-64-minimal
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: git-sdk-64-minimal
|
||||
path: ${{github.workspace}}/git-sdk-64-minimal/
|
||||
- name: download build artifacts
|
||||
uses: actions/download-artifact@v1
|
||||
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||
- name: download tracked files and build artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: vs-artifacts
|
||||
path: ${{github.workspace}}
|
||||
- name: extract build artifacts
|
||||
- name: extract tracked files and build artifacts
|
||||
shell: bash
|
||||
run: tar xf artifacts.tar.gz
|
||||
run: tar xf artifacts.tar.gz && tar xf tracked.tar.gz
|
||||
- name: test
|
||||
shell: powershell
|
||||
shell: bash
|
||||
env:
|
||||
MSYSTEM: MINGW64
|
||||
NO_SVN_TESTS: 1
|
||||
GIT_TEST_SKIP_REBASE_P: 1
|
||||
run: |
|
||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
||||
# Let Git ignore the SDK and the test-cache
|
||||
printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude
|
||||
|
||||
ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||
"@
|
||||
run: . /etc/profile && ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||
- name: ci/print-test-failures.sh
|
||||
if: failure()
|
||||
shell: powershell
|
||||
run: |
|
||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
|
||||
shell: bash
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: failed-tests-windows
|
||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||
regular:
|
||||
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
strategy:
|
||||
@ -285,35 +225,52 @@ jobs:
|
||||
- jobname: linux-clang
|
||||
cc: clang
|
||||
pool: ubuntu-latest
|
||||
- jobname: linux-sha256
|
||||
cc: clang
|
||||
os: ubuntu
|
||||
pool: ubuntu-latest
|
||||
- jobname: linux-gcc
|
||||
cc: gcc
|
||||
pool: ubuntu-latest
|
||||
cc_package: gcc-8
|
||||
pool: ubuntu-20.04
|
||||
- jobname: linux-TEST-vars
|
||||
cc: gcc
|
||||
os: ubuntu
|
||||
cc_package: gcc-8
|
||||
pool: ubuntu-20.04
|
||||
- jobname: osx-clang
|
||||
cc: clang
|
||||
pool: macos-latest
|
||||
- jobname: osx-gcc
|
||||
cc: gcc
|
||||
cc_package: gcc-9
|
||||
pool: macos-latest
|
||||
- jobname: linux-gcc-default
|
||||
cc: gcc
|
||||
pool: ubuntu-latest
|
||||
- jobname: linux-leaks
|
||||
cc: gcc
|
||||
pool: ubuntu-latest
|
||||
env:
|
||||
CC: ${{matrix.vector.cc}}
|
||||
CC_PACKAGE: ${{matrix.vector.cc_package}}
|
||||
jobname: ${{matrix.vector.jobname}}
|
||||
runs_on_pool: ${{matrix.vector.pool}}
|
||||
runs-on: ${{matrix.vector.pool}}
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- run: ci/install-dependencies.sh
|
||||
- run: ci/run-build-and-tests.sh
|
||||
- run: ci/print-test-failures.sh
|
||||
if: failure()
|
||||
- name: Upload failed tests' directories
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: failed-tests-${{matrix.vector.jobname}}
|
||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||
dockerized:
|
||||
name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
strategy:
|
||||
@ -322,8 +279,11 @@ jobs:
|
||||
vector:
|
||||
- jobname: linux-musl
|
||||
image: alpine
|
||||
- jobname: Linux32
|
||||
- jobname: linux32
|
||||
os: ubuntu32
|
||||
image: daald/ubuntu32:xenial
|
||||
- jobname: pedantic
|
||||
image: fedora
|
||||
env:
|
||||
jobname: ${{matrix.vector.jobname}}
|
||||
runs-on: ubuntu-latest
|
||||
@ -345,18 +305,40 @@ jobs:
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
env:
|
||||
jobname: StaticAnalysis
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- run: ci/install-dependencies.sh
|
||||
- run: ci/run-static-analysis.sh
|
||||
- run: ci/check-directional-formatting.bash
|
||||
sparse:
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
env:
|
||||
jobname: sparse
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Download a current `sparse` package
|
||||
# Ubuntu's `sparse` version is too old for us
|
||||
uses: git-for-windows/get-azure-pipelines-artifact@v0
|
||||
with:
|
||||
repository: git/git
|
||||
definitionId: 10
|
||||
artifact: sparse-20.04
|
||||
- name: Install the current `sparse` package
|
||||
run: sudo dpkg -i sparse-20.04/sparse_*.deb
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install other dependencies
|
||||
run: ci/install-dependencies.sh
|
||||
- run: make sparse
|
||||
documentation:
|
||||
name: documentation
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
env:
|
||||
jobname: Documentation
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- run: ci/install-dependencies.sh
|
||||
- run: ci/test-documentation.sh
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -125,7 +125,6 @@
|
||||
/git-range-diff
|
||||
/git-read-tree
|
||||
/git-rebase
|
||||
/git-rebase--preserve-merges
|
||||
/git-receive-pack
|
||||
/git-reflog
|
||||
/git-remote
|
||||
@ -190,6 +189,7 @@
|
||||
/gitweb/static/gitweb.min.*
|
||||
/config-list.h
|
||||
/command-list.h
|
||||
/hook-list.h
|
||||
*.tar.gz
|
||||
*.dsc
|
||||
*.deb
|
||||
@ -224,6 +224,7 @@
|
||||
*.lib
|
||||
*.res
|
||||
*.sln
|
||||
*.sp
|
||||
*.suo
|
||||
*.ncb
|
||||
*.vcproj
|
||||
|
60
.travis.yml
60
.travis.yml
@ -1,60 +0,0 @@
|
||||
language: c
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/travis-cache
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
osx_image: xcode10.1
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- env: jobname=linux-gcc-default
|
||||
os: linux
|
||||
compiler:
|
||||
addons:
|
||||
before_install:
|
||||
- env: jobname=linux-gcc-4.8
|
||||
os: linux
|
||||
dist: trusty
|
||||
compiler:
|
||||
- env: jobname=Linux32
|
||||
os: linux
|
||||
compiler:
|
||||
addons:
|
||||
services:
|
||||
- docker
|
||||
before_install:
|
||||
script: ci/run-docker.sh
|
||||
- env: jobname=linux-musl
|
||||
os: linux
|
||||
compiler:
|
||||
addons:
|
||||
services:
|
||||
- docker
|
||||
before_install:
|
||||
script: ci/run-docker.sh
|
||||
- env: jobname=StaticAnalysis
|
||||
os: linux
|
||||
compiler:
|
||||
script: ci/run-static-analysis.sh
|
||||
after_failure:
|
||||
- env: jobname=Documentation
|
||||
os: linux
|
||||
compiler:
|
||||
script: ci/test-documentation.sh
|
||||
after_failure:
|
||||
|
||||
before_install: ci/install-dependencies.sh
|
||||
script: ci/run-build-and-tests.sh
|
||||
after_failure: ci/print-test-failures.sh
|
||||
|
||||
notifications:
|
||||
email: false
|
1
Documentation/.gitignore
vendored
1
Documentation/.gitignore
vendored
@ -14,4 +14,5 @@ manpage-base-url.xsl
|
||||
SubmittingPatches.txt
|
||||
tmp-doc-diff/
|
||||
GIT-ASCIIDOCFLAGS
|
||||
/.build/
|
||||
/GIT-EXCLUDED-PROGRAMS
|
||||
|
@ -499,6 +499,33 @@ For Python scripts:
|
||||
- Where required libraries do not restrict us to Python 2, we try to
|
||||
also be compatible with Python 3.1 and later.
|
||||
|
||||
|
||||
Program Output
|
||||
|
||||
We make a distinction between a Git command's primary output and
|
||||
output which is merely chatty feedback (for instance, status
|
||||
messages, running transcript, or progress display), as well as error
|
||||
messages. Roughly speaking, a Git command's primary output is that
|
||||
which one might want to capture to a file or send down a pipe; its
|
||||
chatty output should not interfere with these use-cases.
|
||||
|
||||
As such, primary output should be sent to the standard output stream
|
||||
(stdout), and chatty output should be sent to the standard error
|
||||
stream (stderr). Examples of commands which produce primary output
|
||||
include `git log`, `git show`, and `git branch --list` which generate
|
||||
output on the stdout stream.
|
||||
|
||||
Not all Git commands have primary output; this is often true of
|
||||
commands whose main function is to perform an action. Some action
|
||||
commands are silent, whereas others are chatty. An example of a
|
||||
chatty action commands is `git clone` with its "Cloning into
|
||||
'<path>'..." and "Checking connectivity..." status messages which it
|
||||
sends to the stderr stream.
|
||||
|
||||
Error messages from Git commands should always be sent to the stderr
|
||||
stream.
|
||||
|
||||
|
||||
Error Messages
|
||||
|
||||
- Do not end error messages with a full stop.
|
||||
@ -551,6 +578,51 @@ Writing Documentation:
|
||||
documentation, please see the documentation-related advice in the
|
||||
Documentation/SubmittingPatches file).
|
||||
|
||||
In order to ensure the documentation is inclusive, avoid assuming
|
||||
that an unspecified example person is male or female, and think
|
||||
twice before using "he", "him", "she", or "her". Here are some
|
||||
tips to avoid use of gendered pronouns:
|
||||
|
||||
- Prefer succinctness and matter-of-factly describing functionality
|
||||
in the abstract. E.g.
|
||||
|
||||
--short:: Emit output in the short-format.
|
||||
|
||||
and avoid something like these overly verbose alternatives:
|
||||
|
||||
--short:: Use this to emit output in the short-format.
|
||||
--short:: You can use this to get output in the short-format.
|
||||
--short:: A user who prefers shorter output could....
|
||||
--short:: Should a person and/or program want shorter output, he
|
||||
she/they/it can...
|
||||
|
||||
This practice often eliminates the need to involve human actors in
|
||||
your description, but it is a good practice regardless of the
|
||||
avoidance of gendered pronouns.
|
||||
|
||||
- When it becomes awkward to stick to this style, prefer "you" when
|
||||
addressing the the hypothetical user, and possibly "we" when
|
||||
discussing how the program might react to the user. E.g.
|
||||
|
||||
You can use this option instead of --xyz, but we might remove
|
||||
support for it in future versions.
|
||||
|
||||
while keeping in mind that you can probably be less verbose, e.g.
|
||||
|
||||
Use this instead of --xyz. This option might be removed in future
|
||||
versions.
|
||||
|
||||
- If you still need to refer to an example person that is
|
||||
third-person singular, you may resort to "singular they" to avoid
|
||||
"he/she/him/her", e.g.
|
||||
|
||||
A contributor asks their upstream to pull from them.
|
||||
|
||||
Note that this sounds ungrammatical and unnatural to those who
|
||||
learned that "they" is only used for third-person plural, e.g.
|
||||
those who learn English as a second language in some parts of the
|
||||
world.
|
||||
|
||||
Every user-visible change should be reflected in the documentation.
|
||||
The same general rule as for code applies -- imitate the existing
|
||||
conventions.
|
||||
|
@ -90,6 +90,7 @@ SP_ARTICLES += $(API_DOCS)
|
||||
TECH_DOCS += MyFirstContribution
|
||||
TECH_DOCS += MyFirstObjectWalk
|
||||
TECH_DOCS += SubmittingPatches
|
||||
TECH_DOCS += technical/bundle-format
|
||||
TECH_DOCS += technical/hash-function-transition
|
||||
TECH_DOCS += technical/http-protocol
|
||||
TECH_DOCS += technical/index-format
|
||||
@ -139,6 +140,7 @@ ASCIIDOC_CONF = -f asciidoc.conf
|
||||
ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
|
||||
-amanversion=$(GIT_VERSION) \
|
||||
-amanmanual='Git Manual' -amansource='Git'
|
||||
ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS
|
||||
TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
|
||||
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
|
||||
MANPAGE_XSL = manpage-normal.xsl
|
||||
@ -193,6 +195,7 @@ ASCIIDOC_DOCBOOK = docbook5
|
||||
ASCIIDOC_EXTRA += -acompat-mode -atabsize=8
|
||||
ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
|
||||
ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
|
||||
ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
|
||||
DBLATEX_COMMON =
|
||||
XMLTO_EXTRA += --skip-validation
|
||||
XMLTO_EXTRA += -x manpage.xsl
|
||||
@ -223,6 +226,7 @@ endif
|
||||
|
||||
ifneq ($(findstring $(MAKEFLAGS),s),s)
|
||||
ifndef V
|
||||
QUIET = @
|
||||
QUIET_ASCIIDOC = @echo ' ' ASCIIDOC $@;
|
||||
QUIET_XMLTO = @echo ' ' XMLTO $@;
|
||||
QUIET_DB2TEXI = @echo ' ' DB2TEXI $@;
|
||||
@ -230,11 +234,15 @@ ifndef V
|
||||
QUIET_DBLATEX = @echo ' ' DBLATEX $@;
|
||||
QUIET_XSLTPROC = @echo ' ' XSLTPROC $@;
|
||||
QUIET_GEN = @echo ' ' GEN $@;
|
||||
QUIET_LINT = @echo ' ' LINT $@;
|
||||
QUIET_STDERR = 2> /dev/null
|
||||
QUIET_SUBDIR0 = +@subdir=
|
||||
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
|
||||
$(MAKE) $(PRINT_DIR) -C $$subdir
|
||||
|
||||
QUIET_LINT_GITLINK = @echo ' ' LINT GITLINK $<;
|
||||
QUIET_LINT_MANSEC = @echo ' ' LINT MAN SEC $<;
|
||||
QUIET_LINT_MANEND = @echo ' ' LINT MAN END $<;
|
||||
|
||||
export V
|
||||
endif
|
||||
endif
|
||||
@ -282,7 +290,7 @@ install-html: html
|
||||
../GIT-VERSION-FILE: FORCE
|
||||
$(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) GIT-VERSION-FILE
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(filter-out lint-docs clean,$(MAKECMDGOALS)),)
|
||||
-include ../GIT-VERSION-FILE
|
||||
endif
|
||||
|
||||
@ -294,9 +302,7 @@ docdep_prereqs = \
|
||||
cmd-list.made $(cmds_txt)
|
||||
|
||||
doc.dep : $(docdep_prereqs) $(DOC_DEP_TXT) build-docdep.perl
|
||||
$(QUIET_GEN)$(RM) $@+ $@ && \
|
||||
$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
|
||||
mv $@+ $@
|
||||
$(QUIET_GEN)$(PERL_PATH) ./build-docdep.perl >$@ $(QUIET_STDERR)
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
-include doc.dep
|
||||
@ -316,8 +322,7 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
|
||||
$(cmds_txt): cmd-list.made
|
||||
|
||||
cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
|
||||
$(QUIET_GEN)$(RM) $@ && \
|
||||
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
|
||||
$(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
|
||||
date >$@
|
||||
|
||||
mergetools_txt = mergetools-diff.txt mergetools-merge.txt
|
||||
@ -325,7 +330,7 @@ mergetools_txt = mergetools-diff.txt mergetools-merge.txt
|
||||
$(mergetools_txt): mergetools-list.made
|
||||
|
||||
mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
|
||||
$(QUIET_GEN)$(RM) $@ && \
|
||||
$(QUIET_GEN) \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
|
||||
. ../git-mergetool--lib.sh && \
|
||||
show_tool_names can_diff "* " || :' >mergetools-diff.txt && \
|
||||
@ -344,6 +349,7 @@ GIT-ASCIIDOCFLAGS: FORCE
|
||||
fi
|
||||
|
||||
clean:
|
||||
$(RM) -rf .build/
|
||||
$(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
|
||||
$(RM) *.texi *.texi+ *.texi++ git.info gitman.info
|
||||
$(RM) *.pdf
|
||||
@ -354,32 +360,23 @@ clean:
|
||||
$(RM) manpage-base-url.xsl
|
||||
$(RM) GIT-ASCIIDOCFLAGS
|
||||
|
||||
$(MAN_HTML): %.html : %.txt asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(TXT_TO_HTML) -d manpage -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
$(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS)
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -d manpage -o $@ $<
|
||||
|
||||
$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(TXT_TO_HTML) -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
$(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS)
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $<
|
||||
|
||||
manpage-base-url.xsl: manpage-base-url.xsl.in
|
||||
$(QUIET_GEN)sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
|
||||
|
||||
%.1 %.5 %.7 : %.xml manpage-base-url.xsl $(wildcard manpage*.xsl)
|
||||
$(QUIET_XMLTO)$(RM) $@ && \
|
||||
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
||||
$(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
||||
|
||||
%.xml : %.txt asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(TXT_TO_XML) -d manpage -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
%.xml : %.txt $(ASCIIDOC_DEPS)
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $<
|
||||
|
||||
user-manual.xml: user-manual.txt user-manual.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(TXT_TO_XML) -d book -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d book -o $@ $<
|
||||
|
||||
technical/api-index.txt: technical/api-index-skel.txt \
|
||||
technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS))
|
||||
@ -400,46 +397,35 @@ XSLTOPTS += --stringparam html.stylesheet docbook-xsl.css
|
||||
XSLTOPTS += --param generate.consistent.ids 1
|
||||
|
||||
user-manual.html: user-manual.xml $(XSLT)
|
||||
$(QUIET_XSLTPROC)$(RM) $@+ $@ && \
|
||||
xsltproc $(XSLTOPTS) -o $@+ $(XSLT) $< && \
|
||||
mv $@+ $@
|
||||
$(QUIET_XSLTPROC)xsltproc $(XSLTOPTS) -o $@ $(XSLT) $<
|
||||
|
||||
git.info: user-manual.texi
|
||||
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi
|
||||
|
||||
user-manual.texi: user-manual.xml
|
||||
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
|
||||
$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@++ && \
|
||||
$(PERL_PATH) fix-texi.perl <$@++ >$@+ && \
|
||||
rm $@++ && \
|
||||
mv $@+ $@
|
||||
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \
|
||||
$(PERL_PATH) fix-texi.perl <$@+ >$@ && \
|
||||
$(RM) $@+
|
||||
|
||||
user-manual.pdf: user-manual.xml
|
||||
$(QUIET_DBLATEX)$(RM) $@+ $@ && \
|
||||
$(DBLATEX) -o $@+ $(DBLATEX_COMMON) $< && \
|
||||
mv $@+ $@
|
||||
$(QUIET_DBLATEX)$(DBLATEX) -o $@ $(DBLATEX_COMMON) $<
|
||||
|
||||
gitman.texi: $(MAN_XML) cat-texi.perl texi.xsl
|
||||
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
|
||||
$(QUIET_DB2TEXI) \
|
||||
($(foreach xml,$(sort $(MAN_XML)),xsltproc -o $(xml)+ texi.xsl $(xml) && \
|
||||
$(DOCBOOK2X_TEXI) --encoding=UTF-8 --to-stdout $(xml)+ && \
|
||||
rm $(xml)+ &&) true) > $@++ && \
|
||||
$(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \
|
||||
rm $@++ && \
|
||||
mv $@+ $@
|
||||
$(RM) $(xml)+ &&) true) > $@+ && \
|
||||
$(PERL_PATH) cat-texi.perl $@ <$@+ >$@ && \
|
||||
$(RM) $@+
|
||||
|
||||
gitman.info: gitman.texi
|
||||
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi
|
||||
|
||||
$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
|
||||
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
|
||||
$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+ && \
|
||||
mv $@+ $@
|
||||
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@
|
||||
|
||||
howto-index.txt: howto-index.sh $(HOWTO_TXT)
|
||||
$(QUIET_GEN)$(RM) $@+ $@ && \
|
||||
'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@+ && \
|
||||
mv $@+ $@
|
||||
$(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@
|
||||
|
||||
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
|
||||
@ -448,10 +434,9 @@ WEBDOC_DEST = /pub/software/scm/git/docs
|
||||
|
||||
howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
|
||||
$(patsubst %.txt,%.html,$(HOWTO_TXT)): %.html : %.txt GIT-ASCIIDOCFLAGS
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(QUIET_ASCIIDOC) \
|
||||
sed -e '1,/^$$/d' $< | \
|
||||
$(TXT_TO_HTML) - >$@+ && \
|
||||
mv $@+ $@
|
||||
$(TXT_TO_HTML) - >$@
|
||||
|
||||
install-webdoc : html
|
||||
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
|
||||
@ -478,18 +463,68 @@ quick-install-html: require-htmlrepo
|
||||
print-man1:
|
||||
@for i in $(MAN1_TXT); do echo $$i; done
|
||||
|
||||
lint-docs::
|
||||
$(QUIET_LINT)$(PERL_PATH) lint-gitlink.perl \
|
||||
## Lint: Common
|
||||
.build:
|
||||
$(QUIET)mkdir $@
|
||||
.build/lint-docs: | .build
|
||||
$(QUIET)mkdir $@
|
||||
|
||||
## Lint: gitlink
|
||||
.build/lint-docs/gitlink: | .build/lint-docs
|
||||
$(QUIET)mkdir $@
|
||||
.build/lint-docs/gitlink/howto: | .build/lint-docs/gitlink
|
||||
$(QUIET)mkdir $@
|
||||
.build/lint-docs/gitlink/config: | .build/lint-docs/gitlink
|
||||
$(QUIET)mkdir $@
|
||||
LINT_DOCS_GITLINK = $(patsubst %.txt,.build/lint-docs/gitlink/%.ok,$(HOWTO_TXT) $(DOC_DEP_TXT))
|
||||
$(LINT_DOCS_GITLINK): | .build/lint-docs/gitlink
|
||||
$(LINT_DOCS_GITLINK): | .build/lint-docs/gitlink/howto
|
||||
$(LINT_DOCS_GITLINK): | .build/lint-docs/gitlink/config
|
||||
$(LINT_DOCS_GITLINK): lint-gitlink.perl
|
||||
$(LINT_DOCS_GITLINK): .build/lint-docs/gitlink/%.ok: %.txt
|
||||
$(QUIET_LINT_GITLINK)$(PERL_PATH) lint-gitlink.perl \
|
||||
$< \
|
||||
$(HOWTO_TXT) $(DOC_DEP_TXT) \
|
||||
--section=1 $(MAN1_TXT) \
|
||||
--section=5 $(MAN5_TXT) \
|
||||
--section=7 $(MAN7_TXT); \
|
||||
$(PERL_PATH) lint-man-end-blurb.perl $(MAN_TXT); \
|
||||
$(PERL_PATH) lint-man-section-order.perl $(MAN_TXT);
|
||||
--section=7 $(MAN7_TXT) >$@
|
||||
.PHONY: lint-docs-gitlink
|
||||
lint-docs-gitlink: $(LINT_DOCS_GITLINK)
|
||||
|
||||
## Lint: man-end-blurb
|
||||
.build/lint-docs/man-end-blurb: | .build/lint-docs
|
||||
$(QUIET)mkdir $@
|
||||
LINT_DOCS_MAN_END_BLURB = $(patsubst %.txt,.build/lint-docs/man-end-blurb/%.ok,$(MAN_TXT))
|
||||
$(LINT_DOCS_MAN_END_BLURB): | .build/lint-docs/man-end-blurb
|
||||
$(LINT_DOCS_MAN_END_BLURB): lint-man-end-blurb.perl
|
||||
$(LINT_DOCS_MAN_END_BLURB): .build/lint-docs/man-end-blurb/%.ok: %.txt
|
||||
$(QUIET_LINT_MANEND)$(PERL_PATH) lint-man-end-blurb.perl $< >$@
|
||||
.PHONY: lint-docs-man-end-blurb
|
||||
lint-docs-man-end-blurb: $(LINT_DOCS_MAN_END_BLURB)
|
||||
|
||||
## Lint: man-section-order
|
||||
.build/lint-docs/man-section-order: | .build/lint-docs
|
||||
$(QUIET)mkdir $@
|
||||
LINT_DOCS_MAN_SECTION_ORDER = $(patsubst %.txt,.build/lint-docs/man-section-order/%.ok,$(MAN_TXT))
|
||||
$(LINT_DOCS_MAN_SECTION_ORDER): | .build/lint-docs/man-section-order
|
||||
$(LINT_DOCS_MAN_SECTION_ORDER): lint-man-section-order.perl
|
||||
$(LINT_DOCS_MAN_SECTION_ORDER): .build/lint-docs/man-section-order/%.ok: %.txt
|
||||
$(QUIET_LINT_MANSEC)$(PERL_PATH) lint-man-section-order.perl $< >$@
|
||||
.PHONY: lint-docs-man-section-order
|
||||
lint-docs-man-section-order: $(LINT_DOCS_MAN_SECTION_ORDER)
|
||||
|
||||
## Lint: list of targets above
|
||||
.PHONY: lint-docs
|
||||
lint-docs: lint-docs-gitlink
|
||||
lint-docs: lint-docs-man-end-blurb
|
||||
lint-docs: lint-docs-man-section-order
|
||||
|
||||
ifeq ($(wildcard po/Makefile),po/Makefile)
|
||||
doc-l10n install-l10n::
|
||||
$(MAKE) -C po $@
|
||||
endif
|
||||
|
||||
# Delete the target file on error
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
.PHONY: FORCE
|
||||
|
@ -47,7 +47,7 @@ Veteran contributors who are especially interested in helping mentor newcomers
|
||||
are present on the list. In order to avoid search indexers, group membership is
|
||||
required to view messages; anyone can join and no approval is required.
|
||||
|
||||
==== https://webchat.freenode.net/#git-devel[#git-devel] on Freenode
|
||||
==== https://web.libera.chat/#git-devel[#git-devel] on Libera Chat
|
||||
|
||||
This IRC channel is for conversations between Git contributors. If someone is
|
||||
currently online and knows the answer to your question, you can receive help
|
||||
@ -827,7 +827,7 @@ either examining recent pull requests where someone has been granted `/allow`
|
||||
(https://github.com/gitgitgadget/git/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+%22%2Fallow%22[Search:
|
||||
is:pr is:open "/allow"]), in which case both the author and the person who
|
||||
granted the `/allow` can now `/allow` you, or by inquiring on the
|
||||
https://webchat.freenode.net/#git-devel[#git-devel] IRC channel on Freenode
|
||||
https://web.libera.chat/#git-devel[#git-devel] IRC channel on Libera Chat
|
||||
linking your pull request and asking for someone to `/allow` you.
|
||||
|
||||
If the CI fails, you can update your changes with `git rebase -i` and push your
|
||||
@ -905,19 +905,34 @@ Sending emails with Git is a two-part process; before you can prepare the emails
|
||||
themselves, you'll need to prepare the patches. Luckily, this is pretty simple:
|
||||
|
||||
----
|
||||
$ git format-patch --cover-letter -o psuh/ master..psuh
|
||||
$ git format-patch --cover-letter -o psuh/ --base=auto psuh@{u}..psuh
|
||||
----
|
||||
|
||||
The `--cover-letter` parameter tells `format-patch` to create a cover letter
|
||||
template for you. You will need to fill in the template before you're ready
|
||||
to send - but for now, the template will be next to your other patches.
|
||||
. The `--cover-letter` option tells `format-patch` to create a
|
||||
cover letter template for you. You will need to fill in the
|
||||
template before you're ready to send - but for now, the template
|
||||
will be next to your other patches.
|
||||
|
||||
The `-o psuh/` parameter tells `format-patch` to place the patch files into a
|
||||
directory. This is useful because `git send-email` can take a directory and
|
||||
send out all the patches from there.
|
||||
. The `-o psuh/` option tells `format-patch` to place the patch
|
||||
files into a directory. This is useful because `git send-email`
|
||||
can take a directory and send out all the patches from there.
|
||||
|
||||
`master..psuh` tells `format-patch` to generate patches for the difference
|
||||
between `master` and `psuh`. It will make one patch file per commit. After you
|
||||
. The `--base=auto` option tells the command to record the "base
|
||||
commit", on which the recipient is expected to apply the patch
|
||||
series. The `auto` value will cause `format-patch` to compute
|
||||
the base commit automatically, which is the merge base of tip
|
||||
commit of the remote-tracking branch and the specified revision
|
||||
range.
|
||||
|
||||
. The `psuh@{u}..psuh` option tells `format-patch` to generate
|
||||
patches for the commits you created on the `psuh` branch since it
|
||||
forked from its upstream (which is `origin/master` if you
|
||||
followed the example in the "Set up your workspace" section). If
|
||||
you are already on the `psuh` branch, you can just say `@{u}`,
|
||||
which means "commits on the current branch since it forked from
|
||||
its upstream", which is the same thing.
|
||||
|
||||
The command will make one patch file per commit. After you
|
||||
run, you can go have a look at each of the patches with your favorite text
|
||||
editor and make sure everything looks alright; however, it's not recommended to
|
||||
make code fixups via the patch file. It's a better idea to make the change the
|
||||
@ -1029,22 +1044,42 @@ kidding - be patient!)
|
||||
[[v2-git-send-email]]
|
||||
=== Sending v2
|
||||
|
||||
Skip ahead to <<reviewing,Responding to Reviews>> for information on how to
|
||||
handle comments from reviewers. Continue this section when your topic branch is
|
||||
shaped the way you want it to look for your patchset v2.
|
||||
This section will focus on how to send a v2 of your patchset. To learn what
|
||||
should go into v2, skip ahead to <<reviewing,Responding to Reviews>> for
|
||||
information on how to handle comments from reviewers.
|
||||
|
||||
When you're ready with the next iteration of your patch, the process is fairly
|
||||
similar.
|
||||
|
||||
First, generate your v2 patches again:
|
||||
We'll reuse our `psuh` topic branch for v2. Before we make any changes, we'll
|
||||
mark the tip of our v1 branch for easy reference:
|
||||
|
||||
----
|
||||
$ git format-patch -v2 --cover-letter -o psuh/ master..psuh
|
||||
$ git checkout psuh
|
||||
$ git branch psuh-v1
|
||||
----
|
||||
|
||||
This will add your v2 patches, all named like `v2-000n-my-commit-subject.patch`,
|
||||
to the `psuh/` directory. You may notice that they are sitting alongside the v1
|
||||
patches; that's fine, but be careful when you are ready to send them.
|
||||
Refine your patch series by using `git rebase -i` to adjust commits based upon
|
||||
reviewer comments. Once the patch series is ready for submission, generate your
|
||||
patches again, but with some new flags:
|
||||
|
||||
----
|
||||
$ git format-patch -v2 --cover-letter -o psuh/ --range-diff master..psuh-v1 master..
|
||||
----
|
||||
|
||||
The `--range-diff master..psuh-v1` parameter tells `format-patch` to include a
|
||||
range-diff between `psuh-v1` and `psuh` in the cover letter (see
|
||||
linkgit:git-range-diff[1]). This helps tell reviewers about the differences
|
||||
between your v1 and v2 patches.
|
||||
|
||||
The `-v2` parameter tells `format-patch` to output your patches
|
||||
as version "2". For instance, you may notice that your v2 patches are
|
||||
all named like `v2-000n-my-commit-subject.patch`. `-v2` will also format
|
||||
your patches by prefixing them with "[PATCH v2]" instead of "[PATCH]",
|
||||
and your range-diff will be prefaced with "Range-diff against v1".
|
||||
|
||||
Afer you run this command, `format-patch` will output the patches to the `psuh/`
|
||||
directory, alongside the v1 patches. Using a single directory makes it easy to
|
||||
refer to the old v1 patches while proofreading the v2 patches, but you will need
|
||||
to be careful to send out only the v2 patches. We will use a pattern like
|
||||
"psuh/v2-*.patch" (not "psuh/*.patch", which would match v1 and v2 patches).
|
||||
|
||||
Edit your cover letter again. Now is a good time to mention what's different
|
||||
between your last version and now, if it's something significant. You do not
|
||||
@ -1082,7 +1117,7 @@ to the command:
|
||||
----
|
||||
$ git send-email --to=target@example.com
|
||||
--in-reply-to="<foo.12345.author@example.com>"
|
||||
psuh/v2*
|
||||
psuh/v2-*.patch
|
||||
----
|
||||
|
||||
[[single-patch]]
|
||||
|
@ -58,14 +58,19 @@ running, enable trace output by setting the environment variable `GIT_TRACE`.
|
||||
|
||||
Add usage text and `-h` handling, like all subcommands should consistently do
|
||||
(our test suite will notice and complain if you fail to do so).
|
||||
We'll need to include the `parse-options.h` header.
|
||||
|
||||
----
|
||||
#include "parse-options.h"
|
||||
|
||||
...
|
||||
|
||||
int cmd_walken(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
const char * const walken_usage[] = {
|
||||
N_("git walken"),
|
||||
NULL,
|
||||
}
|
||||
};
|
||||
struct option options[] = {
|
||||
OPT_END()
|
||||
};
|
||||
@ -195,9 +200,14 @@ Similarly to the default values, we don't have anything to do here yet
|
||||
ourselves; however, we should call `git_default_config()` if we aren't calling
|
||||
any other existing config callbacks.
|
||||
|
||||
Add a new function to `builtin/walken.c`:
|
||||
Add a new function to `builtin/walken.c`.
|
||||
We'll also need to include the `config.h` header:
|
||||
|
||||
----
|
||||
#include "config.h"
|
||||
|
||||
...
|
||||
|
||||
static int git_walken_config(const char *var, const char *value, void *cb)
|
||||
{
|
||||
/*
|
||||
@ -229,8 +239,14 @@ typically done by calling `repo_init_revisions()` with the repository you intend
|
||||
to target, as well as the `prefix` argument of `cmd_walken` and your `rev_info`
|
||||
struct.
|
||||
|
||||
Add the `struct rev_info` and the `repo_init_revisions()` call:
|
||||
Add the `struct rev_info` and the `repo_init_revisions()` call.
|
||||
We'll also need to include the `revision.h` header:
|
||||
|
||||
----
|
||||
#include "revision.h"
|
||||
|
||||
...
|
||||
|
||||
int cmd_walken(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
/* This can go wherever you like in your declarations.*/
|
||||
@ -624,9 +640,14 @@ static void walken_object_walk(struct rev_info *rev)
|
||||
----
|
||||
|
||||
Let's start by calling just the unfiltered walk and reporting our counts.
|
||||
Complete your implementation of `walken_object_walk()`:
|
||||
Complete your implementation of `walken_object_walk()`.
|
||||
We'll also need to include the `list-objects.h` header.
|
||||
|
||||
----
|
||||
#include "list-objects.h"
|
||||
|
||||
...
|
||||
|
||||
traverse_commit_list(rev, walken_show_commit, walken_show_object, NULL);
|
||||
|
||||
printf("commits %d\nblobs %d\ntags %d\ntrees %d\n", commit_count,
|
||||
@ -691,13 +712,13 @@ help understand. In our case, that means we omit trees and blobs not directly
|
||||
referenced by `HEAD` or `HEAD`'s history, because we begin the walk with only
|
||||
`HEAD` in the `pending` list.)
|
||||
|
||||
First, we'll need to `#include "list-objects-filter-options.h`" and set up the
|
||||
First, we'll need to `#include "list-objects-filter-options.h"` and set up the
|
||||
`struct list_objects_filter_options` at the top of the function.
|
||||
|
||||
----
|
||||
static void walken_object_walk(struct rev_info *rev)
|
||||
{
|
||||
struct list_objects_filter_options filter_options = {};
|
||||
struct list_objects_filter_options filter_options = { 0 };
|
||||
|
||||
...
|
||||
----
|
||||
@ -779,7 +800,7 @@ Count all the objects within and modify the print statement:
|
||||
while ((oid = oidset_iter_next(&oit)))
|
||||
omitted_count++;
|
||||
|
||||
printf("commits %d\nblobs %d\ntags %d\ntrees%d\nomitted %d\n",
|
||||
printf("commits %d\nblobs %d\ntags %d\ntrees %d\nomitted %d\n",
|
||||
commit_count, blob_count, tag_count, tree_count, omitted_count);
|
||||
----
|
||||
|
||||
|
@ -50,7 +50,7 @@ Fixes since v1.6.0.2
|
||||
if the working tree is currently dirty.
|
||||
|
||||
* "git for-each-ref --format=%(subject)" fixed for commits with no
|
||||
no newline in the message body.
|
||||
newline in the message body.
|
||||
|
||||
* "git remote" fixed to protect printf from user input.
|
||||
|
||||
|
@ -365,7 +365,7 @@ details).
|
||||
(merge 2fbd4f9 mh/maint-lockfile-overflow later to maint).
|
||||
|
||||
* Invocations of "git checkout" used internally by "git rebase" were
|
||||
counted as "checkout", and affected later "git checkout -" to the
|
||||
counted as "checkout", and affected later "git checkout -", which took
|
||||
the user to an unexpected place.
|
||||
(merge 3bed291 rr/rebase-checkout-reflog later to maint).
|
||||
|
||||
|
@ -184,8 +184,8 @@ Performance, Internal Implementation, Development Support etc.
|
||||
the ref backend in use, as its format is much richer than the
|
||||
normal refs, and written directly by "git fetch" as a plain file..
|
||||
|
||||
* An unused binary has been discarded, and and a bunch of commands
|
||||
have been turned into into built-in.
|
||||
* An unused binary has been discarded, and a bunch of commands
|
||||
have been turned into built-in.
|
||||
|
||||
* A handful of places in in-tree code still relied on being able to
|
||||
execute the git subcommands, especially built-ins, in "git-foo"
|
||||
|
24
Documentation/RelNotes/2.30.3.txt
Normal file
24
Documentation/RelNotes/2.30.3.txt
Normal file
@ -0,0 +1,24 @@
|
||||
Git v2.30.2 Release Notes
|
||||
=========================
|
||||
|
||||
This release addresses the security issue CVE-2022-24765.
|
||||
|
||||
Fixes since v2.30.2
|
||||
-------------------
|
||||
|
||||
* Build fix on Windows.
|
||||
|
||||
* Fix `GIT_CEILING_DIRECTORIES` with Windows-style root directories.
|
||||
|
||||
* CVE-2022-24765:
|
||||
On multi-user machines, Git users might find themselves
|
||||
unexpectedly in a Git worktree, e.g. when another user created a
|
||||
repository in `C:\.git`, in a mounted network drive or in a
|
||||
scratch space. Merely having a Git-aware prompt that runs `git
|
||||
status` (or `git diff`) and navigating to a directory which is
|
||||
supposedly not a Git worktree, or opening such a directory in an
|
||||
editor or IDE such as VS Code or Atom, will potentially run
|
||||
commands defined by that other user.
|
||||
|
||||
Credit for finding this vulnerability goes to 俞晨东; The fix was
|
||||
authored by Johannes Schindelin.
|
21
Documentation/RelNotes/2.30.4.txt
Normal file
21
Documentation/RelNotes/2.30.4.txt
Normal file
@ -0,0 +1,21 @@
|
||||
Git v2.30.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release contains minor fix-ups for the changes that went into
|
||||
Git 2.30.3, which was made to address CVE-2022-24765.
|
||||
|
||||
* The code that was meant to parse the new `safe.directory`
|
||||
configuration variable was not checking what configuration
|
||||
variable was being fed to it, which has been corrected.
|
||||
|
||||
* '*' can be used as the value for the `safe.directory` variable to
|
||||
signal that the user considers that any directory is safe.
|
||||
|
||||
|
||||
|
||||
Derrick Stolee (2):
|
||||
t0033: add tests for safe.directory
|
||||
setup: opt-out of check with safe.directory=*
|
||||
|
||||
Matheus Valadares (1):
|
||||
setup: fix safe.directory key not being checked
|
12
Documentation/RelNotes/2.30.5.txt
Normal file
12
Documentation/RelNotes/2.30.5.txt
Normal file
@ -0,0 +1,12 @@
|
||||
Git v2.30.5 Release Notes
|
||||
=========================
|
||||
|
||||
This release contains minor fix-ups for the changes that went into
|
||||
Git 2.30.3 and 2.30.4, addressing CVE-2022-29187.
|
||||
|
||||
* The safety check that verifies a safe ownership of the Git
|
||||
worktree is now extended to also cover the ownership of the Git
|
||||
directory (and the `.git` file, if there is any).
|
||||
|
||||
Carlo Marcelo Arenas Belón (1):
|
||||
setup: tighten ownership checks post CVE-2022-24765
|
60
Documentation/RelNotes/2.30.6.txt
Normal file
60
Documentation/RelNotes/2.30.6.txt
Normal file
@ -0,0 +1,60 @@
|
||||
Git v2.30.6 Release Notes
|
||||
=========================
|
||||
|
||||
This release addresses the security issues CVE-2022-39253 and
|
||||
CVE-2022-39260.
|
||||
|
||||
Fixes since v2.30.5
|
||||
-------------------
|
||||
|
||||
* CVE-2022-39253:
|
||||
When relying on the `--local` clone optimization, Git dereferences
|
||||
symbolic links in the source repository before creating hardlinks
|
||||
(or copies) of the dereferenced link in the destination repository.
|
||||
This can lead to surprising behavior where arbitrary files are
|
||||
present in a repository's `$GIT_DIR` when cloning from a malicious
|
||||
repository.
|
||||
|
||||
Git will no longer dereference symbolic links via the `--local`
|
||||
clone mechanism, and will instead refuse to clone repositories that
|
||||
have symbolic links present in the `$GIT_DIR/objects` directory.
|
||||
|
||||
Additionally, the value of `protocol.file.allow` is changed to be
|
||||
"user" by default.
|
||||
|
||||
* CVE-2022-39260:
|
||||
An overly-long command string given to `git shell` can result in
|
||||
overflow in `split_cmdline()`, leading to arbitrary heap writes and
|
||||
remote code execution when `git shell` is exposed and the directory
|
||||
`$HOME/git-shell-commands` exists.
|
||||
|
||||
`git shell` is taught to refuse interactive commands that are
|
||||
longer than 4MiB in size. `split_cmdline()` is hardened to reject
|
||||
inputs larger than 2GiB.
|
||||
|
||||
Credit for finding CVE-2022-39253 goes to Cory Snider of Mirantis. The
|
||||
fix was authored by Taylor Blau, with help from Johannes Schindelin.
|
||||
|
||||
Credit for finding CVE-2022-39260 goes to Kevin Backhouse of GitHub.
|
||||
The fix was authored by Kevin Backhouse, Jeff King, and Taylor Blau.
|
||||
|
||||
|
||||
Jeff King (2):
|
||||
shell: add basic tests
|
||||
shell: limit size of interactive commands
|
||||
|
||||
Kevin Backhouse (1):
|
||||
alias.c: reject too-long cmdline strings in split_cmdline()
|
||||
|
||||
Taylor Blau (11):
|
||||
builtin/clone.c: disallow `--local` clones with symlinks
|
||||
t/lib-submodule-update.sh: allow local submodules
|
||||
t/t1NNN: allow local submodules
|
||||
t/2NNNN: allow local submodules
|
||||
t/t3NNN: allow local submodules
|
||||
t/t4NNN: allow local submodules
|
||||
t/t5NNN: allow local submodules
|
||||
t/t6NNN: allow local submodules
|
||||
t/t7NNN: allow local submodules
|
||||
t/t9NNN: allow local submodules
|
||||
transport: make `protocol.file.allow` be "user" by default
|
86
Documentation/RelNotes/2.30.7.txt
Normal file
86
Documentation/RelNotes/2.30.7.txt
Normal file
@ -0,0 +1,86 @@
|
||||
Git v2.30.7 Release Notes
|
||||
=========================
|
||||
|
||||
This release addresses the security issues CVE-2022-41903 and
|
||||
CVE-2022-23521.
|
||||
|
||||
|
||||
Fixes since v2.30.6
|
||||
-------------------
|
||||
|
||||
* CVE-2022-41903:
|
||||
|
||||
git log has the ability to display commits using an arbitrary
|
||||
format with its --format specifiers. This functionality is also
|
||||
exposed to git archive via the export-subst gitattribute.
|
||||
|
||||
When processing the padding operators (e.g., %<(, %<|(, %>(,
|
||||
%>>(, or %><( ), an integer overflow can occur in
|
||||
pretty.c::format_and_pad_commit() where a size_t is improperly
|
||||
stored as an int, and then added as an offset to a subsequent
|
||||
memcpy() call.
|
||||
|
||||
This overflow can be triggered directly by a user running a
|
||||
command which invokes the commit formatting machinery (e.g., git
|
||||
log --format=...). It may also be triggered indirectly through
|
||||
git archive via the export-subst mechanism, which expands format
|
||||
specifiers inside of files within the repository during a git
|
||||
archive.
|
||||
|
||||
This integer overflow can result in arbitrary heap writes, which
|
||||
may result in remote code execution.
|
||||
|
||||
* CVE-2022-23521:
|
||||
|
||||
gitattributes are a mechanism to allow defining attributes for
|
||||
paths. These attributes can be defined by adding a `.gitattributes`
|
||||
file to the repository, which contains a set of file patterns and
|
||||
the attributes that should be set for paths matching this pattern.
|
||||
|
||||
When parsing gitattributes, multiple integer overflows can occur
|
||||
when there is a huge number of path patterns, a huge number of
|
||||
attributes for a single pattern, or when the declared attribute
|
||||
names are huge.
|
||||
|
||||
These overflows can be triggered via a crafted `.gitattributes` file
|
||||
that may be part of the commit history. Git silently splits lines
|
||||
longer than 2KB when parsing gitattributes from a file, but not when
|
||||
parsing them from the index. Consequentially, the failure mode
|
||||
depends on whether the file exists in the working tree, the index or
|
||||
both.
|
||||
|
||||
This integer overflow can result in arbitrary heap reads and writes,
|
||||
which may result in remote code execution.
|
||||
|
||||
Credit for finding CVE-2022-41903 goes to Joern Schneeweisz of GitLab.
|
||||
An initial fix was authored by Markus Vervier of X41 D-Sec. Credit for
|
||||
finding CVE-2022-23521 goes to Markus Vervier and Eric Sesterhenn of X41
|
||||
D-Sec. This work was sponsored by OSTIF.
|
||||
|
||||
The proposed fixes have been polished and extended to cover additional
|
||||
findings by Patrick Steinhardt of GitLab, with help from others on the
|
||||
Git security mailing list.
|
||||
|
||||
Patrick Steinhardt (21):
|
||||
attr: fix overflow when upserting attribute with overly long name
|
||||
attr: fix out-of-bounds read with huge attribute names
|
||||
attr: fix integer overflow when parsing huge attribute names
|
||||
attr: fix out-of-bounds write when parsing huge number of attributes
|
||||
attr: fix out-of-bounds read with unreasonable amount of patterns
|
||||
attr: fix integer overflow with more than INT_MAX macros
|
||||
attr: harden allocation against integer overflows
|
||||
attr: fix silently splitting up lines longer than 2048 bytes
|
||||
attr: ignore attribute lines exceeding 2048 bytes
|
||||
attr: ignore overly large gitattributes files
|
||||
pretty: fix out-of-bounds write caused by integer overflow
|
||||
pretty: fix out-of-bounds read when left-flushing with stealing
|
||||
pretty: fix out-of-bounds read when parsing invalid padding format
|
||||
pretty: fix adding linefeed when placeholder is not expanded
|
||||
pretty: fix integer overflow in wrapping format
|
||||
utf8: fix truncated string lengths in `utf8_strnwidth()`
|
||||
utf8: fix returning negative string width
|
||||
utf8: fix overflow when returning string width
|
||||
utf8: fix checking for glyph width in `strbuf_utf8_replace()`
|
||||
utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
|
||||
pretty: restrict input lengths for padding and wrapping formats
|
||||
|
52
Documentation/RelNotes/2.30.8.txt
Normal file
52
Documentation/RelNotes/2.30.8.txt
Normal file
@ -0,0 +1,52 @@
|
||||
Git v2.30.8 Release Notes
|
||||
=========================
|
||||
|
||||
This release addresses the security issues CVE-2023-22490 and
|
||||
CVE-2023-23946.
|
||||
|
||||
|
||||
Fixes since v2.30.7
|
||||
-------------------
|
||||
|
||||
* CVE-2023-22490:
|
||||
|
||||
Using a specially-crafted repository, Git can be tricked into using
|
||||
its local clone optimization even when using a non-local transport.
|
||||
Though Git will abort local clones whose source $GIT_DIR/objects
|
||||
directory contains symbolic links (c.f., CVE-2022-39253), the objects
|
||||
directory itself may still be a symbolic link.
|
||||
|
||||
These two may be combined to include arbitrary files based on known
|
||||
paths on the victim's filesystem within the malicious repository's
|
||||
working copy, allowing for data exfiltration in a similar manner as
|
||||
CVE-2022-39253.
|
||||
|
||||
* CVE-2023-23946:
|
||||
|
||||
By feeding a crafted input to "git apply", a path outside the
|
||||
working tree can be overwritten as the user who is running "git
|
||||
apply".
|
||||
|
||||
* A mismatched type in `attr.c::read_attr_from_index()` which could
|
||||
cause Git to errantly reject attributes on Windows and 32-bit Linux
|
||||
has been corrected.
|
||||
|
||||
Credit for finding CVE-2023-22490 goes to yvvdwf, and the fix was
|
||||
developed by Taylor Blau, with additional help from others on the
|
||||
Git security mailing list.
|
||||
|
||||
Credit for finding CVE-2023-23946 goes to Joern Schneeweisz, and the
|
||||
fix was developed by Patrick Steinhardt.
|
||||
|
||||
|
||||
Johannes Schindelin (1):
|
||||
attr: adjust a mismatched data type
|
||||
|
||||
Patrick Steinhardt (1):
|
||||
apply: fix writing behind newly created symbolic links
|
||||
|
||||
Taylor Blau (3):
|
||||
t5619: demonstrate clone_local() with ambiguous transport
|
||||
clone: delay picking a transport until after get_repo_path()
|
||||
dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
|
||||
|
43
Documentation/RelNotes/2.30.9.txt
Normal file
43
Documentation/RelNotes/2.30.9.txt
Normal file
@ -0,0 +1,43 @@
|
||||
Git v2.30.9 Release Notes
|
||||
=========================
|
||||
|
||||
This release addresses the security issues CVE-2023-25652,
|
||||
CVE-2023-25815, and CVE-2023-29007.
|
||||
|
||||
|
||||
Fixes since v2.30.8
|
||||
-------------------
|
||||
|
||||
* CVE-2023-25652:
|
||||
|
||||
By feeding specially crafted input to `git apply --reject`, a
|
||||
path outside the working tree can be overwritten with partially
|
||||
controlled contents (corresponding to the rejected hunk(s) from
|
||||
the given patch).
|
||||
|
||||
* CVE-2023-25815:
|
||||
|
||||
When Git is compiled with runtime prefix support and runs without
|
||||
translated messages, it still used the gettext machinery to
|
||||
display messages, which subsequently potentially looked for
|
||||
translated messages in unexpected places. This allowed for
|
||||
malicious placement of crafted messages.
|
||||
|
||||
* CVE-2023-29007:
|
||||
|
||||
When renaming or deleting a section from a configuration file,
|
||||
certain malicious configuration values may be misinterpreted as
|
||||
the beginning of a new configuration section, leading to arbitrary
|
||||
configuration injection.
|
||||
|
||||
Credit for finding CVE-2023-25652 goes to Ry0taK, and the fix was
|
||||
developed by Taylor Blau, Junio C Hamano and Johannes Schindelin,
|
||||
with the help of Linus Torvalds.
|
||||
|
||||
Credit for finding CVE-2023-25815 goes to Maxime Escourbiac and
|
||||
Yassine BENGANA of Michelin, and the fix was developed by Johannes
|
||||
Schindelin.
|
||||
|
||||
Credit for finding CVE-2023-29007 goes to André Baptista and Vítor Pinho
|
||||
of Ethiack, and the fix was developed by Taylor Blau, and Johannes
|
||||
Schindelin, with help from Jeff King, and Patrick Steinhardt.
|
6
Documentation/RelNotes/2.31.2.txt
Normal file
6
Documentation/RelNotes/2.31.2.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.31.2 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.3 to address
|
||||
the security issue CVE-2022-24765; see the release notes for that
|
||||
version for details.
|
4
Documentation/RelNotes/2.31.3.txt
Normal file
4
Documentation/RelNotes/2.31.3.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Git Documentation/RelNotes/2.31.3.txt Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.31.3.
|
6
Documentation/RelNotes/2.31.4.txt
Normal file
6
Documentation/RelNotes/2.31.4.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.31.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.5 to address
|
||||
the security issue CVE-2022-29187; see the release notes for that
|
||||
version for details.
|
5
Documentation/RelNotes/2.31.5.txt
Normal file
5
Documentation/RelNotes/2.31.5.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.31.5 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.6; see
|
||||
the release notes for that version for details.
|
5
Documentation/RelNotes/2.31.6.txt
Normal file
5
Documentation/RelNotes/2.31.6.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.31.6 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.7; see
|
||||
the release notes for that version for details.
|
6
Documentation/RelNotes/2.31.7.txt
Normal file
6
Documentation/RelNotes/2.31.7.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.31.7 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.8 to
|
||||
address the security issues CVE-2023-22490 and CVE-2023-23946;
|
||||
see the release notes for that version for details.
|
6
Documentation/RelNotes/2.31.8.txt
Normal file
6
Documentation/RelNotes/2.31.8.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.31.8 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the fixes that appear in v2.30.9 to address the
|
||||
security issues CVE-2023-25652, CVE-2023-25815, and CVE-2023-29007;
|
||||
see the release notes for that version for details.
|
6
Documentation/RelNotes/2.32.1.txt
Normal file
6
Documentation/RelNotes/2.32.1.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.32.1 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.3 and
|
||||
v2.31.2 to address the security issue CVE-2022-24765; see the
|
||||
release notes for these versions for details.
|
4
Documentation/RelNotes/2.32.2.txt
Normal file
4
Documentation/RelNotes/2.32.2.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Git Documentation/RelNotes/2.32.2.txt Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.32.2.
|
6
Documentation/RelNotes/2.32.3.txt
Normal file
6
Documentation/RelNotes/2.32.3.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.32.3 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.5 and
|
||||
v2.31.4 to address the security issue CVE-2022-29187; see the
|
||||
release notes for these versions for details.
|
5
Documentation/RelNotes/2.32.4.txt
Normal file
5
Documentation/RelNotes/2.32.4.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.32.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.6; see
|
||||
the release notes for that version for details.
|
8
Documentation/RelNotes/2.32.5.txt
Normal file
8
Documentation/RelNotes/2.32.5.txt
Normal file
@ -0,0 +1,8 @@
|
||||
Git v2.32.5 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.7; see
|
||||
the release notes for that version for details.
|
||||
|
||||
In addition, included are additional code for "git fsck" to check
|
||||
for questionable .gitattributes files.
|
6
Documentation/RelNotes/2.32.6.txt
Normal file
6
Documentation/RelNotes/2.32.6.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.32.6 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.8 and v2.31.7
|
||||
to address the security issues CVE-2023-22490 and CVE-2023-23946;
|
||||
see the release notes for these versions for details.
|
7
Documentation/RelNotes/2.32.7.txt
Normal file
7
Documentation/RelNotes/2.32.7.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.32.7 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the fixes that appear in v2.30.9 and v2.31.8 to
|
||||
address the security issues CVE-2023-25652, CVE-2023-25815, and
|
||||
CVE-2023-29007; see the release notes for these versions for
|
||||
details.
|
279
Documentation/RelNotes/2.33.0.txt
Normal file
279
Documentation/RelNotes/2.33.0.txt
Normal file
@ -0,0 +1,279 @@
|
||||
Git 2.33 Release Notes
|
||||
======================
|
||||
|
||||
Updates since Git 2.32
|
||||
----------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "git send-email" learned the "--sendmail-cmd" command line option
|
||||
and the "sendemail.sendmailCmd" configuration variable, which is a
|
||||
more sensible approach than the current way of repurposing the
|
||||
"smtp-server" that is meant to name the server to instead name the
|
||||
command to talk to the server.
|
||||
|
||||
* The userdiff pattern for C# learned the token "record".
|
||||
|
||||
* "git rev-list" learns to omit the "commit <object-name>" header
|
||||
lines from the output with the `--no-commit-header` option.
|
||||
|
||||
* "git worktree add --lock" learned to record why the worktree is
|
||||
locked with a custom message.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* The code to handle the "--format" option in "for-each-ref" and
|
||||
friends made too many string comparisons on %(atom)s used in the
|
||||
format string, which has been corrected by converting them into
|
||||
enum when the format string is parsed.
|
||||
|
||||
* Use the hashfile API in the codepath that writes the index file to
|
||||
reduce code duplication.
|
||||
|
||||
* Repeated rename detections in a sequence of mergy operations have
|
||||
been optimized out for the 'ort' merge strategy.
|
||||
|
||||
* Preliminary clean-up of tests before the main reftable changes
|
||||
hits the codebase.
|
||||
|
||||
* The backend for "diff -G/-S" has been updated to use pcre2 engine
|
||||
when available.
|
||||
|
||||
* Use ".DELETE_ON_ERROR" pseudo target to simplify our Makefile.
|
||||
|
||||
* Code cleanup around struct_type_init() functions.
|
||||
|
||||
* "git send-email" optimization.
|
||||
|
||||
* GitHub Actions / CI update.
|
||||
(merge 0dc787a9f2 js/ci-windows-update later to maint).
|
||||
|
||||
* Object accesses in repositories with many alternate object store
|
||||
have been optimized.
|
||||
|
||||
* "git log" has been optimized not to waste cycles to load ref
|
||||
decoration data that may not be needed.
|
||||
|
||||
* Many "printf"-like helper functions we have have been annotated
|
||||
with __attribute__() to catch placeholder/parameter mismatches.
|
||||
|
||||
* Tests that cover protocol bits have been updated and helpers
|
||||
used there have been consolidated.
|
||||
|
||||
* The CI gained a new job to run "make sparse" check.
|
||||
|
||||
* "git status" codepath learned to work with sparsely populated index
|
||||
without hydrating it fully.
|
||||
|
||||
* A guideline for gender neutral documentation has been added.
|
||||
|
||||
* Documentation on "git diff -l<n>" and diff.renameLimit have been
|
||||
updated, and the defaults for these limits have been raised.
|
||||
|
||||
* The completion support used to offer alternate spelling of options
|
||||
that exist only for compatibility, which has been corrected.
|
||||
|
||||
* "TEST_OUTPUT_DIRECTORY=there make test" failed to work, which has
|
||||
been corrected.
|
||||
|
||||
* "git bundle" gained more test coverage.
|
||||
|
||||
* "git read-tree" had a codepath where blobs are fetched one-by-one
|
||||
from the promisor remote, which has been corrected to fetch in bulk.
|
||||
|
||||
* Rewrite of "git submodule" in C continues.
|
||||
|
||||
* "git checkout" and "git commit" learn to work without unnecessarily
|
||||
expanding sparse indexes.
|
||||
|
||||
|
||||
Fixes since v2.32
|
||||
-----------------
|
||||
|
||||
* We historically rejected a very short string as an author name
|
||||
while accepting a patch e-mail, which has been loosened.
|
||||
(merge 72ee47ceeb ef/mailinfo-short-name later to maint).
|
||||
|
||||
* The parallel checkout codepath did not initialize object ID field
|
||||
used to talk to the worker processes in a futureproof way.
|
||||
|
||||
* Rewrite code that triggers undefined behaviour warning.
|
||||
(merge aafa5df0df jn/size-t-casted-to-off-t-fix later to maint).
|
||||
|
||||
* The description of "fast-forward" in the glossary has been updated.
|
||||
(merge e22f2daed0 ry/clarify-fast-forward-in-glossary later to maint).
|
||||
|
||||
* Recent "git clone" left a temporary directory behind when the
|
||||
transport layer returned an failure.
|
||||
(merge 6aacb7d861 jk/clone-clean-upon-transport-error later to maint).
|
||||
|
||||
* "git fetch" over protocol v2 left its side of the socket open after
|
||||
it finished speaking, which unnecessarily wasted the resource on
|
||||
the other side.
|
||||
(merge ae1a7eefff jk/fetch-pack-v2-half-close-early later to maint).
|
||||
|
||||
* The command line completion (in contrib/) learned that "git diff"
|
||||
takes the "--anchored" option.
|
||||
(merge d1e7c2cac9 tb/complete-diff-anchored later to maint).
|
||||
|
||||
* "git-svn" tests assumed that "locale -a", which is used to pick an
|
||||
available UTF-8 locale, is available everywhere. A knob has been
|
||||
introduced to allow testers to specify a suitable locale to use.
|
||||
(merge 482c962de4 dd/svn-test-wo-locale-a later to maint).
|
||||
|
||||
* Update "git subtree" to work better on Windows.
|
||||
(merge 77f37de39f js/subtree-on-windows-fix later to maint).
|
||||
|
||||
* Remove multimail from contrib/
|
||||
(merge f74d11471f js/no-more-multimail later to maint).
|
||||
|
||||
* Make the codebase MSAN clean.
|
||||
(merge 4dbc55e87d ah/uninitialized-reads-fix later to maint).
|
||||
|
||||
* Work around inefficient glob substitution in older versions of bash
|
||||
by rewriting parts of a test.
|
||||
(merge eb87c6f559 jx/t6020-with-older-bash later to maint).
|
||||
|
||||
* Avoid duplicated work while building reachability bitmaps.
|
||||
(merge aa9ad6fee5 jk/bitmap-tree-optim later to maint).
|
||||
|
||||
* We broke "GIT_SKIP_TESTS=t?000" to skip certain tests in recent
|
||||
update, which got fixed.
|
||||
|
||||
* The side-band demultiplexer that is used to display progress output
|
||||
from the remote end did not clear the line properly when the end of
|
||||
line hits at a packet boundary, which has been corrected.
|
||||
|
||||
* Some test scripts assumed that readlink(1) was universally
|
||||
installed and available, which is not the case.
|
||||
(merge 7c0afdf23c jk/test-without-readlink-1 later to maint).
|
||||
|
||||
* Recent update to completion script (in contrib/) broke those who
|
||||
use the __git_complete helper to define completion to their custom
|
||||
command.
|
||||
(merge cea232194d fw/complete-cmd-idx-fix later to maint).
|
||||
|
||||
* Output from some of our tests were affected by the width of the
|
||||
terminal that they were run in, which has been corrected by
|
||||
exporting a fixed value in the COLUMNS environment.
|
||||
(merge c49a177bec ab/fix-columns-to-80-during-tests later to maint).
|
||||
|
||||
* On Windows, mergetool has been taught to find kdiff3.exe just like
|
||||
it finds winmerge.exe.
|
||||
(merge 47eb4c6890 ms/mergetools-kdiff3-on-windows later to maint).
|
||||
|
||||
* When we cannot figure out how wide the terminal is, we use a
|
||||
fallback value of 80 ourselves (which cannot be avoided), but when
|
||||
we run the pager, we export it in COLUMNS, which forces the pager
|
||||
to use the hardcoded value, even when the pager is perfectly
|
||||
capable to figure it out itself. Stop exporting COLUMNS when we
|
||||
fall back on the hardcoded default value for our own use.
|
||||
(merge 9b6e2c8b98 js/stop-exporting-bogus-columns later to maint).
|
||||
|
||||
* "git cat-file --batch-all-objects"" misbehaved when "--batch" is in
|
||||
use and did not ask for certain object traits.
|
||||
(merge ee02ac6164 zh/cat-file-batch-fix later to maint).
|
||||
|
||||
* Some code and doc clarification around "git push".
|
||||
|
||||
* The "union" conflict resultion variant misbehaved when used with
|
||||
binary merge driver.
|
||||
(merge 382b601acd jk/union-merge-binary later to maint).
|
||||
|
||||
* Prevent "git p4" from failing to submit changes to binary file.
|
||||
(merge 54662d5958 dc/p4-binary-submit-fix later to maint).
|
||||
|
||||
* "git grep --and -e foo" ought to have been diagnosed as an error
|
||||
but instead segfaulted, which has been corrected.
|
||||
(merge fe7fe62d8d rs/grep-parser-fix later to maint).
|
||||
|
||||
* The merge code had funny interactions between content based rename
|
||||
detection and directory rename detection.
|
||||
(merge 3585d0ea23 en/merge-dir-rename-corner-case-fix later to maint).
|
||||
|
||||
* When rebuilding the multi-pack index file reusing an existing one,
|
||||
we used to blindly trust the existing file and ended up carrying
|
||||
corrupted data into the updated file, which has been corrected.
|
||||
(merge f89ecf7988 tb/midx-use-checksum later to maint).
|
||||
|
||||
* Update the location of system-side configuration file on Windows.
|
||||
(merge e355307692 js/gfw-system-config-loc-fix later to maint).
|
||||
|
||||
* Code recently added to support common ancestry negotiation during
|
||||
"git push" did not sanity check its arguments carefully enough.
|
||||
(merge eff40457a4 ab/fetch-negotiate-segv-fix later to maint).
|
||||
|
||||
* Update the documentation not to assume users are of certain gender
|
||||
and adds to guidelines to do so.
|
||||
(merge 46a237f42f ds/gender-neutral-doc later to maint).
|
||||
|
||||
* "git commit --allow-empty-message" won't abort the operation upon
|
||||
an empty message, but the hint shown in the editor said otherwise.
|
||||
(merge 6f70f00b4f hj/commit-allow-empty-message later to maint).
|
||||
|
||||
* The code that gives an error message in "git multi-pack-index" when
|
||||
no subcommand is given tried to print a NULL pointer as a strong,
|
||||
which has been corrected.
|
||||
(merge 88617d11f9 tb/reverse-midx later to maint).
|
||||
|
||||
* CI update.
|
||||
(merge a066a90db6 js/ci-check-whitespace-updates later to maint).
|
||||
|
||||
* Documentation fix for "git pull --rebase=no".
|
||||
(merge d3236becec fc/pull-no-rebase-merges-theirs-into-ours later to maint).
|
||||
|
||||
* A race between repacking and using pack bitmaps has been corrected.
|
||||
(merge dc1daacdcc jk/check-pack-valid-before-opening-bitmap later to maint).
|
||||
|
||||
* The local changes stashed by "git merge --autostash" were lost when
|
||||
the merge failed in certain ways, which has been corrected.
|
||||
|
||||
* Windows rmdir() equivalent behaves differently from POSIX ones in
|
||||
that when used on a symbolic link that points at a directory, the
|
||||
target directory gets removed, which has been corrected.
|
||||
(merge 3e7d4888e5 tb/mingw-rmdir-symlink-to-directory later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge bfe35a6165 ah/doc-describe later to maint).
|
||||
(merge f302c1e4aa jc/clarify-revision-range later to maint).
|
||||
(merge 3127ff90ea tl/fix-packfile-uri-doc later to maint).
|
||||
(merge a84216c684 jk/doc-color-pager later to maint).
|
||||
(merge 4e0a64a713 ab/trace2-squelch-gcc-warning later to maint).
|
||||
(merge 225f7fa847 ps/rev-list-object-type-filter later to maint).
|
||||
(merge 5317dfeaed dd/honor-users-tar-in-tests later to maint).
|
||||
(merge ace6d8e3d6 tk/partial-clone-repack-doc later to maint).
|
||||
(merge 7ba68e0cf1 js/trace2-discard-event-docfix later to maint).
|
||||
(merge 8603c419d3 fc/doc-default-to-upstream-config later to maint).
|
||||
(merge 1d72b604ef jk/revision-squelch-gcc-warning later to maint).
|
||||
(merge abcb66c614 ar/typofix later to maint).
|
||||
(merge 9853830787 ah/graph-typofix later to maint).
|
||||
(merge aac578492d ab/config-hooks-path-testfix later to maint).
|
||||
(merge 98c7656a18 ar/more-typofix later to maint).
|
||||
(merge 6fb9195f6c jk/doc-max-pack-size later to maint).
|
||||
(merge 4184cbd635 ar/mailinfo-memcmp-to-skip-prefix later to maint).
|
||||
(merge 91d2347033 ar/doc-libera-chat-in-my-first-contrib later to maint).
|
||||
(merge 338abb0f04 ab/cmd-foo-should-return later to maint).
|
||||
(merge 546096a5cb ab/xdiff-bug-cleanup later to maint).
|
||||
(merge b7b793d1e7 ab/progress-cleanup later to maint).
|
||||
(merge d94f9b8e90 ba/object-info later to maint).
|
||||
(merge 52ff891c03 ar/test-code-cleanup later to maint).
|
||||
(merge a0538e5c8b dd/document-log-decorate-default later to maint).
|
||||
(merge ce24797d38 mr/cmake later to maint).
|
||||
(merge 9eb542f2ee ab/pre-auto-gc-hook-test later to maint).
|
||||
(merge 9fffc38583 bk/doc-commit-typofix later to maint).
|
||||
(merge 1cf823d8f0 ks/submodule-cleanup later to maint).
|
||||
(merge ebbf5d2b70 js/config-mak-windows-pcre-fix later to maint).
|
||||
(merge 617480d75b hn/refs-iterator-peel-returns-boolean later to maint).
|
||||
(merge 6a24cc71ed ar/submodule-helper-include-cleanup later to maint).
|
||||
(merge 5632e838f8 rs/khash-alloc-cleanup later to maint).
|
||||
(merge b1d87fbaf1 jk/typofix later to maint).
|
||||
(merge e04170697a ab/gitignore-discovery-doc later to maint).
|
||||
(merge 8232a0ff48 dl/packet-read-response-end-fix later to maint).
|
||||
(merge eb448631fb dl/diff-merge-base later to maint).
|
||||
(merge c510928a25 hn/refs-debug-empty-prefix later to maint).
|
||||
(merge ddcb189d9d tb/bitmap-type-filter-comment-fix later to maint).
|
||||
(merge 878b399734 pb/submodule-recurse-doc later to maint).
|
||||
(merge 734283855f jk/config-env-doc later to maint).
|
||||
(merge 482e1488a9 ab/getcwd-test later to maint).
|
||||
(merge f0b922473e ar/doc-markup-fix later to maint).
|
138
Documentation/RelNotes/2.33.1.txt
Normal file
138
Documentation/RelNotes/2.33.1.txt
Normal file
@ -0,0 +1,138 @@
|
||||
Git 2.33.1 Release Notes
|
||||
========================
|
||||
|
||||
This primarily is to backport various fixes accumulated during the
|
||||
development towards Git 2.34, the next feature release.
|
||||
|
||||
|
||||
Fixes since v2.33
|
||||
-----------------
|
||||
|
||||
* The unicode character width table (used for output alignment) has
|
||||
been updated.
|
||||
|
||||
* Input validation of "git pack-objects --stdin-packs" has been
|
||||
corrected.
|
||||
|
||||
* Bugfix for common ancestor negotiation recently introduced in "git
|
||||
push" codepath.
|
||||
|
||||
* "git pull" had various corner cases that were not well thought out
|
||||
around its --rebase backend, e.g. "git pull --ff-only" did not stop
|
||||
but went ahead and rebased when the history on other side is not a
|
||||
descendant of our history. The series tries to fix them up.
|
||||
|
||||
* "git apply" miscounted the bytes and failed to read to the end of
|
||||
binary hunks.
|
||||
|
||||
* "git range-diff" code clean-up.
|
||||
|
||||
* "git commit --fixup" now works with "--edit" again, after it was
|
||||
broken in v2.32.
|
||||
|
||||
* Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
|
||||
new version has a blocker bug for that architecture.
|
||||
|
||||
* Checking out all the paths from HEAD during the last conflicted
|
||||
step in "git rebase" and continuing would cause the step to be
|
||||
skipped (which is expected), but leaves MERGE_MSG file behind in
|
||||
$GIT_DIR and confuses the next "git commit", which has been
|
||||
corrected.
|
||||
|
||||
* Various bugs in "git rebase -r" have been fixed.
|
||||
|
||||
* mmap() imitation used to call xmalloc() that dies upon malloc()
|
||||
failure, which has been corrected to just return an error to the
|
||||
caller to be handled.
|
||||
|
||||
* "git diff --relative" segfaulted and/or produced incorrect result
|
||||
when there are unmerged paths.
|
||||
|
||||
* The delayed checkout code path in "git checkout" etc. were chatty
|
||||
even when --quiet and/or --no-progress options were given.
|
||||
|
||||
* "git branch -D <branch>" used to refuse to remove a broken branch
|
||||
ref that points at a missing commit, which has been corrected.
|
||||
|
||||
* Build update for Apple clang.
|
||||
|
||||
* The parser for the "--nl" option of "git column" has been
|
||||
corrected.
|
||||
|
||||
* "git upload-pack" which runs on the other side of "git fetch"
|
||||
forgot to take the ref namespaces into account when handling
|
||||
want-ref requests.
|
||||
|
||||
* The sparse-index support can corrupt the index structure by storing
|
||||
a stale and/or uninitialized data, which has been corrected.
|
||||
|
||||
* Buggy tests could damage repositories outside the throw-away test
|
||||
area we created. We now by default export GIT_CEILING_DIRECTORIES
|
||||
to limit the damage from such a stray test.
|
||||
|
||||
* Even when running "git send-email" without its own threaded
|
||||
discussion support, a threading related header in one message is
|
||||
carried over to the subsequent message to result in an unwanted
|
||||
threading, which has been corrected.
|
||||
|
||||
* The output from "git fast-export", when its anonymization feature
|
||||
is in use, showed an annotated tag incorrectly.
|
||||
|
||||
* Recent "diff -m" changes broke "gitk", which has been corrected.
|
||||
|
||||
* "git maintenance" scheduler fix for macOS.
|
||||
|
||||
* A pathname in an advice message has been made cut-and-paste ready.
|
||||
|
||||
* The "git apply -3" code path learned not to bother the lower level
|
||||
merge machinery when the three-way merge can be trivially resolved
|
||||
without the content level merge.
|
||||
|
||||
* The code that optionally creates the *.rev reverse index file has
|
||||
been optimized to avoid needless computation when it is not writing
|
||||
the file out.
|
||||
|
||||
* "git range-diff -I... <range> <range>" segfaulted, which has been
|
||||
corrected.
|
||||
|
||||
* The order in which various files that make up a single (conceptual)
|
||||
packfile has been reevaluated and straightened up. This matters in
|
||||
correctness, as an incomplete set of files must not be shown to a
|
||||
running Git.
|
||||
|
||||
* The "mode" word is useless in a call to open(2) that does not
|
||||
create a new file. Such a call in the files backend of the ref
|
||||
subsystem has been cleaned up.
|
||||
|
||||
* "git update-ref --stdin" failed to flush its output as needed,
|
||||
which potentially led the conversation to a deadlock.
|
||||
|
||||
* When "git am --abort" fails to abort correctly, it still exited
|
||||
with exit status of 0, which has been corrected.
|
||||
|
||||
* Correct nr and alloc members of strvec struct to be of type size_t.
|
||||
|
||||
* "git stash", where the tentative change involves changing a
|
||||
directory to a file (or vice versa), was confused, which has been
|
||||
corrected.
|
||||
|
||||
* "git clone" from a repository whose HEAD is unborn into a bare
|
||||
repository didn't follow the branch name the other side used, which
|
||||
is corrected.
|
||||
|
||||
* "git cvsserver" had a long-standing bug in its authentication code,
|
||||
which has finally been corrected (it is unclear and is a separate
|
||||
question if anybody is seriously using it, though).
|
||||
|
||||
* "git difftool --dir-diff" mishandled symbolic links.
|
||||
|
||||
* Sensitive data in the HTTP trace were supposed to be redacted, but
|
||||
we failed to do so in HTTP/2 requests.
|
||||
|
||||
* "make clean" has been updated to remove leftover .depend/
|
||||
directories, even when it is not told to use them to compute header
|
||||
dependencies.
|
||||
|
||||
* Protocol v0 clients can get stuck parsing a malformed feature line.
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
15
Documentation/RelNotes/2.33.2.txt
Normal file
15
Documentation/RelNotes/2.33.2.txt
Normal file
@ -0,0 +1,15 @@
|
||||
Git v2.33.2 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.3, v2.31.2
|
||||
and v2.32.1 to address the security issue CVE-2022-24765; see
|
||||
the release notes for these versions for details.
|
||||
|
||||
In addition, it contains the following fixes:
|
||||
|
||||
* Squelch over-eager warning message added during this cycle.
|
||||
|
||||
* A bug in "git rebase -r" has been fixed.
|
||||
|
||||
* One CI task based on Fedora image noticed a not-quite-kosher
|
||||
construct recently, which has been corrected.
|
4
Documentation/RelNotes/2.33.3.txt
Normal file
4
Documentation/RelNotes/2.33.3.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Git Documentation/RelNotes/2.33.3.txt Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.33.3.
|
6
Documentation/RelNotes/2.33.4.txt
Normal file
6
Documentation/RelNotes/2.33.4.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.33.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.5, v2.31.4
|
||||
and v2.32.3 to address the security issue CVE-2022-29187; see
|
||||
the release notes for these versions for details.
|
5
Documentation/RelNotes/2.33.5.txt
Normal file
5
Documentation/RelNotes/2.33.5.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.33.5 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.6; see
|
||||
the release notes for that version for details.
|
5
Documentation/RelNotes/2.33.6.txt
Normal file
5
Documentation/RelNotes/2.33.6.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.33.6 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.7; see
|
||||
the release notes for that version for details.
|
7
Documentation/RelNotes/2.33.7.txt
Normal file
7
Documentation/RelNotes/2.33.7.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.33.7 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.8, v2.31.7
|
||||
and v2.32.6 to address the security issues CVE-2023-22490 and
|
||||
CVE-2023-23946; see the release notes for these versions for
|
||||
details.
|
7
Documentation/RelNotes/2.33.8.txt
Normal file
7
Documentation/RelNotes/2.33.8.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.33.8 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the fixes that appear in v2.30.9, v2.31.8 and
|
||||
v2.32.7 to address the security issues CVE-2023-25652,
|
||||
CVE-2023-25815, and CVE-2023-29007; see the release notes for these
|
||||
versions for details.
|
438
Documentation/RelNotes/2.34.0.txt
Normal file
438
Documentation/RelNotes/2.34.0.txt
Normal file
@ -0,0 +1,438 @@
|
||||
Git 2.34 Release Notes
|
||||
======================
|
||||
|
||||
Updates since Git 2.33
|
||||
----------------------
|
||||
|
||||
Backward compatibility notes
|
||||
|
||||
* The "--preserve-merges" option of "git rebase" has been removed.
|
||||
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* Pathname expansion (like "~username/") learned a way to specify a
|
||||
location relative to Git installation (e.g. its $sharedir which is
|
||||
$(prefix)/share), with "%(prefix)".
|
||||
|
||||
* The `ort` strategy is used instead of `recursive` as the default
|
||||
merge strategy.
|
||||
|
||||
* The userdiff pattern for "java" language has been updated.
|
||||
|
||||
* "git rebase" by default skips changes that are equivalent to
|
||||
commits that are already in the history the branch is rebased onto;
|
||||
give messages when this happens to let the users be aware of
|
||||
skipped commits, and also teach them how to tell "rebase" to keep
|
||||
duplicated changes.
|
||||
|
||||
* The advice message that "git cherry-pick" gives when it asks
|
||||
conflicted replay of a commit to be resolved by the end user has
|
||||
been updated.
|
||||
|
||||
* After "git clone --recurse-submodules", all submodules are cloned
|
||||
but they are not by default recursed into by other commands. With
|
||||
submodule.stickyRecursiveClone configuration set, submodule.recurse
|
||||
configuration is set to true in a repository created by "clone"
|
||||
with "--recurse-submodules" option.
|
||||
|
||||
* The logic for auto-correction of misspelt subcommands learned to go
|
||||
interactive when the help.autocorrect configuration variable is set
|
||||
to 'prompt'.
|
||||
|
||||
* "git maintenance" scheduler learned to use systemd timers as a
|
||||
possible backend.
|
||||
|
||||
* "git diff --submodule=diff" showed failure from run_command() when
|
||||
trying to run diff inside a submodule, when the user manually
|
||||
removes the submodule directory.
|
||||
|
||||
* "git bundle unbundle" learned to show progress display.
|
||||
|
||||
* In cone mode, the sparse-index code path learned to remove ignored
|
||||
files (like build artifacts) outside the sparse cone, allowing the
|
||||
entire directory outside the sparse cone to be removed, which is
|
||||
especially useful when the sparse patterns change.
|
||||
|
||||
* Taking advantage of the CGI interface, http-backend has been
|
||||
updated to enable protocol v2 automatically when the other side
|
||||
asks for it.
|
||||
|
||||
* The credential-cache helper has been adjusted to Windows.
|
||||
|
||||
* The error in "git help no-such-git-command" is handled better.
|
||||
|
||||
* The unicode character width table (used for output alignment) has
|
||||
been updated.
|
||||
|
||||
* The ref iteration code used to optionally allow dangling refs to be
|
||||
shown, which has been tightened up.
|
||||
|
||||
* "git add", "git mv", and "git rm" have been adjusted to avoid
|
||||
updating paths outside of the sparse-checkout definition unless
|
||||
the user specifies a "--sparse" option.
|
||||
|
||||
* "git repack" has been taught to generate multi-pack reachability
|
||||
bitmaps.
|
||||
|
||||
* "git fsck" has been taught to report mismatch between expected and
|
||||
actual types of an object better.
|
||||
|
||||
* In addition to GnuPG, ssh public crypto can be used for object and
|
||||
push-cert signing. Note that this feature cannot be used with
|
||||
ssh-keygen from OpenSSH 8.7, whose support for it is broken. Avoid
|
||||
using it unless you update to OpenSSH 8.8.
|
||||
|
||||
* "git log --grep=string --author=name" learns to highlight hits just
|
||||
like "git grep string" does.
|
||||
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* "git bisect" spawned "git show-branch" only to pretty-print the
|
||||
title of the commit after checking out the next version to be
|
||||
tested; this has been rewritten in C.
|
||||
|
||||
* "git add" can work better with the sparse index.
|
||||
|
||||
* Support for ancient versions of cURL library (pre 7.19.4) has been
|
||||
dropped.
|
||||
|
||||
* A handful of tests that assumed implementation details of files
|
||||
backend for refs have been cleaned up.
|
||||
|
||||
* trace2 logs learned to show parent process name to see in what
|
||||
context Git was invoked.
|
||||
|
||||
* Loading of ref tips to prepare for common ancestry negotiation in
|
||||
"git fetch-pack" has been optimized by taking advantage of the
|
||||
commit graph when available.
|
||||
|
||||
* Remind developers that the userdiff patterns should be kept simple
|
||||
and permissive, assuming that the contents they apply are always
|
||||
syntactically correct.
|
||||
|
||||
* The current implementation of GIT_TEST_FAIL_PREREQS is broken in
|
||||
that checking for the lack of a prerequisite would not work. Avoid
|
||||
the use of "if ! test_have_prereq X" in a test script.
|
||||
|
||||
* The revision traversal API has been optimized by taking advantage
|
||||
of the commit-graph, when available, to determine if a commit is
|
||||
reachable from any of the existing refs.
|
||||
|
||||
* "git fetch --quiet" optimization to avoid useless computation of
|
||||
info that will never be displayed.
|
||||
|
||||
* Callers from older advice_config[] based API has been updated to
|
||||
use the newer advice_if_enabled() and advice_enabled() API.
|
||||
|
||||
* Teach "test_pause" and "debug" helpers to allow using the HOME and
|
||||
TERM environment variables the user usually uses.
|
||||
|
||||
* "make INSTALL_STRIP=-s install" allows the installation step to use
|
||||
"install -s" to strip the binaries as they get installed.
|
||||
|
||||
* Code that handles large number of refs in the "git fetch" code
|
||||
path has been optimized.
|
||||
|
||||
* The reachability bitmap file used to be generated only for a single
|
||||
pack, but now we've learned to generate bitmaps for history that
|
||||
span across multiple packfiles.
|
||||
|
||||
* The code to make "git grep" recurse into submodules has been
|
||||
updated to migrate away from the "add submodule's object store as
|
||||
an alternate object store" mechanism (which is suboptimal).
|
||||
|
||||
* The tracing of process ancestry information has been enhanced.
|
||||
|
||||
* Reduce number of write(2) system calls while sending the
|
||||
ref advertisement.
|
||||
|
||||
* Update the build procedure to use the "-pedantic" build when
|
||||
DEVELOPER makefile macro is in effect.
|
||||
|
||||
* Large part of "git submodule add" gets rewritten in C.
|
||||
|
||||
* The run-command API has been updated so that the callers can easily
|
||||
ask the file descriptors open for packfiles to be closed immediately
|
||||
before spawning commands that may trigger auto-gc.
|
||||
|
||||
* An oddball OPTION_ARGUMENT feature has been removed from the
|
||||
parse-options API.
|
||||
|
||||
* The mergesort implementation used to sort linked list has been
|
||||
optimized.
|
||||
|
||||
* Remove external declaration of functions that no longer exist.
|
||||
|
||||
* "git multi-pack-index write --bitmap" learns to propagate the
|
||||
hashcache from original bitmap to resulting bitmap.
|
||||
|
||||
* CI learns to run the leak sanitizer builds.
|
||||
|
||||
* "git grep --recurse-submodules" takes trees and blobs from the
|
||||
submodule repository, but the textconv settings when processing a
|
||||
blob from the submodule is not taken from the submodule repository.
|
||||
A test is added to demonstrate the issue, without fixing it.
|
||||
|
||||
* Teach "git help -c" into helping the command line completion of
|
||||
configuration variables.
|
||||
|
||||
* When "git cmd -h" shows more than one line of usage text (e.g.
|
||||
the cmd subcommand may take sub-sub-command), parse-options API
|
||||
learned to align these lines, even across i18n/l10n.
|
||||
|
||||
* Prevent "make sparse" from running for the source files that
|
||||
haven't been modified.
|
||||
|
||||
* The code path to write a new version of .midx multi-pack index files
|
||||
has learned to release the mmaped memory holding the current
|
||||
version of .midx before removing them from the disk, as some
|
||||
platforms do not allow removal of a file that still has mapping.
|
||||
|
||||
* A new feature has been added to abort early in the test framework.
|
||||
|
||||
|
||||
Fixes since v2.33
|
||||
-----------------
|
||||
|
||||
* Input validation of "git pack-objects --stdin-packs" has been
|
||||
corrected.
|
||||
|
||||
* Bugfix for common ancestor negotiation recently introduced in "git
|
||||
push" code path.
|
||||
|
||||
* "git pull" had various corner cases that were not well thought out
|
||||
around its --rebase backend, e.g. "git pull --ff-only" did not stop
|
||||
but went ahead and rebased when the history on other side is not a
|
||||
descendant of our history. The series tries to fix them up.
|
||||
|
||||
* "git apply" miscounted the bytes and failed to read to the end of
|
||||
binary hunks.
|
||||
|
||||
* "git range-diff" code clean-up.
|
||||
|
||||
* "git commit --fixup" now works with "--edit" again, after it was
|
||||
broken in v2.32.
|
||||
|
||||
* Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
|
||||
new version has a blocker bug for that architecture.
|
||||
|
||||
* Checking out all the paths from HEAD during the last conflicted
|
||||
step in "git rebase" and continuing would cause the step to be
|
||||
skipped (which is expected), but leaves MERGE_MSG file behind in
|
||||
$GIT_DIR and confuses the next "git commit", which has been
|
||||
corrected.
|
||||
|
||||
* Various bugs in "git rebase -r" have been fixed.
|
||||
|
||||
* mmap() imitation used to call xmalloc() that dies upon malloc()
|
||||
failure, which has been corrected to just return an error to the
|
||||
caller to be handled.
|
||||
|
||||
* "git diff --relative" segfaulted and/or produced incorrect result
|
||||
when there are unmerged paths.
|
||||
|
||||
* The delayed checkout code path in "git checkout" etc. were chatty
|
||||
even when --quiet and/or --no-progress options were given.
|
||||
|
||||
* "git branch -D <branch>" used to refuse to remove a broken branch
|
||||
ref that points at a missing commit, which has been corrected.
|
||||
|
||||
* Build update for Apple clang.
|
||||
|
||||
* The parser for the "--nl" option of "git column" has been
|
||||
corrected.
|
||||
|
||||
* "git upload-pack" which runs on the other side of "git fetch"
|
||||
forgot to take the ref namespaces into account when handling
|
||||
want-ref requests.
|
||||
|
||||
* The sparse-index support can corrupt the index structure by storing
|
||||
a stale and/or uninitialized data, which has been corrected.
|
||||
|
||||
* Buggy tests could damage repositories outside the throw-away test
|
||||
area we created. We now by default export GIT_CEILING_DIRECTORIES
|
||||
to limit the damage from such a stray test.
|
||||
|
||||
* Even when running "git send-email" without its own threaded
|
||||
discussion support, a threading related header in one message is
|
||||
carried over to the subsequent message to result in an unwanted
|
||||
threading, which has been corrected.
|
||||
|
||||
* The output from "git fast-export", when its anonymization feature
|
||||
is in use, showed an annotated tag incorrectly.
|
||||
|
||||
* Recent "diff -m" changes broke "gitk", which has been corrected.
|
||||
|
||||
* The "git apply -3" code path learned not to bother the lower level
|
||||
merge machinery when the three-way merge can be trivially resolved
|
||||
without the content level merge. This fixes a regression caused by
|
||||
recent "-3way first and fall back to direct application" change.
|
||||
|
||||
* The code that optionally creates the *.rev reverse index file has
|
||||
been optimized to avoid needless computation when it is not writing
|
||||
the file out.
|
||||
|
||||
* "git range-diff -I... <range> <range>" segfaulted, which has been
|
||||
corrected.
|
||||
|
||||
* The order in which various files that make up a single (conceptual)
|
||||
packfile has been reevaluated and straightened up. This matters in
|
||||
correctness, as an incomplete set of files must not be shown to a
|
||||
running Git.
|
||||
|
||||
* The "mode" word is useless in a call to open(2) that does not
|
||||
create a new file. Such a call in the files backend of the ref
|
||||
subsystem has been cleaned up.
|
||||
|
||||
* "git update-ref --stdin" failed to flush its output as needed,
|
||||
which potentially led the conversation to a deadlock.
|
||||
|
||||
* When "git am --abort" fails to abort correctly, it still exited
|
||||
with exit status of 0, which has been corrected.
|
||||
|
||||
* Correct nr and alloc members of strvec struct to be of type size_t.
|
||||
|
||||
* "git stash", where the tentative change involves changing a
|
||||
directory to a file (or vice versa), was confused, which has been
|
||||
corrected.
|
||||
|
||||
* "git clone" from a repository whose HEAD is unborn into a bare
|
||||
repository didn't follow the branch name the other side used, which
|
||||
is corrected.
|
||||
|
||||
* "git cvsserver" had a long-standing bug in its authentication code,
|
||||
which has finally been corrected (it is unclear and is a separate
|
||||
question if anybody is seriously using it, though).
|
||||
|
||||
* "git difftool --dir-diff" mishandled symbolic links.
|
||||
|
||||
* Sensitive data in the HTTP trace were supposed to be redacted, but
|
||||
we failed to do so in HTTP/2 requests.
|
||||
|
||||
* "make clean" has been updated to remove leftover .depend/
|
||||
directories, even when it is not told to use them to compute header
|
||||
dependencies.
|
||||
|
||||
* Protocol v0 clients can get stuck parsing a malformed feature line.
|
||||
|
||||
* A few kinds of changes "git status" can show were not documented.
|
||||
(merge d2a534c515 ja/doc-status-types-and-copies later to maint).
|
||||
|
||||
* The mergesort implementation used to sort linked list has been
|
||||
optimized.
|
||||
(merge c90cfc225b rs/mergesort later to maint).
|
||||
|
||||
* An editor session launched during a Git operation (e.g. during 'git
|
||||
commit') can leave the terminal in a funny state. The code path
|
||||
has updated to save the terminal state before, and restore it
|
||||
after, it spawns an editor.
|
||||
(merge 3d411afabc cm/save-restore-terminal later to maint).
|
||||
|
||||
* "git cat-file --batch" with the "--batch-all-objects" option is
|
||||
supposed to iterate over all the objects found in a repository, but
|
||||
it used to translate these object names using the replace mechanism,
|
||||
which defeats the point of enumerating all objects in the repository.
|
||||
This has been corrected.
|
||||
(merge bf972896d7 jk/cat-file-batch-all-wo-replace later to maint).
|
||||
|
||||
* Recent sparse-index work broke safety against attempts to add paths
|
||||
with trailing slashes to the index, which has been corrected.
|
||||
(merge c8ad9d04c6 rs/make-verify-path-really-verify-again later to maint).
|
||||
|
||||
* The "--color-lines" and "--color-by-age" options of "git blame"
|
||||
have been missing, which are now documented.
|
||||
(merge 8c32856133 bs/doc-blame-color-lines later to maint).
|
||||
|
||||
* The PATH used in CI job may be too wide and let incompatible dlls
|
||||
to be grabbed, which can cause the build&test to fail. Tighten it.
|
||||
(merge 7491ef6198 js/windows-ci-path-fix later to maint).
|
||||
|
||||
* Avoid performance measurements from getting ruined by gc and other
|
||||
housekeeping pauses interfering in the middle.
|
||||
(merge be79131a53 rs/disable-gc-during-perf-tests later to maint).
|
||||
|
||||
* Stop "git add --dry-run" from creating new blob and tree objects.
|
||||
(merge e578d0311d rs/add-dry-run-without-objects later to maint).
|
||||
|
||||
* "git commit" gave duplicated error message when the object store
|
||||
was unwritable, which has been corrected.
|
||||
(merge 4ef91a2d79 ab/fix-commit-error-message-upon-unwritable-object-store later to maint).
|
||||
|
||||
* Recent sparse-index addition, namely any use of index_name_pos(),
|
||||
can expand sparse index entries and breaks any code that walks
|
||||
cache-tree or existing index entries. One such instance of such a
|
||||
breakage has been corrected.
|
||||
|
||||
* The xxdiff difftool backend can exit with status 128, which the
|
||||
difftool-helper that launches the backend takes as a significant
|
||||
failure, when it is not significant at all. Work it around.
|
||||
(merge 571f4348dd da/mergetools-special-case-xxdiff-exit-128 later to maint).
|
||||
|
||||
* Improve test framework around unwritable directories.
|
||||
(merge 5d22e18965 ab/test-cleanly-recreate-trash-directory later to maint).
|
||||
|
||||
* "git push" client talking to an HTTP server did not diagnose the
|
||||
lack of the final status report from the other side correctly,
|
||||
which has been corrected.
|
||||
(merge c5c3486f38 jk/http-push-status-fix later to maint).
|
||||
|
||||
* Update "git archive" documentation and give explicit mention on the
|
||||
compression level for both zip and tar.gz format.
|
||||
(merge c4b208c309 bs/archive-doc-compression-level later to maint).
|
||||
|
||||
* Drop "git sparse-checkout" from the list of common commands.
|
||||
(merge 6a9a50a8af sg/sparse-index-not-that-common-a-command later to maint).
|
||||
|
||||
* "git branch -c/-m new old" was not described to copy config, which
|
||||
has been corrected.
|
||||
(merge 8252ec300e jc/branch-copy-doc later to maint).
|
||||
|
||||
* Squelch over-eager warning message added during this cycle.
|
||||
|
||||
* Fix long-standing shell syntax error in the completion script.
|
||||
(merge 46b0585286 re/completion-fix-test-equality later to maint).
|
||||
|
||||
* Teach "git commit-graph" command not to allow using replace objects
|
||||
at all, as we do not use the commit-graph at runtime when we see
|
||||
object replacement.
|
||||
(merge 095d112f8c ab/ignore-replace-while-working-on-commit-graph later to maint).
|
||||
|
||||
* "git pull --no-verify" did not affect the underlying "git merge".
|
||||
(merge 47bfdfb3fd ar/fix-git-pull-no-verify later to maint).
|
||||
|
||||
* One CI task based on Fedora image noticed a not-quite-kosher
|
||||
construct recently, which has been corrected.
|
||||
|
||||
* "git pull --ff-only" and "git pull --rebase --ff-only" should make
|
||||
it a no-op to attempt pulling from a remote that is behind us, but
|
||||
instead the command errored out by saying it was impossible to
|
||||
fast-forward, which may technically be true, but not a useful thing
|
||||
to diagnose as an error. This has been corrected.
|
||||
(merge 361cb52383 jc/fix-pull-ff-only-when-already-up-to-date later to maint).
|
||||
|
||||
* The way Cygwin emulates a unix-domain socket, on top of which the
|
||||
simple-ipc mechanism is implemented, can race with the program on
|
||||
the other side that wants to use the socket, and briefly make it
|
||||
appear as a regular file before lstat(2) starts reporting it as a
|
||||
socket. We now have a workaround on the side that connects to a
|
||||
unix domain socket.
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge f188160be9 ab/bundle-remove-verbose-option later to maint).
|
||||
(merge 8c6b4332b4 rs/close-pack-leakfix later to maint).
|
||||
(merge 51b04c05b7 bs/difftool-msg-tweak later to maint).
|
||||
(merge dd20e4a6db ab/make-compdb-fix later to maint).
|
||||
(merge 6ffb990dc4 os/status-docfix later to maint).
|
||||
(merge 100c2da2d3 rs/p3400-lose-tac later to maint).
|
||||
(merge 76f3b69896 tb/aggregate-ignore-leading-whitespaces later to maint).
|
||||
(merge 6e4fd8bfcd tz/doc-link-to-bundle-format-fix later to maint).
|
||||
(merge f6c013dfa1 jc/doc-commit-header-continuation-line later to maint).
|
||||
(merge ec9a37d69b ab/pkt-line-cleanup later to maint).
|
||||
(merge 8650c6298c ab/fix-make-lint-docs later to maint).
|
||||
(merge 1c720357ce ab/test-lib-diff-cleanup later to maint).
|
||||
(merge 6b615dbece ks/submodule-add-message-fix later to maint).
|
||||
(merge 203eb8381a jc/doc-format-patch-clarify-auto-base later to maint).
|
||||
(merge 559664c792 ab/test-lib later to maint).
|
23
Documentation/RelNotes/2.34.1.txt
Normal file
23
Documentation/RelNotes/2.34.1.txt
Normal file
@ -0,0 +1,23 @@
|
||||
Git v2.34.1 Release Notes
|
||||
=========================
|
||||
|
||||
This release is primarily to fix a handful of regressions in Git 2.34.
|
||||
|
||||
Fixes since v2.34
|
||||
-----------------
|
||||
|
||||
* "git grep" looking in a blob that has non-UTF8 payload was
|
||||
completely broken when linked with certain versions of PCREv2
|
||||
library in the latest release.
|
||||
|
||||
* "git pull" with any strategy when the other side is behind us
|
||||
should succeed as it is a no-op, but doesn't.
|
||||
|
||||
* An earlier change in 2.34.0 caused JGit application (that abused
|
||||
GIT_EDITOR mechanism when invoking "git config") to get stuck with
|
||||
a SIGTTOU signal; it has been reverted.
|
||||
|
||||
* An earlier change that broke .gitignore matching has been reverted.
|
||||
|
||||
* SubmittingPatches document gained a syntactically incorrect mark-up,
|
||||
which has been corrected.
|
6
Documentation/RelNotes/2.34.2.txt
Normal file
6
Documentation/RelNotes/2.34.2.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.34.2 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.3, v2.31.2,
|
||||
v2.32.1 and v2.33.2 to address the security issue CVE-2022-24765;
|
||||
see the release notes for these versions for details.
|
4
Documentation/RelNotes/2.34.3.txt
Normal file
4
Documentation/RelNotes/2.34.3.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Git Documentation/RelNotes/2.34.3.txt Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.34.3.
|
6
Documentation/RelNotes/2.34.4.txt
Normal file
6
Documentation/RelNotes/2.34.4.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.34.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.5, v2.31.4,
|
||||
v2.32.3 and v2.33.4 to address the security issue CVE-2022-29187;
|
||||
see the release notes for these versions for details.
|
5
Documentation/RelNotes/2.34.5.txt
Normal file
5
Documentation/RelNotes/2.34.5.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.34.5 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.6; see
|
||||
the release notes for that version for details.
|
5
Documentation/RelNotes/2.34.6.txt
Normal file
5
Documentation/RelNotes/2.34.6.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.34.6 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.7; see
|
||||
the release notes for that version for details.
|
7
Documentation/RelNotes/2.34.7.txt
Normal file
7
Documentation/RelNotes/2.34.7.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.34.7 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.8, v2.31.7,
|
||||
v2.32.6 and v2.33.7 to address the security issues CVE-2023-22490
|
||||
and CVE-2023-23946; see the release notes for these versions
|
||||
for details.
|
7
Documentation/RelNotes/2.34.8.txt
Normal file
7
Documentation/RelNotes/2.34.8.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.34.8 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the fixes that appear in v2.30.9, v2.31.8,
|
||||
v2.32.7 and v2.33.8 to address the security issues CVE-2023-25652,
|
||||
CVE-2023-25815, and CVE-2023-29007; see the release notes for these
|
||||
versions for details.
|
412
Documentation/RelNotes/2.35.0.txt
Normal file
412
Documentation/RelNotes/2.35.0.txt
Normal file
@ -0,0 +1,412 @@
|
||||
Git 2.35 Release Notes
|
||||
======================
|
||||
|
||||
Updates since Git 2.34
|
||||
----------------------
|
||||
|
||||
Backward compatibility warts
|
||||
|
||||
* "_" is now treated as any other URL-valid characters in an URL when
|
||||
matching the per-URL configuration variable names.
|
||||
|
||||
* The color palette used by "git grep" has been updated to match that
|
||||
of GNU grep.
|
||||
|
||||
|
||||
Note to those who build from the source
|
||||
|
||||
* You may need to define NO_UNCOMPRESS2 Makefile macro if you build
|
||||
with zlib older than 1.2.9.
|
||||
|
||||
* If your compiler cannot grok C99, the build will fail. See the
|
||||
instruction at the beginning of git-compat-util.h if this happens
|
||||
to you.
|
||||
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "git status --porcelain=v2" now show the number of stash entries
|
||||
with --show-stash like the normal output does.
|
||||
|
||||
* "git stash" learned the "--staged" option to stash away what has
|
||||
been added to the index (and nothing else).
|
||||
|
||||
* "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
|
||||
the newly created branch if "git init" is run.
|
||||
|
||||
* Various operating modes of "git reset" have been made to work
|
||||
better with the sparse index.
|
||||
|
||||
* "git submodule deinit" for a submodule whose .git metadata
|
||||
directory is embedded in its working tree refused to work, until
|
||||
the submodule gets converted to use the "absorbed" form where the
|
||||
metadata directory is stored in superproject, and a gitfile at the
|
||||
top-level of the working tree of the submodule points at it. The
|
||||
command is taught to convert such submodules to the absorbed form
|
||||
as needed.
|
||||
|
||||
* The completion script (in contrib/) learns that the "--date"
|
||||
option of commands from the "git log" family takes "human" and
|
||||
"auto" as valid values.
|
||||
|
||||
* "Zealous diff3" style of merge conflict presentation has been added.
|
||||
|
||||
* The "git log --format=%(describe)" placeholder has been extended to
|
||||
allow passing selected command-line options to the underlying "git
|
||||
describe" command.
|
||||
|
||||
* "default" and "reset" have been added to our color palette.
|
||||
|
||||
* The cryptographic signing using ssh keys can specify literal keys
|
||||
for keytypes whose name do not begin with the "ssh-" prefix by
|
||||
using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256").
|
||||
|
||||
* "git fetch" without the "--update-head-ok" option ought to protect
|
||||
a checked out branch from getting updated, to prevent the working
|
||||
tree that checks it out to go out of sync. The code was written
|
||||
before the use of "git worktree" got widespread, and only checked
|
||||
the branch that was checked out in the current worktree, which has
|
||||
been updated.
|
||||
|
||||
* "git name-rev" has been tweaked to give output that is shorter and
|
||||
easier to understand.
|
||||
|
||||
* "git apply" has been taught to ignore a message without a patch
|
||||
with the "--allow-empty" option. It also learned to honor the
|
||||
"--quiet" option given from the command line.
|
||||
|
||||
* The "init" and "set" subcommands in "git sparse-checkout" have been
|
||||
unified for a better user experience and performance.
|
||||
|
||||
* Many git commands that deal with working tree files try to remove a
|
||||
directory that becomes empty (i.e. "git switch" from a branch that
|
||||
has the directory to another branch that does not would attempt
|
||||
remove all files in the directory and the directory itself). This
|
||||
drops users into an unfamiliar situation if the command was run in
|
||||
a subdirectory that becomes subject to removal due to the command.
|
||||
The commands have been taught to keep an empty directory if it is
|
||||
the directory they were started in to avoid surprising users.
|
||||
|
||||
* "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
|
||||
done to a piece of e-mail without a patch in it.
|
||||
|
||||
* The default merge message prepared by "git merge" records the name
|
||||
of the current branch; the name can be overridden with a new option
|
||||
to allow users to pretend a merge is made on a different branch.
|
||||
|
||||
* The way "git p4" shows file sizes in its output has been updated to
|
||||
use human-readable units.
|
||||
|
||||
* "git -c branch.autosetupmerge=inherit branch new old" makes "new"
|
||||
to have the same upstream as the "old" branch, instead of marking
|
||||
"old" itself as its upstream.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* The use of errno as a means to carry the nature of error in the ref
|
||||
API implementation has been reworked and reduced.
|
||||
|
||||
* Teach and encourage first-time contributors to this project to
|
||||
state the base commit when they submit their topic.
|
||||
|
||||
* The command line completion for "git send-email" options have been
|
||||
tweaked to make it easier to keep it in sync with the command itself.
|
||||
|
||||
* Ensure that the sparseness of the in-core index matches the
|
||||
index.sparse configuration specified by the repository immediately
|
||||
after the on-disk index file is read.
|
||||
|
||||
* Code clean-up to eventually allow information on remotes defined
|
||||
for an arbitrary repository to be read.
|
||||
|
||||
* Build optimization.
|
||||
|
||||
* Tighten code for testing pack-bitmap.
|
||||
|
||||
* Weather balloon to break people with compilers that do not support
|
||||
C99.
|
||||
|
||||
* The "reftable" backend for the refs API, without integrating into
|
||||
the refs subsystem, has been added.
|
||||
|
||||
* More tests are marked as leak-free.
|
||||
|
||||
* The test framework learns to list unsatisfied test prerequisites,
|
||||
and optionally error out when prerequisites that are expected to be
|
||||
satisfied are not.
|
||||
|
||||
* The default setting for trace2 event nesting was too low to cause
|
||||
test failures, which is worked around by bumping it up in the test
|
||||
framework.
|
||||
|
||||
* Drop support for TravisCI and update test workflows at GitHub.
|
||||
|
||||
* Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||
mechanism to force "git" to use 'master' as the default name for
|
||||
the initial branch no longer need it; the use of the mechanism from
|
||||
them have been removed.
|
||||
|
||||
* Allow running our tests while disabling fsync.
|
||||
|
||||
* Document the parameters given to the reflog entry iterator callback
|
||||
functions.
|
||||
(merge e6e94f34b2 jc/reflog-iterator-callback-doc later to maint).
|
||||
|
||||
* The test helper for refs subsystem learned to write bogus and/or
|
||||
nonexistent object name to refs to simulate error situations we
|
||||
want to test Git in.
|
||||
|
||||
* "diff --histogram" optimization.
|
||||
|
||||
* Weather balloon to find compilers that do not grok variable
|
||||
declaration in the for() loop.
|
||||
|
||||
* diff and blame commands have been taught to work better with sparse
|
||||
index.
|
||||
|
||||
* The chainlint test script linter in the test suite has been updated.
|
||||
|
||||
* The DEVELOPER=yes build uses -std=gnu99 now.
|
||||
|
||||
* "git format-patch" uses a single rev_info instance and then exits.
|
||||
Mark the structure with UNLEAK() macro to squelch leak sanitizer.
|
||||
|
||||
* New interface into the tmp-objdir API to help in-core use of the
|
||||
quarantine feature.
|
||||
|
||||
* Broken &&-chains in the test scripts have been corrected.
|
||||
|
||||
* The RCS keyword substitution in "git p4" used to be done assuming
|
||||
that the contents are UTF-8 text, which can trigger decoding
|
||||
errors. We now treat the contents as a bytestring for robustness
|
||||
and correctness.
|
||||
|
||||
* The conditions to choose different definitions of the FLEX_ARRAY
|
||||
macro for vendor compilers has been simplified to make it easier to
|
||||
maintain.
|
||||
|
||||
* Correctness and performance update to "diff --color-moved" feature.
|
||||
|
||||
* "git upload-pack" (the other side of "git fetch") used a 8kB buffer
|
||||
but most of its payload came on 64kB "packets". The buffer size
|
||||
has been enlarged so that such a packet fits.
|
||||
|
||||
* "git fetch" and "git pull" are now declared sparse-index clean.
|
||||
Also "git ls-files" learns the "--sparse" option to help debugging.
|
||||
|
||||
* Similar message templates have been consolidated so that
|
||||
translators need to work on fewer number of messages.
|
||||
|
||||
|
||||
Fixes since v2.34
|
||||
-----------------
|
||||
|
||||
* "git grep" looking in a blob that has non-UTF8 payload was
|
||||
completely broken when linked with certain versions of PCREv2
|
||||
library in the latest release.
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
|
||||
* "git pull" with any strategy when the other side is behind us
|
||||
should succeed as it is a no-op, but doesn't.
|
||||
|
||||
* An earlier change in 2.34.0 caused JGit application (that abused
|
||||
GIT_EDITOR mechanism when invoking "git config") to get stuck with
|
||||
a SIGTTOU signal; it has been reverted.
|
||||
|
||||
* An earlier change that broke .gitignore matching has been reverted.
|
||||
|
||||
* Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
|
||||
operation modes of the "git branch" command that do not need the
|
||||
sort key information, no longer errors out by seeing a bogus sort
|
||||
key.
|
||||
(merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint).
|
||||
|
||||
* The compatibility implementation for unsetenv(3) were written to
|
||||
mimic ancient, non-POSIX, variant seen in an old glibc; it has been
|
||||
changed to return an integer to match the more modern era.
|
||||
(merge a38989bd5b jc/unsetenv-returns-an-int later to maint).
|
||||
|
||||
* The clean/smudge conversion code path has been prepared to better
|
||||
work on platforms where ulong is narrower than size_t.
|
||||
(merge 596b5e77c9 mc/clean-smudge-with-llp64 later to maint).
|
||||
|
||||
* Redact the path part of packfile URI that appears in the trace output.
|
||||
(merge 0ba558ffb1 if/redact-packfile-uri later to maint).
|
||||
|
||||
* CI has been taught to catch some Unicode directional formatting
|
||||
sequence that can be used in certain mischief.
|
||||
(merge 0e7696c64d js/ci-no-directional-formatting later to maint).
|
||||
|
||||
* The "--date=format:<strftime>" gained a workaround for the lack of
|
||||
system support for a non-local timezone to handle "%s" placeholder.
|
||||
(merge 9b591b9403 jk/strbuf-addftime-seconds-since-epoch later to maint).
|
||||
|
||||
* The "merge" subcommand of "git jump" (in contrib/) silently ignored
|
||||
pathspec and other parameters.
|
||||
(merge 67ba13e5a4 jk/jump-merge-with-pathspec later to maint).
|
||||
|
||||
* The code to decode the length of packed object size has been
|
||||
corrected.
|
||||
(merge 34de5b8eac jt/pack-header-lshift-overflow later to maint).
|
||||
|
||||
* The advice message given by "git pull" when the user hasn't made a
|
||||
choice between merge and rebase still said that the merge is the
|
||||
default, which no longer is the case. This has been corrected.
|
||||
(merge 71076d0edd ah/advice-pull-has-no-preference-between-rebase-and-merge later to maint).
|
||||
|
||||
* "git fetch", when received a bad packfile, can fail with SIGPIPE.
|
||||
This wasn't wrong per-se, but we now detect the situation and fail
|
||||
in a more predictable way.
|
||||
(merge 2a4aed42ec jk/fetch-pack-avoid-sigpipe-to-index-pack later to maint).
|
||||
|
||||
* The function to cull a child process and determine the exit status
|
||||
had two separate code paths for normal callers and callers in a
|
||||
signal handler, and the latter did not yield correct value when the
|
||||
child has caught a signal. The handling of the exit status has
|
||||
been unified for these two code paths. An existing test with
|
||||
flakiness has also been corrected.
|
||||
(merge 5263e22cba jk/t7006-sigpipe-tests-fix later to maint).
|
||||
|
||||
* When a non-existent program is given as the pager, we tried to
|
||||
reuse an uninitialized child_process structure and crashed, which
|
||||
has been fixed.
|
||||
(merge f917f57f40 em/missing-pager later to maint).
|
||||
|
||||
* The single-key-input mode in "git add -p" had some code to handle
|
||||
keys that generate a sequence of input via ReadKey(), which did not
|
||||
handle end-of-file correctly, which has been fixed.
|
||||
(merge fc8a8126df cb/add-p-single-key-fix later to maint).
|
||||
|
||||
* "git rebase -x" added an unnecessary 'exec' instructions before
|
||||
'noop', which has been corrected.
|
||||
(merge cc9dcdee61 en/rebase-x-fix later to maint).
|
||||
|
||||
* When the "git push" command is killed while the receiving end is
|
||||
trying to report what happened to the ref update proposals, the
|
||||
latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
|
||||
to increase our chances to run the post-receive hook after it
|
||||
happens.
|
||||
(merge d34182b9e3 rj/receive-pack-avoid-sigpipe-during-status-reporting later to maint).
|
||||
|
||||
* "git worktree add" showed "Preparing worktree" message to the
|
||||
standard output stream, but when it failed, the message from die()
|
||||
went to the standard error stream. Depending on the order the
|
||||
stdio streams are flushed at the program end, this resulted in
|
||||
confusing output. It has been corrected by sending all the chatty
|
||||
messages to the standard error stream.
|
||||
(merge b50252484f es/worktree-chatty-to-stderr later to maint).
|
||||
|
||||
* Coding guideline document has been updated to clarify what goes to
|
||||
standard error in our system.
|
||||
(merge e258eb4800 es/doc-stdout-vs-stderr later to maint).
|
||||
|
||||
* The sparse-index/sparse-checkout feature had a bug in its use of
|
||||
the matching code to determine which path is in or outside the
|
||||
sparse checkout patterns.
|
||||
(merge 8c5de0d265 ds/sparse-deep-pattern-checkout-fix later to maint).
|
||||
|
||||
* "git rebase -x" by mistake started exporting the GIT_DIR and
|
||||
GIT_WORK_TREE environment variables when the command was rewritten
|
||||
in C, which has been corrected.
|
||||
(merge 434e0636db en/rebase-x-wo-git-dir-env later to maint).
|
||||
|
||||
* When "git log" implicitly enabled the "decoration" processing
|
||||
without being explicitly asked with "--decorate" option, it failed
|
||||
to read and honor the settings given by the "--decorate-refs"
|
||||
option.
|
||||
|
||||
* "git fetch --set-upstream" did not check if there is a current
|
||||
branch, leading to a segfault when it is run on a detached HEAD,
|
||||
which has been corrected.
|
||||
(merge 17baeaf82d ab/fetch-set-upstream-while-detached later to maint).
|
||||
|
||||
* Among some code paths that ask an yes/no question, only one place
|
||||
gave a prompt that looked different from the others, which has been
|
||||
updated to match what the others create.
|
||||
(merge 0fc8ed154c km/help-prompt-fix later to maint).
|
||||
|
||||
* "git log --invert-grep --author=<name>" used to exclude commits
|
||||
written by the given author, but now "--invert-grep" only affects
|
||||
the matches made by the "--grep=<pattern>" option.
|
||||
(merge 794c000267 rs/log-invert-grep-with-headers later to maint).
|
||||
|
||||
* "git grep --perl-regexp" failed to match UTF-8 characters with
|
||||
wildcard when the pattern consists only of ASCII letters, which has
|
||||
been corrected.
|
||||
(merge 32e3e8bc55 rs/pcre2-utf later to maint).
|
||||
|
||||
* Certain sparse-checkout patterns that are valid in non-cone mode
|
||||
led to segfault in cone mode, which has been corrected.
|
||||
|
||||
* Use of certain "git rev-list" options with "git fast-export"
|
||||
created nonsense results (the worst two of which being "--reverse"
|
||||
and "--invert-grep --grep=<foo>"). The use of "--first-parent" is
|
||||
made to behave a bit more sensible than before.
|
||||
(merge 726a228dfb ws/fast-export-with-revision-options later to maint).
|
||||
|
||||
* Perf tests were run with end-user's shell, but it has been
|
||||
corrected to use the shell specified by $TEST_SHELL_PATH.
|
||||
(merge 9ccab75608 ja/perf-use-specified-shell later to maint).
|
||||
|
||||
* Fix dependency rules to generate hook-list.h header file.
|
||||
(merge d3fd1a6667 ab/makefile-hook-list-dependency-fix later to maint).
|
||||
|
||||
* "git stash" by default triggers its "push" action, but its
|
||||
implementation also made "git stash -h" to show short help only for
|
||||
"git stash push", which has been corrected.
|
||||
(merge ca7990cea5 ab/do-not-limit-stash-help-to-push later to maint).
|
||||
|
||||
* "git apply --3way" bypasses the attempt to do a three-way
|
||||
application in more cases to address the regression caused by the
|
||||
recent change to use direct application as a fallback.
|
||||
(merge 34d607032c jz/apply-3-corner-cases later to maint).
|
||||
|
||||
* Fix performance-releated bug in "git subtree" (in contrib/).
|
||||
(merge 3ce8888fb4 jl/subtree-check-parents-argument-passing-fix later to maint).
|
||||
|
||||
* Extend the guidance to choose the base commit to build your work
|
||||
on, and hint/nudge contributors to read others' changes.
|
||||
(merge fdfae830f8 jc/doc-submitting-patches-choice-of-base later to maint).
|
||||
|
||||
* A corner case bug in the ort merge strategy has been corrected.
|
||||
(merge d30126c20d en/merge-ort-renorm-with-rename-delete-conflict-fix later to maint).
|
||||
|
||||
* "git stash apply" forgot to attempt restoring untracked files when
|
||||
it failed to restore changes to tracked ones.
|
||||
(merge 71cade5a0b en/stash-df-fix later to maint).
|
||||
|
||||
* Calling dynamically loaded functions on Windows has been corrected.
|
||||
(merge 4a9b204920 ma/windows-dynload-fix later to maint).
|
||||
|
||||
* Some lockfile code called free() in signal-death code path, which
|
||||
has been corrected.
|
||||
(merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge 74db416c9c cw/protocol-v2-doc-fix later to maint).
|
||||
(merge f9b2b6684d ja/doc-cleanup later to maint).
|
||||
(merge 7d1b866778 jc/fix-first-object-walk later to maint).
|
||||
(merge 538ac74604 js/trace2-avoid-recursive-errors later to maint).
|
||||
(merge 152923b132 jk/t5319-midx-corruption-test-deflake later to maint).
|
||||
(merge 9081a421a6 ab/checkout-branch-info-leakfix later to maint).
|
||||
(merge 42c456ff81 rs/mergesort later to maint).
|
||||
(merge ad506e6780 tl/midx-docfix later to maint).
|
||||
(merge bf5b83fd8a hk/ci-checkwhitespace-commentfix later to maint).
|
||||
(merge 49f1eb3b34 jk/refs-g11-workaround later to maint).
|
||||
(merge 7d3fc7df70 jt/midx-doc-fix later to maint).
|
||||
(merge 7b089120d9 hn/create-reflog-simplify later to maint).
|
||||
(merge 9e12400da8 cb/mingw-gmtime-r later to maint).
|
||||
(merge 0bf0de6cc7 tb/pack-revindex-on-disk-cleanup later to maint).
|
||||
(merge 2c68f577fc ew/cbtree-remove-unused-and-broken-cb-unlink later to maint).
|
||||
(merge eafd6e7e55 ab/die-with-bug later to maint).
|
||||
(merge 91028f7659 jc/grep-patterntype-default-doc later to maint).
|
||||
(merge 47ca93d071 ds/repack-fixlets later to maint).
|
||||
(merge e6a9bc0c60 rs/t4202-invert-grep-test-fix later to maint).
|
||||
(merge deb5407a42 gh/gpg-doc-markup-fix later to maint).
|
||||
(merge 999bba3e0b rs/daemon-plug-leak later to maint).
|
||||
(merge 786eb1ba39 js/l10n-mention-ngettext-early-in-readme later to maint).
|
||||
(merge 2f12b31b74 ab/makefile-msgfmt-wo-stats later to maint).
|
||||
(merge 0517f591ca fs/gpg-unknown-key-test-fix later to maint).
|
||||
(merge 97d6fb5a1f ma/header-dup-cleanup later to maint).
|
6
Documentation/RelNotes/2.35.1.txt
Normal file
6
Documentation/RelNotes/2.35.1.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Git v2.35.1 Release Notes
|
||||
=========================
|
||||
|
||||
Git 2.35 shipped with a regression that broke use of "rebase" and
|
||||
"stash" in a secondary worktree. This maintenance release ought to
|
||||
fix it.
|
7
Documentation/RelNotes/2.35.2.txt
Normal file
7
Documentation/RelNotes/2.35.2.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.35.2 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.3,
|
||||
v2.31.2, v2.32.1, v2.33.2 and v2.34.2 to address the security
|
||||
issue CVE-2022-24765; see the release notes for these versions
|
||||
for details.
|
4
Documentation/RelNotes/2.35.3.txt
Normal file
4
Documentation/RelNotes/2.35.3.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Git Documentation/RelNotes/2.35.3.txt Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.35.3.
|
7
Documentation/RelNotes/2.35.4.txt
Normal file
7
Documentation/RelNotes/2.35.4.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.35.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.5,
|
||||
v2.31.4, v2.32.3, v2.33.4 and v2.34.4 to address the security
|
||||
issue CVE-2022-29187; see the release notes for these versions
|
||||
for details.
|
5
Documentation/RelNotes/2.35.5.txt
Normal file
5
Documentation/RelNotes/2.35.5.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.35.5 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.6; see
|
||||
the release notes for that version for details.
|
5
Documentation/RelNotes/2.35.6.txt
Normal file
5
Documentation/RelNotes/2.35.6.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.35.6 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.7; see
|
||||
the release notes for that version for details.
|
7
Documentation/RelNotes/2.35.7.txt
Normal file
7
Documentation/RelNotes/2.35.7.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.35.7 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.8, v2.31.7,
|
||||
v2.32.6, v2.33.7 and v2.34.7 to address the security issues
|
||||
CVE-2023-22490 and CVE-2023-23946; see the release notes for
|
||||
these versions for details.
|
7
Documentation/RelNotes/2.35.8.txt
Normal file
7
Documentation/RelNotes/2.35.8.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.35.8 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the fixes that appear in v2.30.9, v2.31.8,
|
||||
v2.32.7, v2.33.8 and v2.34.8 to address the security issues
|
||||
CVE-2023-25652, CVE-2023-25815, and CVE-2023-29007; see the release
|
||||
notes for these versions for details.
|
@ -377,7 +377,7 @@ notes for details).
|
||||
on that order.
|
||||
|
||||
* "git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a
|
||||
rev, i.e. the object named by the the pathname with wildcard
|
||||
rev, i.e. the object named by the pathname with wildcard
|
||||
characters in a tree object.
|
||||
(merge aac4fac nd/dwim-wildcards-as-pathspecs later to maint).
|
||||
|
||||
|
@ -19,8 +19,10 @@ change is relevant to.
|
||||
base your work on the tip of the topic.
|
||||
|
||||
* A new feature should be based on `master` in general. If the new
|
||||
feature depends on a topic that is in `seen`, but not in `master`,
|
||||
base your work on the tip of that topic.
|
||||
feature depends on other topics that are in `next`, but not in
|
||||
`master`, fork a branch from the tip of `master`, merge these topics
|
||||
to the branch, and work on that branch. You can remind yourself of
|
||||
how you prepared the base with `git log --first-parent master..`.
|
||||
|
||||
* Corrections and enhancements to a topic not yet in `master` should
|
||||
be based on the tip of that topic. If the topic has not been merged
|
||||
@ -28,10 +30,10 @@ change is relevant to.
|
||||
into the series.
|
||||
|
||||
* In the exceptional case that a new feature depends on several topics
|
||||
not in `master`, start working on `next` or `seen` privately and send
|
||||
out patches for discussion. Before the final merge, you may have to
|
||||
wait until some of the dependent topics graduate to `master`, and
|
||||
rebase your work.
|
||||
not in `master`, start working on `next` or `seen` privately and
|
||||
send out patches only for discussion. Once your new feature starts
|
||||
to stabilize, you would have to rebase it (see the "depends on other
|
||||
topics" above).
|
||||
|
||||
* Some parts of the system have dedicated maintainers with their own
|
||||
repositories (see the section "Subsystems" below). Changes to
|
||||
@ -71,13 +73,17 @@ Make sure that you have tests for the bug you are fixing. See
|
||||
[[tests]]
|
||||
When adding a new feature, make sure that you have new tests to show
|
||||
the feature triggers the new behavior when it should, and to show the
|
||||
feature does not trigger when it shouldn't. After any code change, make
|
||||
sure that the entire test suite passes.
|
||||
feature does not trigger when it shouldn't. After any code change,
|
||||
make sure that the entire test suite passes. When fixing a bug, make
|
||||
sure you have new tests that break if somebody else breaks what you
|
||||
fixed by accident to avoid regression. Also, try merging your work to
|
||||
'next' and 'seen' and make sure the tests still pass; topics by others
|
||||
that are still in flight may have unexpected interactions with what
|
||||
you are trying to do in your topic.
|
||||
|
||||
If you have an account at GitHub (and you can get one for free to work
|
||||
on open source projects), you can use their Travis CI integration to
|
||||
test your changes on Linux, Mac (and hopefully soon Windows). See
|
||||
GitHub-Travis CI hints section for details.
|
||||
Pushing to a fork of https://github.com/git/git will use their CI
|
||||
integration to test your changes on Linux, Mac and Windows. See the
|
||||
<<GHCI,GitHub CI>> section for details.
|
||||
|
||||
Do not forget to update the documentation to describe the updated
|
||||
behavior and make sure that the resulting documentation set formats
|
||||
@ -145,8 +151,21 @@ without external resources. Instead of giving a URL to a mailing list
|
||||
archive, summarize the relevant points of the discussion.
|
||||
|
||||
[[commit-reference]]
|
||||
If you want to reference a previous commit in the history of a stable
|
||||
branch, use the format "abbreviated hash (subject, date)", like this:
|
||||
|
||||
There are a few reasons why you may want to refer to another commit in
|
||||
the "more stable" part of the history (i.e. on branches like `maint`,
|
||||
`master`, and `next`):
|
||||
|
||||
. A commit that introduced the root cause of a bug you are fixing.
|
||||
|
||||
. A commit that introduced a feature that you are enhancing.
|
||||
|
||||
. A commit that conflicts with your work when you made a trial merge
|
||||
of your work into `next` and `seen` for testing.
|
||||
|
||||
When you reference a commit on a more stable branch (like `master`,
|
||||
`maint` and `next`), use the format "abbreviated hash (subject,
|
||||
date)", like this:
|
||||
|
||||
....
|
||||
Commit f86a374 (pack-bitmap.c: fix a memleak, 2015-03-30)
|
||||
@ -167,6 +186,85 @@ or, on an older version of Git without support for --pretty=reference:
|
||||
git show -s --date=short --pretty='format:%h (%s, %ad)' <commit>
|
||||
....
|
||||
|
||||
[[sign-off]]
|
||||
=== Certify your work by adding your `Signed-off-by` trailer
|
||||
|
||||
To improve tracking of who did what, we ask you to certify that you
|
||||
wrote the patch or have the right to pass it on under the same license
|
||||
as ours, by "signing off" your patch. Without sign-off, we cannot
|
||||
accept your patches.
|
||||
|
||||
If (and only if) you certify the below D-C-O:
|
||||
|
||||
[[dco]]
|
||||
.Developer's Certificate of Origin 1.1
|
||||
____
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
a. The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the open source license
|
||||
indicated in the file; or
|
||||
|
||||
b. The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part
|
||||
by me, under the same open source license (unless I am
|
||||
permitted to submit under a different license), as indicated
|
||||
in the file; or
|
||||
|
||||
c. The contribution was provided directly to me by some other
|
||||
person who certified (a), (b) or (c) and I have not modified
|
||||
it.
|
||||
|
||||
d. I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
____
|
||||
|
||||
you add a "Signed-off-by" trailer to your commit, that looks like
|
||||
this:
|
||||
|
||||
....
|
||||
Signed-off-by: Random J Developer <random@developer.example.org>
|
||||
....
|
||||
|
||||
This line can be added by Git if you run the git-commit command with
|
||||
the -s option.
|
||||
|
||||
Notice that you can place your own `Signed-off-by` trailer when
|
||||
forwarding somebody else's patch with the above rules for
|
||||
D-C-O. Indeed you are encouraged to do so. Do not forget to
|
||||
place an in-body "From: " line at the beginning to properly attribute
|
||||
the change to its true author (see (2) above).
|
||||
|
||||
This procedure originally came from the Linux kernel project, so our
|
||||
rule is quite similar to theirs, but what exactly it means to sign-off
|
||||
your patch differs from project to project, so it may be different
|
||||
from that of the project you are accustomed to.
|
||||
|
||||
[[real-name]]
|
||||
Also notice that a real name is used in the `Signed-off-by` trailer. Please
|
||||
don't hide your real name.
|
||||
|
||||
[[commit-trailers]]
|
||||
If you like, you can put extra tags at the end:
|
||||
|
||||
. `Reported-by:` is used to credit someone who found the bug that
|
||||
the patch attempts to fix.
|
||||
. `Acked-by:` says that the person who is more familiar with the area
|
||||
the patch attempts to modify liked the patch.
|
||||
. `Reviewed-by:`, unlike the other tags, can only be offered by the
|
||||
reviewers themselves when they are completely satisfied with the
|
||||
patch after a detailed analysis.
|
||||
. `Tested-by:` is used to indicate that the person applied the patch
|
||||
and found it to have the desired effect.
|
||||
|
||||
You can also create your own tag or use one that's in common usage
|
||||
such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
|
||||
|
||||
[[git-tools]]
|
||||
=== Generate your patch using Git tools out of your commits.
|
||||
|
||||
@ -181,9 +279,11 @@ Please make sure your patch does not add commented out debugging code,
|
||||
or include any extra files which do not relate to what your patch
|
||||
is trying to achieve. Make sure to review
|
||||
your patch after generating it, to ensure accuracy. Before
|
||||
sending out, please make sure it cleanly applies to the `master`
|
||||
branch head. If you are preparing a work based on "next" branch,
|
||||
that is fine, but please mark it as such.
|
||||
sending out, please make sure it cleanly applies to the base you
|
||||
have chosen in the "Decide what to base your work on" section,
|
||||
and unless it targets the `master` branch (which is the default),
|
||||
mark your patches as such.
|
||||
|
||||
|
||||
[[send-patches]]
|
||||
=== Sending your patches.
|
||||
@ -287,7 +387,10 @@ Security mailing list{security-ml-ref}.
|
||||
Send your patch with "To:" set to the mailing list, with "cc:" listing
|
||||
people who are involved in the area you are touching (the `git
|
||||
contacts` command in `contrib/contacts/` can help to
|
||||
identify them), to solicit comments and reviews.
|
||||
identify them), to solicit comments and reviews. Also, when you made
|
||||
trial merges of your topic to `next` and `seen`, you may have noticed
|
||||
work by others conflicting with your changes. There is a good possibility
|
||||
that these people may know the area you are touching well.
|
||||
|
||||
:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]
|
||||
:git-ml: footnote:[The mailing list: git@vger.kernel.org]
|
||||
@ -302,86 +405,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and
|
||||
`Tested-by:` lines as necessary to credit people who helped your
|
||||
patch, and "cc:" them when sending such a final version for inclusion.
|
||||
|
||||
[[sign-off]]
|
||||
=== Certify your work by adding your `Signed-off-by` trailer
|
||||
|
||||
To improve tracking of who did what, we ask you to certify that you
|
||||
wrote the patch or have the right to pass it on under the same license
|
||||
as ours, by "signing off" your patch. Without sign-off, we cannot
|
||||
accept your patches.
|
||||
|
||||
If (and only if) you certify the below D-C-O:
|
||||
|
||||
[[dco]]
|
||||
.Developer's Certificate of Origin 1.1
|
||||
____
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
a. The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the open source license
|
||||
indicated in the file; or
|
||||
|
||||
b. The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part
|
||||
by me, under the same open source license (unless I am
|
||||
permitted to submit under a different license), as indicated
|
||||
in the file; or
|
||||
|
||||
c. The contribution was provided directly to me by some other
|
||||
person who certified (a), (b) or (c) and I have not modified
|
||||
it.
|
||||
|
||||
d. I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
____
|
||||
|
||||
you add a "Signed-off-by" trailer to your commit, that looks like
|
||||
this:
|
||||
|
||||
....
|
||||
Signed-off-by: Random J Developer <random@developer.example.org>
|
||||
....
|
||||
|
||||
This line can be added by Git if you run the git-commit command with
|
||||
the -s option.
|
||||
|
||||
Notice that you can place your own `Signed-off-by` trailer when
|
||||
forwarding somebody else's patch with the above rules for
|
||||
D-C-O. Indeed you are encouraged to do so. Do not forget to
|
||||
place an in-body "From: " line at the beginning to properly attribute
|
||||
the change to its true author (see (2) above).
|
||||
|
||||
This procedure originally came from the Linux kernel project, so our
|
||||
rule is quite similar to theirs, but what exactly it means to sign-off
|
||||
your patch differs from project to project, so it may be different
|
||||
from that of the project you are accustomed to.
|
||||
|
||||
[[real-name]]
|
||||
Also notice that a real name is used in the `Signed-off-by` trailer. Please
|
||||
don't hide your real name.
|
||||
|
||||
[[commit-trailers]]
|
||||
If you like, you can put extra tags at the end:
|
||||
|
||||
. `Reported-by:` is used to credit someone who found the bug that
|
||||
the patch attempts to fix.
|
||||
. `Acked-by:` says that the person who is more familiar with the area
|
||||
the patch attempts to modify liked the patch.
|
||||
. `Reviewed-by:`, unlike the other tags, can only be offered by the
|
||||
reviewer and means that she is completely satisfied that the patch
|
||||
is ready for application. It is usually offered only after a
|
||||
detailed review.
|
||||
. `Tested-by:` is used to indicate that the person applied the patch
|
||||
and found it to have the desired effect.
|
||||
|
||||
You can also create your own tag or use one that's in common usage
|
||||
such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
|
||||
|
||||
== Subsystems with dedicated maintainers
|
||||
|
||||
Some parts of the system have dedicated maintainers with their own
|
||||
@ -450,13 +473,12 @@ their trees themselves.
|
||||
entitled "What's cooking in git.git" and "What's in git.git" giving
|
||||
the status of various proposed changes.
|
||||
|
||||
[[travis]]
|
||||
== GitHub-Travis CI hints
|
||||
== GitHub CI[[GHCI]]
|
||||
|
||||
With an account at GitHub (you can get one for free to work on open
|
||||
source projects), you can use Travis CI to test your changes on Linux,
|
||||
Mac (and hopefully soon Windows). You can find a successful example
|
||||
test build here: https://travis-ci.org/git/git/builds/120473209
|
||||
With an account at GitHub, you can use GitHub CI to test your changes
|
||||
on Linux, Mac and Windows. See
|
||||
https://github.com/git/git/actions/workflows/main.yml for examples of
|
||||
recent CI runs.
|
||||
|
||||
Follow these steps for the initial setup:
|
||||
|
||||
@ -464,31 +486,18 @@ Follow these steps for the initial setup:
|
||||
You can find detailed instructions how to fork here:
|
||||
https://help.github.com/articles/fork-a-repo/
|
||||
|
||||
. Open the Travis CI website: https://travis-ci.org
|
||||
|
||||
. Press the "Sign in with GitHub" button.
|
||||
|
||||
. Grant Travis CI permissions to access your GitHub account.
|
||||
You can find more information about the required permissions here:
|
||||
https://docs.travis-ci.com/user/github-oauth-scopes
|
||||
|
||||
. Open your Travis CI profile page: https://travis-ci.org/profile
|
||||
|
||||
. Enable Travis CI builds for your Git fork.
|
||||
|
||||
After the initial setup, Travis CI will run whenever you push new changes
|
||||
After the initial setup, CI will run whenever you push new changes
|
||||
to your fork of Git on GitHub. You can monitor the test state of all your
|
||||
branches here: https://travis-ci.org/__<Your GitHub handle>__/git/branches
|
||||
branches here: `https://github.com/<Your GitHub handle>/git/actions/workflows/main.yml`
|
||||
|
||||
If a branch did not pass all test cases then it is marked with a red
|
||||
cross. In that case you can click on the failing Travis CI job and
|
||||
scroll all the way down in the log. Find the line "<-- Click here to see
|
||||
detailed test output!" and click on the triangle next to the log line
|
||||
number to expand the detailed test output. Here is such a failing
|
||||
example: https://travis-ci.org/git/git/jobs/122676187
|
||||
cross. In that case you can click on the failing job and navigate to
|
||||
"ci/run-build-and-tests.sh" and/or "ci/print-test-failures.sh". You
|
||||
can also download "Artifacts" which are tarred (or zipped) archives
|
||||
with test data relevant for debugging.
|
||||
|
||||
Fix the problem and push your fix to your Git fork. This will trigger
|
||||
a new Travis CI build to ensure all tests pass.
|
||||
Then fix the problem and push your fix to your GitHub fork. This will
|
||||
trigger a new CI build to ensure all tests pass.
|
||||
|
||||
[[mua]]
|
||||
== MUA specific hints
|
||||
|
@ -136,5 +136,16 @@ take effect.
|
||||
option. An empty file name, `""`, will clear the list of revs from
|
||||
previously processed files.
|
||||
|
||||
--color-lines::
|
||||
Color line annotations in the default format differently if they come from
|
||||
the same commit as the preceding line. This makes it easier to distinguish
|
||||
code blocks introduced by different commits. The color defaults to cyan and
|
||||
can be adjusted using the `color.blame.repeatedLines` config option.
|
||||
|
||||
--color-by-age::
|
||||
Color line annotations depending on the age of the line in the default format.
|
||||
The `color.blame.highlightRecent` config option controls what color is used for
|
||||
each range of age.
|
||||
|
||||
-h::
|
||||
Show help message.
|
||||
|
@ -262,11 +262,19 @@ color::
|
||||
colors (at most two, one for foreground and one for background)
|
||||
and attributes (as many as you want), separated by spaces.
|
||||
+
|
||||
The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`,
|
||||
`blue`, `magenta`, `cyan` and `white`. The first color given is the
|
||||
foreground; the second is the background. All the basic colors except
|
||||
`normal` have a bright variant that can be specified by prefixing the
|
||||
color with `bright`, like `brightred`.
|
||||
The basic colors accepted are `normal`, `black`, `red`, `green`,
|
||||
`yellow`, `blue`, `magenta`, `cyan`, `white` and `default`. The first
|
||||
color given is the foreground; the second is the background. All the
|
||||
basic colors except `normal` and `default` have a bright variant that can
|
||||
be specified by prefixing the color with `bright`, like `brightred`.
|
||||
+
|
||||
The color `normal` makes no change to the color. It is the same as an
|
||||
empty string, but can be used as the foreground color when specifying a
|
||||
background color alone (for example, "normal red").
|
||||
+
|
||||
The color `default` explicitly resets the color to the terminal default,
|
||||
for example to specify a cleared background. Although it varies between
|
||||
terminals, this is usually not the same as setting to "white black".
|
||||
+
|
||||
Colors may also be given as numbers between 0 and 255; these use ANSI
|
||||
256-color mode (but note that not all terminals may support this). If
|
||||
@ -280,6 +288,11 @@ The position of any attributes with respect to the colors
|
||||
be turned off by prefixing them with `no` or `no-` (e.g., `noreverse`,
|
||||
`no-ul`, etc).
|
||||
+
|
||||
The pseudo-attribute `reset` resets all colors and attributes before
|
||||
applying the specified coloring. For example, `reset green` will result
|
||||
in a green foreground and default background without any active
|
||||
attributes.
|
||||
+
|
||||
An empty color string produces no color effect at all. This can be used
|
||||
to avoid coloring specific elements without disabling color entirely.
|
||||
+
|
||||
@ -298,6 +311,15 @@ pathname::
|
||||
tilde expansion happens to such a string: `~/`
|
||||
is expanded to the value of `$HOME`, and `~user/` to the
|
||||
specified user's home directory.
|
||||
+
|
||||
If a path starts with `%(prefix)/`, the remainder is interpreted as a
|
||||
path relative to Git's "runtime prefix", i.e. relative to the location
|
||||
where Git itself was installed. For example, `%(prefix)/bin/` refers to
|
||||
the directory in which the Git executable itself lives. If Git was
|
||||
compiled without runtime prefix support, the compiled-in prefix will be
|
||||
substituted instead. In the unlikely event that a literal path needs to
|
||||
be specified that should _not_ be expanded, it needs to be prefixed by
|
||||
`./`, like so: `./%(prefix)/bin`.
|
||||
|
||||
|
||||
Variables
|
||||
@ -440,6 +462,8 @@ include::config/rerere.txt[]
|
||||
|
||||
include::config/reset.txt[]
|
||||
|
||||
include::config/safe.txt[]
|
||||
|
||||
include::config/sendemail.txt[]
|
||||
|
||||
include::config/sequencer.txt[]
|
||||
|
@ -44,6 +44,9 @@ advice.*::
|
||||
Shown when linkgit:git-push[1] rejects a forced update of
|
||||
a branch when its remote-tracking ref has updates that we
|
||||
do not have locally.
|
||||
skippedCherryPicks::
|
||||
Shown when linkgit:git-rebase[1] skips a commit that has already
|
||||
been cherry-picked onto the upstream branch.
|
||||
statusAheadBehind::
|
||||
Shown when linkgit:git-status[1] computes the ahead/behind
|
||||
counts for a local ref compared to its remote tracking ref,
|
||||
|
@ -27,7 +27,7 @@ blame.ignoreRevsFile::
|
||||
file names will reset the list of ignored revisions. This option will
|
||||
be handled before the command line option `--ignore-revs-file`.
|
||||
|
||||
blame.markUnblamables::
|
||||
blame.markUnblamableLines::
|
||||
Mark lines that were changed by an ignored revision that we could not
|
||||
attribute to another commit with a '*' in the output of
|
||||
linkgit:git-blame[1].
|
||||
|
@ -7,7 +7,8 @@ branch.autoSetupMerge::
|
||||
automatic setup is done; `true` -- automatic setup is done when the
|
||||
starting point is a remote-tracking branch; `always` --
|
||||
automatic setup is done when the starting point is either a
|
||||
local branch or remote-tracking
|
||||
local branch or remote-tracking branch; `inherit` -- if the starting point
|
||||
has a tracking configuration, it is copied to the new
|
||||
branch. This option defaults to true.
|
||||
|
||||
branch.autoSetupRebase::
|
||||
@ -85,10 +86,6 @@ When `merges` (or just 'm'), pass the `--rebase-merges` option to 'git rebase'
|
||||
so that the local merge commits are included in the rebase (see
|
||||
linkgit:git-rebase[1] for details).
|
||||
+
|
||||
When `preserve` (or just 'p', deprecated in favor of `merges`), also pass
|
||||
`--preserve-merges` along to 'git rebase' so that locally committed merge
|
||||
commits will not be flattened by running 'git pull'.
|
||||
+
|
||||
When the value is `interactive` (or just 'i'), the rebase is run in interactive
|
||||
mode.
|
||||
+
|
||||
|
@ -9,26 +9,27 @@ color.advice.hint::
|
||||
Use customized color for hints.
|
||||
|
||||
color.blame.highlightRecent::
|
||||
This can be used to color the metadata of a blame line depending
|
||||
on age of the line.
|
||||
Specify the line annotation color for `git blame --color-by-age`
|
||||
depending upon the age of the line.
|
||||
+
|
||||
This setting should be set to a comma-separated list of color and date settings,
|
||||
starting and ending with a color, the dates should be set from oldest to newest.
|
||||
The metadata will be colored given the colors if the line was introduced
|
||||
before the given timestamp, overwriting older timestamped colors.
|
||||
This setting should be set to a comma-separated list of color and
|
||||
date settings, starting and ending with a color, the dates should be
|
||||
set from oldest to newest. The metadata will be colored with the
|
||||
specified colors if the line was introduced before the given
|
||||
timestamp, overwriting older timestamped colors.
|
||||
+
|
||||
Instead of an absolute timestamp relative timestamps work as well, e.g.
|
||||
2.weeks.ago is valid to address anything older than 2 weeks.
|
||||
Instead of an absolute timestamp relative timestamps work as well,
|
||||
e.g. `2.weeks.ago` is valid to address anything older than 2 weeks.
|
||||
+
|
||||
It defaults to 'blue,12 month ago,white,1 month ago,red', which colors
|
||||
everything older than one year blue, recent changes between one month and
|
||||
one year old are kept white, and lines introduced within the last month are
|
||||
colored red.
|
||||
It defaults to `blue,12 month ago,white,1 month ago,red`, which
|
||||
colors everything older than one year blue, recent changes between
|
||||
one month and one year old are kept white, and lines introduced
|
||||
within the last month are colored red.
|
||||
|
||||
color.blame.repeatedLines::
|
||||
Use the customized color for the part of git-blame output that
|
||||
is repeated meta information per line (such as commit id,
|
||||
author name, date and timezone). Defaults to cyan.
|
||||
Use the specified color to colorize line annotations for
|
||||
`git blame --color-lines`, if they come from the same commit as the
|
||||
preceding line. Defaults to cyan.
|
||||
|
||||
color.branch::
|
||||
A boolean to enable/disable color in the output of
|
||||
@ -104,9 +105,12 @@ color.grep.<slot>::
|
||||
`matchContext`;;
|
||||
matching text in context lines
|
||||
`matchSelected`;;
|
||||
matching text in selected lines
|
||||
matching text in selected lines. Also, used to customize the following
|
||||
linkgit:git-log[1] subcommands: `--grep`, `--author` and `--committer`.
|
||||
`selected`;;
|
||||
non-matching text in selected lines
|
||||
non-matching text in selected lines. Also, used to customize the
|
||||
following linkgit:git-log[1] subcommands: `--grep`, `--author` and
|
||||
`--committer`.
|
||||
`separator`;;
|
||||
separators between fields on a line (`:`, `-`, and `=`)
|
||||
and between hunks (`--`)
|
||||
@ -127,8 +131,9 @@ color.interactive.<slot>::
|
||||
interactive commands.
|
||||
|
||||
color.pager::
|
||||
A boolean to enable/disable colored output when the pager is in
|
||||
use (default is true).
|
||||
A boolean to specify whether `auto` color modes should colorize
|
||||
output going to the pager. Defaults to true; set this to false
|
||||
if your pager does not understand ANSI color codes.
|
||||
|
||||
color.push::
|
||||
A boolean to enable/disable color in push errors. May be set to
|
||||
|
@ -118,9 +118,10 @@ diff.orderFile::
|
||||
relative to the top of the working tree.
|
||||
|
||||
diff.renameLimit::
|
||||
The number of files to consider when performing the copy/rename
|
||||
detection; equivalent to the 'git diff' option `-l`. This setting
|
||||
has no effect if rename detection is turned off.
|
||||
The number of files to consider in the exhaustive portion of
|
||||
copy/rename detection; equivalent to the 'git diff' option
|
||||
`-l`. If not set, the default value is currently 1000. This
|
||||
setting has no effect if rename detection is turned off.
|
||||
|
||||
diff.renames::
|
||||
Whether and how Git detects renames. If set to "false",
|
||||
|
@ -69,7 +69,8 @@ fetch.negotiationAlgorithm::
|
||||
setting defaults to "skipping".
|
||||
Unknown values will cause 'git fetch' to error out.
|
||||
+
|
||||
See also the `--negotiation-tip` option for linkgit:git-fetch[1].
|
||||
See also the `--negotiate-only` and `--negotiation-tip` options to
|
||||
linkgit:git-fetch[1].
|
||||
|
||||
fetch.showForcedUpdates::
|
||||
Set to false to enable `--no-show-forced-updates` in
|
||||
|
@ -11,13 +11,13 @@ gpg.program::
|
||||
|
||||
gpg.format::
|
||||
Specifies which key format to use when signing with `--gpg-sign`.
|
||||
Default is "openpgp" and another possible value is "x509".
|
||||
Default is "openpgp". Other possible values are "x509", "ssh".
|
||||
|
||||
gpg.<format>.program::
|
||||
Use this to customize the program used for the signing format you
|
||||
chose. (see `gpg.program` and `gpg.format`) `gpg.program` can still
|
||||
be used as a legacy synonym for `gpg.openpgp.program`. The default
|
||||
value for `gpg.x509.program` is "gpgsm".
|
||||
value for `gpg.x509.program` is "gpgsm" and `gpg.ssh.program` is "ssh-keygen".
|
||||
|
||||
gpg.minTrustLevel::
|
||||
Specifies a minimum trust level for signature verification. If
|
||||
@ -33,3 +33,47 @@ gpg.minTrustLevel::
|
||||
* `marginal`
|
||||
* `fully`
|
||||
* `ultimate`
|
||||
|
||||
gpg.ssh.defaultKeyCommand::
|
||||
This command that will be run when user.signingkey is not set and a ssh
|
||||
signature is requested. On successful exit a valid ssh public key is
|
||||
expected in the first line of its output. To automatically use the first
|
||||
available key from your ssh-agent set this to "ssh-add -L".
|
||||
|
||||
gpg.ssh.allowedSignersFile::
|
||||
A file containing ssh public keys which you are willing to trust.
|
||||
The file consists of one or more lines of principals followed by an ssh
|
||||
public key.
|
||||
e.g.: `user1@example.com,user2@example.com ssh-rsa AAAAX1...`
|
||||
See ssh-keygen(1) "ALLOWED SIGNERS" for details.
|
||||
The principal is only used to identify the key and is available when
|
||||
verifying a signature.
|
||||
+
|
||||
SSH has no concept of trust levels like gpg does. To be able to differentiate
|
||||
between valid signatures and trusted signatures the trust level of a signature
|
||||
verification is set to `fully` when the public key is present in the allowedSignersFile.
|
||||
Otherwise the trust level is `undefined` and git verify-commit/tag will fail.
|
||||
+
|
||||
This file can be set to a location outside of the repository and every developer
|
||||
maintains their own trust store. A central repository server could generate this
|
||||
file automatically from ssh keys with push access to verify the code against.
|
||||
In a corporate setting this file is probably generated at a global location
|
||||
from automation that already handles developer ssh keys.
|
||||
+
|
||||
A repository that only allows signed commits can store the file
|
||||
in the repository itself using a path relative to the top-level of the working tree.
|
||||
This way only committers with an already valid key can add or change keys in the keyring.
|
||||
+
|
||||
Since OpensSSH 8.8 this file allows specifying a key lifetime using valid-after &
|
||||
valid-before options. Git will mark signatures as valid if the signing key was
|
||||
valid at the time of the signatures creation. This allows users to change a
|
||||
signing key without invalidating all previously made signatures.
|
||||
+
|
||||
Using a SSH CA key with the cert-authority option
|
||||
(see ssh-keygen(1) "CERTIFICATES") is also valid.
|
||||
|
||||
gpg.ssh.revocationFile::
|
||||
Either a SSH KRL or a list of revoked public keys (without the principal prefix).
|
||||
See ssh-keygen(1) for details.
|
||||
If a public key is found in this file then it will always be treated
|
||||
as having trust level "never" and signatures will show as invalid.
|
||||
|
@ -8,7 +8,8 @@ grep.patternType::
|
||||
Set the default matching behavior. Using a value of 'basic', 'extended',
|
||||
'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,
|
||||
`--fixed-strings`, or `--perl-regexp` option accordingly, while the
|
||||
value 'default' will return to the default matching behavior.
|
||||
value 'default' will use the `grep.extendedRegexp` option to choose
|
||||
between 'basic' and 'extended'.
|
||||
|
||||
grep.extendedRegexp::
|
||||
If set to true, enable `--extended-regexp` option by default. This
|
||||
|
@ -11,7 +11,7 @@ gui.displayUntracked::
|
||||
in the file list. The default is "true".
|
||||
|
||||
gui.encoding::
|
||||
Specifies the default encoding to use for displaying of
|
||||
Specifies the default character encoding to use for displaying of
|
||||
file contents in linkgit:git-gui[1] and linkgit:gitk[1].
|
||||
It can be overridden by setting the 'encoding' attribute
|
||||
for relevant files (see linkgit:gitattributes[5]).
|
||||
|
@ -9,13 +9,15 @@ help.format::
|
||||
|
||||
help.autoCorrect::
|
||||
If git detects typos and can identify exactly one valid command similar
|
||||
to the error, git will automatically run the intended command after
|
||||
waiting a duration of time defined by this configuration value in
|
||||
deciseconds (0.1 sec). If this value is 0, the suggested corrections
|
||||
will be shown, but not executed. If it is a negative integer, or
|
||||
"immediate", the suggested command
|
||||
is run immediately. If "never", suggestions are not shown at all. The
|
||||
default value is zero.
|
||||
to the error, git will try to suggest the correct command or even
|
||||
run the suggestion automatically. Possible config values are:
|
||||
- 0 (default): show the suggested command.
|
||||
- positive number: run the suggested command after specified
|
||||
deciseconds (0.1 sec).
|
||||
- "immediate": run the suggested command immediately.
|
||||
- "prompt": show the suggestion and prompt for confirmation to run
|
||||
the command.
|
||||
- "never": don't run or show any suggested command.
|
||||
|
||||
help.htmlPath::
|
||||
Specify the path where the HTML documentation resides. File system paths
|
||||
|
@ -4,7 +4,14 @@ merge.conflictStyle::
|
||||
shows a `<<<<<<<` conflict marker, changes made by one side,
|
||||
a `=======` marker, changes made by the other side, and then
|
||||
a `>>>>>>>` marker. An alternate style, "diff3", adds a `|||||||`
|
||||
marker and the original text before the `=======` marker.
|
||||
marker and the original text before the `=======` marker. The
|
||||
"merge" style tends to produce smaller conflict regions than diff3,
|
||||
both because of the exclusion of the original text, and because
|
||||
when a subset of lines match on the two sides they are just pulled
|
||||
out of the conflict region. Another alternate style, "zdiff3", is
|
||||
similar to diff3 but removes matching lines on the two sides from
|
||||
the conflict region when those matching lines appear near either
|
||||
the beginning or end of a conflict region.
|
||||
|
||||
merge.defaultToUpstream::
|
||||
If merge is called without any commit argument, merge the upstream
|
||||
@ -14,7 +21,7 @@ merge.defaultToUpstream::
|
||||
branches at the remote named by `branch.<current branch>.remote`
|
||||
are consulted, and then they are mapped via `remote.<remote>.fetch`
|
||||
to their corresponding remote-tracking branches, and the tips of
|
||||
these tracking branches are merged.
|
||||
these tracking branches are merged. Defaults to true.
|
||||
|
||||
merge.ff::
|
||||
By default, Git does not create an extra merge commit when merging
|
||||
@ -33,10 +40,12 @@ merge.verifySignatures::
|
||||
include::fmt-merge-msg.txt[]
|
||||
|
||||
merge.renameLimit::
|
||||
The number of files to consider when performing rename detection
|
||||
during a merge; if not specified, defaults to the value of
|
||||
diff.renameLimit. This setting has no effect if rename detection
|
||||
is turned off.
|
||||
The number of files to consider in the exhaustive portion of
|
||||
rename detection during a merge. If not specified, defaults
|
||||
to the value of diff.renameLimit. If neither
|
||||
merge.renameLimit nor diff.renameLimit are specified,
|
||||
currently defaults to 7000. This setting has no effect if
|
||||
rename detection is turned off.
|
||||
|
||||
merge.renames::
|
||||
Whether Git detects renames. If set to "false", rename detection
|
||||
|
@ -99,12 +99,23 @@ pack.packSizeLimit::
|
||||
packing to a file when repacking, i.e. the git:// protocol
|
||||
is unaffected. It can be overridden by the `--max-pack-size`
|
||||
option of linkgit:git-repack[1]. Reaching this limit results
|
||||
in the creation of multiple packfiles; which in turn prevents
|
||||
bitmaps from being created.
|
||||
The minimum size allowed is limited to 1 MiB.
|
||||
The default is unlimited.
|
||||
Common unit suffixes of 'k', 'm', or 'g' are
|
||||
supported.
|
||||
in the creation of multiple packfiles.
|
||||
+
|
||||
Note that this option is rarely useful, and may result in a larger total
|
||||
on-disk size (because Git will not store deltas between packs), as well
|
||||
as worse runtime performance (object lookup within multiple packs is
|
||||
slower than a single pack, and optimizations like reachability bitmaps
|
||||
cannot cope with multiple packs).
|
||||
+
|
||||
If you need to actively run Git using smaller packfiles (e.g., because your
|
||||
filesystem does not support large files), this option may help. But if
|
||||
your goal is to transmit a packfile over a medium that supports limited
|
||||
sizes (e.g., removable media that cannot store the whole repository),
|
||||
you are likely better off creating a single large packfile and splitting
|
||||
it using a generic multi-volume archive tool (e.g., Unix `split`).
|
||||
+
|
||||
The minimum size allowed is limited to 1 MiB. The default is unlimited.
|
||||
Common unit suffixes of 'k', 'm', or 'g' are supported.
|
||||
|
||||
pack.useBitmaps::
|
||||
When true, git will use pack bitmaps (if available) when packing
|
||||
@ -148,6 +159,10 @@ pack.writeBitmapHashCache::
|
||||
between an older, bitmapped pack and objects that have been
|
||||
pushed since the last gc). The downside is that it consumes 4
|
||||
bytes per object of disk space. Defaults to true.
|
||||
+
|
||||
When writing a multi-pack reachability bitmap, no new namehashes are
|
||||
computed; instead, any namehashes stored in an existing bitmap are
|
||||
permuted into their appropriate location when writing a new bitmap.
|
||||
|
||||
pack.writeReverseIndex::
|
||||
When true, git will write a corresponding .rev file (see:
|
||||
|
@ -1,10 +1,10 @@
|
||||
protocol.allow::
|
||||
If set, provide a user defined default policy for all protocols which
|
||||
don't explicitly have a policy (`protocol.<name>.allow`). By default,
|
||||
if unset, known-safe protocols (http, https, git, ssh, file) have a
|
||||
if unset, known-safe protocols (http, https, git, ssh) have a
|
||||
default policy of `always`, known-dangerous protocols (ext) have a
|
||||
default policy of `never`, and all other protocols have a default
|
||||
policy of `user`. Supported policies:
|
||||
default policy of `never`, and all other protocols (including file)
|
||||
have a default policy of `user`. Supported policies:
|
||||
+
|
||||
--
|
||||
|
||||
|
@ -18,10 +18,6 @@ When `merges` (or just 'm'), pass the `--rebase-merges` option to 'git rebase'
|
||||
so that the local merge commits are included in the rebase (see
|
||||
linkgit:git-rebase[1] for details).
|
||||
+
|
||||
When `preserve` (or just 'p', deprecated in favor of `merges`), also pass
|
||||
`--preserve-merges` along to 'git rebase' so that locally committed merge
|
||||
commits will not be flattened by running 'git pull'.
|
||||
+
|
||||
When the value is `interactive` (or just 'i'), the rebase is run in interactive
|
||||
mode.
|
||||
+
|
||||
|
@ -24,15 +24,14 @@ push.default::
|
||||
|
||||
* `tracking` - This is a deprecated synonym for `upstream`.
|
||||
|
||||
* `simple` - in centralized workflow, work like `upstream` with an
|
||||
added safety to refuse to push if the upstream branch's name is
|
||||
different from the local one.
|
||||
* `simple` - pushes the current branch with the same name on the remote.
|
||||
+
|
||||
When pushing to a remote that is different from the remote you normally
|
||||
pull from, work as `current`. This is the safest option and is suited
|
||||
for beginners.
|
||||
If you are working on a centralized workflow (pushing to the same repository you
|
||||
pull from, which is typically `origin`), then you need to configure an upstream
|
||||
branch with the same name.
|
||||
+
|
||||
This mode has become the default in Git 2.0.
|
||||
This mode is the default since Git 2.0, and is the safest option suited for
|
||||
beginners.
|
||||
|
||||
* `matching` - push all branches having the same name on both ends.
|
||||
This makes the repository you are pushing to remember the set of
|
||||
|
42
Documentation/config/safe.txt
Normal file
42
Documentation/config/safe.txt
Normal file
@ -0,0 +1,42 @@
|
||||
safe.directory::
|
||||
These config entries specify Git-tracked directories that are
|
||||
considered safe even if they are owned by someone other than the
|
||||
current user. By default, Git will refuse to even parse a Git
|
||||
config of a repository owned by someone else, let alone run its
|
||||
hooks, and this config setting allows users to specify exceptions,
|
||||
e.g. for intentionally shared repositories (see the `--shared`
|
||||
option in linkgit:git-init[1]).
|
||||
+
|
||||
This is a multi-valued setting, i.e. you can add more than one directory
|
||||
via `git config --add`. To reset the list of safe directories (e.g. to
|
||||
override any such directories specified in the system config), add a
|
||||
`safe.directory` entry with an empty value.
|
||||
+
|
||||
This config setting is only respected when specified in a system or global
|
||||
config, not when it is specified in a repository config or via the command
|
||||
line option `-c safe.directory=<path>`.
|
||||
+
|
||||
The value of this setting is interpolated, i.e. `~/<path>` expands to a
|
||||
path relative to the home directory and `%(prefix)/<path>` expands to a
|
||||
path relative to Git's (runtime) prefix.
|
||||
+
|
||||
To completely opt-out of this security check, set `safe.directory` to the
|
||||
string `*`. This will allow all repositories to be treated as if their
|
||||
directory was listed in the `safe.directory` list. If `safe.directory=*`
|
||||
is set in system config and you want to re-enable this protection, then
|
||||
initialize your list with an empty value before listing the repositories
|
||||
that you deem safe.
|
||||
+
|
||||
As explained, Git only allows you to access repositories owned by
|
||||
yourself, i.e. the user who is running Git, by default. When Git
|
||||
is running as 'root' in a non Windows platform that provides sudo,
|
||||
however, git checks the SUDO_UID environment variable that sudo creates
|
||||
and will allow access to the uid recorded as its value in addition to
|
||||
the id from 'root'.
|
||||
This is to make it easy to perform a common sequence during installation
|
||||
"make && sudo make install". A git process running under 'sudo' runs as
|
||||
'root' but the 'sudo' command exports the environment variable to record
|
||||
which id the original user has.
|
||||
If that is not what you would prefer and want git to only trust
|
||||
repositories that are owned by root instead, then you can remove
|
||||
the `SUDO_UID` variable from root's environment before invoking git.
|
@ -8,9 +8,6 @@ sendemail.smtpEncryption::
|
||||
See linkgit:git-send-email[1] for description. Note that this
|
||||
setting is not subject to the 'identity' mechanism.
|
||||
|
||||
sendemail.smtpssl (deprecated)::
|
||||
Deprecated alias for 'sendemail.smtpEncryption = ssl'.
|
||||
|
||||
sendemail.smtpsslcertpath::
|
||||
Path to ca-certificates (either a directory or a single file).
|
||||
Set it to an empty string to disable certificate verification.
|
||||
|
@ -58,8 +58,9 @@ submodule.active::
|
||||
commands. See linkgit:gitsubmodules[7] for details.
|
||||
|
||||
submodule.recurse::
|
||||
Specifies if commands recurse into submodules by default. This
|
||||
applies to all commands that have a `--recurse-submodules` option
|
||||
A boolean indicating if commands should enable the `--recurse-submodules`
|
||||
option by default.
|
||||
Applies to all commands that support this option
|
||||
(`checkout`, `fetch`, `grep`, `pull`, `push`, `read-tree`, `reset`,
|
||||
`restore` and `switch`) except `clone` and `ls-files`.
|
||||
Defaults to false.
|
||||
|
@ -52,13 +52,17 @@ If you have multiple hideRefs values, later entries override earlier ones
|
||||
(and entries in more-specific config files override less-specific ones).
|
||||
+
|
||||
If a namespace is in use, the namespace prefix is stripped from each
|
||||
reference before it is matched against `transfer.hiderefs` patterns.
|
||||
reference before it is matched against `transfer.hiderefs` patterns. In
|
||||
order to match refs before stripping, add a `^` in front of the ref name. If
|
||||
you combine `!` and `^`, `!` must be specified first.
|
||||
+
|
||||
For example, if `refs/heads/master` is specified in `transfer.hideRefs` and
|
||||
the current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master`
|
||||
is omitted from the advertisements but `refs/heads/master` and
|
||||
`refs/namespaces/bar/refs/heads/master` are still advertised as so-called
|
||||
"have" lines. In order to match refs before stripping, add a `^` in front of
|
||||
the ref name. If you combine `!` and `^`, `!` must be specified first.
|
||||
is omitted from the advertisements. If `uploadpack.allowRefInWant` is set,
|
||||
`upload-pack` will treat `want-ref refs/heads/master` in a protocol v2
|
||||
`fetch` command as if `refs/namespaces/foo/refs/heads/master` did not exist.
|
||||
`receive-pack`, on the other hand, will still advertise the object id the
|
||||
ref is pointing to without mentioning its name (a so-called ".have" line).
|
||||
+
|
||||
Even if you hide refs, a client may still be able to steal the target
|
||||
objects via the techniques described in the "SECURITY" section of the
|
||||
|
@ -36,3 +36,13 @@ user.signingKey::
|
||||
commit, you can override the default selection with this variable.
|
||||
This option is passed unchanged to gpg's --local-user parameter,
|
||||
so you may specify a key using any method that gpg supports.
|
||||
If gpg.format is set to `ssh` this can contain the path to either
|
||||
your private ssh key or the public key when ssh-agent is used.
|
||||
Alternatively it can contain a public key prefixed with `key::`
|
||||
directly (e.g.: "key::ssh-rsa XXXXXX identifier"). The private key
|
||||
needs to be available via ssh-agent. If not set git will call
|
||||
gpg.ssh.defaultKeyCommand (e.g.: "ssh-add -L") and try to use the
|
||||
first key available. For backward compatibility, a raw key which
|
||||
begins with "ssh-", such as "ssh-rsa XXXXXX identifier", is treated
|
||||
as "key::ssh-rsa XXXXXX identifier", but this form is deprecated;
|
||||
use the `key::` form instead.
|
||||
|
@ -5,9 +5,9 @@ The `GIT_AUTHOR_DATE` and `GIT_COMMITTER_DATE` environment variables
|
||||
support the following date formats:
|
||||
|
||||
Git internal format::
|
||||
It is `<unix timestamp> <time zone offset>`, where `<unix
|
||||
timestamp>` is the number of seconds since the UNIX epoch.
|
||||
`<time zone offset>` is a positive or negative offset from UTC.
|
||||
It is `<unix-timestamp> <time-zone-offset>`, where
|
||||
`<unix-timestamp>` is the number of seconds since the UNIX epoch.
|
||||
`<time-zone-offset>` is a positive or negative offset from UTC.
|
||||
For example CET (which is 1 hour ahead of UTC) is `+0100`.
|
||||
|
||||
RFC 2822::
|
||||
|
@ -59,7 +59,7 @@ Possible status letters are:
|
||||
- D: deletion of a file
|
||||
- M: modification of the contents or mode of a file
|
||||
- R: renaming of a file
|
||||
- T: change in the type of the file
|
||||
- T: change in the type of the file (regular file, symbolic link or submodule)
|
||||
- U: file is unmerged (you must complete the merge before it can
|
||||
be committed)
|
||||
- X: "unknown" change type (most probably a bug, please report it)
|
||||
|
@ -588,11 +588,17 @@ When used together with `-B`, omit also the preimage in the deletion part
|
||||
of a delete/create pair.
|
||||
|
||||
-l<num>::
|
||||
The `-M` and `-C` options require O(n^2) processing time where n
|
||||
is the number of potential rename/copy targets. This
|
||||
option prevents rename/copy detection from running if
|
||||
the number of rename/copy targets exceeds the specified
|
||||
number.
|
||||
The `-M` and `-C` options involve some preliminary steps that
|
||||
can detect subsets of renames/copies cheaply, followed by an
|
||||
exhaustive fallback portion that compares all remaining
|
||||
unpaired destinations to all relevant sources. (For renames,
|
||||
only remaining unpaired sources are relevant; for copies, all
|
||||
original sources are relevant.) For N sources and
|
||||
destinations, this exhaustive check is O(N^2). This option
|
||||
prevents the exhaustive portion of rename/copy detection from
|
||||
running if the number of source/destination files involved
|
||||
exceeds the specified number. Defaults to diff.renameLimit.
|
||||
Note that a value of 0 is treated as unlimited.
|
||||
|
||||
ifndef::git-format-patch[]
|
||||
--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]::
|
||||
|
@ -62,8 +62,17 @@ The argument to this option may be a glob on ref names, a ref, or the (possibly
|
||||
abbreviated) SHA-1 of a commit. Specifying a glob is equivalent to specifying
|
||||
this option multiple times, one for each matching ref name.
|
||||
+
|
||||
See also the `fetch.negotiationAlgorithm` configuration variable
|
||||
documented in linkgit:git-config[1].
|
||||
See also the `fetch.negotiationAlgorithm` and `push.negotiate`
|
||||
configuration variables documented in linkgit:git-config[1], and the
|
||||
`--negotiate-only` option below.
|
||||
|
||||
--negotiate-only::
|
||||
Do not fetch anything from the server, and instead print the
|
||||
ancestors of the provided `--negotiation-tip=*` arguments,
|
||||
which we have in common with the server.
|
||||
+
|
||||
Internally this is used to implement the `push.negotiate` option, see
|
||||
linkgit:git-config[1].
|
||||
|
||||
--dry-run::
|
||||
Show what would be done, without making any changes.
|
||||
|
@ -9,7 +9,7 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
|
||||
[--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
|
||||
[--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]] [--sparse]
|
||||
[--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
|
||||
[--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]]
|
||||
[--] [<pathspec>...]
|
||||
@ -79,6 +79,13 @@ in linkgit:gitglossary[7].
|
||||
--force::
|
||||
Allow adding otherwise ignored files.
|
||||
|
||||
--sparse::
|
||||
Allow updating index entries outside of the sparse-checkout cone.
|
||||
Normally, `git add` refuses to update index entries whose paths do
|
||||
not fit within the sparse-checkout cone, since those files might
|
||||
be removed from the working tree without warning. See
|
||||
linkgit:git-sparse-checkout[1] for more details.
|
||||
|
||||
-i::
|
||||
--interactive::
|
||||
Add modified contents in the working tree interactively to
|
||||
|
@ -16,8 +16,9 @@ SYNOPSIS
|
||||
[--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
|
||||
[--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
|
||||
[--quoted-cr=<action>]
|
||||
[--empty=(stop|drop|keep)]
|
||||
[(<mbox> | <Maildir>)...]
|
||||
'git am' (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)])
|
||||
'git am' (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)] | --allow-empty)
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -63,6 +64,14 @@ OPTIONS
|
||||
--quoted-cr=<action>::
|
||||
This flag will be passed down to 'git mailinfo' (see linkgit:git-mailinfo[1]).
|
||||
|
||||
--empty=(stop|drop|keep)::
|
||||
By default, or when the option is set to 'stop', the command
|
||||
errors out on an input e-mail message lacking a patch
|
||||
and stops into the middle of the current am session. When this
|
||||
option is set to 'drop', skip such an e-mail message instead.
|
||||
When this option is set to 'keep', create an empty commit,
|
||||
recording the contents of the e-mail message as its log.
|
||||
|
||||
-m::
|
||||
--message-id::
|
||||
Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]),
|
||||
@ -178,6 +187,8 @@ default. You can use `--no-utf8` to override this.
|
||||
|
||||
--abort::
|
||||
Restore the original branch and abort the patching operation.
|
||||
Revert contents of files involved in the am operation to their
|
||||
pre-am state.
|
||||
|
||||
--quit::
|
||||
Abort the patching operation but keep HEAD and the index
|
||||
@ -189,6 +200,11 @@ default. You can use `--no-utf8` to override this.
|
||||
the e-mail message; if `diff`, show the diff portion only.
|
||||
Defaults to `raw`.
|
||||
|
||||
--allow-empty::
|
||||
After a patch failure on an input e-mail message lacking a patch,
|
||||
create an empty commit with the contents of the e-mail message
|
||||
as its log message.
|
||||
|
||||
DISCUSSION
|
||||
----------
|
||||
|
||||
|
@ -16,7 +16,7 @@ SYNOPSIS
|
||||
[--ignore-space-change | --ignore-whitespace]
|
||||
[--whitespace=(nowarn|warn|fix|error|error-all)]
|
||||
[--exclude=<path>] [--include=<path>] [--directory=<root>]
|
||||
[--verbose] [--unsafe-paths] [<patch>...]
|
||||
[--verbose | --quiet] [--unsafe-paths] [--allow-empty] [<patch>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -228,6 +228,11 @@ behavior:
|
||||
current patch being applied will be printed. This option will cause
|
||||
additional information to be reported.
|
||||
|
||||
-q::
|
||||
--quiet::
|
||||
Suppress stderr output. Messages about patch status and progress
|
||||
will not be printed.
|
||||
|
||||
--recount::
|
||||
Do not trust the line counts in the hunk headers, but infer them
|
||||
by inspecting the patch (e.g. after editing the patch without
|
||||
@ -251,6 +256,10 @@ When `git apply` is used as a "better GNU patch", the user can pass
|
||||
the `--unsafe-paths` option to override this safety check. This option
|
||||
has no effect when `--index` or `--cached` is in use.
|
||||
|
||||
--allow-empty::
|
||||
Don't return error for patches containing no diff. This includes
|
||||
empty patches and patches with commit text only.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
|
@ -9,14 +9,14 @@ git-archimport - Import a GNU Arch repository into Git
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
|
||||
<archive/branch>[:<git-branch>] ...
|
||||
'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D <depth>] [-t <tempdir>]
|
||||
<archive>/<branch>[:<git-branch>]...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Imports a project from one or more GNU Arch repositories.
|
||||
It will follow branches
|
||||
and repositories within the namespaces defined by the <archive/branch>
|
||||
and repositories within the namespaces defined by the <archive>/<branch>
|
||||
parameters supplied. If it cannot find the remote branch a merge comes from
|
||||
it will just import it as a regular commit. If it can find it, it will mark it
|
||||
as a merge whenever possible (see discussion below).
|
||||
@ -27,7 +27,7 @@ import new branches within the provided roots.
|
||||
|
||||
It expects to be dealing with one project only. If it sees
|
||||
branches that have different roots, it will refuse to run. In that case,
|
||||
edit your <archive/branch> parameters to define clearly the scope of the
|
||||
edit your <archive>/<branch> parameters to define clearly the scope of the
|
||||
import.
|
||||
|
||||
'git archimport' uses `tla` extensively in the background to access the
|
||||
@ -42,7 +42,7 @@ incremental imports.
|
||||
|
||||
While 'git archimport' will try to create sensible branch names for the
|
||||
archives that it imports, it is also possible to specify Git branch names
|
||||
manually. To do so, write a Git branch name after each <archive/branch>
|
||||
manually. To do so, write a Git branch name after each <archive>/<branch>
|
||||
parameter, separated by a colon. This way, you can shorten the Arch
|
||||
branch names and convert Arch jargon to Git jargon, for example mapping a
|
||||
"PROJECT{litdd}devo{litdd}VERSION" branch to "master".
|
||||
@ -104,8 +104,8 @@ OPTIONS
|
||||
Override the default tempdir.
|
||||
|
||||
|
||||
<archive/branch>::
|
||||
Archive/branch identifier in a format that `tla log` understands.
|
||||
<archive>/<branch>::
|
||||
<archive>/<branch> identifier in a format that `tla log` understands.
|
||||
|
||||
|
||||
GIT
|
||||
|
@ -93,12 +93,19 @@ BACKEND EXTRA OPTIONS
|
||||
|
||||
zip
|
||||
~~~
|
||||
-0::
|
||||
Store the files instead of deflating them.
|
||||
-9::
|
||||
Highest and slowest compression level. You can specify any
|
||||
number from 1 to 9 to adjust compression speed and ratio.
|
||||
-<digit>::
|
||||
Specify compression level. Larger values allow the command
|
||||
to spend more time to compress to smaller size. Supported
|
||||
values are from `-0` (store-only) to `-9` (best ratio).
|
||||
Default is `-6` if not given.
|
||||
|
||||
tar
|
||||
~~~
|
||||
-<number>::
|
||||
Specify compression level. The value will be passed to the
|
||||
compression command configured in `tar.<format>.command`. See
|
||||
manual page of the configured command for the list of supported
|
||||
levels and the default level if this option isn't specified.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
@ -11,8 +11,8 @@ SYNOPSIS
|
||||
'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
|
||||
[-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]
|
||||
[--ignore-rev <rev>] [--ignore-revs-file <file>]
|
||||
[--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>]
|
||||
[--] <file>
|
||||
[--color-lines] [--color-by-age] [--progress] [--abbrev=<n>]
|
||||
[<rev> | --contents <file> | --reverse <rev>..<rev>] [--] <file>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -93,6 +93,19 @@ include::blame-options.txt[]
|
||||
is used for a caret to mark the boundary commit.
|
||||
|
||||
|
||||
THE DEFAULT FORMAT
|
||||
------------------
|
||||
|
||||
When neither `--porcelain` nor `--incremental` option is specified,
|
||||
`git blame` will output annotation for each line with:
|
||||
|
||||
- abbreviated object name for the commit the line came from;
|
||||
- author ident (by default author name and date, unless `-s` or `-e`
|
||||
is specified); and
|
||||
- line number
|
||||
|
||||
before the line contents.
|
||||
|
||||
THE PORCELAIN FORMAT
|
||||
--------------------
|
||||
|
||||
|
@ -16,7 +16,7 @@ SYNOPSIS
|
||||
[--points-at <object>] [--format=<format>]
|
||||
[(-r | --remotes) | (-a | --all)]
|
||||
[--list] [<pattern>...]
|
||||
'git branch' [--track | --no-track] [-f] <branchname> [<start-point>]
|
||||
'git branch' [--track[=(direct|inherit)] | --no-track] [-f] <branchname> [<start-point>]
|
||||
'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
|
||||
'git branch' --unset-upstream [<branchname>]
|
||||
'git branch' (-m | -M) [<oldbranch>] <newbranch>
|
||||
@ -118,20 +118,21 @@ OPTIONS
|
||||
Reset <branchname> to <startpoint>, even if <branchname> exists
|
||||
already. Without `-f`, 'git branch' refuses to change an existing branch.
|
||||
In combination with `-d` (or `--delete`), allow deleting the
|
||||
branch irrespective of its merged status. In combination with
|
||||
branch irrespective of its merged status, or whether it even
|
||||
points to a valid commit. In combination with
|
||||
`-m` (or `--move`), allow renaming the branch even if the new
|
||||
branch name already exists, the same applies for `-c` (or `--copy`).
|
||||
|
||||
-m::
|
||||
--move::
|
||||
Move/rename a branch and the corresponding reflog.
|
||||
Move/rename a branch, together with its config and reflog.
|
||||
|
||||
-M::
|
||||
Shortcut for `--move --force`.
|
||||
|
||||
-c::
|
||||
--copy::
|
||||
Copy a branch and the corresponding reflog.
|
||||
Copy a branch, together with its config and reflog.
|
||||
|
||||
-C::
|
||||
Shortcut for `--copy --force`.
|
||||
@ -205,24 +206,34 @@ This option is only applicable in non-verbose mode.
|
||||
Display the full sha1s in the output listing rather than abbreviating them.
|
||||
|
||||
-t::
|
||||
--track::
|
||||
--track[=(direct|inherit)]::
|
||||
When creating a new branch, set up `branch.<name>.remote` and
|
||||
`branch.<name>.merge` configuration entries to mark the
|
||||
start-point branch as "upstream" from the new branch. This
|
||||
`branch.<name>.merge` configuration entries to set "upstream" tracking
|
||||
configuration for the new branch. This
|
||||
configuration will tell git to show the relationship between the
|
||||
two branches in `git status` and `git branch -v`. Furthermore,
|
||||
it directs `git pull` without arguments to pull from the
|
||||
upstream when the new branch is checked out.
|
||||
+
|
||||
This behavior is the default when the start point is a remote-tracking branch.
|
||||
The exact upstream branch is chosen depending on the optional argument:
|
||||
`-t`, `--track`, or `--track=direct` means to use the start-point branch
|
||||
itself as the upstream; `--track=inherit` means to copy the upstream
|
||||
configuration of the start-point branch.
|
||||
+
|
||||
`--track=direct` is the default when the start point is a remote-tracking branch.
|
||||
Set the branch.autoSetupMerge configuration variable to `false` if you
|
||||
want `git switch`, `git checkout` and `git branch` to always behave as if `--no-track`
|
||||
were given. Set it to `always` if you want this behavior when the
|
||||
start-point is either a local or remote-tracking branch.
|
||||
start-point is either a local or remote-tracking branch. Set it to
|
||||
`inherit` if you want to copy the tracking configuration from the
|
||||
branch point.
|
||||
+
|
||||
See linkgit:git-pull[1] and linkgit:git-config[1] for additional discussion on
|
||||
how the `branch.<name>.remote` and `branch.<name>.merge` options are used.
|
||||
|
||||
--no-track::
|
||||
Do not set up "upstream" configuration, even if the
|
||||
branch.autoSetupMerge configuration variable is true.
|
||||
branch.autoSetupMerge configuration variable is set.
|
||||
|
||||
--set-upstream::
|
||||
As this option had confusing syntax, it is no longer supported.
|
||||
|
@ -40,8 +40,8 @@ OPTIONS
|
||||
-------
|
||||
-o <path>::
|
||||
--output-directory <path>::
|
||||
Place the resulting bug report file in `<path>` instead of the root of
|
||||
the Git repository.
|
||||
Place the resulting bug report file in `<path>` instead of the current
|
||||
directory.
|
||||
|
||||
-s <format>::
|
||||
--suffix <format>::
|
||||
|
@ -13,26 +13,53 @@ SYNOPSIS
|
||||
[--version=<version>] <file> <git-rev-list-args>
|
||||
'git bundle' verify [-q | --quiet] <file>
|
||||
'git bundle' list-heads <file> [<refname>...]
|
||||
'git bundle' unbundle <file> [<refname>...]
|
||||
'git bundle' unbundle [--progress] <file> [<refname>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Some workflows require that one or more branches of development on one
|
||||
machine be replicated on another machine, but the two machines cannot
|
||||
be directly connected, and therefore the interactive Git protocols (git,
|
||||
ssh, http) cannot be used.
|
||||
Create, unpack, and manipulate "bundle" files. Bundles are used for
|
||||
the "offline" transfer of Git objects without an active "server"
|
||||
sitting on the other side of the network connection.
|
||||
|
||||
The 'git bundle' command packages objects and references in an archive
|
||||
at the originating machine, which can then be imported into another
|
||||
repository using 'git fetch', 'git pull', or 'git clone',
|
||||
after moving the archive by some means (e.g., by sneakernet).
|
||||
They can be used to create both incremental and full backups of a
|
||||
repository, and to relay the state of the references in one repository
|
||||
to another.
|
||||
|
||||
As no
|
||||
direct connection between the repositories exists, the user must specify a
|
||||
basis for the bundle that is held by the destination repository: the
|
||||
bundle assumes that all objects in the basis are already in the
|
||||
destination repository.
|
||||
Git commands that fetch or otherwise "read" via protocols such as
|
||||
`ssh://` and `https://` can also operate on bundle files. It is
|
||||
possible linkgit:git-clone[1] a new repository from a bundle, to use
|
||||
linkgit:git-fetch[1] to fetch from one, and to list the references
|
||||
contained within it with linkgit:git-ls-remote[1]. There's no
|
||||
corresponding "write" support, i.e.a 'git push' into a bundle is not
|
||||
supported.
|
||||
|
||||
See the "EXAMPLES" section below for examples of how to use bundles.
|
||||
|
||||
BUNDLE FORMAT
|
||||
-------------
|
||||
|
||||
Bundles are `.pack` files (see linkgit:git-pack-objects[1]) with a
|
||||
header indicating what references are contained within the bundle.
|
||||
|
||||
Like the the packed archive format itself bundles can either be
|
||||
self-contained, or be created using exclusions.
|
||||
See the "OBJECT PREREQUISITES" section below.
|
||||
|
||||
Bundles created using revision exclusions are "thin packs" created
|
||||
using the `--thin` option to linkgit:git-pack-objects[1], and
|
||||
unbundled using the `--fix-thin` option to linkgit:git-index-pack[1].
|
||||
|
||||
There is no option to create a "thick pack" when using revision
|
||||
exclusions, and users should not be concerned about the difference. By
|
||||
using "thin packs", bundles created using exclusions are smaller in
|
||||
size. That they're "thin" under the hood is merely noted here as a
|
||||
curiosity, and as a reference to other documentation.
|
||||
|
||||
See link:technical/bundle-format.html[the `bundle-format`
|
||||
documentation] for more details and the discussion of "thin pack" in
|
||||
link:technical/pack-format.html[the pack format documentation] for
|
||||
further details.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -117,28 +144,88 @@ unbundle <file>::
|
||||
SPECIFYING REFERENCES
|
||||
---------------------
|
||||
|
||||
'git bundle' will only package references that are shown by
|
||||
'git show-ref': this includes heads, tags, and remote heads. References
|
||||
such as `master~1` cannot be packaged, but are perfectly suitable for
|
||||
defining the basis. More than one reference may be packaged, and more
|
||||
than one basis can be specified. The objects packaged are those not
|
||||
contained in the union of the given bases. Each basis can be
|
||||
specified explicitly (e.g. `^master~10`), or implicitly (e.g.
|
||||
`master~10..master`, `--since=10.days.ago master`).
|
||||
Revisions must be accompanied by reference names to be packaged in a
|
||||
bundle.
|
||||
|
||||
More than one reference may be packaged, and more than one set of prerequisite objects can
|
||||
be specified. The objects packaged are those not contained in the
|
||||
union of the prerequisites.
|
||||
|
||||
The 'git bundle create' command resolves the reference names for you
|
||||
using the same rules as `git rev-parse --abbrev-ref=loose`. Each
|
||||
prerequisite can be specified explicitly (e.g. `^master~10`), or implicitly
|
||||
(e.g. `master~10..master`, `--since=10.days.ago master`).
|
||||
|
||||
All of these simple cases are OK (assuming we have a "master" and
|
||||
"next" branch):
|
||||
|
||||
----------------
|
||||
$ git bundle create master.bundle master
|
||||
$ echo master | git bundle create master.bundle --stdin
|
||||
$ git bundle create master-and-next.bundle master next
|
||||
$ (echo master; echo next) | git bundle create master-and-next.bundle --stdin
|
||||
----------------
|
||||
|
||||
And so are these (and the same but omitted `--stdin` examples):
|
||||
|
||||
----------------
|
||||
$ git bundle create recent-master.bundle master~10..master
|
||||
$ git bundle create recent-updates.bundle master~10..master next~5..next
|
||||
----------------
|
||||
|
||||
A revision name or a range whose right-hand-side cannot be resolved to
|
||||
a reference is not accepted:
|
||||
|
||||
----------------
|
||||
$ git bundle create HEAD.bundle $(git rev-parse HEAD)
|
||||
fatal: Refusing to create empty bundle.
|
||||
$ git bundle create master-yesterday.bundle master~10..master~5
|
||||
fatal: Refusing to create empty bundle.
|
||||
----------------
|
||||
|
||||
OBJECT PREREQUISITES
|
||||
--------------------
|
||||
|
||||
When creating bundles it is possible to create a self-contained bundle
|
||||
that can be unbundled in a repository with no common history, as well
|
||||
as providing negative revisions to exclude objects needed in the
|
||||
earlier parts of the history.
|
||||
|
||||
Feeding a revision such as `new` to `git bundle create` will create a
|
||||
bundle file that contains all the objects reachable from the revision
|
||||
`new`. That bundle can be unbundled in any repository to obtain a full
|
||||
history that leads to the revision `new`:
|
||||
|
||||
----------------
|
||||
$ git bundle create full.bundle new
|
||||
----------------
|
||||
|
||||
A revision range such as `old..new` will produce a bundle file that
|
||||
will require the revision `old` (and any objects reachable from it)
|
||||
to exist for the bundle to be "unbundle"-able:
|
||||
|
||||
----------------
|
||||
$ git bundle create full.bundle old..new
|
||||
----------------
|
||||
|
||||
A self-contained bundle without any prerequisites can be extracted
|
||||
into anywhere, even into an empty repository, or be cloned from
|
||||
(i.e., `new`, but not `old..new`).
|
||||
|
||||
It is very important that the basis used be held by the destination.
|
||||
It is okay to err on the side of caution, causing the bundle file
|
||||
to contain objects already in the destination, as these are ignored
|
||||
when unpacking at the destination.
|
||||
|
||||
`git clone` can use any bundle created without negative refspecs
|
||||
(e.g., `new`, but not `old..new`).
|
||||
If you want to match `git clone --mirror`, which would include your
|
||||
refs such as `refs/remotes/*`, use `--all`.
|
||||
If you want to provide the same set of refs that a clone directly
|
||||
from the source repository would get, use `--branches --tags` for
|
||||
the `<git-rev-list-args>`.
|
||||
|
||||
The 'git bundle verify' command can be used to check whether your
|
||||
recipient repository has the required prerequisite commits for a
|
||||
bundle.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
@ -149,7 +236,7 @@ but we can move data from A to B via some mechanism (CD, email, etc.).
|
||||
We want to update R2 with development made on the branch master in R1.
|
||||
|
||||
To bootstrap the process, you can first create a bundle that does not have
|
||||
any basis. You can use a tag to remember up to what commit you last
|
||||
any prerequisites. You can use a tag to remember up to what commit you last
|
||||
processed, in order to make it easy to later update the other repository
|
||||
with an incremental bundle:
|
||||
|
||||
@ -200,7 +287,7 @@ machineB$ git pull
|
||||
|
||||
If you know up to what commit the intended recipient repository should
|
||||
have the necessary objects, you can use that knowledge to specify the
|
||||
basis, giving a cut-off point to limit the revisions and objects that go
|
||||
prerequisites, giving a cut-off point to limit the revisions and objects that go
|
||||
in the resulting bundle. The previous example used the lastR2bundle tag
|
||||
for this purpose, but you can use any other options that you would give to
|
||||
the linkgit:git-log[1] command. Here are more examples:
|
||||
@ -211,7 +298,7 @@ You can use a tag that is present in both:
|
||||
$ git bundle create mybundle v1.0.0..master
|
||||
----------------
|
||||
|
||||
You can use a basis based on time:
|
||||
You can use a prerequisite based on time:
|
||||
|
||||
----------------
|
||||
$ git bundle create mybundle --since=10.days master
|
||||
@ -224,7 +311,7 @@ $ git bundle create mybundle -10 master
|
||||
----------------
|
||||
|
||||
You can run `git-bundle verify` to see if you can extract from a bundle
|
||||
that was created with a basis:
|
||||
that was created with a prerequisite:
|
||||
|
||||
----------------
|
||||
$ git bundle verify mybundle
|
||||
|
@ -94,8 +94,10 @@ OPTIONS
|
||||
Instead of reading a list of objects on stdin, perform the
|
||||
requested batch operation on all objects in the repository and
|
||||
any alternate object stores (not just reachable objects).
|
||||
Requires `--batch` or `--batch-check` be specified. Note that
|
||||
the objects are visited in order sorted by their hashes.
|
||||
Requires `--batch` or `--batch-check` be specified. By default,
|
||||
the objects are visited in order sorted by their hashes; see
|
||||
also `--unordered` below. Objects are presented as-is, without
|
||||
respecting the "replace" mechanism of linkgit:git-replace[1].
|
||||
|
||||
--buffer::
|
||||
Normally batch output is flushed after each object is output, so
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user