Compare commits
2368 Commits
v2.38.5
...
v2.42.0-rc
Author | SHA1 | Date | |
---|---|---|---|
ac83bc5054 | |||
65e25ae522 | |||
f4a7c24c09 | |||
f9712d75e6 | |||
23b20fff3a | |||
840affcb8d | |||
a53e8a6488 | |||
4d06001846 | |||
3365e2675e | |||
dd68b57fc4 | |||
1b0a512956 | |||
955c2b1c6a | |||
70e5c5dddd | |||
8bfb359844 | |||
52d9dc20e1 | |||
99acb0fa54 | |||
fea92e4cac | |||
ee48e70a82 | |||
ddcb8fd8b9 | |||
3085f949bf | |||
c8a33b44c5 | |||
010447cf09 | |||
bfce02c22f | |||
e672bc4f76 | |||
d6966f6fff | |||
9562f19026 | |||
7fb1483c27 | |||
369998df83 | |||
f835de52d7 | |||
d1b72cb364 | |||
7e42d4bf15 | |||
9111ea1cbe | |||
b4fce4b6e4 | |||
9a5e3b5f47 | |||
914a353a12 | |||
8ae477e2b4 | |||
89672f14d5 | |||
37f6040764 | |||
7cebc5bd78 | |||
a80be15292 | |||
5929e66755 | |||
02f50d0d19 | |||
261ff512e1 | |||
c5fcd34e1b | |||
dd224ce15d | |||
0e30958044 | |||
d4ce18536a | |||
4488bb3bed | |||
88d08c342a | |||
08e5fb1296 | |||
f5d18f8c0e | |||
f46094a5e6 | |||
9645a087c2 | |||
4970bedef2 | |||
e43f4fd0bd | |||
39fe402d67 | |||
36f76d2a25 | |||
3a5f308741 | |||
c95ae3ff9c | |||
835950bd19 | |||
a27eecea75 | |||
3821eb6c3d | |||
68cbb20e73 | |||
c48af99a3e | |||
c512643e67 | |||
d86a8f386d | |||
448abbba63 | |||
fb8f7269c2 | |||
92d8f00a11 | |||
0dd79e0d49 | |||
83bb8e5a06 | |||
a2dad4868b | |||
ae2c912c04 | |||
e12cb98e1e | |||
947ebd62a0 | |||
d6f598e443 | |||
991c552916 | |||
cba07a324d | |||
c6a5e1a22e | |||
6016ee0a71 | |||
d6e67222c1 | |||
3437f549dd | |||
d9e0062159 | |||
870eb53ab2 | |||
b9584c5858 | |||
468887f0f8 | |||
5e238546dc | |||
13ed10efd4 | |||
ce481ac8b3 | |||
d5bb430ec6 | |||
0e074fb4e5 | |||
d383b4f24e | |||
55e8fad660 | |||
377d1ca423 | |||
9187b276e9 | |||
945c72250a | |||
065135fc0b | |||
830b4a04c4 | |||
daa2589b63 | |||
ce36dea07b | |||
81ebc54e81 | |||
0a02ca2383 | |||
5c98149ce4 | |||
b5dbfe28a4 | |||
3423e372e4 | |||
fc0825d561 | |||
e3a567ff42 | |||
9a25cad7e0 | |||
588af1bfd3 | |||
d76e0a744d | |||
19565d093d | |||
51c31a6408 | |||
50a71c2942 | |||
2740ed1c76 | |||
0bd8f30a0e | |||
209250ef38 | |||
48f3f8cf37 | |||
0948c50176 | |||
d67609bdde | |||
2bc764c1d4 | |||
cc38127439 | |||
5675150cc3 | |||
c2b24ede22 | |||
e6c71f239d | |||
a519abca02 | |||
42be681b33 | |||
1e9cb3487a | |||
cc2f810172 | |||
1e6459efca | |||
4c7b06f208 | |||
80d4e5f3a5 | |||
ee550abcce | |||
0b4e9013f1 | |||
cc88afad62 | |||
506d35f13d | |||
a8a8e75e9e | |||
e519ac35af | |||
d0144007b1 | |||
1779deed39 | |||
b8ef49d54c | |||
bbb6acd998 | |||
c577d65158 | |||
d92304ff5c | |||
b6f3da5132 | |||
de41d03e1c | |||
def390d593 | |||
0af067276e | |||
98456eff08 | |||
18b6b1b5c5 | |||
cc2a1f98ac | |||
15af64dcfd | |||
e6bf24d39a | |||
c45841fff8 | |||
c489f47a64 | |||
59c35fac54 | |||
d22d941ac0 | |||
b269ac53c0 | |||
8255dd8a3d | |||
284c55deb5 | |||
b571fb9800 | |||
311bfe18ce | |||
b9f7daa6ef | |||
bf1377a12b | |||
4c9cb51fe7 | |||
9281cd07f0 | |||
7248857b6e | |||
f5facaa465 | |||
eb319d6771 | |||
39bdd30377 | |||
eda206f611 | |||
f4a8fde057 | |||
aa9166bcc0 | |||
b00ec259e7 | |||
7f5ad0ca8d | |||
d52a45cf56 | |||
bd19ee9c45 | |||
3e81b896f7 | |||
30c8c55cbf | |||
0ad927e9e0 | |||
7e360bc626 | |||
1dd14e8e93 | |||
7b7203e78a | |||
061c58647e | |||
b3d1c85d48 | |||
1d76e69212 | |||
391414e971 | |||
84b889bd03 | |||
a9cc3b8fc7 | |||
5a1d9e8f87 | |||
f4c18e58be | |||
67e7305e64 | |||
da269af920 | |||
1e3f26542a | |||
df521462f0 | |||
4e61e0f680 | |||
498198453d | |||
1aa92b8500 | |||
91c080dff5 | |||
da9502ff4d | |||
28aed75a9f | |||
1890ce84bd | |||
382f6940af | |||
fda5d9595d | |||
d378637d2f | |||
ec9e358a4a | |||
84d689a810 | |||
bbd7c7b7c0 | |||
a646b86cd1 | |||
89d62d5e8e | |||
812907d16f | |||
9748a68200 | |||
4c237d2ca2 | |||
3ea43bbe17 | |||
a1264a08a1 | |||
b2166b0d49 | |||
6e6a529b57 | |||
1876a5ae15 | |||
2ee045eea1 | |||
7667f4f0a3 | |||
866b43e644 | |||
d4f28279ad | |||
6e8e7981eb | |||
908857a9f8 | |||
f6c213a0cb | |||
8868b1ebfb | |||
dc90208497 | |||
26b669324b | |||
809d868061 | |||
6021e1d158 | |||
a4e7e317f8 | |||
e0f9a51c32 | |||
97eeeea2dc | |||
a096a889f4 | |||
ed773a18c6 | |||
576a37fccb | |||
15780bb4f0 | |||
cdd489eaf9 | |||
f74c90dcf7 | |||
1e65721227 | |||
d6546af75c | |||
4db16f58c7 | |||
a53f43f900 | |||
0a868031ed | |||
55245d669a | |||
98aaeb2f77 | |||
d520d98382 | |||
da260f6188 | |||
3b698111d5 | |||
b5c3edc17e | |||
8fe2bd7905 | |||
5727be06c6 | |||
ffcccc62b0 | |||
3a4d453246 | |||
08a9a6d615 | |||
8885532abb | |||
b454ed2c5d | |||
57159d5daa | |||
1eb638a5db | |||
04d430ff8d | |||
2f677ad348 | |||
a4d13aaf22 | |||
fd9058649a | |||
de4898d7d8 | |||
93ec6111a6 | |||
6a38b0a0dc | |||
f0b9e15378 | |||
a9e066fa63 | |||
e224f26892 | |||
8d5c5a05d7 | |||
42612e18d2 | |||
25d59524bb | |||
94486b6763 | |||
fb7d80edca | |||
34d765e736 | |||
6ff334181c | |||
4ee088deb8 | |||
4e4fc50cf7 | |||
1d15be363c | |||
58ecb2e383 | |||
891e631401 | |||
a813d9e239 | |||
dcedba13b3 | |||
5ee8fcdabc | |||
01202f5f68 | |||
2b7b788fb3 | |||
0bfa463d37 | |||
5fd4e2f6d1 | |||
e0e8a2dfa0 | |||
ad6d37ea7e | |||
1bff6a97fe | |||
644591bd06 | |||
a9ea4c23dc | |||
d9f9f6b358 | |||
f2ffc74186 | |||
4dd0469328 | |||
68d686460f | |||
b9a7ac2c68 | |||
a034e9106f | |||
8043418b77 | |||
6723899932 | |||
dd77d58795 | |||
88e4e18325 | |||
768122900f | |||
df6e874496 | |||
c339932bd8 | |||
0fd2e21571 | |||
bc5c5ec044 | |||
08c46a499a | |||
bc47f16db2 | |||
750324ddb8 | |||
eaa966db79 | |||
fbffdfb11c | |||
baf889c2cd | |||
f5653856c2 | |||
64c8559575 | |||
90cbae9ce5 | |||
6cee5ebc7a | |||
50c37ee839 | |||
1a40e7be6c | |||
e8cf8ef507 | |||
fc81735057 | |||
c2f76965d0 | |||
0f7443bdc7 | |||
3d6a316464 | |||
c4e2aa7d45 | |||
b7d87ad537 | |||
90bc19b3ae | |||
59587049e2 | |||
3d27ae0712 | |||
ef48fcc432 | |||
6640c2d06d | |||
917d4c2569 | |||
de00f4b7f3 | |||
7cb4274d26 | |||
9cd234e646 | |||
098a191a97 | |||
208a28ec08 | |||
6069c1a5a7 | |||
0899beb63c | |||
693bde461c | |||
7f9b5ff41e | |||
40693ae926 | |||
056d16406d | |||
ae19633021 | |||
06cff0c8d4 | |||
0dd1324a73 | |||
4416b86c6b | |||
6f1e2d5279 | |||
39dbd49b41 | |||
44ccb337f1 | |||
3c3d0c4242 | |||
db30130165 | |||
80d32e84b5 | |||
5e786ed3ee | |||
2935a97836 | |||
5ace483a15 | |||
05e717d556 | |||
be3d654343 | |||
69f4da8ead | |||
6c26da8404 | |||
aeb21ce22e | |||
c40f0b7877 | |||
af37a209ad | |||
cc8045018d | |||
3744ffcbcd | |||
d57fa7fc73 | |||
eda2c44c8b | |||
dc8937fbb9 | |||
8e80f2916b | |||
74a50fbd7f | |||
229d6ab6bf | |||
94f15fe5d5 | |||
00432a36e2 | |||
bfb5f57bb3 | |||
f0b68f0546 | |||
5768478edc | |||
d7d8841f67 | |||
32fe7fff0c | |||
ca9c063c18 | |||
e490bea8a6 | |||
cbc882ea38 | |||
ebd07c9f7e | |||
4c7d878df6 | |||
6901ffe80c | |||
6d2a88c728 | |||
861c56f6f9 | |||
caee1d669c | |||
a88a3d7cd7 | |||
1533bda770 | |||
4689101a40 | |||
003c1f1171 | |||
06f3867865 | |||
4dc16e2cb0 | |||
01e9ca4a40 | |||
73320e49ad | |||
548afb0d9a | |||
78e56cff69 | |||
787cb8a48a | |||
aba0706832 | |||
f94018506c | |||
f89854362c | |||
5d1344b497 | |||
16b171fda0 | |||
4557779660 | |||
9c7d1b057f | |||
f1178380ac | |||
d24eda4e03 | |||
f79e18849b | |||
3217f52a49 | |||
af35e56b0f | |||
b116c77307 | |||
c7309f63c6 | |||
4a53d0d0bc | |||
8fac776f44 | |||
6d224ac286 | |||
6b6fe8b43e | |||
03bf92b9bf | |||
6f74648cea | |||
7cf3b49f47 | |||
aeee1408ce | |||
a2e9dbb884 | |||
26c9c03f0a | |||
2f36339fa8 | |||
68b51172e3 | |||
d88d727143 | |||
ec6915265a | |||
85a62951e5 | |||
8260bc5902 | |||
9eac5954e8 | |||
8e32caaa78 | |||
e4cf013468 | |||
fe86abd751 | |||
ee65a63819 | |||
f86de088f8 | |||
81a797fcdf | |||
308f3f4e9a | |||
aa1991d080 | |||
3867f6d650 | |||
9b6b06c159 | |||
847d0027d2 | |||
20025fdfc7 | |||
e48a21df65 | |||
97e736c4cc | |||
2f88193dac | |||
4d34454e2c | |||
08af8c4c48 | |||
10553acb0e | |||
07d6730b39 | |||
f9bb784ab9 | |||
79bdd48716 | |||
6a6621fe9a | |||
fbc806acd1 | |||
4d28c4f75f | |||
982ff3a649 | |||
4fa1edb988 | |||
b7dd54a2c7 | |||
1ef3c61b78 | |||
6ec5f46071 | |||
bc11bac329 | |||
447a3b7331 | |||
7dac6347c5 | |||
7d7097bf59 | |||
be1fce6dae | |||
3a3b98be91 | |||
bd48dfad69 | |||
a6171e1478 | |||
10dae78533 | |||
c970681f50 | |||
a32a724b03 | |||
5eaa027972 | |||
5aab7179a2 | |||
0c0ffcd2b8 | |||
6f20bdbffe | |||
82e70690d4 | |||
5076d955f3 | |||
460ba0869d | |||
407b144f35 | |||
68a86d028b | |||
9e49351c30 | |||
cacc15ee3f | |||
dc3fd2486f | |||
1f141d6cb2 | |||
6d438bf3e4 | |||
3b8724bce6 | |||
32942346aa | |||
a45bb750db | |||
aac864059f | |||
cc0c1ad9ad | |||
e478a52087 | |||
1afebc92ef | |||
3da9be913a | |||
93fc423e9a | |||
9297229d15 | |||
9cfcbcc095 | |||
a8fcc0ac89 | |||
0aa0266c4b | |||
0a6cb5c42f | |||
350c484239 | |||
a10bb2ded5 | |||
58db6e450b | |||
3c2f5d26c0 | |||
27990663f0 | |||
2f68c99a3b | |||
c6d26a9dda | |||
4a714b3702 | |||
646ca89558 | |||
633390bd08 | |||
b04671b638 | |||
75ab1fa5ab | |||
51f9d2e563 | |||
a5b076321a | |||
e959fa452f | |||
21c9bac2c7 | |||
0f45b5bc32 | |||
00bf685975 | |||
cfa120947e | |||
eb1c42da8e | |||
48c5fbfb89 | |||
20bd08aefb | |||
926c40d04b | |||
128e5496b3 | |||
35f0383ca6 | |||
7ab8918985 | |||
9ccdace1e8 | |||
ed6db0e9ff | |||
1b28fbd218 | |||
b71f919dda | |||
85ec240849 | |||
3ece9bf0f9 | |||
933e3a4ee2 | |||
004e0f790f | |||
67a3b2b39f | |||
f7e063f326 | |||
ac197cc094 | |||
56e8bb4fb4 | |||
ba28b2ca5d | |||
2b472cfeac | |||
b779a25e05 | |||
d1adf85b0a | |||
6bc7a37e79 | |||
a40449bcd4 | |||
3307f7dde2 | |||
52c0f3318d | |||
08c12ec1d0 | |||
669c11de85 | |||
719515fdd0 | |||
b126b65b33 | |||
eab648d2b4 | |||
c205923649 | |||
03d05937a7 | |||
0df2c18090 | |||
15ba44f1b4 | |||
ef06676c36 | |||
5ca11547bb | |||
80754c5cc0 | |||
db13ea835b | |||
85cee30566 | |||
5334592b1d | |||
f37da97723 | |||
be2fd0edb1 | |||
3fb8a0f0a2 | |||
1e1dcb2a42 | |||
cd2b740ca9 | |||
29b8a3f49d | |||
f87d5aa383 | |||
2bb14fbf2f | |||
66077a29e1 | |||
fa889347e3 | |||
64477d20d7 | |||
b14a73097c | |||
d3f2e4ab13 | |||
0aefe4c841 | |||
170eea9750 | |||
fa5103dd89 | |||
4fe42f326e | |||
826ae79fca | |||
283174b214 | |||
022fbb655d | |||
5bc069e383 | |||
cb29fb86f3 | |||
b6551feadf | |||
dd781e3856 | |||
cdc034a0ac | |||
58afbe885c | |||
50957937f9 | |||
9539638a2b | |||
1c31764dda | |||
3daf6558ed | |||
2c5691d6cf | |||
5667141e3b | |||
91428f078b | |||
f7947450de | |||
40a5d2b79b | |||
8d6d9529cb | |||
2ca91d1ee0 | |||
c05615e1c5 | |||
7f3cc51b28 | |||
b6e9521956 | |||
e2abfa7212 | |||
07ac32fff9 | |||
fbbf60a9bc | |||
6710b68db1 | |||
5597cfdf47 | |||
0004d97099 | |||
53b29442a8 | |||
461eea3fb8 | |||
d6b7f01cd7 | |||
ccd12a3d6c | |||
ab828cde84 | |||
620e92b845 | |||
8c30be9176 | |||
0aba1a989c | |||
159f4b9c3b | |||
8ddfce7144 | |||
a9ea5296b7 | |||
b1c8ac3996 | |||
6e210175c7 | |||
b0afdce5da | |||
47ff853f02 | |||
fe90355361 | |||
99e70f3077 | |||
7dd272eca1 | |||
bb5cb23daf | |||
b4de9239bf | |||
425b4d7f47 | |||
44451a2e5e | |||
9019d7dceb | |||
b7cf25c8f4 | |||
836088d80c | |||
9d484b92ed | |||
83973981eb | |||
34a94897e0 | |||
1c301bcaa5 | |||
0c5308af30 | |||
d832f2ac55 | |||
6696077ace | |||
a5855fd8d4 | |||
dca675c6ef | |||
59162ece57 | |||
a7cae2905b | |||
6fc68e7ca3 | |||
ed5288cff2 | |||
756991bc88 | |||
69c786637d | |||
d699e27bd4 | |||
cf85f4b3bd | |||
f357d46ada | |||
3927312601 | |||
4ca12e10e6 | |||
31885f64e9 | |||
cf9cd8b55c | |||
756f1bcd29 | |||
cbb83daeaf | |||
f68c26873d | |||
b032a2bfe7 | |||
c892bcc944 | |||
e35f202b45 | |||
0a3a972c16 | |||
64f1e658e9 | |||
de2fb99006 | |||
048b673d72 | |||
5747c8072b | |||
71201ab0e5 | |||
16b305cd2b | |||
3a7a18a045 | |||
ba92106e93 | |||
03056ce796 | |||
8bb19c14fb | |||
fc23c397c7 | |||
48d89b51b3 | |||
aabc69885e | |||
839ebad442 | |||
b734fe49fd | |||
d45cbe3fe0 | |||
3bd0097cfc | |||
bd111141aa | |||
f85cd430b1 | |||
57a3b971e9 | |||
d6661e6843 | |||
a02675ad90 | |||
849c8b3dbf | |||
90ef0f14eb | |||
089d9adff6 | |||
ea1615dfdd | |||
2063b86b81 | |||
60ff56f503 | |||
10e8a52ef1 | |||
8e21ff5edb | |||
382a946414 | |||
5f0e37b4c1 | |||
2807bd2c10 | |||
36628c56ed | |||
c4c9d5586f | |||
80d268f309 | |||
0807e57807 | |||
9ce9dea4e1 | |||
a2742f8c59 | |||
deeabc1ff0 | |||
826f0e33ab | |||
492ba81346 | |||
52acddf36c | |||
603d0fdce2 | |||
3d77fbb664 | |||
93f86046c9 | |||
f7f9a836e2 | |||
000c4ceca7 | |||
e3a3f5edf5 | |||
0e312eaa12 | |||
e3d2f20e6f | |||
d4a4f9291d | |||
e1c382141d | |||
4c98cb8e35 | |||
5e3f94dfe3 | |||
53dca334d6 | |||
aabc5617cd | |||
d1cbe1e6d8 | |||
23a517e415 | |||
592fc5b349 | |||
3467663d47 | |||
641223137b | |||
d4ff2072ab | |||
b388633c5c | |||
9b5041f647 | |||
d5fff46f40 | |||
623b80bef2 | |||
0ff73d742b | |||
cb2a51356d | |||
69a63fe663 | |||
0b1a95ef79 | |||
ae6f064fd7 | |||
7580f92ffa | |||
b64894c206 | |||
9e0d1aa495 | |||
7ac228c994 | |||
de73a20756 | |||
09a7b61c1d | |||
a5c76569e7 | |||
197152098a | |||
138ef8068c | |||
ad353d7e77 | |||
67ceed1f82 | |||
9c6990cca2 | |||
a4a4db8cf7 | |||
98c496fcd0 | |||
08bd076ce4 | |||
fa9172c70a | |||
cbfe844aa1 | |||
a8022c5f7b | |||
56adddaa06 | |||
7891e46585 | |||
8dda6c3de2 | |||
f8bc75a55e | |||
029a632c35 | |||
e3e24de1bf | |||
c58100ab5d | |||
b9061bc628 | |||
50685e0e0b | |||
b31d45b831 | |||
b934207a22 | |||
05b9013b71 | |||
c512f31109 | |||
c41258359e | |||
331b094eec | |||
667fcf4e15 | |||
3c957e6d39 | |||
66bf8f1943 | |||
c232ebacb2 | |||
953823fcbf | |||
9d8370d445 | |||
d47ee0a565 | |||
5a6072f631 | |||
5f658d1b57 | |||
d975fe1fa5 | |||
0d30feef3c | |||
3c63503759 | |||
0d1bd1dfb3 | |||
3d3c11852c | |||
9bbde12fee | |||
15628975cf | |||
7ce4c8f752 | |||
c4716236f2 | |||
d6747adfa8 | |||
20272ee8cf | |||
13e67aa39b | |||
e6c4309748 | |||
aa962fef27 | |||
3c8d3adeae | |||
28fde3a1f4 | |||
df113b5560 | |||
276699360d | |||
d85cd18777 | |||
932c16c04b | |||
19a3a7bde9 | |||
f3028418c3 | |||
752b465c3c | |||
732194b5f2 | |||
b7b8f048f5 | |||
51861340f8 | |||
3d74a2337c | |||
ceb96a160b | |||
aabfdc9514 | |||
9f7f10a282 | |||
a8dd7e05b1 | |||
dbcf611617 | |||
2a250d6165 | |||
65308ad8f7 | |||
b77919ed6e | |||
3969e6c5a4 | |||
44c0024bdc | |||
3ff010d8c7 | |||
9857273be0 | |||
063cd850f2 | |||
96f4113ac0 | |||
a86083e25f | |||
95e6111e7c | |||
714be4c3ac | |||
30e04bcfa8 | |||
647a2bb3ff | |||
d02343b599 | |||
4711556905 | |||
b7b189cd5a | |||
65156bb7ec | |||
31dfa17b3b | |||
77f091ed9f | |||
ca4eed708d | |||
0e8d4b9db7 | |||
4e120823a3 | |||
d812c3b6a0 | |||
8876ea83a7 | |||
b6fdc44c84 | |||
87bed17907 | |||
d530c04e2c | |||
d88dbaa718 | |||
e93fc5d721 | |||
dabab1d6e6 | |||
5579f44d2f | |||
5bc07225e5 | |||
6f2d743043 | |||
75f273d9b7 | |||
73359a9b43 | |||
6c6ddf92d5 | |||
74ea5c9574 | |||
4e33535ea9 | |||
fd72637423 | |||
05106aa198 | |||
4960e5c7bd | |||
4a8bc9860a | |||
fb60b9f37f | |||
461434a013 | |||
c870de6502 | |||
8a7f0b666f | |||
9a09ed3229 | |||
f285f68a13 | |||
be39144954 | |||
78b6369e67 | |||
0607f793cb | |||
89833fc249 | |||
c5305bbe32 | |||
0b94009649 | |||
6047b28eb7 | |||
72871b198f | |||
06e9e726d4 | |||
0a8c337394 | |||
87daf40750 | |||
e9dffbc7f1 | |||
955abf5f72 | |||
9bc647a2d1 | |||
ae61aecb9e | |||
119e82a515 | |||
7727da99df | |||
4c643fb321 | |||
c1917156a0 | |||
8806120de6 | |||
42943b950e | |||
d0ea2ca1cf | |||
092df21dfc | |||
8b214c2e9d | |||
ae73b2c8f1 | |||
5e4070e128 | |||
abb3b692a4 | |||
45602dd029 | |||
054ae834a8 | |||
0ee87cde28 | |||
62df03c277 | |||
6dd9d96129 | |||
9142fce9b0 | |||
7e13d654c2 | |||
f315a8b609 | |||
f834089925 | |||
1a65b41b38 | |||
e7dca80692 | |||
748b8d669a | |||
488d9d52be | |||
f024913164 | |||
dc12ee77ab | |||
ba4324c4e1 | |||
f66ad35508 | |||
140b9478da | |||
e5b6fc627e | |||
290a973bb9 | |||
5c93cfdafd | |||
0d865049f7 | |||
dd88a1af1a | |||
5ae4bd14be | |||
1ec40a83a5 | |||
993d7085be | |||
25bccb4b79 | |||
92c7b3d473 | |||
6369acd968 | |||
d35cd54a23 | |||
a15b8451f2 | |||
5f6f7a48da | |||
dbb4102f7b | |||
cc48ddd937 | |||
750b260411 | |||
2b61c8dc88 | |||
1686de55fa | |||
7b6555ab8d | |||
b10cbdac4c | |||
ec063d2591 | |||
4833b08426 | |||
fcf31daae4 | |||
4a4d9706ad | |||
126e3b3d2a | |||
6ba21fa65c | |||
5247b762d0 | |||
7915691377 | |||
836c8ceb7a | |||
9dc607f1c2 | |||
d52fcf493b | |||
9b4a655302 | |||
e2016508e7 | |||
5cdf18e7cd | |||
9828453ff0 | |||
a798a56c8a | |||
0c60285147 | |||
c009bc898b | |||
c97f3ed256 | |||
15364d2a3c | |||
8d90352acc | |||
8766bcc8e4 | |||
cdb1ef07d2 | |||
f879501ad0 | |||
8069aa01cd | |||
6041a13ec2 | |||
3611f7467f | |||
9e2d884d0f | |||
1c7e239bd0 | |||
f7b2ff9516 | |||
a428619309 | |||
f6f348a6d5 | |||
b83efcecaf | |||
e7587a8f53 | |||
258902ce07 | |||
4a93b899c1 | |||
c7c33f50bd | |||
035c7de9e9 | |||
b26a71b1be | |||
12cb1c10a6 | |||
a5183d7696 | |||
afe27c8894 | |||
bab821646a | |||
bc726bd075 | |||
085390328f | |||
ecb5091fd4 | |||
cb338c23d6 | |||
d850b7a545 | |||
7258e892d2 | |||
5978de2031 | |||
6f1436ba2a | |||
49c2d93ecf | |||
3dc0b7f0dc | |||
818b4f823f | |||
d3b3419f8f | |||
d3af1c193d | |||
00408adeac | |||
24fc2cde64 | |||
3457b50e8c | |||
061dd722dc | |||
be6b65b91b | |||
3b7a4475b0 | |||
3704fed5ea | |||
3521c63213 | |||
a675ad1708 | |||
7a6ccdfb4e | |||
d7f4ca61b5 | |||
2e8af499ff | |||
6605fb70cb | |||
33561f5170 | |||
7e5dcec3ca | |||
1aaed69d11 | |||
92b1dd1b9e | |||
1a3119ed06 | |||
54dbd0933b | |||
2da2cc9b28 | |||
4406522b76 | |||
0a01d41ee4 | |||
14b9a04479 | |||
d051f1718e | |||
65c756fff0 | |||
aa548459a0 | |||
dcc4e134aa | |||
d6484e9fab | |||
76e50f7fbc | |||
27d43aaaf5 | |||
ba235249c0 | |||
ea09dff59a | |||
1071deae00 | |||
15108de2fa | |||
9b0c7f308a | |||
ee6ad78260 | |||
370ddcbc89 | |||
ec2f026961 | |||
d48be35ca6 | |||
61a7b98264 | |||
e38da487cc | |||
9875058870 | |||
32a8f51061 | |||
a64acf7298 | |||
d5ebb50dcb | |||
905f96939b | |||
f7e552d7ca | |||
0b027f6ca7 | |||
7ee24e18e5 | |||
4f6728d52d | |||
553d4d70d1 | |||
f394e093df | |||
a6dc3d364c | |||
cbfe360b14 | |||
49abcd21da | |||
fd67d149bd | |||
c08645b353 | |||
2ee11f7261 | |||
80c928d947 | |||
368d19b0b7 | |||
b2c51b7590 | |||
b73dec5530 | |||
353e6d4554 | |||
aa0275a2c0 | |||
ab0845b382 | |||
c4d9c79378 | |||
49fd551194 | |||
d6606e02aa | |||
c4ef5edbc9 | |||
331b7d29f0 | |||
7c978db889 | |||
5cab51ff71 | |||
ce9636d645 | |||
91b81b64e3 | |||
81b26f8f28 | |||
1f2e05f0b7 | |||
a93cbe8d78 | |||
7deec9442f | |||
94f07b5544 | |||
17ae7f758e | |||
f4b98e17cf | |||
4e273368ce | |||
8fc184c0eb | |||
e25cabbf6b | |||
a9f4a01760 | |||
947604ddb7 | |||
9de14c71f7 | |||
fc1a4ce043 | |||
0717a424a7 | |||
5c92a451be | |||
95de376349 | |||
12201fd756 | |||
3f3bb90c8f | |||
96a806f87a | |||
c79786c486 | |||
4a25b911cd | |||
67076b85b8 | |||
b0d2440442 | |||
6f54213718 | |||
eaa0fd6584 | |||
b3edf335df | |||
1e5e097496 | |||
647edf79d6 | |||
910d07a861 | |||
950264636c | |||
5009dd4a1c | |||
4d87411ffe | |||
92c56da096 | |||
af5388d2dd | |||
88cc8ed8bc | |||
d0732a8120 | |||
f17d232f14 | |||
2d019f46b0 | |||
7ee1af8cb8 | |||
dfbfdc521d | |||
ab89575387 | |||
73876f4861 | |||
5db135ced5 | |||
cfb62dd006 | |||
c55c30669c | |||
3dbb0ff340 | |||
90ff7c9898 | |||
5d1d62e875 | |||
e2d003dbed | |||
15184ae9da | |||
28d1122f9c | |||
8d5213decf | |||
c169af8f7a | |||
b39a569729 | |||
7c03d0db88 | |||
6799aadfdf | |||
15a4cc912e | |||
765071a8f2 | |||
c35e313af8 | |||
680f605e3c | |||
62931b5929 | |||
2deb48aa37 | |||
ae9b8c4926 | |||
462366874a | |||
93a05aa02c | |||
cec74d09d8 | |||
725f57037d | |||
9a4e18b701 | |||
0bbe10313e | |||
7ce4088ab7 | |||
a8bfa99d44 | |||
ef3b291a5f | |||
bf8b1e04ff | |||
f7111175df | |||
8b95521edb | |||
5e104568ad | |||
94c4289435 | |||
8790c93ce6 | |||
81fba8e54c | |||
1f7012f4ac | |||
90c6ff566e | |||
2e6b49d732 | |||
8cb7de6f78 | |||
b0c48e4e95 | |||
d15644fe02 | |||
cdda1199e0 | |||
ef7d4f53c2 | |||
7c3c55026c | |||
d81ba50a9b | |||
454dfcbddf | |||
4240e0f6c0 | |||
8760a2b3c6 | |||
a2d2b5229e | |||
b2893ea403 | |||
d9165bef58 | |||
31a431b18b | |||
f17a1542b2 | |||
5f2117b24f | |||
6b8dda9a4f | |||
988aad99b4 | |||
a0f05f6840 | |||
506bd0ec82 | |||
630501ceef | |||
dda83e69d0 | |||
7dc55a04d8 | |||
5e572aaa5d | |||
b8840a72e2 | |||
63f74cfbcc | |||
93c12724f1 | |||
ece8dc97ae | |||
21522cf5d0 | |||
ee8a88826a | |||
c6ce27ab08 | |||
c600a91c94 | |||
f297424a3a | |||
1ca13dd3ca | |||
0d680a7158 | |||
13e1fd6e38 | |||
576de3d956 | |||
33b1b4c768 | |||
1147c56ff7 | |||
5d4f4a592e | |||
d144a9d30d | |||
59e009bf15 | |||
5fdf285e62 | |||
b413a82712 | |||
24a49cf78e | |||
cc5d1d32fd | |||
8d3e7eac52 | |||
894ea94509 | |||
279f42fa27 | |||
faa4d5983b | |||
662078caac | |||
509d3f5103 | |||
dadc8e6dac | |||
f96dd8c3b5 | |||
6f581b6d6d | |||
d180cc2979 | |||
c5f7ef5fdc | |||
deb32d6d60 | |||
a7981d0717 | |||
38a227b796 | |||
98619325c0 | |||
592ec63b38 | |||
fb64ca526a | |||
8840069a37 | |||
506ebaac96 | |||
a5c76b3698 | |||
1bff855419 | |||
43090008e3 | |||
c764e28060 | |||
65daa9ba1c | |||
3c50c88f42 | |||
1758712248 | |||
be252d3349 | |||
c50dca2a18 | |||
9ec03b59a8 | |||
ce41759ed5 | |||
d3dcfa047f | |||
5fe9e1ce2f | |||
2be1506a78 | |||
77ef8b0e1e | |||
07ffb954b3 | |||
74595cca21 | |||
4b4e75dd4f | |||
c4716086d8 | |||
fe6258c348 | |||
f524970185 | |||
eef65c716c | |||
fc7bd51b06 | |||
cbeab74713 | |||
1c02840008 | |||
ac48adf488 | |||
a64215b6cd | |||
b5fa608180 | |||
b6c09c03eb | |||
41771fa435 | |||
b73ecb4811 | |||
41227cb138 | |||
36bf195890 | |||
15db4e7f4a | |||
ba3d1c73da | |||
f332121e75 | |||
8bff5ca030 | |||
666b6e1135 | |||
7aed2c0565 | |||
8f2146dbf1 | |||
86190028a8 | |||
3c14419c6b | |||
9d15b1e5df | |||
b71a2bf11f | |||
93ea5bf3a8 | |||
87d38afa0d | |||
795d713e2c | |||
1c5a63818a | |||
2f87277dfa | |||
8dfe36b007 | |||
4a21230ab0 | |||
a58f4d6328 | |||
f1449a563f | |||
6ec90b5bf1 | |||
77fb36aa7e | |||
d208bfdfef | |||
06dd2baa8d | |||
5048df67b2 | |||
72972ea0b9 | |||
6aac634f81 | |||
a42d69ee5b | |||
24fb150dcd | |||
5fc6d00b65 | |||
2b15969f61 | |||
c39952b925 | |||
17ab64e1b5 | |||
d35d8f2e7a | |||
a4cf900ee7 | |||
11e95e16e8 | |||
16b3880dd7 | |||
6eb095d787 | |||
fd2da4b1ea | |||
50bebf98d9 | |||
3b0ebb7a8d | |||
29ae2c9e74 | |||
e00e56a7df | |||
58eab6ff13 | |||
9deef088ae | |||
d9d677b2d8 | |||
59397e9b7e | |||
eb11ec23ff | |||
06bca9708a | |||
c5f7b2a6fe | |||
063ec7b3b8 | |||
aa1e73bdd8 | |||
4a6e6b0d5b | |||
f7c208cdf5 | |||
a232de58f2 | |||
4f59836451 | |||
214242a6ab | |||
ad6b320756 | |||
8300d15d5e | |||
613bef56b8 | |||
8f416f65c9 | |||
dd5e4d3976 | |||
b1485644f9 | |||
768bb238c4 | |||
037db6d563 | |||
ff6c740339 | |||
651b4430d1 | |||
dfd37b70b1 | |||
7ac5eca21c | |||
b7a7af266b | |||
8d404d0d95 | |||
2f80d1b42e | |||
8ca2b1f248 | |||
763ae829a3 | |||
81b216e4f7 | |||
54941a5316 | |||
2509d0198c | |||
5a8f4c8adc | |||
db2a91ba36 | |||
e34fd1334c | |||
26fc326044 | |||
1f071460d3 | |||
fa5958f4d6 | |||
4f8ab59838 | |||
4950677b48 | |||
f8382a6396 | |||
7cbfd0e572 | |||
259988af42 | |||
725f293355 | |||
a67610f4ab | |||
11b53f8e52 | |||
6cdb8cd693 | |||
f3a28c2e09 | |||
83d585a5b9 | |||
f66b749c66 | |||
a9405a8d7d | |||
c867e4fa18 | |||
567342fc77 | |||
2c17de8b37 | |||
d5071be5ed | |||
c5773dc078 | |||
d9ec3b0dc0 | |||
baebde7d19 | |||
93ea118bed | |||
dfd0a89374 | |||
fcb864bce7 | |||
99370863e2 | |||
babed893f5 | |||
cec13b9514 | |||
6193aaa9f9 | |||
fd2d4c135e | |||
23c56f7bd5 | |||
6d1b2e48fe | |||
8a1d607877 | |||
4158b92f16 | |||
a674c7edcf | |||
2c91b13751 | |||
b2182a8730 | |||
93d52ed050 | |||
575e6fcfcc | |||
39226a8dac | |||
0414b3891c | |||
96af564d27 | |||
917e080249 | |||
540267304d | |||
5123e6e7bd | |||
7876265d61 | |||
3fe6612d4c | |||
c6dea59323 | |||
ad7fd3cc03 | |||
d390e08076 | |||
3eb1e1ca9a | |||
0c10ed19c4 | |||
a535040887 | |||
a5792e9d09 | |||
94ad545d47 | |||
a6a700a43c | |||
9ff2f06069 | |||
6a09c3a9a6 | |||
01fd5fb14b | |||
c65d18cb52 | |||
aa561208d9 | |||
1fdd31cf52 | |||
fb2ebe72a3 | |||
891c9965fb | |||
41211db10f | |||
345e216f63 | |||
81559612a9 | |||
9d01cfed69 | |||
2139bd0200 | |||
eef75d247a | |||
9f24f3c719 | |||
90428ddccf | |||
486620ae0c | |||
7615cf94d2 | |||
81e5c39cf6 | |||
e8ed0a8ac5 | |||
53537c6c17 | |||
b2e5d75d17 | |||
9fdc79ecba | |||
4bd0785dc2 | |||
c7e03b4e39 | |||
0cd1a8818d | |||
62f3a45bb4 | |||
fb18dd2831 | |||
5a7d41d849 | |||
d21878f073 | |||
20b813d7d3 | |||
e65b868d07 | |||
1b4a38d741 | |||
d912a603ed | |||
d85e9448dd | |||
1f34e0cd3d | |||
cbf04937d5 | |||
3aef76ffd4 | |||
647982bb71 | |||
a6a323b31e | |||
3eda8302e5 | |||
2c6e5b32aa | |||
c7757b2781 | |||
86cca7593e | |||
2987407f3c | |||
c0b50458b9 | |||
592bcab61b | |||
b08edf709d | |||
d113449e26 | |||
edd060dc84 | |||
d762617079 | |||
3a2ebaebc7 | |||
50b6ad55b0 | |||
026df9e047 | |||
c429bed102 | |||
7f0cc04f2c | |||
0524ad3542 | |||
4074d3c7e1 | |||
7903efb717 | |||
512fccf8a5 | |||
c93c3d2fa4 | |||
7bc73e7b61 | |||
d9fd674c8b | |||
e72171f085 | |||
2fc9e9ca3c | |||
a5eaa76b30 | |||
777afaaa5c | |||
abf2bb895b | |||
4ac326f64f | |||
06f2b5fb70 | |||
4f542975d1 | |||
dea6308892 | |||
eeea9ae165 | |||
008217cb4a | |||
5cc9858f1b | |||
d26e26a3f5 | |||
8f82904caf | |||
630ae5ee65 | |||
7d4d34f843 | |||
531d13d4d2 | |||
557d93a146 | |||
3e6417681c | |||
ce400c9da9 | |||
06cc6f6a41 | |||
a9cad02538 | |||
eddfcd8ece | |||
3dc55b2087 | |||
9a7d7ce9f6 | |||
925360041c | |||
796abac7e1 | |||
ffeaca177a | |||
b8ad365640 | |||
1a66d8c6f6 | |||
7d718c552b | |||
1207599e83 | |||
dce7b31126 | |||
5dec958dcf | |||
ebed06a3e9 | |||
5287319bf8 | |||
019a1031ea | |||
6e0f966efe | |||
5427bb4893 | |||
cd37c45acf | |||
577bff3a81 | |||
8a40af9cab | |||
b269563512 | |||
8844c1125e | |||
70661d288b | |||
7fb89047cc | |||
5458ba0a4d | |||
56c8fb1e95 | |||
86ccd39a74 | |||
30b4e5c888 | |||
38a49aba90 | |||
d2917b9099 | |||
e28d5d2160 | |||
9c2003a6cb | |||
b106341d57 | |||
df786f6efe | |||
42423c61d9 | |||
f2744aa37e | |||
013f168211 | |||
c253d61137 | |||
fc2735f427 | |||
60ce816cb6 | |||
90c47b3fba | |||
904d404274 | |||
5970a4b797 | |||
10925f5e8a | |||
8e4309038f | |||
06a668cb90 | |||
540e7bc477 | |||
b5cd634d7a | |||
63792c564c | |||
8bcb8f8e22 | |||
d664a7ad20 | |||
221222b278 | |||
844ede312b | |||
fedb8ea2df | |||
590b636737 | |||
bf08abac56 | |||
acabd2048e | |||
97cf0c7de5 | |||
69bbbe484b | |||
35ff327e2d | |||
34959d80db | |||
ad5dfeac04 | |||
61cc4be7ec | |||
6e2646075c | |||
8534bb4cb1 | |||
6269f8eaad | |||
dc71be4fda | |||
73f69f22e5 | |||
6c065f72b8 | |||
fe7e44e1ab | |||
6956015704 | |||
42ea7a4150 | |||
a7caae2729 | |||
37537d6472 | |||
508386c6c5 | |||
262c45b6a1 | |||
eaebc89f88 | |||
3ed618f28f | |||
ffd9238685 | |||
ab85a7de6d | |||
1120c54c12 | |||
af8a3bb853 | |||
b242e89dff | |||
763f20fb4a | |||
42f9a60013 | |||
7c7357910b | |||
c6ab91335a | |||
2f6b1eb794 | |||
4433bd24e4 | |||
5b8db44bdd | |||
c388fcda99 | |||
16fb5c54bd | |||
dcb47e52b0 | |||
4a1baacd46 | |||
47cfc9bd7d | |||
c847e8c228 | |||
ca554bf36c | |||
cf4936ed74 | |||
925a7c6b6b | |||
e6c75d8dd7 | |||
65d1f6c9fa | |||
030a3d5d9e | |||
7677417b57 | |||
de54b5fec4 | |||
70d3dbfea9 | |||
4de06fbd56 | |||
2f645b33ba | |||
6f97792285 | |||
7a8d7aaa47 | |||
ebdc46c242 | |||
e57d2c5937 | |||
a87a20cbb4 | |||
5da4597297 | |||
b3594800eb | |||
f5156f1885 | |||
18ecb23c4b | |||
e750951e74 | |||
4173b806c7 | |||
2b02d2df2b | |||
2a34b3181d | |||
b56be49984 | |||
fca2d86c97 | |||
5bdf6d4ac0 | |||
29fefafcba | |||
d2cdf2c285 | |||
0dda3ac925 | |||
0c75692ebc | |||
772f8ff826 | |||
9e37969e4b | |||
f1c9243fc5 | |||
c6eec9cb36 | |||
0c514d5766 | |||
d03c773cf6 | |||
e29678bb7c | |||
15b63689a1 | |||
6e57841096 | |||
d2ec87a684 | |||
08e8c26665 | |||
1891846fa4 | |||
09884f352e | |||
a38d39a4c5 | |||
7ec4cccaa5 | |||
bfc7ef3554 | |||
37449fbeb5 | |||
c2f32bef9c | |||
0ba05cf2e0 | |||
7be13f5f74 | |||
34728d7f30 | |||
b25562e63f | |||
d43b99322b | |||
20869d1a1d | |||
b39a84185e | |||
54463d32ef | |||
17194b195d | |||
da9acde14e | |||
ee1f0c242e | |||
1687150b5d | |||
f034bb1cad | |||
de8f14e1c0 | |||
a0f83e7776 | |||
d4e241a145 | |||
4dbebc36b0 | |||
d4c5400865 | |||
bc58ebf84e | |||
6b1e4b13bf | |||
09bfb2ed81 | |||
6f212b7c3f | |||
3eac69d267 | |||
1f9b02b970 | |||
319c3abadb | |||
566902f2db | |||
5842710dc2 | |||
238a9dfe86 | |||
23a6a12dfa | |||
7b341645e3 | |||
2b4f5a4e4b | |||
3ed91c5f22 | |||
039e5a0b70 | |||
e83d57e34a | |||
0903d8bbde | |||
3f2e4c09c7 | |||
6bae53b138 | |||
48475f43a0 | |||
b3b9e5c171 | |||
6d5e9e53aa | |||
e778ecbcee | |||
f95526419b | |||
27875aeec9 | |||
8a4e8f6a67 | |||
cd2cc44c02 | |||
3613ab5df5 | |||
e57caee004 | |||
78d15022e7 | |||
d4539b5c71 | |||
b0c61be320 | |||
c637bd230d | |||
d8e406449a | |||
7124e36ec7 | |||
179547932f | |||
c099531b00 | |||
4a9b839dd1 | |||
4002ec3dcf | |||
f5a6be9d54 | |||
04f1fab4a1 | |||
99a32d87f8 | |||
677c981260 | |||
bb61a962d2 | |||
f0a5e5ad57 | |||
0d1806e53d | |||
49eb1d388a | |||
0006e2e3f1 | |||
4810946f60 | |||
876094ac16 | |||
12b0a14b9e | |||
ebc3947955 | |||
9ea5796495 | |||
738dc7d4a5 | |||
70b9c10373 | |||
1b759e0cf1 | |||
7cce9074a7 | |||
0cfde740f0 | |||
8f788eb8b7 | |||
8b8d9a2298 | |||
ce54672f9b | |||
891cb09db6 | |||
a797c0ea04 | |||
49050a043b | |||
4542582e59 | |||
b3ecdc780d | |||
288e3c4e3b | |||
a0da6deeec | |||
4e57c88e02 | |||
4eb1ccecd4 | |||
7c2ef319c5 | |||
963f8d3b63 | |||
f3d9bc801a | |||
053650ddad | |||
4e09e0dae6 | |||
ab91f6b7c4 | |||
995916e24f | |||
efcc48efa7 | |||
3c0a988672 | |||
b7bb8828cf | |||
636de956c4 | |||
314a0af909 | |||
4eec47c1cd | |||
d2caf09d00 | |||
44265e5b57 | |||
02ec5e2eec | |||
907951c88b | |||
a48a88019b | |||
4c3dd9304e | |||
6f65f84766 | |||
35898ad24d | |||
285da4321a | |||
1955ef10ed | |||
dda4fc1a84 | |||
a33d0fae76 | |||
afc1a946b2 | |||
209d9cb011 | |||
92cb135855 | |||
b0226007f0 | |||
7e2ad1cda2 | |||
9e59b38c88 | |||
ae285ac449 | |||
acd6f0d973 | |||
57e2c6ebbe | |||
26f81233ab | |||
d818458088 | |||
cb3d2e535a | |||
a1b8e5ec28 | |||
06ae40f6e5 | |||
9ea1378d04 | |||
7576e512ce | |||
bee6e7a8f9 | |||
d422d06167 | |||
c25d9e529d | |||
d3beb61f93 | |||
61bdc7c5d8 | |||
8157ed4046 | |||
a361660aef | |||
c5224f0f4c | |||
00271485d4 | |||
c1166ca0e2 | |||
91e2ab1587 | |||
a31cfe3283 | |||
a658e881c1 | |||
4cb39fcf19 | |||
b07a819c05 | |||
01443f01b7 | |||
96738bb0e1 | |||
7abb43cbc8 | |||
0918d08887 | |||
a3795bf0e6 | |||
c48035d29b | |||
31cc8be91d | |||
694cb1b2ab | |||
6d0497d526 | |||
bbfd79af89 | |||
481d274aae | |||
0b32d1aea2 | |||
82444ead4c | |||
a64bf54bfa | |||
9044a398af | |||
38645f8cb1 | |||
bd5df96b79 | |||
35c194dc57 | |||
ce153b8d4d | |||
7790b8c6b5 | |||
e5a9f4e57d | |||
31e19ec5ee | |||
c72d15ec68 | |||
01e84b4517 | |||
bd390bce17 | |||
86325d36e6 | |||
95494c6f61 | |||
c4f732bd42 | |||
84f7e2b926 | |||
87292b4d64 | |||
b50a9a86be | |||
08714ee16a | |||
3457ed7f2e | |||
2e71cbbddd | |||
395bec6b39 | |||
e1a95b78d8 | |||
786e67611d | |||
500317ae03 | |||
5f3bfdc4f3 | |||
4d81ce1b99 | |||
e77b88f728 | |||
459419567a | |||
243caa8982 | |||
6692d45477 | |||
faebba436e | |||
189e97bc4b | |||
6c6048fa7f | |||
c5630c4868 | |||
77e04b2ed4 | |||
805265fcf7 | |||
215ae4f264 | |||
ecbc23e4c5 | |||
4948ed4731 | |||
a61c70a7c8 | |||
e0c08a4f73 | |||
cddd68ae33 | |||
67b36879fc | |||
fe20a5e6a4 | |||
1fe80770f3 | |||
7452749a78 | |||
4615d3e264 | |||
bcb71d45bf | |||
5d64229ef5 | |||
a0883a2440 | |||
d4f7036887 | |||
0d5448a554 | |||
825babe5d5 | |||
f00d811533 | |||
3f75a6e5b4 | |||
9de31f7bd2 | |||
9bab766fb2 | |||
c80046d63d | |||
083e01275b | |||
fd8dcbb07c | |||
8350c34930 | |||
515ffabccf | |||
8165c6af11 | |||
8a40cb1e5a | |||
f32996d99a | |||
c8f4357010 | |||
833f4c0514 | |||
815c1e8202 | |||
041df69edd | |||
613999cc5c | |||
91c43cde25 | |||
399a9f31f7 | |||
7d7ed48dd5 | |||
15a62fb957 | |||
6accbe3ce7 | |||
ba88f8c81d | |||
9f95c7aefa | |||
9508dfd9f5 | |||
64685cb855 | |||
cfb7b3b391 | |||
d1ddc4e3f6 | |||
42db324c0f | |||
8774aa56ad | |||
2ad150e35e | |||
26b8abc7b1 | |||
4cc9eb338d | |||
199337d6ec | |||
14903c8e92 | |||
c000d91638 | |||
c197977cb6 | |||
f8828f9125 | |||
173fc54b00 | |||
8d7b35b43d | |||
a655f28a7a | |||
2fe427ecb7 | |||
032e8da541 | |||
cf9721cc46 | |||
ff84d031a9 | |||
4a04f718c0 | |||
56a64fcdc3 | |||
3b041ea5f7 | |||
6adf17050b | |||
4b76998ff0 | |||
613fb30a49 | |||
58d80df6a3 | |||
e3d40fb240 | |||
1107a3963b | |||
1f51b77f4f | |||
40286ca2fa | |||
1c7dc23d41 | |||
288fcb1c94 | |||
7c2dc122f9 | |||
6974765352 | |||
ac95f5d36a | |||
603f2f5719 | |||
d1ec656d68 | |||
5ff6e8afac | |||
dd4143e7bf | |||
f1f4ebf432 | |||
c07ce0602a | |||
fc47252d5b | |||
e84a26e32f | |||
b6046abc0c | |||
083fd1a264 | |||
b5fcb1c006 | |||
03267e8656 | |||
ab2cf37183 | |||
e5e37517dd | |||
cb34852270 | |||
07047d6829 | |||
bdafeae0b9 | |||
666f53eb43 | |||
0ea414a14d | |||
dc594180d9 | |||
031b2033e0 | |||
0e6550a2c6 | |||
9c5f3ee3b3 | |||
fbc1ed629e | |||
8f56511945 | |||
c74e7b10b6 | |||
a0789512c5 | |||
e87a229d57 | |||
26734da056 | |||
35a62bb579 | |||
a92fce4c50 | |||
3f98d7ab1b | |||
35dc2cf03f | |||
ad9096881d | |||
e53598a5ab | |||
69c1d609ba | |||
7025f54c40 | |||
8db2dad7a0 | |||
04fb96219a | |||
cfbd173ccb | |||
bcec6780b2 | |||
5ff36c9b6b | |||
8c1bc2a71a | |||
1e9f273ac0 | |||
05b9425960 | |||
9b67eb6fbe | |||
5eeb9aa208 | |||
3c9b01f0bf | |||
23fb328c8d | |||
049141dce9 | |||
03744bbdc4 | |||
be0fd57228 | |||
1f80129d61 | |||
13d5bbdf72 | |||
eea7033409 | |||
3c5d0ce3f5 | |||
859899ddc1 | |||
dc8be3971c | |||
69eb1be693 | |||
311bf13147 | |||
d0c3853034 | |||
561f3948a5 | |||
dabb9d875f | |||
c5353c4552 | |||
b637a41ebe | |||
73c49a4474 | |||
8ddc06631b | |||
2aa84d5f3e | |||
e62f779ae6 | |||
7fd54b6238 | |||
501e3bab99 | |||
66265a693e | |||
a90085b68c | |||
29c550f0af | |||
0d12792f5f | |||
73fce29427 | |||
0da4b538e4 | |||
df63421be9 | |||
5512376ae1 | |||
929bf9db28 | |||
252060be77 | |||
8962f8f888 | |||
461fec41fa | |||
f37d0bdd42 | |||
bdd2aa8a8b | |||
982fecf7c1 | |||
2445d34fb9 | |||
e9011b6092 | |||
464ce0aba8 | |||
58786d73ba | |||
48d69d8f2f | |||
bf42f0a030 | |||
5451877f87 | |||
688d82f254 | |||
82766b2961 | |||
652bd0211d | |||
dc5d40f5bc | |||
0e47bca0f7 | |||
68fcd48baf | |||
94fcf0e852 | |||
eb20e63f5a | |||
14770cf0de | |||
7595c0ece1 | |||
84356ff770 | |||
f13c3f28e7 | |||
0e34efb31d | |||
d188a60d72 | |||
8354cf752e | |||
3a79a8085b | |||
319605f8f0 | |||
be4ac3b197 | |||
3e9303dc8e | |||
ec9a46af4f | |||
d957761eff | |||
15df8418a5 | |||
4b6302c72f | |||
06e7696025 | |||
bdd42e34e3 | |||
098b1d07bc | |||
54e95b4663 | |||
ee0e7fc927 | |||
916ebb327c | |||
63357b79c9 | |||
73c768dae9 | |||
5f0321a9f2 | |||
ca748f5183 | |||
c90d81f8bb | |||
69d94464e1 | |||
1b6e2001c7 | |||
64f48ad1f0 | |||
82ff87789b | |||
46e87b5482 | |||
d50d8485ef | |||
435285bd82 | |||
44874cbd19 | |||
cc74a4ac72 | |||
eb5b03a9c0 | |||
d00fa5528b | |||
fb8d7add06 | |||
dc1cf3580e | |||
ed605fa1a8 | |||
84d71c2021 | |||
f569897cda | |||
34b660e3e6 | |||
b425ba2380 | |||
0ced11d32f | |||
e47913e8e2 | |||
a6c6f6d2fe | |||
20d87d3291 | |||
44da9e0841 | |||
c90db53d20 | |||
8c7abdc596 | |||
89aaab11a3 | |||
7cccf5b6c9 | |||
3b08839926 | |||
fadacf2040 | |||
8e1c5fcf28 | |||
b01e1c7ef0 | |||
6fae3aaf22 | |||
d0e624aed7 | |||
340a4cb25c | |||
202086b85c | |||
316e3886e3 | |||
f1c903debd | |||
60cfad9cbe | |||
b75f2701c6 | |||
49f54c4955 | |||
09d9a69e31 | |||
e603a140ae | |||
895ae7ae2a | |||
c4864e3755 | |||
586d8b5052 | |||
ef84222fa9 | |||
04ae00062d | |||
db8016b43f | |||
762521e8a5 | |||
cc8f95c042 | |||
c805f06b01 | |||
7fa56b1a00 | |||
fe004a4333 | |||
ac48da5a92 | |||
035cccf46e | |||
c03801e19c | |||
2f503ee0d7 | |||
1e230dfd6c | |||
b1e3dd68ee | |||
d32dd8add5 | |||
bf0d9d0d34 | |||
0c025612d4 | |||
c41ec63ef5 | |||
c7ccd4eae9 | |||
969230b64f | |||
a23e0b69e2 | |||
8851c4b065 | |||
003f815dd9 | |||
e5be3c632a | |||
c112d8d9c2 | |||
71aa6e3d85 | |||
c88895e67b | |||
75f416ec6a | |||
576b19924e | |||
160314e625 | |||
8fea12ab40 | |||
4973726c5d | |||
fa8e8d5b31 | |||
776ba91a5e | |||
1e4ea950f7 | |||
ddbb47fde9 | |||
ef249b398e | |||
d82dbbd849 | |||
eb5b6b57d0 | |||
0e90673957 | |||
4120294cbf | |||
242aa33de0 | |||
eede29aa35 | |||
48750b2d0d | |||
75c92a0540 | |||
53c4be3fd8 | |||
9397f3cf7e | |||
671bbf7b9d | |||
63bba4fdd8 | |||
7d5a4d86a6 | |||
330135ac81 | |||
c5dd7773e1 | |||
7b9b634ca5 | |||
5af5e54106 | |||
2843bdeaca | |||
246eedf2bc | |||
702bb4baea | |||
6ae1a6eaf2 | |||
f62c546455 | |||
220604042c | |||
99bb1a0bea | |||
c695592850 | |||
12253ab6d0 | |||
6c3b077c71 | |||
8f24115165 | |||
77e7267e47 | |||
db29e6bbae | |||
4654134976 | |||
b715529770 | |||
4039b8f112 | |||
bda957de7c | |||
777f548b5a | |||
b988427918 | |||
3882a0d3ad | |||
f6534dbda4 | |||
7edfb883ab | |||
51691fed06 | |||
f1c0e3946e | |||
a294443fa1 | |||
0d32ae8d7f | |||
2871f4d447 | |||
93105aba6c | |||
0df19eb9d9 | |||
51276c1832 | |||
0570be79ea | |||
7b11234e3b | |||
9c10d4ff24 | |||
10538e2a62 | |||
3dc95e09e1 | |||
b017d3dae9 | |||
0b293df964 | |||
251554c269 | |||
91badeba32 | |||
c12cda479e | |||
eddad36860 | |||
4e7b65ba8e | |||
81071626ba | |||
8ad575646c | |||
24a4c45da9 | |||
3124793604 | |||
a70839cf36 | |||
8e8c5ad27a | |||
5bbb925137 | |||
545ddca0c3 | |||
cdc3db33ce | |||
9b3fadfd06 | |||
ec1edbcb56 | |||
a9f5bb83e0 | |||
20da61f25f | |||
2b86c10084 | |||
193430717a | |||
9cf10d8786 | |||
a4880b20cc | |||
b639606fd0 | |||
d3d9c51973 | |||
ce8529b2bb | |||
1762382ab1 | |||
0d330673d4 | |||
f10d31cf2d | |||
7990142eb1 | |||
34ab458cb1 | |||
5626a9e2a9 | |||
2e94339fdc | |||
a50fcc13dd | |||
455f0adf57 | |||
3dc6b4e027 | |||
1fc3c0ad40 | |||
c2058ea237 | |||
1f20aa22d7 | |||
91d3d7e6e2 | |||
4a48c7d25f | |||
6269c46ada | |||
cc7574322f | |||
1ad5c3df35 | |||
1c0962c0c4 | |||
45c9f05c44 | |||
617e9991d4 | |||
fe9c607509 | |||
179eb1d967 | |||
c858750b41 | |||
ee9e66e4e7 | |||
79d266223a | |||
6a83b5f081 | |||
2ea1d8b556 | |||
32205655dc | |||
d3775de074 | |||
77a1310e6b | |||
197443e80a | |||
55d902cd61 | |||
4b992f0a24 | |||
0ada4b9bfe | |||
dfd2a23885 | |||
7506535775 | |||
0cff86990c | |||
7829746a6c | |||
1ee3471045 | |||
9eb6cdadd1 | |||
808e91956d | |||
827f8305c4 | |||
70aa1d7576 | |||
0e5a87e042 | |||
9c32cfb49c | |||
4732897cf0 | |||
8938463745 | |||
4050354b14 | |||
a2e618cb0f | |||
2790ba84b6 | |||
138c400903 | |||
8e28728cbb | |||
44ec91ba4f | |||
aff81ec1c8 | |||
272be0db8b | |||
86cc5ee3b7 | |||
8646100e05 | |||
7b8cfe34d9 | |||
9a1925b08f | |||
6159e7add4 | |||
be0d29d301 | |||
33f2b61ff9 | |||
1f2d5dc4d2 | |||
da1d63363f | |||
4e5e1b4b61 | |||
57a1498592 | |||
a524c627a4 | |||
aa1df8146d | |||
ce5238a690 | |||
d42c9ffa0f | |||
a77060218d | |||
f21becdd94 | |||
b8dbfd030c | |||
05ec41855d | |||
96601a26b4 | |||
8d2863e4ed | |||
e9c3839944 | |||
2dcff52524 | |||
1dc4f1ef0d | |||
a8437f3cb1 | |||
ecec57b3c9 | |||
a0343f3002 | |||
c39fffc1c9 | |||
97f03a5628 | |||
0afd556b2e | |||
4618d2ca82 | |||
423be1f83c | |||
320ee66de8 | |||
463ea0cfae | |||
df8738116f | |||
951ec747d4 | |||
d9054a19ed | |||
3e4ebe3a40 | |||
a5748670e3 | |||
e8eeda1f9e | |||
d7756184c9 | |||
8c9e292dc0 | |||
8f5f2f646a | |||
c08cfc395f | |||
f6a8ef0700 | |||
a0c3244796 | |||
23a9235d52 | |||
007512152e | |||
e2f4e7e8c0 | |||
8bc6f92486 | |||
dfc833332a | |||
d4056dba1f | |||
5af8b61cc3 | |||
acf7828e38 | |||
6df5494f73 | |||
b2ca7e417e | |||
f587d16471 | |||
968a04e447 | |||
6584fcc5c8 | |||
e5e6667b48 | |||
0b0ab95f17 | |||
d1610eef3f | |||
9f3df6c048 | |||
2aa8d2259f | |||
357f8e6e18 | |||
fa93951d79 | |||
e39c9de860 | |||
36d69bf77e | |||
6e5ba0bae4 | |||
c333e6f3a8 | |||
51243f9f0f | |||
6a48b428b4 | |||
910e2b372f | |||
7dd5762d9f | |||
a083f94c21 | |||
a2634646eb | |||
8628a842bd | |||
70334fc3eb | |||
89bd7fedf9 | |||
c23f592117 | |||
c96060b0ce | |||
20c1e2a68b | |||
738e5245fa | |||
d796cedbe8 | |||
9424e373fd | |||
bff03c47f7 | |||
0634f717a3 | |||
23b6d00ba7 | |||
d420dda057 | |||
c68bd3ec22 | |||
39c1578c5e | |||
b0416d8f4a | |||
644195e02f | |||
601bb23876 | |||
654f5cedbc | |||
d54f0c5a44 | |||
db84376f98 | |||
c4f9490790 | |||
0dc4e5c574 | |||
e85701b4af | |||
19118cb857 | |||
a215853545 | |||
38bb92cf46 | |||
dc154c39f7 | |||
83b2b47850 | |||
a1fdfb0975 | |||
2e6c1b59fd | |||
82d5a8483e | |||
67bf4a83e9 | |||
4b4d97cfda | |||
dc6dd55f70 | |||
20a5dd670c | |||
7aeb0d4c47 | |||
fdbfac60fd | |||
d194e61ea7 | |||
ab26e44d98 | |||
b77e3bdd97 | |||
413bc6d20a | |||
bbe21b64a0 | |||
9b89c08cae | |||
837fdc900f | |||
1f1f375cfe | |||
de73968e52 | |||
410a0e520d | |||
301f1e3ac1 | |||
00057bf14c | |||
5aa9e3262e | |||
25c2cab08f | |||
12fd27df79 | |||
8f44976882 | |||
6beb2688d3 | |||
508c1a572d | |||
a79c6b6081 | |||
9f91da752f | |||
793c21182e | |||
2a905f8fa8 | |||
d151f0cce7 | |||
50a044f1e4 | |||
d871b6c6c6 | |||
1ebe6b0297 | |||
7cae7627c4 | |||
2b521630f9 | |||
75fc96d57e | |||
630a6429a7 | |||
6ea87d97af | |||
d695804983 | |||
37eb90f79a | |||
81580fa06d | |||
a764c37bad | |||
2e092725e6 | |||
71e5473493 | |||
6713bfc70c | |||
12fc4ad89e | |||
1819ad327b | |||
f677f62970 |
22
.gitattributes
vendored
22
.gitattributes
vendored
@ -1,17 +1,17 @@
|
||||
* whitespace=!indent,trail,space
|
||||
*.[ch] whitespace=indent,trail,space diff=cpp
|
||||
*.sh whitespace=indent,trail,space eol=lf
|
||||
*.perl eol=lf diff=perl
|
||||
*.pl eof=lf diff=perl
|
||||
*.pm eol=lf diff=perl
|
||||
*.py eol=lf diff=python
|
||||
*.bat eol=crlf
|
||||
*.sh whitespace=indent,trail,space text eol=lf
|
||||
*.perl text eol=lf diff=perl
|
||||
*.pl text eof=lf diff=perl
|
||||
*.pm text eol=lf diff=perl
|
||||
*.py text eol=lf diff=python
|
||||
*.bat text eol=crlf
|
||||
CODE_OF_CONDUCT.md -whitespace
|
||||
/Documentation/**/*.txt eol=lf
|
||||
/command-list.txt eol=lf
|
||||
/GIT-VERSION-GEN eol=lf
|
||||
/mergetools/* eol=lf
|
||||
/t/oid-info/* eol=lf
|
||||
/Documentation/**/*.txt text eol=lf
|
||||
/command-list.txt text eol=lf
|
||||
/GIT-VERSION-GEN text eol=lf
|
||||
/mergetools/* text eol=lf
|
||||
/t/oid-info/* text eol=lf
|
||||
/Documentation/git-merge.txt conflict-marker-size=32
|
||||
/Documentation/gitk.txt conflict-marker-size=32
|
||||
/Documentation/user-manual.txt conflict-marker-size=32
|
||||
|
63
.github/workflows/check-whitespace.yml
vendored
63
.github/workflows/check-whitespace.yml
vendored
@ -9,42 +9,83 @@ on:
|
||||
pull_request:
|
||||
types: [opened, synchronize]
|
||||
|
||||
# Avoid unnecessary builds. Unlike the main CI jobs, these are not
|
||||
# ci-configurable (but could be).
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
check-whitespace:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: git log --check
|
||||
id: check_out
|
||||
run: |
|
||||
log=
|
||||
baseSha=${{github.event.pull_request.base.sha}}
|
||||
problems=()
|
||||
commit=
|
||||
while read dash etc
|
||||
commitText=
|
||||
commitTextmd=
|
||||
goodparent=
|
||||
while read dash sha etc
|
||||
do
|
||||
case "${dash}" in
|
||||
"---")
|
||||
commit="${etc}"
|
||||
if test -z "${commit}"
|
||||
then
|
||||
goodparent=${sha}
|
||||
fi
|
||||
commit="${sha}"
|
||||
commitText="${sha} ${etc}"
|
||||
commitTextmd="[${sha}](https://github.com/${{ github.repository }}/commit/${sha}) ${etc}"
|
||||
;;
|
||||
"")
|
||||
;;
|
||||
*)
|
||||
if test -n "${commit}"
|
||||
then
|
||||
log="${log}\n${commit}"
|
||||
problems+=("1) --- ${commitTextmd}")
|
||||
echo ""
|
||||
echo "--- ${commit}"
|
||||
echo "--- ${commitText}"
|
||||
commit=
|
||||
fi
|
||||
commit=
|
||||
log="${log}\n${dash} ${etc}"
|
||||
echo "${dash} ${etc}"
|
||||
case "${dash}" in
|
||||
*:[1-9]*:) # contains file and line number information
|
||||
dashend=${dash#*:}
|
||||
problems+=("[${dash}](https://github.com/${{ github.repository }}/blob/${{github.event.pull_request.head.ref}}/${dash%%:*}#L${dashend%:}) ${sha} ${etc}")
|
||||
;;
|
||||
*)
|
||||
problems+=("\`${dash} ${sha} ${etc}\`")
|
||||
;;
|
||||
esac
|
||||
echo "${dash} ${sha} ${etc}"
|
||||
;;
|
||||
esac
|
||||
done <<< $(git log --check --pretty=format:"---% h% s" ${{github.event.pull_request.base.sha}}..)
|
||||
done <<< $(git log --check --pretty=format:"---% h% s" ${baseSha}..)
|
||||
|
||||
if test -n "${log}"
|
||||
if test ${#problems[*]} -gt 0
|
||||
then
|
||||
if test -z "${commit}"
|
||||
then
|
||||
goodparent=${baseSha: 0:7}
|
||||
fi
|
||||
echo "🛑 Please review the Summary output for further information."
|
||||
echo "### :x: A whitespace issue was found in one or more of the commits." >$GITHUB_STEP_SUMMARY
|
||||
echo "" >>$GITHUB_STEP_SUMMARY
|
||||
echo "Run these commands to correct the problem:" >>$GITHUB_STEP_SUMMARY
|
||||
echo "1. \`git rebase --whitespace=fix ${goodparent}\`" >>$GITHUB_STEP_SUMMARY
|
||||
echo "1. \`git push --force\`" >>$GITHUB_STEP_SUMMARY
|
||||
echo " " >>$GITHUB_STEP_SUMMARY
|
||||
echo "Errors:" >>$GITHUB_STEP_SUMMARY
|
||||
for i in "${problems[@]}"
|
||||
do
|
||||
echo "${i}" >>$GITHUB_STEP_SUMMARY
|
||||
done
|
||||
|
||||
exit 2
|
||||
fi
|
||||
|
6
.github/workflows/l10n.yml
vendored
6
.github/workflows/l10n.yml
vendored
@ -2,6 +2,12 @@ name: git-l10n
|
||||
|
||||
on: [push, pull_request_target]
|
||||
|
||||
# Avoid unnecessary builds. Unlike the main CI jobs, these are not
|
||||
# ci-configurable (but could be).
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
git-po-helper:
|
||||
if: >-
|
||||
|
54
.github/workflows/main.yml
vendored
54
.github/workflows/main.yml
vendored
@ -11,6 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
|
||||
skip_concurrent: ${{ steps.check-ref.outputs.skip_concurrent }}
|
||||
steps:
|
||||
- name: try to clone ci-config branch
|
||||
run: |
|
||||
@ -34,7 +35,15 @@ jobs:
|
||||
then
|
||||
enabled=no
|
||||
fi
|
||||
|
||||
skip_concurrent=yes
|
||||
if test -x config-repo/ci/config/skip-concurrent &&
|
||||
! config-repo/ci/config/skip-concurrent '${{ github.ref }}'
|
||||
then
|
||||
skip_concurrent=no
|
||||
fi
|
||||
echo "enabled=$enabled" >>$GITHUB_OUTPUT
|
||||
echo "skip_concurrent=$skip_concurrent" >>$GITHUB_OUTPUT
|
||||
- name: skip if the commit or tree was already tested
|
||||
id: skip-if-redundant
|
||||
uses: actions/github-script@v6
|
||||
@ -82,6 +91,9 @@ jobs:
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
runs-on: windows-latest
|
||||
concurrency:
|
||||
group: windows-build-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||
@ -101,11 +113,14 @@ jobs:
|
||||
windows-test:
|
||||
name: win test
|
||||
runs-on: windows-latest
|
||||
needs: [windows-build]
|
||||
needs: [ci-config, windows-build]
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
concurrency:
|
||||
group: windows-test-${{ matrix.nr }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
steps:
|
||||
- name: download tracked files and build artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
@ -132,11 +147,14 @@ jobs:
|
||||
vs-build:
|
||||
name: win+VS build
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
if: github.event.repository.owner.login == 'git-for-windows' && needs.ci-config.outputs.enabled == 'yes'
|
||||
env:
|
||||
NO_PERL: 1
|
||||
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
|
||||
runs-on: windows-latest
|
||||
concurrency:
|
||||
group: vs-build-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||
@ -184,11 +202,14 @@ jobs:
|
||||
vs-test:
|
||||
name: win+VS test
|
||||
runs-on: windows-latest
|
||||
needs: vs-build
|
||||
needs: [ci-config, vs-build]
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
concurrency:
|
||||
group: vs-test-${{ matrix.nr }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
steps:
|
||||
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||
- name: download tracked files and build artifacts
|
||||
@ -218,13 +239,13 @@ jobs:
|
||||
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
concurrency:
|
||||
group: ${{ matrix.vector.jobname }}-${{ matrix.vector.pool }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
vector:
|
||||
- jobname: linux-clang
|
||||
cc: clang
|
||||
pool: ubuntu-latest
|
||||
- jobname: linux-sha256
|
||||
cc: clang
|
||||
pool: ubuntu-latest
|
||||
@ -249,6 +270,9 @@ jobs:
|
||||
- jobname: linux-leaks
|
||||
cc: gcc
|
||||
pool: ubuntu-latest
|
||||
- jobname: linux-asan-ubsan
|
||||
cc: clang
|
||||
pool: ubuntu-latest
|
||||
env:
|
||||
CC: ${{matrix.vector.cc}}
|
||||
CC_PACKAGE: ${{matrix.vector.cc_package}}
|
||||
@ -259,8 +283,9 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
- run: ci/install-dependencies.sh
|
||||
- run: ci/run-build-and-tests.sh
|
||||
- run: ci/print-test-failures.sh
|
||||
- name: print test failures
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
uses: actions/upload-artifact@v3
|
||||
@ -271,6 +296,9 @@ jobs:
|
||||
name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
concurrency:
|
||||
group: dockerized-${{ matrix.vector.jobname }}-${{ matrix.vector.image }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@ -292,8 +320,9 @@ jobs:
|
||||
if: matrix.vector.jobname == 'linux32'
|
||||
- run: ci/install-docker-dependencies.sh
|
||||
- run: ci/run-build-and-tests.sh
|
||||
- run: ci/print-test-failures.sh
|
||||
- name: print test failures
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||
run: ci/print-test-failures.sh
|
||||
- name: Upload failed tests' directories
|
||||
if: failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname != 'linux32'
|
||||
uses: actions/upload-artifact@v3
|
||||
@ -312,6 +341,9 @@ jobs:
|
||||
env:
|
||||
jobname: StaticAnalysis
|
||||
runs-on: ubuntu-22.04
|
||||
concurrency:
|
||||
group: static-analysis-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- run: ci/install-dependencies.sh
|
||||
@ -323,6 +355,9 @@ jobs:
|
||||
env:
|
||||
jobname: sparse
|
||||
runs-on: ubuntu-20.04
|
||||
concurrency:
|
||||
group: sparse-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
steps:
|
||||
- name: Download a current `sparse` package
|
||||
# Ubuntu's `sparse` version is too old for us
|
||||
@ -341,6 +376,9 @@ jobs:
|
||||
name: documentation
|
||||
needs: ci-config
|
||||
if: needs.ci-config.outputs.enabled == 'yes'
|
||||
concurrency:
|
||||
group: documentation-${{ github.ref }}
|
||||
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
|
||||
env:
|
||||
jobname: Documentation
|
||||
runs-on: ubuntu-latest
|
||||
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,7 +1,5 @@
|
||||
/fuzz-commit-graph
|
||||
/fuzz_corpora
|
||||
/fuzz-pack-headers
|
||||
/fuzz-pack-idx
|
||||
/GIT-BUILD-DIR
|
||||
/GIT-BUILD-OPTIONS
|
||||
/GIT-CFLAGS
|
||||
/GIT-LDFLAGS
|
||||
@ -10,19 +8,18 @@
|
||||
/GIT-PERL-HEADER
|
||||
/GIT-PYTHON-VARS
|
||||
/GIT-SCRIPT-DEFINES
|
||||
/GIT-SPATCH-DEFINES
|
||||
/GIT-USER-AGENT
|
||||
/GIT-VERSION-FILE
|
||||
/bin-wrappers/
|
||||
/git
|
||||
/git-add
|
||||
/git-add--interactive
|
||||
/git-am
|
||||
/git-annotate
|
||||
/git-apply
|
||||
/git-archimport
|
||||
/git-archive
|
||||
/git-bisect
|
||||
/git-bisect--helper
|
||||
/git-blame
|
||||
/git-branch
|
||||
/git-bugreport
|
||||
@ -61,7 +58,6 @@
|
||||
/git-difftool
|
||||
/git-difftool--helper
|
||||
/git-describe
|
||||
/git-env--helper
|
||||
/git-fast-export
|
||||
/git-fast-import
|
||||
/git-fetch
|
||||
|
2
.mailmap
2
.mailmap
@ -65,6 +65,7 @@ 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>
|
||||
Emily Shaffer <nasamuffin@google.com> <emilyshaffer@google.com>
|
||||
Eric Blake <eblake@redhat.com> <ebb9@byu.net>
|
||||
Eric Hanchrow <eric.hanchrow@gmail.com> <offby1@blarg.net>
|
||||
Eric S. Raymond <esr@thyrsus.com>
|
||||
@ -165,6 +166,7 @@ Mark Rada <marada@uwaterloo.ca>
|
||||
Martin Langhoff <martin@laptop.org> <martin@catalyst.net.nz>
|
||||
Martin von Zweigbergk <martinvonz@gmail.com> <martin.von.zweigbergk@gmail.com>
|
||||
Masaya Suzuki <masayasuzuki@google.com> <draftcode@gmail.com>
|
||||
Matheus Tavares <matheus.tavb@gmail.com> <matheus.bernardino@usp.br>
|
||||
Matt Draisey <matt@draisey.ca> <mattdraisey@sympatico.ca>
|
||||
Matt Kraai <kraai@ftbfs.org> <matt.kraai@amo.abbott.com>
|
||||
Matt McCutchen <matt@mattmccutchen.net> <hashproduct@gmail.com>
|
||||
|
1
Documentation/.gitignore
vendored
1
Documentation/.gitignore
vendored
@ -10,7 +10,6 @@ howto-index.txt
|
||||
doc.dep
|
||||
cmds-*.txt
|
||||
mergetools-*.txt
|
||||
manpage-base-url.xsl
|
||||
SubmittingPatches.txt
|
||||
tmp-doc-diff/
|
||||
GIT-ASCIIDOCFLAGS
|
||||
|
@ -162,8 +162,6 @@ For shell scripts specifically (not exhaustive):
|
||||
|
||||
- We do not use \{m,n\};
|
||||
|
||||
- We do not use -E;
|
||||
|
||||
- We do not use ? or + (which are \{0,1\} and \{1,\}
|
||||
respectively in BRE) but that goes without saying as these
|
||||
are ERE elements not BRE (note that \? and \+ are not even part
|
||||
@ -190,6 +188,10 @@ For shell scripts specifically (not exhaustive):
|
||||
hopefully nobody starts using "local" before they are reimplemented
|
||||
in C ;-)
|
||||
|
||||
- Use octal escape sequences (e.g. "\302\242"), not hexadecimal (e.g.
|
||||
"\xc2\xa2") in printf format strings, since hexadecimal escape
|
||||
sequences are not portable.
|
||||
|
||||
|
||||
For C programs:
|
||||
|
||||
@ -444,8 +446,12 @@ For C programs:
|
||||
detail.
|
||||
|
||||
- The first #include in C files, except in platform specific compat/
|
||||
implementations, must be either "git-compat-util.h", "cache.h" or
|
||||
"builtin.h". You do not have to include more than one of these.
|
||||
implementations and sha1dc/, must be either "git-compat-util.h" or
|
||||
one of the approved headers that includes it first for you. (The
|
||||
approved headers currently include "builtin.h",
|
||||
"t/helper/test-tool.h", "xdiff/xinclude.h", or
|
||||
"reftable/system.h"). You do not have to include more than one of
|
||||
these.
|
||||
|
||||
- A C file must directly include the header files that declare the
|
||||
functions and the types it uses, except for the functions and types
|
||||
@ -665,8 +671,8 @@ Writing Documentation:
|
||||
(One or more of <file>.)
|
||||
|
||||
Optional parts are enclosed in square brackets:
|
||||
[<extra>]
|
||||
(Zero or one <extra>.)
|
||||
[<file>...]
|
||||
(Zero or more of <file>.)
|
||||
|
||||
--exec-path[=<path>]
|
||||
(Option with an optional argument. Note that the "=" is inside the
|
||||
@ -680,6 +686,16 @@ Writing Documentation:
|
||||
[-q | --quiet]
|
||||
[--utf8 | --no-utf8]
|
||||
|
||||
Use spacing around "|" token(s), but not immediately after opening or
|
||||
before closing a [] or () pair:
|
||||
Do: [-q | --quiet]
|
||||
Don't: [-q|--quiet]
|
||||
|
||||
Don't use spacing around "|" tokens when they're used to separate the
|
||||
alternate arguments of an option:
|
||||
Do: --track[=(direct|inherit)]
|
||||
Don't: --track[=(direct | inherit)]
|
||||
|
||||
Parentheses are used for grouping:
|
||||
[(<rev> | <range>)...]
|
||||
(Any number of either <rev> or <range>. Parens are needed to make
|
||||
|
@ -144,14 +144,16 @@ man5dir = $(mandir)/man5
|
||||
man7dir = $(mandir)/man7
|
||||
# DESTDIR =
|
||||
|
||||
GIT_DATE := $(shell git show --quiet --pretty='%as')
|
||||
|
||||
ASCIIDOC = asciidoc
|
||||
ASCIIDOC_EXTRA =
|
||||
ASCIIDOC_HTML = xhtml11
|
||||
ASCIIDOC_DOCBOOK = docbook
|
||||
ASCIIDOC_CONF = -f asciidoc.conf
|
||||
ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
|
||||
-amanversion=$(GIT_VERSION) \
|
||||
-amanmanual='Git Manual' -amansource='Git'
|
||||
-amanmanual='Git Manual' -amansource='Git $(GIT_VERSION)' \
|
||||
-arevdate='$(GIT_DATE)'
|
||||
ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS
|
||||
TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
|
||||
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
|
||||
@ -189,15 +191,7 @@ endif
|
||||
ifndef MAN_BASE_URL
|
||||
MAN_BASE_URL = file://$(htmldir)/
|
||||
endif
|
||||
XMLTO_EXTRA += -m manpage-base-url.xsl
|
||||
|
||||
# If your target system uses GNU groff, it may try to render
|
||||
# apostrophes as a "pretty" apostrophe using unicode. This breaks
|
||||
# cut&paste, so you should set GNU_ROFF to force them to be ASCII
|
||||
# apostrophes. Unfortunately does not work with non-GNU roff.
|
||||
ifdef GNU_ROFF
|
||||
XMLTO_EXTRA += -m manpage-quote-apos.xsl
|
||||
endif
|
||||
XMLTO_EXTRA += --stringparam man.base.url.for.relative.links='$(MAN_BASE_URL)'
|
||||
|
||||
ifdef USE_ASCIIDOCTOR
|
||||
ASCIIDOC = asciidoctor
|
||||
@ -339,7 +333,6 @@ clean:
|
||||
$(RM) technical/*.html technical/api-index.txt
|
||||
$(RM) SubmittingPatches.txt
|
||||
$(RM) $(cmds_txt) $(mergetools_txt) *.made
|
||||
$(RM) manpage-base-url.xsl
|
||||
$(RM) GIT-ASCIIDOCFLAGS
|
||||
|
||||
$(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS)
|
||||
@ -348,11 +341,15 @@ $(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS)
|
||||
$(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS)
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $<
|
||||
|
||||
manpage-base-url.xsl: manpage-base-url.xsl.in
|
||||
$(QUIET_GEN)sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
|
||||
manpage-prereqs := $(wildcard manpage*.xsl)
|
||||
manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
||||
|
||||
%.1 %.5 %.7 : %.xml manpage-base-url.xsl $(wildcard manpage*.xsl)
|
||||
$(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
||||
%.1 : %.xml $(manpage-prereqs)
|
||||
$(manpage-cmd)
|
||||
%.5 : %.xml $(manpage-prereqs)
|
||||
$(manpage-cmd)
|
||||
%.7 : %.xml $(manpage-prereqs)
|
||||
$(manpage-cmd)
|
||||
|
||||
%.xml : %.txt $(ASCIIDOC_DEPS)
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $<
|
||||
@ -476,8 +473,19 @@ $(LINT_DOCS_MAN_SECTION_ORDER): .build/lint-docs/man-section-order/%.ok: %.txt
|
||||
.PHONY: lint-docs-man-section-order
|
||||
lint-docs-man-section-order: $(LINT_DOCS_MAN_SECTION_ORDER)
|
||||
|
||||
.PHONY: lint-docs-fsck-msgids
|
||||
LINT_DOCS_FSCK_MSGIDS = .build/lint-docs/fsck-msgids.ok
|
||||
$(LINT_DOCS_FSCK_MSGIDS): lint-fsck-msgids.perl
|
||||
$(LINT_DOCS_FSCK_MSGIDS): ../fsck.h fsck-msgids.txt
|
||||
$(call mkdir_p_parent_template)
|
||||
$(QUIET_GEN)$(PERL_PATH) lint-fsck-msgids.perl \
|
||||
../fsck.h fsck-msgids.txt $@
|
||||
|
||||
lint-docs-fsck-msgids: $(LINT_DOCS_FSCK_MSGIDS)
|
||||
|
||||
## Lint: list of targets above
|
||||
.PHONY: lint-docs
|
||||
lint-docs: lint-docs-fsck-msgids
|
||||
lint-docs: lint-docs-gitlink
|
||||
lint-docs: lint-docs-man-end-blurb
|
||||
lint-docs: lint-docs-man-section-order
|
||||
|
@ -736,7 +736,7 @@ the {lore}[Git mailing list archive]:
|
||||
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 20:00 ` // other replies elided
|
||||
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
|
||||
@ -1164,28 +1164,28 @@ After you run this command, `format-patch` will output the patches to the `psuh/
|
||||
directory, alongside the v1 patches. Using a single directory makes it easy to
|
||||
refer to the old v1 patches while proofreading the v2 patches, but you will need
|
||||
to be careful to send out only the v2 patches. We will use a pattern like
|
||||
"psuh/v2-*.patch" (not "psuh/*.patch", which would match v1 and v2 patches).
|
||||
`psuh/v2-*.patch` (not `psuh/*.patch`, which would match v1 and v2 patches).
|
||||
|
||||
Edit your cover letter again. Now is a good time to mention what's different
|
||||
between your last version and now, if it's something significant. You do not
|
||||
need the exact same body in your second cover letter; focus on explaining to
|
||||
reviewers the changes you've made that may not be as visible.
|
||||
|
||||
You will also need to go and find the Message-Id of your previous cover letter.
|
||||
You will also need to go and find the Message-ID of your previous cover letter.
|
||||
You can either note it when you send the first series, from the output of `git
|
||||
send-email`, or you can look it up on the
|
||||
https://lore.kernel.org/git[mailing list]. Find your cover letter in the
|
||||
archives, click on it, then click "permalink" or "raw" to reveal the Message-Id
|
||||
archives, click on it, then click "permalink" or "raw" to reveal the Message-ID
|
||||
header. It should match:
|
||||
|
||||
----
|
||||
Message-Id: <foo.12345.author@example.com>
|
||||
Message-ID: <foo.12345.author@example.com>
|
||||
----
|
||||
|
||||
Your Message-Id is `<foo.12345.author@example.com>`. This example will be used
|
||||
below as well; make sure to replace it with the correct Message-Id for your
|
||||
**previous cover letter** - that is, if you're sending v2, use the Message-Id
|
||||
from v1; if you're sending v3, use the Message-Id from v2.
|
||||
Your Message-ID is `<foo.12345.author@example.com>`. This example will be used
|
||||
below as well; make sure to replace it with the correct Message-ID for your
|
||||
**previous cover letter** - that is, if you're sending v2, use the Message-ID
|
||||
from v1; if you're sending v3, use the Message-ID from v2.
|
||||
|
||||
While you're looking at the email, you should also note who is CC'd, as it's
|
||||
common practice in the mailing list to keep all CCs on a thread. You can add
|
||||
@ -1256,6 +1256,38 @@ index 88f126184c..38da593a60 100644
|
||||
[[now-what]]
|
||||
== My Patch Got Emailed - Now What?
|
||||
|
||||
Please give reviewers enough time to process your initial patch before
|
||||
sending an updated version. That is, resist the temptation to send a new
|
||||
version immediately, because others may have already started reviewing
|
||||
your initial version.
|
||||
|
||||
While waiting for review comments, you may find mistakes in your initial
|
||||
patch, or perhaps realize a different and better way to achieve the goal
|
||||
of the patch. In this case you may communicate your findings to other
|
||||
reviewers as follows:
|
||||
|
||||
- If the mistakes you found are minor, send a reply to your patch as if
|
||||
you were a reviewer and mention that you will fix them in an
|
||||
updated version.
|
||||
|
||||
- On the other hand, if you think you want to change the course so
|
||||
drastically that reviews on the initial patch would be a waste of
|
||||
time (for everyone involved), retract the patch immediately with
|
||||
a reply like "I am working on a much better approach, so please
|
||||
ignore this patch and wait for the updated version."
|
||||
|
||||
Now, the above is a good practice if you sent your initial patch
|
||||
prematurely without polish. But a better approach of course is to avoid
|
||||
sending your patch prematurely in the first place.
|
||||
|
||||
Please be considerate of the time needed by reviewers to examine each
|
||||
new version of your patch. Rather than seeing the initial version right
|
||||
now (followed by several "oops, I like this version better than the
|
||||
previous one" patches over 2 days), reviewers would strongly prefer if a
|
||||
single polished version came 2 days later instead, and that version with
|
||||
fewer mistakes were the only one they would need to review.
|
||||
|
||||
|
||||
[[reviewing]]
|
||||
=== Responding to Reviews
|
||||
|
||||
|
@ -41,6 +41,7 @@ Open up a new file `builtin/walken.c` and set up the command handler:
|
||||
*/
|
||||
|
||||
#include "builtin.h"
|
||||
#include "trace.h"
|
||||
|
||||
int cmd_walken(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
@ -49,12 +50,13 @@ int cmd_walken(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
----
|
||||
|
||||
NOTE: `trace_printf()` differs from `printf()` in that it can be turned on or
|
||||
off at runtime. For the purposes of this tutorial, we will write `walken` as
|
||||
though it is intended for use as a "plumbing" command: that is, a command which
|
||||
is used primarily in scripts, rather than interactively by humans (a "porcelain"
|
||||
command). So we will send our debug output to `trace_printf()` instead. When
|
||||
running, enable trace output by setting the environment variable `GIT_TRACE`.
|
||||
NOTE: `trace_printf()`, defined in `trace.h`, differs from `printf()` in
|
||||
that it can be turned on or off at runtime. For the purposes of this
|
||||
tutorial, we will write `walken` as though it is intended for use as
|
||||
a "plumbing" command: that is, a command which is used primarily in
|
||||
scripts, rather than interactively by humans (a "porcelain" command).
|
||||
So we will send our debug output to `trace_printf()` instead.
|
||||
When 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).
|
||||
@ -124,7 +126,7 @@ parameters provided by the user over the CLI.
|
||||
|
||||
`nr` represents the number of `rev_cmdline_entry` present in the array.
|
||||
|
||||
`alloc` is used by the `ALLOC_GROW` macro. Check `cache.h` - this variable is
|
||||
`alloc` is used by the `ALLOC_GROW` macro. Check `alloc.h` - this variable is
|
||||
used to track the allocated size of the list.
|
||||
|
||||
Per entry, we find:
|
||||
@ -341,6 +343,10 @@ the walk loop below the `prepare_revision_walk()` call within your
|
||||
`walken_commit_walk()`:
|
||||
|
||||
----
|
||||
#include "pretty.h"
|
||||
|
||||
...
|
||||
|
||||
static void walken_commit_walk(struct rev_info *rev)
|
||||
{
|
||||
struct commit *commit;
|
||||
@ -754,6 +760,10 @@ reachable objects are walked in order to populate the list.
|
||||
First, add the `struct oidset` and related items we will use to iterate it:
|
||||
|
||||
----
|
||||
#include "oidset.h"
|
||||
|
||||
...
|
||||
|
||||
static void walken_object_walk(
|
||||
...
|
||||
|
||||
@ -805,6 +815,10 @@ just walks of commits. First, we'll make our handlers chattier - modify
|
||||
go:
|
||||
|
||||
----
|
||||
#include "hex.h"
|
||||
|
||||
...
|
||||
|
||||
static void walken_show_commit(struct commit *cmt, void *buf)
|
||||
{
|
||||
trace_printf("commit: %s\n", oid_to_hex(&cmt->object.oid));
|
||||
|
@ -49,4 +49,3 @@ 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
|
||||
|
||||
|
346
Documentation/RelNotes/2.39.0.txt
Normal file
346
Documentation/RelNotes/2.39.0.txt
Normal file
@ -0,0 +1,346 @@
|
||||
Git v2.39 Release Notes
|
||||
=======================
|
||||
|
||||
UI, Workflows & Features
|
||||
------------------------
|
||||
|
||||
* "git grep" learned to expand the sparse-index more lazily and on
|
||||
demand in a sparse checkout.
|
||||
|
||||
* By default, use of fsmonitor on a repository on networked
|
||||
filesystem is disabled. Add knobs to make it workable on macOS.
|
||||
|
||||
* After checking out a "branch" that is a symbolic-ref that points at
|
||||
another branch, "git symbolic-ref HEAD" reports the underlying
|
||||
branch, not the symbolic-ref the user gave checkout as argument.
|
||||
The command learned the "--no-recurse" option to stop after
|
||||
dereferencing a symbolic-ref only once.
|
||||
|
||||
* "git branch --edit-description @{-1}" is now a way to edit branch
|
||||
description of the branch you were on before switching to the
|
||||
current branch.
|
||||
|
||||
* "git merge-tree --stdin" is a new way to request a series of merges
|
||||
and report the merge results.
|
||||
|
||||
* "git shortlog" learned to group by the "format" string.
|
||||
|
||||
* A new "--include-whitespace" option is added to "git patch-id", and
|
||||
existing bugs in the internal patch-id logic that did not match
|
||||
what "git patch-id" produces have been corrected.
|
||||
|
||||
* Enable gc.cruftpacks by default for those who opt into
|
||||
feature.experimental setting.
|
||||
|
||||
* "git repack" learns to send cruft objects out of the way into
|
||||
packfiles outside the repository.
|
||||
|
||||
* 'scalar reconfigure -a' is taught to automatically remove
|
||||
scalar.repo entires which no longer exist.
|
||||
|
||||
* Redact headers from cURL's h2h3 module in GIT_CURL_VERBOSE and
|
||||
others.
|
||||
|
||||
* 'git maintenance register' is taught to write configuration to an
|
||||
arbitrary path, and 'git for-each-repo' is taught to expand tilde
|
||||
characters in paths.
|
||||
|
||||
* When creating new notes, the template used to get a stray empty
|
||||
newline, which has been removed.
|
||||
|
||||
* "git receive-pack" used to use all the local refs as the boundary for
|
||||
checking connectivity of the data "git push" sent, but now it uses
|
||||
only the refs that it advertised to the pusher. In a repository with
|
||||
the .hideRefs configuration, this reduces the resources needed to
|
||||
perform the check.
|
||||
|
||||
* With '--recurse-submodules=on-demand', all submodules are
|
||||
recursively pushed.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
--------------------------------------------------------------
|
||||
|
||||
* With a bit of header twiddling, use the native regexp library on
|
||||
macOS instead of the compat/ one.
|
||||
|
||||
* Prepare for GNU [ef]grep that throw warning of their uses.
|
||||
|
||||
* Sources related to fuzz testing have been moved down to their own
|
||||
directory.
|
||||
|
||||
* Most credential helpers ignored unknown entries in a credential
|
||||
description, but a few died upon seeing them. The latter were
|
||||
taught to ignore them, too
|
||||
|
||||
* "scalar unregister" in a repository that is already been
|
||||
unregistered reported an error.
|
||||
|
||||
* Remove error detection from a function that fetches from promisor
|
||||
remotes, and make it die when such a fetch fails to bring all the
|
||||
requested objects, to give an early failure to various operations.
|
||||
|
||||
* Update CodingGuidelines to clarify what features to use and avoid
|
||||
in C99.
|
||||
|
||||
* Avoid false-positive from LSan whose assumption may be broken with
|
||||
higher optimization levels.
|
||||
|
||||
* Enable address and undefined sanitizer tasks at GitHub Actions CI.
|
||||
|
||||
* More UNUSED annotation to help using -Wunused option with the
|
||||
compiler.
|
||||
(merge 4b992f0a24 jk/unused-anno-more later to maint).
|
||||
|
||||
* Rewrite a deep recursion in the skipping negotiator to use a loop
|
||||
with on-heap prio queue to avoid stack wastage.
|
||||
|
||||
* Add documentation for message IDs in fsck error messages.
|
||||
|
||||
* Define the logical elements of a "bundle list", data structure to
|
||||
store them in-core, format to transfer them, and code to parse
|
||||
them.
|
||||
|
||||
* The role the security mailing list plays in an embargoed release
|
||||
has been documented.
|
||||
|
||||
* Two new facilities, "timer" and "counter", are introduced to the
|
||||
trace2 API.
|
||||
|
||||
* Code simplification by using strvec_pushf() instead of building an
|
||||
argument in a separate strbuf.
|
||||
|
||||
* Make sure generated dependency file is stably sorted to help
|
||||
developers debugging their build issues.
|
||||
|
||||
* The glossary entries for "commit-graph file" and "reachability
|
||||
bitmap" have been added.
|
||||
|
||||
* Various tests exercising the transfer.credentialsInUrl
|
||||
configuration are taught to avoid making requests which require
|
||||
resolving localhost to reduce CI-flakiness.
|
||||
|
||||
* A redundant diagnostic message is dropped from test_path_is_missing().
|
||||
|
||||
* Simplify the run-command API.
|
||||
|
||||
* Update the actions/github-script dependency in CI to avoid a
|
||||
deprecation warning.
|
||||
|
||||
* Progress on being able to initialize a rev_info struct with a
|
||||
macro.
|
||||
|
||||
* Add trace2 counters to the region to clear skip worktree bits in a
|
||||
sparse checkout.
|
||||
|
||||
* Modernize test script to avoid "test -f" and friends.
|
||||
|
||||
* Avoid calling 'cache_tree_update()' when doing so would be
|
||||
redundant.
|
||||
|
||||
* Update the credential-cache documentation to provide a more
|
||||
realistic example.
|
||||
|
||||
* Makefile comments updates and reordering to clarify knobs used to
|
||||
choose SHA implementations.
|
||||
|
||||
* A design document for sparse-checkout's future directions has been
|
||||
added.
|
||||
|
||||
* Teach chainlint.pl to annotate the original test definition instead
|
||||
of the token stream.
|
||||
|
||||
* "make coccicheck" is time consuming. It has been made to run more
|
||||
incrementally.
|
||||
|
||||
* `parse_object()` has been hardened to check for the existence of a
|
||||
suspected blob object.
|
||||
|
||||
* The build procedure has been adjusted to GNUmake version 4.4, which
|
||||
made some changes to how pattern rule with multiple targets are
|
||||
handled.
|
||||
|
||||
|
||||
Fixes since v2.38
|
||||
-----------------
|
||||
|
||||
* The codepath that reads from the index v4 had unaligned memory
|
||||
accesses, which has been corrected.
|
||||
|
||||
* Fix messages incorrectly marked for translation.
|
||||
|
||||
* "git fsck" failed to release contents of tree objects already used
|
||||
from the memory, which has been fixed.
|
||||
|
||||
* "git clone" did not like to see the "--bare" and the "--origin"
|
||||
options used together without a good reason.
|
||||
|
||||
* "git remote rename" failed to rename a remote without fetch
|
||||
refspec, which has been corrected.
|
||||
|
||||
* Documentation on various Boolean GIT_* environment variables have
|
||||
been clarified.
|
||||
|
||||
* "git rebase -i" can mistakenly attempt to apply a fixup to a commit
|
||||
itself, which has been corrected.
|
||||
|
||||
* "git multi-pack-index repack/expire" used to repack unreachable
|
||||
cruft into a new pack, which have been corrected.
|
||||
|
||||
* In read-only repositories, "git merge-tree" tried to come up with a
|
||||
merge result tree object, which it failed (which is not wrong) and
|
||||
led to a segfault (which is bad), which has been corrected.
|
||||
|
||||
* Force C locale while running tests around httpd to make sure we can
|
||||
find expected error messages in the log.
|
||||
|
||||
* Fix a logic in "mailinfo -b" that miscomputed the length of a
|
||||
substring, which lead to an out-of-bounds access.
|
||||
|
||||
* The codepath to sign learned to report errors when it fails to read
|
||||
from "ssh-keygen".
|
||||
|
||||
* Code clean-up that results in plugging a leak.
|
||||
|
||||
* "GIT_EDITOR=: git branch --edit-description" resulted in failure,
|
||||
which has been corrected.
|
||||
|
||||
* The code to clean temporary object directories (used for
|
||||
quarantine) tried to remove them inside its signal handler, which
|
||||
was a no-no.
|
||||
|
||||
* Update comment in the Makefile about the RUNTIME_PREFIX config knob.
|
||||
|
||||
* Clarify that "the sentence after <area>: prefix does not begin with
|
||||
a capital letter" rule applies only to the commit title.
|
||||
|
||||
* "git branch --edit-description" on an unborn branch misleadingly
|
||||
said that no such branch exists, which has been corrected.
|
||||
|
||||
* Work around older clang that warns against C99 zero initialization
|
||||
syntax for struct.
|
||||
|
||||
* Giving "--invert-grep" and "--all-match" without "--grep" to the
|
||||
"git log" command resulted in an attempt to access grep pattern
|
||||
expression structure that has not been allocated, which has been
|
||||
corrected.
|
||||
(merge db84376f98 ab/grep-simplify-extended-expression later to maint).
|
||||
|
||||
* "git diff rev^!" did not show combined diff to go to the rev from
|
||||
its parents.
|
||||
(merge a79c6b6081 rs/diff-caret-bang-with-parents later to maint).
|
||||
|
||||
* Allow configuration files in "protected" scopes to include other
|
||||
configuration files.
|
||||
(merge ecec57b3c9 gc/bare-repo-discovery later to maint).
|
||||
|
||||
* Give a bit more diversity to macOS CI by using sha1dc in one of the
|
||||
jobs (the other one tests Apple Common Crypto).
|
||||
(merge 1ad5c3df35 jc/ci-osx-with-sha1dc later to maint).
|
||||
|
||||
* A bugfix with tracing support in midx codepath
|
||||
(merge e9c3839944 tb/midx-bitmap-selection-fix later to maint).
|
||||
|
||||
* When geometric repacking feature is in use together with the
|
||||
--pack-kept-objects option, we lost packs marked with .keep files.
|
||||
(merge 197443e80a tb/save-keep-pack-during-geometric-repack later to maint).
|
||||
|
||||
* Move a global variable added as a hack during regression fixes to
|
||||
its proper place in the API.
|
||||
(merge 0b0ab95f17 ab/run-hook-api-cleanup later to maint).
|
||||
|
||||
* Update to build procedure with VS using CMake/CTest.
|
||||
(merge c858750b41 js/cmake-updates later to maint).
|
||||
|
||||
* The short-help text shown by "git cmd -h" and the synopsis text
|
||||
shown at the beginning of "git help cmd" have been made more
|
||||
consistent.
|
||||
|
||||
* When creating a multi-pack bitmap, remove per-pack bitmap files
|
||||
unconditionally as they will never be consulted.
|
||||
(merge 55d902cd61 tb/remove-unused-pack-bitmap later to maint).
|
||||
|
||||
* Fix a longstanding syntax error in Git.pm error codepath.
|
||||
|
||||
* "git diff --stat" etc. were invented back when everything was ASCII
|
||||
and strlen() was a way to measure the display width of a string;
|
||||
adjust them to compute the display width assuming UTF-8 pathnames.
|
||||
(merge ce8529b2bb tb/diffstat-with-utf8-strwidth later to maint).
|
||||
|
||||
* "git branch --edit-description" can exit with status -1 which is
|
||||
not a good practice; it learned to use 1 as everybody else instead.
|
||||
|
||||
* "git apply" limits its input to a bit less than 1 GiB.
|
||||
|
||||
* Merging a branch with directory renames into a branch that changes
|
||||
the directory to a symlink was mishandled by the ort merge
|
||||
strategy, which has been corrected.
|
||||
|
||||
* A bugfix to "git subtree" in its split and merge features.
|
||||
|
||||
* Fix some bugs in the reflog messages when rebasing and changes the
|
||||
reflog messages of "rebase --apply" to match "rebase --merge" with
|
||||
the aim of making the reflog easier to parse.
|
||||
|
||||
* "git rebase --keep-base" used to discard the commits that are
|
||||
already cherry-picked to the upstream, even when "keep-base" meant
|
||||
that the base, on top of which the history is being rebuilt, does
|
||||
not yet include these cherry-picked commits. The --keep-base
|
||||
option now implies --reapply-cherry-picks and --no-fork-point
|
||||
options.
|
||||
|
||||
* The way "git repack" created temporary files when it received a
|
||||
signal was prone to deadlocking, which has been corrected.
|
||||
|
||||
* Various tests exercising the transfer.credentialsInUrl
|
||||
configuration are taught to avoid making requests which require
|
||||
resolving localhost to reduce CI-flakiness.
|
||||
|
||||
* The adjust_shared_perm() helper function learned to refrain from
|
||||
setting the "g+s" bit on directories when it is not necessary.
|
||||
|
||||
* "git archive" mistakenly complained twice about a missing
|
||||
executable, which has been corrected.
|
||||
|
||||
* Fix a bug where `git branch -d` did not work on an orphaned HEAD.
|
||||
|
||||
* `git rebase --update-refs` would delete references when all
|
||||
`update-ref` commands in the sequencer were removed, which has been
|
||||
corrected.
|
||||
|
||||
* Fix a regression in the bisect-helper which mistakenly treats
|
||||
arguments to the command given to 'git bisect run' as arguments to
|
||||
the helper.
|
||||
|
||||
* Correct an error where `git rebase` would mistakenly use a branch or
|
||||
tag named "refs/rewritten/xyz" when missing a rebase label.
|
||||
|
||||
* Assorted fixes of parsing end-user input as integers.
|
||||
(merge 14770cf0de pw/config-int-parse-fixes later to maint).
|
||||
|
||||
* "git prune" may try to iterate over .git/objects/pack for trash
|
||||
files to remove in it, and loudly fail when the directory is
|
||||
missing, which is not necessary. The command has been taught to
|
||||
ignore such a failure.
|
||||
(merge 6974765352 ew/prune-with-missing-objects-pack later to maint).
|
||||
|
||||
* Add one more candidate directory that may house httpd modules while
|
||||
running tests.
|
||||
(merge 1c7dc23d41 es/locate-httpd-module-location-in-test later to maint).
|
||||
|
||||
* A handful of leaks in the line-log machinery have been plugged.
|
||||
|
||||
* The format of a line in /proc/cpuinfo that describes a CPU on s390x
|
||||
looked different from everybody else, and the code in chainlint.pl
|
||||
failed to parse it.
|
||||
(merge 1f51b77f4f ah/chainlint-cpuinfo-parse-fix later to maint).
|
||||
|
||||
* Adjust the GitHub CI to newer ubuntu release.
|
||||
(merge 0d3507f3e7 jx/ci-ubuntu-fix later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge 413bc6d20a ds/cmd-main-reorder later to maint).
|
||||
(merge 8d2863e4ed nw/t1002-cleanup later to maint).
|
||||
(merge 7c2dc122f9 rs/list-objects-filter-leakfix later to maint).
|
||||
(merge 288fcb1c94 zk/push-use-bitmaps later to maint).
|
||||
(merge 42db324c0f km/merge-recursive-typofix later to maint).
|
5
Documentation/RelNotes/2.39.1.txt
Normal file
5
Documentation/RelNotes/2.39.1.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.39.1 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges the security fix that appears in v2.30.7; see
|
||||
the release notes for that version for details.
|
7
Documentation/RelNotes/2.39.2.txt
Normal file
7
Documentation/RelNotes/2.39.2.txt
Normal file
@ -0,0 +1,7 @@
|
||||
Git v2.39.2 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fixes that appear in v2.30.8, v2.31.7,
|
||||
v2.32.6, v2.33.7, v2.34.7, v2.35.7, v2.36.5, v2.37.6 and v2.38.4
|
||||
to address the security issues CVE-2023-22490 and CVE-2023-23946;
|
||||
see the release notes for these versions for details.
|
64
Documentation/RelNotes/2.39.3.txt
Normal file
64
Documentation/RelNotes/2.39.3.txt
Normal file
@ -0,0 +1,64 @@
|
||||
Git v2.39.3 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fix that appears in v2.30.9, v2.31.8,
|
||||
v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7 and v2.38.5 to
|
||||
address the security issues CVE-2023-25652, CVE-2023-25815, and
|
||||
CVE-2023-29007; see the release notes for these versions for
|
||||
details.
|
||||
|
||||
This release also merges fixes that have accumulated on the 'master'
|
||||
front to prepare for the 2.40 release that are still relevant to
|
||||
2.39.x maintenance track.
|
||||
|
||||
Fixes since v2.39.2
|
||||
-------------------
|
||||
|
||||
* Stop running win+VS build by default.
|
||||
|
||||
* CI updates. We probably want a clean-up to move the long shell
|
||||
script embedded in yaml file into a separate file, but that can
|
||||
come later.
|
||||
|
||||
* Avoid unnecessary builds in CI, with settings configured in
|
||||
ci-config.
|
||||
|
||||
* Redefining system functions for a few functions did not follow our
|
||||
usual "implement git_foo() and #define foo(args) git_foo(args)"
|
||||
pattern, which has broken build for some folks.
|
||||
|
||||
* Deal with a few deprecation warning from cURL library.
|
||||
|
||||
* Newer regex library macOS stopped enabling GNU-like enhanced BRE,
|
||||
where '\(A\|B\)' works as alternation, unless explicitly asked with
|
||||
the REG_ENHANCED flag. "git grep" now can be compiled to do so, to
|
||||
retain the old behaviour.
|
||||
|
||||
* When given a pattern that matches an empty string at the end of a
|
||||
line, the code to parse the "git diff" line-ranges fell into an
|
||||
infinite loop, which has been corrected.
|
||||
|
||||
* Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to
|
||||
flush its output to the disk..
|
||||
|
||||
* "git diff --relative" did not mix well with "git diff --ext-diff",
|
||||
which has been corrected.
|
||||
|
||||
* The logic to see if we are using the "cone" mode by checking the
|
||||
sparsity patterns has been tightened to avoid mistaking a pattern
|
||||
that names a single file as specifying a cone.
|
||||
|
||||
* Doc update for environment variables set when hooks are invoked.
|
||||
|
||||
* Document ORIG_HEAD a bit more.
|
||||
|
||||
* "git ls-tree --format='%(path) %(path)' $tree $path" showed the
|
||||
path three times, which has been corrected.
|
||||
|
||||
* Document that "branch -f <branch>" disables only the safety to
|
||||
avoid recreating an existing branch.
|
||||
|
||||
* Clarify how "checkout -b/-B" and "git branch [-f]" are similar but
|
||||
different in the documentation.
|
||||
|
||||
Also contains minor documentation updates and code clean-ups.
|
320
Documentation/RelNotes/2.40.0.txt
Normal file
320
Documentation/RelNotes/2.40.0.txt
Normal file
@ -0,0 +1,320 @@
|
||||
Git v2.40 Release Notes
|
||||
=======================
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "merge-tree" learns a new `--merge-base` option.
|
||||
|
||||
* "git jump" (in contrib/) learned to present the "quickfix list" to
|
||||
its standard output (instead of letting it consumed by the editor
|
||||
it invokes), and learned to also drive emacs/emacsclient.
|
||||
|
||||
* "git var UNKNOWN_VARIABLE" and "git var VARIABLE" with the variable
|
||||
given an empty value used to behave identically. Now the latter
|
||||
just gives an empty output, while the former still gives an error
|
||||
message.
|
||||
|
||||
* Introduce a case insensitive mode to the Bash completion helpers.
|
||||
|
||||
* The advice message given by "git status" when it takes long time to
|
||||
enumerate untracked paths has been updated.
|
||||
|
||||
* Just like "git var GIT_EDITOR" abstracts the complex logic to
|
||||
choose which editor gets used behind it, "git var" now give support
|
||||
to GIT_SEQUENCE_EDITOR.
|
||||
|
||||
* "git format-patch" learned to honor format.mboxrd even when sending
|
||||
patches to the standard output stream,
|
||||
|
||||
* 'cat-file' gains mailmap support for its '--batch-check' and '-s'
|
||||
options.
|
||||
|
||||
* Conditionally skip the pre-applypatch and applypatch-msg hooks when
|
||||
applying patches with 'git am'.
|
||||
|
||||
* Introduce an optional configuration to allow the trailing hash that
|
||||
protects the index file from bit flipping.
|
||||
|
||||
* "git check-attr" learned to take an optional tree-ish to read the
|
||||
.gitattributes file from.
|
||||
|
||||
* "scalar" learned to give progress bar.
|
||||
|
||||
* "grep -P" learned to use Unicode Character Property to grok
|
||||
character classes when processing \b and \w etc.
|
||||
|
||||
* "git rebase" often ignored incompatible options instead of
|
||||
complaining, which has been corrected.
|
||||
|
||||
* "scalar" warns but continues when its periodic maintenance
|
||||
feature cannot be enabled.
|
||||
|
||||
* The bundle-URI subsystem adds support for creation-token heuristics
|
||||
to help incremental fetches.
|
||||
|
||||
* Userdiff regexp update for Java language.
|
||||
|
||||
* "git fetch --jobs=0" used to hit a BUG(), which has been corrected
|
||||
to use the available CPUs.
|
||||
|
||||
* An invalid label or ref in the "rebase -i" todo file used to
|
||||
trigger an runtime error. SUch an error is now diagnosed while the
|
||||
todo file is parsed.
|
||||
|
||||
* The "diff" drivers specified by the "diff" attribute attached to
|
||||
paths can now specify which algorithm (e.g. histogram) to use.
|
||||
|
||||
* "git range-diff" learned --abbrev=<num> option.
|
||||
|
||||
* "git archive HEAD^{tree}" records the paths with the current
|
||||
timestamp in the archive, making it harder to obtain a stable
|
||||
output. The command learned the --mtime option to specify an
|
||||
arbitrary timestamp (e.g. --mtime="@0 +0000" for the epoch).
|
||||
|
||||
* The credential subsystem learned that a password may have an
|
||||
explicit expiration.
|
||||
|
||||
* The format.attach configuration variable lacked a way to override a
|
||||
value defined in a lower-priority configuration file (e.g. the
|
||||
system one) by redefining it in a higher-priority configuration
|
||||
file. Now, setting format.attach to an empty string means show the
|
||||
patch inline in the e-mail message, without using MIME attachment.
|
||||
|
||||
This is a backward incompatible change.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* `git bisect` becomes a builtin.
|
||||
|
||||
* The pack-bitmap machinery is taught to log the paths of redundant
|
||||
bitmap(s) to trace2 instead of stderr.
|
||||
|
||||
* Use the SHA1DC implementation on macOS, just like other platforms,
|
||||
by default.
|
||||
|
||||
* Even in a repository with promisor remote, it is useless to
|
||||
attempt to lazily attempt fetching an object that is expected to be
|
||||
commit, because no "filter" mode omits commit objects. Take
|
||||
advantage of this assumption to fail fast on errors.
|
||||
|
||||
* Stop using "git --super-prefix" and narrow the scope of its use to
|
||||
the submodule--helper.
|
||||
|
||||
* Stop running win+VS build by default.
|
||||
|
||||
* CI updates. We probably want a clean-up to move the long shell
|
||||
script embedded in yaml file into a separate file, but that can
|
||||
come later.
|
||||
|
||||
* Use `git diff --no-index` as a test_cmp on Windows.
|
||||
|
||||
We'd probably need to revisit "do we really want to, and have to,
|
||||
lose CRLF vs LF?" later, at which time we may be able to further
|
||||
clean this up by replacing "git diff --no-index" with "diff -u".
|
||||
|
||||
* Avoid unnecessary builds in CI, with settings configured in
|
||||
ci-config.
|
||||
|
||||
* Plug leaks in sequencer subsystem and its users.
|
||||
|
||||
* In-tree .gitattributes update to match the way we recommend our
|
||||
users to mark a file as text.
|
||||
(merge 1f34e0cd3d po/attributes-text later to maint).
|
||||
|
||||
* Finally retire the scripted "git add -p/-i" implementation and have
|
||||
everybody use the one reimplemented in C.
|
||||
|
||||
|
||||
Fixes since v2.39
|
||||
-----------------
|
||||
|
||||
* Various leak fixes.
|
||||
|
||||
* Fix a bug where `pack-objects` would not respect multiple `--filter`
|
||||
arguments when invoked directly.
|
||||
(merge d4f7036887 rs/multi-filter-args later to maint).
|
||||
|
||||
* Make fsmonitor more robust to avoid the flakiness seen in t7527.
|
||||
(merge 6692d45477 jh/t7527-unflake-by-forcing-cookie later to maint).
|
||||
|
||||
* Stop using deprecated macOS API in fsmonitor.
|
||||
(merge b0226007f0 jh/fsmonitor-darwin-modernize later to maint).
|
||||
|
||||
* Redefining system functions for a few functions did not follow our
|
||||
usual "implement git_foo() and #define foo(args) git_foo(args)"
|
||||
pattern, which has broken build for some folks.
|
||||
|
||||
* The way the diff machinery prepares the options array for the
|
||||
parse_options API has been refactored to avoid resource leaks.
|
||||
(merge 189e97bc4b rs/diff-parseopts later to maint).
|
||||
|
||||
* Correct pthread API usage.
|
||||
(merge 786e67611d sx/pthread-error-check-fix later to maint).
|
||||
|
||||
* The code to auto-correct a misspelt subcommand unnecessarily called
|
||||
into git_default_config() from the early config codepath, which was
|
||||
a no-no. This has bee corrected.
|
||||
(merge 0918d08887 sg/help-autocorrect-config-fix later to maint).
|
||||
|
||||
* "git http-fetch" (which is rarely used) forgot to identify itself
|
||||
in the trace2 output.
|
||||
(merge 7abb43cbc8 jt/http-fetch-trace2-report-name later to maint).
|
||||
|
||||
* The output from "git diff --stat" on an unmerged path lost the
|
||||
terminating LF in Git 2.39, which has been corrected.
|
||||
(merge 209d9cb011 pg/diff-stat-unmerged-regression-fix later to maint).
|
||||
|
||||
* "git pull -v --recurse-submodules" attempted to pass "-v" down to
|
||||
underlying "git submodule update", which did not understand the
|
||||
request and barfed, which has been corrected.
|
||||
(merge 6f65f84766 ss/pull-v-recurse-fix later to maint).
|
||||
|
||||
* When given a pattern that matches an empty string at the end of a
|
||||
line, the code to parse the "git diff" line-ranges fell into an
|
||||
infinite loop, which has been corrected.
|
||||
|
||||
* Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to
|
||||
flush its output to the disk..
|
||||
|
||||
* Fix to a small regression in 2.38 days.
|
||||
|
||||
* "git diff --relative" did not mix well with "git diff --ext-diff",
|
||||
which has been corrected.
|
||||
|
||||
* The logic to see if we are using the "cone" mode by checking the
|
||||
sparsity patterns has been tightened to avoid mistaking a pattern
|
||||
that names a single file as specifying a cone.
|
||||
|
||||
* Deal with a few deprecation warning from cURL library.
|
||||
|
||||
* Doc update for environment variables set when hooks are invoked.
|
||||
|
||||
* Document ORIG_HEAD a bit more.
|
||||
|
||||
* "git ls-tree --format='%(path) %(path)' $tree $path" showed the
|
||||
path three times, which has been corrected.
|
||||
|
||||
* Remove "git env--helper" and demote it to a test-tool subcommand.
|
||||
(merge 4a1baacd46 ab/test-env-helper later to maint).
|
||||
|
||||
* Newer regex library macOS stopped enabling GNU-like enhanced BRE,
|
||||
where '\(A\|B\)' works as alternation, unless explicitly asked with
|
||||
the REG_ENHANCED flag. "git grep" now can be compiled to do so, to
|
||||
retain the old behaviour.
|
||||
|
||||
* Pthread emulation on Win32 leaked thread handle when a thread is
|
||||
joined.
|
||||
(merge 238a9dfe86 sk/win32-close-handle-upon-pthread-join later to maint).
|
||||
|
||||
* "git send-email -v 3" used to be expanded to "git send-email
|
||||
--validate 3" when the user meant to pass them down to
|
||||
"format-patch", which has been corrected.
|
||||
(merge 8774aa56ad km/send-email-with-v-reroll-count later to maint).
|
||||
|
||||
* Document that "branch -f <branch>" disables only the safety to
|
||||
avoid recreating an existing branch.
|
||||
|
||||
* "git fetch <group>", when "<group>" of remotes lists the same
|
||||
remote twice, unnecessarily failed when parallel fetching was
|
||||
enabled, which has been corrected.
|
||||
(merge 06a668cb90 cw/fetch-remote-group-with-duplication later to maint).
|
||||
|
||||
* Clarify how "checkout -b/-B" and "git branch [-f]" are similar but
|
||||
different in the documentation.
|
||||
|
||||
* "git hash-object" now checks that the resulting object is well
|
||||
formed with the same code as "git fsck".
|
||||
(merge 8e4309038f jk/hash-object-fsck later to maint).
|
||||
|
||||
* Improve the error message given when private key is not loaded in
|
||||
the ssh agent in the codepath to sign with an ssh key.
|
||||
(merge dce7b31126 as/ssh-signing-improve-key-missing-error later to maint).
|
||||
|
||||
* Adjust "git request-pull" to strip embedded signature from signed
|
||||
tags to notice non-PGP signatures.
|
||||
(merge a9cad02538 gm/request-pull-with-non-pgp-signed-tags later to maint).
|
||||
|
||||
* Remove support for MSys, which now lags way behind MSys2.
|
||||
(merge 2987407f3c hj/remove-msys-support later to maint).
|
||||
|
||||
* Fix use of CreateThread() API call made early in the windows
|
||||
start-up code.
|
||||
(merge 592bcab61b sk/winansi-createthread-fix later to maint).
|
||||
|
||||
* "git pack-objects" learned to release delta-island bitmap data when
|
||||
it is done using it, saving peak heap memory usage.
|
||||
(merge 647982bb71 ew/free-island-marks later to maint).
|
||||
|
||||
* In an environment where dynamically generated code is prohibited to
|
||||
run (e.g. SELinux), failure to JIT pcre patterns is expected. Fall
|
||||
back to interpreted execution in such a case.
|
||||
(merge 50b6ad55b0 cb/grep-fallback-failing-jit later to maint).
|
||||
|
||||
* "git name-rev" heuristics update.
|
||||
(merge b2182a8730 en/name-rev-make-taggerdate-much-less-important later to maint).
|
||||
|
||||
* Remove more remaining uses of macros that relies on the_index
|
||||
singleton instance without explicitly spelling it out.
|
||||
|
||||
* Remove unnecessary explicit sizing of strbuf.
|
||||
(merge 93ea118bed rs/cache-tree-strbuf-growth-fix later to maint).
|
||||
|
||||
* Doc update.
|
||||
(merge d9ec3b0dc0 jk/doc-ls-remote-matching later to maint).
|
||||
|
||||
* Error messages given upon a signature verification failure used to
|
||||
discard the errors from underlying gpg program, which has been
|
||||
corrected.
|
||||
(merge ad6b320756 js/gpg-errors later to maint).
|
||||
|
||||
* Update --date=default documentation.
|
||||
(merge 9deef088ae rd/doc-default-date-format later to maint).
|
||||
|
||||
* A test helper had a single write(2) of 256kB, which was too big for
|
||||
some platforms (e.g. NonStop), which has been corrected by using
|
||||
xwrite() wrapper appropriately.
|
||||
(merge 58eab6ff13 jc/genzeros-avoid-raw-write later to maint).
|
||||
|
||||
* sscanf(3) used in "git symbolic-ref --short" implementation found
|
||||
to be not working reliably on macOS in UTF-8 locales. Rewrite the
|
||||
code to avoid sscanf() altogether to work it around.
|
||||
(merge 613bef56b8 jk/shorten-unambiguous-ref-wo-sscanf later to maint).
|
||||
|
||||
* Various fix-ups on HTTP tests.
|
||||
(merge 8f2146dbf1 jk/http-test-fixes later to maint).
|
||||
|
||||
* Fixes to code that parses the todo file used in "rebase -i".
|
||||
(merge 666b6e1135 pw/rebase-i-parse-fix later to maint).
|
||||
|
||||
* Test library clean-up.
|
||||
(merge c600a91c94 ar/test-lib-remove-stale-comment later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge 4eb1ccecd4 dh/mingw-ownership-check-typofix later to maint).
|
||||
(merge f95526419b ar/typofix-gitattributes-doc later to maint).
|
||||
(merge 27875aeec9 km/doc-branch-start-point later to maint).
|
||||
(merge 35c194dc57 es/t1509-root-fixes later to maint).
|
||||
(merge 7b341645e3 pw/ci-print-failure-name-fix later to maint).
|
||||
(merge bcb71d45bf jx/t1301-updates later to maint).
|
||||
(merge ebdc46c242 jc/doc-diff-patch.txt later to maint).
|
||||
(merge a87a20cbb4 ar/test-cleanup later to maint).
|
||||
(merge f5156f1885 ar/bisect-doc-update later to maint).
|
||||
(merge fca2d86c97 jk/interop-error later to maint).
|
||||
(merge cf4936ed74 tl/ls-tree-code-clean-up later to maint).
|
||||
(merge dcb47e52b0 en/t6426-todo-cleanup later to maint).
|
||||
(merge 5b8db44bdd jc/format-patch-v-unleak later to maint).
|
||||
(merge 590b636737 jk/hash-object-literally-fd-leak later to maint).
|
||||
(merge 5458ba0a4d tb/t0003-invoke-dd-more-portably later to maint).
|
||||
(merge 70661d288b ar/markup-em-dash later to maint).
|
||||
(merge e750951e74 en/ls-files-doc-update later to maint).
|
||||
(merge 4f542975d1 mh/doc-credential-cache-only-in-core later to maint).
|
||||
(merge 3a2ebaebc7 gc/index-format-doc later to maint).
|
||||
(merge b08edf709d jk/httpd-test-updates later to maint).
|
||||
(merge d85e9448dd wl/new-command-doc later to maint).
|
||||
(merge d912a603ed kf/t5000-modernise later to maint).
|
||||
(merge e65b868d07 rs/size-t-fixes later to maint).
|
||||
(merge 3eb1e1ca9a ab/config-h-remove-unused later to maint).
|
||||
(merge d390e08076 cw/doc-pushurl-vs-url later to maint).
|
||||
(merge 567342fc77 rs/ctype-test later to maint).
|
||||
(merge d35d8f2e7a ap/t2015-style-update later to maint).
|
8
Documentation/RelNotes/2.40.1.txt
Normal file
8
Documentation/RelNotes/2.40.1.txt
Normal file
@ -0,0 +1,8 @@
|
||||
Git v2.40.1 Release Notes
|
||||
=========================
|
||||
|
||||
This release merges up the fix that appears in v2.30.9, v2.31.8,
|
||||
v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7, v2.38.5
|
||||
and v2.39.3 to address the security issues CVE-2023-25652,
|
||||
CVE-2023-25815, and CVE-2023-29007; see the release notes for these
|
||||
versions for details.
|
399
Documentation/RelNotes/2.41.0.txt
Normal file
399
Documentation/RelNotes/2.41.0.txt
Normal file
@ -0,0 +1,399 @@
|
||||
Git v2.41 Release Notes
|
||||
=======================
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* Allow information carried on the WWW-Authenticate header to be
|
||||
passed to the credential helpers.
|
||||
|
||||
* A new "fetch.hideRefs" option can be used to exclude specified refs
|
||||
from "rev-list --objects --stdin --not --all" traversal for
|
||||
checking object connectivity, most useful when there are many
|
||||
unrelated histories in a single repository.
|
||||
|
||||
* "git push" has been taught to allow deletion of refs with one-level
|
||||
names to help repairing a repository who acquired such a ref by
|
||||
mistake. In general, we don't encourage use of such a ref, and
|
||||
creation or update to such a ref is rejected as before.
|
||||
|
||||
* Allow "git bisect reset" to check out the original branch when the
|
||||
branch is already checked out in a different worktree linked to the
|
||||
same repository.
|
||||
|
||||
* A few subcommands have been taught to stop users from working on a
|
||||
branch that is being used in another worktree linked to the same
|
||||
repository.
|
||||
|
||||
* "git format-patch" learned to write a log-message only output file
|
||||
for empty commits.
|
||||
|
||||
* "git format-patch" honors the src/dst prefixes set to nonstandard
|
||||
values with configuration variables like "diff.noprefix", causing
|
||||
receiving end of the patch that expects the standard -p1 format to
|
||||
break. "format-patch" has been taught to ignore end-user configuration
|
||||
and always use the standard prefixes.
|
||||
|
||||
This is a backward compatibility breaking change.
|
||||
|
||||
* Lift the limitation that colored prompts can only be used with
|
||||
PROMPT_COMMAND mode.
|
||||
|
||||
* "git blame --contents=<file> <rev> -- <path>" used to be forbidden,
|
||||
but now it finds the origins of lines starting at <file> contents
|
||||
through the history that leads to <rev>.
|
||||
|
||||
* "git pack-redundant" gave a warning when run, as the command has
|
||||
outlived its usefulness long ago and is nominated for future
|
||||
removal. Now we escalate to give an error.
|
||||
|
||||
* "git clone" from an empty repository learned to propagate the
|
||||
choice of the hash algorithm from the source repository to the
|
||||
newly created repository over any one of the v0/v1/v2 protocol.
|
||||
|
||||
* "git mergetool" and "git difftool" learns a new configuration
|
||||
guiDefault to optionally favor configured guitool over non-gui-tool
|
||||
automatically when $DISPLAY is set.
|
||||
|
||||
* "git branch -d origin/master" would say "no such branch", but it is
|
||||
likely a missed "-r" if refs/remotes/origin/master exists. The
|
||||
command has been taught to give such a hint in its error message.
|
||||
|
||||
* Clean-up of the code path that deals with merge strategy option
|
||||
handling in "git rebase".
|
||||
|
||||
* "git clone --local" stops copying from an original repository that
|
||||
has symbolic links inside its $GIT_DIR; an error message when that
|
||||
happens has been updated.
|
||||
|
||||
* The "--format=..." option of "git for-each-ref", "git branch", and
|
||||
"git tag" commands learn "--omit-empty" to hide refs whose
|
||||
formatting results in an empty string from the output.
|
||||
|
||||
* The sendemail-validate validate hook learned to pass the total
|
||||
number of input files and where in the sequence each invocation is
|
||||
via environment variables.
|
||||
|
||||
* When "gc" needs to retain unreachable objects, packing them into
|
||||
cruft packs (instead of exploding them into loose object files) has
|
||||
been offered as a more efficient option for some time. Now the use
|
||||
of cruft packs has been made the default and no longer considered
|
||||
an experimental feature.
|
||||
|
||||
* The output given by "git blame" that attributes a line to contents
|
||||
taken from the file specified by the "--contents" option shows it
|
||||
differently from a line attributed to the working tree file.
|
||||
|
||||
* "git send-email" learned to give the e-mail headers to the validate
|
||||
hook by passing an extra argument from the command line.
|
||||
|
||||
* The credential subsystem learns to help OAuth framework.
|
||||
|
||||
* The titles of manual pages used to be chomped at an unreasonably
|
||||
short limit, which has been removed.
|
||||
|
||||
* Error messages given when working on an unborn branch that is
|
||||
checked out in another worktree have been improved.
|
||||
|
||||
* The documentation was misleading about the interaction between
|
||||
GIT_DEFAULT_HASH and "git clone", which has been clarified to
|
||||
stress that the variable is to be ignored by the command.
|
||||
|
||||
* "git send-email" learned "--header-cmd=<cmd>" that can inject
|
||||
arbitrary e-mail header lines to the outgoing messages.
|
||||
|
||||
* "git fsck" learned to detect bit-flip breakages in the reachability
|
||||
bitmap files.
|
||||
|
||||
* The "--stdin" option of "git name-rev" has been replaced with
|
||||
the "--annotate-stdin" option more than a year ago. We stop
|
||||
advertising it in the "git name-rev -h" output.
|
||||
|
||||
* "git push --all" gained an alias "git push --branches".
|
||||
|
||||
* "git fetch" learned the "--porcelain" option that emits what it did
|
||||
in a machine-parseable format.
|
||||
|
||||
* "git --attr-source=<tree> cmd $args" is a new way to have any
|
||||
command to read attributes not from the working tree but from the
|
||||
given tree object.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* Code clean-up to clarify directory traversal API.
|
||||
|
||||
* Code clean-up to clarify the rule that "git-compat-util.h" must be
|
||||
the first to be included.
|
||||
|
||||
* More work towards -Wunused.
|
||||
|
||||
* Instead of forcing each command to choose to honor GPG related
|
||||
configuration variables, make the subsystem lazily initialize
|
||||
itself.
|
||||
|
||||
* Remove workaround for ancient versions of DocBook to make it work
|
||||
correctly with groff, which has not been necessary since docbook
|
||||
1.76 from 2010.
|
||||
|
||||
* Code clean-up to include and/or uninclude parse-options.h file as
|
||||
needed.
|
||||
|
||||
* The code path that reports what "git fetch" did to each ref has
|
||||
been cleaned up.
|
||||
|
||||
* Assorted config API updates.
|
||||
|
||||
* A few configuration variables to tell the cURL library that
|
||||
different types of ssl-cert and ssl-key are in use have been added.
|
||||
|
||||
* Split key function and data structure definitions out of cache.h to
|
||||
new header files and adjust the users.
|
||||
|
||||
* "git fetch --all" does not have to download and handle the same
|
||||
bundleURI over and over, which has been corrected.
|
||||
|
||||
* "git sparse-checkout" command learns a debugging aid for the sparse
|
||||
rule definitions.
|
||||
|
||||
* "git write-tree" learns to work better with sparse-index.
|
||||
|
||||
* The on-disk reverse index that allows mapping from the pack offset
|
||||
to the object name for the object stored at the offset has been
|
||||
enabled by default.
|
||||
|
||||
* "git fsck" learned to validate the on-disk pack reverse index files.
|
||||
|
||||
* strtok() and strtok_r() are banned in this codebase.
|
||||
|
||||
* The detect-compilers script to help auto-tweaking the build system
|
||||
had trouble working with compilers whose version number has extra
|
||||
suffixes. The script has been taught that certain suffixes (like
|
||||
"-win32" in "gcc 10-win32") can be safely stripped as they share
|
||||
the same features and bugs with the version without the suffix.
|
||||
|
||||
* ctype tests have been taught to test EOF, too.
|
||||
|
||||
* The implementation of credential helpers used fgets() over fixed
|
||||
size buffers to read protocol messages, causing the remainder of
|
||||
the folded long line to trigger unexpected behaviour, which has
|
||||
been corrected.
|
||||
|
||||
* The implementation of the default "negotiator", used to find common
|
||||
ancestor over the network for object tranfer, used to be recursive;
|
||||
it was updated to be iterative to conserve stackspace usage.
|
||||
|
||||
* Our custom callout formatter is no longer used in the documentation
|
||||
formatting toolchain, as the upstream default ones give better
|
||||
output these days.
|
||||
|
||||
* The tracing mechanism learned to notice and report when
|
||||
auto-discovered bare repositories are being used, as allowing so
|
||||
without explicitly stating the user intends to do so (with setting
|
||||
GIT_DIR for example) can be used with social engineering as an
|
||||
attack vector.
|
||||
|
||||
* "git diff-files" learned not to expand sparse-index unless needed.
|
||||
|
||||
|
||||
Fixes since v2.40
|
||||
-----------------
|
||||
|
||||
* "git fsck" learned to check the index files in other worktrees,
|
||||
just like "git gc" honors them as anchoring points.
|
||||
(merge 8d3e7eac52 jk/fsck-indices-in-worktrees later to maint).
|
||||
|
||||
* Fix a segfaulting loop. The function and its caller may need
|
||||
further clean-up.
|
||||
(merge c5773dc078 ew/commit-reach-clean-up-flags-fix later to maint).
|
||||
|
||||
* "git restore" supports options like "--ours" that are only
|
||||
meaningful during a conflicted merge, but these options are only
|
||||
meaningful when updating the working tree files. These options are
|
||||
marked to be incompatible when both "--staged" and "--worktree" are
|
||||
in effect.
|
||||
(merge ee8a88826a ak/restore-both-incompatible-with-conflicts later to maint).
|
||||
|
||||
* Simplify UI to control progress meter given by "git bundle" command.
|
||||
(merge 8b95521edb jk/bundle-progress later to maint).
|
||||
|
||||
* "git bundle" learned that "-" is a common way to say that the input
|
||||
comes from the standard input and/or the output goes to the
|
||||
standard output. It used to work only for output and only from the
|
||||
root level of the working tree.
|
||||
(merge 0bbe10313e jk/bundle-use-dash-for-stdfiles later to maint).
|
||||
|
||||
* Once we start running, we assumed that the list of alternate object
|
||||
databases would never change. Hook into the machinery used to
|
||||
update the list of packfiles during runtime to update this list as
|
||||
well.
|
||||
(merge e2d003dbed ds/reprepare-alternates-when-repreparing-packfiles later to maint).
|
||||
|
||||
* The code to parse "git rebase -X<opt>" was not prepared to see an
|
||||
unparsable option string, which has been corrected.
|
||||
(merge 15a4cc912e ab/fix-strategy-opts-parsing later to maint).
|
||||
|
||||
* "git add -p" while the index is unmerged sometimes failed to parse
|
||||
the diff output it internally produces and died, which has been
|
||||
corrected.
|
||||
(merge 28d1122f9c jk/add-p-unmerged-fix later to maint).
|
||||
|
||||
* Fix for a "ls-files --format="%(path)" that produced nonsense
|
||||
output, which was a bug in 2.38.
|
||||
(merge cfb62dd006 aj/ls-files-format-fix later to maint).
|
||||
|
||||
* "git receive-pack" that responds to "git push" requests failed to
|
||||
clean a stale lockfile when killed in the middle, which has been
|
||||
corrected.
|
||||
(merge c55c30669c ps/receive-pack-unlock-before-die later to maint).
|
||||
|
||||
* "git rev-parse --quiet foo@{u}", or anything that asks @{u} to be
|
||||
parsed with GET_OID_QUIETLY option, did not quietly fail, which has
|
||||
been corrected.
|
||||
(merge dfbfdc521d fc/oid-quietly-parse-upstream later to maint).
|
||||
|
||||
* Transports that do not support protocol v2 did not correctly fall
|
||||
back to protocol v0 under certain conditions, which has been
|
||||
corrected.
|
||||
(merge eaa0fd6584 jk/fix-proto-downgrade-to-v0 later to maint).
|
||||
|
||||
* time(2) on glib 2.31+, especially on Linux, goes out of sync with
|
||||
higher resolution timers used for gettimeofday(2) and by the
|
||||
filesystem. Replace all calls to it with a git_time() wrapper and
|
||||
(merge 370ddcbc89 pe/time-use-gettimeofday later to maint).
|
||||
|
||||
* Code clean-up to use designated initializers in parse-options API.
|
||||
(merge 353e6d4554 sg/parse-options-h-initializers later to maint).
|
||||
|
||||
* A recent-ish change to allow unicode character classes to be used
|
||||
with "grep -P" triggered a JIT bug in older pcre2 libraries.
|
||||
The problematic change in Git built with these older libraries has
|
||||
been disabled to work around the bug.
|
||||
(merge 14b9a04479 mk/workaround-pcre-jit-ucp-bug later to maint).
|
||||
|
||||
* The wildmatch library code unlearns exponential behaviour it
|
||||
acquired some time ago since it was borrowed from rsync.
|
||||
(merge 3dc0b7f0dc pw/wildmatch-fixes later to maint).
|
||||
|
||||
* The index files can become corrupt under certain conditions when
|
||||
the split-index feature is in use, especially together with
|
||||
fsmonitor, which have been corrected.
|
||||
(merge 061dd722dc js/split-index-fixes later to maint).
|
||||
|
||||
* Document what the pathname-looking strings in "rev-list --object"
|
||||
output are for and what they mean.
|
||||
(merge 15364d2a3c jk/document-rev-list-object-name later to maint).
|
||||
|
||||
* Fix unnecessary truncation of generation numbers used in-core.
|
||||
(merge d3af1c193d ps/ahead-behind-truncation-fix later to maint).
|
||||
|
||||
* Code clean-up around the use of the_repository.
|
||||
(merge 4a93b899c1 ab/remove-implicit-use-of-the-repository later to maint).
|
||||
|
||||
* Consistently spell "Message-ID" as such, not "Message-Id".
|
||||
(merge ba4324c4e1 jc/spell-id-in-both-caps-in-message-id later to maint).
|
||||
|
||||
* Correct use of an uninitialized structure member.
|
||||
(merge dc12ee77ab jx/cap-object-info-uninitialized-fix later to maint).
|
||||
|
||||
* Tests had a few places where we ignored PERL_PATH and blindly used
|
||||
/usr/bin/perl, which have been corrected.
|
||||
(merge c1917156a0 jk/use-perl-path-consistently later to maint).
|
||||
|
||||
* Documentation mark-up fix.
|
||||
(merge 78b6369e67 la/mfc-markup-fix later to maint).
|
||||
|
||||
* Doc toolchain update to remove old workaround for AsciiDoc.
|
||||
(merge 8806120de6 fc/remove-header-workarounds-for-asciidoc later to maint).
|
||||
|
||||
* The userdiff regexp patterns for various filetypes that are built
|
||||
into the system have been updated to avoid triggering regexp errors
|
||||
from UTF-8 aware regex engines.
|
||||
(merge be39144954 rs/userdiff-multibyte-regex later to maint).
|
||||
|
||||
* The approxidate() API has been simplified by losing an extra
|
||||
function that did the same thing as another one.
|
||||
(merge 8a7f0b666f rs/remove-approxidate-relative later to maint).
|
||||
|
||||
* Code clean-up to replace a hardcoded constant with a CPP macro.
|
||||
(merge c870de6502 rs/get-tar-commit-id-use-defined-const later to maint).
|
||||
|
||||
* Doc build simplification.
|
||||
(merge 9a09ed3229 fc/doc-stop-using-manversion later to maint).
|
||||
|
||||
* "git archive" run from a subdirectory mishandled attributes and
|
||||
paths outside the current directory.
|
||||
(merge 92b1dd1b9e rs/archive-from-subdirectory-fixes later to maint).
|
||||
|
||||
* The code to parse capability list for v0 on-wire protocol fell into
|
||||
an infinite loop when a capability appears multiple times, which
|
||||
has been corrected.
|
||||
|
||||
* Geometric repacking ("git repack --geometric=<n>") in a repository
|
||||
that borrows from an alternate object database had various corner
|
||||
case bugs, which have been corrected.
|
||||
(merge d85cd18777 ps/fix-geom-repack-with-alternates later to maint).
|
||||
|
||||
* The "%GT" placeholder for the "--format" option of "git log" and
|
||||
friends caused BUG() to trigger on a commit signed with an unknown
|
||||
key, which has been corrected.
|
||||
(merge 7891e46585 jk/gpg-trust-level-fix later to maint).
|
||||
|
||||
* The completion script used to use bare "read" without the "-r"
|
||||
option to read the contents of various state files, which risked
|
||||
getting confused with backslashes in them. This has been
|
||||
corrected.
|
||||
(merge 197152098a ek/completion-use-read-r-to-read-literally later to maint).
|
||||
|
||||
* A small API fix to the ort merge strategy backend.
|
||||
(merge 000c4ceca7 en/ort-finalize-after-0-merges-fix later to maint).
|
||||
|
||||
* The commit object parser has been taught to be a bit more lenient
|
||||
to parse timestamps on the author/committer line with a malformed
|
||||
author/committer ident.
|
||||
(merge 90ef0f14eb jk/parse-commit-with-malformed-ident later to maint).
|
||||
|
||||
* Retitle a test script with an overly narrow name.
|
||||
(merge 8bb19c14fb ob/t3501-retitle later to maint).
|
||||
|
||||
* Doc update to clarify how text and eol attributes interact to
|
||||
specify the end-of-line conversion.
|
||||
(merge 6696077ace ah/doc-attributes-text later to maint).
|
||||
|
||||
* Gitk updates from GfW project.
|
||||
(merge 99e70f3077 js/gitk-fixes-from-gfw later to maint).
|
||||
|
||||
* "git diff --dirstat" leaked memory, which has been plugged.
|
||||
(merge 83973981eb jc/dirstat-plug-leaks later to maint).
|
||||
|
||||
* "git merge-tree" reads the basic configuration, which can be used
|
||||
by git forges to disable replace-refs feature.
|
||||
(merge b6551feadf ds/merge-tree-use-config later to maint).
|
||||
|
||||
* A few bugs in the sequencer machinery that results in miscounting
|
||||
the steps have been corrected.
|
||||
(merge 170eea9750 js/rebase-count-fixes later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge f7111175df as/doc-markup-fix later to maint).
|
||||
(merge 90ff7c9898 fc/test-aggregation-clean-up later to maint).
|
||||
(merge 9b0c7f308a jc/am-doc-refer-to-format-patch later to maint).
|
||||
(merge b10cbdac4c bb/unicode-width-table-15 later to maint).
|
||||
(merge 3457b50e8c ab/retire-scripted-add-p later to maint).
|
||||
(merge d52fcf493b ds/p2000-fix-grep-sparse later to maint).
|
||||
(merge ec063d2591 ss/hashmap-typofix later to maint).
|
||||
(merge 1aaed69d11 rs/archive-mtime later to maint).
|
||||
(merge 2da2cc9b28 ob/rollback-after-commit-lock-failure later to maint).
|
||||
(merge 54dbd0933b ob/sequencer-save-head-simplify later to maint).
|
||||
(merge a93cbe8d78 ar/test-cleanup-unused-file-creation later to maint).
|
||||
(merge cc48ddd937 jk/chainlint-fixes later to maint).
|
||||
(merge 4833b08426 ow/ref-format-remove-unused-member later to maint).
|
||||
(merge d0ea2ca1cf dw/doc-submittingpatches-grammofix later to maint).
|
||||
(merge fd72637423 ar/t2024-checkout-output-fix later to maint).
|
||||
(merge d45cbe3fe0 ob/sequencer-i18n-fix later to maint).
|
||||
(merge b734fe49fd ob/messages-capitalize-exception later to maint).
|
||||
(merge ad353d7e77 ma/gittutorial-fixes later to maint).
|
||||
(merge a5855fd8d4 ar/test-cleanup-unused-file-creation-part2 later to maint).
|
||||
(merge 0c5308af30 sd/doc-gitignore-and-rm-cached later to maint).
|
||||
(merge cbb83daeaf kh/doc-interpret-trailers-updates later to maint).
|
||||
(merge 3d77fbb664 ar/config-count-tests-updates later to maint).
|
||||
(merge b7cf25c8f4 jc/t9800-fix-use-of-show-s-raw later to maint).
|
288
Documentation/RelNotes/2.42.0.txt
Normal file
288
Documentation/RelNotes/2.42.0.txt
Normal file
@ -0,0 +1,288 @@
|
||||
Git v2.42 Release Notes
|
||||
=======================
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "git pack-refs" learns "--include" and "--exclude" to tweak the ref
|
||||
hierarchy to be packed using pattern matching.
|
||||
|
||||
* 'git worktree add' learned how to create a worktree based on an
|
||||
orphaned branch with `--orphan`.
|
||||
|
||||
* "git pack-objects" learned to invoke a new hook program that
|
||||
enumerates extra objects to be used as anchoring points to keep
|
||||
otherwise unreachable objects in cruft packs.
|
||||
|
||||
* Add more "git var" for toolsmiths to learn various locations Git is
|
||||
configured with either via the configuration or hardcoded defaults.
|
||||
|
||||
* 'git notes append' was taught '--separator' to specify string to insert
|
||||
between paragraphs.
|
||||
|
||||
* The "git for-each-ref" family of commands learned placeholders
|
||||
related to GPG signature verification.
|
||||
|
||||
* "git diff --no-index" learned to read from named pipes as if they
|
||||
were regular files, to allow "git diff <(process) <(substitution)"
|
||||
some shells support.
|
||||
|
||||
* Help newbies by suggesting that there are cases where force-pushing
|
||||
is a valid and sensible thing to update a branch at a remote
|
||||
repository, rather than reconciling with merge/rebase.
|
||||
|
||||
* "git blame --contents=file" has been taught to work in a bare
|
||||
repository.
|
||||
|
||||
* "git branch -f X" to repoint the branch X said that X was "checked
|
||||
out" in another worktree, even when branch X was not and instead
|
||||
being bisected or rebased. The message was reworded to say the
|
||||
branch was "in use".
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* "git diff-tree" has been taught to take advantage of the
|
||||
sparse-index feature.
|
||||
|
||||
* Clang's sanitizer implementation seems to work better than GCC's.
|
||||
(merge d88d727143 jk/ci-use-clang-for-sanitizer-jobs later to maint).
|
||||
|
||||
* The object traversal using reachability bitmap done by
|
||||
"pack-object" has been tweaked to take advantage of the fact that
|
||||
using "boundary" commits as representative of all the uninteresting
|
||||
ones can save quite a lot of object enumeration.
|
||||
|
||||
* discover_git_directory() no longer touches the_repository.
|
||||
|
||||
* "git worktree" learned to work better with sparse index feature.
|
||||
|
||||
* When the external merge driver is killed by a signal, its output
|
||||
should not be trusted as a resolution with conflicts that is
|
||||
proposed by the driver, but the code did.
|
||||
|
||||
* The set-up code for the get_revision() API now allows feeding
|
||||
options like --all and --not in the --stdin mode.
|
||||
|
||||
* Move functions that are not about pure string manipulation out of
|
||||
strbuf.[ch]
|
||||
|
||||
* "imap-send" codepaths got cleaned up to get rid of unused
|
||||
parameters.
|
||||
|
||||
* Enumerating refs in the packed-refs file, while excluding refs that
|
||||
match certain patterns, has been optimized.
|
||||
|
||||
* Mark-up unused parameters in the code so that we can eventually
|
||||
enable -Wunused-parameter by default.
|
||||
|
||||
* Instead of inventing a custom counter variables for debugging,
|
||||
use existing trace2 facility in the fsync customization codepath.
|
||||
|
||||
* "git branch --list --format=<format>" and friends are taught
|
||||
a new "%(describe)" placeholder.
|
||||
|
||||
* Clarify how to choose the starting point for a new topic in
|
||||
developer guidance document.
|
||||
|
||||
* The implementation of "get_sha1_hex()" that reads a hexadecimal
|
||||
string that spells a full object name has been extended to cope
|
||||
with any hash function used in the repository, but the "sha1" in
|
||||
its name survived. Rename it to get_hash_hex(), a name that is
|
||||
more consistent within its friends like get_hash_hex_algop().
|
||||
|
||||
* Command line parser fix, and a small parse-options API update.
|
||||
|
||||
|
||||
Fixes since v2.41
|
||||
-----------------
|
||||
|
||||
* "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
|
||||
command failed, so that the user can salvage what they typed.
|
||||
(merge 08c12ec1d0 kh/keep-tag-editmsg-upon-failure later to maint).
|
||||
|
||||
* The "-s" (silent, squelch) option of the "diff" family of commands
|
||||
did not interact with other options that specify the output format
|
||||
well. This has been cleaned up so that it will clear all the
|
||||
formatting options given before.
|
||||
(merge 9d484b92ed jc/diff-s-with-other-options later to maint).
|
||||
|
||||
* Update documentation regarding Coccinelle patches.
|
||||
(merge 3bd0097cfc gc/doc-cocci-updates later to maint).
|
||||
|
||||
* Some atoms that can be used in "--format=<format>" for "git ls-tree"
|
||||
were not supported by "git ls-files", even though they were relevant
|
||||
in the context of the latter.
|
||||
(merge 4d28c4f75f zh/ls-files-format-atoms later to maint).
|
||||
|
||||
* Document more pseudo-refs and teach the command line completion
|
||||
machinery to complete AUTO_MERGE.
|
||||
(merge 982ff3a649 pb/complete-and-document-auto-merge-and-friends later to maint).
|
||||
|
||||
* "git submodule" code trusted the data coming from the config (and
|
||||
the in-tree .gitmodules file) too much without validating, leading
|
||||
to NULL dereference if the user mucks with a repository (e.g.
|
||||
submodule.<name>.url is removed). This has been corrected.
|
||||
(merge fbc806acd1 tb/submodule-null-deref-fix later to maint).
|
||||
|
||||
* The value of config.worktree is per-repository, but has been kept
|
||||
in a singleton global variable per process. This has been OK as
|
||||
most Git operations interacted with a single repository at a time,
|
||||
but not right for operations like recursive "grep" that want to
|
||||
access multiple repositories from a single process without forking.
|
||||
|
||||
The global variable has been eliminated and made into a member in
|
||||
the per-repository data structure.
|
||||
(merge 3867f6d650 vd/worktree-config-is-per-repository later to maint).
|
||||
|
||||
* "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.
|
||||
(merge 8260bc5902 jk/log-follow-with-non-literal-pathspec later to maint).
|
||||
|
||||
* Introduce a mechanism to disable replace refs globally and per
|
||||
repository.
|
||||
(merge 9c7d1b057f ds/disable-replace-refs later to maint).
|
||||
|
||||
* "git cat-file --batch" and friends learned "-Z" that uses NUL
|
||||
delimiter for both input and output.
|
||||
(merge f79e18849b ps/cat-file-null-output later to maint).
|
||||
|
||||
* The reimplemented "git add -i" did not honor color.ui configuration.
|
||||
(merge 6f74648cea ds/add-i-color-configuration-fix later to maint).
|
||||
|
||||
* Compilation fix for platforms without D_TYPE in struct dirent.
|
||||
(merge 03bf92b9bf as/dtype-compilation-fix later to maint).
|
||||
|
||||
* Suggest to refrain from using hex literals that are non-portable
|
||||
when writing printf(1) format strings.
|
||||
(merge f0b68f0546 jt/doc-use-octal-with-printf later to maint).
|
||||
|
||||
* Simplify error message when run-command fails to start a command.
|
||||
(merge 6d224ac286 rs/run-command-exec-error-on-noent later to maint).
|
||||
|
||||
* Gracefully deal with a stale MIDX file that lists a packfile that
|
||||
no longer exists.
|
||||
(merge 06f3867865 tb/open-midx-bitmap-fallback later to maint).
|
||||
|
||||
* Even when diff.ignoreSubmodules tells us to ignore submodule
|
||||
changes, "git commit" with an index that already records changes to
|
||||
submodules should include the submodule changes in the resulting
|
||||
commit, but it did not.
|
||||
(merge 5768478edc js/defeat-ignore-submodules-config-with-explicit-addition later to maint).
|
||||
|
||||
* When "git commit --trailer=..." invokes the interpret-trailers
|
||||
machinery, it knows what it feeds to interpret-trailers is a full
|
||||
log message without any patch, but failed to express that by
|
||||
passing the "--no-divider" option, which has been corrected.
|
||||
(merge be3d654343 jk/commit-use-no-divider-with-interpret-trailers later to maint).
|
||||
|
||||
* Avoid breakage of "git pack-objects --cruft" due to inconsistency
|
||||
between the way the code enumerates packfiles in the repository.
|
||||
(merge 73320e49ad tb/collect-pack-filenames-fix later to maint).
|
||||
|
||||
* We create .pack and then .idx, we consider only packfiles that have
|
||||
.idx usable (those with only .pack are not ready yet), so we should
|
||||
remove .idx before removing .pack for consistency.
|
||||
(merge 0dd1324a73 ds/remove-idx-before-pack later to maint).
|
||||
|
||||
* Partially revert a sanity check that the rest of the config code
|
||||
was not ready, to avoid triggering it in a corner case.
|
||||
(merge a53f43f900 gc/config-partial-submodule-kvi-fix later to maint).
|
||||
|
||||
* "git apply" punts when it is fed too large a patch input; the error
|
||||
message it gives when it happens has been clarified.
|
||||
(merge 42612e18d2 pw/apply-too-large later to maint).
|
||||
|
||||
* During a cherry-pick or revert session that works on multiple
|
||||
commits, "git status" did not give correct information, which has
|
||||
been corrected.
|
||||
(merge a096a889f4 jk/cherry-pick-revert-status later to maint).
|
||||
|
||||
* A few places failed to differentiate the case where the index is
|
||||
truly empty (nothing added) and we haven't yet read from the
|
||||
on-disk index file, which have been corrected.
|
||||
(merge 2ee045eea1 js/empty-index-fixes later to maint).
|
||||
|
||||
* "git bugreport" tests did not test what it wanted to test, which
|
||||
has been corrected.
|
||||
(merge 1aa92b8500 ma/t0091-fixup later to maint).
|
||||
|
||||
* Code snippets in a tutorial document no longer compiled after
|
||||
recent header shuffling, which have been corrected.
|
||||
(merge bbd7c7b7c0 vd/adjust-mfow-doc-to-updated-headers later to maint).
|
||||
|
||||
* "git ls-files '(attr:X)D/'" that triggers the common prefix
|
||||
optimization codepath failed to read from "D/.gitattributes",
|
||||
which has been corrected.
|
||||
(merge f4a8fde057 jc/pathspec-match-with-common-prefix later to maint).
|
||||
|
||||
* "git fsck --no-progress" still spewed noise from the commit-graph
|
||||
subsystem, which has been corrected.
|
||||
(merge 9281cd07f0 tb/fsck-no-progress later to maint).
|
||||
|
||||
* Various offset computation in the code that accesses the packfiles
|
||||
and other data in the object layer has been hardened against
|
||||
arithmetic overflow, especially on 32-bit systems.
|
||||
(merge 9a25cad7e0 tb/object-access-overflow-protection later to maint).
|
||||
|
||||
* Names of MinGW header files are spelled in mixed case in some
|
||||
source files, but the build host can be using case sensitive
|
||||
filesystem with header files with their name spelled in all
|
||||
lowercase.
|
||||
(merge 4a53d0d0bc mh/mingw-case-sensitive-build later to maint).
|
||||
|
||||
* Update message mark-up for i18n in "git bundle".
|
||||
(merge bbb6acd998 dk/bundle-i18n-more later to maint).
|
||||
|
||||
* "git tag --list --points-at X" showed tags that directly refers to
|
||||
object X, but did not list a tag that points at such a tag, which
|
||||
has been corrected.
|
||||
|
||||
* "./configure --with-expat=no" did not work as a way to refuse use
|
||||
of the expat library on a system with the library installed, which
|
||||
has been corrected.
|
||||
(merge fb8f7269c2 ah/autoconf-fixes later to maint).
|
||||
|
||||
* When the user edits "rebase -i" todo file so that it starts with a
|
||||
"fixup", which would make it invalid, the command truncated the
|
||||
rest of the file before giving an error and returning the control
|
||||
back to the user. Stop truncating to make it easier to correct
|
||||
such a malformed todo file.
|
||||
(merge 9645a087c2 ah/sequencer-rewrite-todo-fix later to maint).
|
||||
|
||||
* Rewrite the description of giving a custom command to the
|
||||
submodule.<name>.update configuration variable.
|
||||
(merge 7cebc5bd78 pv/doc-submodule-update-settings later to maint).
|
||||
|
||||
* Other code cleanup, docfix, build fix, etc.
|
||||
(merge 51f9d2e563 sa/doc-ls-remote later to maint).
|
||||
(merge c6d26a9dda jk/format-patch-message-id-unleak later to maint).
|
||||
(merge f7e063f326 ps/fetch-cleanups later to maint).
|
||||
(merge e4cf013468 tl/quote-problematic-arg-for-clarity later to maint).
|
||||
(merge 20025fdfc7 tz/test-ssh-verifytime-fix later to maint).
|
||||
(merge e48a21df65 tz/test-fix-pthreads-prereq later to maint).
|
||||
(merge 68b51172e3 mh/commit-reach-get-reachable-plug-leak later to maint).
|
||||
(merge aeee1408ce kh/use-default-notes-doc later to maint).
|
||||
(merge 3b8724bce6 jc/test-modernization later to maint).
|
||||
(merge 447a3b7331 jc/test-modernization-2 later to maint).
|
||||
(merge d57fa7fc73 la/doc-interpret-trailers later to maint).
|
||||
(merge 548afb0d9a la/docs-typofixes later to maint).
|
||||
(merge 3744ffcbcd rs/doc-ls-tree-hex-literal later to maint).
|
||||
(merge 6c26da8404 mh/credential-erase-improvements later to maint).
|
||||
(merge 78e56cff69 tz/lib-gpg-prereq-fix later to maint).
|
||||
(merge 80d32e84b5 rj/leakfixes later to maint).
|
||||
(merge 0a868031ed pb/complete-diff-options later to maint).
|
||||
(merge d4f28279ad jc/doc-hash-object-types later to maint).
|
||||
(merge 1876a5ae15 ks/t4205-test-describe-with-abbrev-fix later to maint).
|
||||
(merge 6e6a529b57 jk/fsck-indices-in-worktrees later to maint).
|
||||
(merge 3e81b896f7 rs/packet-length-simplify later to maint).
|
||||
(merge 4c9cb51fe7 mh/doc-credential-helpers later to maint).
|
||||
(merge 3437f549dd jr/gitignore-doc-example-markup later to maint).
|
||||
(merge 947ebd62a0 jc/am-parseopt-fix later to maint).
|
||||
(merge e12cb98e1e jc/branch-parseopt-fix later to maint).
|
||||
(merge d6f598e443 jc/gitignore-doc-pattern-markup later to maint).
|
||||
(merge a2dad4868b jc/transport-parseopt-fix later to maint).
|
||||
(merge 68cbb20e73 jc/parse-options-show-branch later to maint).
|
||||
(merge 3821eb6c3d jc/parse-options-reset later to maint).
|
||||
(merge c48af99a3e bb/trace2-comment-fix later to maint).
|
||||
(merge c95ae3ff9c rs/describe-parseopt-fix later to maint).
|
||||
(merge 36f76d2a25 rs/pack-objects-parseopt-fix later to maint).
|
||||
(merge 30c8c55cbf jc/tree-walk-drop-base-offset later to maint).
|
@ -3,45 +3,101 @@ Submitting Patches
|
||||
|
||||
== Guidelines
|
||||
|
||||
Here are some guidelines for people who want to contribute their code to this
|
||||
software. There is also a link:MyFirstContribution.html[step-by-step tutorial]
|
||||
Here are some guidelines for contributing back to this
|
||||
project. There is also a link:MyFirstContribution.html[step-by-step tutorial]
|
||||
available which covers many of these same guidelines.
|
||||
|
||||
[[base-branch]]
|
||||
=== Decide what to base your work on.
|
||||
[[choose-starting-point]]
|
||||
=== Choose a starting point.
|
||||
|
||||
In general, always base your work on the oldest branch that your
|
||||
change is relevant to.
|
||||
As a preliminary step, you must first choose a starting point for your
|
||||
work. Typically this means choosing a branch, although technically
|
||||
speaking it is actually a particular commit (typically the HEAD, or tip,
|
||||
of the branch).
|
||||
|
||||
* A bugfix should be based on `maint` in general. If the bug is not
|
||||
present in `maint`, base it on `master`. For a bug that's not yet
|
||||
in `master`, find the topic that introduces the regression, and
|
||||
base your work on the tip of the topic.
|
||||
There are several important branches to be aware of. Namely, there are
|
||||
four integration branches as discussed in linkgit:gitworkflows[7]:
|
||||
|
||||
* A new feature should be based on `master` in general. If the new
|
||||
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..`.
|
||||
* maint
|
||||
* master
|
||||
* next
|
||||
* seen
|
||||
|
||||
* 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
|
||||
to `next`, it's alright to add a note to squash minor corrections
|
||||
into the series.
|
||||
The branches lower on the list are typically descendants of the ones
|
||||
that come before it. For example, `maint` is an "older" branch than
|
||||
`master` because `master` usually has patches (commits) on top of
|
||||
`maint`.
|
||||
|
||||
* 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 only for discussion. Once your new feature starts
|
||||
to stabilize, you would have to rebase it (see the "depends on other
|
||||
topics" above).
|
||||
There are also "topic" branches, which contain work from other
|
||||
contributors. Topic branches are created by the Git maintainer (in
|
||||
their fork) to organize the current set of incoming contributions on
|
||||
the mailing list, and are itemized in the regular "What's cooking in
|
||||
git.git" announcements. To find the tip of a topic branch, run `git log
|
||||
--first-parent master..seen` and look for the merge commit. The second
|
||||
parent of this commit is the tip of the topic branch.
|
||||
|
||||
* Some parts of the system have dedicated maintainers with their own
|
||||
repositories (see the section "Subsystems" below). Changes to
|
||||
these parts should be based on their trees.
|
||||
There is one guiding principle for choosing the right starting point: in
|
||||
general, always base your work on the oldest integration branch that
|
||||
your change is relevant to (see "Merge upwards" in
|
||||
linkgit:gitworkflows[7]). What this principle means is that for the
|
||||
vast majority of cases, the starting point for new work should be the
|
||||
latest HEAD commit of `maint` or `master` based on the following cases:
|
||||
|
||||
To find the tip of a topic branch, run `git log --first-parent
|
||||
master..seen` and look for the merge commit. The second parent of this
|
||||
commit is the tip of the topic branch.
|
||||
* If you are fixing bugs in the released version, use `maint` as the
|
||||
starting point (which may mean you have to fix things without using
|
||||
new API features on the cutting edge that recently appeared in
|
||||
`master` but were not available in the released version).
|
||||
|
||||
* Otherwise (such as if you are adding new features) use `master`.
|
||||
|
||||
|
||||
NOTE: In exceptional cases, a bug that was introduced in an old
|
||||
version may have to be fixed for users of releases that are much older
|
||||
than the recent releases. `git describe --contains X` may describe
|
||||
`X` as `v2.30.0-rc2-gXXXXXX` for the commit `X` that introduced the
|
||||
bug, and the bug may be so high-impact that we may need to issue a new
|
||||
maintenance release for Git 2.30.x series, when "Git 2.41.0" is the
|
||||
current release. In such a case, you may want to use the tip of the
|
||||
maintenance branch for the 2.30.x series, which may be available in the
|
||||
`maint-2.30` branch in https://github.com/gitster/git[the maintainer's
|
||||
"broken out" repo].
|
||||
|
||||
This also means that `next` or `seen` are inappropriate starting points
|
||||
for your work, if you want your work to have a realistic chance of
|
||||
graduating to `master`. They are simply not designed to be used as a
|
||||
base for new work; they are only there to make sure that topics in
|
||||
flight work well together. This is why both `next` and `seen` are
|
||||
frequently re-integrated with incoming patches on the mailing list and
|
||||
force-pushed to replace previous versions of themselves. A topic that is
|
||||
literally built on top of `next` cannot be merged to `master` without
|
||||
dragging in all the other topics in `next`, some of which may not be
|
||||
ready.
|
||||
|
||||
For example, if you are making tree-wide changes, while somebody else is
|
||||
also making their own tree-wide changes, your work may have severe
|
||||
overlap with the other person's work. This situation may tempt you to
|
||||
use `next` as your starting point (because it would have the other
|
||||
person's work included in it), but doing so would mean you'll not only
|
||||
depend on the other person's work, but all the other random things from
|
||||
other contributors that are already integrated into `next`. And as soon
|
||||
as `next` is updated with a new version, all of your work will need to
|
||||
be rebased anyway in order for them to be cleanly applied by the
|
||||
maintainer.
|
||||
|
||||
Under truly exceptional circumstances where you absolutely must depend
|
||||
on a select few topic branches that are already in `next` but not in
|
||||
`master`, you may want to create your own custom base-branch by forking
|
||||
`master` and merging the required topic branches to it. You could then
|
||||
work on top of this base-branch. But keep in mind that this base-branch
|
||||
would only be known privately to you. So when you are ready to send
|
||||
your patches to the list, be sure to communicate how you created it in
|
||||
your cover letter. This critical piece of information would allow
|
||||
others to recreate your base-branch on their end in order for them to
|
||||
try out your work.
|
||||
|
||||
Finally, note that some parts of the system have dedicated maintainers
|
||||
with their own separate source code repositories (see the section
|
||||
"Subsystems" below).
|
||||
|
||||
[[separate-commits]]
|
||||
=== Make separate commits for logically separate changes.
|
||||
@ -317,10 +373,13 @@ 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 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.
|
||||
sending out, please make sure it cleanly applies to the starting point you
|
||||
have chosen in the "Choose a starting point" section.
|
||||
|
||||
NOTE: From the perspective of those reviewing your patch, the `master`
|
||||
branch is the default expected starting point. So if you have chosen a
|
||||
different starting point, please communicate this choice in your cover
|
||||
letter.
|
||||
|
||||
|
||||
[[send-patches]]
|
||||
@ -543,7 +602,7 @@ trigger a new CI build to ensure all tests pass.
|
||||
[[mua]]
|
||||
== MUA specific hints
|
||||
|
||||
Some of patches I receive or pick up from the list share common
|
||||
Some of the patches I receive or pick up from the list share common
|
||||
patterns of breakage. Please make sure your MUA is set up
|
||||
properly not to corrupt whitespaces.
|
||||
|
||||
|
@ -51,25 +51,6 @@ ifdef::doctype-manpage[]
|
||||
endif::doctype-manpage[]
|
||||
endif::backend-docbook[]
|
||||
|
||||
ifdef::doctype-manpage[]
|
||||
ifdef::backend-docbook[]
|
||||
[header]
|
||||
template::[header-declarations]
|
||||
<refentry>
|
||||
<refmeta>
|
||||
<refentrytitle>{mantitle}</refentrytitle>
|
||||
<manvolnum>{manvolnum}</manvolnum>
|
||||
<refmiscinfo class="source">{mansource}</refmiscinfo>
|
||||
<refmiscinfo class="version">{manversion}</refmiscinfo>
|
||||
<refmiscinfo class="manual">{manmanual}</refmiscinfo>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>{manname}</refname>
|
||||
<refpurpose>{manpurpose}</refpurpose>
|
||||
</refnamediv>
|
||||
endif::backend-docbook[]
|
||||
endif::doctype-manpage[]
|
||||
|
||||
ifdef::backend-xhtml11[]
|
||||
[attributes]
|
||||
git-relative-html-prefix=
|
||||
|
@ -64,11 +64,9 @@ include::line-range-format.txt[]
|
||||
manual page.
|
||||
|
||||
--contents <file>::
|
||||
When <rev> is not specified, the command annotates the
|
||||
changes starting backwards from the working tree copy.
|
||||
This flag makes the command pretend as if the working
|
||||
tree copy has the contents of the named file (specify
|
||||
`-` to make the command read from the standard input).
|
||||
Annotate using the contents from the named file, starting from <rev>
|
||||
if it is specified, and HEAD otherwise. You may specify '-' to make
|
||||
the command read from the standard input for the file contents.
|
||||
|
||||
--date <format>::
|
||||
Specifies the format used to output dates. If --date is not
|
||||
|
@ -38,9 +38,10 @@ while ($changed) {
|
||||
}
|
||||
}
|
||||
|
||||
while (my ($text, $included) = each %include) {
|
||||
foreach my $text (sort keys %include) {
|
||||
my $included = $include{$text};
|
||||
if (! exists $included{$text} &&
|
||||
(my $base = $text) =~ s/\.txt$//) {
|
||||
print "$base.html $base.xml : ", join(" ", keys %$included), "\n";
|
||||
print "$base.html $base.xml : ", join(" ", sort keys %$included), "\n";
|
||||
}
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ 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
|
||||
As for the naming of this keyword, it is for forwards compatibility with
|
||||
a naming scheme that supports more variable-based include conditions,
|
||||
but currently Git only supports the exact keyword described above.
|
||||
|
||||
@ -387,6 +387,8 @@ include::config/branch.txt[]
|
||||
|
||||
include::config/browser.txt[]
|
||||
|
||||
include::config/bundle.txt[]
|
||||
|
||||
include::config/checkout.txt[]
|
||||
|
||||
include::config/clean.txt[]
|
||||
@ -423,6 +425,8 @@ include::config/filter.txt[]
|
||||
|
||||
include::config/fsck.txt[]
|
||||
|
||||
include::config/fsmonitor--daemon.txt[]
|
||||
|
||||
include::config/gc.txt[]
|
||||
|
||||
include::config/gitcvs.txt[]
|
||||
|
@ -7,6 +7,7 @@ add.ignore-errors (deprecated)::
|
||||
variables.
|
||||
|
||||
add.interactive.useBuiltin::
|
||||
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.
|
||||
Unused configuration variable. Used in Git versions v2.25.0 to
|
||||
v2.36.0 to enable the built-in version of linkgit:git-add[1]'s
|
||||
interactive mode, which then became the default in Git
|
||||
versions v2.37.0 to v2.39.0.
|
||||
|
@ -136,4 +136,10 @@ advice.*::
|
||||
Advice shown when either linkgit:git-add[1] or linkgit:git-rm[1]
|
||||
is asked to update index entries outside the current sparse
|
||||
checkout.
|
||||
diverging::
|
||||
Advice shown when a fast-forward is not possible.
|
||||
worktreeAddOrphan::
|
||||
Advice shown when a user tries to create a worktree from an
|
||||
invalid reference, to instruct how to create a new orphan
|
||||
branch instead.
|
||||
--
|
||||
|
31
Documentation/config/bundle.txt
Normal file
31
Documentation/config/bundle.txt
Normal file
@ -0,0 +1,31 @@
|
||||
bundle.*::
|
||||
The `bundle.*` keys may appear in a bundle list file found via the
|
||||
`git clone --bundle-uri` option. These keys currently have no effect
|
||||
if placed in a repository config file, though this will change in the
|
||||
future. See link:technical/bundle-uri.html[the bundle URI design
|
||||
document] for more details.
|
||||
|
||||
bundle.version::
|
||||
This integer value advertises the version of the bundle list format
|
||||
used by the bundle list. Currently, the only accepted value is `1`.
|
||||
|
||||
bundle.mode::
|
||||
This string value should be either `all` or `any`. This value describes
|
||||
whether all of the advertised bundles are required to unbundle a
|
||||
complete understanding of the bundled information (`all`) or if any one
|
||||
of the listed bundle URIs is sufficient (`any`).
|
||||
|
||||
bundle.heuristic::
|
||||
If this string-valued key exists, then the bundle list is designed to
|
||||
work well with incremental `git fetch` commands. The heuristic signals
|
||||
that there are additional keys available for each bundle that help
|
||||
determine which subset of bundles the client should download. The
|
||||
only value currently understood is `creationToken`.
|
||||
|
||||
bundle.<id>.*::
|
||||
The `bundle.<id>.*` keys are used to describe a single item in the
|
||||
bundle list, grouped under `<id>` for identification purposes.
|
||||
|
||||
bundle.<id>.uri::
|
||||
This string value defines the URI by which Git can reach the contents
|
||||
of this `<id>`. This URI may be a bundle file or another bundle list.
|
@ -618,7 +618,7 @@ but risks losing recent work in the event of an unclean system shutdown.
|
||||
* `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.
|
||||
* `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`.
|
||||
|
@ -34,3 +34,10 @@ See the `--trust-exit-code` option in linkgit:git-difftool[1] for more details.
|
||||
|
||||
difftool.prompt::
|
||||
Prompt before each invocation of the diff tool.
|
||||
|
||||
difftool.guiDefault::
|
||||
Set `true` to use the `diff.guitool` by default (equivalent to specifying
|
||||
the `--gui` argument), or `auto` to select `diff.guitool` or `diff.tool`
|
||||
depending on the presence of a `DISPLAY` environment variable value. The
|
||||
default is `false`, where the `--gui` argument must be provided
|
||||
explicitly for the `diff.guitool` to be used.
|
||||
|
@ -14,12 +14,20 @@ feature.experimental::
|
||||
+
|
||||
* `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by
|
||||
skipping more commits at a time, reducing the number of round trips.
|
||||
+
|
||||
* `pack.useBitmapBoundaryTraversal=true` may improve bitmap traversal times by
|
||||
walking fewer objects.
|
||||
|
||||
feature.manyFiles::
|
||||
Enable config options that optimize for repos with many files in the
|
||||
working directory. With many files, commands such as `git status` and
|
||||
`git checkout` may be slow and these new defaults improve performance:
|
||||
+
|
||||
* `index.skipHash=true` speeds up index writes by not computing a trailing
|
||||
checksum. Note that this will cause Git versions earlier than 2.13.0 to
|
||||
refuse to parse the index and Git versions earlier than 2.40.0 will report
|
||||
a corrupted index during `git fsck`.
|
||||
+
|
||||
* `index.version=4` enables path-prefix compression in the index.
|
||||
+
|
||||
* `core.untrackedCache=true` enables the untracked cache. This setting assumes
|
||||
|
@ -96,3 +96,27 @@ fetch.writeCommitGraph::
|
||||
merge and the write may take longer. Having an updated commit-graph
|
||||
file helps performance of many Git commands, including `git merge-base`,
|
||||
`git push -f`, and `git log --graph`. Defaults to false.
|
||||
|
||||
fetch.bundleURI::
|
||||
This value stores a URI for downloading Git object data from a bundle
|
||||
URI before performing an incremental fetch from the origin Git server.
|
||||
This is similar to how the `--bundle-uri` option behaves in
|
||||
linkgit:git-clone[1]. `git clone --bundle-uri` will set the
|
||||
`fetch.bundleURI` value if the supplied bundle URI contains a bundle
|
||||
list that is organized for incremental fetches.
|
||||
+
|
||||
If you modify this value and your repository has a `fetch.bundleCreationToken`
|
||||
value, then remove that `fetch.bundleCreationToken` value before fetching from
|
||||
the new bundle URI.
|
||||
|
||||
fetch.bundleCreationToken::
|
||||
When using `fetch.bundleURI` to fetch incrementally from a bundle
|
||||
list that uses the "creationToken" heuristic, this config value
|
||||
stores the maximum `creationToken` value of the downloaded bundles.
|
||||
This value is used to prevent downloading bundles in the future
|
||||
if the advertised `creationToken` is not strictly larger than this
|
||||
value.
|
||||
+
|
||||
The creation token values are chosen by the provider serving the specific
|
||||
bundle URI. If you modify the URI at `fetch.bundleURI`, then be sure to
|
||||
remove the value for the `fetch.bundleCreationToken` value before fetching.
|
||||
|
@ -3,7 +3,8 @@ format.attach::
|
||||
'format-patch'. The value can also be a double quoted string
|
||||
which will enable attachments as the default and set the
|
||||
value as the boundary. See the --attach option in
|
||||
linkgit:git-format-patch[1].
|
||||
linkgit:git-format-patch[1]. To countermand an earlier
|
||||
value, set it to an empty string.
|
||||
|
||||
format.from::
|
||||
Provides the default value for the `--from` option to format-patch.
|
||||
@ -139,3 +140,14 @@ For example,
|
||||
------------
|
||||
+
|
||||
will only show notes from `refs/notes/bar`.
|
||||
|
||||
format.mboxrd::
|
||||
A boolean value which enables the robust "mboxrd" format when
|
||||
`--stdout` is in use to escape "^>+From " lines.
|
||||
|
||||
format.noprefix::
|
||||
If set, do not show any source or destination prefix in patches.
|
||||
This is equivalent to the `diff.noprefix` option used by `git
|
||||
diff` (but which is not respected by `format-patch`). Note that
|
||||
by setting this, the receiver of any patches you generate will
|
||||
have to apply them using the `-p0` option.
|
||||
|
@ -35,6 +35,10 @@ allow new instances of the same breakages go unnoticed.
|
||||
Setting an unknown `fsck.<msg-id>` value will cause fsck to die, but
|
||||
doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>`
|
||||
will only cause git to warn.
|
||||
+
|
||||
See `Fsck Messages` section of linkgit:git-fsck[1] for supported
|
||||
values of `<msg-id>`.
|
||||
|
||||
|
||||
fsck.skipList::
|
||||
The path to a list of object names (i.e. one unabbreviated SHA-1 per
|
||||
|
11
Documentation/config/fsmonitor--daemon.txt
Normal file
11
Documentation/config/fsmonitor--daemon.txt
Normal file
@ -0,0 +1,11 @@
|
||||
fsmonitor.allowRemote::
|
||||
By default, the fsmonitor daemon refuses to work against network-mounted
|
||||
repositories. Setting `fsmonitor.allowRemote` to `true` overrides this
|
||||
behavior. Only respected when `core.fsmonitor` is set to `true`.
|
||||
|
||||
fsmonitor.socketDir::
|
||||
This Mac OS-specific option, if set, specifies the directory in
|
||||
which to create the Unix domain socket used for communication
|
||||
between the fsmonitor daemon and various Git commands. The directory must
|
||||
reside on a native Mac OS filesystem. Only respected when `core.fsmonitor`
|
||||
is set to `true`.
|
@ -43,11 +43,11 @@ gc.autoDetach::
|
||||
if the system supports it. Default is true.
|
||||
|
||||
gc.bigPackThreshold::
|
||||
If non-zero, all packs larger than this limit are kept when
|
||||
`git gc` is run. This is very similar to `--keep-largest-pack`
|
||||
except that all packs that meet the threshold are kept, not
|
||||
just the largest pack. Defaults to zero. Common unit suffixes of
|
||||
'k', 'm', or 'g' are supported.
|
||||
If non-zero, all non-cruft packs larger than this limit are kept
|
||||
when `git gc` is run. This is very similar to
|
||||
`--keep-largest-pack` except that all non-cruft packs that meet
|
||||
the threshold are kept, not just the largest pack. Defaults to
|
||||
zero. Common unit suffixes of 'k', 'm', or 'g' are supported.
|
||||
+
|
||||
Note that if the number of kept packs is more than gc.autoPackLimit,
|
||||
this configuration variable is ignored, all packs except the base pack
|
||||
@ -84,7 +84,7 @@ gc.packRefs::
|
||||
gc.cruftPacks::
|
||||
Store unreachable objects in a cruft pack (see
|
||||
linkgit:git-repack[1]) instead of as loose objects. The default
|
||||
is `false`.
|
||||
is `true`.
|
||||
|
||||
gc.pruneExpire::
|
||||
When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'
|
||||
@ -130,6 +130,21 @@ or rebase occurring. Since these changes are not part of the current
|
||||
project most users will want to expire them sooner, which is why the
|
||||
default is more aggressive than `gc.reflogExpire`.
|
||||
|
||||
gc.recentObjectsHook::
|
||||
When considering whether or not to remove an object (either when
|
||||
generating a cruft pack or storing unreachable objects as
|
||||
loose), use the shell to execute the specified command(s).
|
||||
Interpret their output as object IDs which Git will consider as
|
||||
"recent", regardless of their age. By treating their mtimes as
|
||||
"now", any objects (and their descendants) mentioned in the
|
||||
output will be kept regardless of their true age.
|
||||
+
|
||||
Output must contain exactly one hex object ID per line, and nothing
|
||||
else. Objects which cannot be found in the repository are ignored.
|
||||
Multiple hooks are supported, but all must exit successfully, else the
|
||||
operation (either generating a cruft pack or unpacking unreachable
|
||||
objects) will be halted.
|
||||
|
||||
gc.rerereResolved::
|
||||
Records of conflicted merge you resolved earlier are
|
||||
kept for this many days when 'git rerere gc' is run.
|
||||
|
@ -12,6 +12,9 @@ gpg.program::
|
||||
gpg.format::
|
||||
Specifies which key format to use when signing with `--gpg-sign`.
|
||||
Default is "openpgp". Other possible values are "x509", "ssh".
|
||||
+
|
||||
See linkgit:gitformat-signature[5] for the signature format, which differs
|
||||
based on the selected `gpg.format`.
|
||||
|
||||
gpg.<format>.program::
|
||||
Use this to customize the program used for the signing format you
|
||||
|
@ -246,8 +246,9 @@ significantly since the entire buffer is allocated even for small
|
||||
pushes.
|
||||
|
||||
http.lowSpeedLimit, http.lowSpeedTime::
|
||||
If the HTTP transfer speed is less than 'http.lowSpeedLimit'
|
||||
for longer than 'http.lowSpeedTime' seconds, the transfer is aborted.
|
||||
If the HTTP transfer speed, in bytes per second, is less than
|
||||
'http.lowSpeedLimit' for longer than 'http.lowSpeedTime' seconds,
|
||||
the transfer is aborted.
|
||||
Can be overridden by the `GIT_HTTP_LOW_SPEED_LIMIT` and
|
||||
`GIT_HTTP_LOW_SPEED_TIME` environment variables.
|
||||
|
||||
|
@ -30,3 +30,14 @@ index.version::
|
||||
Specify the version with which new index files should be
|
||||
initialized. This does not affect existing repositories.
|
||||
If `feature.manyFiles` is enabled, then the default is 4.
|
||||
|
||||
index.skipHash::
|
||||
When enabled, do not compute the trailing hash for the index file.
|
||||
This accelerates Git commands that manipulate the index, such as
|
||||
`git add`, `git commit`, or `git status`. Instead of storing the
|
||||
checksum, write a trailing set of bytes with value zero, indicating
|
||||
that the computation was skipped.
|
||||
+
|
||||
If you enable `index.skipHash`, then Git clients older than 2.13.0 will
|
||||
refuse to parse the index and Git clients older than 2.40.0 will report an
|
||||
error during `git fsck`.
|
||||
|
@ -85,3 +85,10 @@ mergetool.writeToTemp::
|
||||
|
||||
mergetool.prompt::
|
||||
Prompt before each invocation of the merge resolution program.
|
||||
|
||||
mergetool.guiDefault::
|
||||
Set `true` to use the `merge.guitool` by default (equivalent to
|
||||
specifying the `--gui` argument), or `auto` to select `merge.guitool`
|
||||
or `merge.tool` depending on the presence of a `DISPLAY` environment
|
||||
variable value. The default is `false`, where the `--gui` argument
|
||||
must be provided explicitly for the `merge.guitool` to be used.
|
||||
|
@ -123,6 +123,23 @@ pack.useBitmaps::
|
||||
true. You should not generally need to turn this off unless
|
||||
you are debugging pack bitmaps.
|
||||
|
||||
pack.useBitmapBoundaryTraversal::
|
||||
When true, Git will use an experimental algorithm for computing
|
||||
reachability queries with bitmaps. Instead of building up
|
||||
complete bitmaps for all of the negated tips and then OR-ing
|
||||
them together, consider negated tips with existing bitmaps as
|
||||
additive (i.e. OR-ing them into the result if they exist,
|
||||
ignoring them otherwise), and build up a bitmap at the boundary
|
||||
instead.
|
||||
+
|
||||
When using this algorithm, Git may include too many objects as a result
|
||||
of not opening up trees belonging to certain UNINTERESTING commits. This
|
||||
inexactness matches the non-bitmap traversal algorithm.
|
||||
+
|
||||
In many cases, this can provide a speed-up over the exact algorithm,
|
||||
particularly when there is poor bitmap coverage of the negated side of
|
||||
the query.
|
||||
|
||||
pack.useSparse::
|
||||
When true, git will default to using the '--sparse' option in
|
||||
'git pack-objects' when the '--revs' option is present. This
|
||||
@ -171,9 +188,15 @@ pack.writeBitmapLookupTable::
|
||||
beneficial in repositories that have relatively large bitmap
|
||||
indexes. Defaults to false.
|
||||
|
||||
pack.readReverseIndex::
|
||||
When true, git will read any .rev file(s) that may be available
|
||||
(see: linkgit:gitformat-pack[5]). When false, the reverse index
|
||||
will be generated from scratch and stored in memory. Defaults to
|
||||
true.
|
||||
|
||||
pack.writeReverseIndex::
|
||||
When true, git will write a corresponding .rev file (see:
|
||||
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.
|
||||
Defaults to true.
|
||||
|
@ -110,18 +110,8 @@ This will result in only b (a and c are cleared).
|
||||
----
|
||||
|
||||
push.recurseSubmodules::
|
||||
Make sure all submodule commits used by the revisions to be pushed
|
||||
are available on a remote-tracking branch. If the value is 'check'
|
||||
then Git will verify that all submodule commits that changed in the
|
||||
revisions to be pushed are available on at least one remote of the
|
||||
submodule. If any commits are missing, the push will be aborted and
|
||||
exit with non-zero status. If the value is 'on-demand' then all
|
||||
submodules that changed in the revisions to be pushed will be
|
||||
pushed. If on-demand was not able to push all necessary revisions
|
||||
it will also be aborted and exit with non-zero status. If the value
|
||||
is 'no' then default behavior of ignoring submodules when pushing
|
||||
is retained. You may override this configuration at time of push by
|
||||
specifying '--recurse-submodules=check|on-demand|no'.
|
||||
May be "check", "on-demand", "only", or "no", with the same behavior
|
||||
as that of "push --recurse-submodules".
|
||||
If not set, 'no' is used by default, unless 'submodule.recurse' is
|
||||
set (in which case a 'true' value means 'on-demand').
|
||||
|
||||
|
@ -67,3 +67,13 @@ rebase.rescheduleFailedExec::
|
||||
|
||||
rebase.forkPoint::
|
||||
If set to false set `--no-fork-point` option by default.
|
||||
|
||||
rebase.rebaseMerges::
|
||||
Whether and how to set the `--rebase-merges` option by default. Can
|
||||
be `rebase-cousins`, `no-rebase-cousins`, or a boolean. Setting to
|
||||
true or to `no-rebase-cousins` is equivalent to
|
||||
`--rebase-merges=no-rebase-cousins`, setting to `rebase-cousins` is
|
||||
equivalent to `--rebase-merges=rebase-cousins`, and setting to false is
|
||||
equivalent to `--no-rebase-merges`. Passing `--rebase-merges` on the
|
||||
command line, with or without an argument, overrides any
|
||||
`rebase.rebaseMerges` configuration.
|
||||
|
@ -61,6 +61,7 @@ sendemail.ccCmd::
|
||||
sendemail.chainReplyTo::
|
||||
sendemail.envelopeSender::
|
||||
sendemail.from::
|
||||
sendemail.headerCmd::
|
||||
sendemail.signedoffbycc::
|
||||
sendemail.smtpPass::
|
||||
sendemail.suppresscc::
|
||||
|
@ -115,3 +115,9 @@ transfer.unpackLimit::
|
||||
transfer.advertiseSID::
|
||||
Boolean. When true, client and server processes will advertise their
|
||||
unique session IDs to their remote counterpart. Defaults to false.
|
||||
|
||||
transfer.bundleURI::
|
||||
When `true`, local `git clone` commands will request bundle
|
||||
information from the remote server (if advertised) and download
|
||||
bundles before continuing the clone through the Git protocol.
|
||||
Defaults to `false`.
|
||||
|
@ -1,3 +1,4 @@
|
||||
[[generate_patch_text_with_p]]
|
||||
Generating patch text with -p
|
||||
-----------------------------
|
||||
|
||||
|
@ -22,15 +22,24 @@ ifndef::git-format-patch[]
|
||||
-p::
|
||||
-u::
|
||||
--patch::
|
||||
Generate patch (see section on generating patches).
|
||||
Generate patch (see section titled
|
||||
ifdef::git-log[]
|
||||
<<generate_patch_text_with_p, "Generating patch text with -p">>).
|
||||
endif::git-log[]
|
||||
ifndef::git-log[]
|
||||
"Generating patch text with -p").
|
||||
endif::git-log[]
|
||||
ifdef::git-diff[]
|
||||
This is the default.
|
||||
endif::git-diff[]
|
||||
|
||||
-s::
|
||||
--no-patch::
|
||||
Suppress diff output. Useful for commands like `git show` that
|
||||
show the patch by default, or to cancel the effect of `--patch`.
|
||||
Suppress all output from the diff machinery. Useful for
|
||||
commands like `git show` that show the patch by default to
|
||||
squelch their output, or to cancel the effect of options like
|
||||
`--patch`, `--stat` earlier on the command line in an alias.
|
||||
|
||||
endif::git-format-patch[]
|
||||
|
||||
ifdef::git-log[]
|
||||
@ -846,6 +855,11 @@ endif::git-format-patch[]
|
||||
--no-prefix::
|
||||
Do not show any source or destination prefix.
|
||||
|
||||
--default-prefix::
|
||||
Use the default source and destination prefixes ("a/" and "b/").
|
||||
This is usually the default already, but may be used to override
|
||||
config such as `diff.noprefix`.
|
||||
|
||||
--line-prefix=<prefix>::
|
||||
Prepend an additional prefix to every line of output.
|
||||
|
||||
|
@ -153,7 +153,7 @@ render_tree () {
|
||||
make -j$parallel -C "$tmp/worktree" \
|
||||
$makemanflags \
|
||||
GIT_VERSION=omitted \
|
||||
SOURCE_DATE_EPOCH=0 \
|
||||
GIT_DATE=1970-01-01 \
|
||||
DESTDIR="$tmp/installed/$dname+" \
|
||||
install-man &&
|
||||
mv "$tmp/installed/$dname+" "$tmp/installed/$dname"
|
||||
|
@ -78,6 +78,13 @@ linkgit:git-config[1].
|
||||
--dry-run::
|
||||
Show what would be done, without making any changes.
|
||||
|
||||
--porcelain::
|
||||
Print the output to standard output in an easy-to-parse format for
|
||||
scripts. See section OUTPUT in linkgit:git-fetch[1] for details.
|
||||
+
|
||||
This is incompatible with `--recurse-submodules=[yes|on-demand]` and takes
|
||||
precedence over the `fetch.output` config option.
|
||||
|
||||
ifndef::git-pull[]
|
||||
--[no-]write-fetch-head::
|
||||
Write the list of remote refs fetched in the `FETCH_HEAD`
|
||||
|
173
Documentation/fsck-msgids.txt
Normal file
173
Documentation/fsck-msgids.txt
Normal file
@ -0,0 +1,173 @@
|
||||
`badDate`::
|
||||
(ERROR) Invalid date format in an author/committer line.
|
||||
|
||||
`badDateOverflow`::
|
||||
(ERROR) Invalid date value in an author/committer line.
|
||||
|
||||
`badEmail`::
|
||||
(ERROR) Invalid email format in an author/committer line.
|
||||
|
||||
`badFilemode`::
|
||||
(INFO) A tree contains a bad filemode entry.
|
||||
|
||||
`badName`::
|
||||
(ERROR) An author/committer name is empty.
|
||||
|
||||
`badObjectSha1`::
|
||||
(ERROR) An object has a bad sha1.
|
||||
|
||||
`badParentSha1`::
|
||||
(ERROR) A commit object has a bad parent sha1.
|
||||
|
||||
`badTagName`::
|
||||
(INFO) A tag has an invalid format.
|
||||
|
||||
`badTimezone`::
|
||||
(ERROR) Found an invalid time zone in an author/committer line.
|
||||
|
||||
`badTree`::
|
||||
(ERROR) A tree cannot be parsed.
|
||||
|
||||
`badTreeSha1`::
|
||||
(ERROR) A tree has an invalid format.
|
||||
|
||||
`badType`::
|
||||
(ERROR) Found an invalid object type.
|
||||
|
||||
`duplicateEntries`::
|
||||
(ERROR) A tree contains duplicate file entries.
|
||||
|
||||
`emptyName`::
|
||||
(WARN) A path contains an empty name.
|
||||
|
||||
`extraHeaderEntry`::
|
||||
(IGNORE) Extra headers found after `tagger`.
|
||||
|
||||
`fullPathname`::
|
||||
(WARN) A path contains the full path starting with "/".
|
||||
|
||||
`gitattributesBlob`::
|
||||
(ERROR) A non-blob found at `.gitattributes`.
|
||||
|
||||
`gitattributesLarge`::
|
||||
(ERROR) The `.gitattributes` blob is too large.
|
||||
|
||||
`gitattributesLineLength`::
|
||||
(ERROR) The `.gitattributes` blob contains too long lines.
|
||||
|
||||
`gitattributesMissing`::
|
||||
(ERROR) Unable to read `.gitattributes` blob.
|
||||
|
||||
`gitattributesSymlink`::
|
||||
(INFO) `.gitattributes` is a symlink.
|
||||
|
||||
`gitignoreSymlink`::
|
||||
(INFO) `.gitignore` is a symlink.
|
||||
|
||||
`gitmodulesBlob`::
|
||||
(ERROR) A non-blob found at `.gitmodules`.
|
||||
|
||||
`gitmodulesLarge`::
|
||||
(ERROR) The `.gitmodules` file is too large to parse.
|
||||
|
||||
`gitmodulesMissing`::
|
||||
(ERROR) Unable to read `.gitmodules` blob.
|
||||
|
||||
`gitmodulesName`::
|
||||
(ERROR) A submodule name is invalid.
|
||||
|
||||
`gitmodulesParse`::
|
||||
(INFO) Could not parse `.gitmodules` blob.
|
||||
|
||||
`gitmodulesLarge`;
|
||||
(ERROR) `.gitmodules` blob is too large to parse.
|
||||
|
||||
`gitmodulesPath`::
|
||||
(ERROR) `.gitmodules` path is invalid.
|
||||
|
||||
`gitmodulesSymlink`::
|
||||
(ERROR) `.gitmodules` is a symlink.
|
||||
|
||||
`gitmodulesUpdate`::
|
||||
(ERROR) Found an invalid submodule update setting.
|
||||
|
||||
`gitmodulesUrl`::
|
||||
(ERROR) Found an invalid submodule url.
|
||||
|
||||
`hasDot`::
|
||||
(WARN) A tree contains an entry named `.`.
|
||||
|
||||
`hasDotdot`::
|
||||
(WARN) A tree contains an entry named `..`.
|
||||
|
||||
`hasDotgit`::
|
||||
(WARN) A tree contains an entry named `.git`.
|
||||
|
||||
`mailmapSymlink`::
|
||||
(INFO) `.mailmap` is a symlink.
|
||||
|
||||
`missingAuthor`::
|
||||
(ERROR) Author is missing.
|
||||
|
||||
`missingCommitter`::
|
||||
(ERROR) Committer is missing.
|
||||
|
||||
`missingEmail`::
|
||||
(ERROR) Email is missing in an author/committer line.
|
||||
|
||||
`missingNameBeforeEmail`::
|
||||
(ERROR) Missing name before an email in an author/committer line.
|
||||
|
||||
`missingObject`::
|
||||
(ERROR) Missing `object` line in tag object.
|
||||
|
||||
`missingSpaceBeforeDate`::
|
||||
(ERROR) Missing space before date in an author/committer line.
|
||||
|
||||
`missingSpaceBeforeEmail`::
|
||||
(ERROR) Missing space before the email in author/committer line.
|
||||
|
||||
`missingTag`::
|
||||
(ERROR) Unexpected end after `type` line in a tag object.
|
||||
|
||||
`missingTagEntry`::
|
||||
(ERROR) Missing `tag` line in a tag object.
|
||||
|
||||
`missingTaggerEntry`::
|
||||
(INFO) Missing `tagger` line in a tag object.
|
||||
|
||||
`missingTree`::
|
||||
(ERROR) Missing `tree` line in a commit object.
|
||||
|
||||
`missingType`::
|
||||
(ERROR) Invalid type value on the `type` line in a tag object.
|
||||
|
||||
`missingTypeEntry`::
|
||||
(ERROR) Missing `type` line in a tag object.
|
||||
|
||||
`multipleAuthors`::
|
||||
(ERROR) Multiple author lines found in a commit.
|
||||
|
||||
`nulInCommit`::
|
||||
(WARN) Found a NUL byte in the commit object body.
|
||||
|
||||
`nulInHeader`::
|
||||
(FATAL) NUL byte exists in the object header.
|
||||
|
||||
`nullSha1`::
|
||||
(WARN) Tree contains entries pointing to a null sha1.
|
||||
|
||||
`treeNotSorted`::
|
||||
(ERROR) A tree is not properly sorted.
|
||||
|
||||
`unknownType`::
|
||||
(ERROR) Found an unknown object type.
|
||||
|
||||
`unterminatedHeader`::
|
||||
(FATAL) Missing end-of-line in the object header.
|
||||
|
||||
`zeroPaddedDate`::
|
||||
(ERROR) Found a zero padded date in an author/commiter line.
|
||||
|
||||
`zeroPaddedFilemode`::
|
||||
(WARN) Found a zero padded filemode in a tree.
|
@ -274,7 +274,7 @@ status::
|
||||
------------
|
||||
staged unstaged path
|
||||
1: binary nothing foo.png
|
||||
2: +403/-35 +1/-1 git-add--interactive.perl
|
||||
2: +403/-35 +1/-1 add-interactive.c
|
||||
------------
|
||||
+
|
||||
It shows that foo.png has differences from HEAD (but that is
|
||||
@ -282,7 +282,7 @@ binary so line count cannot be shown) and there is no
|
||||
difference between indexed copy and the working tree
|
||||
version (if the working tree version were also different,
|
||||
'binary' would have been shown in place of 'nothing'). The
|
||||
other file, git-add{litdd}interactive.perl, has 403 lines added
|
||||
other file, add-interactive.c, has 403 lines added
|
||||
and 35 lines deleted if you commit what is in the index, but
|
||||
working tree file has further modifications (one addition and
|
||||
one deletion).
|
||||
@ -303,7 +303,7 @@ like this:
|
||||
------------
|
||||
staged unstaged path
|
||||
1: binary nothing foo.png
|
||||
* 2: +403/-35 +1/-1 git-add--interactive.perl
|
||||
* 2: +403/-35 +1/-1 add-interactive.c
|
||||
------------
|
||||
+
|
||||
To remove selection, prefix the input with `-`
|
||||
|
@ -9,7 +9,7 @@ git-am - Apply a series of patches from a mailbox
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
|
||||
'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] [--no-verify]
|
||||
[--[no-]3way] [--interactive] [--committer-date-is-author-date]
|
||||
[--ignore-date] [--ignore-space-change | --ignore-whitespace]
|
||||
[--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
|
||||
@ -24,7 +24,9 @@ DESCRIPTION
|
||||
-----------
|
||||
Splits mail messages in a mailbox into commit log message,
|
||||
authorship information and patches, and applies them to the
|
||||
current branch.
|
||||
current branch. You could think of it as a reverse operation
|
||||
of linkgit:git-format-patch[1] run on a branch with a straight
|
||||
history without merges.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -138,6 +140,12 @@ include::rerere-options.txt[]
|
||||
--interactive::
|
||||
Run interactively.
|
||||
|
||||
-n::
|
||||
--no-verify::
|
||||
By default, the pre-applypatch and applypatch-msg hooks are run.
|
||||
When any of `--no-verify` or `-n` is given, these are bypassed.
|
||||
See also linkgit:githooks[5].
|
||||
|
||||
--committer-date-is-author-date::
|
||||
By default the command records the date from the e-mail
|
||||
message as the commit author date, and uses the time of
|
||||
@ -267,7 +275,8 @@ include::config/am.txt[]
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-apply[1].
|
||||
linkgit:git-apply[1],
|
||||
linkgit:git-format-patch[1].
|
||||
|
||||
GIT
|
||||
---
|
||||
|
@ -8,7 +8,7 @@ git-annotate - Annotate file lines with commit information
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git annotate' [<options>] <file> [<revision>]
|
||||
'git annotate' [<options>] [<rev-opts>] [<rev>] [--] <file>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -208,7 +208,7 @@ behavior:
|
||||
* `warn` outputs warnings for a few such errors, but applies the
|
||||
patch as-is (default).
|
||||
* `fix` outputs warnings for a few such errors, and applies the
|
||||
patch after fixing them (`strip` is a synonym --- the tool
|
||||
patch after fixing them (`strip` is a synonym -- the tool
|
||||
used to consider only trailing whitespace characters as errors, and the
|
||||
fix involved 'stripping' them, but modern Gits do more).
|
||||
* `error` outputs warnings for a few such errors, and refuses
|
||||
|
@ -86,6 +86,11 @@ cases, write an untracked file and use `--add-file` instead.
|
||||
Look for attributes in .gitattributes files in the working tree
|
||||
as well (see <<ATTRIBUTES>>).
|
||||
|
||||
--mtime=<time>::
|
||||
Set modification time of archive entries. Without this option
|
||||
the committer time is used if `<tree-ish>` is a commit or tag,
|
||||
and the current time if it is a tree.
|
||||
|
||||
<extra>::
|
||||
This can be any options that the archiver backend understands.
|
||||
See next section.
|
||||
|
@ -1347,8 +1347,8 @@ author to given a talk and for publishing this paper.
|
||||
References
|
||||
----------
|
||||
|
||||
- [[[1]]] https://www.nist.gov/sites/default/files/documents/director/planning/report02-3.pdf['The Economic Impacts of Inadequate Infratructure for Software Testing'. Nist Planning Report 02-3], see Executive Summary and Chapter 8.
|
||||
- [[[2]]] http://www.oracle.com/technetwork/java/codeconvtoc-136057.html['Code Conventions for the Java Programming Language'. Sun Microsystems.]
|
||||
- [[[1]]] https://web.archive.org/web/20091206032101/http://www.nist.gov/public_affairs/releases/n02-10.htm['Software Errors Cost U.S. Economy $59.5 Billion Annually'. Nist News Release.] See also https://www.nist.gov/system/files/documents/director/planning/report02-3.pdf['The Economic Impacts of Inadequate Infratructure for Software Testing'. Nist Planning Report 02-3], Executive Summary and Chapter 8.
|
||||
- [[[2]]] https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html['Code Conventions for the Java Programming Language: 1. Introduction'. Sun Microsystems.]
|
||||
- [[[3]]] https://en.wikipedia.org/wiki/Software_maintenance['Software maintenance'. Wikipedia.]
|
||||
- [[[4]]] https://lore.kernel.org/git/7vps5xsbwp.fsf_-_@assigned-by-dhcp.cox.net/[Junio C Hamano. 'Automated bisect success story'.]
|
||||
- [[[5]]] https://lwn.net/Articles/317154/[Christian Couder. 'Fully automated bisecting with "git bisect run"'. LWN.net.]
|
||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||
[-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]
|
||||
[--ignore-rev <rev>] [--ignore-revs-file <file>]
|
||||
[--color-lines] [--color-by-age] [--progress] [--abbrev=<n>]
|
||||
[<rev> | --contents <file> | --reverse <rev>..<rev>] [--] <file>
|
||||
[ --contents <file> ] [<rev> | --reverse <rev>..<rev>] [--] <file>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -116,13 +116,17 @@ OPTIONS
|
||||
|
||||
-f::
|
||||
--force::
|
||||
Reset <branchname> to <startpoint>, even if <branchname> exists
|
||||
Reset <branchname> to <start-point>, even if <branchname> exists
|
||||
already. Without `-f`, 'git branch' refuses to change an existing branch.
|
||||
In combination with `-d` (or `--delete`), allow deleting the
|
||||
branch irrespective of its merged status, or whether it even
|
||||
points to a valid commit. In combination with
|
||||
`-m` (or `--move`), allow renaming the branch even if the new
|
||||
branch name already exists, the same applies for `-c` (or `--copy`).
|
||||
+
|
||||
Note that 'git branch -f <branchname> [<start-point>]', even with '-f',
|
||||
refuses to change an existing branch `<branchname>` that is checked out
|
||||
in another worktree linked to the same repository.
|
||||
|
||||
-m::
|
||||
--move::
|
||||
@ -152,6 +156,10 @@ OPTIONS
|
||||
--ignore-case::
|
||||
Sorting and filtering branches are case insensitive.
|
||||
|
||||
--omit-empty::
|
||||
Do not print a newline after formatted refs where the format expands
|
||||
to the empty string.
|
||||
|
||||
--column[=<options>]::
|
||||
--no-column::
|
||||
Display branch listing in columns. See configuration variable
|
||||
|
@ -9,7 +9,7 @@ git-bundle - Move objects and refs by archive
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied]
|
||||
'git bundle' create [-q | --quiet | --progress]
|
||||
[--version=<version>] <file> <git-rev-list-args>
|
||||
'git bundle' verify [-q | --quiet] <file>
|
||||
'git bundle' list-heads <file> [<refname>...]
|
||||
@ -66,7 +66,7 @@ create [options] <file> <git-rev-list-args>::
|
||||
Used to create a bundle named 'file'. This requires the
|
||||
'<git-rev-list-args>' arguments to define the bundle contents.
|
||||
'options' contains the options specific to the 'git bundle create'
|
||||
subcommand.
|
||||
subcommand. If 'file' is `-`, the bundle is written to stdout.
|
||||
|
||||
verify <file>::
|
||||
Used to check that a bundle file is valid and will apply
|
||||
@ -77,12 +77,13 @@ verify <file>::
|
||||
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.
|
||||
be nonzero if the bundle file is invalid. If 'file' is `-`, the
|
||||
bundle is read from stdin.
|
||||
|
||||
list-heads <file>::
|
||||
Lists the references defined in the bundle. If followed by a
|
||||
list of references, only references matching those given are
|
||||
printed out.
|
||||
printed out. If 'file' is `-`, the bundle is read from stdin.
|
||||
|
||||
unbundle <file>::
|
||||
Passes the objects in the bundle to 'git index-pack'
|
||||
@ -90,6 +91,7 @@ unbundle <file>::
|
||||
defined references. If a list of references is given, only
|
||||
references matching those in the list are printed. This command is
|
||||
really plumbing, intended to be called only by 'git fetch'.
|
||||
If 'file' is `-`, the bundle is read from stdin.
|
||||
|
||||
<git-rev-list-args>::
|
||||
A list of arguments, acceptable to 'git rev-parse' and
|
||||
@ -115,22 +117,6 @@ unbundle <file>::
|
||||
is specified. This flag forces progress status even if
|
||||
the standard error stream is not directed to a terminal.
|
||||
|
||||
--all-progress::
|
||||
When --stdout is specified then progress report is
|
||||
displayed during the object count and compression phases
|
||||
but inhibited during the write-out phase. The reason is
|
||||
that in some cases the output stream is directly linked
|
||||
to another command which may wish to display progress
|
||||
status of its own as it processes incoming pack data.
|
||||
This flag is like --progress except that it forces progress
|
||||
report for the write-out phase as well even if --stdout is
|
||||
used.
|
||||
|
||||
--all-progress-implied::
|
||||
This is used to imply --all-progress whenever progress display
|
||||
is activated. Unlike --all-progress this flag doesn't actually
|
||||
force any progress display by itself.
|
||||
|
||||
--version=<version>::
|
||||
Specify the bundle version. Version 2 is the older format and can only be
|
||||
used with SHA-1 repositories; the newer version 3 contains capabilities that
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
||||
'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]
|
||||
[--textconv | --filters] [-Z]
|
||||
'git cat-file' (--textconv | --filters)
|
||||
[<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]
|
||||
|
||||
@ -45,7 +45,9 @@ OPTIONS
|
||||
|
||||
-s::
|
||||
Instead of the content, show the object size identified by
|
||||
`<object>`.
|
||||
`<object>`. If used with `--use-mailmap` option, will show
|
||||
the size of updated object after replacing idents using the
|
||||
mailmap mechanism.
|
||||
|
||||
-e::
|
||||
Exit with zero status if `<object>` exists and is a valid
|
||||
@ -89,26 +91,54 @@ OPTIONS
|
||||
--batch::
|
||||
--batch=<format>::
|
||||
Print object information and contents for each object provided
|
||||
on stdin. May not be combined with any other options or arguments
|
||||
except `--textconv` or `--filters`, in which case the input lines
|
||||
also need to specify the path, separated by whitespace. See the
|
||||
section `BATCH OUTPUT` below for details.
|
||||
on stdin. May not be combined with any other options or arguments
|
||||
except `--textconv`, `--filters`, or `--use-mailmap`.
|
||||
+
|
||||
--
|
||||
* When used with `--textconv` or `--filters`, the input lines
|
||||
must specify the path, separated by whitespace. See the section
|
||||
`BATCH OUTPUT` below for details.
|
||||
|
||||
* When used with `--use-mailmap`, for commit and tag objects, the
|
||||
contents part of the output shows the identities replaced using the
|
||||
mailmap mechanism, while the information part of the output shows
|
||||
the size of the object as if it actually recorded the replacement
|
||||
identities.
|
||||
--
|
||||
|
||||
--batch-check::
|
||||
--batch-check=<format>::
|
||||
Print object information for each object provided on stdin. May
|
||||
not be combined with any other options or arguments except
|
||||
`--textconv` or `--filters`, in which case the input lines also
|
||||
need to specify the path, separated by whitespace. See the
|
||||
section `BATCH OUTPUT` below for details.
|
||||
Print object information for each object provided on stdin. May not be
|
||||
combined with any other options or arguments except `--textconv`, `--filters`
|
||||
or `--use-mailmap`.
|
||||
+
|
||||
--
|
||||
* When used with `--textconv` or `--filters`, the input lines must
|
||||
specify the path, separated by whitespace. See the section
|
||||
`BATCH OUTPUT` below for details.
|
||||
|
||||
* When used with `--use-mailmap`, for commit and tag objects, the
|
||||
printed object information shows the size of the object as if the
|
||||
identities recorded in it were replaced by the mailmap mechanism.
|
||||
--
|
||||
|
||||
--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.
|
||||
only be combined with `--buffer`, `--textconv`, `--use-mailmap` or
|
||||
`--filters`.
|
||||
+
|
||||
--
|
||||
* When used with `--textconv` or `--filters`, the input lines must
|
||||
specify the path, separated by whitespace. See the section
|
||||
`BATCH OUTPUT` below for details.
|
||||
|
||||
* When used with `--use-mailmap`, for commit and tag objects, the
|
||||
`contents` command shows the identities replaced using the
|
||||
mailmap mechanism, while the `info` command shows the size
|
||||
of the object as if it actually recorded the replacement
|
||||
identities.
|
||||
--
|
||||
+
|
||||
`--batch-command` recognizes the following commands:
|
||||
+
|
||||
@ -213,10 +243,16 @@ respectively print:
|
||||
/etc/passwd
|
||||
--
|
||||
|
||||
-Z::
|
||||
Only meaningful with `--batch`, `--batch-check`, or
|
||||
`--batch-command`; input and output is NUL-delimited instead of
|
||||
newline-delimited.
|
||||
|
||||
-z::
|
||||
Only meaningful with `--batch`, `--batch-check`, or
|
||||
`--batch-command`; input is NUL-delimited instead of
|
||||
newline-delimited.
|
||||
newline-delimited. This option is deprecated in favor of
|
||||
`-Z` as the output can otherwise be ambiguous.
|
||||
|
||||
|
||||
OUTPUT
|
||||
@ -354,6 +390,11 @@ notdir SP <size> LF
|
||||
is printed when, during symlink resolution, a file is used as a
|
||||
directory name.
|
||||
|
||||
Alternatively, when `-Z` is passed, the line feeds in any of the above examples
|
||||
are replaced with NUL terminators. This ensures that output will be parsable if
|
||||
the output itself would contain a linefeed and is thus recommended for
|
||||
scripting purposes.
|
||||
|
||||
CAVEATS
|
||||
-------
|
||||
|
||||
|
@ -9,8 +9,8 @@ git-check-attr - Display gitattributes information
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git check-attr' [-a | --all | <attr>...] [--] <pathname>...
|
||||
'git check-attr' --stdin [-z] [-a | --all | <attr>...]
|
||||
'git check-attr' [--source <tree-ish>] [-a | --all | <attr>...] [--] <pathname>...
|
||||
'git check-attr' --stdin [-z] [--source <tree-ish>] [-a | --all | <attr>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -36,6 +36,11 @@ OPTIONS
|
||||
If `--stdin` is also given, input paths are separated
|
||||
with a NUL character instead of a linefeed character.
|
||||
|
||||
--source=<tree-ish>::
|
||||
Check attributes against the specified tree-ish. It is common to
|
||||
specify the source tree by naming a commit, branch or tag associated
|
||||
with it.
|
||||
|
||||
\--::
|
||||
Interpret all preceding arguments as attributes and all following
|
||||
arguments as path names.
|
||||
|
@ -146,14 +146,16 @@ on your side branch as `theirs` (i.e. "one contributor's work on top
|
||||
of it").
|
||||
|
||||
-b <new-branch>::
|
||||
Create a new branch named `<new-branch>` and start it at
|
||||
`<start-point>`; see linkgit:git-branch[1] for details.
|
||||
Create a new branch named `<new-branch>`, start it at
|
||||
`<start-point>`, and check the resulting branch out;
|
||||
see linkgit:git-branch[1] for details.
|
||||
|
||||
-B <new-branch>::
|
||||
Creates the branch `<new-branch>` and start it at `<start-point>`;
|
||||
if it already exists, then reset it to `<start-point>`. This is
|
||||
equivalent to running "git branch" with "-f"; see
|
||||
linkgit:git-branch[1] for details.
|
||||
Creates the branch `<new-branch>`, start it at `<start-point>`;
|
||||
if it already exists, then reset it to `<start-point>`. And then
|
||||
check the resulting branch out. This is equivalent to running
|
||||
"git branch" with "-f" followed by "git checkout" of that branch;
|
||||
see linkgit:git-branch[1] for details.
|
||||
|
||||
-t::
|
||||
--track[=(direct|inherit)]::
|
||||
@ -477,18 +479,15 @@ before that happens. If we have not yet moved away from commit `f`,
|
||||
any of these will create a reference to it:
|
||||
|
||||
------------
|
||||
$ git checkout -b foo <1>
|
||||
$ git branch foo <2>
|
||||
$ git tag foo <3>
|
||||
$ git checkout -b foo # or "git switch -c foo" <1>
|
||||
$ git branch foo <2>
|
||||
$ git tag foo <3>
|
||||
------------
|
||||
|
||||
<1> creates a new branch `foo`, which refers to commit `f`, and then
|
||||
updates `HEAD` to refer to branch `foo`. In other words, we'll no longer
|
||||
be in detached `HEAD` state after this command.
|
||||
|
||||
<2> similarly creates a new branch `foo`, which refers to commit `f`,
|
||||
but leaves `HEAD` detached.
|
||||
|
||||
<3> creates a new tag `foo`, which refers to commit `f`,
|
||||
leaving `HEAD` detached.
|
||||
|
||||
@ -517,84 +516,89 @@ to checkout these paths out of the index.
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
. The following sequence checks out the `master` branch, reverts
|
||||
the `Makefile` to two revisions back, deletes `hello.c` by
|
||||
mistake, and gets it back from the index.
|
||||
+
|
||||
=== 1. Paths
|
||||
|
||||
The following sequence checks out the `master` branch, reverts
|
||||
the `Makefile` to two revisions back, deletes `hello.c` by
|
||||
mistake, and gets it back from the index.
|
||||
|
||||
------------
|
||||
$ git checkout master <1>
|
||||
$ git checkout master~2 Makefile <2>
|
||||
$ rm -f hello.c
|
||||
$ git checkout hello.c <3>
|
||||
------------
|
||||
+
|
||||
<1> switch branch
|
||||
<2> take a file out of another commit
|
||||
<3> restore `hello.c` from the index
|
||||
+
|
||||
|
||||
If you want to check out _all_ C source files out of the index,
|
||||
you can say
|
||||
+
|
||||
|
||||
------------
|
||||
$ git checkout -- '*.c'
|
||||
------------
|
||||
+
|
||||
|
||||
Note the quotes around `*.c`. The file `hello.c` will also be
|
||||
checked out, even though it is no longer in the working tree,
|
||||
because the file globbing is used to match entries in the index
|
||||
(not in the working tree by the shell).
|
||||
+
|
||||
|
||||
If you have an unfortunate branch that is named `hello.c`, this
|
||||
step would be confused as an instruction to switch to that branch.
|
||||
You should instead write:
|
||||
+
|
||||
|
||||
------------
|
||||
$ git checkout -- hello.c
|
||||
------------
|
||||
|
||||
. After working in the wrong branch, switching to the correct
|
||||
branch would be done using:
|
||||
+
|
||||
=== 2. Merge
|
||||
|
||||
After working in the wrong branch, switching to the correct
|
||||
branch would be done using:
|
||||
|
||||
------------
|
||||
$ git checkout mytopic
|
||||
------------
|
||||
+
|
||||
|
||||
However, your "wrong" branch and correct `mytopic` branch may
|
||||
differ in files that you have modified locally, in which case
|
||||
the above checkout would fail like this:
|
||||
+
|
||||
|
||||
------------
|
||||
$ git checkout mytopic
|
||||
error: You have local changes to 'frotz'; not switching branches.
|
||||
------------
|
||||
+
|
||||
|
||||
You can give the `-m` flag to the command, which would try a
|
||||
three-way merge:
|
||||
+
|
||||
|
||||
------------
|
||||
$ git checkout -m mytopic
|
||||
Auto-merging frotz
|
||||
------------
|
||||
+
|
||||
|
||||
After this three-way merge, the local modifications are _not_
|
||||
registered in your index file, so `git diff` would show you what
|
||||
changes you made since the tip of the new branch.
|
||||
|
||||
. When a merge conflict happens during switching branches with
|
||||
the `-m` option, you would see something like this:
|
||||
+
|
||||
=== 3. Merge conflict
|
||||
|
||||
When a merge conflict happens during switching branches with
|
||||
the `-m` option, you would see something like this:
|
||||
|
||||
------------
|
||||
$ git checkout -m mytopic
|
||||
Auto-merging frotz
|
||||
ERROR: Merge conflict in frotz
|
||||
fatal: merge program failed
|
||||
------------
|
||||
+
|
||||
|
||||
At this point, `git diff` shows the changes cleanly merged as in
|
||||
the previous example, as well as the changes in the conflicted
|
||||
files. Edit and resolve the conflict and mark it resolved with
|
||||
`git add` as usual:
|
||||
+
|
||||
|
||||
------------
|
||||
$ edit frotz
|
||||
$ git add frotz
|
||||
|
@ -219,7 +219,7 @@ again, this time exercising more care about matching up context lines.
|
||||
------------
|
||||
$ git cherry-pick topic^ <1>
|
||||
$ git diff <2>
|
||||
$ git reset --merge ORIG_HEAD <3>
|
||||
$ git cherry-pick --abort <3>
|
||||
$ git cherry-pick -Xpatience topic^ <4>
|
||||
------------
|
||||
<1> apply the change that would be shown by `git show topic^`.
|
||||
|
@ -8,7 +8,7 @@ git-clean - Remove untracked files from the working tree
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...
|
||||
'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -20,16 +20,16 @@ Normally, only files unknown to Git are removed, but if the `-x`
|
||||
option is specified, ignored files are also removed. This can, for
|
||||
example, be useful to remove all build products.
|
||||
|
||||
If any optional `<path>...` arguments are given, only those paths
|
||||
are affected.
|
||||
If any optional `<pathspec>...` arguments are given, only those paths
|
||||
that match the pathspec are affected.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-d::
|
||||
Normally, when no <path> is specified, git clean will not
|
||||
Normally, when no <pathspec> is specified, git clean will not
|
||||
recurse into untracked directories to avoid removing too much.
|
||||
Specify -d to have it recurse into such directories as well.
|
||||
If any paths are specified, -d is irrelevant; all untracked
|
||||
If a <pathspec> is specified, -d is irrelevant; all untracked
|
||||
files matching the specified paths (with exceptions for nested
|
||||
git directories mentioned under `--force`) will be removed.
|
||||
|
||||
|
@ -58,6 +58,11 @@ never use the local optimizations). Specifying `--no-local` will
|
||||
override the default when `/path/to/repo` is given, using the regular
|
||||
Git transport instead.
|
||||
+
|
||||
If the repository's `$GIT_DIR/objects` has symbolic links or is a
|
||||
symbolic link, the clone will fail. This is a security measure to
|
||||
prevent the unintentional copying of files by dereferencing the symbolic
|
||||
links.
|
||||
+
|
||||
*NOTE*: this operation can race with concurrent modification to the
|
||||
source repository, similar to running `cp -r src dst` while modifying
|
||||
`src`.
|
||||
|
@ -10,7 +10,10 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git commit-graph verify' [--object-dir <dir>] [--shallow] [--[no-]progress]
|
||||
'git commit-graph write' <options> [--object-dir <dir>] [--[no-]progress]
|
||||
'git commit-graph write' [--object-dir <dir>] [--append]
|
||||
[--split[=<strategy>]] [--reachable | --stdin-packs | --stdin-commits]
|
||||
[--changed-paths] [--[no-]max-new-filters <n>] [--[no-]progress]
|
||||
<split options>
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
|
@ -8,7 +8,7 @@ git-credential-cache--daemon - Temporarily store user credentials in memory
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git credential-cache{litdd}daemon' [--debug] <socket>
|
||||
'git credential-cache{litdd}daemon' [--debug] <socket-path>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -16,7 +16,7 @@ DESCRIPTION
|
||||
NOTE: You probably don't want to invoke this command yourself; it is
|
||||
started automatically when you use linkgit:git-credential-cache[1].
|
||||
|
||||
This command listens on the Unix domain socket specified by `<socket>`
|
||||
This command listens on the Unix domain socket specified by `<socket-path>`
|
||||
for `git-credential-cache` clients. Clients may store and retrieve
|
||||
credentials. Each credential is held for a timeout specified by the
|
||||
client; once no credentials are held, the daemon exits.
|
||||
|
@ -14,10 +14,13 @@ git config credential.helper 'cache [<options>]'
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This command caches credentials in memory for use by future Git
|
||||
programs. The stored credentials never touch the disk, and are forgotten
|
||||
after a configurable timeout. The cache is accessible over a Unix
|
||||
domain socket, restricted to the current user by filesystem permissions.
|
||||
This command caches credentials for use by future Git programs.
|
||||
The stored credentials are kept in memory of the cache-daemon
|
||||
process (instead of written to a file) and are forgotten after a
|
||||
configurable timeout. Credentials are forgotten sooner if the
|
||||
cache-daemon dies, for example if the system restarts. The cache
|
||||
is accessible over a Unix domain socket, restricted to the current
|
||||
user by filesystem permissions.
|
||||
|
||||
You probably don't want to invoke this command directly; it is meant to
|
||||
be used as a credential helper by other parts of Git. See
|
||||
@ -69,10 +72,10 @@ $ git push http://example.com/repo.git
|
||||
------------------------------------
|
||||
|
||||
You can provide options via the credential.helper configuration
|
||||
variable (this example drops the cache time to 5 minutes):
|
||||
variable (this example increases the cache time to 1 hour):
|
||||
|
||||
-------------------------------------------------------
|
||||
$ git config credential.helper 'cache --timeout=300'
|
||||
$ git config credential.helper 'cache --timeout=3600'
|
||||
-------------------------------------------------------
|
||||
|
||||
GIT
|
||||
|
@ -39,7 +39,7 @@ for later use.
|
||||
|
||||
If the action is `reject`, git-credential will send the description to
|
||||
any configured credential helpers, which may erase any stored
|
||||
credential matching the description.
|
||||
credentials matching the description.
|
||||
|
||||
If the action is `approve` or `reject`, no output should be emitted.
|
||||
|
||||
@ -113,7 +113,13 @@ separated by an `=` (equals) sign, followed by a newline.
|
||||
The key may contain any bytes except `=`, newline, or NUL. The value may
|
||||
contain any bytes except newline or NUL.
|
||||
|
||||
In both cases, all bytes are treated as-is (i.e., there is no quoting,
|
||||
Attributes with keys that end with C-style array brackets `[]` can have
|
||||
multiple values. Each instance of a multi-valued attribute forms an
|
||||
ordered list of values - the order of the repeated attributes defines
|
||||
the order of the values. An empty multi-valued attribute (`key[]=\n`)
|
||||
acts to clear any previous entries and reset the list.
|
||||
|
||||
In all cases, all bytes are treated as-is (i.e., there is no quoting,
|
||||
and one cannot transmit a value with newline or NUL in it). The list of
|
||||
attributes is terminated by a blank line or end-of-file.
|
||||
|
||||
@ -144,6 +150,18 @@ Git understands the following attributes:
|
||||
|
||||
The credential's password, if we are asking it to be stored.
|
||||
|
||||
`password_expiry_utc`::
|
||||
|
||||
Generated passwords such as an OAuth access token may have an expiry date.
|
||||
When reading credentials from helpers, `git credential fill` ignores expired
|
||||
passwords. Represented as Unix time UTC, seconds since 1970.
|
||||
|
||||
`oauth_refresh_token`::
|
||||
|
||||
An OAuth refresh token may accompany a password that is an OAuth access
|
||||
token. Helpers must treat this attribute as confidential like the password
|
||||
attribute. Git itself has no special behaviour for this attribute.
|
||||
|
||||
`url`::
|
||||
|
||||
When this special attribute is read by `git credential`, the
|
||||
@ -160,6 +178,19 @@ empty string.
|
||||
Components which are missing from the URL (e.g., there is no
|
||||
username in the example above) will be left unset.
|
||||
|
||||
`wwwauth[]`::
|
||||
|
||||
When an HTTP response is received by Git that includes one or more
|
||||
'WWW-Authenticate' authentication headers, these will be passed by Git
|
||||
to credential helpers.
|
||||
+
|
||||
Each 'WWW-Authenticate' header value is passed as a multi-valued
|
||||
attribute 'wwwauth[]', where the order of the attributes is the same as
|
||||
they appear in the HTTP response. This attribute is 'one-way' from Git
|
||||
to pass additional information to credential helpers.
|
||||
|
||||
Unrecognised attributes are silently discarded.
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -118,7 +118,7 @@ for example:
|
||||
myuser:$5$.NqmNH1vwfzGpV8B$znZIcumu1tNLATgV2l6e1/mY8RzhUDHMOaVOeL1cxV3
|
||||
------
|
||||
You can use the 'htpasswd' facility that comes with Apache to make these
|
||||
files, but only with the -d option (or -B if your system suports it).
|
||||
files, but only with the -d option (or -B if your system supports it).
|
||||
|
||||
Preferably use the system specific utility that manages password hash
|
||||
creation in your platform (e.g. mkpasswd in Linux, encrypt in OpenBSD or
|
||||
|
@ -140,7 +140,7 @@ at the end.
|
||||
|
||||
The number of additional commits is the number
|
||||
of commits which would be displayed by "git log v1.0.4..parent".
|
||||
The hash suffix is "-g" + an unambigous abbreviation for the tip commit
|
||||
The hash suffix is "-g" + an unambiguous abbreviation for the tip commit
|
||||
of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`). The
|
||||
length of the abbreviation scales as the repository grows, using the
|
||||
approximate number of objects in the repository and a bit of math
|
||||
@ -203,7 +203,7 @@ BUGS
|
||||
|
||||
Tree objects as well as tag objects not pointing at commits, cannot be described.
|
||||
When describing blobs, the lightweight tags pointing at blobs are ignored,
|
||||
but the blob is still described as <committ-ish>:<path> despite the lightweight
|
||||
but the blob is still described as <commit-ish>:<path> despite the lightweight
|
||||
tag being favorable.
|
||||
|
||||
GIT
|
||||
|
@ -9,7 +9,7 @@ git-diff-files - Compares files in the working tree and the index
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common-diff-options>] [<path>...]
|
||||
'git diff-files' [-q] [-0 | -1 | -2 | -3 | -c | --cc] [<common-diff-options>] [<path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -79,10 +79,10 @@ If --merge-base is given, use the merge base of the two commits for the
|
||||
|
||||
This form is to view the results of a merge commit. The first
|
||||
listed <commit> must be the merge itself; the remaining two or
|
||||
more commits should be its parents. A convenient way to produce
|
||||
the desired set of revisions is to use the `^@` suffix.
|
||||
For instance, if `master` names a merge commit, `git diff master
|
||||
master^@` gives the same combined diff as `git show master`.
|
||||
more commits should be its parents. Convenient ways to produce
|
||||
the desired set of revisions are to use the suffixes `^@` and
|
||||
`^!`. If A is a merge commit, then `git diff A A^@`,
|
||||
`git diff A^!` and `git show A` all give the same combined diff.
|
||||
|
||||
'git diff' [<options>] <commit>..<commit> [--] [<path>...]::
|
||||
|
||||
@ -102,7 +102,11 @@ If --merge-base is given, use the merge base of the two commits for the
|
||||
Just in case you are doing something exotic, it should be
|
||||
noted that all of the <commit> in the above description, except
|
||||
in the `--merge-base` case and in the last two forms that use `..`
|
||||
notations, can be any <tree>.
|
||||
notations, can be any <tree>. A tree of interest is the one pointed to
|
||||
by the special ref `AUTO_MERGE`, which is written by the 'ort' merge
|
||||
strategy upon hitting merge conflicts (see linkgit:git-merge[1]).
|
||||
Comparing the working tree with `AUTO_MERGE` shows changes you've made
|
||||
so far to resolve textual conflicts (see the examples below).
|
||||
|
||||
For a more complete list of ways to spell <commit>, see
|
||||
"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
|
||||
@ -152,6 +156,7 @@ Various ways to check your working tree::
|
||||
$ git diff <1>
|
||||
$ git diff --cached <2>
|
||||
$ git diff HEAD <3>
|
||||
$ git diff AUTO_MERGE <4>
|
||||
------------
|
||||
+
|
||||
<1> Changes in the working tree not yet staged for the next commit.
|
||||
@ -159,6 +164,8 @@ $ git diff HEAD <3>
|
||||
would be committing if you run `git commit` without `-a` option.
|
||||
<3> Changes in the working tree since your last commit; what you
|
||||
would be committing if you run `git commit -a`
|
||||
<4> Changes in the working tree you've made to resolve textual
|
||||
conflicts so far.
|
||||
|
||||
Comparing with arbitrary commits::
|
||||
+
|
||||
|
@ -97,10 +97,12 @@ instead. `--no-symlinks` is the default on Windows.
|
||||
--[no-]gui::
|
||||
When 'git-difftool' is invoked with the `-g` or `--gui` option
|
||||
the default diff tool will be read from the configured
|
||||
`diff.guitool` variable instead of `diff.tool`. The `--no-gui`
|
||||
option can be used to override this setting. If `diff.guitool`
|
||||
is not set, we will fallback in the order of `merge.guitool`,
|
||||
`diff.tool`, `merge.tool` until a tool is found.
|
||||
`diff.guitool` variable instead of `diff.tool`. This may be
|
||||
selected automatically using the configuration variable
|
||||
`difftool.guiDefault`. The `--no-gui` option can be used to
|
||||
override these settings. If `diff.guitool` is not set, we will
|
||||
fallback in the order of `merge.guitool`, `diff.tool`,
|
||||
`merge.tool` until a tool is found.
|
||||
|
||||
--[no-]trust-exit-code::
|
||||
'git-difftool' invokes a diff tool individually on each file.
|
||||
|
@ -9,7 +9,7 @@ git-fast-export - Git data exporter
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git fast-export [<options>]' | 'git fast-import'
|
||||
'git fast-export' [<options>] | 'git fast-import'
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -204,6 +204,15 @@ representing the status of a single ref. Each line is of the form:
|
||||
<flag> <summary> <from> -> <to> [<reason>]
|
||||
-------------------------------
|
||||
|
||||
When using `--porcelain`, the output format is intended to be
|
||||
machine-parseable. In contrast to the human-readable output formats it
|
||||
thus prints to standard output instead of standard error. Each line is
|
||||
of the form:
|
||||
|
||||
-------------------------------
|
||||
<flag> <old-object-id> <new-object-id> <local-reference>
|
||||
-------------------------------
|
||||
|
||||
The status of up-to-date refs is shown only if the --verbose option is
|
||||
used.
|
||||
|
||||
@ -251,10 +260,10 @@ EXAMPLES
|
||||
$ git fetch origin
|
||||
------------------------------------------------
|
||||
+
|
||||
The above command copies all branches from the remote refs/heads/
|
||||
namespace and stores them to the local refs/remotes/origin/ namespace,
|
||||
unless the branch.<name>.fetch option is used to specify a non-default
|
||||
refspec.
|
||||
The above command copies all branches from the remote `refs/heads/`
|
||||
namespace and stores them to the local `refs/remotes/origin/` namespace,
|
||||
unless the `remote.<repository>.fetch` option is used to specify a
|
||||
non-default refspec.
|
||||
|
||||
* Using refspecs explicitly:
|
||||
+
|
||||
|
@ -9,10 +9,12 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
|
||||
[(--sort=<key>)...] [--format=<format>] [<pattern>...]
|
||||
[(--sort=<key>)...] [--format=<format>]
|
||||
[ --stdin | <pattern>... ]
|
||||
[--points-at=<object>]
|
||||
[--merged[=<object>]] [--no-merged[=<object>]]
|
||||
[--contains[=<object>]] [--no-contains[=<object>]]
|
||||
[--exclude=<pattern> ...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -32,6 +34,10 @@ OPTIONS
|
||||
literally, in the latter case matching completely or from the
|
||||
beginning up to a slash.
|
||||
|
||||
--stdin::
|
||||
If `--stdin` is supplied, then the list of patterns is read from
|
||||
standard input instead of from the argument list.
|
||||
|
||||
--count=<count>::
|
||||
By default the command shows all refs that match
|
||||
`<pattern>`. This option makes it stop after showing
|
||||
@ -93,6 +99,15 @@ OPTIONS
|
||||
--ignore-case::
|
||||
Sorting and filtering refs are case insensitive.
|
||||
|
||||
--omit-empty::
|
||||
Do not print a newline after formatted refs where the format expands
|
||||
to the empty string.
|
||||
|
||||
--exclude=<pattern>::
|
||||
If one or more patterns are given, only refs which do not match
|
||||
any excluded pattern(s) are shown. Matching is done using the
|
||||
same rules as `<pattern>` above.
|
||||
|
||||
FIELD NAMES
|
||||
-----------
|
||||
|
||||
@ -212,11 +227,66 @@ symref::
|
||||
`:lstrip` and `:rstrip` options in the same way as `refname`
|
||||
above.
|
||||
|
||||
signature::
|
||||
The GPG signature of a commit.
|
||||
|
||||
signature:grade::
|
||||
Show "G" for a good (valid) signature, "B" for a bad
|
||||
signature, "U" for a good signature with unknown validity, "X"
|
||||
for a good signature that has expired, "Y" for a good
|
||||
signature made by an expired key, "R" for a good signature
|
||||
made by a revoked key, "E" if the signature cannot be
|
||||
checked (e.g. missing key) and "N" for no signature.
|
||||
|
||||
signature:signer::
|
||||
The signer of the GPG signature of a commit.
|
||||
|
||||
signature:key::
|
||||
The key of the GPG signature of a commit.
|
||||
|
||||
signature:fingerprint::
|
||||
The fingerprint of the GPG signature of a commit.
|
||||
|
||||
signature:primarykeyfingerprint::
|
||||
The primary key fingerprint of the GPG signature of a commit.
|
||||
|
||||
signature:trustlevel::
|
||||
The trust level of the GPG signature of a commit. Possible
|
||||
outputs are `ultimate`, `fully`, `marginal`, `never` and `undefined`.
|
||||
|
||||
worktreepath::
|
||||
The absolute path to the worktree in which the ref is checked
|
||||
out, if it is checked out in any linked worktree. Empty string
|
||||
otherwise.
|
||||
|
||||
ahead-behind:<committish>::
|
||||
Two integers, separated by a space, demonstrating the number of
|
||||
commits ahead and behind, respectively, when comparing the output
|
||||
ref to the `<committish>` specified in the format.
|
||||
|
||||
describe[:options]::
|
||||
A human-readable name, like linkgit:git-describe[1];
|
||||
empty string for undescribable commits. The `describe` string may
|
||||
be followed by a colon and one or more comma-separated options.
|
||||
+
|
||||
--
|
||||
tags=<bool-value>;;
|
||||
Instead of only considering annotated tags, consider
|
||||
lightweight tags as well; see the corresponding option in
|
||||
linkgit:git-describe[1] for details.
|
||||
abbrev=<number>;;
|
||||
Use at least <number> hexadecimal digits; see the corresponding
|
||||
option in linkgit:git-describe[1] for details.
|
||||
match=<pattern>;;
|
||||
Only consider tags matching the given `glob(7)` pattern,
|
||||
excluding the "refs/tags/" prefix; see the corresponding option
|
||||
in linkgit:git-describe[1] for details.
|
||||
exclude=<pattern>;;
|
||||
Do not consider tags matching the given `glob(7)` pattern,
|
||||
excluding the "refs/tags/" prefix; see the corresponding option
|
||||
in linkgit:git-describe[1] for details.
|
||||
--
|
||||
|
||||
In addition to the above, for commit and tag objects, the header
|
||||
field names (`tree`, `parent`, `object`, `type`, and `tag`) can
|
||||
be used to specify the value in the header field.
|
||||
|
@ -99,7 +99,7 @@ To omit patch numbers from the subject, use `-N`.
|
||||
|
||||
If given `--thread`, `git-format-patch` will generate `In-Reply-To` and
|
||||
`References` headers to make the second and subsequent patch mails appear
|
||||
as replies to the first mail; this also generates a `Message-Id` header to
|
||||
as replies to the first mail; this also generates a `Message-ID` header to
|
||||
reference.
|
||||
|
||||
OPTIONS
|
||||
@ -163,7 +163,7 @@ include::diff-options.txt[]
|
||||
--no-thread::
|
||||
Controls addition of `In-Reply-To` and `References` headers to
|
||||
make the second and subsequent mails appear as replies to the
|
||||
first. Also controls generation of the `Message-Id` header to
|
||||
first. Also controls generation of the `Message-ID` header to
|
||||
reference.
|
||||
+
|
||||
The optional <style> argument can be either `shallow` or `deep`.
|
||||
@ -173,8 +173,7 @@ series, where the head is chosen from the cover letter, the
|
||||
threading makes every mail a reply to the previous one.
|
||||
+
|
||||
The default is `--no-thread`, unless the `format.thread` configuration
|
||||
is set. If `--thread` is specified without a style, it defaults to the
|
||||
style specified by `format.thread` if any, or else `shallow`.
|
||||
is set. `--thread` without an argument is equivalent to `--thread=shallow`.
|
||||
+
|
||||
Beware that the default for 'git send-email' is to thread emails
|
||||
itself. If you want `git format-patch` to take care of threading, you
|
||||
@ -246,7 +245,7 @@ populated with placeholder text.
|
||||
or "--reroll-count=4rev2" are allowed), but the downside of
|
||||
using such a reroll-count is that the range-diff/interdiff
|
||||
with the previous version does not state exactly which
|
||||
version the new interation is compared against.
|
||||
version the new iteration is compared against.
|
||||
|
||||
--to=<email>::
|
||||
Add a `To:` header to the email headers. This is in addition
|
||||
|
@ -152,6 +152,18 @@ hash mismatch <object>::
|
||||
object database value.
|
||||
This indicates a serious data integrity problem.
|
||||
|
||||
|
||||
FSCK MESSAGES
|
||||
-------------
|
||||
|
||||
The following lists the types of errors `git fsck` detects and what
|
||||
each error means, with their default severity. The severity of the
|
||||
error, other than those that are marked as "(FATAL)", can be tweaked
|
||||
by setting the corresponding `fsck.<msg-id>` configuration variable.
|
||||
|
||||
include::fsck-msgids.txt[]
|
||||
|
||||
|
||||
Environment Variables
|
||||
---------------------
|
||||
|
||||
|
@ -3,7 +3,7 @@ git-fsmonitor{litdd}daemon(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-fsmonitor--daemon - A Built-in File System Monitor
|
||||
git-fsmonitor--daemon - A Built-in Filesystem Monitor
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
@ -17,7 +17,7 @@ DESCRIPTION
|
||||
-----------
|
||||
|
||||
A daemon to watch the working directory for file and directory
|
||||
changes using platform-specific file system notification facilities.
|
||||
changes using platform-specific filesystem notification facilities.
|
||||
|
||||
This daemon communicates directly with commands like `git status`
|
||||
using the link:technical/api-simple-ipc.html[simple IPC] interface
|
||||
@ -63,13 +63,44 @@ CAVEATS
|
||||
-------
|
||||
|
||||
The fsmonitor daemon does not currently know about submodules and does
|
||||
not know to filter out file system events that happen within a
|
||||
not know to filter out filesystem events that happen within a
|
||||
submodule. If fsmonitor daemon is watching a super repo and a file is
|
||||
modified within the working directory of a submodule, it will report
|
||||
the change (as happening against the super repo). However, the client
|
||||
will properly ignore these extra events, so performance may be affected
|
||||
but it will not cause an incorrect result.
|
||||
|
||||
By default, the fsmonitor daemon refuses to work against network-mounted
|
||||
repositories; this may be overridden by setting `fsmonitor.allowRemote` to
|
||||
`true`. Note, however, that the fsmonitor daemon is not guaranteed to work
|
||||
correctly with all network-mounted repositories and such use is considered
|
||||
experimental.
|
||||
|
||||
On Mac OS, the inter-process communication (IPC) between various Git
|
||||
commands and the fsmonitor daemon is done via a Unix domain socket (UDS) -- a
|
||||
special type of file -- which is supported by native Mac OS filesystems,
|
||||
but not on network-mounted filesystems, NTFS, or FAT32. Other filesystems
|
||||
may or may not have the needed support; the fsmonitor daemon is not guaranteed
|
||||
to work with these filesystems and such use is considered experimental.
|
||||
|
||||
By default, the socket is created in the `.git` directory, however, if the
|
||||
`.git` directory is on a network-mounted filesystem, it will be instead be
|
||||
created at `$HOME/.git-fsmonitor-*` unless `$HOME` itself is on a
|
||||
network-mounted filesystem in which case you must set the configuration
|
||||
variable `fsmonitor.socketDir` to the path of a directory on a Mac OS native
|
||||
filesystem in which to create the socket file.
|
||||
|
||||
If none of the above directories (`.git`, `$HOME`, or `fsmonitor.socketDir`)
|
||||
is on a native Mac OS file filesystem the fsmonitor daemon will report an
|
||||
error that will cause the daemon and the currently running command to exit.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
include::includes/cmd-config-section-all.txt[]
|
||||
|
||||
include::config/fsmonitor--daemon.txt[]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -54,9 +54,10 @@ other housekeeping tasks (e.g. rerere, working trees, reflog...) will
|
||||
be performed as well.
|
||||
|
||||
|
||||
--cruft::
|
||||
--[no-]cruft::
|
||||
When expiring unreachable objects, pack them separately into a
|
||||
cruft pack instead of storing them as loose objects.
|
||||
cruft pack instead of storing them as loose objects. `--cruft`
|
||||
is on by default.
|
||||
|
||||
--prune=<date>::
|
||||
Prune loose objects older than date (default is 2 weeks ago,
|
||||
@ -77,9 +78,10 @@ be performed as well.
|
||||
instance running on this repository.
|
||||
|
||||
--keep-largest-pack::
|
||||
All packs except the largest pack and those marked with a
|
||||
`.keep` files are consolidated into a single pack. When this
|
||||
option is used, `gc.bigPackThreshold` is ignored.
|
||||
All packs except the largest non-cruft pack, any packs marked
|
||||
with a `.keep` file, and any cruft pack(s) are consolidated into
|
||||
a single pack. When this option is used, `gc.bigPackThreshold`
|
||||
is ignored.
|
||||
|
||||
AGGRESSIVE
|
||||
----------
|
||||
|
@ -3,13 +3,14 @@ git-hash-object(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-hash-object - Compute object ID and optionally creates a blob from a file
|
||||
git-hash-object - Compute object ID and optionally create an object from a file
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git hash-object' [-t <type>] [-w] [--path=<file>|--no-filters] [--stdin [--literally]] [--] <file>...
|
||||
'git hash-object' [-t <type>] [-w] [--path=<file> | --no-filters]
|
||||
[--stdin [--literally]] [--] <file>...
|
||||
'git hash-object' [-t <type>] [-w] --stdin-paths [--no-filters]
|
||||
|
||||
DESCRIPTION
|
||||
@ -24,7 +25,8 @@ OPTIONS
|
||||
-------
|
||||
|
||||
-t <type>::
|
||||
Specify the type (default: "blob").
|
||||
Specify the type of object to be created (default: "blob"). Possible
|
||||
values are `commit`, `tree`, `blob`, and `tag`.
|
||||
|
||||
-w::
|
||||
Actually write the object into the object database.
|
||||
|
@ -8,7 +8,7 @@ git-hook - Run git hooks
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git hook' run [--ignore-missing] <hook-name> [-- <hook-args>]
|
||||
'git hook' run [--ignore-missing] [--to-stdin=<path>] <hook-name> [-- <hook-args>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -31,6 +31,11 @@ linkgit:githooks[5] for arguments hooks might expect (if any).
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
--to-stdin::
|
||||
For "run"; Specify a file which will be streamed into the
|
||||
hook's stdin. The hook will receive the entire file from
|
||||
beginning to EOF.
|
||||
|
||||
--ignore-missing::
|
||||
Ignore any missing hook by quietly returning zero. Used for
|
||||
tools that want to do a blind one-shot run of a hook that may
|
||||
|
@ -8,26 +8,44 @@ git-interpret-trailers - Add or parse structured information in commit messages
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git interpret-trailers' [<options>] [(--trailer <token>[(=|:)<value>])...] [<file>...]
|
||||
'git interpret-trailers' [<options>] [--parse] [<file>...]
|
||||
'git interpret-trailers' [--in-place] [--trim-empty]
|
||||
[(--trailer <token>[(=|:)<value>])...]
|
||||
[--parse] [<file>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Help parsing or adding 'trailers' lines, that look similar to RFC 822 e-mail
|
||||
Add or parse 'trailer' lines that look similar to RFC 822 e-mail
|
||||
headers, at the end of the otherwise free-form part of a commit
|
||||
message.
|
||||
message. For example, in the following commit message
|
||||
|
||||
This command reads some patches or commit messages from either the
|
||||
<file> arguments or the standard input if no <file> is specified. If
|
||||
`--parse` is specified, the output consists of the parsed trailers.
|
||||
------------------------------------------------
|
||||
subject
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
|
||||
Signed-off-by: Alice <alice@example.com>
|
||||
Signed-off-by: Bob <bob@example.com>
|
||||
------------------------------------------------
|
||||
|
||||
the last two lines starting with "Signed-off-by" are trailers.
|
||||
|
||||
This command reads commit messages from either the
|
||||
<file> arguments or the standard input if no <file> is specified.
|
||||
If `--parse` is specified, the output consists of the parsed trailers.
|
||||
Otherwise, this command applies the arguments passed using the
|
||||
`--trailer` option, if any, to the commit message part of each input
|
||||
file. The result is emitted on the standard output.
|
||||
`--trailer` option, if any, to each input file. The result is emitted on the
|
||||
standard output.
|
||||
|
||||
This command can also operate on the output of linkgit:git-format-patch[1],
|
||||
which is more elaborate than a plain commit message. Namely, such output
|
||||
includes a commit message (as above), a "---" divider line, and a patch part.
|
||||
For these inputs, the divider and patch parts are not modified by
|
||||
this command and are emitted as is on the output, unless
|
||||
`--no-divider` is specified.
|
||||
|
||||
Some configuration variables control the way the `--trailer` arguments
|
||||
are applied to each commit message and the way any existing trailer in
|
||||
the commit message is changed. They also make it possible to
|
||||
are applied to each input and the way any existing trailer in
|
||||
the input is changed. They also make it possible to
|
||||
automatically add some trailers.
|
||||
|
||||
By default, a '<token>=<value>' or '<token>:<value>' argument given
|
||||
@ -35,41 +53,46 @@ using `--trailer` will be appended after the existing trailers only if
|
||||
the last trailer has a different (<token>, <value>) pair (or if there
|
||||
is no existing trailer). The <token> and <value> parts will be trimmed
|
||||
to remove starting and trailing whitespace, and the resulting trimmed
|
||||
<token> and <value> will appear in the message like this:
|
||||
<token> and <value> will appear in the output like this:
|
||||
|
||||
------------------------------------------------
|
||||
token: value
|
||||
------------------------------------------------
|
||||
|
||||
This means that the trimmed <token> and <value> will be separated by
|
||||
`': '` (one colon followed by one space).
|
||||
`': '` (one colon followed by one space). For convenience, the <token> can be a
|
||||
shortened string key (e.g., "sign") instead of the full string which should
|
||||
appear before the separator on the output (e.g., "Signed-off-by"). This can be
|
||||
configured using the 'trailer.<token>.key' configuration variable.
|
||||
|
||||
By default the new trailer will appear at the end of all the existing
|
||||
trailers. If there is no existing trailer, the new trailer will appear
|
||||
after the commit message part of the output, and, if there is no line
|
||||
with only spaces at the end of the commit message part, one blank line
|
||||
will be added before the new trailer.
|
||||
at the end of the input. A blank line will be added before the new
|
||||
trailer if there isn't one already.
|
||||
|
||||
Existing trailers are extracted from the input message by looking for
|
||||
Existing trailers are extracted from the input by looking for
|
||||
a group of one or more lines that (i) is all trailers, or (ii) contains at
|
||||
least one Git-generated or user-configured trailer and consists of at
|
||||
least 25% trailers.
|
||||
The group must be preceded by one or more empty (or whitespace-only) lines.
|
||||
The group must either be at the end of the message or be the last
|
||||
The group must either be at the end of the input or be the last
|
||||
non-whitespace lines before a line that starts with '---' (followed by a
|
||||
space or the end of the line). Such three minus signs start the patch
|
||||
part of the message. See also `--no-divider` below.
|
||||
space or the end of the line).
|
||||
|
||||
When reading trailers, there can be no whitespace before or inside the
|
||||
token, but any number of regular space and tab characters are allowed
|
||||
between the token and the separator. There can be whitespaces before,
|
||||
inside or after the value. The value may be split over multiple lines
|
||||
<token>, but any number of regular space and tab characters are allowed
|
||||
between the <token> and the separator. There can be whitespaces before,
|
||||
inside or after the <value>. The <value> may be split over multiple lines
|
||||
with each subsequent line starting with at least one whitespace, like
|
||||
the "folding" in RFC 822.
|
||||
the "folding" in RFC 822. Example:
|
||||
|
||||
Note that 'trailers' do not follow and are not intended to follow many
|
||||
rules for RFC 822 headers. For example they do not follow
|
||||
the encoding rules and probably many other rules.
|
||||
------------------------------------------------
|
||||
token: This is a very long value, with spaces and
|
||||
newlines in it.
|
||||
------------------------------------------------
|
||||
|
||||
Note that trailers do not follow (nor are they intended to follow) many of the
|
||||
rules for RFC 822 headers. For example they do not follow the encoding rule.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -78,12 +101,12 @@ OPTIONS
|
||||
|
||||
--trim-empty::
|
||||
If the <value> part of any trailer contains only whitespace,
|
||||
the whole trailer will be removed from the resulting message.
|
||||
the whole trailer will be removed from the output.
|
||||
This applies to existing trailers as well as new trailers.
|
||||
|
||||
--trailer <token>[(=|:)<value>]::
|
||||
Specify a (<token>, <value>) pair that should be applied as a
|
||||
trailer to the input messages. See the description of this
|
||||
trailer to the inputs. See the description of this
|
||||
command.
|
||||
|
||||
--where <placement>::
|
||||
@ -97,7 +120,7 @@ OPTIONS
|
||||
--if-exists <action>::
|
||||
--no-if-exists::
|
||||
Specify what action will be performed when there is already at
|
||||
least one trailer with the same <token> in the message. A setting
|
||||
least one trailer with the same <token> in the input. A setting
|
||||
provided with '--if-exists' overrides all configuration variables
|
||||
and applies to all '--trailer' options until the next occurrence of
|
||||
'--if-exists' or '--no-if-exists'. Possible actions are `addIfDifferent`,
|
||||
@ -106,7 +129,7 @@ OPTIONS
|
||||
--if-missing <action>::
|
||||
--no-if-missing::
|
||||
Specify what action will be performed when there is no other
|
||||
trailer with the same <token> in the message. A setting
|
||||
trailer with the same <token> in the input. A setting
|
||||
provided with '--if-missing' overrides all configuration variables
|
||||
and applies to all '--trailer' options until the next occurrence of
|
||||
'--if-missing' or '--no-if-missing'. Possible actions are `doNothing`
|
||||
@ -173,7 +196,7 @@ first trailer with the same <token>.
|
||||
trailer.ifexists::
|
||||
This option makes it possible to choose what action will be
|
||||
performed when there is already at least one trailer with the
|
||||
same <token> in the message.
|
||||
same <token> in the input.
|
||||
+
|
||||
The valid values for this option are: `addIfDifferentNeighbor` (this
|
||||
is the default), `addIfDifferent`, `add`, `replace` or `doNothing`.
|
||||
@ -183,10 +206,10 @@ trailer with the same (<token>, <value>) pair is above or below the line
|
||||
where the new trailer will be added.
|
||||
+
|
||||
With `addIfDifferent`, a new trailer will be added only if no trailer
|
||||
with the same (<token>, <value>) pair is already in the message.
|
||||
with the same (<token>, <value>) pair is already in the input.
|
||||
+
|
||||
With `add`, a new trailer will be added, even if some trailers with
|
||||
the same (<token>, <value>) pair are already in the message.
|
||||
the same (<token>, <value>) pair are already in the input.
|
||||
+
|
||||
With `replace`, an existing trailer with the same <token> will be
|
||||
deleted and the new trailer will be added. The deleted trailer will be
|
||||
@ -194,12 +217,12 @@ the closest one (with the same <token>) to the place where the new one
|
||||
will be added.
|
||||
+
|
||||
With `doNothing`, nothing will be done; that is no new trailer will be
|
||||
added if there is already one with the same <token> in the message.
|
||||
added if there is already one with the same <token> in the input.
|
||||
|
||||
trailer.ifmissing::
|
||||
This option makes it possible to choose what action will be
|
||||
performed when there is not yet any trailer with the same
|
||||
<token> in the message.
|
||||
<token> in the input.
|
||||
+
|
||||
The valid values for this option are: `add` (this is the default) and
|
||||
`doNothing`.
|
||||
@ -234,13 +257,13 @@ trailer.<token>.ifmissing::
|
||||
that option for trailers with the specified <token>.
|
||||
|
||||
trailer.<token>.command::
|
||||
Deprecated in favor of 'trailer.<token>.cmd'.
|
||||
This option behaves in the same way as 'trailer.<token>.cmd', except
|
||||
that it doesn't pass anything as argument to the specified command.
|
||||
Instead the first occurrence of substring $ARG is replaced by the
|
||||
value that would be passed as argument.
|
||||
<value> that would be passed as argument.
|
||||
+
|
||||
The 'trailer.<token>.command' option has been deprecated in favor of
|
||||
'trailer.<token>.cmd' due to the fact that $ARG in the user's command is
|
||||
Note that $ARG in the user's command is
|
||||
only replaced once and that the original way of replacing $ARG is not safe.
|
||||
+
|
||||
When both 'trailer.<token>.cmd' and 'trailer.<token>.command' are given
|
||||
@ -248,10 +271,10 @@ for the same <token>, 'trailer.<token>.cmd' is used and
|
||||
'trailer.<token>.command' is ignored.
|
||||
|
||||
trailer.<token>.cmd::
|
||||
This option can be used to specify a shell command that will be called:
|
||||
This option can be used to specify a shell command that will be called
|
||||
once to automatically add a trailer with the specified <token>, and then
|
||||
each time a '--trailer <token>=<value>' argument to modify the <value> of
|
||||
the trailer that this option would produce.
|
||||
called each time a '--trailer <token>=<value>' argument is specified to
|
||||
modify the <value> of the trailer that this option would produce.
|
||||
+
|
||||
When the specified command is first called to add a trailer
|
||||
with the specified <token>, the behavior is as if a special
|
||||
@ -271,37 +294,37 @@ EXAMPLES
|
||||
--------
|
||||
|
||||
* Configure a 'sign' trailer with a 'Signed-off-by' key, and then
|
||||
add two of these trailers to a message:
|
||||
add two of these trailers to a commit message file:
|
||||
+
|
||||
------------
|
||||
$ git config trailer.sign.key "Signed-off-by"
|
||||
$ cat msg.txt
|
||||
subject
|
||||
|
||||
message
|
||||
$ cat msg.txt | git interpret-trailers --trailer 'sign: Alice <alice@example.com>' --trailer 'sign: Bob <bob@example.com>'
|
||||
body text
|
||||
$ git interpret-trailers --trailer 'sign: Alice <alice@example.com>' --trailer 'sign: Bob <bob@example.com>' <msg.txt
|
||||
subject
|
||||
|
||||
message
|
||||
body text
|
||||
|
||||
Signed-off-by: Alice <alice@example.com>
|
||||
Signed-off-by: Bob <bob@example.com>
|
||||
------------
|
||||
|
||||
* Use the `--in-place` option to edit a message file in place:
|
||||
* Use the `--in-place` option to edit a commit message file in place:
|
||||
+
|
||||
------------
|
||||
$ cat msg.txt
|
||||
subject
|
||||
|
||||
message
|
||||
body text
|
||||
|
||||
Signed-off-by: Bob <bob@example.com>
|
||||
$ git interpret-trailers --trailer 'Acked-by: Alice <alice@example.com>' --in-place msg.txt
|
||||
$ cat msg.txt
|
||||
subject
|
||||
|
||||
message
|
||||
body text
|
||||
|
||||
Signed-off-by: Bob <bob@example.com>
|
||||
Acked-by: Alice <alice@example.com>
|
||||
@ -321,17 +344,30 @@ $ git interpret-trailers --trailer 'Cc: Alice <alice@example.com>' --trailer 'Re
|
||||
'Signed-off-by: ' already, and show how it works:
|
||||
+
|
||||
------------
|
||||
$ cat msg1.txt
|
||||
subject
|
||||
|
||||
body text
|
||||
$ git config trailer.sign.key "Signed-off-by: "
|
||||
$ git config trailer.sign.ifmissing add
|
||||
$ git config trailer.sign.ifexists doNothing
|
||||
$ git config trailer.sign.command 'echo "$(git config user.name) <$(git config user.email)>"'
|
||||
$ git interpret-trailers <<EOF
|
||||
> EOF
|
||||
$ git config trailer.sign.cmd 'echo "$(git config user.name) <$(git config user.email)>"'
|
||||
$ git interpret-trailers --trailer sign <msg1.txt
|
||||
subject
|
||||
|
||||
body text
|
||||
|
||||
Signed-off-by: Bob <bob@example.com>
|
||||
$ git interpret-trailers <<EOF
|
||||
> Signed-off-by: Alice <alice@example.com>
|
||||
> EOF
|
||||
$ cat msg2.txt
|
||||
subject
|
||||
|
||||
body text
|
||||
|
||||
Signed-off-by: Alice <alice@example.com>
|
||||
$ git interpret-trailers --trailer sign <msg2.txt
|
||||
subject
|
||||
|
||||
body text
|
||||
|
||||
Signed-off-by: Alice <alice@example.com>
|
||||
------------
|
||||
@ -356,18 +392,17 @@ Fix #42
|
||||
$ cat ~/bin/glog-find-author
|
||||
#!/bin/sh
|
||||
test -n "$1" && git log --author="$1" --pretty="%an <%ae>" -1 || true
|
||||
$ cat msg.txt
|
||||
subject
|
||||
|
||||
body text
|
||||
$ git config trailer.help.key "Helped-by: "
|
||||
$ git config trailer.help.ifExists "addIfDifferentNeighbor"
|
||||
$ git config trailer.help.cmd "~/bin/glog-find-author"
|
||||
$ git interpret-trailers --trailer="help:Junio" --trailer="help:Couder" <<EOF
|
||||
> subject
|
||||
>
|
||||
> message
|
||||
>
|
||||
> EOF
|
||||
$ git interpret-trailers --trailer="help:Junio" --trailer="help:Couder" <msg.txt
|
||||
subject
|
||||
|
||||
message
|
||||
body text
|
||||
|
||||
Helped-by: Junio C Hamano <gitster@pobox.com>
|
||||
Helped-by: Christian Couder <christian.couder@gmail.com>
|
||||
@ -381,18 +416,17 @@ Helped-by: Christian Couder <christian.couder@gmail.com>
|
||||
$ cat ~/bin/glog-grep
|
||||
#!/bin/sh
|
||||
test -n "$1" && git log --grep "$1" --pretty=reference -1 || true
|
||||
$ cat msg.txt
|
||||
subject
|
||||
|
||||
body text
|
||||
$ git config trailer.ref.key "Reference-to: "
|
||||
$ git config trailer.ref.ifExists "replace"
|
||||
$ git config trailer.ref.cmd "~/bin/glog-grep"
|
||||
$ git interpret-trailers --trailer="ref:Add copyright notices." <<EOF
|
||||
> subject
|
||||
>
|
||||
> message
|
||||
>
|
||||
> EOF
|
||||
$ git interpret-trailers --trailer="ref:Add copyright notices." <msg.txt
|
||||
subject
|
||||
|
||||
message
|
||||
body text
|
||||
|
||||
Reference-to: 8bc9a0c769 (Add copyright notices., 2005-04-07)
|
||||
------------
|
||||
@ -401,20 +435,23 @@ Reference-to: 8bc9a0c769 (Add copyright notices., 2005-04-07)
|
||||
commit that is related, and show how it works:
|
||||
+
|
||||
------------
|
||||
$ cat msg.txt
|
||||
subject
|
||||
|
||||
body text
|
||||
|
||||
see: HEAD~2
|
||||
$ cat ~/bin/glog-ref
|
||||
#!/bin/sh
|
||||
git log -1 --oneline --format="%h (%s)" --abbrev-commit --abbrev=14
|
||||
$ git config trailer.see.key "See-also: "
|
||||
$ git config trailer.see.ifExists "replace"
|
||||
$ git config trailer.see.ifMissing "doNothing"
|
||||
$ git config trailer.see.command "git log -1 --oneline --format=\"%h (%s)\" --abbrev-commit --abbrev=14 \$ARG"
|
||||
$ git interpret-trailers <<EOF
|
||||
> subject
|
||||
>
|
||||
> message
|
||||
>
|
||||
> see: HEAD~2
|
||||
> EOF
|
||||
$ git config trailer.see.cmd "glog-ref"
|
||||
$ git interpret-trailers --trailer=see <msg.txt
|
||||
subject
|
||||
|
||||
message
|
||||
body text
|
||||
|
||||
See-also: fe3187489d69c4 (subject of related commit)
|
||||
------------
|
||||
@ -426,22 +463,21 @@ See-also: fe3187489d69c4 (subject of related commit)
|
||||
to add a 'git-version' trailer:
|
||||
+
|
||||
------------
|
||||
$ sed -e 's/ Z$/ /' >commit_template.txt <<EOF
|
||||
> ***subject***
|
||||
>
|
||||
> ***message***
|
||||
>
|
||||
> Fixes: Z
|
||||
> Cc: Z
|
||||
> Reviewed-by: Z
|
||||
> Signed-off-by: Z
|
||||
> EOF
|
||||
$ cat temp.txt
|
||||
***subject***
|
||||
|
||||
***message***
|
||||
|
||||
Fixes: Z
|
||||
Cc: Z
|
||||
Reviewed-by: Z
|
||||
Signed-off-by: Z
|
||||
$ sed -e 's/ Z$/ /' temp.txt > commit_template.txt
|
||||
$ git config commit.template commit_template.txt
|
||||
$ cat >.git/hooks/commit-msg <<EOF
|
||||
> #!/bin/sh
|
||||
> git interpret-trailers --trim-empty --trailer "git-version: \$(git describe)" "\$1" > "\$1.new"
|
||||
> mv "\$1.new" "\$1"
|
||||
> EOF
|
||||
$ cat .git/hooks/commit-msg
|
||||
#!/bin/sh
|
||||
git interpret-trailers --trim-empty --trailer "git-version: \$(git describe)" "\$1" > "\$1.new"
|
||||
mv "\$1.new" "\$1"
|
||||
$ chmod +x .git/hooks/commit-msg
|
||||
------------
|
||||
|
||||
|
@ -10,8 +10,9 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git ls-files' [-z] [-t] [-v] [-f]
|
||||
[-c|--cached] [-d|--deleted] [-o|--others] [-i|--|ignored]
|
||||
[-s|--stage] [-u|--unmerged] [-k|--|killed] [-m|--modified]
|
||||
[-c|--cached] [-d|--deleted] [-o|--others] [-i|--ignored]
|
||||
[-s|--stage] [-u|--unmerged] [-k|--killed] [-m|--modified]
|
||||
[--resolve-undo]
|
||||
[--directory [--no-empty-directory]] [--eol]
|
||||
[--deduplicate]
|
||||
[-x <pattern>|--exclude=<pattern>]
|
||||
@ -28,21 +29,26 @@ This merges the file listing in the index with the actual working
|
||||
directory list, and shows different combinations of the two.
|
||||
|
||||
One or more of the options below may be used to determine the files
|
||||
shown:
|
||||
shown, and each file may be printed multiple times if there are
|
||||
multiple entries in the index or multiple statuses are applicable for
|
||||
the relevant file selection options.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-c::
|
||||
--cached::
|
||||
Show cached files in the output (default)
|
||||
Show all files cached in Git's index, i.e. all tracked files.
|
||||
(This is the default if no -c/-s/-d/-o/-u/-k/-m/--resolve-undo
|
||||
options are specified.)
|
||||
|
||||
-d::
|
||||
--deleted::
|
||||
Show deleted files in the output
|
||||
Show files with an unstaged deletion
|
||||
|
||||
-m::
|
||||
--modified::
|
||||
Show modified files in the output
|
||||
Show files with an unstaged modification (note that an unstaged
|
||||
deletion also counts as an unstaged modification)
|
||||
|
||||
-o::
|
||||
--others::
|
||||
@ -50,11 +56,14 @@ OPTIONS
|
||||
|
||||
-i::
|
||||
--ignored::
|
||||
Show only ignored files in the output. When showing files in the
|
||||
index, print only those matched by an exclude pattern. When
|
||||
showing "other" files, show only those matched by an exclude
|
||||
pattern. Standard ignore rules are not automatically activated,
|
||||
therefore at least one of the `--exclude*` options is required.
|
||||
Show only ignored files in the output. Must be used with
|
||||
either an explicit '-c' or '-o'. When showing files in the
|
||||
index (i.e. when used with '-c'), print only those files
|
||||
matching an exclude pattern. When showing "other" files
|
||||
(i.e. when used with '-o'), show only those matched by an
|
||||
exclude pattern. Standard ignore rules are not automatically
|
||||
activated, therefore at least one of the `--exclude*` options
|
||||
is required.
|
||||
|
||||
-s::
|
||||
--stage::
|
||||
@ -63,19 +72,29 @@ OPTIONS
|
||||
--directory::
|
||||
If a whole directory is classified as "other", show just its
|
||||
name (with a trailing slash) and not its whole contents.
|
||||
Has no effect without -o/--others.
|
||||
|
||||
--no-empty-directory::
|
||||
Do not list empty directories. Has no effect without --directory.
|
||||
|
||||
-u::
|
||||
--unmerged::
|
||||
Show unmerged files in the output (forces --stage)
|
||||
Show information about unmerged files in the output, but do
|
||||
not show any other tracked files (forces --stage, overrides
|
||||
--cached).
|
||||
|
||||
-k::
|
||||
--killed::
|
||||
Show files on the filesystem that need to be removed due
|
||||
to file/directory conflicts for checkout-index to
|
||||
succeed.
|
||||
Show untracked files on the filesystem that need to be removed
|
||||
due to file/directory conflicts for tracked files to be able to
|
||||
be written to the filesystem.
|
||||
|
||||
--resolve-undo::
|
||||
Show files having resolve-undo information in the index
|
||||
together with their resolve-undo information. (resolve-undo
|
||||
information is what is used to implement "git checkout -m
|
||||
$PATH", i.e. to recreate merge conflicts that were
|
||||
accidentally resolved)
|
||||
|
||||
-z::
|
||||
\0 line termination on output and do not quote filenames.
|
||||
@ -100,7 +119,8 @@ OPTIONS
|
||||
|
||||
--exclude-per-directory=<file>::
|
||||
Read additional exclude patterns that apply only to the
|
||||
directory and its subdirectories in <file>.
|
||||
directory and its subdirectories in <file>. Deprecated; use
|
||||
--exclude-standard instead.
|
||||
|
||||
--exclude-standard::
|
||||
Add the standard Git exclusions: .git/info/exclude, .gitignore
|
||||
@ -118,24 +138,27 @@ OPTIONS
|
||||
with `-s` or `-u` options does not make any sense.
|
||||
|
||||
-t::
|
||||
This feature is semi-deprecated. For scripting purpose,
|
||||
linkgit:git-status[1] `--porcelain` and
|
||||
Show status tags together with filenames. Note that for
|
||||
scripting purposes, linkgit:git-status[1] `--porcelain` and
|
||||
linkgit:git-diff-files[1] `--name-status` are almost always
|
||||
superior alternatives, and users should look at
|
||||
linkgit:git-status[1] `--short` or linkgit:git-diff[1]
|
||||
`--name-status` for more user-friendly alternatives.
|
||||
+
|
||||
--
|
||||
This option identifies the file status with the following tags (followed by
|
||||
a space) at the start of each line:
|
||||
This option provides a reason for showing each filename, in the form
|
||||
of a status tag (which is followed by a space and then the filename).
|
||||
The status tags are all single characters from the following list:
|
||||
|
||||
H:: cached
|
||||
S:: skip-worktree
|
||||
M:: unmerged
|
||||
R:: removed/deleted
|
||||
C:: modified/changed
|
||||
K:: to be killed
|
||||
?:: other
|
||||
H:: tracked file that is not either unmerged or skip-worktree
|
||||
S:: tracked file that is skip-worktree
|
||||
M:: tracked file that is unmerged
|
||||
R:: tracked file with unstaged removal/deletion
|
||||
C:: tracked file with unstaged modification/change
|
||||
K:: untracked paths which are part of file/directory conflicts
|
||||
which prevent checking out tracked files
|
||||
?:: untracked file
|
||||
U:: file with resolve-undo information
|
||||
--
|
||||
|
||||
-v::
|
||||
@ -247,8 +270,14 @@ interpolated. The following "fieldname" are understood:
|
||||
|
||||
objectmode::
|
||||
The mode of the file which is recorded in the index.
|
||||
objecttype::
|
||||
The object type of the file which is recorded in the index.
|
||||
objectname::
|
||||
The name of the file which is recorded in the index.
|
||||
objectsize[:padded]::
|
||||
The object size of the file which is recorded in the index
|
||||
("-" if the object is a `commit` or `tree`).
|
||||
It also supports a padded format of size with "%(objectsize:padded)".
|
||||
stage::
|
||||
The stage of the file which is recorded in the index.
|
||||
eolinfo:index::
|
||||
@ -269,7 +298,9 @@ traversing the directory tree and finding files to show when the
|
||||
flags --others or --ignored are specified. linkgit:gitignore[5]
|
||||
specifies the format of exclude patterns.
|
||||
|
||||
These exclude patterns come from these places, in order:
|
||||
Generally, you should just use --exclude-standard, but for historical
|
||||
reasons the exclude patterns can be specified from the following
|
||||
places, in order:
|
||||
|
||||
1. The command-line flag --exclude=<pattern> specifies a
|
||||
single pattern. Patterns are ordered in the same order
|
||||
|
@ -11,7 +11,7 @@ SYNOPSIS
|
||||
[verse]
|
||||
'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]
|
||||
[-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
|
||||
[--symref] [<repository> [<refs>...]]
|
||||
[--symref] [<repository> [<patterns>...]]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -85,31 +85,62 @@ OPTIONS
|
||||
either a URL or the name of a remote (see the GIT URLS and
|
||||
REMOTES sections of linkgit:git-fetch[1]).
|
||||
|
||||
<refs>...::
|
||||
<patterns>...::
|
||||
When unspecified, all references, after filtering done
|
||||
with --heads and --tags, are shown. When <refs>... are
|
||||
specified, only references matching the given patterns
|
||||
are displayed.
|
||||
with --heads and --tags, are shown. When <patterns>... are
|
||||
specified, only references matching one or more of the given
|
||||
patterns are displayed. Each pattern is interpreted as a glob
|
||||
(see `glob` in linkgit:gitglossary[7]) which is matched against
|
||||
the "tail" of a ref, starting either from the start of the ref
|
||||
(so a full name like `refs/heads/foo` matches) or from a slash
|
||||
separator (so `bar` matches `refs/heads/bar` but not
|
||||
`refs/heads/foobar`).
|
||||
|
||||
OUTPUT
|
||||
------
|
||||
|
||||
The output is in the format:
|
||||
|
||||
------------
|
||||
<oid> TAB <ref> LF
|
||||
------------
|
||||
|
||||
When showing an annotated tag, unless `--refs` is given, two such
|
||||
lines are shown: one with the refname for the tag itself as `<ref>`,
|
||||
and another with `<ref>` followed by `^{}`. The `<oid>` on the latter
|
||||
line shows the name of the object the tag points at.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
* List all references (including symbolics and pseudorefs), peeling
|
||||
tags:
|
||||
+
|
||||
----
|
||||
$ git ls-remote
|
||||
27d43aaaf50ef0ae014b88bba294f93658016a2e HEAD
|
||||
950264636c68591989456e3ba0a5442f93152c1a refs/heads/main
|
||||
d9ab777d41f92a8c1684c91cfb02053d7dd1046b refs/heads/next
|
||||
d4ca2e3147b409459955613c152220f4db848ee1 refs/tags/v2.40.0
|
||||
73876f4861cd3d187a4682290ab75c9dccadbc56 refs/tags/v2.40.0^{}
|
||||
----
|
||||
|
||||
* List all references matching given patterns:
|
||||
+
|
||||
----
|
||||
$ git ls-remote --tags ./.
|
||||
d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99
|
||||
f25a265a342aed6041ab0cc484224d9ca54b6f41 refs/tags/v0.99.1
|
||||
7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3
|
||||
c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2
|
||||
0918385dbd9656cab0d1d81ba7453d49bbc16250 refs/tags/junio-gpg-pub
|
||||
$ git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc
|
||||
5fe978a5381f1fbad26a80e682ddd2a401966740 refs/heads/master
|
||||
c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/seen
|
||||
$ git remote add korg http://www.kernel.org/pub/scm/git/git.git
|
||||
$ git ls-remote --tags korg v\*
|
||||
d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99
|
||||
f25a265a342aed6041ab0cc484224d9ca54b6f41 refs/tags/v0.99.1
|
||||
c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2
|
||||
7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3
|
||||
----
|
||||
|
||||
* List only tags matching a given wildcard pattern:
|
||||
+
|
||||
----
|
||||
$ git ls-remote --tags http://www.kernel.org/pub/scm/git/git.git v\*
|
||||
485a869c64a68cc5795dd99689797c5900f4716d refs/tags/v2.39.2
|
||||
cbf04937d5b9fcf0a76c28f69e6294e9e3ecd7e6 refs/tags/v2.39.2^{}
|
||||
d4ca2e3147b409459955613c152220f4db848ee1 refs/tags/v2.40.0
|
||||
73876f4861cd3d187a4682290ab75c9dccadbc56 refs/tags/v2.40.0^{}
|
||||
----
|
||||
|
||||
SEE ALSO
|
||||
|
@ -86,9 +86,9 @@ OPTIONS
|
||||
--format=<format>::
|
||||
A string that interpolates `%(fieldname)` from the result
|
||||
being shown. It also interpolates `%%` to `%`, and
|
||||
`%xx` where `xx` are hex digits interpolates to character
|
||||
with hex code `xx`; for example `%00` interpolates to
|
||||
`\0` (NUL), `%09` to `\t` (TAB) and `%0a` to `\n` (LF).
|
||||
`%xNN` where `NN` are hex digits interpolates to character
|
||||
with hex code `NN`; for example `%x00` interpolates to
|
||||
`\0` (NUL), `%x09` to `\t` (TAB) and `%x0a` to `\n` (LF).
|
||||
When specified, `--format` cannot be combined with other
|
||||
format-altering options, including `--long`, `--name-only`
|
||||
and `--object-only`.
|
||||
@ -145,7 +145,7 @@ FIELD NAMES
|
||||
-----------
|
||||
|
||||
Various values from structured fields can be used to interpolate
|
||||
into the resulting output. For each outputing line, the following
|
||||
into the resulting output. For each outputting line, the following
|
||||
names can be used:
|
||||
|
||||
objectmode::
|
||||
|
@ -11,7 +11,7 @@ SYNOPSIS
|
||||
[verse]
|
||||
'git maintenance' run [<options>]
|
||||
'git maintenance' start [--scheduler=<scheduler>]
|
||||
'git maintenance' (stop|register|unregister)
|
||||
'git maintenance' (stop|register|unregister) [<options>]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@ -50,13 +50,13 @@ stop::
|
||||
the background maintenance is restarted later.
|
||||
|
||||
register::
|
||||
Initialize Git config values so any scheduled maintenance will
|
||||
start running on this repository. This adds the repository to the
|
||||
`maintenance.repo` config variable in the current user's global
|
||||
config and enables some recommended configuration values for
|
||||
`maintenance.<task>.schedule`. The tasks that are enabled are safe
|
||||
for running in the background without disrupting foreground
|
||||
processes.
|
||||
Initialize Git config values so any scheduled maintenance will start
|
||||
running on this repository. This adds the repository to the
|
||||
`maintenance.repo` config variable in the current user's global config,
|
||||
or the config specified by --config-file option, and enables some
|
||||
recommended configuration values for `maintenance.<task>.schedule`. The
|
||||
tasks that are enabled are safe for running in the background without
|
||||
disrupting foreground processes.
|
||||
+
|
||||
The `register` subcommand will also set the `maintenance.strategy` config
|
||||
value to `incremental`, if this value is not previously set. The
|
||||
@ -79,6 +79,10 @@ unregister::
|
||||
Remove the current repository from background maintenance. This
|
||||
only removes the repository from the configured list. It does not
|
||||
stop the background maintenance processes from running.
|
||||
+
|
||||
The `unregister` subcommand will report an error if the current repository
|
||||
is not already registered. Use the `--force` option to return success even
|
||||
when the current repository is not registered.
|
||||
|
||||
TASKS
|
||||
-----
|
||||
|
@ -9,8 +9,8 @@ git-merge-base - Find as good common ancestors as possible for a merge
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git merge-base' [-a|--all] <commit> <commit>...
|
||||
'git merge-base' [-a|--all] --octopus <commit>...
|
||||
'git merge-base' [-a | --all] <commit> <commit>...
|
||||
'git merge-base' [-a | --all] --octopus <commit>...
|
||||
'git merge-base' --is-ancestor <commit> <commit>
|
||||
'git merge-base' --independent <commit>...
|
||||
'git merge-base' --fork-point <ref> [<commit>]
|
||||
|
@ -64,6 +64,11 @@ OPTIONS
|
||||
share no common history. This flag can be given to override that
|
||||
check and make the merge proceed anyway.
|
||||
|
||||
--merge-base=<commit>::
|
||||
Instead of finding the merge-bases for <branch1> and <branch2>,
|
||||
specify a merge-base for the merge, and specifying multiple bases is
|
||||
currently not supported. This option is incompatible with `--stdin`.
|
||||
|
||||
[[OUTPUT]]
|
||||
OUTPUT
|
||||
------
|
||||
@ -81,6 +86,31 @@ Whereas for a conflicted merge, the output is by default of the form:
|
||||
|
||||
These are discussed individually below.
|
||||
|
||||
However, there is an exception. If `--stdin` is passed, then there is
|
||||
an extra section at the beginning, a NUL character at the end, and then
|
||||
all the sections repeat for each line of input. Thus, if the first merge
|
||||
is conflicted and the second is clean, the output would be of the form:
|
||||
|
||||
<Merge status>
|
||||
<OID of toplevel tree>
|
||||
<Conflicted file info>
|
||||
<Informational messages>
|
||||
NUL
|
||||
<Merge status>
|
||||
<OID of toplevel tree>
|
||||
NUL
|
||||
|
||||
[[MS]]
|
||||
Merge status
|
||||
~~~~~~~~~~~~
|
||||
|
||||
This is an integer status followed by a NUL character. The integer status is:
|
||||
|
||||
0: merge had conflicts
|
||||
1: merge was clean
|
||||
<0: something prevented the merge from running (e.g. access to repository
|
||||
objects denied by filesystem)
|
||||
|
||||
[[OIDTLT]]
|
||||
OID of toplevel tree
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
@ -108,18 +138,50 @@ character instead of a newline character.
|
||||
Informational messages
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This always starts with a blank line (or NUL if `-z` is passed) to
|
||||
separate it from the previous sections, and then has free-form
|
||||
messages about the merge, such as:
|
||||
This section provides informational messages, typically about
|
||||
conflicts. The format of the section varies significantly depending
|
||||
on whether `-z` is passed.
|
||||
|
||||
If `-z` is passed:
|
||||
|
||||
The output format is zero or more conflict informational records, each
|
||||
of the form:
|
||||
|
||||
<list-of-paths><conflict-type>NUL<conflict-message>NUL
|
||||
|
||||
where <list-of-paths> is of the form
|
||||
|
||||
<number-of-paths>NUL<path1>NUL<path2>NUL...<pathN>NUL
|
||||
|
||||
and includes paths (or branch names) affected by the conflict or
|
||||
informational message in <conflict-message>. Also, <conflict-type> is a
|
||||
stable string explaining the type of conflict, such as
|
||||
|
||||
* "Auto-merging"
|
||||
* "CONFLICT (rename/delete)"
|
||||
* "CONFLICT (submodule lacks merge base)"
|
||||
* "CONFLICT (binary)"
|
||||
|
||||
and <conflict-message> is a more detailed message about the conflict which often
|
||||
(but not always) embeds the <stable-short-type-description> within it. These
|
||||
strings may change in future Git versions. Some examples:
|
||||
|
||||
* "Auto-merging <file>"
|
||||
* "CONFLICT (rename/delete): <oldfile> renamed...but deleted in..."
|
||||
* "Failed to merge submodule <submodule> (<reason>)"
|
||||
* "Failed to merge submodule <submodule> (no merge base)"
|
||||
* "Warning: cannot merge binary files: <filename>"
|
||||
|
||||
Note that these free-form messages will never have a NUL character
|
||||
in or between them, even if -z is passed. It is simply a large block
|
||||
of text taking up the remainder of the output.
|
||||
If `-z` is NOT passed:
|
||||
|
||||
This section starts with a blank line to separate it from the previous
|
||||
sections, and then only contains the <conflict-message> information
|
||||
from the previous section (separated by newlines). These are
|
||||
non-stable strings that should not be parsed by scripts, and are just
|
||||
meant for human consumption. Also, note that while <conflict-message>
|
||||
strings usually do not contain embedded newlines, they sometimes do.
|
||||
(However, the free-form messages will never have an embedded NUL
|
||||
character). So, the entire block of information is meant for human
|
||||
readers as an agglomeration of all conflict messages.
|
||||
|
||||
EXIT STATUS
|
||||
-----------
|
||||
@ -127,7 +189,10 @@ EXIT STATUS
|
||||
For a successful, non-conflicted merge, the exit status is 0. When the
|
||||
merge has conflicts, the exit status is 1. If the merge is not able to
|
||||
complete (or start) due to some kind of error, the exit status is
|
||||
something other than 0 or 1 (and the output is unspecified).
|
||||
something other than 0 or 1 (and the output is unspecified). When
|
||||
--stdin is passed, the return status is 0 for both successful and
|
||||
conflicted merges, and something other than 0 or 1 if it cannot complete
|
||||
all the requested merges.
|
||||
|
||||
USAGE NOTES
|
||||
-----------
|
||||
@ -156,6 +221,17 @@ with linkgit:git-merge[1]:
|
||||
* any messages that would have been printed to stdout (the
|
||||
<<IM,Informational messages>>)
|
||||
|
||||
INPUT FORMAT
|
||||
------------
|
||||
'git merge-tree --stdin' input format is fully text based. Each line
|
||||
has this format:
|
||||
|
||||
[<base-commit> -- ]<branch1> <branch2>
|
||||
|
||||
If one line is separated by `--`, the string before the separator is
|
||||
used for specifying a merge-base for the merge and the string after
|
||||
the separator describes the branches to be merged.
|
||||
|
||||
MISTAKES TO AVOID
|
||||
-----------------
|
||||
|
||||
|
@ -37,7 +37,8 @@ Then "`git merge topic`" will replay the changes made on the
|
||||
`topic` branch since it diverged from `master` (i.e., `E`) until
|
||||
its current commit (`C`) on top of `master`, and record the result
|
||||
in a new commit along with the names of the two parent commits and
|
||||
a log message from the user describing the changes.
|
||||
a log message from the user describing the changes. Before the operation,
|
||||
`ORIG_HEAD` is set to the tip of the current branch (`C`).
|
||||
|
||||
------------
|
||||
A---B---C topic
|
||||
@ -193,9 +194,13 @@ happens:
|
||||
versions: stage 1 stores the version from the common ancestor,
|
||||
stage 2 from `HEAD`, and stage 3 from `MERGE_HEAD` (you
|
||||
can inspect the stages with `git ls-files -u`). The working
|
||||
tree files contain the result of the "merge" program; i.e. 3-way
|
||||
tree files contain the result of the merge operation; i.e. 3-way
|
||||
merge results with familiar conflict markers `<<<` `===` `>>>`.
|
||||
5. No other changes are made. In particular, the local
|
||||
5. A special ref `AUTO_MERGE` is written, pointing to a tree
|
||||
corresponding to the current content of the working tree (including
|
||||
conflict markers for textual conflicts). Note that this ref is only
|
||||
written when the 'ort' merge strategy is used (the default).
|
||||
6. No other changes are made. In particular, the local
|
||||
modifications you had before you started merge will stay the
|
||||
same and the index entries for them stay as they were,
|
||||
i.e. matching `HEAD`.
|
||||
@ -335,7 +340,8 @@ You can work through the conflict with a number of tools:
|
||||
|
||||
* Look at the diffs. `git diff` will show a three-way diff,
|
||||
highlighting changes from both the `HEAD` and `MERGE_HEAD`
|
||||
versions.
|
||||
versions. `git diff AUTO_MERGE` will show what changes you've
|
||||
made so far to resolve textual conflicts.
|
||||
|
||||
* Look at the diffs from each branch. `git log --merge -p <path>`
|
||||
will show diffs first for the `HEAD` version and then the
|
||||
|
@ -85,12 +85,13 @@ success of the resolution after the custom tool has exited.
|
||||
the default merge tool will be read from the configured
|
||||
`merge.guitool` variable instead of `merge.tool`. If
|
||||
`merge.guitool` is not set, we will fallback to the tool
|
||||
configured under `merge.tool`.
|
||||
configured under `merge.tool`. This may be autoselected using
|
||||
the configuration variable `mergetool.guiDefault`.
|
||||
|
||||
--no-gui::
|
||||
This overrides a previous `-g` or `--gui` setting and reads the
|
||||
default merge tool will be read from the configured `merge.tool`
|
||||
variable.
|
||||
This overrides a previous `-g` or `--gui` setting or
|
||||
`mergetool.guiDefault` configuration and reads the default merge
|
||||
tool from the configured `merge.tool` variable.
|
||||
|
||||
-O<orderfile>::
|
||||
Process files in the order specified in the
|
||||
|
@ -33,7 +33,7 @@ from warnings to errors (so e.g. a missing "tagger" line is an error).
|
||||
|
||||
Extra headers in the object are also an error under mktag, but ignored
|
||||
by linkgit:git-fsck[1]. This extra check can be turned off by setting
|
||||
the appropriate `fsck.<msg-id>` varible:
|
||||
the appropriate `fsck.<msg-id>` variable:
|
||||
|
||||
git -c fsck.extraHeaderEntry=ignore mktag <my-tag-with-headers
|
||||
|
||||
|
@ -9,7 +9,7 @@ git-mv - Move or rename a file, a directory, or a symlink
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git mv' <options>... <args>...
|
||||
'git mv' [<options>] <source>... <destination>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -30,7 +30,7 @@ OPTIONS
|
||||
-------
|
||||
-f::
|
||||
--force::
|
||||
Force renaming or moving of a file even if the target exists
|
||||
Force renaming or moving of a file even if the <destination> exists.
|
||||
-k::
|
||||
Skip move or rename actions which would lead to an error
|
||||
condition. An error happens when a source is neither existing nor
|
||||
|
@ -10,7 +10,7 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git name-rev' [--tags] [--refs=<pattern>]
|
||||
( --all | --stdin | <commit-ish>... )
|
||||
( --all | --annotate-stdin | <commit-ish>... )
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -46,7 +46,8 @@ OPTIONS
|
||||
Transform stdin by substituting all the 40-character SHA-1
|
||||
hexes (say $hex) with "$hex ($rev_name)". When used with
|
||||
--name-only, substitute with "$rev_name", omitting $hex
|
||||
altogether.
|
||||
altogether. This option was called `--stdin` in older versions
|
||||
of Git.
|
||||
+
|
||||
For example:
|
||||
+
|
||||
@ -70,10 +71,6 @@ The full name after substitution is master,
|
||||
while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad
|
||||
-----------
|
||||
|
||||
--stdin::
|
||||
This option is deprecated in favor of 'git name-rev --annotate-stdin'.
|
||||
They are functionally equivalent.
|
||||
|
||||
--name-only::
|
||||
Instead of printing both the SHA-1 and the name, print only
|
||||
the name. If given with --tags the usual tag prefix of
|
||||
@ -107,7 +104,7 @@ Now you are wiser, because you know that it happened 940 revisions before v0.99.
|
||||
Another nice thing you can do is:
|
||||
|
||||
------------
|
||||
% git log | git name-rev --stdin
|
||||
% git log | git name-rev --annotate-stdin
|
||||
------------
|
||||
|
||||
GIT
|
||||
|
@ -9,10 +9,10 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git notes' [list [<object>]]
|
||||
'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||
'git notes' add [-f] [--allow-empty] [--[no-]separator | --separator=<paragraph-break>] [--[no-]stripspace] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||
'git notes' copy [-f] ( --stdin | <from-object> [<to-object>] )
|
||||
'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||
'git notes' edit [--allow-empty] [<object>]
|
||||
'git notes' append [--allow-empty] [--[no-]separator | --separator=<paragraph-break>] [--[no-]stripspace] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||
'git notes' edit [--allow-empty] [<object>] [--[no-]stripspace]
|
||||
'git notes' show [<object>]
|
||||
'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>
|
||||
'git notes' merge --commit [-v | -q]
|
||||
@ -65,7 +65,9 @@ add::
|
||||
However, if you're using `add` interactively (using an editor
|
||||
to supply the notes contents), then - instead of aborting -
|
||||
the existing notes will be opened in the editor (like the `edit`
|
||||
subcommand).
|
||||
subcommand). If you specify multiple `-m` and `-F`, a blank
|
||||
line will be inserted between the messages. Use the `--separator`
|
||||
option to insert other delimiters.
|
||||
|
||||
copy::
|
||||
Copy the notes for the first object onto the second object (defaults to
|
||||
@ -85,8 +87,12 @@ corresponding <to-object>. (The optional `<rest>` is ignored so that
|
||||
the command can read the input given to the `post-rewrite` hook.)
|
||||
|
||||
append::
|
||||
Append to the notes of an existing object (defaults to HEAD).
|
||||
Creates a new notes object if needed.
|
||||
Append new message(s) given by `-m` or `-F` options to an
|
||||
existing note, or add them as a new note if one does not
|
||||
exist, for the object (defaults to HEAD). When appending to
|
||||
an existing note, a blank line is added before each new
|
||||
message as an inter-paragraph separator. The separator can
|
||||
be customized with the `--separator` option.
|
||||
|
||||
edit::
|
||||
Edit the notes for a given object (defaults to HEAD).
|
||||
@ -135,20 +141,26 @@ OPTIONS
|
||||
If multiple `-m` options are given, their values
|
||||
are concatenated as separate paragraphs.
|
||||
Lines starting with `#` and empty lines other than a
|
||||
single line between paragraphs will be stripped out.
|
||||
single line between paragraphs will be stripped out,
|
||||
if you wish to keep them verbatim, use `--no-stripspace`.
|
||||
|
||||
-F <file>::
|
||||
--file=<file>::
|
||||
Take the note message from the given file. Use '-' to
|
||||
read the note message from the standard input.
|
||||
Lines starting with `#` and empty lines other than a
|
||||
single line between paragraphs will be stripped out.
|
||||
single line between paragraphs will be stripped out,
|
||||
if you wish to keep them verbatim, use with
|
||||
`--no-stripspace` option.
|
||||
|
||||
-C <object>::
|
||||
--reuse-message=<object>::
|
||||
Take the given blob object (for example, another note) as the
|
||||
note message. (Use `git notes copy <object>` instead to
|
||||
copy notes between objects.)
|
||||
copy notes between objects.). By default, message will be
|
||||
copied verbatim, but if you wish to strip out the lines
|
||||
starting with `#` and empty lines other than a single line
|
||||
between paragraphs, use with`--stripspace` option.
|
||||
|
||||
-c <object>::
|
||||
--reedit-message=<object>::
|
||||
@ -159,6 +171,19 @@ OPTIONS
|
||||
Allow an empty note object to be stored. The default behavior is
|
||||
to automatically remove empty notes.
|
||||
|
||||
--[no-]separator, --separator=<paragraph-break>::
|
||||
Specify a string used as a custom inter-paragraph separator
|
||||
(a newline is added at the end as needed). If `--no-separator`, no
|
||||
separators will be added between paragraphs. Defaults to a blank
|
||||
line.
|
||||
|
||||
--[no-]stripspace::
|
||||
Strip leading and trailing whitespace from the note message.
|
||||
Also strip out empty lines other than a single line between
|
||||
paragraphs. For lines starting with `#` will be stripped out
|
||||
in non-editor cases like "-m", "-F" and "-C", but not in
|
||||
editor case like "git notes edit", "-c", etc.
|
||||
|
||||
--ref <ref>::
|
||||
Manipulate the notes tree in <ref>. This overrides
|
||||
`GIT_NOTES_REF` and the "core.notesRef" configuration. The ref
|
||||
|
@ -9,7 +9,21 @@ git-pack-redundant - Find redundant pack files
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git pack-redundant' [ --verbose ] [ --alt-odb ] ( --all | <pack-filename>... )
|
||||
'git pack-redundant' [--verbose] [--alt-odb] (--all | <pack-filename>...)
|
||||
|
||||
WARNING
|
||||
-------
|
||||
`git pack-redundant` has been deprecated and is scheduled for removal in
|
||||
a future version of Git. Because it can only remove entire duplicate
|
||||
packs and not individual duplicate objects, it is generally not a useful
|
||||
tool for reducing repository size. You are better off using `git gc` to
|
||||
do so, which will put objects into a new pack, removing duplicates.
|
||||
|
||||
Running `pack-redundant` without the `--i-still-use-this` flag will fail
|
||||
in this release. If you believe you have a use case for which
|
||||
`pack-redundant` is better suited and oppose this removal, please
|
||||
contact the Git mailing list at git@vger.kernel.org. More information
|
||||
about the list is available at https://git-scm.com/community.
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -34,7 +48,7 @@ OPTIONS
|
||||
|
||||
--alt-odb::
|
||||
Don't require objects present in packs from alternate object
|
||||
directories to be present in local packs.
|
||||
database (odb) directories to be present in local packs.
|
||||
|
||||
--verbose::
|
||||
Outputs some statistics to stderr. Has a small performance penalty.
|
||||
|
@ -8,7 +8,7 @@ git-pack-refs - Pack heads and tags for efficient repository access
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git pack-refs' [--all] [--no-prune]
|
||||
'git pack-refs' [--all] [--no-prune] [--include <pattern>] [--exclude <pattern>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -51,14 +51,37 @@ The command by default packs all tags and refs that are already
|
||||
packed, and leaves other refs
|
||||
alone. This is because branches are expected to be actively
|
||||
developed and packing their tips does not help performance.
|
||||
This option causes branch tips to be packed as well. Useful for
|
||||
a repository with many branches of historical interests.
|
||||
This option causes all refs to be packed as well, with the exception
|
||||
of hidden refs, broken refs, and symbolic refs. Useful for a repository
|
||||
with many branches of historical interests.
|
||||
|
||||
--no-prune::
|
||||
|
||||
The command usually removes loose refs under `$GIT_DIR/refs`
|
||||
hierarchy after packing them. This option tells it not to.
|
||||
|
||||
--include <pattern>::
|
||||
|
||||
Pack refs based on a `glob(7)` pattern. Repetitions of this option
|
||||
accumulate inclusion patterns. If a ref is both included in `--include` and
|
||||
`--exclude`, `--exclude` takes precedence. Using `--include` will preclude all
|
||||
tags from being included by default. Symbolic refs and broken refs will never
|
||||
be packed. When used with `--all`, it will be a noop. Use `--no-include` to clear
|
||||
and reset the list of patterns.
|
||||
|
||||
--exclude <pattern>::
|
||||
|
||||
Do not pack refs matching the given `glob(7)` pattern. Repetitions of this option
|
||||
accumulate exclusion patterns. Use `--no-exclude` to clear and reset the list of
|
||||
patterns. If a ref is already packed, including it with `--exclude` will not
|
||||
unpack it.
|
||||
|
||||
When used with `--all`, pack only loose refs which do not match any of
|
||||
the provided `--exclude` patterns.
|
||||
|
||||
When used with `--include`, refs provided to `--include`, minus refs that are
|
||||
provided to `--exclude` will be packed.
|
||||
|
||||
|
||||
BUGS
|
||||
----
|
||||
|
@ -8,18 +8,18 @@ git-patch-id - Compute unique ID for a patch
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git patch-id' [--stable | --unstable]
|
||||
'git patch-id' [--stable | --unstable | --verbatim]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Read a patch from the standard input and compute the patch ID for it.
|
||||
|
||||
A "patch ID" is nothing but a sum of SHA-1 of the file diffs associated with a
|
||||
patch, with whitespace and line numbers ignored. As such, it's "reasonably
|
||||
stable", but at the same time also reasonably unique, i.e., two patches that
|
||||
have the same "patch ID" are almost guaranteed to be the same thing.
|
||||
patch, with line numbers ignored. As such, it's "reasonably stable", but at
|
||||
the same time also reasonably unique, i.e., two patches that have the same
|
||||
"patch ID" are almost guaranteed to be the same thing.
|
||||
|
||||
IOW, you can use this thing to look for likely duplicate commits.
|
||||
The main usecase for this command is to look for likely duplicate commits.
|
||||
|
||||
When dealing with 'git diff-tree' output, it takes advantage of
|
||||
the fact that the patch is prefixed with the object name of the
|
||||
@ -30,6 +30,12 @@ This can be used to make a mapping from patch ID to commit ID.
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
--verbatim::
|
||||
Calculate the patch-id of the input as it is given, do not strip
|
||||
any whitespace.
|
||||
|
||||
This is the default if patchid.verbatim is true.
|
||||
|
||||
--stable::
|
||||
Use a "stable" sum of hashes as the patch ID. With this option:
|
||||
- Reordering file diffs that make up a patch does not affect the ID.
|
||||
@ -45,14 +51,16 @@ OPTIONS
|
||||
of "-O<orderfile>", thereby making existing databases storing such
|
||||
"unstable" or historical patch-ids unusable.
|
||||
|
||||
- All whitespace within the patch is ignored and does not affect the id.
|
||||
|
||||
This is the default if patchid.stable is set to true.
|
||||
|
||||
--unstable::
|
||||
Use an "unstable" hash as the patch ID. With this option,
|
||||
the result produced is compatible with the patch-id value produced
|
||||
by git 1.9 and older. Users with pre-existing databases storing
|
||||
patch-ids produced by git 1.9 and older (who do not deal with reordered
|
||||
patches) may want to use this option.
|
||||
by git 1.9 and older and whitespace is ignored. Users with pre-existing
|
||||
databases storing patch-ids produced by git 1.9 and older (who do not deal
|
||||
with reordered patches) may want to use this option.
|
||||
|
||||
This is the default.
|
||||
|
||||
|
@ -9,7 +9,7 @@ git-prune-packed - Remove extra objects that are already in pack files
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git prune-packed' [-n|--dry-run] [-q|--quiet]
|
||||
'git prune-packed' [-n | --dry-run] [-q | --quiet]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user