Compare commits
2956 Commits
v2.34.8
...
v2.38.0-rc
Author | SHA1 | Date | |
---|---|---|---|
d3fa443f97 | |||
ca20a44bc5 | |||
b7f39a3fe6 | |||
5ff02db75b | |||
d878d83ff0 | |||
36f8e7ed7d | |||
08d61c7061 | |||
b563638d2c | |||
7a54d74045 | |||
dd407f1c7c | |||
a6b42ec0c6 | |||
f6f0ee247f | |||
e188ec3a73 | |||
a0feb8611d | |||
2c75b3255b | |||
4f06dfde7a | |||
37317ab40b | |||
c61614e30f | |||
aa31cb8974 | |||
72869e750b | |||
21dd13e025 | |||
de1fee2f1e | |||
e4ffba458f | |||
76ffa818c7 | |||
655e494047 | |||
8b2f027e20 | |||
e0574c4fd1 | |||
f322e9f51b | |||
0479138645 | |||
c9dba103dd | |||
dd3f6c4cae | |||
fe3939bc2a | |||
fd1ec82547 | |||
00b0199c51 | |||
0e2a4764ed | |||
428dce9f4d | |||
526c4906f8 | |||
fb094cb583 | |||
f20b9c36d0 | |||
49ca2fba39 | |||
080bc4990f | |||
66eede4a37 | |||
7e2619d8ff | |||
dd49699d12 | |||
3f0e86a158 | |||
3fbfbbb7e3 | |||
945ed00957 | |||
2b43dd0eb5 | |||
07a6f94a6d | |||
fffe7d81a4 | |||
9a8c3c4a5f | |||
0bc2557951 | |||
c868d8e91f | |||
dd834d75ca | |||
1c7c25aef1 | |||
45bec2ead2 | |||
6983f4e3b2 | |||
9a22b4d907 | |||
9274dea3d9 | |||
16f6b0d1aa | |||
00c80534f6 | |||
2a9dfdf260 | |||
5bd277e2e2 | |||
416fed246f | |||
bac1d52cfe | |||
a2811dd7c4 | |||
18d89fe25c | |||
b27ccae34b | |||
d6045294a9 | |||
79f2338b37 | |||
27fb520ef2 | |||
fcbc8743ef | |||
56785a3fad | |||
2d88021919 | |||
5784d201da | |||
b5d2e9924f | |||
3fe0121479 | |||
cf98b69053 | |||
037f8ea6d9 | |||
67360b75c6 | |||
71a146dc70 | |||
9b08091cb7 | |||
fe4c750fb1 | |||
4c4d3e7c0a | |||
d40c42e06b | |||
25b6a95d03 | |||
623bd7d154 | |||
4e83605d38 | |||
4c81ee9669 | |||
ae3ef94d9b | |||
17af0a8444 | |||
980416e469 | |||
61adac6c4b | |||
87a683482a | |||
0a4d31537d | |||
4b9d12460d | |||
8fb201d4da | |||
d76260e60a | |||
e77b3da6bb | |||
5647d743e3 | |||
d4a492f4ad | |||
86e16ed3a9 | |||
f5373deabd | |||
1e8697b5c4 | |||
ac350155de | |||
a03c01de2f | |||
d905d4432f | |||
484f9150e6 | |||
2cb9294b99 | |||
6870cdc32a | |||
b9dd63ffe2 | |||
08c2e778d6 | |||
96a907376b | |||
0b917a9f5c | |||
addda284cb | |||
b0bff0be54 | |||
9d02f9499f | |||
a253be682f | |||
1da635b84d | |||
6fac5b2f35 | |||
9bdf5277d5 | |||
21496b4c60 | |||
4b82d75b51 | |||
0b83b2b03a | |||
e2d5c886bf | |||
96a28a9bc6 | |||
85321a346b | |||
9fb2a970e9 | |||
255a1ae5da | |||
31955475d1 | |||
76d63ddc46 | |||
59378e3355 | |||
89bc7b5c01 | |||
be1a02a17e | |||
624a936234 | |||
014a9ea207 | |||
3a4779086d | |||
d528044c83 | |||
68ef0425d9 | |||
9ff7eb8c88 | |||
5cf88fd8b0 | |||
0a101676e5 | |||
fd3f7f619a | |||
b6633a0053 | |||
3221597433 | |||
9dc523aa0e | |||
0682bc43f5 | |||
320fa579ec | |||
77a42b3b84 | |||
78861eb58a | |||
64ec8efb83 | |||
7524780255 | |||
cfd0163d64 | |||
d42b38dfb5 | |||
ac8035a2af | |||
b46dd1726c | |||
6c8e4ee870 | |||
3658170b92 | |||
0d2cf16680 | |||
f0deb3f2b5 | |||
edc4f6d280 | |||
56ba6245a4 | |||
10ccb50b16 | |||
25402204fe | |||
b014a4416a | |||
a0ab573bb1 | |||
a572a5d4c1 | |||
bc820cf9e6 | |||
0b08ba7eb6 | |||
64cb4c34d1 | |||
c068a3b8ee | |||
d5fc07df68 | |||
34bc1b1045 | |||
b84d013936 | |||
3871bdb7e4 | |||
87ed97167a | |||
ee69e7884e | |||
969a564587 | |||
c333c2ce65 | |||
f3e8ba2e64 | |||
bcf325ae77 | |||
2987ce743d | |||
babe2e0559 | |||
07ee72db0e | |||
0f5bd024f2 | |||
842c912fc7 | |||
7be9f3f335 | |||
e5cb51d3aa | |||
222f953777 | |||
10f9eab347 | |||
6283c1e6ad | |||
5825304328 | |||
ed051d4024 | |||
c2d62d0c7d | |||
4b2d41b0ad | |||
69c99b85e7 | |||
9166bca8ba | |||
2794e813c6 | |||
761416ef91 | |||
28cd730680 | |||
76f14b777c | |||
93eb41e240 | |||
aa30162559 | |||
e9977b12fd | |||
b75747829f | |||
0087d7dfbe | |||
edd6a31f46 | |||
6693fb3f01 | |||
7c46ea0ded | |||
f00ddc9f48 | |||
a103ad6f3d | |||
098b7bfaa6 | |||
01a30a5a58 | |||
df3c129e24 | |||
8f9d80f6c0 | |||
0d330a53f3 | |||
ecd2d3efe0 | |||
9905e80b0f | |||
ef46584831 | |||
3c4dbf556f | |||
ae15fd4116 | |||
5b1d30cabf | |||
d3a9295ada | |||
c4bbd9bb8f | |||
65da938916 | |||
23578904da | |||
99e4d084ff | |||
cdf517be06 | |||
1d6f4c6408 | |||
852c530102 | |||
989d9cbd5c | |||
0b6203c4ef | |||
65168c42df | |||
0e66bc1b21 | |||
625ff5c320 | |||
308cbaa082 | |||
12a58f9014 | |||
ee610f00e2 | |||
21a40847ed | |||
5db8e59cf1 | |||
77b9e85c0f | |||
59c72303dd | |||
629444ad45 | |||
1c8dfc3674 | |||
5670e0ec15 | |||
77651c032c | |||
e2841f706e | |||
f1d019071e | |||
776515ef8b | |||
e5e056b21d | |||
555ff1c8a4 | |||
02c3c59e62 | |||
783a86c142 | |||
9f5a9de7c8 | |||
f7d5741279 | |||
7718827a2d | |||
c006e9fa59 | |||
63e14ee2d6 | |||
9b24034754 | |||
398c4ff582 | |||
2b057d97d7 | |||
1c3502b198 | |||
b26a412f1e | |||
729b97332b | |||
54ef7676ba | |||
bf0a6b65fc | |||
f83736ce9d | |||
0350954482 | |||
1c3b05170a | |||
aef7d75e58 | |||
fa83cc834d | |||
dc9f98832b | |||
a9126b92a2 | |||
99d86d60e5 | |||
80882bc5e7 | |||
c1b117d31c | |||
31a66c1964 | |||
9e4658d5c6 | |||
66fa6e8ed8 | |||
e03acd0d4a | |||
257418c590 | |||
1838e21cff | |||
11ea33ce44 | |||
ff033db7a8 | |||
8e2841890a | |||
ec4c23116b | |||
3f1917dc60 | |||
d934a11c71 | |||
9b24bb9205 | |||
d2a79bc953 | |||
adedcee811 | |||
65f6a9eb0b | |||
795ea8776b | |||
fddd8b4801 | |||
9b9445cfde | |||
80ffc849bd | |||
0d133a3dcf | |||
363a193c3a | |||
4d8074bf8e | |||
58ded4a4dc | |||
565577ed88 | |||
34ce504a33 | |||
a5834b775b | |||
716c1f649e | |||
c6d3cce6f3 | |||
14eab817e4 | |||
ec4f39b233 | |||
24b56ae4ae | |||
10f743389c | |||
a29263cf5f | |||
9bf691b78c | |||
7fac7b563b | |||
7d0a1c8895 | |||
c0f6dd49f1 | |||
3adacc2817 | |||
d86ac14dd7 | |||
4d1d843be7 | |||
52917a998e | |||
bed8947751 | |||
1490d7d82d | |||
43370b1e91 | |||
672196a307 | |||
aac0e8ffee | |||
7ecf193f7d | |||
6783fd3cef | |||
33cba726f0 | |||
bb2c34956a | |||
435a2535b7 | |||
ba307a5046 | |||
91be401945 | |||
81ad551343 | |||
afa70145a2 | |||
83489a5b20 | |||
657c7403a3 | |||
f0e9754a27 | |||
8faaf690f7 | |||
35ae40ead3 | |||
050d0dc241 | |||
85dc0da6dc | |||
9096451acd | |||
5502f77b69 | |||
ad60dddad7 | |||
b0fd38a515 | |||
3f4fa1fab8 | |||
5856cb98c0 | |||
042159a509 | |||
4f049a16bf | |||
340a6120e5 | |||
acd3bce63f | |||
b1b489f4cc | |||
4fc4066c4a | |||
312d5b7429 | |||
a6aeb2fef9 | |||
4dd3b045f5 | |||
53602a937d | |||
ec18b10bf2 | |||
e21e663cd1 | |||
59c1752ab6 | |||
5556891961 | |||
53a50892be | |||
b5624a4474 | |||
d06ed85dcb | |||
2da14fad8f | |||
34133d9658 | |||
b6014eeac0 | |||
ffcc33f6a6 | |||
60184ab4d3 | |||
66dd83ad09 | |||
79db50d821 | |||
d619183710 | |||
efae7ce692 | |||
ede241c715 | |||
bcf96cfca6 | |||
b29ad38322 | |||
ba808251aa | |||
3f61790678 | |||
b15207b8cf | |||
9553aa0f6c | |||
56d8a27124 | |||
49ff3cb90f | |||
c50926e1f4 | |||
bac92b1f39 | |||
b9654bee99 | |||
1b53bea29a | |||
6c5fbd866c | |||
8dfa09f49f | |||
6d97f440e5 | |||
3f7207e2ea | |||
7c83470e64 | |||
e883e04b68 | |||
17d3883fe9 | |||
d51e1dff98 | |||
679aad9e82 | |||
95d1613a9f | |||
1e92768aa1 | |||
3a4d71f52f | |||
dcdcc375a4 | |||
ac7f41fb8c | |||
a5b4466536 | |||
19177019ed | |||
94fc8a55c2 | |||
cba4c4a244 | |||
5d2bf34c22 | |||
ef7b9ad032 | |||
d16978517c | |||
a75163119c | |||
de28459136 | |||
992f25d713 | |||
863a8ae97b | |||
3e103ed23f | |||
748706d713 | |||
92156291ca | |||
94d421b8af | |||
97e61e0f9c | |||
b9342b3fd6 | |||
5797b13919 | |||
b004521aa6 | |||
b877e617e6 | |||
99ddc24672 | |||
1e2320161d | |||
6b6029dd1d | |||
977c47b46d | |||
20516890dc | |||
00d3e8d7dd | |||
5db921054e | |||
8cbace93d2 | |||
844739ba27 | |||
d976c5100f | |||
dba1e5392f | |||
936b8eb6c8 | |||
2f8b3ea662 | |||
4057523a40 | |||
a6a58f7801 | |||
cb54fc93e4 | |||
0dbc715ae0 | |||
4af7188bc9 | |||
30c6495e1e | |||
966ff64a30 | |||
4e0d160bbc | |||
87098a047b | |||
8e56affcb5 | |||
37e4bdd5ee | |||
f1a0db23ad | |||
0f609558fc | |||
acbec18d8e | |||
f92dbdbc6a | |||
57efebb9b9 | |||
f89d085b3f | |||
055e57b7b2 | |||
c541e77cf8 | |||
c5365e93fd | |||
94955d576b | |||
04ede97211 | |||
350dc9f0e8 | |||
d02cc45c7a | |||
acdb1e1053 | |||
f0f9a033ed | |||
3d8e3dc4fc | |||
e59acea3f0 | |||
1250dff32b | |||
fef2b6dace | |||
b53a5f2416 | |||
82ba1191ff | |||
2f0623aaa7 | |||
7934c74463 | |||
49d279f89d | |||
32ed3314c1 | |||
ce50f1f3ac | |||
c24feabcfb | |||
c68d5dbc94 | |||
3e3b9321ca | |||
96ecf699aa | |||
faececa53f | |||
e92684e1a2 | |||
5beca49a0b | |||
64f3f5a3f6 | |||
fee65b194d | |||
366bd129dc | |||
ac8e3e94e5 | |||
46fb057aaa | |||
25c2351d85 | |||
e0258f15cb | |||
6d00680de2 | |||
23b219f8e3 | |||
00d12607a2 | |||
32290a5818 | |||
e3d49aa5aa | |||
2d39f66a52 | |||
fc007af027 | |||
7c96fbc5aa | |||
619a4382fa | |||
c0454798ac | |||
a3178b8720 | |||
84c3dfd023 | |||
2c915bb11e | |||
8f6b482d24 | |||
1d7106bae3 | |||
54ec7b817d | |||
162cfddb46 | |||
ac282aa8d4 | |||
f070ec4cb5 | |||
0263e6bc03 | |||
e5c5e343d0 | |||
494d31e9d6 | |||
57fe0df8a6 | |||
682079fb2a | |||
c896716d77 | |||
15b17e6480 | |||
745af8c7b5 | |||
04e340b29b | |||
13d0c00049 | |||
eacf9b2bb6 | |||
3a03633812 | |||
0c5222b6c5 | |||
6fa54b8fb5 | |||
a88527203f | |||
6a591a3173 | |||
7787a6c3ee | |||
cc29f89032 | |||
7c7719ac0e | |||
36d7bd19cf | |||
476e54b1c6 | |||
51d1b69a53 | |||
776f184893 | |||
1007557a4e | |||
75707da4fa | |||
ce74de931d | |||
c23fc075c6 | |||
034195ef92 | |||
aa77ce88ed | |||
1369f1475b | |||
8f240b8bbb | |||
e4cdfe84a0 | |||
24ba8b70c9 | |||
11f4290001 | |||
db9d67f2e9 | |||
3639fefe7d | |||
6a475b71f8 | |||
eacae022bb | |||
a31dbaebb1 | |||
dd7c820d9e | |||
4483ea9a01 | |||
18bbc795fc | |||
4447d4129d | |||
6df543bdfc | |||
ce5f07983d | |||
d205483695 | |||
1e11fab59c | |||
198551ca54 | |||
c0d2b07460 | |||
4d35f74421 | |||
e72d93e88c | |||
4b8cdff8ba | |||
7c683389d6 | |||
2fb377e569 | |||
40ab711a9c | |||
cf92cb29e9 | |||
99c0d94eaa | |||
418aef9055 | |||
b4f52f09ae | |||
4611884ea8 | |||
aa37f3e1d8 | |||
3113fedaeb | |||
b3b1a21d1a | |||
89fc0b53fd | |||
900b50c242 | |||
a97d79163e | |||
d7ce9a2201 | |||
f57fd48d56 | |||
aa7f2fd150 | |||
18ea595827 | |||
1bec4d1dfd | |||
f5adaa5cc3 | |||
0011f94a4f | |||
559c2c3d2a | |||
acc5e287f2 | |||
dee8a1455c | |||
f2fc531585 | |||
cc391fc886 | |||
068fa54c00 | |||
90b2bb710d | |||
5766524956 | |||
71a8fab31b | |||
afbe62d84c | |||
4af2138417 | |||
ba69ae876b | |||
7f8d098b1b | |||
6d003858e5 | |||
e3349f2888 | |||
3d3874d537 | |||
48e88a4862 | |||
f63ac61fbf | |||
44357f64f6 | |||
f01315ef7d | |||
2c1439231a | |||
ec031da9f9 | |||
66a8a95315 | |||
dc88e349a2 | |||
e9c1b0e38c | |||
5dcee7c705 | |||
9005eb021a | |||
6411cc08f3 | |||
349c26ff29 | |||
9975975d7f | |||
baf20c39a7 | |||
72d3a5da32 | |||
f22c95db53 | |||
a700395eaf | |||
3a251bac0d | |||
ae436f283c | |||
a10f6e2bda | |||
0f1eb7d6e9 | |||
9b9f5f6217 | |||
6fc9fec07b | |||
c0fb5774a6 | |||
47c30f7daa | |||
b378c2ff1e | |||
f00a039839 | |||
318051eaeb | |||
848afebe56 | |||
7a3775eeb4 | |||
07aed58017 | |||
9550f6c16a | |||
7805360b7a | |||
2dd804cd12 | |||
ae25974de3 | |||
a92d8523ce | |||
8d1a744820 | |||
6061601d9f | |||
5b3c650777 | |||
779ea9303a | |||
5f5af3735d | |||
9dd64cb4d3 | |||
361cbe6d6d | |||
0455aad1e3 | |||
73b9ef6ab1 | |||
be733e1200 | |||
dc6315e1fc | |||
df534dcbaa | |||
ccc7b5148b | |||
611c7785e8 | |||
11d14dee43 | |||
ed602c3f44 | |||
7253f7ca9f | |||
4e2a4d1dd4 | |||
fba8e7fa2d | |||
9a13943ef4 | |||
8c4f65e0bf | |||
884339a15f | |||
81705c4ee6 | |||
33f448b5fc | |||
6fccbdaa51 | |||
ee493108e5 | |||
92a25a8897 | |||
db791e6e8f | |||
b59f04f843 | |||
8da79e7250 | |||
7fefa1b68e | |||
cb88b37cb9 | |||
04393ae7f7 | |||
e0ad13977a | |||
f2e5255fc2 | |||
55ece90cdd | |||
1b638216b4 | |||
6d65013bb7 | |||
b5a2d6cc49 | |||
c2d01098fb | |||
2b970bc09f | |||
5dbbdaac79 | |||
2c8c0b4843 | |||
96730964f8 | |||
a2d1f00bdd | |||
359b01ca84 | |||
daf7898abb | |||
b0c4adcdd7 | |||
803978da49 | |||
cc74afb83f | |||
f53156f2ee | |||
e555735836 | |||
eee227ad8e | |||
f3d7623a13 | |||
f7b587bf65 | |||
848fd5ae5b | |||
18aae7e21e | |||
abf04bdaa8 | |||
34f67c9619 | |||
cc8fcd1e1a | |||
3d8314f8d1 | |||
f77710c504 | |||
06f5f8940c | |||
4f40f6cb73 | |||
7a9a10b10e | |||
f7ff6597a7 | |||
af0aa6904b | |||
7b63ea5750 | |||
18337d406f | |||
751e165424 | |||
3ffbe5a223 | |||
6dd1f0e9d4 | |||
51e41e4eaf | |||
0565cee5e4 | |||
bbea4dcf42 | |||
a631e99807 | |||
30cc8d0f14 | |||
0f0bc2124b | |||
b91a2b6594 | |||
24ea81d9ac | |||
8a26a3915f | |||
6645b03ca5 | |||
7889755bae | |||
707fa2f76a | |||
1143cc01b7 | |||
367844e5b7 | |||
f40a693450 | |||
34e691288d | |||
9794633b4e | |||
1caaa858cc | |||
a20b0dc796 | |||
1c343e5aef | |||
9afa46d4a6 | |||
e287a5b0a4 | |||
330ca8501b | |||
ece3974ba6 | |||
27472b5195 | |||
55916bba0f | |||
33d0dda633 | |||
e72e12cc02 | |||
480a0e30a7 | |||
d90dafbe31 | |||
fd74ac95ac | |||
bc57ba1d54 | |||
74a06a9f21 | |||
99b6c45d8f | |||
ec2f6c0cca | |||
3a1ea94a49 | |||
5ad87271cf | |||
d7a714fddc | |||
b0f8b21305 | |||
58cec298f1 | |||
cb49e1e8d3 | |||
618b8445d9 | |||
8fc36c39d9 | |||
c9e221b124 | |||
eb1cd60290 | |||
361fa321ec | |||
386e7a9d30 | |||
54e51e559e | |||
14deb585fb | |||
4788e8b256 | |||
a35258c62a | |||
d3b827408c | |||
affc3b755c | |||
27438ef5e0 | |||
b82d66eb0c | |||
564ebde3d3 | |||
1e08fa5e2b | |||
7decdb9b4a | |||
5b893f7d81 | |||
2eec463739 | |||
b788fc671b | |||
8f12108c29 | |||
36d45163b6 | |||
6e556c412e | |||
0d68ee723e | |||
d9c7f69aaa | |||
da3aae9e84 | |||
757d092797 | |||
960fad98e8 | |||
85775255f1 | |||
85845580d9 | |||
69ab3309e9 | |||
e4a4b31577 | |||
49c837424a | |||
5dba4d6540 | |||
fc0f8bcd64 | |||
71e3a31e40 | |||
11d4c8b350 | |||
e7022fcdb5 | |||
c9d5deafe2 | |||
0015f897e5 | |||
84189f4d15 | |||
305136b4ff | |||
a54f9fb9f5 | |||
39c15e4855 | |||
bcb6cdfc03 | |||
8cdab69d96 | |||
7d7192b91f | |||
fd59c5bdee | |||
8f8eea8c3a | |||
359da658ae | |||
aef3d5948c | |||
c38261e7d9 | |||
160071c38f | |||
aa6bc5c581 | |||
241dd998bf | |||
bf34edf48c | |||
1b51ae591e | |||
5fd9d1738e | |||
7260e87248 | |||
7976721d17 | |||
7c48b27822 | |||
de90581141 | |||
cb2607759e | |||
2715e8a931 | |||
6debb7527b | |||
b520bc6caa | |||
7fa3338870 | |||
a4040cfa35 | |||
fae26ce79c | |||
a1a7811975 | |||
a34edae68a | |||
1f0c3a29da | |||
6ec755a0e1 | |||
55e48f6bf7 | |||
70176b7015 | |||
68437ede53 | |||
0411e8aa31 | |||
13608fdcfb | |||
f770e9f396 | |||
b9e4d89ca4 | |||
4ab814526e | |||
db2558009c | |||
ce51ed5195 | |||
d6c9a71755 | |||
27128996b8 | |||
2ffb7d13ee | |||
817b0f6027 | |||
ddbc07872e | |||
a1fd2cf8cd | |||
cfb19ae05f | |||
e3d1be4237 | |||
378b51993a | |||
9bef0b1e6e | |||
b2463fc30a | |||
325240dfd7 | |||
74e34a0ee2 | |||
5b71c59bc3 | |||
694c0cc0fb | |||
a3ba4fa715 | |||
82f67ee13f | |||
b4eda05d58 | |||
b81b98f818 | |||
aa11b94ef8 | |||
7f5a382aa5 | |||
d0d96b8280 | |||
e870c5857f | |||
99bbf4739d | |||
30327a08c8 | |||
2fec2d2895 | |||
2c80a82e34 | |||
2b288c4724 | |||
f8535596aa | |||
c918f5c1ab | |||
41f1a8e6a4 | |||
652891de4f | |||
41a86b64c0 | |||
f53559227c | |||
5a09991e32 | |||
86aa250aa8 | |||
82db195e1b | |||
9aa1cba01a | |||
624b8cfdce | |||
55d9d4bbd0 | |||
ac7667bd44 | |||
caea900272 | |||
accf237ab5 | |||
3b9a5a33c2 | |||
18c08abc82 | |||
69635e5242 | |||
4f6db706e6 | |||
686790f6c1 | |||
589bc0942b | |||
bfca631634 | |||
4f4be00d30 | |||
23fcf8b09f | |||
76d7602631 | |||
dfce1186c6 | |||
96b9e5151b | |||
650134a478 | |||
7596fe952d | |||
1f8496c65f | |||
7281c196b1 | |||
4a169da280 | |||
4b6e18f5a0 | |||
b489b9d9aa | |||
12d47e3b1f | |||
d2ba271aad | |||
31ad6b61bd | |||
7ccbea564e | |||
8168d5e9c2 | |||
21bb3851ee | |||
da4827056a | |||
fe66167535 | |||
70055ef1bf | |||
113656eca6 | |||
2246937e41 | |||
11698e551c | |||
eef985e17a | |||
1a7f6be5b1 | |||
66c2948ffd | |||
ecbd60ae99 | |||
1971510c35 | |||
3b396c899f | |||
7922a17d4d | |||
aaf81223f4 | |||
3c3ca0b0c1 | |||
2b6070ac4c | |||
21e7d88140 | |||
97a9db6ffb | |||
a1bf5ca29f | |||
cadcafc331 | |||
df5fed9c34 | |||
5699ec1b0a | |||
4da14b574f | |||
28c2a35997 | |||
9e496fffc8 | |||
0b91d563d8 | |||
c21fa3bb54 | |||
597553e42e | |||
0e5d9ef395 | |||
5a5ea141e7 | |||
ce18a30bb7 | |||
5aeb145780 | |||
1e59178e3f | |||
dc8c8deaa6 | |||
d2b11e05e0 | |||
67c305f722 | |||
363d54ff80 | |||
d777ef9bef | |||
ac8f6b6608 | |||
a5a52739e9 | |||
080b062071 | |||
f02e23405f | |||
9d1304155b | |||
c47b89cde6 | |||
b8117d2c08 | |||
79d1e6d407 | |||
596838d2c5 | |||
db7961e6a6 | |||
b1299de4a1 | |||
9c897eef06 | |||
f00809500f | |||
08baf19fa3 | |||
006fd83e03 | |||
07a454027b | |||
fc5a070f59 | |||
2da81d1efb | |||
f31b624495 | |||
ce3986bb22 | |||
a082345372 | |||
323822c72b | |||
338959da3e | |||
fd3aaf53f7 | |||
134047b500 | |||
9470605a1b | |||
04b1f1fd9d | |||
ead74601c6 | |||
1d758728fb | |||
ce5369e3ef | |||
8da0b02d99 | |||
93e02b6e1e | |||
e942292a3e | |||
dbbb8c50f5 | |||
4d4e49fff1 | |||
f007713cb1 | |||
afea77a72a | |||
afd58a0d42 | |||
2f7b9f9e55 | |||
6d858341d2 | |||
c0c9d35e27 | |||
6dcbdc0d66 | |||
ab336e8f1c | |||
a50036da1a | |||
37d4ae58ef | |||
28db3b7b71 | |||
16a0e92ddc | |||
c276c21da6 | |||
091680472d | |||
d8c8dccbaa | |||
a9e7c3a6ef | |||
b3b2ddced2 | |||
83937e9592 | |||
377d347eb3 | |||
1d232d38bd | |||
b3193252c4 | |||
29fda24dd1 | |||
6d40f0ad15 | |||
07b1d8f184 | |||
5b2f5d92ca | |||
53ca569419 | |||
0cc05b044f | |||
19d75948ef | |||
0e1a85ca75 | |||
f1dfbd9ee0 | |||
91e2e8f63e | |||
419141e495 | |||
2668e3608e | |||
4c9b052377 | |||
db5b7c3e46 | |||
191faaf726 | |||
1bcf4f6271 | |||
1fc1879839 | |||
5a10f4c3a1 | |||
60be29398a | |||
15d8adccab | |||
93e804b278 | |||
0ed5b13f24 | |||
aa5c79a331 | |||
b44855743b | |||
de1f68a968 | |||
237a1d138c | |||
b02fdbc80a | |||
23f2356fd9 | |||
a75910602a | |||
05e280c0a6 | |||
8c49d704ef | |||
35919bf1ab | |||
6448182a83 | |||
43966ab315 | |||
3294ca6140 | |||
53fcfbc84f | |||
eb299010ee | |||
00991e1013 | |||
9915e08f9b | |||
d6d58ff8ab | |||
caa9c37ec0 | |||
f954c7b8ff | |||
7667f9d2ae | |||
b5337082b3 | |||
95a4e78a74 | |||
de7e0b58ea | |||
6504cfd392 | |||
90a70fa809 | |||
d06055501b | |||
207534e423 | |||
802aa31840 | |||
39664e9309 | |||
8e8f4b814b | |||
9968ed73ff | |||
ddc5dacfb3 | |||
d989b266c1 | |||
1e7be10de0 | |||
a85ad67bbd | |||
5c58fbd265 | |||
d33c804dae | |||
62a62a2830 | |||
49b398a970 | |||
27b5d4171d | |||
40f865dc02 | |||
a613164257 | |||
5b92477f89 | |||
ddee3703b3 | |||
72263ffc32 | |||
4571324b99 | |||
f9825d1cf7 | |||
a7d493833f | |||
fb546d6e43 | |||
2fb90409b8 | |||
b757353676 | |||
fa23090b0c | |||
2bd4427824 | |||
5dfaf49a5a | |||
d9fef9d90d | |||
1c573cdd72 | |||
94cd775a6c | |||
8ddf593a25 | |||
2785b71ef9 | |||
2088a0c0cd | |||
7ec4a9e74f | |||
f49c478f62 | |||
e2f4045fc4 | |||
b9832f7e3b | |||
fbb3d32393 | |||
5377abc0c9 | |||
e448263716 | |||
15fe4069d7 | |||
6dd9a91c32 | |||
1cc0425a27 | |||
9f555783c0 | |||
ea3f639fe7 | |||
6afdb07b7b | |||
3846c2a1ed | |||
fa61b7703e | |||
5ed49a75f3 | |||
3ce9483c1a | |||
9cf4e0c8d2 | |||
18254f14f2 | |||
296bdc4f36 | |||
c58bebd4c6 | |||
c37c6dc6a7 | |||
5ec7110822 | |||
80431510a2 | |||
a561962479 | |||
2acf4cf001 | |||
98cdb61cab | |||
a6a243e94a | |||
4090511e40 | |||
5045759de8 | |||
58a6abb7ba | |||
44f9fd6496 | |||
7a3eb28697 | |||
6cd6906160 | |||
1b8138fb08 | |||
ea78f9ee7a | |||
598b1e7d09 | |||
b0b40c0468 | |||
ac8acb4f2c | |||
0243930af4 | |||
2d443389fd | |||
080ab56a46 | |||
9fadb373dd | |||
dce241b020 | |||
8846847a14 | |||
baa73e2b75 | |||
3069f2a6f4 | |||
aeea0084a0 | |||
0068c82a13 | |||
110e91150d | |||
448de909a7 | |||
0f5ae593be | |||
dab73aebd8 | |||
08dccc8fc1 | |||
b95181cf82 | |||
270ccd2a67 | |||
78d5e4cfb4 | |||
863d6ceb52 | |||
3d89a8c118 | |||
f9b95943b6 | |||
69e3d1e550 | |||
3af1df0415 | |||
e121c8c0d9 | |||
538dc459a0 | |||
acdeb10f91 | |||
5a9253cd45 | |||
945b9f2c31 | |||
9a7176d9fb | |||
ed54e1b31a | |||
1dff6dc016 | |||
3ab732864a | |||
6f24da652c | |||
2e969751ec | |||
586f23705c | |||
af3a3205d1 | |||
804ec0301f | |||
2e55151800 | |||
bdba04d4d0 | |||
6b3d47a960 | |||
ee0241bd22 | |||
0a88638b0b | |||
87d6bec2c8 | |||
4976f244f3 | |||
796388bebd | |||
f5203a4220 | |||
1256a25ecd | |||
66731ff921 | |||
aab7bea14f | |||
4b5a808bb9 | |||
4b317450ce | |||
af845a604d | |||
0353c68818 | |||
8a50571a0e | |||
89c6e450fe | |||
834e3520ab | |||
1d04e719e7 | |||
c1d024b843 | |||
1f6cf4508e | |||
a6e65fb39c | |||
9fd512c8d6 | |||
86f4e31298 | |||
f7400da800 | |||
511cfd3bff | |||
7709acf7be | |||
4ec5008062 | |||
c2cd4b592f | |||
e97d474c7a | |||
afc8c92535 | |||
489ef3ba57 | |||
00d8c31105 | |||
f15e00b463 | |||
49af448197 | |||
d1c9195116 | |||
cde6b9b78d | |||
7c898554d7 | |||
4627c67fa6 | |||
29d8e21d6e | |||
58407e041e | |||
6a61661967 | |||
5819417365 | |||
277cf0bc36 | |||
a2437297c9 | |||
cacfd1d018 | |||
bedefc1227 | |||
4c5d5e1b72 | |||
202161fa8d | |||
f11046e6de | |||
0cf1defa5a | |||
ef9b086d95 | |||
b014cee8de | |||
465f03869a | |||
1f6b196665 | |||
b9de974d38 | |||
bcccafbef0 | |||
123dfdff0d | |||
c237c3fd5f | |||
301fc17de0 | |||
88cbd17e87 | |||
0f329b9ae4 | |||
874cf2a604 | |||
491df5f679 | |||
cfde4cd6ff | |||
3a58792ade | |||
eae937059b | |||
ef6d15ca53 | |||
1fbfd96f50 | |||
e8005e4871 | |||
e54793a95a | |||
565442c358 | |||
c038dd6fdb | |||
676cead455 | |||
09a2302c70 | |||
8da1481bdc | |||
ee12682367 | |||
8e5c46e315 | |||
899df5f690 | |||
a6c80c313c | |||
236d1177ba | |||
c4667b17fb | |||
1c538b951f | |||
c191b9188b | |||
3188d3c0b9 | |||
f7b5ff607f | |||
f5aaf72f1b | |||
1c4411cce1 | |||
73f96c9772 | |||
8b28e2e2e4 | |||
dcf1ac24a2 | |||
8ed16bd600 | |||
5048b20d1c | |||
2cc712324d | |||
d5a17b6665 | |||
e6bf70d176 | |||
7710d1be60 | |||
72a4ea71e5 | |||
2b0a58d164 | |||
afe8a9070b | |||
7a618493fa | |||
08bdd3a185 | |||
6dfadc8981 | |||
d1c25272f5 | |||
91f8f7e46f | |||
5cdb38458e | |||
05d57750c6 | |||
8a649be7e8 | |||
bdaf1dfae7 | |||
0f828332d5 | |||
096b082b2a | |||
3da993f2e6 | |||
740deeadd3 | |||
756d15923b | |||
424f315d9f | |||
f62563988f | |||
124b05b230 | |||
4925adb4da | |||
561287d342 | |||
a37d14422a | |||
a9e0a49dc4 | |||
4f1ccef87c | |||
f8781bfda3 | |||
11f9e8de3d | |||
b56166ca57 | |||
eafcc6de52 | |||
d097a23bfa | |||
45a14f578e | |||
96697781e0 | |||
3506cae04f | |||
5d4b293340 | |||
a8defed07c | |||
72fa58ef50 | |||
5d295dc396 | |||
0d86f59a3c | |||
71ceb816b3 | |||
f69dfef355 | |||
2d95707a02 | |||
dde1358970 | |||
41c64ae0e7 | |||
7a06a854ee | |||
9e5ebe9668 | |||
8af759374e | |||
2c2db194bd | |||
c0befa0c03 | |||
52e1ab8a76 | |||
6cd33dceed | |||
b908065ea2 | |||
db4361bb29 | |||
9b23d2c7b8 | |||
1208041f05 | |||
ac87f9697f | |||
aac04e07ae | |||
9c539d1027 | |||
846a29afb0 | |||
e6b2582da3 | |||
c616d188aa | |||
cb6da3213e | |||
4027e30c53 | |||
b32632c327 | |||
4ac22f8cc0 | |||
40f35416c1 | |||
b3717a8943 | |||
2a7f398a6e | |||
54c8a7c379 | |||
ae1b383dfa | |||
9d5a7df332 | |||
6ab75ac839 | |||
81ffbf8380 | |||
ab1f6926e9 | |||
689a8e80dd | |||
f41fb662f5 | |||
e75d2f7f73 | |||
7a98d9ab00 | |||
a52f07afcb | |||
e966fc5a89 | |||
f0cb6b8053 | |||
bf1b32d099 | |||
f6bfea0ad0 | |||
b78ce337de | |||
0139c58ab9 | |||
5e480176fe | |||
f196c1e908 | |||
296a143845 | |||
2108fe4a19 | |||
1878b5edc0 | |||
bf20fe4ca8 | |||
89f45cf4eb | |||
f260505142 | |||
4b59b2db97 | |||
b925fcf129 | |||
96ddfecc5b | |||
dd6cf19403 | |||
c9f01d5f5f | |||
43159864b6 | |||
255ede9980 | |||
26ff9be6e7 | |||
347cc1b11d | |||
c6da34a610 | |||
1ac7422e39 | |||
d516b2db0a | |||
cdfc63f714 | |||
783c5f4bc3 | |||
2731109c91 | |||
61de00a321 | |||
72315e431b | |||
11cfe55261 | |||
33159949d2 | |||
f1b50ec6f8 | |||
af15f84da7 | |||
067109a5e7 | |||
c36c27e75c | |||
dfbdf52df5 | |||
6e0a35803f | |||
48fd05399b | |||
ab1f2765f7 | |||
e7109d5c7c | |||
c42977afe0 | |||
6d340dfaef | |||
c970d30c2c | |||
acd34fd5f6 | |||
95b3002201 | |||
00e5af3f24 | |||
ca355e3e33 | |||
bf23fe5c37 | |||
473fa2df08 | |||
07135d6be7 | |||
b2a7c2cfcd | |||
77da6db57f | |||
5e65dac9c8 | |||
5da9560ebc | |||
22ac4887f4 | |||
f3ea4bed2a | |||
07330a41d6 | |||
95acb13a55 | |||
327933fbbc | |||
0f0303a479 | |||
e5f5d7d42e | |||
5dccd9155f | |||
112a9fe60d | |||
d42bab442d | |||
fb2d0db502 | |||
8a94d83349 | |||
425d290ce5 | |||
23a3a303ab | |||
b4a0c6dc97 | |||
4d33e2ba6b | |||
c0f4752ed2 | |||
2c23d1b477 | |||
897c9e2575 | |||
fca85986bb | |||
fbe5f6b804 | |||
17f273ffba | |||
f2a2876f5a | |||
8af0699b7a | |||
1da312742d | |||
bb886cf9b4 | |||
2e37594797 | |||
5b52d9f15e | |||
465b30a92d | |||
350296cc78 | |||
82b28c4ed8 | |||
84792322ed | |||
3117f0f9f7 | |||
66593217ec | |||
6b49afdc70 | |||
faa21c10d4 | |||
7c6d8ee8fa | |||
77ceb11342 | |||
909d5b646e | |||
439c1e6d5d | |||
ba2452b247 | |||
0f5e885173 | |||
1b54f5b89a | |||
fe496dc5b9 | |||
da95e25656 | |||
98f6a3a353 | |||
27dd460799 | |||
8e6e14fcea | |||
259ec8f5b9 | |||
cf0e875cd8 | |||
e8926670d4 | |||
3928e902e3 | |||
1041d58b4d | |||
3ff8cbfe8a | |||
980145f747 | |||
7b5cf8be18 | |||
1e2574e585 | |||
4ff0108d9e | |||
e8f8b3b2a3 | |||
4768af2088 | |||
77956b9de5 | |||
da0134f653 | |||
7a3e83d0bd | |||
6febb9f843 | |||
c785e2029c | |||
2bcf611088 | |||
968e29e16b | |||
843d847ff7 | |||
12a77f5b7e | |||
0874bb016a | |||
57fe2ce0e1 | |||
84af8b8544 | |||
794bb28d2a | |||
9084961b2a | |||
522e914f65 | |||
59ef3fc104 | |||
812ee74ea0 | |||
990547aa2b | |||
adf159b441 | |||
e6a653554b | |||
a0231869a6 | |||
0b75e5bf22 | |||
89ef49b30c | |||
b676b73232 | |||
8c0cfadd9a | |||
7146f271c6 | |||
551f502201 | |||
e4921d877a | |||
6b52f48b8f | |||
6696601241 | |||
1f888282e2 | |||
dda31145d7 | |||
d97eb302ea | |||
6563706568 | |||
4b6846d9dc | |||
53747016a6 | |||
a5bf611cc4 | |||
2ea7e40c53 | |||
d723492127 | |||
83791bc52b | |||
6d51217467 | |||
cb3b3974b3 | |||
5391e94813 | |||
c4e707f858 | |||
f12f3b9807 | |||
ac59c742de | |||
cfbda6ba6b | |||
75388bf5b4 | |||
a242c150eb | |||
0041797449 | |||
9a4987677d | |||
e5ec440c98 | |||
805e0a6808 | |||
f818536749 | |||
5fe35fcc79 | |||
d62966735d | |||
3d8046a820 | |||
2e2c0be51e | |||
b7f9130a06 | |||
840344db75 | |||
33665d98e6 | |||
4963d3e41f | |||
7390f05a3c | |||
011b775727 | |||
3c7bab06e1 | |||
869a0eb4eb | |||
4dfd0925cb | |||
1836836593 | |||
5cb28270a1 | |||
abf474a5dd | |||
dd9ff30dff | |||
6e1a8952e9 | |||
eb804cd405 | |||
852e2c84f8 | |||
a3dfe97f41 | |||
26b9f34ab3 | |||
b05880d357 | |||
50c725d6b6 | |||
ad2b54e3e8 | |||
86f7433f97 | |||
8aa0209701 | |||
369f0f54ff | |||
08894d3349 | |||
a00cdff81a | |||
148405fb27 | |||
dd77cf61a1 | |||
518a522f40 | |||
65723b305a | |||
5ff01b1f1e | |||
1448edfb51 | |||
bec486b9c1 | |||
aeef767a41 | |||
0ae7a1d9ab | |||
c284e27ba7 | |||
9dcba0ba08 | |||
f67df2556f | |||
62c7367133 | |||
abc9dbc0c1 | |||
16d9d6175b | |||
3248486920 | |||
9c307e8afd | |||
1e0ea5c431 | |||
d2bd862e7a | |||
974c1b3987 | |||
16dcec218b | |||
f1486203f5 | |||
bbfbcd25b3 | |||
5891c76cd0 | |||
53ef17d3ee | |||
1f480d5127 | |||
fbc15b13f7 | |||
e3c3675801 | |||
7cff6765fe | |||
2efc9b84e5 | |||
45bf76284b | |||
a68dfadae5 | |||
361c2566c0 | |||
1f390f2ad5 | |||
889860e1ad | |||
83510335c6 | |||
8faa322315 | |||
bfce3e7b92 | |||
ecb939a9ce | |||
7f7d1ad3e0 | |||
d674bf5570 | |||
4eb66787b0 | |||
94cb657f22 | |||
3ece3cb865 | |||
dc2588b2ba | |||
7649bfbaa2 | |||
8ba221e245 | |||
017303eb48 | |||
831ee253b7 | |||
80f6de4f5b | |||
cc91044256 | |||
094b5409ea | |||
51d2d67790 | |||
0ec7c23cdc | |||
4d9dc2c57a | |||
4369e3a1a3 | |||
9c4d58ff2c | |||
0f88783592 | |||
cab851c2f8 | |||
455923e0a1 | |||
22184af2cb | |||
e81517155e | |||
315f22c853 | |||
f6b224d5eb | |||
87af0ddf5f | |||
889f78383e | |||
132ceda40f | |||
26f6d4d5a0 | |||
82e69b0cb5 | |||
4e4566f67e | |||
a53343e0fd | |||
f01e51a7cf | |||
bc3838b310 | |||
214919b4f6 | |||
7391ecd338 | |||
b6763af74b | |||
964a856cbe | |||
944db25c60 | |||
05b8b82542 | |||
bdff97a3f6 | |||
77ab58c091 | |||
a34393f5f8 | |||
cbe485298b | |||
1e91d3faf6 | |||
d3ab1a5fcf | |||
5f9b64a6c2 | |||
03df6cb833 | |||
2a69ff09d5 | |||
f6db603c7a | |||
c39176b160 | |||
66865d12a0 | |||
5b8754043c | |||
ca40893a41 | |||
501036492b | |||
e2f8acb6a0 | |||
32bff617c6 | |||
99430aa12c | |||
bfc763df77 | |||
c3a9cecc7f | |||
77e56d55ba | |||
b59ec03cb5 | |||
c36c62859a | |||
bef805b7d8 | |||
60a8a6bf6c | |||
d7ef03681f | |||
f818f7f725 | |||
003cdf8882 | |||
ee32abda28 | |||
94945322ba | |||
62e2486b61 | |||
7da7f63cf9 | |||
74cc1aa55f | |||
38bbb9e990 | |||
7431379a9c | |||
ea05fd5fbf | |||
0b01c0a814 | |||
a54cc523ad | |||
a2fc9c3c40 | |||
47c52b2dad | |||
190f9bf62a | |||
430883a70c | |||
8d1ae40bae | |||
6969ac64bf | |||
47e0380289 | |||
5b9c98b491 | |||
5fff35d880 | |||
b90d9f7632 | |||
f3875ab115 | |||
b3c5f5cb04 | |||
75df9df0f8 | |||
c9911c9358 | |||
49fd5b99a5 | |||
55b3f12cb5 | |||
3c3558f095 | |||
d23e51a23e | |||
0f584debc7 | |||
6606d99bae | |||
e4938ce3cc | |||
02af15dec5 | |||
ab3892e48f | |||
5327d8982a | |||
841fd28ce2 | |||
bc22d845c4 | |||
0099792400 | |||
b9f5d0358d | |||
f4976ef739 | |||
eb54a3391b | |||
4b8b0f6fa2 | |||
d492abb0ae | |||
9396251b37 | |||
fd56fba97f | |||
e86ec71d20 | |||
a2565c48e4 | |||
64a6151da7 | |||
aa3e9e61c1 | |||
b896f729e2 | |||
ccafbbfb4e | |||
4eb845ac0a | |||
386f806c7d | |||
21b839e606 | |||
bde1e3e80a | |||
8b44e05abf | |||
f62106d750 | |||
851d2f0ab1 | |||
12e3b084de | |||
4fcea603c7 | |||
07b04ebe86 | |||
7cbbb77173 | |||
5775da0ced | |||
c614beb933 | |||
2e8ea40fe3 | |||
57be9c6dee | |||
09188ed930 | |||
eed36fce38 | |||
9b6d1fc48a | |||
ba95e96d4c | |||
844a8ad4f8 | |||
020406eaa5 | |||
abf38abec2 | |||
19d3f228c8 | |||
544d93bc3b | |||
32f3ac26e0 | |||
baedc59543 | |||
1a4874565f | |||
1f3c5f39e0 | |||
69a3b75fa6 | |||
4763ccd7f4 | |||
d169d51504 | |||
47be28e51e | |||
82386b4496 | |||
86fdd94d72 | |||
4f39eb031a | |||
f18b512bbb | |||
c4ea513f4a | |||
105c6f14ad | |||
4f33a6345f | |||
f0d2f84919 | |||
3e0370a8d2 | |||
09d4a79eff | |||
7940941de1 | |||
ffaa137f64 | |||
4a4c3f9b63 | |||
1f52cdfacb | |||
a262585d81 | |||
943fd02769 | |||
5370b91f3f | |||
73bc90d7e1 | |||
6e1e0c9959 | |||
1e5dd3a111 | |||
7c2f8cc58c | |||
d1d1572e75 | |||
6e94bd64f3 | |||
f3117dfdd1 | |||
a6ecc256c3 | |||
c419562860 | |||
e19b319950 | |||
72aae6d601 | |||
cf10c5b4cf | |||
5b911a29ff | |||
b6d775dd38 | |||
53ce7ccff1 | |||
8127a2b1f5 | |||
1ff543acd0 | |||
5476bdf0e8 | |||
d239ef1cba | |||
277ce7961d | |||
a182f69d5f | |||
c4d1d52631 | |||
a8cc594333 | |||
9f6e63b966 | |||
99d60545f8 | |||
6f69325258 | |||
6dbf4b8172 | |||
c2162907e9 | |||
7a4e06c42a | |||
11da0a5580 | |||
061fd5727d | |||
20d34c07ea | |||
283e4e7cd3 | |||
6d8d81ec36 | |||
a281069e77 | |||
6878ea6f14 | |||
ae59346f09 | |||
aae90a156d | |||
50e0dd8fee | |||
e828747001 | |||
967176465a | |||
b6c596fd01 | |||
c9d2562493 | |||
104744f91d | |||
97cb977c82 | |||
29a5e9e1ff | |||
3ce52cba5b | |||
5312a850b8 | |||
1012a5cbc3 | |||
ed9c84853e | |||
a77c3fcb5e | |||
e441966596 | |||
1a0b78c953 | |||
f7bdb32918 | |||
aca8568e2c | |||
759f340738 | |||
2d102c2bca | |||
4998e93fa6 | |||
ef3fe21448 | |||
51a94d8ffe | |||
4a0479086a | |||
8f79015111 | |||
0f0d118c65 | |||
bf67dd8d9a | |||
b07fa8f1b2 | |||
a41e8e7467 | |||
a18d66cefb | |||
e69fe2e460 | |||
f2bcc69e7e | |||
131b94a10a | |||
b0b70d54c4 | |||
fa47dd6445 | |||
a075e79d2c | |||
046188cc65 | |||
5445124fad | |||
56710a7ae0 | |||
c6dddb34b5 | |||
de004e848a | |||
63a36017fe | |||
0b6d0bc924 | |||
a9fda017f4 | |||
fd15f8a5fa | |||
dad9cd7d51 | |||
f4c6a526a1 | |||
dafc2deade | |||
8df786d298 | |||
a36b575aab | |||
7b20af6a06 | |||
758b4d2be8 | |||
7d3d226e70 | |||
76bccbcfe2 | |||
ecc7c8841d | |||
624a93507e | |||
8d2eaf649a | |||
9ba83ebfda | |||
090a3085bc | |||
f27c170f64 | |||
ab81047a6c | |||
7497039241 | |||
2c66a7c8ce | |||
14bf38cfcf | |||
cc89331ddc | |||
2c521b0e49 | |||
287fd17e3a | |||
c8d67b9a68 | |||
3b0199d4c3 | |||
75979d9460 | |||
17925e0602 | |||
c78c7a959c | |||
0a7b38707d | |||
1553f5e76c | |||
cd475b3b03 | |||
8e55634b47 | |||
4de656263a | |||
34363403a2 | |||
71f26798f2 | |||
b9638d7286 | |||
9dbf20e7f6 | |||
66c1a56870 | |||
317956d912 | |||
37482b4080 | |||
a67d178be4 | |||
2587df669b | |||
808213ba36 | |||
6aea6baeb3 | |||
2bbb28a3ee | |||
44439c1c58 | |||
0ff7b4f976 | |||
0f156dbb04 | |||
ee213de22d | |||
cdcaaec9a6 | |||
73182b2d84 | |||
c80d226a04 | |||
b04cdea46c | |||
63e05f9056 | |||
bbea0ddeb9 | |||
715d08a9e5 | |||
0fd097b9a0 | |||
b3db182886 | |||
5c4f3804a7 | |||
362f869ff2 | |||
80f7f618b6 | |||
0a01df08c0 | |||
294f296292 | |||
5b84280c65 | |||
2e65591ed6 | |||
d21d5ddfe6 | |||
a47fcfe871 | |||
6249ce2d1b | |||
268e6b8d4d | |||
c829f5f857 | |||
b3454e2df2 | |||
a9f6274fc0 | |||
2dd75f123d | |||
4fbedd4dc0 | |||
0cb9872eab | |||
4996e0b015 | |||
98593057d0 | |||
518f7059a8 | |||
ceaf037f61 | |||
0cf5fbc2e4 | |||
dab1b7905d | |||
66633f25c6 | |||
008adee208 | |||
8813596531 | |||
ebb866adae | |||
68fd3b35f7 | |||
fb5e8587a0 | |||
c69e455bbc | |||
290eada0ac | |||
cc143f12a7 | |||
456296b5d1 | |||
f01f948282 | |||
9e1f22c8ad | |||
93de1b6999 | |||
1ce590133b | |||
503cddacb6 | |||
5e8068b74d | |||
d7f817d376 | |||
6fb427abbb | |||
bf7eed75b9 | |||
cd87ce7d0d | |||
4bf5cdab8e | |||
73a4c188b7 | |||
3c443a02a9 | |||
b4007fcc6f | |||
45c2fcc2a0 | |||
1407659110 | |||
eff5832ba1 | |||
fa48de62ac | |||
ac618c418e | |||
2c6860211f | |||
f7da756566 | |||
24d7ce383a | |||
ae5d569bb2 | |||
07d85380b2 | |||
f13a146c81 | |||
7b215826f3 | |||
a777d4c750 | |||
6036be1458 | |||
599701441e | |||
c57bf8ce9e | |||
23f832e29e | |||
ace5ac533a | |||
8639705365 | |||
92d92345ce | |||
56a29d2c97 | |||
b7ba8587c3 | |||
81afc79412 | |||
8d60e9d201 | |||
8dd7c4739b | |||
4ce504360b | |||
bb8b5e9a90 | |||
d526b4dbe1 | |||
f748012e01 | |||
4454015767 | |||
bbd837f040 | |||
e6ebfd0e8c | |||
9a1d16989f | |||
122c78dcb4 | |||
c5973cb98f | |||
9b7e531f94 | |||
18636afdce | |||
09320a8af1 | |||
5cc9522b15 | |||
7455e33cba | |||
991b4d47f0 | |||
bcd020f88e | |||
867b520301 | |||
e8d56ca863 | |||
440c705ea6 | |||
4cf5d53b62 | |||
ac4e58cab9 | |||
a2c75526d2 | |||
e2ac9141e6 | |||
037dbe8ed7 | |||
6cfe518967 | |||
a4ec347888 | |||
ff6f1695a3 | |||
2f45f3e2bc | |||
708cbef33a | |||
d077db1df0 | |||
75ff34bcf7 | |||
0ac270cf7c | |||
4a3d86e1bb | |||
97169fc361 | |||
26b8946421 | |||
583bc41923 | |||
b3a804663c | |||
4f2ba2d06a | |||
62091b4c87 | |||
2983cec0f2 | |||
efbade0660 | |||
2a0cafd464 | |||
45fe28c951 | |||
834625bd6f | |||
b9f791aee6 | |||
9a160990ef | |||
70ff41ffcf | |||
00e38ba6d8 | |||
f2cb46a6b3 | |||
90b7153806 | |||
34230514b8 | |||
dd77ff8181 | |||
9d2f9a6188 | |||
6ee36364eb | |||
244c27242f | |||
43ad3af380 | |||
4a37b80e88 | |||
61f883965f | |||
9df0fc3d57 | |||
974c919d36 | |||
2bacb83466 | |||
f184289832 | |||
88c7b4c3c8 | |||
f6c71f81f9 | |||
04bf052eef | |||
ae807d778f | |||
321ee43628 | |||
72365bb499 | |||
b8db6ed826 | |||
9725c8dda2 | |||
a5c0ed3d83 | |||
ccb1fccc21 | |||
ff37a60c36 | |||
77e3f931ef | |||
d271892fbc | |||
332acc248d | |||
6a5678f257 | |||
b80121027d | |||
acd920a0ee | |||
c73d46b3a8 | |||
9210a00d65 | |||
b855f5045e | |||
83760938bd | |||
03bdcfcc78 | |||
c46452eb98 | |||
e66e9906e6 | |||
d073bdc6a0 | |||
8db2f665e1 | |||
d4fe066e4b | |||
3d3c23b3a7 | |||
087c745833 | |||
dccf6c16f1 | |||
b18aaaa5e9 | |||
6fd1cc8f98 | |||
bcdff626ee | |||
8c2d8d04f0 | |||
2df5387ed0 | |||
b8403129d3 | |||
f05da2b48b | |||
2b9c120970 | |||
c7a42644b0 | |||
1b82b936e3 | |||
d991df4bf6 | |||
bb754fe0b8 | |||
c70b5e7187 | |||
c70bc338e9 | |||
bd75856ef7 | |||
d9976b1845 | |||
472a219f8d | |||
ec4f70e647 | |||
e704a4486e | |||
2981dbea78 | |||
13ce8f9f14 | |||
87bfbd52e2 | |||
e1c192d387 | |||
eb57277ba3 | |||
48803821b1 | |||
c5f5c5082f | |||
fd6d9bec14 | |||
87ad07d735 | |||
059fda1902 | |||
3ce1138272 | |||
53255916b7 | |||
7316dc5f6f | |||
fe18733927 | |||
615a84ad78 | |||
5c11c0d52c | |||
f36d4f8316 | |||
d17294a05e | |||
38062e73e0 | |||
ee52b35e50 | |||
1b4d9b4512 | |||
008028a910 | |||
66775d2109 | |||
4bb003d539 | |||
d0bb19cbf7 | |||
391d85d78d | |||
8b9c425629 | |||
492261a6de | |||
7a9ae6d0d9 | |||
3d7e039117 | |||
8af16e2792 | |||
9164d97a63 | |||
959d670d1a | |||
1a8aea857e | |||
a699367bb8 | |||
0a2bfccb9c | |||
679e3693ab | |||
961b130d20 | |||
b3118a56f9 | |||
74900a6b35 | |||
accf1eb1d0 | |||
1ccad6a1f1 | |||
a02014bb4c | |||
bbfb1c243d | |||
791afae292 | |||
587c3d0da6 | |||
8266e0c029 | |||
9325285df4 | |||
45d0212a71 | |||
d9f88dd8bb | |||
59d9442f28 | |||
cd26cd6c7c | |||
ddea5719fa | |||
74f3390dde | |||
757e75c81e | |||
56fa5ac39a | |||
0dec322d31 | |||
0d83d8240d | |||
20323d104e | |||
95433eeed9 | |||
6054d1aac3 | |||
a28d094ac2 | |||
24dbdab50d | |||
35f6967161 | |||
7b90ab467a | |||
db757e8b8d | |||
714edc620c | |||
a9a136c232 | |||
a68c5b9eba | |||
6798b08e84 | |||
5407764069 | |||
6e0a2ca027 | |||
3f3e76082b | |||
bc0893cf3b | |||
e89f151db1 | |||
9158a3564a | |||
eaf0e83009 | |||
53af25e47c | |||
5e00514745 | |||
c9e04d905e | |||
09e0be130d | |||
5d01301f2b | |||
90fb70e458 | |||
4c53a8c20f | |||
f120b65cd4 | |||
2ae8eb5d71 | |||
2826ffad8c | |||
0f03f04c5c | |||
75408ca949 | |||
4d4d4eaa7b | |||
d843e319f8 | |||
e9b272e4c1 | |||
deeaf5ee07 | |||
5d4dc38bfd | |||
6de07229ac | |||
cdba0295b0 | |||
607817a3c8 | |||
fa1101afb6 | |||
3a73c1dfaf | |||
d2ef3cb7e2 | |||
851b3d7671 | |||
ba5e8a0eb8 | |||
667a560be7 | |||
6780e68040 | |||
8d56136d03 | |||
f8b60cf99b | |||
7f514b7a5e | |||
a80f0f91b1 | |||
791170fa2b | |||
f0ed59afcc | |||
90a8ea47d8 | |||
09a77999e7 | |||
95e8383bac | |||
61fd31a179 | |||
b23dac905b | |||
7747e12d71 | |||
cbac0076ef | |||
7838d9c2a9 | |||
ce14de03db | |||
09444e74e3 | |||
38c541ce94 | |||
cd1528ef8e | |||
7700ab087b | |||
6ae8086161 | |||
ee464c4e37 | |||
b7de153bd9 | |||
1526d0fcfd | |||
d6a9f5ea8e | |||
1946d45844 | |||
4840002a5f | |||
ab2fba0868 | |||
69f4c23009 | |||
bd55eee04b | |||
ae42fa4c03 | |||
ff5b7913f0 | |||
dccea605b6 | |||
07564773c2 | |||
e38bcc66d8 | |||
89bece5c8c | |||
c6e19e47a6 | |||
7ea759cf9b | |||
451b66c533 | |||
ac873c2bff | |||
ae103c37d3 | |||
9e2b35d764 | |||
0fff4ea346 | |||
519947b69a | |||
6046f7a91c | |||
a59b8dd94f | |||
87953304da | |||
7f44842ac1 | |||
b3d4896aad | |||
297ca895a2 | |||
de4eaae63a | |||
01033de49f | |||
66c0dabab5 | |||
9391b88dab | |||
c983374035 | |||
a94b94506b | |||
049cdbb059 | |||
6322511148 | |||
fb222079d3 | |||
33e9224320 | |||
b20aab5017 | |||
f5f6a6cd47 | |||
f7445865f2 | |||
27e27ee224 | |||
24d4d38c0b | |||
32d9c0ed1e | |||
6327f0efed | |||
944d808e42 | |||
518e15db74 | |||
159af2a97f | |||
ea0fca8d2a | |||
7ff31e1c72 | |||
50b2d72e11 | |||
e2724c1ed1 | |||
48af1fdee3 | |||
80dabf99ee | |||
0f8f20f222 | |||
ba5bb8152c | |||
8efa2acc2e | |||
80c2e9657f | |||
386c076a86 | |||
135a12bc14 | |||
bec587d4c1 | |||
af4e5f569b | |||
0330edb239 | |||
15f002812f | |||
399b198489 | |||
ed69e11b89 | |||
2b95d94b05 | |||
b56bd95bbc | |||
9ae39fef7f | |||
47efda967c | |||
05cd988dce | |||
4ed7dfa713 | |||
c11f95010c | |||
2ed1b64ebd | |||
ffad994138 | |||
2ce8254362 | |||
958fbc74e3 | |||
fbe73f61cb | |||
69840cc0f7 | |||
6bcc4e2c7d | |||
ee27abd30d | |||
fe7f7ad36c | |||
90999dd686 | |||
ffb9f29809 | |||
c8464a3df9 | |||
df3c41adeb | |||
36b65715a4 | |||
9a329bdb49 | |||
31e3912369 | |||
d79d299352 | |||
9023535bd3 | |||
af6a51875a | |||
26b5d6b0e5 | |||
b3df8c982a | |||
3013d98d7a | |||
48609de3bf | |||
b9ca5e2657 | |||
c35e9f5ecd | |||
e015d4d961 | |||
35682ada44 | |||
88078f543b | |||
b553ef6749 | |||
1e9e10e048 | |||
1624333ec1 | |||
bb01b26dec | |||
22d2f70e85 | |||
f2b255141b | |||
5906910794 | |||
cac15b3fb4 | |||
65387fd5eb | |||
14a38adf53 | |||
1ffcbaa1a5 | |||
12f82b0dd7 | |||
453cef7455 | |||
83ca08298e | |||
2a72807f6d | |||
c9c082850d | |||
4e2e2a4ffe | |||
a4510f8106 | |||
cde28af37b | |||
68d1da41c4 | |||
a5c97b0164 | |||
e1e1de0c6d | |||
0517f591ca | |||
9d505b7b49 | |||
68d924e1de | |||
7008ddc645 | |||
d16632f694 | |||
8c591dbfce | |||
ab961513c4 | |||
5fb249021c | |||
83dc443439 | |||
cb57f25021 | |||
4b1fd48874 | |||
38ad274f94 | |||
05b345af64 | |||
f91e43e2cd | |||
59b1ff19f0 | |||
79aed79241 | |||
33d7bdd645 | |||
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 | |||
a2585719b3 | |||
34ae3b7071 | |||
4a9b204920 | |||
b80741e5b9 | |||
95ba86a203 | |||
306f445ed1 | |||
dbb1c61365 | |||
f443246b9f | |||
0c8ac06b53 | |||
a755530454 | |||
0d3979c175 | |||
1a3017d908 | |||
72ddf34d7c | |||
67ad630617 | |||
432a50bebf | |||
25d4e02cfc | |||
ab81cf242c | |||
593ffdd80b | |||
bad62a8cd5 | |||
474c119fda | |||
96e7225b31 | |||
9bfa5fbae2 | |||
58d4d7f1c5 | |||
caeef01ea7 | |||
2ede073fd2 | |||
9b71efd014 | |||
0275e4daab | |||
ab6245bdee | |||
4e9a325253 | |||
40e7cfdd46 | |||
727e6ea350 | |||
8a470599f3 | |||
3d8a3038bc | |||
0a6adc26e2 | |||
cfc5cf428b | |||
f2d275984d | |||
e2b154277a | |||
9dbf00ba78 | |||
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 | |||
e391a45102 | |||
3ce8888fb4 | |||
dcc0cd074f | |||
2dc94da374 | |||
4f4b18497a | |||
0dc90d954d | |||
8bb565d375 | |||
a3eca58445 | |||
391c3a1020 | |||
a481d4378c | |||
fdfae830f8 | |||
245b948815 | |||
9ce6000cb7 | |||
57d6a1cf96 | |||
b3fe468075 | |||
485fd2c3da | |||
5a40417876 | |||
97fe725075 | |||
fa476be8f0 | |||
68c69f90c8 | |||
ddf8420b59 | |||
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 | |||
5046831626 | |||
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 | |||
4e26066009 | |||
bb4921cf45 | |||
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 | |||
0527ccb1b5 | |||
ed922dcab6 | |||
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 | |||
25715419bf | |||
707d2f2fe8 | |||
c08bb26010 | |||
df7375d772 | |||
4a6e4b9602 | |||
5f439a0ecf | |||
4150a1677b | |||
1bf2673685 | |||
5263e22cba | |||
f7991f01f2 | |||
96bfb2d8ce | |||
7d3fc7df70 | |||
7b089120d9 | |||
0ea906d205 | |||
c152456453 | |||
0f2140f105 | |||
ccd3258b4d | |||
5024ade1b1 | |||
49da404070 | |||
bf5b83fd8a | |||
2a4aed42ec | |||
49f1eb3b34 | |||
0adc8ba6ae | |||
71076d0edd | |||
3b4b5a793a | |||
350a2518c8 | |||
538ac74604 | |||
4a2dcb1a08 | |||
56eed3422c | |||
085b98f6cd | |||
fd3cb0501e | |||
e083ef5d54 | |||
6b13bc3232 | |||
b82dd3f7f2 | |||
663c5ad035 | |||
152923b132 | |||
9081a421a6 | |||
42c456ff81 | |||
ad506e6780 | |||
74db416c9c | |||
0ba558ffb1 | |||
88e9b1e3fc | |||
34de5b8eac | |||
68611f512c | |||
d34182b9e3 | |||
67ba13e5a4 | |||
f9b2b6684d | |||
b7088a5f9e | |||
6ae7e88353 | |||
7706294ec9 | |||
a443b762cf | |||
89557d68aa | |||
133db54dab | |||
49cbad0edd | |||
1cecd06e36 | |||
e88842ee1c | |||
3ebeb1d6b1 | |||
8d5be8b421 | |||
66d55b990e | |||
48bcd823d4 | |||
0f05f22516 | |||
191eb491ed | |||
a5bd782982 | |||
1ea3d7fcc4 | |||
875da7f061 | |||
9b591b9403 | |||
0e7696c64d | |||
e06c9e1df2 | |||
596b5e77c9 | |||
d6a09e795d | |||
e2ffeae3f6 | |||
e9aa762cc7 | |||
b79541af7a | |||
970fa57f76 | |||
df7000cd91 | |||
cbc985a1f4 | |||
4567e9c5f4 | |||
676063016a | |||
94882d1245 | |||
e2efbd2381 | |||
aecb85bdd1 | |||
16d4bd4f14 | |||
f54f48fc07 | |||
ca08972495 | |||
977e458cca | |||
f442c94638 | |||
dd9cede913 | |||
d96fb140f9 | |||
618200d243 | |||
e22ad35ed3 | |||
4ea08416b8 | |||
eccd97d0b0 | |||
1d517ceab9 | |||
3c6eb4ec50 | |||
a38989bd5b | |||
7d1b866778 | |||
f0ac30ec19 | |||
412e4caee3 | |||
655b8561d6 | |||
022815114a | |||
60980aed78 | |||
ee4a1d63d7 | |||
e6432e0f1f | |||
a8a6e0682d | |||
06ebae09f5 | |||
b7bf32b0c5 | |||
de658515ae | |||
05f1f41c9b | |||
aeefc1866c | |||
a2ce608244 | |||
2b7b75850c | |||
9e39acc94a | |||
7f4c3508c0 | |||
492cb394fb | |||
86609db9da | |||
71471b2a7c | |||
0b45a41dc1 | |||
2e59e78096 | |||
612942a1d2 | |||
ebeb39faad | |||
d7927d428c | |||
6e3b0348a4 | |||
c7c9692897 | |||
ab77294a2a | |||
7212f2887a | |||
692305ec67 | |||
98e7ab6d42 | |||
1a89796e4a | |||
41a28eb6c1 | |||
f1da24ca5e | |||
25a33b3342 | |||
4755d7dff7 | |||
6582bd31e3 | |||
ed90f04155 | |||
1e3ccb552f | |||
f65bb9fb06 | |||
6846f7248d | |||
0506eb71f7 | |||
ccf3cc1b18 | |||
ac0986e302 | |||
096a7fbb97 | |||
db7a3d25d6 | |||
76887df014 | |||
52106430dc | |||
5ac15ad250 | |||
c339ff690f | |||
df3458e957 | |||
8b72fea7e9 | |||
ef18119dec | |||
aa30fe1481 | |||
e4c497a194 | |||
d860c86ba5 | |||
e793168364 | |||
e48d427268 | |||
acb533440f | |||
1ae2b8cda8 | |||
3b34f636df | |||
ffc97f1a9e | |||
46bc0e731a | |||
17df8dbeba | |||
f14bd71934 | |||
35425d1034 | |||
e581fd7231 | |||
a322920d0b | |||
e303bf22f9 | |||
1214aa841b | |||
ef8a6c6268 | |||
890044708d | |||
27f7ed2a07 | |||
1f86b7cb63 | |||
27f3796ac1 |
@ -9,7 +9,7 @@ freebsd_12_task:
|
||||
DEFAULT_TEST_TARGET: prove
|
||||
DEVELOPER: 1
|
||||
freebsd_instance:
|
||||
image_family: freebsd-12-2
|
||||
image_family: freebsd-12-3
|
||||
memory: 2G
|
||||
install_script:
|
||||
pkg install -y gettext gmake perl5
|
||||
|
5
.github/workflows/check-whitespace.yml
vendored
5
.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:
|
||||
|
49
.github/workflows/main.yml
vendored
49
.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,6 +78,7 @@ jobs:
|
||||
}
|
||||
|
||||
windows-build:
|
||||
name: win build
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
runs-on: windows-latest
|
||||
@ -97,6 +99,7 @@ jobs:
|
||||
name: windows-artifacts
|
||||
path: artifacts
|
||||
windows-test:
|
||||
name: win test
|
||||
runs-on: windows-latest
|
||||
needs: [windows-build]
|
||||
strategy:
|
||||
@ -116,8 +119,8 @@ jobs:
|
||||
- name: test
|
||||
shell: bash
|
||||
run: . /etc/profile && ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||
- name: ci/print-test-failures.sh
|
||||
if: failure()
|
||||
- name: print test failures
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
shell: bash
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
@ -127,6 +130,7 @@ jobs:
|
||||
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:
|
||||
@ -178,6 +182,7 @@ jobs:
|
||||
name: vs-artifacts
|
||||
path: artifacts
|
||||
vs-test:
|
||||
name: win+VS test
|
||||
runs-on: windows-latest
|
||||
needs: vs-build
|
||||
strategy:
|
||||
@ -199,8 +204,8 @@ jobs:
|
||||
env:
|
||||
NO_SVN_TESTS: 1
|
||||
run: . /etc/profile && ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||
- name: ci/print-test-failures.sh
|
||||
if: failure()
|
||||
- name: print test failures
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
shell: bash
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
@ -210,6 +215,7 @@ jobs:
|
||||
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:
|
||||
@ -219,14 +225,25 @@ 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-20.04
|
||||
cc_package: gcc-8
|
||||
pool: ubuntu-latest
|
||||
- jobname: linux-TEST-vars
|
||||
cc: gcc
|
||||
os: ubuntu
|
||||
cc_package: gcc-8
|
||||
pool: ubuntu-latest
|
||||
- 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
|
||||
@ -236,14 +253,18 @@ jobs:
|
||||
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@v2
|
||||
- run: ci/install-dependencies.sh
|
||||
- run: ci/run-build-and-tests.sh
|
||||
- run: ci/print-test-failures.sh
|
||||
if: failure()
|
||||
- name: print test failures
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
shell: bash
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
uses: actions/upload-artifact@v2
|
||||
@ -251,6 +272,7 @@ jobs:
|
||||
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:
|
||||
@ -259,7 +281,8 @@ jobs:
|
||||
vector:
|
||||
- jobname: linux-musl
|
||||
image: alpine
|
||||
- jobname: Linux32
|
||||
- jobname: linux32
|
||||
os: ubuntu32
|
||||
image: daald/ubuntu32:xenial
|
||||
- jobname: pedantic
|
||||
image: fedora
|
||||
@ -271,8 +294,10 @@ jobs:
|
||||
- uses: actions/checkout@v1
|
||||
- run: ci/install-docker-dependencies.sh
|
||||
- run: ci/run-build-and-tests.sh
|
||||
- run: ci/print-test-failures.sh
|
||||
if: failure()
|
||||
- name: print test failures
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
shell: bash
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
uses: actions/upload-artifact@v1
|
||||
@ -289,6 +314,7 @@ jobs:
|
||||
- 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'
|
||||
@ -310,6 +336,7 @@ jobs:
|
||||
run: ci/install-dependencies.sh
|
||||
- run: make sparse
|
||||
documentation:
|
||||
name: documentation
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
env:
|
||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -53,6 +53,7 @@
|
||||
/git-cvsimport
|
||||
/git-cvsserver
|
||||
/git-daemon
|
||||
/git-diagnose
|
||||
/git-diff
|
||||
/git-diff-files
|
||||
/git-diff-index
|
||||
@ -72,11 +73,13 @@
|
||||
/git-format-patch
|
||||
/git-fsck
|
||||
/git-fsck-objects
|
||||
/git-fsmonitor--daemon
|
||||
/git-gc
|
||||
/git-get-tar-commit-id
|
||||
/git-grep
|
||||
/git-hash-object
|
||||
/git-help
|
||||
/git-hook
|
||||
/git-http-backend
|
||||
/git-http-fetch
|
||||
/git-http-push
|
||||
@ -183,6 +186,7 @@
|
||||
/git-worktree
|
||||
/git-write-tree
|
||||
/git-core-*/?*
|
||||
/git.res
|
||||
/gitweb/GITWEB-BUILD-OPTIONS
|
||||
/gitweb/gitweb.cgi
|
||||
/gitweb/static/gitweb.js
|
||||
@ -198,6 +202,7 @@
|
||||
*.[aos]
|
||||
*.o.json
|
||||
*.py[co]
|
||||
.build/
|
||||
.depend/
|
||||
*.gcda
|
||||
*.gcno
|
||||
@ -222,7 +227,6 @@
|
||||
*.hcc
|
||||
*.obj
|
||||
*.lib
|
||||
*.res
|
||||
*.sln
|
||||
*.sp
|
||||
*.suo
|
||||
|
5
.mailmap
5
.mailmap
@ -59,8 +59,9 @@ David Reiss <dreiss@facebook.com> <dreiss@dreiss-vmware.(none)>
|
||||
David S. Miller <davem@davemloft.net>
|
||||
David Turner <novalis@novalis.org> <dturner@twopensource.com>
|
||||
David Turner <novalis@novalis.org> <dturner@twosigma.com>
|
||||
Derrick Stolee <dstolee@microsoft.com> <stolee@gmail.com>
|
||||
Derrick Stolee <dstolee@microsoft.com> Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
|
||||
Derrick Stolee <derrickstolee@github.com> <stolee@gmail.com>
|
||||
Derrick Stolee <derrickstolee@github.com> Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
|
||||
Derrick Stolee <derrickstolee@github.com> <dstolee@microsoft.com>
|
||||
Deskin Miller <deskinm@umich.edu>
|
||||
Đoàn Trần Công Danh <congdanhqx@gmail.com> Doan Tran Cong Danh
|
||||
Dirk Süsserott <newsletter@dirk.my1.cc>
|
||||
|
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
|
@ -70,8 +70,8 @@ git@sfconservancy.org, or individually:
|
||||
|
||||
- Ævar Arnfjörð Bjarmason <avarab@gmail.com>
|
||||
- Christian Couder <christian.couder@gmail.com>
|
||||
- Jeff King <peff@peff.net>
|
||||
- Junio C Hamano <gitster@pobox.com>
|
||||
- Taylor Blau <me@ttaylorr.com>
|
||||
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
|
@ -26,6 +26,13 @@ code. For Git in general, a few rough rules are:
|
||||
go and fix it up."
|
||||
Cf. http://lkml.iu.edu/hypermail/linux/kernel/1001.3/01069.html
|
||||
|
||||
- Log messages to explain your changes are as important as the
|
||||
changes themselves. Clearly written code and in-code comments
|
||||
explain how the code works and what is assumed from the surrounding
|
||||
context. The log messages explain what the changes wanted to
|
||||
achieve and why the changes were necessary (more on this in the
|
||||
accompanying SubmittingPatches document).
|
||||
|
||||
Make your code readable and sensible, and don't try to be clever.
|
||||
|
||||
As for more concrete guidelines, just imitate the existing code
|
||||
@ -36,7 +43,10 @@ the overall style of existing code. Modifications to existing
|
||||
code is expected to match the style the surrounding code already
|
||||
uses (even if it doesn't match the overall style of existing code).
|
||||
|
||||
But if you must have a list of rules, here they are.
|
||||
But if you must have a list of rules, here are some language
|
||||
specific ones. Note that Documentation/ToolsForGit.txt document
|
||||
has a collection of tips to help you use some external tools
|
||||
to conform to these guidelines.
|
||||
|
||||
For shell scripts specifically (not exhaustive):
|
||||
|
||||
@ -210,6 +220,9 @@ For C programs:
|
||||
. since mid 2017 with 512f41cf, we have been using designated
|
||||
initializers for array (e.g. "int array[10] = { [5] = 2 }").
|
||||
|
||||
. since early 2021 with 765dc168882, we have been using variadic
|
||||
macros, mostly for printf-like trace and debug macros.
|
||||
|
||||
These used to be forbidden, but we have not heard any breakage
|
||||
report, and they are assumed to be safe.
|
||||
|
||||
@ -217,7 +230,10 @@ For C programs:
|
||||
the first statement (i.e. -Wdeclaration-after-statement).
|
||||
|
||||
- Declaring a variable in the for loop "for (int i = 0; i < 10; i++)"
|
||||
is still not allowed in this codebase.
|
||||
is still not allowed in this codebase. We are in the process of
|
||||
allowing it by waiting to see that 44ba10d6 (revision: use C99
|
||||
declaration of variable in for() loop, 2021-11-14) does not get
|
||||
complaints. Let's revisit this around November 2022.
|
||||
|
||||
- NULL pointers shall be written as NULL, not as 0.
|
||||
|
||||
@ -479,17 +495,6 @@ For Perl programs:
|
||||
|
||||
- Learn and use Git.pm if you need that functionality.
|
||||
|
||||
- For Emacs, it's useful to put the following in
|
||||
GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:
|
||||
|
||||
;; note the first part is useful for C editing, too
|
||||
((nil . ((indent-tabs-mode . t)
|
||||
(tab-width . 8)
|
||||
(fill-column . 80)))
|
||||
(cperl-mode . ((cperl-indent-level . 8)
|
||||
(cperl-extra-newline-before-brace . nil)
|
||||
(cperl-merge-trailing-else . t))))
|
||||
|
||||
For Python scripts:
|
||||
|
||||
- We follow PEP-8 (http://www.python.org/dev/peps/pep-0008/).
|
||||
@ -499,6 +504,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.
|
||||
@ -574,7 +606,7 @@ Writing Documentation:
|
||||
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
|
||||
addressing 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
|
||||
|
@ -1,3 +1,6 @@
|
||||
# Import tree-wide shared Makefile behavior and libraries
|
||||
include ../shared.mak
|
||||
|
||||
# Guard against environment variables
|
||||
MAN1_TXT =
|
||||
MAN5_TXT =
|
||||
@ -21,10 +24,21 @@ MAN1_TXT += gitweb.txt
|
||||
|
||||
# man5 / man7 guides (note: new guides should also be added to command-list.txt)
|
||||
MAN5_TXT += gitattributes.txt
|
||||
MAN5_TXT += gitformat-bundle.txt
|
||||
MAN5_TXT += gitformat-chunk.txt
|
||||
MAN5_TXT += gitformat-commit-graph.txt
|
||||
MAN5_TXT += gitformat-index.txt
|
||||
MAN5_TXT += gitformat-pack.txt
|
||||
MAN5_TXT += gitformat-signature.txt
|
||||
MAN5_TXT += githooks.txt
|
||||
MAN5_TXT += gitignore.txt
|
||||
MAN5_TXT += gitmailmap.txt
|
||||
MAN5_TXT += gitmodules.txt
|
||||
MAN5_TXT += gitprotocol-capabilities.txt
|
||||
MAN5_TXT += gitprotocol-common.txt
|
||||
MAN5_TXT += gitprotocol-http.txt
|
||||
MAN5_TXT += gitprotocol-pack.txt
|
||||
MAN5_TXT += gitprotocol-v2.txt
|
||||
MAN5_TXT += gitrepository-layout.txt
|
||||
MAN5_TXT += gitweb.conf.txt
|
||||
|
||||
@ -48,6 +62,7 @@ HOWTO_TXT += $(wildcard howto/*.txt)
|
||||
|
||||
DOC_DEP_TXT += $(wildcard *.txt)
|
||||
DOC_DEP_TXT += $(wildcard config/*.txt)
|
||||
DOC_DEP_TXT += $(wildcard includes/*.txt)
|
||||
|
||||
ifdef MAN_FILTER
|
||||
MAN_TXT = $(filter $(MAN_FILTER),$(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT))
|
||||
@ -90,25 +105,19 @@ SP_ARTICLES += $(API_DOCS)
|
||||
TECH_DOCS += MyFirstContribution
|
||||
TECH_DOCS += MyFirstObjectWalk
|
||||
TECH_DOCS += SubmittingPatches
|
||||
TECH_DOCS += technical/bundle-format
|
||||
TECH_DOCS += ToolsForGit
|
||||
TECH_DOCS += technical/bitmap-format
|
||||
TECH_DOCS += technical/bundle-uri
|
||||
TECH_DOCS += technical/hash-function-transition
|
||||
TECH_DOCS += technical/http-protocol
|
||||
TECH_DOCS += technical/index-format
|
||||
TECH_DOCS += technical/long-running-process-protocol
|
||||
TECH_DOCS += technical/multi-pack-index
|
||||
TECH_DOCS += technical/pack-format
|
||||
TECH_DOCS += technical/pack-heuristics
|
||||
TECH_DOCS += technical/pack-protocol
|
||||
TECH_DOCS += technical/parallel-checkout
|
||||
TECH_DOCS += technical/partial-clone
|
||||
TECH_DOCS += technical/protocol-capabilities
|
||||
TECH_DOCS += technical/protocol-common
|
||||
TECH_DOCS += technical/protocol-v2
|
||||
TECH_DOCS += technical/racy-git
|
||||
TECH_DOCS += technical/reftable
|
||||
TECH_DOCS += technical/send-pack-pipeline
|
||||
TECH_DOCS += technical/shallow
|
||||
TECH_DOCS += technical/signature-format
|
||||
TECH_DOCS += technical/trivial-merge
|
||||
SP_ARTICLES += $(TECH_DOCS)
|
||||
SP_ARTICLES += technical/api-index
|
||||
@ -215,38 +224,6 @@ DEFAULT_EDITOR_SQ = $(subst ','\'',$(DEFAULT_EDITOR))
|
||||
ASCIIDOC_EXTRA += -a 'git-default-editor=$(DEFAULT_EDITOR_SQ)'
|
||||
endif
|
||||
|
||||
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
|
||||
QUIET_SUBDIR1 =
|
||||
|
||||
ifneq ($(findstring $(MAKEFLAGS),w),w)
|
||||
PRINT_DIR = --no-print-directory
|
||||
else # "make -w"
|
||||
NO_SUBDIR = :
|
||||
endif
|
||||
|
||||
ifneq ($(findstring $(MAKEFLAGS),s),s)
|
||||
ifndef V
|
||||
QUIET = @
|
||||
QUIET_ASCIIDOC = @echo ' ' ASCIIDOC $@;
|
||||
QUIET_XMLTO = @echo ' ' XMLTO $@;
|
||||
QUIET_DB2TEXI = @echo ' ' DB2TEXI $@;
|
||||
QUIET_MAKEINFO = @echo ' ' MAKEINFO $@;
|
||||
QUIET_DBLATEX = @echo ' ' DBLATEX $@;
|
||||
QUIET_XSLTPROC = @echo ' ' XSLTPROC $@;
|
||||
QUIET_GEN = @echo ' ' GEN $@;
|
||||
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
|
||||
|
||||
all: html man
|
||||
|
||||
html: $(DOC_HTML)
|
||||
@ -316,6 +293,8 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
|
||||
cmds-synchingrepositories.txt \
|
||||
cmds-synchelpers.txt \
|
||||
cmds-guide.txt \
|
||||
cmds-developerinterfaces.txt \
|
||||
cmds-userinterfaces.txt \
|
||||
cmds-purehelpers.txt \
|
||||
cmds-foreignscminterface.txt
|
||||
|
||||
@ -331,12 +310,12 @@ $(mergetools_txt): mergetools-list.made
|
||||
|
||||
mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
|
||||
$(QUIET_GEN) \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=diff && \
|
||||
. ../git-mergetool--lib.sh && \
|
||||
show_tool_names can_diff "* " || :' >mergetools-diff.txt && \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
|
||||
show_tool_names can_diff' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-diff.txt && \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=merge && \
|
||||
. ../git-mergetool--lib.sh && \
|
||||
show_tool_names can_merge "* " || :' >mergetools-merge.txt && \
|
||||
show_tool_names can_merge' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-merge.txt && \
|
||||
date >$@
|
||||
|
||||
TRACK_ASCIIDOCFLAGS = $(subst ','\'',$(ASCIIDOC_COMMON):$(ASCIIDOC_HTML):$(ASCIIDOC_DOCBOOK))
|
||||
@ -419,7 +398,7 @@ gitman.texi: $(MAN_XML) cat-texi.perl texi.xsl
|
||||
$(RM) $@+
|
||||
|
||||
gitman.info: gitman.texi
|
||||
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi
|
||||
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $<
|
||||
|
||||
$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
|
||||
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@
|
||||
@ -463,25 +442,11 @@ quick-install-html: require-htmlrepo
|
||||
print-man1:
|
||||
@for i in $(MAN1_TXT); do echo $$i; done
|
||||
|
||||
## 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
|
||||
$(call mkdir_p_parent_template)
|
||||
$(QUIET_LINT_GITLINK)$(PERL_PATH) lint-gitlink.perl \
|
||||
$< \
|
||||
$(HOWTO_TXT) $(DOC_DEP_TXT) \
|
||||
@ -492,23 +457,18 @@ $(LINT_DOCS_GITLINK): .build/lint-docs/gitlink/%.ok: %.txt
|
||||
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
|
||||
$(call mkdir_p_parent_template)
|
||||
$(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
|
||||
$(call mkdir_p_parent_template)
|
||||
$(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)
|
||||
@ -524,7 +484,4 @@ doc-l10n install-l10n::
|
||||
$(MAKE) -C po $@
|
||||
endif
|
||||
|
||||
# Delete the target file on error
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
.PHONY: FORCE
|
||||
|
@ -710,13 +710,104 @@ dependencies. `prove` also makes the output nicer.
|
||||
Go ahead and commit this change, as well.
|
||||
|
||||
[[ready-to-share]]
|
||||
== Getting Ready to Share
|
||||
== Getting Ready to Share: Anatomy of a Patch Series
|
||||
|
||||
You may have noticed already that the Git project performs its code reviews via
|
||||
emailed patches, which are then applied by the maintainer when they are ready
|
||||
and approved by the community. The Git project does not accept patches from
|
||||
and approved by the community. The Git project does not accept contributions from
|
||||
pull requests, and the patches emailed for review need to be formatted a
|
||||
specific way. At this point the tutorial diverges, in order to demonstrate two
|
||||
specific way.
|
||||
|
||||
:patch-series: https://lore.kernel.org/git/pull.1218.git.git.1645209647.gitgitgadget@gmail.com/
|
||||
:lore: https://lore.kernel.org/git/
|
||||
|
||||
Before taking a look at how to convert your commits into emailed patches,
|
||||
let's analyze what the end result, a "patch series", looks like. Here is an
|
||||
{patch-series}[example] of the summary view for a patch series on the web interface of
|
||||
the {lore}[Git mailing list archive]:
|
||||
|
||||
----
|
||||
2022-02-18 18:40 [PATCH 0/3] libify reflog John Cai via GitGitGadget
|
||||
2022-02-18 18:40 ` [PATCH 1/3] reflog: libify delete reflog function and helpers John Cai via GitGitGadget
|
||||
2022-02-18 19:10 ` Ævar Arnfjörð Bjarmason [this message]
|
||||
2022-02-18 19:39 ` Taylor Blau
|
||||
2022-02-18 19:48 ` Ævar Arnfjörð Bjarmason
|
||||
2022-02-18 19:35 ` Taylor Blau
|
||||
2022-02-21 1:43 ` John Cai
|
||||
2022-02-21 1:50 ` Taylor Blau
|
||||
2022-02-23 19:50 ` John Cai
|
||||
2022-02-18 20:00 ` // other replies ellided
|
||||
2022-02-18 18:40 ` [PATCH 2/3] reflog: call reflog_delete from reflog.c John Cai via GitGitGadget
|
||||
2022-02-18 19:15 ` Ævar Arnfjörð Bjarmason
|
||||
2022-02-18 20:26 ` Junio C Hamano
|
||||
2022-02-18 18:40 ` [PATCH 3/3] stash: call reflog_delete from reflog.c John Cai via GitGitGadget
|
||||
2022-02-18 19:20 ` Ævar Arnfjörð Bjarmason
|
||||
2022-02-19 0:21 ` Taylor Blau
|
||||
2022-02-22 2:36 ` John Cai
|
||||
2022-02-22 10:51 ` Ævar Arnfjörð Bjarmason
|
||||
2022-02-18 19:29 ` [PATCH 0/3] libify reflog Ævar Arnfjörð Bjarmason
|
||||
2022-02-22 18:30 ` [PATCH v2 0/3] libify reflog John Cai via GitGitGadget
|
||||
2022-02-22 18:30 ` [PATCH v2 1/3] stash: add test to ensure reflog --rewrite --updatref behavior John Cai via GitGitGadget
|
||||
2022-02-23 8:54 ` Ævar Arnfjörð Bjarmason
|
||||
2022-02-23 21:27 ` Junio C Hamano
|
||||
// continued
|
||||
----
|
||||
|
||||
We can note a few things:
|
||||
|
||||
- Each commit is sent as a separate email, with the commit message title as
|
||||
subject, prefixed with "[PATCH _i_/_n_]" for the _i_-th commit of an
|
||||
_n_-commit series.
|
||||
- Each patch is sent as a reply to an introductory email called the _cover
|
||||
letter_ of the series, prefixed "[PATCH 0/_n_]".
|
||||
- Subsequent iterations of the patch series are labelled "PATCH v2", "PATCH
|
||||
v3", etc. in place of "PATCH". For example, "[PATCH v2 1/3]" would be the first of
|
||||
three patches in the second iteration. Each iteration is sent with a new cover
|
||||
letter (like "[PATCH v2 0/3]" above), itself a reply to the cover letter of the
|
||||
previous iteration (more on that below).
|
||||
|
||||
NOTE: A single-patch topic is sent with "[PATCH]", "[PATCH v2]", etc. without
|
||||
_i_/_n_ numbering (in the above thread overview, no single-patch topic appears,
|
||||
though).
|
||||
|
||||
[[cover-letter]]
|
||||
=== The cover letter
|
||||
|
||||
In addition to an email per patch, the Git community also expects your patches
|
||||
to come with a cover letter. This is an important component of change
|
||||
submission as it explains to the community from a high level what you're trying
|
||||
to do, and why, in a way that's more apparent than just looking at your
|
||||
patches.
|
||||
|
||||
The title of your cover letter should be something which succinctly covers the
|
||||
purpose of your entire topic branch. It's often in the imperative mood, just
|
||||
like our commit message titles. Here is how we'll title our series:
|
||||
|
||||
---
|
||||
Add the 'psuh' command
|
||||
---
|
||||
|
||||
The body of the cover letter is used to give additional context to reviewers.
|
||||
Be sure to explain anything your patches don't make clear on their own, but
|
||||
remember that since the cover letter is not recorded in the commit history,
|
||||
anything that might be useful to future readers of the repository's history
|
||||
should also be in your commit messages.
|
||||
|
||||
Here's an example body for `psuh`:
|
||||
|
||||
----
|
||||
Our internal metrics indicate widespread interest in the command
|
||||
git-psuh - that is, many users are trying to use it, but finding it is
|
||||
unavailable, using some unknown workaround instead.
|
||||
|
||||
The following handful of patches add the psuh command and implement some
|
||||
handy features on top of it.
|
||||
|
||||
This patchset is part of the MyFirstContribution tutorial and should not
|
||||
be merged.
|
||||
----
|
||||
|
||||
At this point the tutorial diverges, in order to demonstrate two
|
||||
different methods of formatting your patchset and getting it reviewed.
|
||||
|
||||
The first method to be covered is GitGitGadget, which is useful for those
|
||||
@ -808,8 +899,22 @@ https://github.com/gitgitgadget/git and open a PR either with the "New pull
|
||||
request" button or the convenient "Compare & pull request" button that may
|
||||
appear with the name of your newly pushed branch.
|
||||
|
||||
Review the PR's title and description, as it's used by GitGitGadget as the cover
|
||||
letter for your change. When you're happy, submit your pull request.
|
||||
Review the PR's title and description, as they're used by GitGitGadget
|
||||
respectively as the subject and body of the cover letter for your change. Refer
|
||||
to <<cover-letter,"The cover letter">> above for advice on how to title your
|
||||
submission and what content to include in the description.
|
||||
|
||||
NOTE: For single-patch contributions, your commit message should already be
|
||||
meaningful and explain at a high level the purpose (what is happening and why)
|
||||
of your patch, so you usually do not need any additional context. In that case,
|
||||
remove the PR description that GitHub automatically generates from your commit
|
||||
message (your PR description should be empty). If you do need to supply even
|
||||
more context, you can do so in that space and it will be appended to the email
|
||||
that GitGitGadget will send, between the three-dash line and the diffstat
|
||||
(see <<single-patch,Bonus Chapter: One-Patch Changes>> for how this looks once
|
||||
submitted).
|
||||
|
||||
When you're happy, submit your pull request.
|
||||
|
||||
[[run-ci-ggg]]
|
||||
=== Running CI and Getting Ready to Send
|
||||
@ -905,19 +1010,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
|
||||
@ -937,49 +1057,29 @@ but want reviewers to look at what they have so far. You can add this flag with
|
||||
Check and make sure that your patches and cover letter template exist in the
|
||||
directory you specified - you're nearly ready to send out your review!
|
||||
|
||||
[[cover-letter]]
|
||||
[[preparing-cover-letter]]
|
||||
=== Preparing Email
|
||||
|
||||
In addition to an email per patch, the Git community also expects your patches
|
||||
to come with a cover letter, typically with a subject line [PATCH 0/x] (where
|
||||
x is the number of patches you're sending). Since you invoked `format-patch`
|
||||
with `--cover-letter`, you've already got a template ready. Open it up in your
|
||||
favorite editor.
|
||||
Since you invoked `format-patch` with `--cover-letter`, you've already got a
|
||||
cover letter template ready. Open it up in your favorite editor.
|
||||
|
||||
You should see a number of headers present already. Check that your `From:`
|
||||
header is correct. Then modify your `Subject:` to something which succinctly
|
||||
covers the purpose of your entire topic branch, for example:
|
||||
header is correct. Then modify your `Subject:` (see <<cover-letter,above>> for
|
||||
how to choose good title for your patch series):
|
||||
|
||||
----
|
||||
Subject: [PATCH 0/7] adding the 'psuh' command
|
||||
Subject: [PATCH 0/7] Add the 'psuh' command
|
||||
----
|
||||
|
||||
Make sure you retain the ``[PATCH 0/X]'' part; that's what indicates to the Git
|
||||
community that this email is the beginning of a review, and many reviewers
|
||||
filter their email for this type of flag.
|
||||
community that this email is the beginning of a patch series, and many
|
||||
reviewers filter their email for this type of flag.
|
||||
|
||||
You'll need to add some extra parameters when you invoke `git send-email` to add
|
||||
the cover letter.
|
||||
|
||||
Next you'll have to fill out the body of your cover letter. This is an important
|
||||
component of change submission as it explains to the community from a high level
|
||||
what you're trying to do, and why, in a way that's more apparent than just
|
||||
looking at your diff. Be sure to explain anything your diff doesn't make clear
|
||||
on its own.
|
||||
|
||||
Here's an example body for `psuh`:
|
||||
|
||||
----
|
||||
Our internal metrics indicate widespread interest in the command
|
||||
git-psuh - that is, many users are trying to use it, but finding it is
|
||||
unavailable, using some unknown workaround instead.
|
||||
|
||||
The following handful of patches add the psuh command and implement some
|
||||
handy features on top of it.
|
||||
|
||||
This patchset is part of the MyFirstContribution tutorial and should not
|
||||
be merged.
|
||||
----
|
||||
Next you'll have to fill out the body of your cover letter. Again, see
|
||||
<<cover-letter,above>> for what content to include.
|
||||
|
||||
The template created by `git format-patch --cover-letter` includes a diffstat.
|
||||
This gives reviewers a summary of what they're in for when reviewing your topic.
|
||||
|
@ -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.*/
|
||||
@ -506,24 +522,25 @@ function shows that the all-object walk is being performed by
|
||||
`traverse_commit_list()` or `traverse_commit_list_filtered()`. Those two
|
||||
functions reside in `list-objects.c`; examining the source shows that, despite
|
||||
the name, these functions traverse all kinds of objects. Let's have a look at
|
||||
the arguments to `traverse_commit_list_filtered()`, which are a superset of the
|
||||
arguments to the unfiltered version.
|
||||
the arguments to `traverse_commit_list()`.
|
||||
|
||||
- `struct list_objects_filter_options *filter_options`: This is a struct which
|
||||
stores a filter-spec as outlined in `Documentation/rev-list-options.txt`.
|
||||
- `struct rev_info *revs`: This is the `rev_info` used for the walk.
|
||||
- `struct rev_info *revs`: This is the `rev_info` used for the walk. If
|
||||
its `filter` member is not `NULL`, then `filter` contains information for
|
||||
how to filter the object list.
|
||||
- `show_commit_fn show_commit`: A callback which will be used to handle each
|
||||
individual commit object.
|
||||
- `show_object_fn show_object`: A callback which will be used to handle each
|
||||
non-commit object (so each blob, tree, or tag).
|
||||
- `void *show_data`: A context buffer which is passed in turn to `show_commit`
|
||||
and `show_object`.
|
||||
|
||||
In addition, `traverse_commit_list_filtered()` has an additional paramter:
|
||||
|
||||
- `struct oidset *omitted`: A linked-list of object IDs which the provided
|
||||
filter caused to be omitted.
|
||||
|
||||
It looks like this `traverse_commit_list_filtered()` uses callbacks we provide
|
||||
instead of needing us to call it repeatedly ourselves. Cool! Let's add the
|
||||
callbacks first.
|
||||
It looks like these methods use callbacks we provide instead of needing us
|
||||
to call it repeatedly ourselves. Cool! Let's add the callbacks first.
|
||||
|
||||
For the sake of this tutorial, we'll simply keep track of how many of each kind
|
||||
of object we find. At file scope in `builtin/walken.c` add the following
|
||||
@ -624,9 +641,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,20 +713,9 @@ 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
|
||||
`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 = {};
|
||||
|
||||
...
|
||||
----
|
||||
|
||||
For now, we are not going to track the omitted objects, so we'll replace those
|
||||
parameters with `NULL`. For the sake of simplicity, we'll add a simple
|
||||
build-time branch to use our filter or not. Replace the line calling
|
||||
build-time branch to use our filter or not. Preface the line calling
|
||||
`traverse_commit_list()` with the following, which will remind us which kind of
|
||||
walk we've just performed:
|
||||
|
||||
@ -712,19 +723,17 @@ walk we've just performed:
|
||||
if (0) {
|
||||
/* Unfiltered: */
|
||||
trace_printf(_("Unfiltered object walk.\n"));
|
||||
traverse_commit_list(rev, walken_show_commit,
|
||||
walken_show_object, NULL);
|
||||
} else {
|
||||
trace_printf(
|
||||
_("Filtered object walk with filterspec 'tree:1'.\n"));
|
||||
parse_list_objects_filter(&filter_options, "tree:1");
|
||||
|
||||
traverse_commit_list_filtered(&filter_options, rev,
|
||||
walken_show_commit, walken_show_object, NULL, NULL);
|
||||
CALLOC_ARRAY(rev->filter, 1);
|
||||
parse_list_objects_filter(rev->filter, "tree:1");
|
||||
}
|
||||
traverse_commit_list(rev, walken_show_commit,
|
||||
walken_show_object, NULL);
|
||||
----
|
||||
|
||||
`struct list_objects_filter_options` is usually built directly from a command
|
||||
The `rev->filter` member is usually built directly from a command
|
||||
line argument, so the module provides an easy way to build one from a string.
|
||||
Even though we aren't taking user input right now, we can still build one with
|
||||
a hardcoded string using `parse_list_objects_filter()`.
|
||||
@ -763,7 +772,7 @@ object:
|
||||
----
|
||||
...
|
||||
|
||||
traverse_commit_list_filtered(&filter_options, rev,
|
||||
traverse_commit_list_filtered(rev,
|
||||
walken_show_commit, walken_show_object, NULL, &omitted);
|
||||
|
||||
...
|
||||
|
@ -1,60 +0,0 @@
|
||||
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
|
@ -1,86 +0,0 @@
|
||||
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
|
||||
|
@ -1,52 +0,0 @@
|
||||
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
|
||||
|
@ -1,43 +0,0 @@
|
||||
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.
|
@ -1,5 +0,0 @@
|
||||
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.
|
@ -1,5 +0,0 @@
|
||||
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.
|
@ -1,6 +0,0 @@
|
||||
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.
|
@ -1,6 +0,0 @@
|
||||
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.
|
@ -1,5 +0,0 @@
|
||||
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.
|
@ -1,8 +0,0 @@
|
||||
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.
|
@ -1,6 +0,0 @@
|
||||
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.
|
@ -1,7 +0,0 @@
|
||||
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.
|
@ -1,5 +0,0 @@
|
||||
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.
|
@ -1,5 +0,0 @@
|
||||
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.
|
@ -1,7 +0,0 @@
|
||||
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.
|
@ -1,7 +0,0 @@
|
||||
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.
|
@ -1,5 +0,0 @@
|
||||
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.
|
@ -1,5 +0,0 @@
|
||||
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.
|
@ -1,7 +0,0 @@
|
||||
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.
|
@ -1,7 +0,0 @@
|
||||
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.
|
429
Documentation/RelNotes/2.36.0.txt
Normal file
429
Documentation/RelNotes/2.36.0.txt
Normal file
@ -0,0 +1,429 @@
|
||||
Git 2.36 Release Notes
|
||||
======================
|
||||
|
||||
Updates since Git 2.35
|
||||
----------------------
|
||||
|
||||
Backward compatibility warts
|
||||
|
||||
* "git name-rev --stdin" has been deprecated and issues a warning
|
||||
when used; use "git name-rev --annotate-stdin" instead.
|
||||
|
||||
* "git clone --filter=... --recurse-submodules" only makes the
|
||||
top-level a partial clone, while submodules are fully cloned. This
|
||||
behaviour is changed to pass the same filter down to the submodules.
|
||||
|
||||
* With the fixes for CVE-2022-24765 that are common with versions of
|
||||
Git 2.30.4, 2.31.3, 2.32.2, 2.33.3, 2.34.3, and 2.35.3, Git has
|
||||
been taught not to recognise repositories owned by other users, in
|
||||
order to avoid getting affected by their config files and hooks.
|
||||
You can list the path to the safe/trusted repositories that may be
|
||||
owned by others on a multi-valued configuration variable
|
||||
`safe.directory` to override this behaviour, or use '*' to declare
|
||||
that you trust anything.
|
||||
|
||||
|
||||
Note to those who build from the source
|
||||
|
||||
* Since Git 2.31, our source assumed that the compiler you use to
|
||||
build Git supports variadic macros, with an easy-to-use escape
|
||||
hatch to allow compilation without variadic macros with an request
|
||||
to report that you had to use the escape hatch to the list.
|
||||
Because we haven't heard from anybody who actually needed to use
|
||||
the escape hatch, it has been removed, making support of variadic
|
||||
macros a hard requirement.
|
||||
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* Assorted updates to "git cat-file", especially "-h".
|
||||
|
||||
* The command line completion (in contrib/) learns to complete
|
||||
arguments to give to "git sparse-checkout" command.
|
||||
|
||||
* "git log --remerge-diff" shows the difference from mechanical merge
|
||||
result and the result that is actually recorded in a merge commit.
|
||||
|
||||
* "git log" and friends learned an option --exclude-first-parent-only
|
||||
to propagate UNINTERESTING bit down only along the first-parent
|
||||
chain, just like --first-parent option shows commits that lack the
|
||||
UNINTERESTING bit only along the first-parent chain.
|
||||
|
||||
* The command line completion script (in contrib/) learned to
|
||||
complete all Git subcommands, including the ones that are normally
|
||||
hidden, when GIT_COMPLETION_SHOW_ALL_COMMANDS is used.
|
||||
|
||||
* "git branch" learned the "--recurse-submodules" option.
|
||||
|
||||
* A user can forget to make a script file executable before giving
|
||||
it to "git bisect run". In such a case, all tests will exit with
|
||||
126 or 127 error codes, even on revisions that are marked as good.
|
||||
Try to recognize this situation and stop iteration early.
|
||||
|
||||
* When "index-pack" dies due to incoming data exceeding the maximum
|
||||
allowed input size, include the value of the limit in the error
|
||||
message.
|
||||
|
||||
* The error message given by "git switch HEAD~4" has been clarified
|
||||
to suggest the "--detach" option that is required.
|
||||
|
||||
* In sparse-checkouts, files mis-marked as missing from the working tree
|
||||
could lead to later problems. Such files were hard to discover, and
|
||||
harder to correct. Automatically detecting and correcting the marking
|
||||
of such files has been added to avoid these problems.
|
||||
|
||||
* "git cat-file" learns "--batch-command" mode, which is a more
|
||||
flexible interface than the existing "--batch" or "--batch-check"
|
||||
modes, to allow different kinds of inquiries made.
|
||||
|
||||
* The level of verbose output from the ort backend during inner merge
|
||||
has been aligned to that of the recursive backend.
|
||||
|
||||
* "git remote rename A B", depending on the number of remote-tracking
|
||||
refs involved, takes long time renaming them. The command has been
|
||||
taught to show progress bar while making the user wait.
|
||||
|
||||
* Bundle file format gets extended to allow a partial bundle,
|
||||
filtered by similar criteria you would give when making a
|
||||
partial/lazy clone.
|
||||
|
||||
* A new built-in userdiff driver for kotlin has been added.
|
||||
|
||||
* "git repack" learned a new configuration to disable triggering of
|
||||
age-old "update-server-info" command, which is rarely useful these
|
||||
days.
|
||||
|
||||
* "git stash" does not allow subcommands it internally runs as its
|
||||
implementation detail, except for "git reset", to emit messages;
|
||||
now "git reset" part has also been squelched.
|
||||
|
||||
* "git ls-tree" learns "--oid-only" option, similar to "--name-only",
|
||||
and more generalized "--format" option.
|
||||
|
||||
* "git fetch --refetch" learned to fetch everything without telling
|
||||
the other side what we already have, which is useful when you
|
||||
cannot trust what you have in the local object store.
|
||||
|
||||
* "git branch" gives hint when branch tracking cannot be established
|
||||
because fetch refspecs from multiple remote repositories overlap.
|
||||
|
||||
* "git worktree list --porcelain" did not c-quote pathnames and lock
|
||||
reasons with unsafe bytes correctly, which is worked around by
|
||||
introducing NUL terminated output format with "-z".
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* "git apply" (ab)used the util pointer of the string-list to keep
|
||||
track of how each symbolic link needs to be handled, which has been
|
||||
simplified by using strset.
|
||||
|
||||
* Fix a hand-rolled alloca() imitation that may have violated
|
||||
alignment requirement of data being sorted in compatibility
|
||||
implementation of qsort_s() and stable qsort().
|
||||
|
||||
* Use the parse-options API in "git reflog" command.
|
||||
|
||||
* The conditional inclusion mechanism of configuration files using
|
||||
"[includeIf <condition>]" learns to base its decision on the
|
||||
URL of the remote repository the repository interacts with.
|
||||
(merge 399b198489 jt/conditional-config-on-remote-url later to maint).
|
||||
|
||||
* "git name-rev --stdin" does not behave like usual "--stdin" at
|
||||
all. Start the process of renaming it to "--annotate-stdin".
|
||||
(merge a2585719b3 jc/name-rev-stdin later to maint).
|
||||
|
||||
* "git update-index", "git checkout-index", and "git clean" are
|
||||
taught to work better with the sparse checkout feature.
|
||||
|
||||
* Use an internal call to reset_head() helper function instead of
|
||||
spawning "git checkout" in "rebase", and update code paths that are
|
||||
involved in the change.
|
||||
|
||||
* Messages "ort" merge backend prepares while dealing with conflicted
|
||||
paths were unnecessarily confusing since it did not differentiate
|
||||
inner merges and outer merges.
|
||||
|
||||
* Small modernization of the rerere-train script (in contrib/).
|
||||
|
||||
* Use designated initializers we started using in mid 2017 in more
|
||||
parts of the codebase that are relatively quiescent.
|
||||
|
||||
* Improve failure case behaviour of xdiff library when memory
|
||||
allocation fails.
|
||||
|
||||
* General clean-up in reftable implementation, including
|
||||
clarification of the API documentation, tightening the code to
|
||||
honor documented length limit, etc.
|
||||
|
||||
* Remove the escape hatch we added when we introduced the weather
|
||||
balloon to use variadic macros unconditionally, to make it official
|
||||
that we now have a hard dependency on the feature.
|
||||
|
||||
* Makefile refactoring with a bit of suffixes rule stripping to
|
||||
optimize the runtime overhead.
|
||||
|
||||
* "git stash drop" is reimplemented as an internal call to
|
||||
reflog_delete() function, instead of invoking "git reflog delete"
|
||||
via run_command() API.
|
||||
|
||||
* Count string_list items in size_t, not "unsigned int".
|
||||
|
||||
* The single-key interactive operation used by "git add -p" has been
|
||||
made more robust.
|
||||
|
||||
* Remove unneeded <meta http-equiv=content-type...> from gitweb
|
||||
output.
|
||||
|
||||
* "git name-rev" learned to use the generation numbers when setting
|
||||
the lower bound of searching commits used to explain the revision,
|
||||
when available, instead of committer time.
|
||||
|
||||
* Replace core.fsyncObjectFiles with two new configuration variables,
|
||||
core.fsync and core.fsyncMethod.
|
||||
|
||||
* Updates to refs traditionally weren't fsync'ed, but we can
|
||||
configure using core.fsync variable to do so.
|
||||
|
||||
* "git reflog" command now uses parse-options API to parse its
|
||||
command line options.
|
||||
|
||||
|
||||
Fixes since v2.35
|
||||
-----------------
|
||||
|
||||
* "rebase" and "stash" in secondary worktrees are broken in
|
||||
Git 2.35.0, which has been corrected.
|
||||
|
||||
* "git pull --rebase" ignored the rebase.autostash configuration
|
||||
variable when the remote history is a descendant of our history,
|
||||
which has been corrected.
|
||||
(merge 3013d98d7a pb/pull-rebase-autostash-fix later to maint).
|
||||
|
||||
* "git update-index --refresh" has been taught to deal better with
|
||||
racy timestamps (just like "git status" already does).
|
||||
(merge 2ede073fd2 ms/update-index-racy later to maint).
|
||||
|
||||
* Avoid tests that are run under GIT_TRACE2 set from failing
|
||||
unnecessarily.
|
||||
(merge 944d808e42 js/test-unset-trace2-parents later to maint).
|
||||
|
||||
* The merge-ort misbehaved when merge.renameLimit configuration is
|
||||
set too low and failed to find all renames.
|
||||
(merge 9ae39fef7f en/merge-ort-restart-optim-fix later to maint).
|
||||
|
||||
* We explain that revs come first before the pathspec among command
|
||||
line arguments, but did not spell out that dashed options come
|
||||
before other args, which has been corrected.
|
||||
(merge c11f95010c tl/doc-cli-options-first later to maint).
|
||||
|
||||
* "git add -p" rewritten in C regressed hunk splitting in some cases,
|
||||
which has been corrected.
|
||||
(merge 7008ddc645 pw/add-p-hunk-split-fix later to maint).
|
||||
|
||||
* "git fetch --negotiate-only" is an internal command used by "git
|
||||
push" to figure out which part of our history is missing from the
|
||||
other side. It should never recurse into submodules even when
|
||||
fetch.recursesubmodules configuration variable is set, nor it
|
||||
should trigger "gc". The code has been tightened up to ensure it
|
||||
only does common ancestry discovery and nothing else.
|
||||
(merge de4eaae63a gc/fetch-negotiate-only-early-return later to maint).
|
||||
|
||||
* The code path that verifies signatures made with ssh were made to
|
||||
work better on a system with CRLF line endings.
|
||||
(merge caeef01ea7 fs/ssh-signing-crlf later to maint).
|
||||
|
||||
* "git sparse-checkout init" failed to write into $GIT_DIR/info
|
||||
directory when the repository was created without one, which has
|
||||
been corrected to auto-create it.
|
||||
(merge 7f44842ac1 jt/sparse-checkout-leading-dir-fix later to maint).
|
||||
|
||||
* Cloning from a repository that does not yet have any branches or
|
||||
tags but has other refs resulted in a "remote transport reported
|
||||
error", which has been corrected.
|
||||
(merge dccea605b6 jt/clone-not-quite-empty later to maint).
|
||||
|
||||
* Mark in various places in the code that the sparse index and the
|
||||
split index features are mutually incompatible.
|
||||
(merge 451b66c533 js/sparse-vs-split-index later to maint).
|
||||
|
||||
* Update the logic to compute alignment requirement for our mem-pool.
|
||||
(merge e38bcc66d8 jc/mem-pool-alignment later to maint).
|
||||
|
||||
* Pick a better random number generator and use it when we prepare
|
||||
temporary filenames.
|
||||
(merge 47efda967c bc/csprng-mktemps later to maint).
|
||||
|
||||
* Update the contributor-facing documents on proposed log messages.
|
||||
(merge cdba0295b0 jc/doc-log-messages later to maint).
|
||||
|
||||
* When "git fetch --prune" failed to prune the refs it wanted to
|
||||
prune, the command issued error messages but exited with exit
|
||||
status 0, which has been corrected.
|
||||
(merge c9e04d905e tg/fetch-prune-exit-code-fix later to maint).
|
||||
|
||||
* Problems identified by Coverity in the reftable code have been
|
||||
corrected.
|
||||
(merge 01033de49f hn/reftable-coverity-fixes later to maint).
|
||||
|
||||
* A bug that made multi-pack bitmap and the object order out-of-sync,
|
||||
making the .midx data corrupt, has been fixed.
|
||||
(merge f8b60cf99b tb/midx-bitmap-corruption-fix later to maint).
|
||||
|
||||
* The build procedure has been taught to notice older version of zlib
|
||||
and enable our replacement uncompress2() automatically.
|
||||
(merge 07564773c2 ab/auto-detect-zlib-compress2 later to maint).
|
||||
|
||||
* Interaction between fetch.negotiationAlgorithm and
|
||||
feature.experimental configuration variables has been corrected.
|
||||
(merge 714edc620c en/fetch-negotiation-default-fix later to maint).
|
||||
|
||||
* "git diff --diff-filter=aR" is now parsed correctly.
|
||||
(merge 75408ca949 js/diff-filter-negation-fix later to maint).
|
||||
|
||||
* When "git subtree" wants to create a merge, it used "git merge" and
|
||||
let it be affected by end-user's "merge.ff" configuration, which
|
||||
has been corrected.
|
||||
(merge 9158a3564a tk/subtree-merge-not-ff-only later to maint).
|
||||
|
||||
* Unlike "git apply", "git patch-id" did not handle patches with
|
||||
hunks that has only 1 line in either preimage or postimage, which
|
||||
has been corrected.
|
||||
(merge 757e75c81e jz/patch-id-hunk-header-parsing-fix later to maint).
|
||||
|
||||
* "receive-pack" checks if it will do any ref updates (various
|
||||
conditions could reject a push) before received objects are taken
|
||||
out of the temporary directory used for quarantine purposes, so
|
||||
that a push that is known-to-fail will not leave crufts that a
|
||||
future "gc" needs to clean up.
|
||||
(merge 5407764069 cb/clear-quarantine-early-on-all-ref-update-errors later to maint).
|
||||
|
||||
* When there is no object to write .bitmap file for, "git
|
||||
multi-pack-index" triggered an error, instead of just skipping,
|
||||
which has been corrected.
|
||||
(merge eb57277ba3 tb/midx-no-bitmap-for-no-objects later to maint).
|
||||
|
||||
* "git cmd -h" outside a repository should error out cleanly for many
|
||||
commands, but instead it hit a BUG(), which has been corrected.
|
||||
(merge 87ad07d735 js/short-help-outside-repo-fix later to maint).
|
||||
|
||||
* "working tree" and "per-worktree ref" were in glossary, but
|
||||
"worktree" itself wasn't, which has been corrected.
|
||||
(merge 2df5387ed0 jc/glossary-worktree later to maint).
|
||||
|
||||
* L10n support for a few error messages.
|
||||
(merge 3d3c23b3a7 bs/forbid-i18n-of-protocol-token-in-fetch-pack later to maint).
|
||||
|
||||
* Test modernization.
|
||||
(merge d4fe066e4b sy/t0001-use-path-is-helper later to maint).
|
||||
|
||||
* "git log --graph --graph" used to leak a graph structure, and there
|
||||
was no way to countermand "--graph" that appear earlier on the
|
||||
command line. A "--no-graph" option has been added and resource
|
||||
leakage has been plugged.
|
||||
|
||||
* Error output given in response to an ambiguous object name has been
|
||||
improved.
|
||||
(merge 3a73c1dfaf ab/ambiguous-object-name later to maint).
|
||||
|
||||
* "git sparse-checkout" wants to work with per-worktree configuration,
|
||||
but did not work well in a worktree attached to a bare repository.
|
||||
(merge 3ce1138272 ds/sparse-checkout-requires-per-worktree-config later to maint).
|
||||
|
||||
* Setting core.untrackedCache to true failed to add the untracked
|
||||
cache extension to the index.
|
||||
|
||||
* Workaround we have for versions of PCRE2 before their version 10.36
|
||||
were in effect only for their versions newer than 10.36 by mistake,
|
||||
which has been corrected.
|
||||
(merge 97169fc361 rs/pcre-invalid-utf8-fix-fix later to maint).
|
||||
|
||||
* Document Taylor as a new member of Git PLC at SFC. Welcome.
|
||||
(merge e8d56ca863 tb/coc-plc-update later to maint).
|
||||
|
||||
* "git checkout -b branch/with/multi/level/name && git stash" only
|
||||
recorded the last level component of the branch name, which has
|
||||
been corrected.
|
||||
|
||||
* Check the return value from parse_tree_indirect() to turn segfaults
|
||||
into calls to die().
|
||||
(merge 8d2eaf649a gc/parse-tree-indirect-errors later to maint).
|
||||
|
||||
* Newer version of GPGSM changed its output in a backward
|
||||
incompatible way to break our code that parses its output. It also
|
||||
added more processes our tests need to kill when cleaning up.
|
||||
Adjustments have been made to accommodate these changes.
|
||||
(merge b0b70d54c4 fs/gpgsm-update later to maint).
|
||||
|
||||
* The untracked cache newly computed weren't written back to the
|
||||
on-disk index file when there is no other change to the index,
|
||||
which has been corrected.
|
||||
|
||||
* "git config -h" did not describe the "--type" option correctly.
|
||||
(merge 5445124fad mf/fix-type-in-config-h later to maint).
|
||||
|
||||
* The way generation number v2 in the commit-graph files are
|
||||
(not) handled has been corrected.
|
||||
(merge 6dbf4b8172 ds/commit-graph-gen-v2-fixes later to maint).
|
||||
|
||||
* The method to trigger malloc check used in our tests no longer work
|
||||
with newer versions of glibc.
|
||||
(merge baedc59543 ep/test-malloc-check-with-glibc-2.34 later to maint).
|
||||
|
||||
* When "git fetch --recurse-submodules" grabbed submodule commits
|
||||
that would be needed to recursively check out newly fetched commits
|
||||
in the superproject, it only paid attention to submodules that are
|
||||
in the current checkout of the superproject. We now do so for all
|
||||
submodules that have been run "git submodule init" on.
|
||||
|
||||
* "git rebase $base $non_branch_commit", when $base is an ancestor or
|
||||
the $non_branch_commit, modified the current branch, which has been
|
||||
corrected.
|
||||
|
||||
* When "shallow" information is updated, we forgot to update the
|
||||
in-core equivalent, which has been corrected.
|
||||
|
||||
* When creating a loose object file, we didn't report the exact
|
||||
filename of the file we failed to fsync, even though the
|
||||
information was readily available, which has been corrected.
|
||||
|
||||
* "git am" can read from the standard input when no mailbox is given
|
||||
on the command line, but the end-user gets no indication when it
|
||||
happens, making Git appear stuck.
|
||||
(merge 7b20af6a06 jc/mailsplit-warn-on-tty later to maint).
|
||||
|
||||
* "git mv" failed to refresh the cached stat information for the
|
||||
entry it moved.
|
||||
(merge b7f9130a06 vd/mv-refresh-stat later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge cfc5cf428b jc/find-header later to maint).
|
||||
(merge 40e7cfdd46 jh/p4-fix-use-of-process-error-exception later to maint).
|
||||
(merge 727e6ea350 jh/p4-spawning-external-commands-cleanup later to maint).
|
||||
(merge 0a6adc26e2 rs/grep-expr-cleanup later to maint).
|
||||
(merge 4ed7dfa713 po/readme-mention-contributor-hints later to maint).
|
||||
(merge 6046f7a91c en/plug-leaks-in-merge later to maint).
|
||||
(merge 8c591dbfce bc/clarify-eol-attr later to maint).
|
||||
(merge 518e15db74 rs/parse-options-lithelp-help later to maint).
|
||||
(merge cbac0076ef gh/doc-typos later to maint).
|
||||
(merge ce14de03db ab/no-errno-from-resolve-ref-unsafe later to maint).
|
||||
(merge 2826ffad8c rc/negotiate-only-typofix later to maint).
|
||||
(merge 0f03f04c5c en/sparse-checkout-leakfix later to maint).
|
||||
(merge 74f3390dde sy/diff-usage-typofix later to maint).
|
||||
(merge 45d0212a71 ll/doc-mktree-typofix later to maint).
|
||||
(merge e9b272e4c1 js/no-more-legacy-stash later to maint).
|
||||
(merge 6798b08e84 ab/do-not-hide-failures-in-git-dot-pm later to maint).
|
||||
(merge 9325285df4 po/doc-check-ignore-markup-fix later to maint).
|
||||
(merge cd26cd6c7c sy/modernize-t-lib-read-tree-m-3way later to maint).
|
||||
(merge d17294a05e ab/hash-object-leakfix later to maint).
|
||||
(merge b8403129d3 jd/t0015-modernize later to maint).
|
||||
(merge 332acc248d ds/mailmap later to maint).
|
||||
(merge 04bf052eef ab/grep-patterntype later to maint).
|
||||
(merge 6ee36364eb ab/diff-free-more later to maint).
|
||||
(merge 63a36017fe nj/read-tree-doc-reffix later to maint).
|
||||
(merge eed36fce38 sm/no-git-in-upstream-of-pipe-in-tests later to maint).
|
||||
(merge c614beb933 ep/t6423-modernize later to maint).
|
||||
(merge 57be9c6dee ab/reflog-prep-fix later to maint).
|
||||
(merge 5327d8982a js/in-place-reverse-in-sequencer later to maint).
|
||||
(merge 2e2c0be51e dp/worktree-repair-in-usage later to maint).
|
||||
(merge 6563706568 jc/coding-guidelines-decl-in-for-loop later to maint).
|
33
Documentation/RelNotes/2.36.1.txt
Normal file
33
Documentation/RelNotes/2.36.1.txt
Normal file
@ -0,0 +1,33 @@
|
||||
Git v2.36.1 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.36
|
||||
-----------------
|
||||
|
||||
* "git submodule update" without pathspec should silently skip an
|
||||
uninitialized submodule, but it started to become noisy by mistake.
|
||||
|
||||
* "diff-tree --stdin" has been broken for about a year, but 2.36
|
||||
release broke it even worse by breaking running the command with
|
||||
<pathspec>, which in turn broke "gitk" and got noticed. This has
|
||||
been corrected by aligning its behaviour to that of "log".
|
||||
|
||||
* Regression fix for 2.36 where "git name-rev" started to sometimes
|
||||
reference strings after they are freed.
|
||||
|
||||
* "git show <commit1> <commit2>... -- <pathspec>" lost the pathspec
|
||||
when showing the second and subsequent commits, which has been
|
||||
corrected.
|
||||
|
||||
* "git fast-export -- <pathspec>" lost the pathspec when showing the
|
||||
second and subsequent commits, which has been corrected.
|
||||
|
||||
* "git format-patch <args> -- <pathspec>" lost the pathspec when
|
||||
showing the second and subsequent commits, which has been
|
||||
corrected.
|
||||
|
||||
* Get rid of a bogus and over-eager coccinelle rule.
|
||||
|
||||
* Correct choices of C compilers used in various CI jobs.
|
||||
|
||||
Also contains minor documentation updates and code clean-ups.
|
56
Documentation/RelNotes/2.36.2.txt
Normal file
56
Documentation/RelNotes/2.36.2.txt
Normal file
@ -0,0 +1,56 @@
|
||||
Git v2.36.2 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.5, v2.31.4,
|
||||
v2.32.3, v2.33.4, v2.34.4 and v2.35.4 to address the security
|
||||
issue CVE-2022-29187; see the release notes for these versions
|
||||
for details.
|
||||
|
||||
Apart from that, this maintenance release is primarily to merge down
|
||||
updates to the build and CI procedures from the 'master' front, in
|
||||
order to ensure that we can cut healthy maintenance releases in the
|
||||
future. It also contains a handful of small and trivially-correct
|
||||
bugfixes.
|
||||
|
||||
Fixes since v2.36.1
|
||||
-------------------
|
||||
|
||||
* Fixes real problems noticed by gcc 12 and works around false
|
||||
positives.
|
||||
|
||||
* Update URL to the gitk repository.
|
||||
|
||||
* The "--current" option of "git show-branch" should have been made
|
||||
incompatible with the "--reflog" mode, but this was not enforced,
|
||||
which has been corrected.
|
||||
|
||||
* "git archive --add-file=<path>" picked up the raw permission bits
|
||||
from the path and propagated to zip output in some cases, without
|
||||
normalization, which has been corrected (tar output did not have
|
||||
this issue).
|
||||
|
||||
* A bit of test framework fixes with a few fixes to issues found by
|
||||
valgrind.
|
||||
|
||||
* macOS CI jobs have been occasionally flaky due to tentative version
|
||||
skew between perforce and the homebrew packager. Instead of
|
||||
failing the whole CI job, just let it skip the p4 tests when this
|
||||
happens.
|
||||
|
||||
* The commit summary shown after making a commit is matched to what
|
||||
is given in "git status" not to use the break-rewrite heuristics.
|
||||
|
||||
* Avoid problems from interaction between malloc_check and address
|
||||
sanitizer.
|
||||
|
||||
* "git rebase --keep-base <upstream> <branch-to-rebase>" computed the
|
||||
commit to rebase onto incorrectly, which has been corrected.
|
||||
|
||||
* The path taken by "git multi-pack-index" command from the end user
|
||||
was compared with path internally prepared by the tool withut first
|
||||
normalizing, which lead to duplicated paths not being noticed,
|
||||
which has been corrected.
|
||||
|
||||
* "git clone --origin X" leaked piece of memory that held value read
|
||||
from the clone.defaultRemoteName configuration variable, which has
|
||||
been plugged.
|
337
Documentation/RelNotes/2.37.0.txt
Normal file
337
Documentation/RelNotes/2.37.0.txt
Normal file
@ -0,0 +1,337 @@
|
||||
Git v2.37 Release Notes
|
||||
=======================
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "vimdiff[123]" mergetool drivers have been reimplemented with a
|
||||
more generic layout mechanism.
|
||||
|
||||
* "git -v" and "git -h" are now understood as "git --version" and
|
||||
"git --help".
|
||||
|
||||
* The temporary files fed to external diff command are now generated
|
||||
inside a new temporary directory under the same basename.
|
||||
|
||||
* "git log --since=X" will stop traversal upon seeing a commit that
|
||||
is older than X, but there may be commits behind it that is younger
|
||||
than X when the commit was created with a faulty clock. A new
|
||||
option is added to keep digging without stopping, and instead
|
||||
filter out commits with timestamp older than X.
|
||||
|
||||
* "git -c branch.autosetupmerge=simple branch $A $B" will set the $B
|
||||
as $A's upstream only when $A and $B shares the same name, and "git
|
||||
-c push.default=simple" on branch $A would push to update the
|
||||
branch $A at the remote $B came from. Also more places use the
|
||||
sole remote, if exists, before defaulting to 'origin'.
|
||||
|
||||
* A new doc has been added that lists tips for tools to work with
|
||||
Git's codebase.
|
||||
|
||||
* "git remote -v" now shows the list-objects-filter used during
|
||||
fetching from the remote, if available.
|
||||
|
||||
* With the new http.curloptResolve configuration, the CURLOPT_RESOLVE
|
||||
mechanism that allows cURL based applications to use pre-resolved
|
||||
IP addresses for the requests is exposed to the scripts.
|
||||
|
||||
* "git add -i" was rewritten in C some time ago and has been in
|
||||
testing; the reimplementation is now exposed to general public by
|
||||
default.
|
||||
|
||||
* Deprecate non-cone mode of the sparse-checkout feature.
|
||||
|
||||
* Introduce a filesystem-dependent mechanism to optimize the way the
|
||||
bits for many loose object files are ensured to hit the disk
|
||||
platter.
|
||||
|
||||
* The "do not remove the directory the user started Git in" logic,
|
||||
when Git cannot tell where that directory is, is disabled. Earlier
|
||||
we refused to run in such a case.
|
||||
|
||||
* A mechanism to pack unreachable objects into a "cruft pack",
|
||||
instead of ejecting them into loose form to be reclaimed later, has
|
||||
been introduced.
|
||||
|
||||
* Update the doctype written in gitweb output to xhtml5.
|
||||
|
||||
* The "transfer.credentialsInURL" configuration variable controls what
|
||||
happens when a URL with embedded login credential is used on either
|
||||
"fetch" or "push". Credentials are currently only detected in
|
||||
`remote.<name>.url` config, not `remote.<name>.pushurl`.
|
||||
|
||||
* "git revert" learns "--reference" option to use more human-readable
|
||||
reference to the commit it reverts in the message template it
|
||||
prepares for the user.
|
||||
|
||||
* Various error messages that talk about the removal of
|
||||
"--preserve-merges" in "rebase" have been strengthened, and "rebase
|
||||
--abort" learned to get out of a state that was left by an earlier
|
||||
use of the option.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* The performance of the "untracked cache" feature has been improved
|
||||
when "--untracked-files=<mode>" and "status.showUntrackedFiles"
|
||||
are combined.
|
||||
|
||||
* "git stash" works better with sparse index entries.
|
||||
|
||||
* "git show :<path>" learned to work better with the sparse-index
|
||||
feature.
|
||||
|
||||
* Introduce and apply coccinelle rule to discourage an explicit
|
||||
comparison between a pointer and NULL, and applies the clean-up to
|
||||
the maintenance track.
|
||||
|
||||
* Preliminary code refactoring around transport and bundle code.
|
||||
|
||||
* "sparse-checkout" learns to work better with the sparse-index
|
||||
feature.
|
||||
|
||||
* A workflow change for translators are being proposed. git.pot is
|
||||
no longer version controlled and it is local responsibility of
|
||||
translators to generate it.
|
||||
|
||||
* Plug the memory leaks from the trickiest API of all, the revision
|
||||
walker.
|
||||
|
||||
* Rename .env_array member to .env in the child_process structure.
|
||||
|
||||
* The fsmonitor--daemon handles even more corner cases when
|
||||
watching filesystem events.
|
||||
|
||||
* A new bug() and BUG_if_bug() API is introduced to make it easier to
|
||||
uniformly log "detect multiple bugs and abort in the end" pattern.
|
||||
|
||||
|
||||
Fixes since v2.36
|
||||
-----------------
|
||||
|
||||
* "git submodule update" without pathspec should silently skip an
|
||||
uninitialized submodule, but it started to become noisy by mistake.
|
||||
(merge 4f1ccef87c gc/submodule-update-part2 later to maint).
|
||||
|
||||
* "diff-tree --stdin" has been broken for about a year, but 2.36
|
||||
release broke it even worse by breaking running the command with
|
||||
<pathspec>, which in turn broke "gitk" and got noticed. This has
|
||||
been corrected by aligning its behaviour to that of "log".
|
||||
(merge f8781bfda3 jc/diff-tree-stdin-fix later to maint).
|
||||
|
||||
* Regression fix for 2.36 where "git name-rev" started to sometimes
|
||||
reference strings after they are freed.
|
||||
(merge 45a14f578e rs/name-rev-fix-free-after-use later to maint).
|
||||
|
||||
* "git show <commit1> <commit2>... -- <pathspec>" lost the pathspec
|
||||
when showing the second and subsequent commits, which has been
|
||||
corrected.
|
||||
(merge 5cdb38458e jc/show-pathspec-fix later to maint).
|
||||
|
||||
* "git fast-export -- <pathspec>" lost the pathspec when showing the
|
||||
second and subsequent commits, which has been corrected.
|
||||
(merge d1c25272f5 rs/fast-export-pathspec-fix later to maint).
|
||||
|
||||
* "git format-patch <args> -- <pathspec>" lost the pathspec when
|
||||
showing the second and subsequent commits, which has been
|
||||
corrected.
|
||||
(merge 91f8f7e46f rs/format-patch-pathspec-fix later to maint).
|
||||
|
||||
* "git clone --origin X" leaked piece of memory that held value read
|
||||
from the clone.defaultRemoteName configuration variable, which has
|
||||
been plugged.
|
||||
(merge 6dfadc8981 jc/clone-remote-name-leak-fix later to maint).
|
||||
|
||||
* Get rid of a bogus and over-eager coccinelle rule.
|
||||
(merge 08bdd3a185 jc/cocci-xstrdup-or-null-fix later to maint).
|
||||
|
||||
* The path taken by "git multi-pack-index" command from the end user
|
||||
was compared with path internally prepared by the tool without first
|
||||
normalizing, which lead to duplicated paths not being noticed,
|
||||
which has been corrected.
|
||||
(merge 11f9e8de3d ds/midx-normalize-pathname-before-comparison later to maint).
|
||||
|
||||
* Correct choices of C compilers used in various CI jobs.
|
||||
(merge 3506cae04f ab/cc-package-fixes later to maint).
|
||||
|
||||
* Various cleanups to "git p4".
|
||||
(merge 4ff0108d9e jh/p4-various-fixups later to maint).
|
||||
|
||||
* The progress meter of "git blame" was showing incorrect numbers
|
||||
when processing only parts of the file.
|
||||
(merge e5f5d7d42e ea/progress-partial-blame later to maint).
|
||||
|
||||
* "git rebase --keep-base <upstream> <branch-to-rebase>" computed the
|
||||
commit to rebase onto incorrectly, which has been corrected.
|
||||
(merge 9e5ebe9668 ah/rebase-keep-base-fix later to maint).
|
||||
|
||||
* Fix a leak of FILE * in an error codepath.
|
||||
(merge c0befa0c03 kt/commit-graph-plug-fp-leak-on-error later to maint).
|
||||
|
||||
* Avoid problems from interaction between malloc_check and address
|
||||
sanitizer.
|
||||
(merge 067109a5e7 pw/test-malloc-with-sanitize-address later to maint).
|
||||
|
||||
* The commit summary shown after making a commit is matched to what
|
||||
is given in "git status" not to use the break-rewrite heuristics.
|
||||
(merge 84792322ed rs/commit-summary-wo-break-rewrite later to maint).
|
||||
|
||||
* Update a few end-user facing messages around EOL conversion.
|
||||
(merge c970d30c2c ah/convert-warning-message later to maint).
|
||||
|
||||
* Trace2 documentation updates.
|
||||
(merge a6c80c313c js/trace2-doc-fixes later to maint).
|
||||
|
||||
* Build procedure fixup.
|
||||
(merge 1fbfd96f50 mg/detect-compiler-in-c-locale later to maint).
|
||||
|
||||
* "git pull" without "--recurse-submodules=<arg>" made
|
||||
submodule.recurse take precedence over fetch.recurseSubmodules by
|
||||
mistake, which has been corrected.
|
||||
(merge 5819417365 gc/pull-recurse-submodules later to maint).
|
||||
|
||||
* "git bisect" was too silent before it is ready to start computing
|
||||
the actual bisection, which has been corrected.
|
||||
(merge f11046e6de cd/bisect-messages-from-pre-flight-states later to maint).
|
||||
|
||||
* macOS CI jobs have been occasionally flaky due to tentative version
|
||||
skew between perforce and the homebrew packager. Instead of
|
||||
failing the whole CI job, just let it skip the p4 tests when this
|
||||
happens.
|
||||
(merge f15e00b463 cb/ci-make-p4-optional later to maint).
|
||||
|
||||
* A bit of test framework fixes with a few fixes to issues found by
|
||||
valgrind.
|
||||
(merge 7c898554d7 ab/valgrind-fixes later to maint).
|
||||
|
||||
* "git archive --add-file=<path>" picked up the raw permission bits
|
||||
from the path and propagated to zip output in some cases, without
|
||||
normalization, which has been corrected (tar output did not have
|
||||
this issue).
|
||||
(merge 6a61661967 jc/archive-add-file-normalize-mode later to maint).
|
||||
|
||||
* "make coverage-report" without first running "make coverage" did
|
||||
not produce any meaningful result, which has been corrected.
|
||||
(merge 96ddfecc5b ep/coverage-report-wants-test-to-have-run later to maint).
|
||||
|
||||
* The "--current" option of "git show-branch" should have been made
|
||||
incompatible with the "--reflog" mode, but this was not enforced,
|
||||
which has been corrected.
|
||||
(merge 41c64ae0e7 jc/show-branch-g-current later to maint).
|
||||
|
||||
* "git fetch" unnecessarily failed when an unexpected optional
|
||||
section appeared in the output, which has been corrected.
|
||||
(merge 7709acf7be jt/fetch-peek-optional-section later to maint).
|
||||
|
||||
* The way "git fetch" without "--update-head-ok" ensures that HEAD in
|
||||
no worktree points at any ref being updated was too wasteful, which
|
||||
has been optimized a bit.
|
||||
(merge f7400da800 os/fetch-check-not-current-branch later to maint).
|
||||
|
||||
* "git fetch --recurse-submodules" from multiple remotes (either from
|
||||
a remote group, or "--all") used to make one extra "git fetch" in
|
||||
the submodules, which has been corrected.
|
||||
(merge 0353c68818 jc/avoid-redundant-submodule-fetch later to maint).
|
||||
|
||||
* With a recent update to refuse access to repositories of other
|
||||
people by default, "sudo make install" and "sudo git describe"
|
||||
stopped working, which has been corrected.
|
||||
(merge 6b11e3d52e cb/path-owner-check-with-sudo-plus later to maint).
|
||||
|
||||
* The tests that ensured merges stop when interfering local changes
|
||||
are present did not make sure that local changes are preserved; now
|
||||
they do.
|
||||
(merge 4b317450ce jc/t6424-failing-merge-preserve-local-changes later to maint).
|
||||
|
||||
* Some real problems noticed by gcc 12 have been fixed, while false
|
||||
positives have been worked around.
|
||||
|
||||
* Update the version of FreeBSD image used in Cirrus CI.
|
||||
(merge c58bebd4c6 pb/use-freebsd-12.3-in-cirrus-ci later to maint).
|
||||
|
||||
* The multi-pack-index code did not protect the packfile it is going
|
||||
to depend on from getting removed while in use, which has been
|
||||
corrected.
|
||||
(merge 4090511e40 tb/midx-race-in-pack-objects later to maint).
|
||||
|
||||
* Teach "git repack --geometric" work better with "--keep-pack" and
|
||||
avoid corrupting the repository when packsize limit is used.
|
||||
(merge 66731ff921 tb/geom-repack-with-keep-and-max later to maint).
|
||||
|
||||
* The documentation on the interaction between "--add-file" and
|
||||
"--prefix" options of "git archive" has been improved.
|
||||
(merge a75910602a rs/document-archive-prefix later to maint).
|
||||
|
||||
* A git subcommand like "git add -p" spawns a separate git process
|
||||
while relaying its command line arguments. A pathspec with only
|
||||
negative elements was mistakenly passed with an empty string, which
|
||||
has been corrected.
|
||||
(merge b02fdbc80a jc/all-negative-pathspec later to maint).
|
||||
|
||||
* With a more targeted workaround in http.c in another topic, we may
|
||||
be able to lift this blanket "GCC12 dangling-pointer warning is
|
||||
broken and unsalvageable" workaround.
|
||||
(merge 419141e495 cb/buggy-gcc-12-workaround later to maint).
|
||||
|
||||
* A misconfigured 'branch..remote' led to a bug in configuration
|
||||
parsing.
|
||||
(merge f1dfbd9ee0 gc/zero-length-branch-config-fix later to maint).
|
||||
|
||||
* "git -c diff.submodule=log range-diff" did not show anything for
|
||||
submodules that changed in the ranges being compared, and
|
||||
"git -c diff.submodule=diff range-diff" did not work correctly.
|
||||
Fix this by including the "--submodule=short" output
|
||||
unconditionally to be compared.
|
||||
|
||||
* In Git 2.36 we revamped the way how hooks are invoked. One change
|
||||
that is end-user visible is that the output of a hook is no longer
|
||||
directly connected to the standard output of "git" that spawns the
|
||||
hook, which was noticed post release. This is getting corrected.
|
||||
(merge a082345372 ab/hooks-regression-fix later to maint).
|
||||
|
||||
* Updating the graft information invalidates the list of parents of
|
||||
in-core commit objects that used to be in the graft file.
|
||||
|
||||
* "git show-ref --heads" (and "--tags") still iterated over all the
|
||||
refs only to discard refs outside the specified area, which has
|
||||
been corrected.
|
||||
(merge c0c9d35e27 tb/show-ref-optim later to maint).
|
||||
|
||||
* Remove redundant copying (with index v3 and older) or possible
|
||||
over-reading beyond end of mmapped memory (with index v4) has been
|
||||
corrected.
|
||||
(merge 6d858341d2 zh/read-cache-copy-name-entry-fix later to maint).
|
||||
|
||||
* Sample watchman interface hook sometimes failed to produce
|
||||
correctly formatted JSON message, which has been corrected.
|
||||
(merge 134047b500 sn/fsmonitor-missing-clock later to maint).
|
||||
|
||||
* Use-after-free (with another forget-to-free) fix.
|
||||
(merge 323822c72b ab/remote-free-fix later to maint).
|
||||
|
||||
* Remove a coccinelle rule that is no longer relevant.
|
||||
(merge b1299de4a1 jc/cocci-cleanup later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge e6b2582da3 cm/reftable-0-length-memset later to maint).
|
||||
(merge 0b75e5bf22 ab/misc-cleanup later to maint).
|
||||
(merge 52e1ab8a76 ea/rebase-code-simplify later to maint).
|
||||
(merge 756d15923b sg/safe-directory-tests-and-docs later to maint).
|
||||
(merge d097a23bfa ds/do-not-call-bug-on-bad-refs later to maint).
|
||||
(merge c36c27e75c rs/t7812-pcre2-ws-bug-test later to maint).
|
||||
(merge 1da312742d gf/unused-includes later to maint).
|
||||
(merge 465b30a92d pb/submodule-recurse-mode-enum later to maint).
|
||||
(merge 82b28c4ed8 km/t3501-use-test-helpers later to maint).
|
||||
(merge 72315e431b sa/t1011-use-helpers later to maint).
|
||||
(merge 95b3002201 cg/vscode-with-gdb later to maint).
|
||||
(merge fbe5f6b804 tk/p4-utf8-bom later to maint).
|
||||
(merge 17f273ffba tk/p4-with-explicity-sync later to maint).
|
||||
(merge 944db25c60 kf/p4-multiple-remotes later to maint).
|
||||
(merge b014cee8de jc/update-ozlabs-url later to maint).
|
||||
(merge 4ec5008062 pb/ggg-in-mfc-doc later to maint).
|
||||
(merge af845a604d tb/receive-pack-code-cleanup later to maint).
|
||||
(merge 2acf4cf001 js/ci-gcc-12-fixes later to maint).
|
||||
(merge 05e280c0a6 jc/http-clear-finished-pointer later to maint).
|
||||
(merge 8c49d704ef fh/transport-push-leakfix later to maint).
|
||||
(merge 1d232d38bd tl/ls-tree-oid-only later to maint).
|
||||
(merge db7961e6a6 gc/document-config-worktree-scope later to maint).
|
||||
(merge ce18a30bb7 fs/ssh-default-key-command-doc later to maint).
|
17
Documentation/RelNotes/2.37.1.txt
Normal file
17
Documentation/RelNotes/2.37.1.txt
Normal file
@ -0,0 +1,17 @@
|
||||
Git 2.37.1 Release Notes
|
||||
========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.5, v2.31.4,
|
||||
v2.32.3, v2.33.4, v2.34.4, v2.35.4, and v2.36.2 to address the
|
||||
security issue CVE-2022-29187; see the release notes for these
|
||||
versions for details.
|
||||
|
||||
Fixes since Git 2.37
|
||||
--------------------
|
||||
|
||||
* Rewrite of "git add -i" in C that appeared in Git 2.25 didn't
|
||||
correctly record a removed file to the index, which is an old
|
||||
regression but has become widely known because the C version has
|
||||
become the default in the latest release.
|
||||
|
||||
* Fix for CVS-2022-29187.
|
88
Documentation/RelNotes/2.37.2.txt
Normal file
88
Documentation/RelNotes/2.37.2.txt
Normal file
@ -0,0 +1,88 @@
|
||||
Git 2.37.2 Release Notes
|
||||
========================
|
||||
|
||||
This primarily is to backport various fixes accumulated on the 'master'
|
||||
front since 2.37.1.
|
||||
|
||||
Fixes since v2.37.1
|
||||
-------------------
|
||||
|
||||
* "git shortlog -n" relied on the underlying qsort() to be stable,
|
||||
which shouldn't have. Fixed.
|
||||
|
||||
* Variable quoting fix in the vimdiff driver of "git mergetool".
|
||||
|
||||
* An earlier attempt to plug leaks placed a clean-up label to jump to
|
||||
at a bogus place, which as been corrected.
|
||||
|
||||
* Fixes a long-standing corner case bug around directory renames in
|
||||
the merge-ort strategy.
|
||||
|
||||
* Recent update to vimdiff layout code has been made more robust
|
||||
against different end-user vim settings.
|
||||
|
||||
* In a non-bare repository, the behavior of Git when the
|
||||
core.worktree configuration variable points at a directory that has
|
||||
a repository as its subdirectory, regressed in Git 2.27 days.
|
||||
|
||||
* References to commands-to-be-typed-literally in "git rebase"
|
||||
documentation mark-up have been corrected.
|
||||
|
||||
* Give _() markings to fatal/warning/usage: labels that are shown in
|
||||
front of these messages.
|
||||
|
||||
* "git mktree --missing" lazily fetched objects that are missing from
|
||||
the local object store, which was totally unnecessary for the purpose
|
||||
of creating the tree object(s) from its input.
|
||||
|
||||
* Fixes for tests when the source directory has unusual characters in
|
||||
its path, e.g. whitespaces, double-quotes, etc.
|
||||
|
||||
* Adjust technical/bitmap-format to be formatted by AsciiDoc, and
|
||||
add some missing information to the documentation.
|
||||
|
||||
* Certain diff options are currently ignored when combined-diff is
|
||||
shown; mark them as incompatible with the feature.
|
||||
|
||||
* "git clone" from a repository with some ref whose HEAD is unborn
|
||||
did not set the HEAD in the resulting repository correctly, which
|
||||
has been corrected.
|
||||
|
||||
* mkstemp() emulation on Windows has been improved.
|
||||
|
||||
* Add missing documentation for "include" and "includeIf" features in
|
||||
"git config" file format, which incidentally teaches the command
|
||||
line completion to include them in its offerings.
|
||||
|
||||
* Avoid "white/black-list" in documentation and code comments.
|
||||
|
||||
* Workaround for a compiler warning against use of die() in
|
||||
osx-keychain (in contrib/).
|
||||
|
||||
* Workaround for a false positive compiler warning.
|
||||
|
||||
* The resolve-undo information in the index was not protected against
|
||||
GC, which has been corrected.
|
||||
|
||||
* A corner case bug where lazily fetching objects from a promisor
|
||||
remote resulted in infinite recursion has been corrected.
|
||||
|
||||
* "git p4" working on UTF-16 files on Windows did not implement
|
||||
CRLF-to-LF conversion correctly, which has been corrected.
|
||||
|
||||
* "git p4" did not handle non-ASCII client name well, which has been
|
||||
corrected.
|
||||
|
||||
* "rerere-train" script (in contrib/) used to honor commit.gpgSign
|
||||
while recreating the throw-away merges.
|
||||
|
||||
* "git checkout" miscounted the paths it updated, which has been
|
||||
corrected.
|
||||
|
||||
* Fix for a bug that makes write-tree to fail to write out a
|
||||
non-existent index as a tree, introduced in 2.37.
|
||||
|
||||
* There was a bug in the codepath to upgrade generation information
|
||||
in commit-graph from v1 to v2 format, which has been corrected.
|
||||
|
||||
Also contains minor documentation updates and code clean-ups.
|
46
Documentation/RelNotes/2.37.3.txt
Normal file
46
Documentation/RelNotes/2.37.3.txt
Normal file
@ -0,0 +1,46 @@
|
||||
Git 2.37.3 Release Notes
|
||||
========================
|
||||
|
||||
This primarily is to backport various fixes accumulated on the 'master'
|
||||
front since 2.37.2.
|
||||
|
||||
Fixes since v2.37.2
|
||||
-------------------
|
||||
|
||||
* The build procedure for Windows that uses CMake has been updated to
|
||||
pick up the shell interpreter from local installation location.
|
||||
|
||||
* Conditionally allow building Python interpreter on Windows
|
||||
|
||||
* Fix to lstat() emulation on Windows.
|
||||
|
||||
* Older gcc with -Wall complains about the universal zero initializer
|
||||
"struct s = { 0 };" idiom, which makes developers' lives
|
||||
inconvenient (as -Werror is enabled by DEVELOPER=YesPlease). The
|
||||
build procedure has been tweaked to help these compilers.
|
||||
|
||||
* Plug memory leaks in the failure code path in the "merge-ort" merge
|
||||
strategy backend.
|
||||
|
||||
* Avoid repeatedly running getconf to ask libc version in the test
|
||||
suite, and instead just as it once per script.
|
||||
|
||||
* Platform-specific code that determines if a directory is OK to use
|
||||
as a repository has been taught to report more details, especially
|
||||
on Windows.
|
||||
|
||||
* "vimdiff3" regression has been corrected.
|
||||
|
||||
* "git fsck" reads mode from tree objects but canonicalizes the mode
|
||||
before passing it to the logic to check object sanity, which has
|
||||
hid broken tree objects from the checking logic. This has been
|
||||
corrected, but to help exiting projects with broken tree objects
|
||||
that they cannot fix retroactively, the severity of anomalies this
|
||||
code detects has been demoted to "info" for now.
|
||||
|
||||
* Fixes to sparse index compatibility work for "reset" and "checkout"
|
||||
commands.
|
||||
|
||||
* Documentation for "git add --renormalize" has been improved.
|
||||
|
||||
Also contains other minor documentation updates and code clean-ups.
|
31
Documentation/RelNotes/2.37.4.txt
Normal file
31
Documentation/RelNotes/2.37.4.txt
Normal file
@ -0,0 +1,31 @@
|
||||
Git 2.37.4 Release Notes
|
||||
========================
|
||||
|
||||
This primarily is to backport various fixes accumulated on the 'master'
|
||||
front since 2.37.3.
|
||||
|
||||
Fixes since v2.37.3
|
||||
-------------------
|
||||
|
||||
* An earlier optimization discarded a tree-object buffer that is
|
||||
still in use, which has been corrected.
|
||||
|
||||
* Fix deadlocks between main Git process and subprocess spawned via
|
||||
the pipe_command() API, that can kill "git add -p" that was
|
||||
reimplemented in C recently.
|
||||
|
||||
* xcalloc(), imitating calloc(), takes "number of elements of the
|
||||
array", and "size of a single element", in this order. A call that
|
||||
does not follow this ordering has been corrected.
|
||||
|
||||
* The preload-index codepath made copies of pathspec to give to
|
||||
multiple threads, which were left leaked.
|
||||
|
||||
* Update the version of Ubuntu used for GitHub Actions CI from 18.04
|
||||
to 22.04.
|
||||
|
||||
* The auto-stashed local changes created by "git merge --autostash"
|
||||
was mixed into a conflicted state left in the working tree, which
|
||||
has been corrected.
|
||||
|
||||
Also contains other minor documentation updates and code clean-ups.
|
393
Documentation/RelNotes/2.38.0.txt
Normal file
393
Documentation/RelNotes/2.38.0.txt
Normal file
@ -0,0 +1,393 @@
|
||||
Git v2.38 Release Notes
|
||||
=======================
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "git remote show [-n] frotz" now pays attention to negative
|
||||
pathspec.
|
||||
|
||||
* "git push" sometimes perform poorly when reachability bitmaps are
|
||||
used, even in a repository where other operations are helped by
|
||||
bitmaps. The push.useBitmaps configuration variable is introduced
|
||||
to allow disabling use of reachability bitmaps only for "git push".
|
||||
|
||||
* "git grep -m<max-hits>" is a way to limit the hits shown per file.
|
||||
|
||||
* "git merge-tree" learned a new mode where it takes two commits and
|
||||
computes a tree that would result in the merge commit, if the
|
||||
histories leading to these two commits were to be merged.
|
||||
|
||||
* "git mv A B" in a sparsely populated working tree can be asked to
|
||||
move a path between directories that are "in cone" (i.e. expected
|
||||
to be materialized in the working tree) and "out of cone"
|
||||
(i.e. expected to be hidden). The handling of such cases has been
|
||||
improved.
|
||||
|
||||
* Earlier, HTTP transport clients learned to tell the server side
|
||||
what locale they are in by sending Accept-Language HTTP header, but
|
||||
this was done only for some requests but not others.
|
||||
|
||||
* Introduce a discovery.barerepository configuration variable that
|
||||
allows users to forbid discovery of bare repositories.
|
||||
|
||||
* Various messages that come from the pack-bitmap codepaths have been
|
||||
tweaked.
|
||||
|
||||
* "git rebase -i" learns to update branches whose tip appear in the
|
||||
rebased range with "--update-refs" option.
|
||||
|
||||
* "git ls-files" learns the "--format" option to tweak its output.
|
||||
|
||||
* "git cat-file" learned an option to use the mailmap when showing
|
||||
commit and tag objects.
|
||||
|
||||
* When "git merge" finds that it cannot perform a merge, it should
|
||||
restore the working tree to the state before the command was
|
||||
initiated, but in some corner cases it didn't.
|
||||
|
||||
* Operating modes like "--batch" of "git cat-file" command learned to
|
||||
take NUL-terminated input, instead of one-item-per-line.
|
||||
|
||||
* "git rm" has become more aware of the sparse-index feature.
|
||||
|
||||
* "git rev-list --disk-usage" learned to take an optional value
|
||||
"human" to show the reported value in human-readable format, like
|
||||
"3.40MiB".
|
||||
|
||||
* The "diagnose" feature to create a zip archive for diagnostic
|
||||
material has been lifted from "scalar" and made into a feature of
|
||||
"git bugreport".
|
||||
|
||||
* The namespaces used by "log --decorate" from "refs/" hierarchy by
|
||||
default has been tightened.
|
||||
|
||||
* "git rev-list --ancestry-path=C A..B" is a natural extension of
|
||||
"git rev-list A..B"; instead of choosing a subset of A..B to those
|
||||
that have ancestry relationship with A, it lets a subset with
|
||||
ancestry relationship with C.
|
||||
|
||||
* "scalar" now enables built-in fsmonitor on enlisted repositories,
|
||||
when able.
|
||||
|
||||
* The bash prompt (in contrib/) learned to optionally indicate when
|
||||
the index is unmerged.
|
||||
|
||||
* "git clone" command learned the "--bundle-uri" option to coordinate
|
||||
with hosting sites the use of pre-prepared bundle files.
|
||||
|
||||
* "git range-diff" learned to honor pathspec argument if given.
|
||||
|
||||
* "git format-patch --from=<ident>" can be told to add an in-body
|
||||
"From:" line even for commits that are authored by the given
|
||||
<ident> with "--force-in-body-from"option.
|
||||
|
||||
* The built-in fsmonitor refuses to work on a network mounted
|
||||
repositories; a configuration knob for users to override this has
|
||||
been introduced.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* Collection of what is referenced by objects in promisor packs have
|
||||
been optimized to inspect these objects in the in-pack order.
|
||||
|
||||
* Introduce a helper to see if a branch is already being worked on
|
||||
(hence should not be newly checked out in a working tree), which
|
||||
performs much better than the existing find_shared_symref() to
|
||||
replace many uses of the latter.
|
||||
|
||||
* Teach "git archive" to (optionally and then by default) avoid
|
||||
spawning an external "gzip" process when creating ".tar.gz" (and
|
||||
".tgz") archives.
|
||||
|
||||
* Allow large objects read from a packstream to be streamed into a
|
||||
loose object file straight, without having to keep it in-core as a
|
||||
whole.
|
||||
|
||||
* Further preparation to turn git-submodule.sh into a builtin
|
||||
continues.
|
||||
|
||||
* Apply Coccinelle rule to turn raw memmove() into MOVE_ARRAY() cpp
|
||||
macro, which would improve maintainability and readability.
|
||||
|
||||
* Teach "make all" to build gitweb as well.
|
||||
|
||||
* Tweak tests so that they still work when the "git init" template
|
||||
did not create .git/info directory.
|
||||
|
||||
* Add Coccinelle rules to detect the pattern of initializing and then
|
||||
finalizing a structure without using it in between at all, which
|
||||
happens after code restructuring and the compilers fail to
|
||||
recognize as an unused variable.
|
||||
|
||||
* The code to convert between GPG trust level strings and internal
|
||||
constants we use to represent them have been cleaned up.
|
||||
|
||||
* Support for libnettle as SHA256 implementation has been added.
|
||||
|
||||
* The way "git multi-pack" uses parse-options API has been improved.
|
||||
|
||||
* A coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
|
||||
macro has been improved.
|
||||
|
||||
* API tweak to make it easier to run fuzz testing on commit-graph parser.
|
||||
|
||||
* Omit fsync-related trace2 entries when their values are all zero.
|
||||
|
||||
* The codepath to write multi-pack index has been taught to release a
|
||||
large chunk of memory that holds an array of objects in the packs,
|
||||
as soon as it is done with the array, to reduce memory consumption.
|
||||
|
||||
* Add a level of redirection to array allocation API in xdiff part,
|
||||
to make it easier to share with the libgit2 project.
|
||||
|
||||
* "git fetch" client logs the partial clone filter used in the trace2
|
||||
output.
|
||||
|
||||
* The "bundle URI" design gets documented.
|
||||
|
||||
* The common ancestor negotiation exchange during a "git fetch"
|
||||
session now leaves trace log.
|
||||
|
||||
* Test portability improvements.
|
||||
(merge 4d1d843be7 mt/rot13-in-c later to maint).
|
||||
|
||||
* The "subcommand" mode is introduced to parse-options API and update
|
||||
the command line parser of Git commands with subcommands.
|
||||
|
||||
* The pack bitmap file gained a bitmap-lookup table to speed up
|
||||
locating the necessary bitmap for a given commit.
|
||||
|
||||
* The assembly version of SHA-1 implementation for PPC has been
|
||||
removed.
|
||||
|
||||
* The server side that responds to "git fetch" and "git clone"
|
||||
request has been optimized by allowing it to send objects in its
|
||||
object store without recomputing and validating the object names.
|
||||
|
||||
* Annotate function parameters that are not used (but cannot be
|
||||
removed for structural reasons), to prepare us to later compile
|
||||
with -Wunused warning turned on.
|
||||
|
||||
* Share the text used to explain configuration variables used by "git
|
||||
<subcmd>" in "git help <subcmd>" with the text from "git help config".
|
||||
|
||||
|
||||
Fixes since v2.37
|
||||
-----------------
|
||||
|
||||
* Rewrite of "git add -i" in C that appeared in Git 2.25 didn't
|
||||
correctly record a removed file to the index, which was fixed.
|
||||
|
||||
* Certain diff options are currently ignored when combined-diff is
|
||||
shown; mark them as incompatible with the feature.
|
||||
|
||||
* Adjust technical/bitmap-format to be formatted by AsciiDoc, and
|
||||
add some missing information to the documentation.
|
||||
|
||||
* Fixes for tests when the source directory has unusual characters in
|
||||
its path, e.g. whitespaces, double-quotes, etc.
|
||||
|
||||
* "git mktree --missing" lazily fetched objects that are missing from
|
||||
the local object store, which was totally unnecessary for the purpose
|
||||
of creating the tree object(s) from its input.
|
||||
|
||||
* Give _() markings to fatal/warning/usage: labels that are shown in
|
||||
front of these messages.
|
||||
|
||||
* References to commands-to-be-typed-literally in "git rebase"
|
||||
documentation mark-up have been corrected.
|
||||
|
||||
* In a non-bare repository, the behavior of Git when the
|
||||
core.worktree configuration variable points at a directory that has
|
||||
a repository as its subdirectory, regressed in Git 2.27 days.
|
||||
|
||||
* Recent update to vimdiff layout code has been made more robust
|
||||
against different end-user vim settings.
|
||||
|
||||
* Plug various memory leaks, both in the main code and in test-tool
|
||||
commands.
|
||||
|
||||
* Fixes a long-standing corner case bug around directory renames in
|
||||
the merge-ort strategy.
|
||||
|
||||
* The resolve-undo information in the index was not protected against
|
||||
GC, which has been corrected.
|
||||
|
||||
* A corner case bug where lazily fetching objects from a promisor
|
||||
remote resulted in infinite recursion has been corrected.
|
||||
|
||||
* "git clone" from a repository with some ref whose HEAD is unborn
|
||||
did not set the HEAD in the resulting repository correctly, which
|
||||
has been corrected.
|
||||
|
||||
* An earlier attempt to plug leaks placed a clean-up label to jump to
|
||||
at a bogus place, which as been corrected.
|
||||
|
||||
* Variable quoting fix in the vimdiff driver of "git mergetool"
|
||||
|
||||
* "git shortlog -n" relied on the underlying qsort() to be stable,
|
||||
which shouldn't have. Fixed.
|
||||
|
||||
* A fix for a regression in test framework.
|
||||
|
||||
* mkstemp() emulation on Windows has been improved.
|
||||
|
||||
* Add missing documentation for "include" and "includeIf" features in
|
||||
"git config" file format, which incidentally teaches the command
|
||||
line completion to include them in its offerings.
|
||||
|
||||
* Avoid "white/black-list" in documentation and code comments.
|
||||
|
||||
* Workaround for a compiler warning against use of die() in
|
||||
osx-keychain (in contrib/).
|
||||
|
||||
* Workaround for a false positive compiler warning.
|
||||
|
||||
* "git p4" working on UTF-16 files on Windows did not implement
|
||||
CRLF-to-LF conversion correctly, which has been corrected.
|
||||
|
||||
* "git p4" did not handle non-ASCII client name well, which has been
|
||||
corrected.
|
||||
|
||||
* "rerere-train" script (in contrib/) used to honor commit.gpgSign
|
||||
while recreating the throw-away merges.
|
||||
|
||||
* "git checkout" miscounted the paths it updated, which has been
|
||||
corrected.
|
||||
|
||||
* Fix for a bug that makes write-tree to fail to write out a
|
||||
non-existent index as a tree, introduced in 2.37.
|
||||
|
||||
* There was a bug in the codepath to upgrade generation information
|
||||
in commit-graph from v1 to v2 format, which has been corrected.
|
||||
|
||||
* Gitweb had legacy URL shortener that is specific to the way
|
||||
projects hosted on kernel.org used to (but no longer) work, which
|
||||
has been removed.
|
||||
|
||||
* Fix build procedure for Windows that uses CMake so that it can pick
|
||||
up the shell interpreter from local installation location.
|
||||
|
||||
* Conditionally allow building Python interpreter on Windows
|
||||
|
||||
* Fix to lstat() emulation on Windows.
|
||||
|
||||
* Older gcc with -Wall complains about the universal zero initializer
|
||||
"struct s = { 0 };" idiom, which makes developers' lives
|
||||
inconvenient (as -Werror is enabled by DEVELOPER=YesPlease). The
|
||||
build procedure has been tweaked to help these compilers.
|
||||
|
||||
* Plug memory leaks in the failure code path in the "merge-ort" merge
|
||||
strategy backend.
|
||||
|
||||
* "git symbolic-ref symref non..sen..se" is now diagnosed as an error.
|
||||
|
||||
* A follow-up fix to a fix for a regression in 2.36 around hooks.
|
||||
|
||||
* Avoid repeatedly running getconf to ask libc version in the test
|
||||
suite, and instead just as it once per script.
|
||||
|
||||
* Platform-specific code that determines if a directory is OK to use
|
||||
as a repository has been taught to report more details, especially
|
||||
on Windows.
|
||||
|
||||
* "vimdiff3" regression fix.
|
||||
|
||||
* "git fsck" reads mode from tree objects but canonicalizes the mode
|
||||
before passing it to the logic to check object sanity, which has
|
||||
hid broken tree objects from the checking logic. This has been
|
||||
corrected, but to help exiting projects with broken tree objects
|
||||
that they cannot fix retroactively, the severity of anomalies this
|
||||
code detects has been demoted to "info" for now.
|
||||
|
||||
* Fixes to sparse index compatibility work for "reset" and "checkout"
|
||||
commands.
|
||||
|
||||
* An earlier optimization discarded a tree-object buffer that is
|
||||
still in use, which has been corrected.
|
||||
(merge 1490d7d82d jk/is-promisor-object-keep-tree-in-use later to maint).
|
||||
|
||||
* Fix deadlocks between main Git process and subprocess spawned via
|
||||
the pipe_command() API, that can kill "git add -p" that was
|
||||
reimplemented in C recently.
|
||||
(merge 716c1f649e jk/pipe-command-nonblock later to maint).
|
||||
|
||||
* The sequencer machinery translated messages left in the reflog by
|
||||
mistake, which has been corrected.
|
||||
|
||||
* xcalloc(), imitating calloc(), takes "number of elements of the
|
||||
array", and "size of a single element", in this order. A call that
|
||||
does not follow this ordering has been corrected.
|
||||
(merge c4bbd9bb8f sg/xcalloc-cocci-fix later to maint).
|
||||
|
||||
* The preload-index codepath made copies of pathspec to give to
|
||||
multiple threads, which were left leaked.
|
||||
(merge 23578904da ad/preload-plug-memleak later to maint).
|
||||
|
||||
* Update the version of Ubuntu used for GitHub Actions CI from 18.04
|
||||
to 22.04.
|
||||
(merge ef46584831 ds/github-actions-use-newer-ubuntu later to maint).
|
||||
|
||||
* The auto-stashed local changes created by "git merge --autostash"
|
||||
was mixed into a conflicted state left in the working tree, which
|
||||
has been corrected.
|
||||
(merge d3a9295ada en/merge-unstash-only-on-clean-merge later to maint).
|
||||
|
||||
* Multi-pack index got corrupted when preferred pack changed from one
|
||||
pack to another in a certain way, which has been corrected.
|
||||
(merge 99e4d084ff tb/midx-with-changing-preferred-pack-fix later to maint).
|
||||
|
||||
* The clean-up of temporary files created via mks_tempfile_dt() was
|
||||
racy and attempted to unlink() the leading directory when signals
|
||||
are involved, which has been corrected.
|
||||
(merge babe2e0559 rs/tempfile-cleanup-race-fix later to maint).
|
||||
|
||||
* FreeBSD portability fix for "git maintenance" that spawns "crontab"
|
||||
to schedule tasks.
|
||||
(merge ee69e7884e bc/gc-crontab-fix later to maint).
|
||||
|
||||
* Those who use diff-so-fancy as the diff-filter noticed a regression
|
||||
or two in the code that parses the diff output in the built-in
|
||||
version of "add -p", which has been corrected.
|
||||
(merge 0a101676e5 js/add-p-diff-parsing-fix later to maint).
|
||||
|
||||
* Segfault fix-up to an earlier fix to the topic to teach "git reset"
|
||||
and "git checkout" work better in a sparse checkout.
|
||||
(merge 037f8ea6d9 vd/sparse-reset-checkout-fixes later to maint).
|
||||
|
||||
* "git diff --no-index A B" managed its the pathnames of its two
|
||||
input files rather haphazardly, sometimes leaking them. The
|
||||
command line argument processing has been straightened out to clean
|
||||
it up.
|
||||
(merge 2b43dd0eb5 rs/diff-no-index-cleanup later to maint).
|
||||
|
||||
* "git rev-list --verify-objects" ought to inspect the contents of
|
||||
objects and notice corrupted ones, but it didn't when the commit
|
||||
graph is in use, which has been corrected.
|
||||
(merge b27ccae34b jk/rev-list-verify-objects-fix later to maint).
|
||||
|
||||
* More fixes to "add -p"
|
||||
(merge 64ec8efb83 js/builtin-add-p-portability-fix later to maint).
|
||||
|
||||
* The parser in the script interface to parse-options in "git
|
||||
rev-parse" has been updated to diagnose a bogus input correctly.
|
||||
(merge f20b9c36d0 ow/rev-parse-parseopt-fix later to maint).
|
||||
|
||||
* The code that manages list-object-filter structure, used in partial
|
||||
clones, leaked the instances, which has been plugged.
|
||||
(merge 66eede4a37 jk/plug-list-object-filter-leaks later to maint).
|
||||
|
||||
* Fix another UI regression in the reimplemented "add -p".
|
||||
(merge f6f0ee247f rs/add-p-worktree-mode-prompt-fix later to maint).
|
||||
|
||||
* "git fetch" over protocol v2 sent an incorrect ref prefix request
|
||||
to the server and made "git pull" with configured fetch refspec
|
||||
that does not cover the remote branch to merge with fail, which has
|
||||
been corrected.
|
||||
(merge 49ca2fba39 jk/proto-v2-ref-prefix-fix later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge 77b9e85c0f vd/fix-perf-tests later to maint).
|
||||
(merge 0682bc43f5 jk/test-crontab-fixes later to maint).
|
||||
(merge b46dd1726c cc/doc-trailer-whitespace-rules 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,8 +73,13 @@ 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.
|
||||
|
||||
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
|
||||
@ -103,6 +110,35 @@ run `git diff --check` on your changes before you commit.
|
||||
[[describe-changes]]
|
||||
=== Describe your changes well.
|
||||
|
||||
The log message that explains your changes is just as important as the
|
||||
changes themselves. Your code may be clearly written with in-code
|
||||
comment to sufficiently explain how it works with the surrounding
|
||||
code, but those who need to fix or enhance your code in the future
|
||||
will need to know _why_ your code does what it does, for a few
|
||||
reasons:
|
||||
|
||||
. Your code may be doing something differently from what you wanted it
|
||||
to do. Writing down what you actually wanted to achieve will help
|
||||
them fix your code and make it do what it should have been doing
|
||||
(also, you often discover your own bugs yourself, while writing the
|
||||
log message to summarize the thought behind it).
|
||||
|
||||
. Your code may be doing things that were only necessary for your
|
||||
immediate needs (e.g. "do X to directories" without implementing or
|
||||
even designing what is to be done on files). Writing down why you
|
||||
excluded what the code does not do will help guide future developers.
|
||||
Writing down "we do X to directories, because directories have
|
||||
characteristic Y" would help them infer "oh, files also have the same
|
||||
characteristic Y, so perhaps doing X to them would also make sense?".
|
||||
Saying "we don't do the same X to files, because ..." will help them
|
||||
decide if the reasoning is sound (in which case they do not waste
|
||||
time extending your code to cover files), or reason differently (in
|
||||
which case, they can explain why they extend your code to cover
|
||||
files, too).
|
||||
|
||||
The goal of your log message is to convey the _why_ behind your
|
||||
change to help future developers.
|
||||
|
||||
The first line of the commit message should be a short description (50
|
||||
characters is the soft limit, see DISCUSSION in linkgit:git-commit[1]),
|
||||
and should skip the full stop. It is also conventional in most cases to
|
||||
@ -135,6 +171,13 @@ The body should provide a meaningful commit message, which:
|
||||
|
||||
. alternate solutions considered but discarded, if any.
|
||||
|
||||
[[present-tense]]
|
||||
The problem statement that describes the status quo is written in the
|
||||
present tense. Write "The code does X when it is given input Y",
|
||||
instead of "The code used to do Y when given input X". You do not
|
||||
have to say "Currently"---the status quo in the problem statement is
|
||||
about the code _without_ your change, by project convention.
|
||||
|
||||
[[imperative-mood]]
|
||||
Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
|
||||
instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy
|
||||
@ -144,8 +187,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)
|
||||
@ -259,9 +315,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.
|
||||
@ -365,7 +423,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]
|
||||
@ -391,7 +452,10 @@ repositories.
|
||||
|
||||
- `gitk-git/` comes from Paul Mackerras's gitk project:
|
||||
|
||||
git://ozlabs.org/~paulus/gitk
|
||||
git://git.ozlabs.org/~paulus/gitk
|
||||
|
||||
Those who are interested in improve gitk can volunteer to help Paul
|
||||
in maintaining it cf. <YntxL/fTplFm8lr6@cleo>.
|
||||
|
||||
- `po/` comes from the localization coordinator, Jiang Xin:
|
||||
|
||||
|
51
Documentation/ToolsForGit.txt
Normal file
51
Documentation/ToolsForGit.txt
Normal file
@ -0,0 +1,51 @@
|
||||
Tools for developing Git
|
||||
========================
|
||||
:sectanchors:
|
||||
|
||||
[[summary]]
|
||||
== Summary
|
||||
|
||||
This document gathers tips, scripts and configuration file to help people
|
||||
working on Git's codebase use their favorite tools while following Git's
|
||||
coding style.
|
||||
|
||||
[[author]]
|
||||
=== Author
|
||||
|
||||
The Git community.
|
||||
|
||||
[[table_of_contents]]
|
||||
== Table of contents
|
||||
|
||||
- <<vscode>>
|
||||
- <<emacs>>
|
||||
|
||||
[[vscode]]
|
||||
=== Visual Studio Code (VS Code)
|
||||
|
||||
The contrib/vscode/init.sh script creates configuration files that enable
|
||||
several valuable VS Code features. See contrib/vscode/README.md for more
|
||||
information on using the script.
|
||||
|
||||
[[emacs]]
|
||||
=== Emacs
|
||||
|
||||
This is adapted from Linux's suggestion in its CodingStyle document:
|
||||
|
||||
- To follow rules of the CodingGuideline, it's useful to put the following in
|
||||
GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:
|
||||
----
|
||||
;; note the first part is useful for C editing, too
|
||||
((nil . ((indent-tabs-mode . t)
|
||||
(tab-width . 8)
|
||||
(fill-column . 80)))
|
||||
(cperl-mode . ((cperl-indent-level . 8)
|
||||
(cperl-extra-newline-before-brace . nil)
|
||||
(cperl-merge-trailing-else . t))))
|
||||
----
|
||||
|
||||
For a more complete setup, since Git's codebase uses a coding style
|
||||
similar to the Linux kernel's style, tips given in Linux's CodingStyle
|
||||
document can be applied here too.
|
||||
|
||||
==== https://www.kernel.org/doc/html/v4.10/process/coding-style.html#you-ve-made-a-mess-of-it
|
@ -159,6 +159,33 @@ all branches that begin with `foo/`. This is useful if your branches are
|
||||
organized hierarchically and you would like to apply a configuration to
|
||||
all the branches in that hierarchy.
|
||||
|
||||
`hasconfig:remote.*.url:`::
|
||||
The data that follows this keyword is taken to
|
||||
be a pattern with standard globbing wildcards and two
|
||||
additional ones, `**/` and `/**`, that can match multiple
|
||||
components. The first time this keyword is seen, the rest of
|
||||
the config files will be scanned for remote URLs (without
|
||||
applying any values). If there exists at least one remote URL
|
||||
that matches this pattern, the include condition is met.
|
||||
+
|
||||
Files included by this option (directly or indirectly) are not allowed
|
||||
to contain remote URLs.
|
||||
+
|
||||
Note that unlike other includeIf conditions, resolving this condition
|
||||
relies on information that is not yet known at the point of reading the
|
||||
condition. A typical use case is this option being present as a
|
||||
system-level or global-level config, and the remote URL being in a
|
||||
local-level config; hence the need to scan ahead when resolving this
|
||||
condition. In order to avoid the chicken-and-egg problem in which
|
||||
potentially-included files can affect whether such files are potentially
|
||||
included, Git breaks the cycle by prohibiting these files from affecting
|
||||
the resolution of these conditions (thus, prohibiting them from
|
||||
declaring remote URLs).
|
||||
+
|
||||
As for the naming of this keyword, it is for forwards compatibiliy with
|
||||
a naming scheme that supports more variable-based include conditions,
|
||||
but currently Git only supports the exact keyword described above.
|
||||
|
||||
A few more notes on matching via `gitdir` and `gitdir/i`:
|
||||
|
||||
* Symlinks in `$GIT_DIR` are not resolved before matching.
|
||||
@ -226,6 +253,14 @@ Example
|
||||
; currently checked out
|
||||
[includeIf "onbranch:foo-branch"]
|
||||
path = foo.inc
|
||||
|
||||
; include only if a remote with the given URL exists (note
|
||||
; that such a URL may be provided later in a file or in a
|
||||
; file read after this file is read, as seen in this example)
|
||||
[includeIf "hasconfig:remote.*.url:https://example.com/**"]
|
||||
path = foo.inc
|
||||
[remote "origin"]
|
||||
url = https://example.com/git
|
||||
----
|
||||
|
||||
Values
|
||||
@ -262,11 +297,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 +323,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.
|
||||
+
|
||||
@ -397,6 +445,8 @@ include::config/i18n.txt[]
|
||||
|
||||
include::config/imap.txt[]
|
||||
|
||||
include::config/includeif.txt[]
|
||||
|
||||
include::config/index.txt[]
|
||||
|
||||
include::config/init.txt[]
|
||||
@ -447,7 +497,7 @@ include::config/repack.txt[]
|
||||
|
||||
include::config/rerere.txt[]
|
||||
|
||||
include::config/reset.txt[]
|
||||
include::config/revert.txt[]
|
||||
|
||||
include::config/safe.txt[]
|
||||
|
||||
@ -457,6 +507,8 @@ include::config/sequencer.txt[]
|
||||
|
||||
include::config/showbranch.txt[]
|
||||
|
||||
include::config/sparse.txt[]
|
||||
|
||||
include::config/splitindex.txt[]
|
||||
|
||||
include::config/ssh.txt[]
|
||||
|
@ -7,6 +7,6 @@ add.ignore-errors (deprecated)::
|
||||
variables.
|
||||
|
||||
add.interactive.useBuiltin::
|
||||
[EXPERIMENTAL] Set to `true` to use the experimental built-in
|
||||
implementation of the interactive version of linkgit:git-add[1]
|
||||
instead of the Perl script version. Is `false` by default.
|
||||
Set to `false` to fall back to the original Perl implementation of
|
||||
the interactive version of linkgit:git-add[1] instead of the built-in
|
||||
version. Is `true` by default.
|
||||
|
@ -4,6 +4,10 @@ advice.*::
|
||||
can tell Git that you do not need help by setting these to 'false':
|
||||
+
|
||||
--
|
||||
ambiguousFetchRefspec::
|
||||
Advice shown when fetch refspec for multiple remotes map to
|
||||
the same remote-tracking branch namespace and causes branch
|
||||
tracking set-up to fail.
|
||||
fetchShowForcedUpdates::
|
||||
Advice shown when linkgit:git-fetch[1] takes a long time
|
||||
to calculate forced updates after ref updates, or to warn
|
||||
@ -67,10 +71,10 @@ advice.*::
|
||||
commitBeforeMerge::
|
||||
Advice shown when linkgit:git-merge[1] refuses to
|
||||
merge to avoid overwriting local changes.
|
||||
resetQuiet::
|
||||
Advice to consider using the `--quiet` option to linkgit:git-reset[1]
|
||||
when the command takes more than 2 seconds to enumerate unstaged
|
||||
changes after reset.
|
||||
resetNoRefresh::
|
||||
Advice to consider using the `--no-refresh` option to
|
||||
linkgit:git-reset[1] when the command takes more than 2 seconds
|
||||
to refresh the index after reset.
|
||||
resolveConflict::
|
||||
Advice shown by various commands when conflicts
|
||||
prevent the operation from being performed.
|
||||
@ -85,6 +89,9 @@ advice.*::
|
||||
linkgit:git-switch[1] or linkgit:git-checkout[1]
|
||||
to move to the detach HEAD state, to instruct how to
|
||||
create a local branch after the fact.
|
||||
suggestDetachingHead::
|
||||
Advice shown when linkgit:git-switch[1] refuses to detach HEAD
|
||||
without the explicit `--detach` option.
|
||||
checkoutAmbiguousRemoteBranchName::
|
||||
Advice shown when the argument to
|
||||
linkgit:git-checkout[1] and linkgit:git-switch[1]
|
||||
@ -116,6 +123,9 @@ advice.*::
|
||||
submoduleAlternateErrorStrategyDie::
|
||||
Advice shown when a submodule.alternateErrorStrategy option
|
||||
configured to "die" causes a fatal error.
|
||||
submodulesNotUpdated::
|
||||
Advice shown when a user runs a submodule command that fails
|
||||
because `git submodule update --init` was not run.
|
||||
addIgnoredFile::
|
||||
Advice shown if a user attempts to add an ignored file to
|
||||
the index.
|
||||
|
@ -7,8 +7,11 @@ 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
|
||||
branch. This option defaults to true.
|
||||
local branch or remote-tracking branch; `inherit` -- if the starting point
|
||||
has a tracking configuration, it is copied to the new
|
||||
branch; `simple` -- automatic setup is done only when the starting point
|
||||
is a remote-tracking branch and the new branch has the same name as the
|
||||
remote branch. This option defaults to true.
|
||||
|
||||
branch.autoSetupRebase::
|
||||
When a new branch is created with 'git branch', 'git switch' or 'git checkout'
|
||||
@ -37,8 +40,9 @@ branch.<name>.remote::
|
||||
may be overridden with `remote.pushDefault` (for all branches).
|
||||
The remote to push to, for the current branch, may be further
|
||||
overridden by `branch.<name>.pushRemote`. If no remote is
|
||||
configured, or if you are not on any branch, it defaults to
|
||||
`origin` for fetching and `remote.pushDefault` for pushing.
|
||||
configured, or if you are not on any branch and there is more than
|
||||
one remote defined in the repository, it defaults to `origin` for
|
||||
fetching and `remote.pushDefault` for pushing.
|
||||
Additionally, `.` (a period) is the current local repository
|
||||
(a dot-repository), see `branch.<name>.merge`'s final note below.
|
||||
|
||||
|
@ -6,3 +6,8 @@ clone.defaultRemoteName::
|
||||
clone.rejectShallow::
|
||||
Reject to clone a repository if it is a shallow one, can be overridden by
|
||||
passing option `--reject-shallow` in command line. See linkgit:git-clone[1]
|
||||
|
||||
clone.filterSubmodules::
|
||||
If a partial clone filter is provided (see `--filter` in
|
||||
linkgit:git-rev-list[1]) and `--recurse-submodules` is used, also apply
|
||||
the filter to submodules.
|
||||
|
@ -62,22 +62,54 @@ core.protectNTFS::
|
||||
Defaults to `true` on Windows, and `false` elsewhere.
|
||||
|
||||
core.fsmonitor::
|
||||
If set, the value of this variable is used as a command which
|
||||
will identify all files that may have changed since the
|
||||
requested date/time. This information is used to speed up git by
|
||||
avoiding unnecessary processing of files that have not changed.
|
||||
See the "fsmonitor-watchman" section of linkgit:githooks[5].
|
||||
If set to true, enable the built-in file system monitor
|
||||
daemon for this working directory (linkgit:git-fsmonitor{litdd}daemon[1]).
|
||||
+
|
||||
Like hook-based file system monitors, the built-in file system monitor
|
||||
can speed up Git commands that need to refresh the Git index
|
||||
(e.g. `git status`) in a working directory with many files. The
|
||||
built-in monitor eliminates the need to install and maintain an
|
||||
external third-party tool.
|
||||
+
|
||||
The built-in file system monitor is currently available only on a
|
||||
limited set of supported platforms. Currently, this includes Windows
|
||||
and MacOS.
|
||||
+
|
||||
Otherwise, this variable contains the pathname of the "fsmonitor"
|
||||
hook command.
|
||||
+
|
||||
This hook command is used to identify all files that may have changed
|
||||
since the requested date/time. This information is used to speed up
|
||||
git by avoiding unnecessary scanning of files that have not changed.
|
||||
+
|
||||
See the "fsmonitor-watchman" section of linkgit:githooks[5].
|
||||
+
|
||||
Note that if you concurrently use multiple versions of Git, such
|
||||
as one version on the command line and another version in an IDE
|
||||
tool, that the definition of `core.fsmonitor` was extended to
|
||||
allow boolean values in addition to hook pathnames. Git versions
|
||||
2.35.1 and prior will not understand the boolean values and will
|
||||
consider the "true" or "false" values as hook pathnames to be
|
||||
invoked. Git versions 2.26 thru 2.35.1 default to hook protocol
|
||||
V2 and will fall back to no fsmonitor (full scan). Git versions
|
||||
prior to 2.26 default to hook protocol V1 and will silently
|
||||
assume there were no changes to report (no scan), so status
|
||||
commands may report incomplete results. For this reason, it is
|
||||
best to upgrade all of your Git versions before using the built-in
|
||||
file system monitor.
|
||||
|
||||
core.fsmonitorHookVersion::
|
||||
Sets the version of hook that is to be used when calling fsmonitor.
|
||||
There are currently versions 1 and 2. When this is not set,
|
||||
version 2 will be tried first and if it fails then version 1
|
||||
will be tried. Version 1 uses a timestamp as input to determine
|
||||
which files have changes since that time but some monitors
|
||||
like watchman have race conditions when used with a timestamp.
|
||||
Version 2 uses an opaque string so that the monitor can return
|
||||
something that can be used to determine what files have changed
|
||||
without race conditions.
|
||||
Sets the protocol version to be used when invoking the
|
||||
"fsmonitor" hook.
|
||||
+
|
||||
There are currently versions 1 and 2. When this is not set,
|
||||
version 2 will be tried first and if it fails then version 1
|
||||
will be tried. Version 1 uses a timestamp as input to determine
|
||||
which files have changes since that time but some monitors
|
||||
like Watchman have race conditions when used with a timestamp.
|
||||
Version 2 uses an opaque string so that the monitor can return
|
||||
something that can be used to determine what files have changed
|
||||
without race conditions.
|
||||
|
||||
core.trustctime::
|
||||
If false, the ctime differences between the index and the
|
||||
@ -412,17 +444,32 @@ You probably do not need to adjust this value.
|
||||
Common unit suffixes of 'k', 'm', or 'g' are supported.
|
||||
|
||||
core.bigFileThreshold::
|
||||
Files larger than this size are stored deflated, without
|
||||
attempting delta compression. Storing large files without
|
||||
delta compression avoids excessive memory usage, at the
|
||||
slight expense of increased disk usage. Additionally files
|
||||
larger than this size are always treated as binary.
|
||||
The size of files considered "big", which as discussed below
|
||||
changes the behavior of numerous git commands, as well as how
|
||||
such files are stored within the repository. The default is
|
||||
512 MiB. Common unit suffixes of 'k', 'm', or 'g' are
|
||||
supported.
|
||||
+
|
||||
Default is 512 MiB on all platforms. This should be reasonable
|
||||
for most projects as source code and other text files can still
|
||||
be delta compressed, but larger binary media files won't be.
|
||||
Files above the configured limit will be:
|
||||
+
|
||||
Common unit suffixes of 'k', 'm', or 'g' are supported.
|
||||
* Stored deflated in packfiles, without attempting delta compression.
|
||||
+
|
||||
The default limit is primarily set with this use-case in mind. With it,
|
||||
most projects will have their source code and other text files delta
|
||||
compressed, but not larger binary media files.
|
||||
+
|
||||
Storing large files without delta compression avoids excessive memory
|
||||
usage, at the slight expense of increased disk usage.
|
||||
+
|
||||
* Will be treated as if they were labeled "binary" (see
|
||||
linkgit:gitattributes[5]). e.g. linkgit:git-log[1] and
|
||||
linkgit:git-diff[1] will not compute diffs for files above this limit.
|
||||
+
|
||||
* Will generally be streamed when written, which avoids excessive
|
||||
memory usage, at the cost of some fixed overhead. Commands that make
|
||||
use of this include linkgit:git-archive[1],
|
||||
linkgit:git-fast-import[1], linkgit:git-index-pack[1],
|
||||
linkgit:git-unpack-objects[1] and linkgit:git-fsck[1].
|
||||
|
||||
core.excludesFile::
|
||||
Specifies the pathname to the file that contains patterns to
|
||||
@ -547,13 +594,72 @@ core.whitespace::
|
||||
is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent`
|
||||
errors. The default tab width is 8. Allowed values are 1 to 63.
|
||||
|
||||
core.fsync::
|
||||
A comma-separated list of components of the repository that
|
||||
should be hardened via the core.fsyncMethod when created or
|
||||
modified. You can disable hardening of any component by
|
||||
prefixing it with a '-'. Items that are not hardened may be
|
||||
lost in the event of an unclean system shutdown. Unless you
|
||||
have special requirements, it is recommended that you leave
|
||||
this option empty or pick one of `committed`, `added`,
|
||||
or `all`.
|
||||
+
|
||||
When this configuration is encountered, the set of components starts with
|
||||
the platform default value, disabled components are removed, and additional
|
||||
components are added. `none` resets the state so that the platform default
|
||||
is ignored.
|
||||
+
|
||||
The empty string resets the fsync configuration to the platform
|
||||
default. The default on most platforms is equivalent to
|
||||
`core.fsync=committed,-loose-object`, which has good performance,
|
||||
but risks losing recent work in the event of an unclean system shutdown.
|
||||
+
|
||||
* `none` clears the set of fsynced components.
|
||||
* `loose-object` hardens objects added to the repo in loose-object form.
|
||||
* `pack` hardens objects added to the repo in packfile form.
|
||||
* `pack-metadata` hardens packfile bitmaps and indexes.
|
||||
* `commit-graph` hardens the commit graph file.
|
||||
* `index` hardens the index when it is modified.
|
||||
* `objects` is an aggregate option that is equivalent to
|
||||
`loose-object,pack`.
|
||||
* `reference` hardens references modified in the repo.
|
||||
* `derived-metadata` is an aggregate option that is equivalent to
|
||||
`pack-metadata,commit-graph`.
|
||||
* `committed` is an aggregate option that is currently equivalent to
|
||||
`objects`. This mode sacrifices some performance to ensure that work
|
||||
that is committed to the repository with `git commit` or similar commands
|
||||
is hardened.
|
||||
* `added` is an aggregate option that is currently equivalent to
|
||||
`committed,index`. This mode sacrifices additional performance to
|
||||
ensure that the results of commands like `git add` and similar operations
|
||||
are hardened.
|
||||
* `all` is an aggregate option that syncs all individual components above.
|
||||
|
||||
core.fsyncMethod::
|
||||
A value indicating the strategy Git will use to harden repository data
|
||||
using fsync and related primitives.
|
||||
+
|
||||
* `fsync` uses the fsync() system call or platform equivalents.
|
||||
* `writeout-only` issues pagecache writeback requests, but depending on the
|
||||
filesystem and storage hardware, data added to the repository may not be
|
||||
durable in the event of a system crash. This is the default mode on macOS.
|
||||
* `batch` enables a mode that uses writeout-only flushes to stage multiple
|
||||
updates in the disk writeback cache and then does a single full fsync of
|
||||
a dummy file to trigger the disk cache flush at the end of the operation.
|
||||
+
|
||||
Currently `batch` mode only applies to loose-object files. Other repository
|
||||
data is made durable as if `fsync` was specified. This mode is expected to
|
||||
be as safe as `fsync` on macOS for repos stored on HFS+ or APFS filesystems
|
||||
and on Windows for repos stored on NTFS or ReFS filesystems.
|
||||
|
||||
core.fsyncObjectFiles::
|
||||
This boolean will enable 'fsync()' when writing object files.
|
||||
This setting is deprecated. Use core.fsync instead.
|
||||
+
|
||||
This is a total waste of time and effort on a filesystem that orders
|
||||
data writes properly, but can be useful for filesystems that do not use
|
||||
journalling (traditional UNIX filesystems) or that only journal metadata
|
||||
and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").
|
||||
This setting affects data added to the Git repository in loose-object
|
||||
form. When set to true, Git will issue an fsync or similar system call
|
||||
to flush caches so that loose-objects remain consistent in the face
|
||||
of a unclean system shutdown.
|
||||
|
||||
core.preloadIndex::
|
||||
Enable parallel index preload for operations like 'git diff'
|
||||
@ -615,8 +721,10 @@ core.sparseCheckout::
|
||||
|
||||
core.sparseCheckoutCone::
|
||||
Enables the "cone mode" of the sparse checkout feature. When the
|
||||
sparse-checkout file contains a limited set of patterns, then this
|
||||
mode provides significant performance advantages. See
|
||||
sparse-checkout file contains a limited set of patterns, this
|
||||
mode provides significant performance advantages. The "non-cone
|
||||
mode" can be requested to allow specifying more flexible
|
||||
patterns by setting this variable to 'false'. See
|
||||
linkgit:git-sparse-checkout[1] for more information.
|
||||
|
||||
core.abbrev::
|
||||
|
@ -178,21 +178,6 @@ diff.<driver>.cachetextconv::
|
||||
Set this option to true to make the diff driver cache the text
|
||||
conversion outputs. See linkgit:gitattributes[5] for details.
|
||||
|
||||
diff.tool::
|
||||
Controls which diff tool is used by linkgit:git-difftool[1].
|
||||
This variable overrides the value configured in `merge.tool`.
|
||||
The list below shows the valid built-in values.
|
||||
Any other value is treated as a custom diff tool and requires
|
||||
that a corresponding difftool.<tool>.cmd variable is defined.
|
||||
|
||||
diff.guitool::
|
||||
Controls which diff tool is used by linkgit:git-difftool[1] when
|
||||
the -g/--gui flag is specified. This variable overrides the value
|
||||
configured in `merge.guitool`. The list below shows the valid
|
||||
built-in values. Any other value is treated as a custom diff tool
|
||||
and requires that a corresponding difftool.<guitool>.cmd variable
|
||||
is defined.
|
||||
|
||||
include::../mergetools-diff.txt[]
|
||||
|
||||
diff.indentHeuristic::
|
||||
|
@ -1,6 +1,17 @@
|
||||
difftool.<tool>.path::
|
||||
Override the path for the given tool. This is useful in case
|
||||
your tool is not in the PATH.
|
||||
diff.tool::
|
||||
Controls which diff tool is used by linkgit:git-difftool[1].
|
||||
This variable overrides the value configured in `merge.tool`.
|
||||
The list below shows the valid built-in values.
|
||||
Any other value is treated as a custom diff tool and requires
|
||||
that a corresponding difftool.<tool>.cmd variable is defined.
|
||||
|
||||
diff.guitool::
|
||||
Controls which diff tool is used by linkgit:git-difftool[1] when
|
||||
the -g/--gui flag is specified. This variable overrides the value
|
||||
configured in `merge.guitool`. The list below shows the valid
|
||||
built-in values. Any other value is treated as a custom diff tool
|
||||
and requires that a corresponding difftool.<guitool>.cmd variable
|
||||
is defined.
|
||||
|
||||
difftool.<tool>.cmd::
|
||||
Specify the command to invoke the specified diff tool.
|
||||
@ -9,6 +20,17 @@ difftool.<tool>.cmd::
|
||||
file containing the contents of the diff pre-image and 'REMOTE'
|
||||
is set to the name of the temporary file containing the contents
|
||||
of the diff post-image.
|
||||
+
|
||||
See the `--tool=<tool>` option in linkgit:git-difftool[1] for more details.
|
||||
|
||||
difftool.<tool>.path::
|
||||
Override the path for the given tool. This is useful in case
|
||||
your tool is not in the PATH.
|
||||
|
||||
difftool.trustExitCode::
|
||||
Exit difftool if the invoked diff tool returns a non-zero exit status.
|
||||
+
|
||||
See the `--trust-exit-code` option in linkgit:git-difftool[1] for more details.
|
||||
|
||||
difftool.prompt::
|
||||
Prompt before each invocation of the diff tool.
|
||||
|
@ -6,3 +6,34 @@ extensions.objectFormat::
|
||||
Note that this setting should only be set by linkgit:git-init[1] or
|
||||
linkgit:git-clone[1]. Trying to change it after initialization will not
|
||||
work and will produce hard-to-diagnose issues.
|
||||
|
||||
extensions.worktreeConfig::
|
||||
If enabled, then worktrees will load config settings from the
|
||||
`$GIT_DIR/config.worktree` file in addition to the
|
||||
`$GIT_COMMON_DIR/config` file. Note that `$GIT_COMMON_DIR` and
|
||||
`$GIT_DIR` are the same for the main working tree, while other
|
||||
working trees have `$GIT_DIR` equal to
|
||||
`$GIT_COMMON_DIR/worktrees/<id>/`. The settings in the
|
||||
`config.worktree` file will override settings from any other
|
||||
config files.
|
||||
+
|
||||
When enabling `extensions.worktreeConfig`, you must be careful to move
|
||||
certain values from the common config file to the main working tree's
|
||||
`config.worktree` file, if present:
|
||||
+
|
||||
* `core.worktree` must be moved from `$GIT_COMMON_DIR/config` to
|
||||
`$GIT_COMMON_DIR/config.worktree`.
|
||||
* If `core.bare` is true, then it must be moved from `$GIT_COMMON_DIR/config`
|
||||
to `$GIT_COMMON_DIR/config.worktree`.
|
||||
+
|
||||
It may also be beneficial to adjust the locations of `core.sparseCheckout`
|
||||
and `core.sparseCheckoutCone` depending on your desire for customizable
|
||||
sparse-checkout settings for each worktree. By default, the `git
|
||||
sparse-checkout` builtin enables `extensions.worktreeConfig`, assigns
|
||||
these config values on a per-worktree basis, and uses the
|
||||
`$GIT_DIR/info/sparse-checkout` file to specify the sparsity for each
|
||||
worktree independently. See linkgit:git-sparse-checkout[1] for more
|
||||
details.
|
||||
+
|
||||
For historical reasons, `extensions.worktreeConfig` is respected
|
||||
regardless of the `core.repositoryFormatVersion` setting.
|
||||
|
@ -56,18 +56,19 @@ fetch.output::
|
||||
OUTPUT in linkgit:git-fetch[1] for detail.
|
||||
|
||||
fetch.negotiationAlgorithm::
|
||||
Control how information about the commits in the local repository is
|
||||
sent when negotiating the contents of the packfile to be sent by the
|
||||
server. Set to "skipping" to use an algorithm that skips commits in an
|
||||
effort to converge faster, but may result in a larger-than-necessary
|
||||
packfile; or set to "noop" to not send any information at all, which
|
||||
will almost certainly result in a larger-than-necessary packfile, but
|
||||
will skip the negotiation step.
|
||||
The default is "default" which instructs Git to use the default algorithm
|
||||
that never skips commits (unless the server has acknowledged it or one
|
||||
of its descendants). If `feature.experimental` is enabled, then this
|
||||
setting defaults to "skipping".
|
||||
Unknown values will cause 'git fetch' to error out.
|
||||
Control how information about the commits in the local repository
|
||||
is sent when negotiating the contents of the packfile to be sent by
|
||||
the server. Set to "consecutive" to use an algorithm that walks
|
||||
over consecutive commits checking each one. Set to "skipping" to
|
||||
use an algorithm that skips commits in an effort to converge
|
||||
faster, but may result in a larger-than-necessary packfile; or set
|
||||
to "noop" to not send any information at all, which will almost
|
||||
certainly result in a larger-than-necessary packfile, but will skip
|
||||
the negotiation step. Set to "default" to override settings made
|
||||
previously and use the default behaviour. The default is normally
|
||||
"consecutive", but if `feature.experimental` is true, then the
|
||||
default is "skipping". Unknown values will cause 'git fetch' to
|
||||
error out.
|
||||
+
|
||||
See also the `--negotiate-only` and `--negotiation-tip` options to
|
||||
linkgit:git-fetch[1].
|
||||
|
@ -15,6 +15,10 @@ format.from::
|
||||
different. If set to a non-boolean value, format-patch uses that
|
||||
value instead of your committer identity. Defaults to false.
|
||||
|
||||
format.forceInBodyFrom::
|
||||
Provides the default value for the `--[no-]force-in-body-from`
|
||||
option to format-patch. Defaults to false.
|
||||
|
||||
format.numbered::
|
||||
A boolean which can enable or disable sequence numbers in patch
|
||||
subjects. It defaults to "auto" which enables it only if there
|
||||
|
@ -81,14 +81,21 @@ gc.packRefs::
|
||||
to enable it within all non-bare repos or it can be set to a
|
||||
boolean value. The default is `true`.
|
||||
|
||||
gc.cruftPacks::
|
||||
Store unreachable objects in a cruft pack (see
|
||||
linkgit:git-repack[1]) instead of as loose objects. The default
|
||||
is `false`.
|
||||
|
||||
gc.pruneExpire::
|
||||
When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.
|
||||
Override the grace period with this config variable. The value
|
||||
"now" may be used to disable this grace period and always prune
|
||||
unreachable objects immediately, or "never" may be used to
|
||||
suppress pruning. This feature helps prevent corruption when
|
||||
'git gc' runs concurrently with another process writing to the
|
||||
repository; see the "NOTES" section of linkgit:git-gc[1].
|
||||
When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'
|
||||
(and 'repack --cruft --cruft-expiration 2.weeks.ago' if using
|
||||
cruft packs via `gc.cruftPacks` or `--cruft`). Override the
|
||||
grace period with this config variable. The value "now" may be
|
||||
used to disable this grace period and always prune unreachable
|
||||
objects immediately, or "never" may be used to suppress pruning.
|
||||
This feature helps prevent corruption when 'git gc' runs
|
||||
concurrently with another process writing to the repository; see
|
||||
the "NOTES" section of linkgit:git-gc[1].
|
||||
|
||||
gc.worktreePruneExpire::
|
||||
When 'git gc' is run, it calls
|
||||
|
@ -34,17 +34,20 @@ gpg.minTrustLevel::
|
||||
* `fully`
|
||||
* `ultimate`
|
||||
|
||||
gpg.ssh.defaultKeyCommand:
|
||||
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".
|
||||
signature is requested. On successful exit a valid ssh public key
|
||||
prefixed with `key::` is expected in the first line of its output.
|
||||
This allows for a script doing a dynamic lookup of the correct public
|
||||
key when it is impractical to statically configure `user.signingKey`.
|
||||
For example when keys or SSH Certificates are rotated frequently or
|
||||
selection of the right key depends on external factors unknown to git.
|
||||
|
||||
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...
|
||||
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.
|
||||
@ -64,6 +67,11 @@ 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 signature's 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.
|
||||
|
||||
|
@ -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
|
||||
@ -16,8 +17,11 @@ grep.extendedRegexp::
|
||||
other than 'default'.
|
||||
|
||||
grep.threads::
|
||||
Number of grep worker threads to use.
|
||||
See `grep.threads` in linkgit:git-grep[1] for more information.
|
||||
Number of grep worker threads to use. If unset (or set to 0), Git will
|
||||
use as many threads as the number of logical cores available.
|
||||
|
||||
grep.fullName::
|
||||
If set to true, enable `--full-name` option by default.
|
||||
|
||||
grep.fallbackToNoIndex::
|
||||
If set to true, fall back to git grep --no-index if git grep
|
||||
|
@ -98,6 +98,22 @@ http.version::
|
||||
- HTTP/2
|
||||
- HTTP/1.1
|
||||
|
||||
http.curloptResolve::
|
||||
Hostname resolution information that will be used first by
|
||||
libcurl when sending HTTP requests. This information should
|
||||
be in one of the following formats:
|
||||
|
||||
- [+]HOST:PORT:ADDRESS[,ADDRESS]
|
||||
- -HOST:PORT
|
||||
|
||||
+
|
||||
The first format redirects all requests to the given `HOST:PORT`
|
||||
to the provided `ADDRESS`(s). The second format clears all
|
||||
previous config values for that `HOST:PORT` combination. To
|
||||
allow easy overriding of all the settings inherited from the
|
||||
system config, an empty value will reset all resolution
|
||||
information to the empty list.
|
||||
|
||||
http.sslVersion::
|
||||
The SSL version to use when negotiating an SSL connection, if you
|
||||
want to force the default. The available and default version
|
||||
@ -187,7 +203,7 @@ http.schannelUseSSLCAInfo::
|
||||
when the `schannel` backend was configured via `http.sslBackend`,
|
||||
unless `http.schannelUseSSLCAInfo` overrides this behavior.
|
||||
|
||||
http.pinnedpubkey::
|
||||
http.pinnedPubkey::
|
||||
Public key of the https service. It may either be the filename of
|
||||
a PEM or DER encoded public key file or a string starting with
|
||||
'sha256//' followed by the base64 encoded sha256 hash of the
|
||||
|
6
Documentation/config/includeif.txt
Normal file
6
Documentation/config/includeif.txt
Normal file
@ -0,0 +1,6 @@
|
||||
include.path::
|
||||
includeIf.<condition>.path::
|
||||
Special variables to include other configuration files. See
|
||||
the "CONFIGURATION FILE" section in the main
|
||||
linkgit:git-config[1] documentation,
|
||||
specifically the "Includes" and "Conditional Includes" subsections.
|
@ -7,6 +7,10 @@ log.date::
|
||||
Set the default date-time mode for the 'log' command.
|
||||
Setting a value for log.date is similar to using 'git log''s
|
||||
`--date` option. See linkgit:git-log[1] for details.
|
||||
+
|
||||
If the format is set to "auto:foo" and the pager is in use, format
|
||||
"foo" will be the used for the date format. Otherwise "default" will
|
||||
be used.
|
||||
|
||||
log.decorate::
|
||||
Print out the ref names of any commits that are shown by the log
|
||||
@ -18,6 +22,11 @@ log.decorate::
|
||||
names are shown. This is the same as the `--decorate` option
|
||||
of the `git log`.
|
||||
|
||||
log.initialDecorationSet::
|
||||
By default, `git log` only shows decorations for certain known ref
|
||||
namespaces. If 'all' is specified, then show all refs as
|
||||
decorations.
|
||||
|
||||
log.excludeDecoration::
|
||||
Exclude the specified patterns from the log decorations. This is
|
||||
similar to the `--decorate-refs-exclude` command-line option, but
|
||||
|
@ -1,7 +1,7 @@
|
||||
lsrefs.unborn::
|
||||
May be "advertise" (the default), "allow", or "ignore". If "advertise",
|
||||
the server will respond to the client sending "unborn" (as described in
|
||||
protocol-v2.txt) and will advertise support for this feature during the
|
||||
linkgit:gitprotocol-v2[5]) and will advertise support for this feature during the
|
||||
protocol v2 capability advertisement. "allow" is the same as
|
||||
"advertise" except that the server will not advertise support for this
|
||||
feature; this is useful for load-balanced servers that cannot be
|
||||
|
@ -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
|
||||
|
@ -45,6 +45,15 @@ mergetool.meld.useAutoMerge::
|
||||
value of `false` avoids using `--auto-merge` altogether, and is the
|
||||
default value.
|
||||
|
||||
mergetool.vimdiff.layout::
|
||||
The vimdiff backend uses this variable to control how its split
|
||||
windows look like. Applies even if you are using Neovim (`nvim`) or
|
||||
gVim (`gvim`) as the merge tool. See BACKEND SPECIFIC HINTS section
|
||||
ifndef::git-mergetool[]
|
||||
in linkgit:git-mergetool[1].
|
||||
endif::[]
|
||||
for details.
|
||||
|
||||
mergetool.hideResolved::
|
||||
During a merge Git will automatically resolve as many conflicts as
|
||||
possible and write the 'MERGED' file containing conflict markers around
|
||||
|
@ -3,6 +3,9 @@ notes.mergeStrategy::
|
||||
conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or
|
||||
`cat_sort_uniq`. Defaults to `manual`. See "NOTES MERGE STRATEGIES"
|
||||
section of linkgit:git-notes[1] for more information on each strategy.
|
||||
+
|
||||
This setting can be overridden by passing the `--strategy` option to
|
||||
linkgit:git-notes[1].
|
||||
|
||||
notes.<name>.mergeStrategy::
|
||||
Which merge strategy to choose when doing a notes merge into
|
||||
@ -11,28 +14,35 @@ notes.<name>.mergeStrategy::
|
||||
linkgit:git-notes[1] for more information on the available strategies.
|
||||
|
||||
notes.displayRef::
|
||||
The (fully qualified) refname from which to show notes when
|
||||
showing commit messages. The value of this variable can be set
|
||||
to a glob, in which case notes from all matching refs will be
|
||||
shown. You may also specify this configuration variable
|
||||
several times. A warning will be issued for refs that do not
|
||||
exist, but a glob that does not match any refs is silently
|
||||
ignored.
|
||||
Which ref (or refs, if a glob or specified more than once), in
|
||||
addition to the default set by `core.notesRef` or
|
||||
`GIT_NOTES_REF`, to read notes from when showing commit
|
||||
messages with the 'git log' family of commands.
|
||||
+
|
||||
This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`
|
||||
environment variable, which must be a colon separated list of refs or
|
||||
globs.
|
||||
+
|
||||
A warning will be issued for refs that do not exist,
|
||||
but a glob that does not match any refs is silently ignored.
|
||||
+
|
||||
This setting can be disabled by the `--no-notes` option to the 'git
|
||||
log' family of commands, or by the `--notes=<ref>` option accepted by
|
||||
those commands.
|
||||
+
|
||||
The effective value of "core.notesRef" (possibly overridden by
|
||||
GIT_NOTES_REF) is also implicitly added to the list of refs to be
|
||||
displayed.
|
||||
|
||||
notes.rewrite.<command>::
|
||||
When rewriting commits with <command> (currently `amend` or
|
||||
`rebase`) and this variable is set to `true`, Git
|
||||
automatically copies your notes from the original to the
|
||||
rewritten commit. Defaults to `true`, but see
|
||||
"notes.rewriteRef" below.
|
||||
`rebase`), if this variable is `false`, git will not copy
|
||||
notes from the original to the rewritten commit. Defaults to
|
||||
`true`. See also "`notes.rewriteRef`" below.
|
||||
+
|
||||
This setting can be overridden with the `GIT_NOTES_REWRITE_REF`
|
||||
environment variable, which must be a colon separated list of refs or
|
||||
globs.
|
||||
|
||||
notes.rewriteMode::
|
||||
When copying notes during a rewrite (see the
|
||||
@ -46,14 +56,13 @@ environment variable.
|
||||
|
||||
notes.rewriteRef::
|
||||
When copying notes during a rewrite, specifies the (fully
|
||||
qualified) ref whose notes should be copied. The ref may be a
|
||||
glob, in which case notes in all matching refs will be copied.
|
||||
You may also specify this configuration several times.
|
||||
qualified) ref whose notes should be copied. May be a glob,
|
||||
in which case notes in all matching refs will be copied. You
|
||||
may also specify this configuration several times.
|
||||
+
|
||||
Does not have a default value; you must configure this variable to
|
||||
enable note rewriting. Set it to `refs/notes/commits` to enable
|
||||
rewriting for the default commit notes.
|
||||
+
|
||||
This setting can be overridden with the `GIT_NOTES_REWRITE_REF`
|
||||
environment variable, which must be a colon separated list of refs or
|
||||
globs.
|
||||
Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable.
|
||||
See `notes.rewrite.<command>` above for a further description of its format.
|
||||
|
@ -164,9 +164,16 @@ 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.writeBitmapLookupTable::
|
||||
When true, Git will include a "lookup table" section in the
|
||||
bitmap index (if one is written). This table is used to defer
|
||||
loading individual bitmaps as late as possible. This can be
|
||||
beneficial in repositories that have relatively large bitmap
|
||||
indexes. Defaults to false.
|
||||
|
||||
pack.writeReverseIndex::
|
||||
When true, git will write a corresponding .rev file (see:
|
||||
link:../technical/pack-format.html[Documentation/technical/pack-format.txt])
|
||||
linkgit:gitformat-pack[5])
|
||||
for each new packfile that it writes in all places except for
|
||||
linkgit:git-fast-import[1] and in the bulk checkin mechanism.
|
||||
Defaults to false.
|
||||
|
@ -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) have a
|
||||
if unset, known-safe protocols (http, https, git, ssh, file) have a
|
||||
default policy of `always`, known-dangerous protocols (ext) have a
|
||||
default policy of `never`, and all other protocols (including file)
|
||||
have a default policy of `user`. Supported policies:
|
||||
default policy of `never`, and all other protocols have a default
|
||||
policy of `user`. Supported policies:
|
||||
+
|
||||
--
|
||||
|
||||
@ -58,6 +58,6 @@ protocol.version::
|
||||
* `1` - the original wire protocol with the addition of a version string
|
||||
in the initial response from the server.
|
||||
|
||||
* `2` - link:technical/protocol-v2.html[wire protocol version 2].
|
||||
* `2` - Wire protocol version 2, see linkgit:gitprotocol-v2[5].
|
||||
|
||||
--
|
||||
|
@ -1,3 +1,14 @@
|
||||
push.autoSetupRemote::
|
||||
If set to "true" assume `--set-upstream` on default push when no
|
||||
upstream tracking exists for the current branch; this option
|
||||
takes effect with push.default options 'simple', 'upstream',
|
||||
and 'current'. It is useful if by default you want new branches
|
||||
to be pushed to the default remote (like the behavior of
|
||||
'push.default=current') and you also want the upstream tracking
|
||||
to be set. Workflows most likely to benefit from this option are
|
||||
'simple' central workflows where all branches are expected to
|
||||
have the same name on the remote.
|
||||
|
||||
push.default::
|
||||
Defines the action `git push` should take if no refspec is
|
||||
given (whether from the command-line, config, or elsewhere).
|
||||
@ -126,3 +137,8 @@ push.negotiate::
|
||||
server attempt to find commits in common. If "false", Git will
|
||||
rely solely on the server's ref advertisement to find commits
|
||||
in common.
|
||||
|
||||
push.useBitmaps::
|
||||
If set to "false", disable use of bitmaps for "git push" even if
|
||||
`pack.useBitmaps` is "true", without preventing other git operations
|
||||
from using bitmaps. Default is true.
|
||||
|
@ -21,6 +21,9 @@ rebase.autoStash::
|
||||
`--autostash` options of linkgit:git-rebase[1].
|
||||
Defaults to false.
|
||||
|
||||
rebase.updateRefs::
|
||||
If set to true enable `--update-refs` option by default.
|
||||
|
||||
rebase.missingCommitsCheck::
|
||||
If set to "warn", git rebase -i will print a warning if some
|
||||
commits are removed (e.g. a line was deleted), however the
|
||||
|
@ -82,5 +82,7 @@ remote.<name>.promisor::
|
||||
objects.
|
||||
|
||||
remote.<name>.partialclonefilter::
|
||||
The filter that will be applied when fetching from this
|
||||
promisor remote.
|
||||
The filter that will be applied when fetching from this promisor remote.
|
||||
Changing or clearing this value will only affect fetches for new commits.
|
||||
To fetch associated objects for commits already present in the local object
|
||||
database, use the `--refetch` option of linkgit:git-fetch[1].
|
||||
|
@ -25,3 +25,17 @@ repack.writeBitmaps::
|
||||
space and extra time spent on the initial repack. This has
|
||||
no effect if multiple packfiles are created.
|
||||
Defaults to true on bare repos, false otherwise.
|
||||
|
||||
repack.updateServerInfo::
|
||||
If set to false, linkgit:git-repack[1] will not run
|
||||
linkgit:git-update-server-info[1]. Defaults to true. Can be overridden
|
||||
when true by the `-n` option of linkgit:git-repack[1].
|
||||
|
||||
repack.cruftWindow::
|
||||
repack.cruftWindowMemory::
|
||||
repack.cruftDepth::
|
||||
repack.cruftThreads::
|
||||
Parameters used by linkgit:git-pack-objects[1] when generating
|
||||
a cruft pack and the respective parameters are not given over
|
||||
the command line. See similarly named `pack.*` configuration
|
||||
variables for defaults and meaning.
|
||||
|
@ -1,2 +0,0 @@
|
||||
reset.quiet::
|
||||
When set to true, 'git reset' will default to the '--quiet' option.
|
3
Documentation/config/revert.txt
Normal file
3
Documentation/config/revert.txt
Normal file
@ -0,0 +1,3 @@
|
||||
revert.reference::
|
||||
Setting this variable to true makes `git revert` behave
|
||||
as if the `--reference` option is given.
|
@ -1,3 +1,22 @@
|
||||
safe.bareRepository::
|
||||
Specifies which bare repositories Git will work with. The currently
|
||||
supported values are:
|
||||
+
|
||||
* `all`: Git works with all bare repositories. This is the default.
|
||||
* `explicit`: Git only works with bare repositories specified via
|
||||
the top-level `--git-dir` command-line option, or the `GIT_DIR`
|
||||
environment variable (see linkgit:git[1]).
|
||||
+
|
||||
If you do not use bare repositories in your workflow, then it may be
|
||||
beneficial to set `safe.bareRepository` to `explicit` in your global
|
||||
config. This will protect you from attacks that involve cloning a
|
||||
repository that contains a bare repository and running a Git command
|
||||
within that directory.
|
||||
+
|
||||
This config setting is only respected in protected configuration (see
|
||||
<<SCOPES>>). This prevents the untrusted repository from tampering with
|
||||
this value.
|
||||
|
||||
safe.directory::
|
||||
These config entries specify Git-tracked directories that are
|
||||
considered safe even if they are owned by someone other than the
|
||||
@ -12,9 +31,9 @@ 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>`.
|
||||
This config setting is only respected in protected configuration (see
|
||||
<<SCOPES>>). This prevents the untrusted repository from tampering with this
|
||||
value.
|
||||
+
|
||||
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
|
||||
|
@ -18,17 +18,49 @@ sendemail.<identity>.*::
|
||||
identity is selected, through either the command-line or
|
||||
`sendemail.identity`.
|
||||
|
||||
sendemail.multiEdit::
|
||||
If true (default), a single editor instance will be spawned to edit
|
||||
files you have to edit (patches when `--annotate` is used, and the
|
||||
summary when `--compose` is used). If false, files will be edited one
|
||||
after the other, spawning a new editor each time.
|
||||
|
||||
sendemail.confirm::
|
||||
Sets the default for whether to confirm before sending. Must be
|
||||
one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm`
|
||||
in the linkgit:git-send-email[1] documentation for the meaning of these
|
||||
values.
|
||||
|
||||
sendemail.aliasesFile::
|
||||
To avoid typing long email addresses, point this to one or more
|
||||
email aliases files. You must also supply `sendemail.aliasFileType`.
|
||||
|
||||
sendemail.aliasFileType::
|
||||
Format of the file(s) specified in sendemail.aliasesFile. Must be
|
||||
one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus', or 'sendmail'.
|
||||
+
|
||||
What an alias file in each format looks like can be found in
|
||||
the documentation of the email program of the same name. The
|
||||
differences and limitations from the standard formats are
|
||||
described below:
|
||||
+
|
||||
--
|
||||
sendmail;;
|
||||
* Quoted aliases and quoted addresses are not supported: lines that
|
||||
contain a `"` symbol are ignored.
|
||||
* Redirection to a file (`/path/name`) or pipe (`|command`) is not
|
||||
supported.
|
||||
* File inclusion (`:include: /path/name`) is not supported.
|
||||
* Warnings are printed on the standard error output for any
|
||||
explicitly unsupported constructs, and any other lines that are not
|
||||
recognized by the parser.
|
||||
--
|
||||
sendemail.annotate::
|
||||
sendemail.bcc::
|
||||
sendemail.cc::
|
||||
sendemail.ccCmd::
|
||||
sendemail.chainReplyTo::
|
||||
sendemail.confirm::
|
||||
sendemail.envelopeSender::
|
||||
sendemail.from::
|
||||
sendemail.multiEdit::
|
||||
sendemail.signedoffbycc::
|
||||
sendemail.smtpPass::
|
||||
sendemail.suppresscc::
|
||||
@ -44,7 +76,9 @@ sendemail.thread::
|
||||
sendemail.transferEncoding::
|
||||
sendemail.validate::
|
||||
sendemail.xmailer::
|
||||
See linkgit:git-send-email[1] for description.
|
||||
These configuration variables all provide a default for
|
||||
linkgit:git-send-email[1] command-line options. See its
|
||||
documentation for details.
|
||||
|
||||
sendemail.signedoffcc (deprecated)::
|
||||
Deprecated alias for `sendemail.signedoffbycc`.
|
||||
|
27
Documentation/config/sparse.txt
Normal file
27
Documentation/config/sparse.txt
Normal file
@ -0,0 +1,27 @@
|
||||
sparse.expectFilesOutsideOfPatterns::
|
||||
Typically with sparse checkouts, files not matching any
|
||||
sparsity patterns are marked with a SKIP_WORKTREE bit in the
|
||||
index and are missing from the working tree. Accordingly, Git
|
||||
will ordinarily check whether files with the SKIP_WORKTREE bit
|
||||
are in fact present in the working tree contrary to
|
||||
expectations. If Git finds any, it marks those paths as
|
||||
present by clearing the relevant SKIP_WORKTREE bits. This
|
||||
option can be used to tell Git that such
|
||||
present-despite-skipped files are expected and to stop
|
||||
checking for them.
|
||||
+
|
||||
The default is `false`, which allows Git to automatically recover
|
||||
from the list of files in the index and working tree falling out of
|
||||
sync.
|
||||
+
|
||||
Set this to `true` if you are in a setup where some external factor
|
||||
relieves Git of the responsibility for maintaining the consistency
|
||||
between the presence of working tree files and sparsity patterns. For
|
||||
example, if you have a Git-aware virtual file system that has a robust
|
||||
mechanism for keeping the working tree and the sparsity patterns up to
|
||||
date based on access patterns.
|
||||
+
|
||||
Regardless of this setting, Git does not check for
|
||||
present-despite-skipped files unless sparse checkout is enabled, so
|
||||
this config option has no effect unless `core.sparseCheckout` is
|
||||
`true`.
|
@ -1,10 +1,3 @@
|
||||
stash.useBuiltin::
|
||||
Unused configuration variable. Used in Git versions 2.22 to
|
||||
2.26 as an escape hatch to enable the legacy shellscript
|
||||
implementation of stash. Now the built-in rewrite of it in C
|
||||
is always used. Setting this will emit a warning, to alert any
|
||||
remaining users that setting this now does nothing.
|
||||
|
||||
stash.showIncludeUntracked::
|
||||
If this is set to true, the `git stash show` command will show
|
||||
the untracked files of a stash entry. Defaults to false. See
|
||||
|
@ -59,18 +59,33 @@ submodule.active::
|
||||
|
||||
submodule.recurse::
|
||||
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`.
|
||||
option by default. Defaults to false.
|
||||
+
|
||||
When set to true, it can be deactivated via the
|
||||
`--no-recurse-submodules` option. Note that some Git commands
|
||||
lacking this option may call some of the above commands affected by
|
||||
`submodule.recurse`; for instance `git remote update` will call
|
||||
`git fetch` but does not have a `--no-recurse-submodules` option.
|
||||
For these commands a workaround is to temporarily change the
|
||||
configuration value by using `git -c submodule.recurse=0`.
|
||||
+
|
||||
The following list shows the commands that accept
|
||||
`--recurse-submodules` and whether they are supported by this
|
||||
setting.
|
||||
|
||||
* `checkout`, `fetch`, `grep`, `pull`, `push`, `read-tree`,
|
||||
`reset`, `restore` and `switch` are always supported.
|
||||
* `clone` and `ls-files` are not supported.
|
||||
* `branch` is supported only if `submodule.propagateBranches` is
|
||||
enabled
|
||||
|
||||
submodule.propagateBranches::
|
||||
[EXPERIMENTAL] A boolean that enables branching support when
|
||||
using `--recurse-submodules` or `submodule.recurse=true`.
|
||||
Enabling this will allow certain commands to accept
|
||||
`--recurse-submodules` and certain commands that already accept
|
||||
`--recurse-submodules` will now consider branches.
|
||||
Defaults to false.
|
||||
When set to true, it can be deactivated via the
|
||||
`--no-recurse-submodules` option. Note that some Git commands
|
||||
lacking this option may call some of the above commands affected by
|
||||
`submodule.recurse`; for instance `git remote update` will call
|
||||
`git fetch` but does not have a `--no-recurse-submodules` option.
|
||||
For these commands a workaround is to temporarily change the
|
||||
configuration value by using `git -c submodule.recurse=0`.
|
||||
|
||||
submodule.fetchJobs::
|
||||
Specifies how many submodules are fetched/cloned at the same time.
|
||||
|
@ -1,3 +1,41 @@
|
||||
transfer.credentialsInUrl::
|
||||
A configured URL can contain plaintext credentials in the form
|
||||
`<protocol>://<user>:<password>@<domain>/<path>`. You may want
|
||||
to warn or forbid the use of such configuration (in favor of
|
||||
using linkgit:git-credential[1]). This will be used on
|
||||
linkgit:git-clone[1], linkgit:git-fetch[1], linkgit:git-push[1],
|
||||
and any other direct use of the configured URL.
|
||||
+
|
||||
Note that this is currently limited to detecting credentials in
|
||||
`remote.<name>.url` configuration, it won't detect credentials in
|
||||
`remote.<name>.pushurl` configuration.
|
||||
+
|
||||
You might want to enable this to prevent inadvertent credentials
|
||||
exposure, e.g. because:
|
||||
+
|
||||
* The OS or system where you're running git may not provide a way or
|
||||
otherwise allow you to configure the permissions of the
|
||||
configuration file where the username and/or password are stored.
|
||||
* Even if it does, having such data stored "at rest" might expose you
|
||||
in other ways, e.g. a backup process might copy the data to another
|
||||
system.
|
||||
* The git programs will pass the full URL to one another as arguments
|
||||
on the command-line, meaning the credentials will be exposed to other
|
||||
users on OS's or systems that allow other users to see the full
|
||||
process list of other users. On linux the "hidepid" setting
|
||||
documented in procfs(5) allows for configuring this behavior.
|
||||
+
|
||||
If such concerns don't apply to you then you probably don't need to be
|
||||
concerned about credentials exposure due to storing that sensitive
|
||||
data in git's configuration files. If you do want to use this, set
|
||||
`transfer.credentialsInUrl` to one of these values:
|
||||
+
|
||||
* `allow` (default): Git will proceed with its activity without warning.
|
||||
* `warn`: Git will write a warning message to `stderr` when parsing a URL
|
||||
with a plaintext credential.
|
||||
* `die`: Git will write a failure message to `stderr` when parsing a URL
|
||||
with a plaintext credential.
|
||||
|
||||
transfer.fsckObjects::
|
||||
When `fetch.fsckObjects` or `receive.fsckObjects` are
|
||||
not set, the value of this variable is used instead.
|
||||
|
@ -49,9 +49,9 @@ uploadpack.packObjectsHook::
|
||||
`pack-objects` to the hook, and expects a completed packfile on
|
||||
stdout.
|
||||
+
|
||||
Note that this configuration variable is ignored if it is seen in the
|
||||
repository-level config (this is a safety measure against fetching from
|
||||
untrusted repositories).
|
||||
Note that this configuration variable is only respected when it is specified
|
||||
in protected configuration (see <<SCOPES>>). This is a safety measure
|
||||
against fetching from untrusted repositories.
|
||||
|
||||
uploadpack.allowFilter::
|
||||
If this option is set, `upload-pack` will support partial
|
||||
|
@ -36,10 +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 literal ssh public
|
||||
key (e.g.: "ssh-rsa XXXXXX identifier") or a file which contains it and
|
||||
corresponds to the private key used for signing. The private key
|
||||
needs to be available via ssh-agent. Alternatively it can be set to
|
||||
a file containing a private key directly. If not set git will call
|
||||
gpg.ssh.defaultKeyCommand (e.g.: "ssh-add -L") and try to use the first
|
||||
key available.
|
||||
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::
|
||||
|
@ -43,7 +43,7 @@ That is, from the left to the right:
|
||||
. a space.
|
||||
. sha1 for "src"; 0\{40\} if creation or unmerged.
|
||||
. a space.
|
||||
. sha1 for "dst"; 0\{40\} if creation, unmerged or "look at work tree".
|
||||
. sha1 for "dst"; 0\{40\} if deletion, unmerged or "work tree out of sync with the index".
|
||||
. a space.
|
||||
. status, followed by optional "score" number.
|
||||
. a tab or a NUL when `-z` option is used.
|
||||
@ -69,8 +69,8 @@ percentage of similarity between the source and target of the move or
|
||||
copy). Status letter M may be followed by a score (denoting the
|
||||
percentage of dissimilarity) for file rewrites.
|
||||
|
||||
<sha1> is shown as all 0's if a file is new on the filesystem
|
||||
and it is out of sync with the index.
|
||||
The sha1 for "dst" is shown as all 0's if a file on the filesystem
|
||||
is out of sync with the index.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -34,7 +34,7 @@ endif::git-diff[]
|
||||
endif::git-format-patch[]
|
||||
|
||||
ifdef::git-log[]
|
||||
--diff-merges=(off|none|on|first-parent|1|separate|m|combined|c|dense-combined|cc)::
|
||||
--diff-merges=(off|none|on|first-parent|1|separate|m|combined|c|dense-combined|cc|remerge|r)::
|
||||
--no-diff-merges::
|
||||
Specify diff format to be used for merge commits. Default is
|
||||
{diff-merges-default} unless `--first-parent` is in use, in which case
|
||||
@ -64,6 +64,18 @@ ifdef::git-log[]
|
||||
each of the parents. Separate log entry and diff is generated
|
||||
for each parent.
|
||||
+
|
||||
--diff-merges=remerge:::
|
||||
--diff-merges=r:::
|
||||
--remerge-diff:::
|
||||
With this option, two-parent merge commits are remerged to
|
||||
create a temporary tree object -- potentially containing files
|
||||
with conflict markers and such. A diff is then shown between
|
||||
that temporary tree and the actual merge commit.
|
||||
+
|
||||
The output emitted when this option is used is subject to change, and
|
||||
so is its interaction with other options (unless explicitly
|
||||
documented).
|
||||
+
|
||||
--diff-merges=combined:::
|
||||
--diff-merges=c:::
|
||||
-c:::
|
||||
@ -616,11 +628,8 @@ ifndef::git-format-patch[]
|
||||
Also, these upper-case letters can be downcased to exclude. E.g.
|
||||
`--diff-filter=ad` excludes added and deleted paths.
|
||||
+
|
||||
Note that not all diffs can feature all types. For instance, diffs
|
||||
from the index to the working tree can never have Added entries
|
||||
(because the set of paths included in the diff is limited by what is in
|
||||
the index). Similarly, copied and renamed entries cannot appear if
|
||||
detection for those types is disabled.
|
||||
Note that not all diffs can feature all types. For instance, copied and
|
||||
renamed entries cannot appear if detection for those types is disabled.
|
||||
|
||||
-S<string>::
|
||||
Look for differences that change the number of occurrences of
|
||||
|
@ -71,6 +71,7 @@ configuration variables documented in linkgit:git-config[1], and the
|
||||
ancestors of the provided `--negotiation-tip=*` arguments,
|
||||
which we have in common with the server.
|
||||
+
|
||||
This is incompatible with `--recurse-submodules=[yes|on-demand]`.
|
||||
Internally this is used to implement the `push.negotiate` option, see
|
||||
linkgit:git-config[1].
|
||||
|
||||
@ -162,6 +163,16 @@ endif::git-pull[]
|
||||
behavior for a remote may be specified with the remote.<name>.tagOpt
|
||||
setting. See linkgit:git-config[1].
|
||||
|
||||
ifndef::git-pull[]
|
||||
--refetch::
|
||||
Instead of negotiating with the server to avoid transferring commits and
|
||||
associated objects that are already present locally, this option fetches
|
||||
all objects as a fresh clone would. Use this to reapply a partial clone
|
||||
filter from configuration or using `--filter=` when the filter
|
||||
definition has changed. Automatic post-fetch maintenance will perform
|
||||
object database pack consolidation to remove any duplicate objects.
|
||||
endif::git-pull[]
|
||||
|
||||
--refmap=<refspec>::
|
||||
When fetching refs listed on the command line, use the
|
||||
specified refspec (can be given more than once) to map the
|
||||
@ -185,15 +196,23 @@ endif::git-pull[]
|
||||
ifndef::git-pull[]
|
||||
--recurse-submodules[=yes|on-demand|no]::
|
||||
This option controls if and under what conditions new commits of
|
||||
populated submodules should be fetched too. It can be used as a
|
||||
boolean option to completely disable recursion when set to 'no' or to
|
||||
unconditionally recurse into all populated submodules when set to
|
||||
'yes', which is the default when this option is used without any
|
||||
value. Use 'on-demand' to only recurse into a populated submodule
|
||||
when the superproject retrieves a commit that updates the submodule's
|
||||
reference to a commit that isn't already in the local submodule
|
||||
clone. By default, 'on-demand' is used, unless
|
||||
`fetch.recurseSubmodules` is set (see linkgit:git-config[1]).
|
||||
submodules should be fetched too. When recursing through submodules,
|
||||
`git fetch` always attempts to fetch "changed" submodules, that is, a
|
||||
submodule that has commits that are referenced by a newly fetched
|
||||
superproject commit but are missing in the local submodule clone. A
|
||||
changed submodule can be fetched as long as it is present locally e.g.
|
||||
in `$GIT_DIR/modules/` (see linkgit:gitsubmodules[7]); if the upstream
|
||||
adds a new submodule, that submodule cannot be fetched until it is
|
||||
cloned e.g. by `git submodule update`.
|
||||
+
|
||||
When set to 'on-demand', only changed submodules are fetched. When set
|
||||
to 'yes', all populated submodules are fetched and submodules that are
|
||||
both unpopulated and changed are fetched. When set to 'no', submodules
|
||||
are never fetched.
|
||||
+
|
||||
When unspecified, this uses the value of `fetch.recurseSubmodules` if it
|
||||
is set (see linkgit:git-config[1]), defaulting to 'on-demand' if unset.
|
||||
When this option is used without any value, it defaults to 'yes'.
|
||||
endif::git-pull[]
|
||||
|
||||
-j::
|
||||
|
@ -188,7 +188,9 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
|
||||
forcibly add them again to the index. This is useful after
|
||||
changing `core.autocrlf` configuration or the `text` attribute
|
||||
in order to correct files added with wrong CRLF/LF line endings.
|
||||
This option implies `-u`.
|
||||
This option implies `-u`. Lone CR characters are untouched, thus
|
||||
while a CRLF cleans to LF, a CRCRLF sequence is only partially
|
||||
cleaned to CRLF.
|
||||
|
||||
--chmod=(+|-)x::
|
||||
Override the executable bit of the added files. The executable
|
||||
@ -431,6 +433,13 @@ they will make the patch impossible to apply:
|
||||
* deleting context or removal lines
|
||||
* modifying the contents of context or removal lines
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
include::includes/cmd-config-section-all.txt[]
|
||||
|
||||
include::config/add.txt[]
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-status[1]
|
||||
|
@ -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]),
|
||||
@ -103,10 +112,7 @@ default. You can use `--no-utf8` to override this.
|
||||
am.threeWay configuration variable. For more information,
|
||||
see am.threeWay in linkgit:git-config[1].
|
||||
|
||||
--rerere-autoupdate::
|
||||
--no-rerere-autoupdate::
|
||||
Allow the rerere mechanism to update the index with the
|
||||
result of auto-conflict resolution if possible.
|
||||
include::rerere-options.txt[]
|
||||
|
||||
--ignore-space-change::
|
||||
--ignore-whitespace::
|
||||
@ -191,6 +197,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
|
||||
----------
|
||||
|
||||
@ -247,6 +258,13 @@ This command can run `applypatch-msg`, `pre-applypatch`,
|
||||
and `post-applypatch` hooks. See linkgit:githooks[5] for more
|
||||
information.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
include::includes/cmd-config-section-all.txt[]
|
||||
|
||||
include::config/am.txt[]
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-apply[1].
|
||||
|
@ -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,16 +256,16 @@ 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
|
||||
-------------
|
||||
|
||||
apply.ignoreWhitespace::
|
||||
Set to 'change' if you want changes in whitespace to be ignored by default.
|
||||
Set to one of: no, none, never, false if you want changes in
|
||||
whitespace to be significant.
|
||||
apply.whitespace::
|
||||
When no `--whitespace` flag is given from the command
|
||||
line, this configuration item is used as the default.
|
||||
include::includes/cmd-config-section-all.txt[]
|
||||
|
||||
include::config/apply.txt[]
|
||||
|
||||
SUBMODULES
|
||||
----------
|
||||
|
@ -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
|
||||
|
@ -34,10 +34,12 @@ OPTIONS
|
||||
-------
|
||||
|
||||
--format=<fmt>::
|
||||
Format of the resulting archive: 'tar' or 'zip'. If this option
|
||||
Format of the resulting archive. Possible values are `tar`,
|
||||
`zip`, `tar.gz`, `tgz`, and any format defined using the
|
||||
configuration option `tar.<format>.command`. If `--format`
|
||||
is not given, and the output file is specified, the format is
|
||||
inferred from the filename if possible (e.g. writing to "foo.zip"
|
||||
makes the output to be in the zip format). Otherwise the output
|
||||
inferred from the filename if possible (e.g. writing to `foo.zip`
|
||||
makes the output to be in the `zip` format). Otherwise the output
|
||||
format is `tar`.
|
||||
|
||||
-l::
|
||||
@ -49,7 +51,9 @@ OPTIONS
|
||||
Report progress to stderr.
|
||||
|
||||
--prefix=<prefix>/::
|
||||
Prepend <prefix>/ to each filename in the archive.
|
||||
Prepend <prefix>/ to paths in the archive. Can be repeated; its
|
||||
rightmost value is used for all tracked files. See below which
|
||||
value gets used by `--add-file` and `--add-virtual-file`.
|
||||
|
||||
-o <file>::
|
||||
--output=<file>::
|
||||
@ -57,9 +61,26 @@ OPTIONS
|
||||
|
||||
--add-file=<file>::
|
||||
Add a non-tracked file to the archive. Can be repeated to add
|
||||
multiple files. The path of the file in the archive is built by
|
||||
concatenating the value of the last `--prefix` option (if any)
|
||||
before this `--add-file` and the basename of <file>.
|
||||
|
||||
--add-virtual-file=<path>:<content>::
|
||||
Add the specified contents to the archive. Can be repeated to add
|
||||
multiple files. The path of the file in the archive is built
|
||||
by concatenating the value for `--prefix` (if any) and the
|
||||
basename of <file>.
|
||||
by concatenating the value of the last `--prefix` option (if any)
|
||||
before this `--add-virtual-file` and `<path>`.
|
||||
+
|
||||
The `<path>` argument can start and end with a literal double-quote
|
||||
character; the contained file name is interpreted as a C-style string,
|
||||
i.e. the backslash is interpreted as escape character. The path must
|
||||
be quoted if it contains a colon, to avoid the colon from being
|
||||
misinterpreted as the separator between the path and the contents, or
|
||||
if the path begins or ends with a double-quote character.
|
||||
+
|
||||
The file mode is limited to a regular file, and the option may be
|
||||
subject to platform-dependent command-line limits. For non-trivial
|
||||
cases, write an untracked file and use `--add-file` instead.
|
||||
|
||||
--worktree-attributes::
|
||||
Look for attributes in .gitattributes files in the working tree
|
||||
@ -124,17 +145,16 @@ tar.<format>.command::
|
||||
is executed using the shell with the generated tar file on its
|
||||
standard input, and should produce the final output on its
|
||||
standard output. Any compression-level options will be passed
|
||||
to the command (e.g., "-9"). An output file with the same
|
||||
extension as `<format>` will be use this format if no other
|
||||
format is given.
|
||||
to the command (e.g., `-9`).
|
||||
+
|
||||
The "tar.gz" and "tgz" formats are defined automatically and default to
|
||||
`gzip -cn`. You may override them with custom commands.
|
||||
The `tar.gz` and `tgz` formats are defined automatically and use the
|
||||
magic command `git archive gzip` by default, which invokes an internal
|
||||
implementation of gzip.
|
||||
|
||||
tar.<format>.remote::
|
||||
If true, enable `<format>` for use by remote clients via
|
||||
If true, enable the format for use by remote clients via
|
||||
linkgit:git-upload-archive[1]. Defaults to false for
|
||||
user-defined formats, but true for the "tar.gz" and "tgz"
|
||||
user-defined formats, but true for the `tar.gz` and `tgz`
|
||||
formats.
|
||||
|
||||
[[ATTRIBUTES]]
|
||||
@ -194,6 +214,12 @@ EXAMPLES
|
||||
commit on the current branch. Note that the output format is
|
||||
inferred by the extension of the output file.
|
||||
|
||||
`git archive -o latest.tar --prefix=build/ --add-file=configure --prefix= HEAD`::
|
||||
|
||||
Creates a tar archive that contains the contents of the latest
|
||||
commit on the current branch with no prefix and the untracked
|
||||
file 'configure' with the prefix 'build/'.
|
||||
|
||||
`git config tar.tar.xz.command "xz -c"`::
|
||||
|
||||
Configure a "tar.xz" format for making LZMA-compressed tarfiles.
|
||||
|
@ -241,6 +241,12 @@ MAPPING AUTHORS
|
||||
|
||||
See linkgit:gitmailmap[5].
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
include::includes/cmd-config-section-all.txt[]
|
||||
|
||||
include::config/blame.txt[]
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
@ -16,7 +16,8 @@ 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]
|
||||
[--recurse-submodules] <branchname> [<start-point>]
|
||||
'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
|
||||
'git branch' --unset-upstream [<branchname>]
|
||||
'git branch' (-m | -M) [<oldbranch>] <newbranch>
|
||||
@ -206,24 +207,54 @@ 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.
|
||||
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.
|
||||
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.
|
||||
+
|
||||
The branch.autoSetupMerge configuration variable specifies how `git switch`,
|
||||
`git checkout` and `git branch` should behave when neither `--track` nor
|
||||
`--no-track` are specified:
|
||||
+
|
||||
The default option, `true`, behaves as though `--track=direct`
|
||||
were given whenever the start-point is a remote-tracking branch.
|
||||
`false` behaves as if `--no-track` were given. `always` behaves as though
|
||||
`--track=direct` were given. `inherit` behaves as though `--track=inherit`
|
||||
were given. `simple` behaves as though `--track=direct` were given only when
|
||||
the start-point is a remote-tracking branch and the new branch has the same
|
||||
name as the remote branch.
|
||||
+
|
||||
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.
|
||||
|
||||
--recurse-submodules::
|
||||
THIS OPTION IS EXPERIMENTAL! Causes the current command to
|
||||
recurse into submodules if `submodule.propagateBranches` is
|
||||
enabled. See `submodule.propagateBranches` in
|
||||
linkgit:git-config[1]. Currently, only branch creation is
|
||||
supported.
|
||||
+
|
||||
When used in branch creation, a new branch <branchname> will be created
|
||||
in the superproject and all of the submodules in the superproject's
|
||||
<start-point>. In submodules, the branch will point to the submodule
|
||||
commit in the superproject's <start-point> but the branch's tracking
|
||||
information will be set up based on the submodule's branches and remotes
|
||||
e.g. `git branch --recurse-submodules topic origin/main` will create the
|
||||
submodule branch "topic" that points to the submodule commit in the
|
||||
superproject's "origin/main", but tracks the submodule's "origin/main".
|
||||
|
||||
--set-upstream::
|
||||
As this option had confusing syntax, it is no longer supported.
|
||||
@ -305,6 +336,10 @@ CONFIGURATION
|
||||
`--list` is used or implied. The default is to use a pager.
|
||||
See linkgit:git-config[1].
|
||||
|
||||
include::includes/cmd-config-section-rest.txt[]
|
||||
|
||||
include::config/branch.txt[]
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
|
@ -9,6 +9,7 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git bugreport' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
|
||||
[--diagnose[=<mode>]]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -31,6 +32,10 @@ The following information is captured automatically:
|
||||
- A list of enabled hooks
|
||||
- $SHELL
|
||||
|
||||
Additional information may be gathered into a separate zip archive using the
|
||||
`--diagnose` option, and can be attached alongside the bugreport document to
|
||||
provide additional context to readers.
|
||||
|
||||
This tool is invoked via the typical Git setup process, which means that in some
|
||||
cases, it might not be able to launch - for example, if a relevant config file
|
||||
is unreadable. In this kind of scenario, it may be helpful to manually gather
|
||||
@ -49,6 +54,19 @@ OPTIONS
|
||||
named 'git-bugreport-<formatted suffix>'. This should take the form of a
|
||||
strftime(3) format string; the current local time will be used.
|
||||
|
||||
--no-diagnose::
|
||||
--diagnose[=<mode>]::
|
||||
Create a zip archive of supplemental information about the user's
|
||||
machine, Git client, and repository state. The archive is written to the
|
||||
same output directory as the bug report and is named
|
||||
'git-diagnostics-<formatted suffix>'.
|
||||
+
|
||||
Without `mode` specified, the diagnostic archive will contain the default set of
|
||||
statistics reported by `git diagnose`. An optional `mode` value may be specified
|
||||
to change which information is included in the archive. See
|
||||
linkgit:git-diagnose[1] for the list of valid values for `mode` and details
|
||||
about their usage.
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -42,7 +42,7 @@ 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
|
||||
Like the packed archive format itself bundles can either be
|
||||
self-contained, or be created using exclusions.
|
||||
See the "OBJECT PREREQUISITES" section below.
|
||||
|
||||
@ -56,10 +56,8 @@ 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.
|
||||
See linkgit:gitformat-bundle[5] for more details and the discussion of
|
||||
"thin pack" in linkgit:gitformat-pack[5] for further details.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -75,8 +73,11 @@ verify <file>::
|
||||
cleanly to the current repository. This includes checks on the
|
||||
bundle format itself as well as checking that the prerequisite
|
||||
commits exist and are fully linked in the current repository.
|
||||
'git bundle' prints a list of missing commits, if any, and exits
|
||||
with a non-zero status.
|
||||
Then, 'git bundle' prints a list of missing commits, if any.
|
||||
Finally, information about additional capabilities, such as "object
|
||||
filter", is printed. See "Capabilities" in linkgit:gitformat-bundle[5]
|
||||
for more information. The exit code is zero for success, but will
|
||||
be nonzero if the bundle file is invalid.
|
||||
|
||||
list-heads <file>::
|
||||
Lists the references defined in the bundle. If followed by a
|
||||
@ -334,6 +335,11 @@ You can also see what references it offers:
|
||||
$ git ls-remote mybundle
|
||||
----------------
|
||||
|
||||
FILE FORMAT
|
||||
-----------
|
||||
|
||||
See linkgit:gitformat-bundle[5].
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -9,8 +9,14 @@ git-cat-file - Provide content or type and size information for repository objec
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv | --filters ) [--path=<path>] <object>
|
||||
'git cat-file' (--batch[=<format>] | --batch-check[=<format>]) [ --textconv | --filters ] [--follow-symlinks]
|
||||
'git cat-file' <type> <object>
|
||||
'git cat-file' (-e | -p) <object>
|
||||
'git cat-file' (-t | -s) [--allow-unknown-type] <object>
|
||||
'git cat-file' (--batch | --batch-check | --batch-command) [--batch-all-objects]
|
||||
[--buffer] [--follow-symlinks] [--unordered]
|
||||
[--textconv | --filters] [-z]
|
||||
'git cat-file' (--textconv | --filters)
|
||||
[<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -57,6 +63,12 @@ OPTIONS
|
||||
or to ask for a "blob" with `<object>` being a tag object that
|
||||
points at it.
|
||||
|
||||
--[no-]mailmap::
|
||||
--[no-]use-mailmap::
|
||||
Use mailmap file to map author, committer and tagger names
|
||||
and email addresses to canonical real names and email addresses.
|
||||
See linkgit:git-shortlog[1].
|
||||
|
||||
--textconv::
|
||||
Show the content as transformed by a textconv filter. In this case,
|
||||
`<object>` has to be of the form `<tree-ish>:<path>`, or `:<path>` in
|
||||
@ -90,6 +102,33 @@ OPTIONS
|
||||
need to specify the path, separated by whitespace. See the
|
||||
section `BATCH OUTPUT` below for details.
|
||||
|
||||
--batch-command::
|
||||
--batch-command=<format>::
|
||||
Enter a command mode that reads commands and arguments from stdin. May
|
||||
only be combined with `--buffer`, `--textconv` or `--filters`. In the
|
||||
case of `--textconv` or `--filters`, the input lines also need to specify
|
||||
the path, separated by whitespace. See the section `BATCH OUTPUT` below
|
||||
for details.
|
||||
+
|
||||
`--batch-command` recognizes the following commands:
|
||||
+
|
||||
--
|
||||
contents <object>::
|
||||
Print object contents for object reference `<object>`. This corresponds to
|
||||
the output of `--batch`.
|
||||
|
||||
info <object>::
|
||||
Print object info for object reference `<object>`. This corresponds to the
|
||||
output of `--batch-check`.
|
||||
|
||||
flush::
|
||||
Used with `--buffer` to execute all preceding commands that were issued
|
||||
since the beginning or since the last flush was issued. When `--buffer`
|
||||
is used, no output will come until a `flush` is issued. When `--buffer`
|
||||
is not used, commands are flushed each time without issuing `flush`.
|
||||
--
|
||||
+
|
||||
|
||||
--batch-all-objects::
|
||||
Instead of reading a list of objects on stdin, perform the
|
||||
requested batch operation on all objects in the repository and
|
||||
@ -104,7 +143,7 @@ OPTIONS
|
||||
that a process can interactively read and write from
|
||||
`cat-file`. With this option, the output uses normal stdio
|
||||
buffering; this is much more efficient when invoking
|
||||
`--batch-check` on a large number of objects.
|
||||
`--batch-check` or `--batch-command` on a large number of objects.
|
||||
|
||||
--unordered::
|
||||
When `--batch-all-objects` is in use, visit objects in an
|
||||
@ -174,6 +213,11 @@ respectively print:
|
||||
/etc/passwd
|
||||
--
|
||||
|
||||
-z::
|
||||
Only meaningful with `--batch`, `--batch-check`, or
|
||||
`--batch-command`; input is NUL-delimited instead of
|
||||
newline-delimited.
|
||||
|
||||
|
||||
OUTPUT
|
||||
------
|
||||
@ -196,6 +240,13 @@ from stdin, one per line, and print information about them. By default,
|
||||
the whole line is considered as an object, as if it were fed to
|
||||
linkgit:git-rev-parse[1].
|
||||
|
||||
When `--batch-command` is given, `cat-file` will read commands from stdin,
|
||||
one per line, and print information based on the command given. With
|
||||
`--batch-command`, the `info` command followed by an object will print
|
||||
information about the object the same way `--batch-check` would, and the
|
||||
`contents` command followed by an object prints contents in the same way
|
||||
`--batch` would.
|
||||
|
||||
You can specify the information shown for each object by using a custom
|
||||
`<format>`. The `<format>` is copied literally to stdout for each
|
||||
object, with placeholders of the form `%(atom)` expanded, followed by a
|
||||
@ -231,9 +282,9 @@ newline. The available atoms are:
|
||||
If no format is specified, the default format is `%(objectname)
|
||||
%(objecttype) %(objectsize)`.
|
||||
|
||||
If `--batch` is specified, the object information is followed by the
|
||||
object contents (consisting of `%(objectsize)` bytes), followed by a
|
||||
newline.
|
||||
If `--batch` is specified, or if `--batch-command` is used with the `contents`
|
||||
command, the object information is followed by the object contents (consisting
|
||||
of `%(objectsize)` bytes), followed by a newline.
|
||||
|
||||
For example, `--batch` without a custom format would produce:
|
||||
|
||||
|
@ -33,7 +33,7 @@ OPTIONS
|
||||
Instead of printing the paths that are excluded, for each path
|
||||
that matches an exclude pattern, print the exclude pattern
|
||||
together with the path. (Matching an exclude pattern usually
|
||||
means the path is excluded, but if the pattern begins with '!'
|
||||
means the path is excluded, but if the pattern begins with "`!`"
|
||||
then it is a negated pattern and matching it means the path is
|
||||
NOT excluded.)
|
||||
+
|
||||
@ -77,7 +77,7 @@ If `--verbose` is specified, the output is a series of lines of the form:
|
||||
<pathname> is the path of a file being queried, <pattern> is the
|
||||
matching pattern, <source> is the pattern's source file, and <linenum>
|
||||
is the line number of the pattern within that source. If the pattern
|
||||
contained a `!` prefix or `/` suffix, it will be preserved in the
|
||||
contained a "`!`" prefix or "`/`" suffix, it will be preserved in the
|
||||
output. <source> will be an absolute path when referring to the file
|
||||
configured by `core.excludesFile`, or relative to the repository root
|
||||
when referring to `.git/info/exclude` or a per-directory exclude file.
|
||||
|
@ -12,6 +12,7 @@ SYNOPSIS
|
||||
'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
|
||||
[--stage=<number>|all]
|
||||
[--temp]
|
||||
[--ignore-skip-worktree-bits]
|
||||
[-z] [--stdin]
|
||||
[--] [<file>...]
|
||||
|
||||
@ -37,8 +38,9 @@ OPTIONS
|
||||
|
||||
-a::
|
||||
--all::
|
||||
checks out all files in the index. Cannot be used
|
||||
together with explicit filenames.
|
||||
checks out all files in the index except for those with the
|
||||
skip-worktree bit set (see `--ignore-skip-worktree-bits`).
|
||||
Cannot be used together with explicit filenames.
|
||||
|
||||
-n::
|
||||
--no-create::
|
||||
@ -59,6 +61,10 @@ OPTIONS
|
||||
write the content to temporary files. The temporary name
|
||||
associations will be written to stdout.
|
||||
|
||||
--ignore-skip-worktree-bits::
|
||||
Check out all files, including those with the skip-worktree bit
|
||||
set.
|
||||
|
||||
--stdin::
|
||||
Instead of taking list of paths from the command line,
|
||||
read list of paths from the standard input. Paths are
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user