Compare commits
2674 Commits
v2.16.3
...
v2.19.0-rc
Author | SHA1 | Date | |
---|---|---|---|
2f74393334 | |||
b9dfa238d5 | |||
8edb1b36b8 | |||
aa5dc61161 | |||
6201d755b9 | |||
926107db6d | |||
86ef236c98 | |||
99fb11d15b | |||
56ce87daff | |||
5f0ed3e204 | |||
1d27164f1a | |||
df19317f4f | |||
603160b17e | |||
1392c5d289 | |||
6d9276ea13 | |||
986c518107 | |||
fc0df933c8 | |||
6e96e88ae4 | |||
7ae96e3fcf | |||
a988ce9a58 | |||
d89db6f4c3 | |||
9b73732577 | |||
72f47be2db | |||
27c929edd6 | |||
d915114a3b | |||
7afb0d6777 | |||
183a638b7d | |||
2745817028 | |||
79b04f9b60 | |||
29d9e3e2c4 | |||
b89b4a660c | |||
c8b35b95e1 | |||
30612cb670 | |||
15da753709 | |||
1820703045 | |||
69d846f053 | |||
1c5e94f459 | |||
ec21ac8c18 | |||
f0dc593a95 | |||
ec10b018e7 | |||
bbc072f5d8 | |||
446e63ccf5 | |||
168f32eb10 | |||
eb90ea79c5 | |||
7e8bfb0412 | |||
273b0a1f58 | |||
d28017005f | |||
39e415cfd1 | |||
85c54ecc5f | |||
5a5c5e9565 | |||
36fd1e843b | |||
2a2c18f1c3 | |||
87aa1595e7 | |||
5ade034464 | |||
36f0f344e7 | |||
e72db08f15 | |||
6bbd1034d8 | |||
4601516b41 | |||
ce9c6a3c78 | |||
81eab6871e | |||
dc0f6f9e1d | |||
ace1f99cc8 | |||
a15bfa517d | |||
d18d09bb81 | |||
0c54cdaf65 | |||
42a6274b62 | |||
03e904cbd6 | |||
3bc484af74 | |||
5dd54744b8 | |||
c5c2162a32 | |||
4d34122eef | |||
6e8f3d1ca0 | |||
7d916990ba | |||
13bf260ac7 | |||
93ded333bc | |||
02c51a2fd8 | |||
750eb11d8f | |||
14677d25ab | |||
34f229790d | |||
3338e9950e | |||
59a255aef0 | |||
371979c217 | |||
fa03cdc39b | |||
4e0ea8eddd | |||
2c8c407d0a | |||
c757aa2d12 | |||
f74e7b8c5b | |||
f382c24ef0 | |||
3146f8a6a0 | |||
b576cf70b2 | |||
791ad49483 | |||
8ba8642bd5 | |||
c5d276cb18 | |||
c83149ace6 | |||
0194c9ad72 | |||
271940c11c | |||
d1b0164c4d | |||
8963bb0c2d | |||
28dbabb5e0 | |||
72c11b7e62 | |||
60858f343a | |||
28bdd99065 | |||
1bc505b476 | |||
f8ca71870a | |||
ce528de023 | |||
9bf5d4c4e2 | |||
560ae1c164 | |||
e6b09b184d | |||
31158c7efc | |||
3e7dd99208 | |||
bc9238bb09 | |||
d54e189862 | |||
63749b2dea | |||
b160b6e69d | |||
6be44b59fc | |||
11ea82ae37 | |||
c5c26f7cc2 | |||
dca64ed397 | |||
2e2c24f82a | |||
ab539208b2 | |||
dd4ab3eaaa | |||
30cf1911e2 | |||
88f240734f | |||
e28daf222f | |||
e4095da40e | |||
d6628c99fa | |||
7d020f5a78 | |||
bce8031d9a | |||
57fbd8efb0 | |||
4bea8485e3 | |||
3ec5ebee15 | |||
2d7a20258f | |||
1689c22c1c | |||
a14a9bfc13 | |||
8cabe16d9f | |||
706b0b5e8d | |||
1ba2fc603f | |||
94f879c239 | |||
10639c395a | |||
ea30f539ef | |||
1638a625ca | |||
ae4e3f4ae2 | |||
5a6693089f | |||
1076f1e454 | |||
f790d81252 | |||
64e68a3b32 | |||
e730b81df6 | |||
1731310745 | |||
ef3ca95475 | |||
dd2e36ebac | |||
1ce2b452c6 | |||
5641eb9465 | |||
2711b1ad5e | |||
e84c3cf3dc | |||
0889aae1cd | |||
79ed0a5e26 | |||
54d2f0d945 | |||
ced9fff75d | |||
10c600172c | |||
d641097589 | |||
ecbbc0a53b | |||
1b5c6c1e53 | |||
82ea77eca7 | |||
332a82a522 | |||
ff82d1260f | |||
b67b55127c | |||
b612ee202a | |||
a4009b0b45 | |||
c4500e251f | |||
74cfc0ee1d | |||
68f08b4b23 | |||
d17ef3a94e | |||
c7f3259d0d | |||
27c82fb3b4 | |||
86016ec304 | |||
383480ba4f | |||
340f4bc9f8 | |||
a52b321d2e | |||
f9beff0336 | |||
6d2df284e7 | |||
7f944e264e | |||
7a400a2c02 | |||
07096c9696 | |||
ff7fe37b05 | |||
0750bb5b51 | |||
b1adb38458 | |||
aa2f5ef500 | |||
736eb88fdc | |||
8b36155190 | |||
a7ff6f5a0f | |||
202e7f1e16 | |||
b81699af48 | |||
d365112115 | |||
4f69176feb | |||
22e3e0241a | |||
d93871143f | |||
06fc5c9f90 | |||
7e32a31b21 | |||
c2c29cc03e | |||
d651a54b8a | |||
3c4586301d | |||
eb7cc5bc80 | |||
a7be92acd9 | |||
275267937b | |||
d1f87a2d9c | |||
7190a67eab | |||
ba931edd28 | |||
0b91faa010 | |||
31cf61a080 | |||
f7c3b4e2d8 | |||
7188260d1c | |||
faa1df86dc | |||
8884cf15fb | |||
4eba1fe615 | |||
eb0be38cc9 | |||
1cdde296a5 | |||
5e242e63d0 | |||
a142f978e7 | |||
c8c5e43ac3 | |||
9dc46e0268 | |||
d9c66f0b5b | |||
348ae56cb2 | |||
22d87333e5 | |||
b6e7fc4fc8 | |||
4e5dc9ca17 | |||
5d19e8138d | |||
2b958e790b | |||
1ace63bc39 | |||
bf1a11f0a1 | |||
e05aa688dd | |||
388d0ff6e5 | |||
bff7df7a87 | |||
2d84f13dcb | |||
9fd1080a2d | |||
7e9055bb00 | |||
65799fbca7 | |||
602813cff3 | |||
0df90bdd12 | |||
a8132410ee | |||
c70e1b04f6 | |||
757b12494b | |||
1976311aa2 | |||
0ed8d8da37 | |||
6ec633059a | |||
5d14258b36 | |||
f0880f77ab | |||
b7446fcfdf | |||
46af44b07d | |||
beb188e22a | |||
8ad169c4ba | |||
8578037bed | |||
69885ab015 | |||
4dcd706fe4 | |||
d16ec9cd0f | |||
c2ec417544 | |||
d2865daa39 | |||
5146f1f842 | |||
f758a7f8ac | |||
78d70d9b10 | |||
546f70f377 | |||
9ab34f9e05 | |||
fde9522747 | |||
c30f2e20a7 | |||
45635ec924 | |||
65bb21e77e | |||
5f0df44cd7 | |||
b8ade4c576 | |||
1758abed1a | |||
cbd23de8bb | |||
9f6013a88d | |||
8b5ebbed0e | |||
c67318ecb6 | |||
1d89318c48 | |||
78a72ad4f8 | |||
cfec6133cf | |||
09ca613049 | |||
7c85ee6c58 | |||
d6873a396e | |||
cd3f067815 | |||
c99033060f | |||
e6da45c7cd | |||
c18ac30e9e | |||
2b9afea372 | |||
87ece7ce11 | |||
562413eb29 | |||
ae533c4a92 | |||
30bf8d9f4f | |||
84e74c6403 | |||
3a2a1dc170 | |||
6566a917d8 | |||
af8ac73801 | |||
50858edd1a | |||
a81575aa91 | |||
7a135475d3 | |||
b006f01ab5 | |||
bd1a32d5c8 | |||
37aac3e408 | |||
bba1a5559c | |||
bc6d33e87a | |||
5e98080188 | |||
218608cacd | |||
23e37f8e9d | |||
2ec4150713 | |||
60650a48c0 | |||
e2842b39f4 | |||
251c8c501f | |||
301ef85401 | |||
999d902627 | |||
526608284a | |||
af3a67de01 | |||
35e22d54ed | |||
aea8879a6a | |||
fe583c6c7a | |||
ad3762042a | |||
25c200a700 | |||
5522bbac20 | |||
67f16e3d3f | |||
0f16c09aae | |||
ca3e1826a0 | |||
ace64e56c1 | |||
e9dac7be60 | |||
380efb65df | |||
941a7baa4d | |||
25f74f5234 | |||
76bcde5956 | |||
54e934e66d | |||
6a8ad880f0 | |||
ad6eee36ba | |||
12861e200a | |||
2a2cdd069a | |||
5482f418f5 | |||
f2a3b68394 | |||
0f47f78e02 | |||
b4d991d1a2 | |||
58930fdb19 | |||
dee338236b | |||
54c06c6013 | |||
ffbd51cc60 | |||
eebfe40962 | |||
742587662f | |||
9f4bcf81ea | |||
d3c6751b18 | |||
8a6d0525b7 | |||
65a836fa6b | |||
d786da1cd9 | |||
1362df0d41 | |||
8b55b9db23 | |||
720dae5a19 | |||
456bab87b2 | |||
b2558abdc4 | |||
5180dd2e9f | |||
95d9d4b30c | |||
2b75fb601c | |||
92203e6432 | |||
6c213e863a | |||
b42f98af09 | |||
e488b7aba7 | |||
cc8fdaee1e | |||
1b11b64b81 | |||
c8af66ab8a | |||
13f5e09821 | |||
e3f2f5f9cd | |||
729b3925ed | |||
ffc6fa0e39 | |||
d6465fb4fc | |||
b8d93072bb | |||
b7d510e8d5 | |||
d1cd2205c2 | |||
53cae9e0f8 | |||
18a86f32ab | |||
284b444932 | |||
6fc7de1a1f | |||
d94cecfe75 | |||
9cb10ca9df | |||
8fa8a4f1ec | |||
7633ff48ed | |||
c9be7d2cd8 | |||
00da9b2091 | |||
26a46437ec | |||
fa6758e9af | |||
d3f0938973 | |||
49b46fde9f | |||
f72fd31063 | |||
88df0fa659 | |||
4301330588 | |||
3467e25e1e | |||
4922a8587b | |||
0ce5a698c6 | |||
392b3dde51 | |||
a9e7fe96cc | |||
f351b0aba4 | |||
7726d360b5 | |||
765b496dc6 | |||
f3e76ed228 | |||
26114c00be | |||
c7d017d7e1 | |||
77aa03d6c7 | |||
b20a3cbb88 | |||
2b554353a5 | |||
15cfc985e0 | |||
bbb19a8b06 | |||
1a96638e69 | |||
f57d11728d | |||
ac1e31d5ca | |||
7cd3af5437 | |||
0c7642562e | |||
0b7d324ee5 | |||
0860a7641b | |||
4ab8d1af33 | |||
6b5b309f5e | |||
68e39e4100 | |||
259328b731 | |||
02127c639b | |||
b73c6e3a0d | |||
1b5e07bbf0 | |||
661558f0a5 | |||
c60d7697d1 | |||
42246589b8 | |||
31a55e91bc | |||
cbb46ca78c | |||
a80897c1e9 | |||
d26a328eaf | |||
aad6fddb0c | |||
a769bfc74f | |||
4f5b532d18 | |||
225c62e067 | |||
f616db6a5c | |||
5507067dbd | |||
1d28ff4ce6 | |||
02f3fe5a9a | |||
d0482e697c | |||
1a07e59c3e | |||
9ac3f0e5b3 | |||
79cb2ebb92 | |||
402c47d939 | |||
1e83b9bfdd | |||
ab29f1b329 | |||
53fc999306 | |||
64c4e8bccd | |||
c671d4b599 | |||
282098506f | |||
626c0b5d39 | |||
ca1f4ae4df | |||
da4398d6a0 | |||
6ebd1cafe2 | |||
72470aa38a | |||
b7bd9486b0 | |||
5571d085b3 | |||
bedb914551 | |||
18f2717578 | |||
06994ae065 | |||
3c5b6ee92e | |||
2f826b060c | |||
b345b77b3a | |||
676c7e50b1 | |||
36b37afda6 | |||
b9632c9d95 | |||
d18602f412 | |||
d036d667b7 | |||
eb9056358c | |||
5e6140e76f | |||
ad7b8a7c5a | |||
a4d4427bc6 | |||
2516b4711f | |||
d349e188ab | |||
6dcd36473a | |||
5d459c0cec | |||
7e25437d35 | |||
00624d608c | |||
473b8bb3aa | |||
dd61cc1c2e | |||
1e7adb9756 | |||
b02f51b196 | |||
42149d7f4b | |||
58af57e1c8 | |||
1865a647c3 | |||
dade47c06c | |||
8527750626 | |||
c3756d5b7f | |||
e5c5ca2729 | |||
14727b7fe6 | |||
5faf357b43 | |||
8295296458 | |||
aa46a0da30 | |||
e2255179f6 | |||
04f6ee1a58 | |||
20a9c15619 | |||
a8e7e385cd | |||
57a8dd75df | |||
e2fe6abc3b | |||
b3095712f9 | |||
51da15eb23 | |||
ee1df66f7c | |||
3783aad4c8 | |||
74cfa7bed9 | |||
21c770b63e | |||
25790be634 | |||
950079b7b6 | |||
1f718b0b78 | |||
24c8618064 | |||
ebcbbe060f | |||
bb4efbc5df | |||
90a880393a | |||
7b90679012 | |||
5238710eb4 | |||
803394459d | |||
878f988350 | |||
9500526284 | |||
636f3d7ac5 | |||
a0a630192d | |||
c433600593 | |||
ef2d2accef | |||
079b087c8e | |||
f44a7442f6 | |||
42cc7485a2 | |||
f9f7c116a3 | |||
cff4243db9 | |||
e974e06de0 | |||
c8ce3763ff | |||
51b85471af | |||
f957f03b60 | |||
b6c32f63f3 | |||
3ea6737993 | |||
2c2d0f9f47 | |||
f2deabfcb6 | |||
75651fd783 | |||
794165cb17 | |||
be8c48d4c4 | |||
d964def526 | |||
adc73318fe | |||
ede8d89bb1 | |||
580f0980e1 | |||
94b5e093f9 | |||
2ed1960a77 | |||
02afca1ee4 | |||
b7f20f7204 | |||
ab47df2d9a | |||
5188eb5d8e | |||
fe04ccf7ca | |||
1928c9449e | |||
2ae2e2a1ca | |||
7b38efad5e | |||
4b048c917f | |||
2770ccbdb2 | |||
d9cd734990 | |||
83e4b7571c | |||
509f6f62a4 | |||
022d2ac1f3 | |||
75459410ed | |||
8c4cc32689 | |||
dc0a13f681 | |||
ab5e67d751 | |||
02cfd14920 | |||
64eb14d310 | |||
0d68764d94 | |||
b18ef13a3f | |||
650161a277 | |||
5a06a20e0c | |||
6b3351e799 | |||
6b82db9b42 | |||
e8b3b2e275 | |||
6940a06022 | |||
a704c6439a | |||
caafecfcf1 | |||
2b6ad0f4bc | |||
920f22e6bc | |||
3506dc9445 | |||
fbd0f16610 | |||
3b9291e182 | |||
587421ebdd | |||
e81c7d4145 | |||
594a8673f2 | |||
55f39cf755 | |||
eddd1a411d | |||
7f5271fa15 | |||
e1f8694f33 | |||
92702392ce | |||
cf69f2af08 | |||
b33fdfc34c | |||
5d1daf30cc | |||
c5e358d073 | |||
8530c73915 | |||
80a6c2073b | |||
2b647a05d7 | |||
b6d3f5a960 | |||
9ad36356dd | |||
8302f50e8c | |||
13f925f3e4 | |||
91c2f2040a | |||
ca5e39683a | |||
2e75c8ed85 | |||
12e73a3ce4 | |||
9d8db06eb4 | |||
570951eea2 | |||
a7e67c11b8 | |||
a0c9016abd | |||
fa29f36d99 | |||
e67a228cd8 | |||
f2d06fb13f | |||
7a36987fff | |||
1ab631647e | |||
9992fbd7a1 | |||
327ac9cb9d | |||
6aaded5509 | |||
2e9957525e | |||
5e834a4f39 | |||
9d14ecf39d | |||
c707ded332 | |||
3390e42adb | |||
cf1e7c0770 | |||
e674eb2528 | |||
639ab5efa1 | |||
ee0f3e22c6 | |||
651f7f3a1b | |||
eee73388f2 | |||
11d9ade10e | |||
451a3abc26 | |||
a79968bed1 | |||
d4d1718080 | |||
81f5a2ce7b | |||
c6d3dd5daf | |||
58f4d1b961 | |||
1b9fbefbe0 | |||
cffbfad50d | |||
e7eb15faca | |||
f1e1239811 | |||
431f4a26b5 | |||
fb23bd7af2 | |||
fbd6ef273e | |||
e5d7e9f516 | |||
02779185d5 | |||
ed6c994af4 | |||
0590ff26c4 | |||
8327974859 | |||
8616a2d0cb | |||
8e72d67529 | |||
0e58301d81 | |||
158dfeff3d | |||
8fb8e3f636 | |||
a849735bfb | |||
825ed4d9a0 | |||
768d796506 | |||
fb16287719 | |||
de6bd9e3ea | |||
4574f1aace | |||
63583203df | |||
66f9722882 | |||
1f6c72fe55 | |||
d9a05e74ec | |||
286d258d4f | |||
8e4b0b6047 | |||
108ed1a3d8 | |||
4ff7e5c936 | |||
1a40fc4509 | |||
65ea9d4bec | |||
95bb9d4c32 | |||
fd8030c739 | |||
84f80cd2db | |||
8bde69b974 | |||
bacf16874e | |||
f58a6cb602 | |||
17126cdf78 | |||
94c09a7197 | |||
a962da1ef5 | |||
a74093da5e | |||
0e740fed5d | |||
ce71efb713 | |||
3ce85f7e5a | |||
5e0c63604d | |||
08f4f44501 | |||
c1f5eb4962 | |||
2122f6754c | |||
21e1ee8f4f | |||
f86bcc7b2c | |||
da14a7ff99 | |||
1268dfac1e | |||
1ec5bfd24e | |||
5abddd1eb7 | |||
109cd76dd3 | |||
b16b60f71b | |||
88a8ecaeaa | |||
5cf8e06474 | |||
e951e8f6a9 | |||
59caacab2a | |||
e3331758f1 | |||
085d2abf57 | |||
cf22247b63 | |||
18404434bf | |||
6da2d95951 | |||
5eb8da8508 | |||
0079732e96 | |||
8d3661d5b1 | |||
92e1bbc334 | |||
078f3dc0ce | |||
8063ff9cf5 | |||
a909726903 | |||
48294b512a | |||
a9aa3c0927 | |||
733020517a | |||
989b8c4452 | |||
6d1700d564 | |||
05c4422676 | |||
14b8ced376 | |||
3374292e55 | |||
516e2b76bd | |||
d7f590be84 | |||
0060041df1 | |||
a5a959d9a8 | |||
51d1863168 | |||
45e851cb44 | |||
b00bf1c9a8 | |||
16346883ab | |||
0661e49aeb | |||
4d34dffbdd | |||
983f464fcb | |||
c840e1af09 | |||
9929430c32 | |||
d4f65b8d14 | |||
d5d5d7b641 | |||
59fb87701f | |||
d88b14b3fd | |||
e0fd51e1d7 | |||
41df0e307f | |||
437787ae1b | |||
88968ebf86 | |||
1373e547f7 | |||
53614b1351 | |||
2e3c07378f | |||
96af91d410 | |||
9bda846789 | |||
2bd0365f37 | |||
d9b9f8a6fd | |||
283e68c72f | |||
0cbef8f8ce | |||
9b19adac6f | |||
ee79705311 | |||
0e3b97cccb | |||
883e5c7fe9 | |||
55abcb417b | |||
81d395cc85 | |||
709cfe848a | |||
db64d1127f | |||
9a0fb3e772 | |||
588929d54d | |||
057449978e | |||
71a6953d16 | |||
ad136370b2 | |||
6600054e9b | |||
d4e80629ff | |||
5dacd4abdd | |||
ed843436dd | |||
02f27d0dd0 | |||
90fa1c5d6c | |||
9eb97278e5 | |||
208ee59861 | |||
f0209e80cf | |||
f3fec40e8d | |||
ebaf0a56f3 | |||
110240588d | |||
fa82bb70d9 | |||
93b74a7cfa | |||
ac997db0c1 | |||
a856e7d69f | |||
b3b2aaf0fd | |||
ea27893a65 | |||
0bf8c8ce40 | |||
f40f3c16cd | |||
ba95d4e4bd | |||
928f0ab4ba | |||
055930bc89 | |||
7687f19e93 | |||
6b15595151 | |||
bb4d000e87 | |||
240cf2a257 | |||
6653fec3bb | |||
a449f27ffa | |||
89252cd069 | |||
017c0fcfdb | |||
68d686e6af | |||
0dcbc0392e | |||
4bcd37d3bc | |||
f8a0c6e799 | |||
f3c23db2d7 | |||
3ae5fa0768 | |||
53f9a3e157 | |||
c806278e0c | |||
15b76c1fb3 | |||
1fb9df7248 | |||
a9279c6785 | |||
db2d997efa | |||
f2606b1797 | |||
efdcc99263 | |||
4d88519f6a | |||
dba1c9d9f2 | |||
fc35c9d5dc | |||
f0ac6e3943 | |||
984cd77ddb | |||
e98317508c | |||
bd73c3f13f | |||
6b55779afc | |||
83f5fa58e8 | |||
878810552b | |||
1f2abe68d0 | |||
04542b6012 | |||
242ba98e44 | |||
da34dd49bb | |||
cc2beafc4b | |||
4229478639 | |||
f300f5681e | |||
f35f43f565 | |||
1663e2ba68 | |||
1022379886 | |||
4898dd2513 | |||
698eb031bb | |||
23fc55a90c | |||
f72432d64e | |||
929c097548 | |||
faff81287b | |||
094381ed79 | |||
a626082629 | |||
e638899470 | |||
d676cc512a | |||
1bd0e6779a | |||
26675087a5 | |||
caa88140d4 | |||
83ea4e1e59 | |||
a9fda811fc | |||
44301d2b76 | |||
19436fe03a | |||
01b4a63f55 | |||
48dc98344f | |||
b36c3134bb | |||
94eff2b69a | |||
2e157d134c | |||
8de19d6be8 | |||
76fda6ebbc | |||
3a36ca0881 | |||
1140bf01ec | |||
9d2e330b17 | |||
cf317877e3 | |||
9347166d5d | |||
04f673d7e4 | |||
94a2bb56b3 | |||
fd8cb37902 | |||
6484659f26 | |||
cc9ab5bdfc | |||
1f764f054c | |||
ee4286e8a3 | |||
e530425bc1 | |||
09dba1409d | |||
3509754cae | |||
3b1110a658 | |||
90d4bec978 | |||
19926351bc | |||
fdb1fbbc7d | |||
037714252f | |||
7f81c00f3b | |||
96cfa94e68 | |||
ec06283844 | |||
d093bc7582 | |||
d30fe89c37 | |||
af1c90d13e | |||
21bcf6e429 | |||
f448ec19c7 | |||
4fa4f90ccd | |||
c3749f6e59 | |||
5fc84755f1 | |||
af008558cc | |||
34c2903456 | |||
28cb06020b | |||
297bdf0791 | |||
9da2d0379e | |||
56c0bfbb69 | |||
68372c8879 | |||
549ca8aa7c | |||
4d605b0f38 | |||
8d0d53a8cf | |||
fb6ac9e79a | |||
c12c9df527 | |||
b611396e97 | |||
b2453d3449 | |||
30aa96cdf8 | |||
627be1538d | |||
3deed5e078 | |||
8fa0abf830 | |||
55bb3e3611 | |||
0ef67acdd7 | |||
b9d34db9a2 | |||
3b3477ea5a | |||
f55b87c1c7 | |||
d067d98887 | |||
cac1137dc4 | |||
5b26c3c941 | |||
8ebe7b057a | |||
5455c33839 | |||
9366536583 | |||
d90e759fd5 | |||
2d6bad918d | |||
58ebd936cc | |||
61d48c66ea | |||
2904c25f8b | |||
3737746120 | |||
c79edf73f4 | |||
6b1fae1dfb | |||
7eedad15df | |||
e9502c0a7f | |||
40aac22b43 | |||
47cc91310a | |||
431acd2de8 | |||
b221b5ab9b | |||
6cb09125be | |||
2f3cbcd8c5 | |||
9dd39821e3 | |||
7865d157a5 | |||
c495fd3d1b | |||
dc06422183 | |||
f4d35a6b49 | |||
8d7b558bae | |||
ad8d5104b4 | |||
1c550553c5 | |||
3c87aa946a | |||
e4d2d55ae4 | |||
e417151b24 | |||
17b44aebb5 | |||
c8cbf20cc2 | |||
6f333ff2fb | |||
425e504c7c | |||
e93f5ec21d | |||
cdd9311290 | |||
5589271206 | |||
098a3ffcd3 | |||
3e5524907b | |||
e66e8f9be8 | |||
01cbd9eab5 | |||
7fe48cb396 | |||
c45505d081 | |||
643a9ea3e0 | |||
f635b8d17b | |||
a97447a42a | |||
aee9be2ebe | |||
efde7b725c | |||
19517fb964 | |||
78f28e2a11 | |||
0c5a779c67 | |||
e34de73c56 | |||
a093a5da48 | |||
f29a2d82f4 | |||
70d748213e | |||
296415c039 | |||
c2c7d17b03 | |||
026b8ef9f7 | |||
6c301adb0a | |||
d6e5484208 | |||
ba928e9740 | |||
95dd4b2b14 | |||
cbb408e6ae | |||
7659bda0f3 | |||
7cb4a974d3 | |||
caf0c98c63 | |||
e1149fd7d9 | |||
2bd108ff65 | |||
2289880f78 | |||
e6be8e2f9f | |||
368b4e5906 | |||
14a9bd2898 | |||
c3072c6e4d | |||
09427e8366 | |||
f156a0934a | |||
86f0b3727c | |||
9cd4382ad5 | |||
2161ed8098 | |||
9384c0ca48 | |||
6d98d0c018 | |||
ef64bb328d | |||
c42abfe785 | |||
2a00502b14 | |||
a27cd1ab7f | |||
9b7388a855 | |||
adf99271bb | |||
12039e008f | |||
13e8be95db | |||
e47dbece39 | |||
9472b13201 | |||
d89f1248aa | |||
3f384aaac4 | |||
7c3d15fe31 | |||
b2fd659294 | |||
0821b73063 | |||
2305770816 | |||
e12cbeaa62 | |||
6ac5acae2d | |||
f15a486ca1 | |||
a173dddf44 | |||
017b7c52fc | |||
ab48bc0aea | |||
54db5c0e1e | |||
42c8ce1c49 | |||
3d24129799 | |||
2a98a8794e | |||
4ce72180ab | |||
6105fee3fd | |||
a4eae17c2c | |||
26597cb0cc | |||
cf315793c1 | |||
5da4847dcc | |||
50f08db594 | |||
bef896e4ab | |||
0abb962893 | |||
2f76ebc93c | |||
0e7af5f6d1 | |||
6e2ba77bda | |||
c5aa4bccb5 | |||
89be19d708 | |||
44f560fc16 | |||
5971b0836e | |||
5340d47107 | |||
7913f53b56 | |||
f22f682695 | |||
09c4ba410b | |||
bea2125928 | |||
f45db831c1 | |||
e17ca92637 | |||
431bb23a27 | |||
fb6fbffbda | |||
a4a9cc19a2 | |||
3ac68a93fd | |||
a46baac61e | |||
fa151dc54d | |||
a73b3680c4 | |||
17b3e51505 | |||
3fe735e723 | |||
2b1c01d22e | |||
cff5dc09ed | |||
8fc8f05cef | |||
0231ae71d3 | |||
ba4e356109 | |||
590551ca2c | |||
fb3010c31f | |||
ff417260cf | |||
35d515b53f | |||
d43eba0ab5 | |||
6ac767e5c0 | |||
5b0b9712d2 | |||
0cdabc1083 | |||
2a4c19efbf | |||
de613050ef | |||
4d36f88be7 | |||
0ed556d38f | |||
3e4a67b47d | |||
123f631761 | |||
12ecea46e3 | |||
cbc5cf7ce5 | |||
e144d126d7 | |||
fb3a0cabf2 | |||
d7e9611025 | |||
5a97e7be88 | |||
df20b622fa | |||
1e174fdbe6 | |||
02d11bb5c6 | |||
be75d12982 | |||
fda537adba | |||
d658196f3c | |||
6b0f1d9c47 | |||
4e0086bea1 | |||
71cdbb3d4a | |||
2c18e6ae24 | |||
ad635e82d6 | |||
c67de747f4 | |||
c9aac55c4e | |||
4a3bf32b6c | |||
10174da9f1 | |||
352cf6cfe1 | |||
5002702e48 | |||
e3ab3e8a39 | |||
fcb6df3254 | |||
d0f7b22b5b | |||
89753dc2b7 | |||
41267e9697 | |||
30b015bffe | |||
c89b6e136e | |||
05682ee270 | |||
798b029da8 | |||
c8311980f9 | |||
c4e7220f08 | |||
b577198526 | |||
ece48106e6 | |||
d9a0ddc217 | |||
e1dd23a8c9 | |||
a2cec42213 | |||
67b878eba1 | |||
eaf6a1b6e9 | |||
1a53e692af | |||
fc54c1af3e | |||
9e84a6d758 | |||
68f95b26e4 | |||
a42a58d7b6 | |||
023020401d | |||
d33c87517a | |||
9e0f06d55d | |||
4dde7b8799 | |||
7b01c71b64 | |||
0114f71344 | |||
8528c31d98 | |||
b7b1fca175 | |||
73c3f0f704 | |||
6e328d6cae | |||
1995b5e03e | |||
ed8b10f631 | |||
2738744426 | |||
159e7b080b | |||
7ac4f3a007 | |||
ed9c322062 | |||
db5a58c1bd | |||
eedd5949f5 | |||
10ecfa7649 | |||
eb12dd0c76 | |||
641084b618 | |||
e19e5e66d6 | |||
41a80924ae | |||
dc2d9ba318 | |||
e7cb0b4455 | |||
0fc333ba20 | |||
11a9f4d807 | |||
0383bbb901 | |||
33286dcd6d | |||
1472978ec6 | |||
7adf526670 | |||
04bc8d1ecc | |||
d7c1ec3efd | |||
f9b8908b85 | |||
819807b33f | |||
e2838d85b6 | |||
3afc679b3c | |||
3258c66332 | |||
83073cc994 | |||
a0ef29341a | |||
6d33e1c282 | |||
c7199e3abe | |||
1c41d2805e | |||
342c513a4a | |||
37fa4b3c78 | |||
9d2c97016f | |||
e2e5ac2303 | |||
7b680d32f3 | |||
44cecbf8a0 | |||
60855a5343 | |||
8fd79a7304 | |||
bb408ac95d | |||
87be252333 | |||
3cc0287b39 | |||
8315bd20ea | |||
58dbe58faa | |||
c6b7206b0d | |||
4e0df4e663 | |||
878f0bb819 | |||
a9f1f1f9f8 | |||
17154b1576 | |||
e7347cb9ba | |||
3b82542dff | |||
2a00e594e5 | |||
eea253bf39 | |||
0b2c4af4b6 | |||
5c024287ad | |||
e4c5652304 | |||
2a73022e5c | |||
d29d5001e9 | |||
a6c5799052 | |||
b55ee57277 | |||
7022ba336d | |||
10c636a79a | |||
f2fffc17dc | |||
bdee9cd6c1 | |||
75fe818442 | |||
31fb3f4296 | |||
f1aae0346a | |||
18cb8231b3 | |||
6532f3740b | |||
3301d36b29 | |||
e11dca10cf | |||
65b5f9483e | |||
d9fcc7f871 | |||
84a9713106 | |||
fe902f2cef | |||
1b81d8cb19 | |||
63eae83f8f | |||
3c7777672b | |||
6bb2dc0b94 | |||
e5d7a61953 | |||
0089521cac | |||
ac4896f007 | |||
bf4baf1fed | |||
735e4173b3 | |||
d50b69b868 | |||
390c6cbc5e | |||
17b8a2d6cd | |||
2dc417ab1f | |||
7d31407348 | |||
8b4c2e0b1c | |||
3f1c1c3600 | |||
89e653da5b | |||
b9dbddf6da | |||
2f6c767fd4 | |||
eee4502baa | |||
102de880d2 | |||
0437a2e365 | |||
d0e5dd0ed4 | |||
a3b78e833b | |||
e808656c46 | |||
c88134870e | |||
22bdc7c4ff | |||
19143f139d | |||
6a2df51c84 | |||
1f93ecd1ab | |||
438a87d1e2 | |||
76f4212597 | |||
7a1dc605af | |||
dcc73cf7ff | |||
6373cb598e | |||
60fba4bf16 | |||
afb1aed403 | |||
5c7ec8462d | |||
38490dd416 | |||
7a78a82b6c | |||
168dba68c9 | |||
306f22dbc8 | |||
aa40289ce9 | |||
800a4ab399 | |||
9fa2e5e853 | |||
f3acb8309f | |||
86baf82521 | |||
d000414e26 | |||
a2ac50cbfd | |||
def11e7193 | |||
65d96c8b7d | |||
65a1301f2e | |||
860fdf1e6e | |||
e4cffacc80 | |||
d7c8e30716 | |||
57f32ac2a5 | |||
9530350096 | |||
e5349abf93 | |||
6bdb304b10 | |||
16eefc8eb3 | |||
eace274df8 | |||
8ca69370c8 | |||
0460f47277 | |||
e03c4e084d | |||
895d391258 | |||
9c8361b289 | |||
c8fa9efe3a | |||
6d4c057859 | |||
3eec3700fd | |||
0ad4a5ff50 | |||
ec0cb49655 | |||
3ee37656ee | |||
02ba3e1a05 | |||
3f5787f806 | |||
be479e801d | |||
6a1a79fd14 | |||
cbd53a2193 | |||
14ba97f81c | |||
325f3a8e07 | |||
18cfc08866 | |||
e30d833671 | |||
b2aa84c789 | |||
4362da078e | |||
831c61cc6b | |||
62798a7037 | |||
2bc3d12668 | |||
bfb546f86c | |||
d7a2fc8249 | |||
0fbdb52f9e | |||
5b9ba9bd80 | |||
2ece6ad281 | |||
bd981d5fc3 | |||
8125a58b91 | |||
198857bf7e | |||
d16ab63429 | |||
786ef50a23 | |||
f07eeed123 | |||
7484cf538e | |||
8702b30fd7 | |||
43fc643b75 | |||
577dd0d29b | |||
a5411df0d9 | |||
25f859fdf4 | |||
e8b2dc2c2a | |||
b5d5a567fb | |||
be11f7ad60 | |||
db0210d445 | |||
65eb8fc344 | |||
c0bdd658bd | |||
011b648646 | |||
5cc044e025 | |||
ee930754d8 | |||
f6b82970aa | |||
cfb482b6c3 | |||
a885c93b5c | |||
87a6bb701a | |||
89f32a92b4 | |||
7248672947 | |||
a264f229cb | |||
f7997e3682 | |||
fc1b9243cd | |||
60f487ac0e | |||
cfb22a02ab | |||
f318d73915 | |||
75ba897e30 | |||
74fd0705bb | |||
d587307205 | |||
74373b5f10 | |||
c112084af9 | |||
746ea4adc6 | |||
0fa5a2ed8d | |||
b227586831 | |||
3c6fad4a3f | |||
010845157a | |||
75d9a25e1f | |||
b6f7ac8fd5 | |||
f0fd0dc5c5 | |||
c033a2f62d | |||
341e45e46b | |||
346a817a72 | |||
dd5d9deb01 | |||
17bfe87369 | |||
13e3fdcb76 | |||
a0bd9086bb | |||
8ba0e5ec57 | |||
cf7203bdc6 | |||
f0de1d62ae | |||
c077a4526b | |||
68f95d382b | |||
99bf115c87 | |||
4ed79d5203 | |||
6f10a09e0a | |||
85b460305c | |||
a7152e9d22 | |||
1de70dbd1a | |||
05cf21eba2 | |||
277292d5ae | |||
a35edc84bd | |||
c04ba51739 | |||
2f682e21a6 | |||
bd42380ef1 | |||
fd53b7ffd1 | |||
6e7e027fe5 | |||
bc71c4eebe | |||
18797a3b10 | |||
64b1abe962 | |||
79c47598f5 | |||
9c0743fe1e | |||
5b047ac070 | |||
f6f7755918 | |||
e95ab70aac | |||
96e7ffbdc3 | |||
7fe40b88ef | |||
ccdcbd54c4 | |||
96f29521a3 | |||
71c848bb28 | |||
a56fb3dcc0 | |||
3915f9a4fa | |||
ad3207e6ff | |||
df7abe3fef | |||
79d92b113c | |||
c50f76aa9d | |||
0cd58d8ba9 | |||
0657e0f802 | |||
6d2a655a4f | |||
6c0110ff06 | |||
a500a9c415 | |||
00bb99c424 | |||
e3e042b185 | |||
278c251147 | |||
1dfb929a37 | |||
90186fa057 | |||
535cfa32d7 | |||
3138f23c2e | |||
c0bdbac449 | |||
1ac0ce4d32 | |||
7d7d051c5e | |||
e998e7a188 | |||
174774cd51 | |||
b10edb2df5 | |||
4f4d0b42ba | |||
b7da73ac8b | |||
0c7ecb7c31 | |||
92034a9cd5 | |||
c988f6425a | |||
9bfa0f9be3 | |||
cd1e606bad | |||
085e2ee0e6 | |||
379805051d | |||
743e63f3ed | |||
c3c3486b24 | |||
033abf97fc | |||
dde74d732f | |||
a86303cb5d | |||
92c4a7a129 | |||
58bd77b66a | |||
5356a3c354 | |||
88184c1fc2 | |||
43d7f2d65a | |||
97c5d246ec | |||
47481ff24f | |||
e78e0f728e | |||
9dba84d81c | |||
21d0764c82 | |||
8fa6eea0ff | |||
d87d48b2e0 | |||
9c85a1c29c | |||
ebddf39396 | |||
ba97aea165 | |||
ba95710a3b | |||
5459268751 | |||
d9ea451ab6 | |||
dc6b1d92ca | |||
04c4a4e865 | |||
7213c28818 | |||
447ed832e5 | |||
7cc6ed2d06 | |||
ea44c0a594 | |||
76a8788c14 | |||
7882fa220c | |||
23ec4c51d5 | |||
03a7f388da | |||
e1ccd7e2b1 | |||
ba2df7519a | |||
57911a31fe | |||
a055493436 | |||
62ba93eaa9 | |||
d8448522d8 | |||
c00866a2cc | |||
f2e51195dc | |||
939b89a083 | |||
7a915b4b74 | |||
e9fe6f262e | |||
cb91022c0e | |||
d41836a0b2 | |||
d8a92ced62 | |||
f6d27d2468 | |||
de1d81d5af | |||
55dc227d16 | |||
fd521245e6 | |||
dd724bcb2f | |||
70c369cde0 | |||
26ea3e7dca | |||
5d9e198245 | |||
6390fe20eb | |||
75691ea345 | |||
2182abd94b | |||
34caab0261 | |||
c54f5ca970 | |||
3b683bcf85 | |||
e84bc23cb6 | |||
00de606332 | |||
411791009b | |||
37fec86a83 | |||
544443cb3c | |||
6862ebbfcb | |||
14c3c80c81 | |||
c51c39418b | |||
6f13fd0ec6 | |||
910710bb95 | |||
69d124255e | |||
8fb572af5f | |||
279ffad17d | |||
50cd54ef4e | |||
7db118303a | |||
742ae10e35 | |||
15ef69314d | |||
dc4b5bc353 | |||
e12a7ef597 | |||
d5bc6f292a | |||
a3694d949f | |||
f42fa470b0 | |||
8d0d81a9ca | |||
e2d65c1ea8 | |||
f9f99b3f7d | |||
0115e030db | |||
fb40429109 | |||
041c98e22d | |||
e24e871920 | |||
7d0ee47c11 | |||
f60a7b763f | |||
6427f87186 | |||
2c27002a0a | |||
d861d34a6e | |||
7818b619e2 | |||
20460635a8 | |||
00acdbc6fd | |||
d398f2ea00 | |||
fef461ea5d | |||
c5aa6db64f | |||
25cff9f109 | |||
7543f6f444 | |||
1131ec9818 | |||
7ccdf65b63 | |||
537e7d6135 | |||
a9be29c981 | |||
24293359cc | |||
8f6aed71d2 | |||
1644c73c6d | |||
d1e8b0114b | |||
4c68e7ddb5 | |||
9055e401dd | |||
f431d73d9c | |||
cb5206eab1 | |||
a01c2a5f59 | |||
2f6b1d13aa | |||
bf5c0571d6 | |||
38368cba26 | |||
9d98354f48 | |||
589de91185 | |||
57a6a500be | |||
5da6534dd6 | |||
720aaa1a74 | |||
144f4948a1 | |||
0df23781fe | |||
0df8e96566 | |||
7ecd869060 | |||
1f1cddd558 | |||
cac7a2ba7b | |||
bedb10c788 | |||
89e5aa3dff | |||
02645318f6 | |||
7a79d7e9fb | |||
beed7e22fd | |||
3a940e90d5 | |||
6b747fc723 | |||
8b22d13243 | |||
deb9845a0a | |||
3d5a179ec0 | |||
b3d6c48c5f | |||
cb6462fe74 | |||
f9bcd751aa | |||
f8fbcd6e01 | |||
f2d5e07667 | |||
da36be5f08 | |||
03f78e1434 | |||
4cbaa6b47f | |||
e6986abb77 | |||
8295f2028f | |||
ff6eb825f0 | |||
5d8da91e70 | |||
850e925752 | |||
d892beef52 | |||
18a6a8571f | |||
b1218e46a6 | |||
8b09611475 | |||
842436466a | |||
5e3548ef16 | |||
ff473221b4 | |||
ecc3e5342d | |||
bbc39d4020 | |||
4d5b4c2475 | |||
0210231b08 | |||
cc5e1bf992 | |||
0dc95a4d8a | |||
25d5f52901 | |||
cdc2d5f11f | |||
64f982b8a7 | |||
90df2173f2 | |||
0b6b342954 | |||
2e85a0c8ab | |||
79f62e7dd9 | |||
8301266afa | |||
960786e761 | |||
295d949cfa | |||
63e2a0f8e9 | |||
6d2f9acc0f | |||
eeaa24b990 | |||
8ab5aa4bd8 | |||
96913c9df6 | |||
be011bbe00 | |||
ffc16c490a | |||
e5257b2a0d | |||
3992ff0c4c | |||
9cfee25a82 | |||
f172589e59 | |||
9ba915577f | |||
a7a436042a | |||
a0b0a15103 | |||
792e1371d9 | |||
362ab315ac | |||
f95de9602b | |||
f349987688 | |||
c449947a79 | |||
de632e4ed3 | |||
21b53733a0 | |||
509555d8ad | |||
04550ab56f | |||
df70b190bd | |||
0eb5a4f911 | |||
73364e4f10 | |||
fb0dc3bac1 | |||
12f7babd6b | |||
256be1d3f0 | |||
d8698987f3 | |||
0b5e2ea7cf | |||
4c57a4f8fe | |||
6955047ff4 | |||
933c758c7d | |||
9e9f132f53 | |||
bed21a8ad6 | |||
d228eea514 | |||
94408dc71c | |||
7b00342068 | |||
193757f806 | |||
c1bc0a0e92 | |||
9703797c9d | |||
105c0efff3 | |||
a364e984d1 | |||
f12785a3a7 | |||
3dfe23ba51 | |||
6bf0ced4e2 | |||
722e31c713 | |||
5bb534a620 | |||
a279b74c68 | |||
adc887221f | |||
6d5ed4836d | |||
8b44b2be89 | |||
f68f2dd57f | |||
17ef3a421e | |||
e6fa6cde5b | |||
f80bee27e3 | |||
1b0eeec3f3 | |||
cf98a52ba4 | |||
26d2e4fb22 | |||
99f763baf5 | |||
1da1580e4c | |||
d2bff22c23 | |||
5af050437a | |||
9806f5a7bf | |||
8fc6776247 | |||
55dfe13df9 | |||
ae4e89e549 | |||
ed7e5fc3a2 | |||
e9e33ab0fb | |||
f6a5576d52 | |||
3b13a5f263 | |||
0aca34e826 | |||
ac77d0c370 | |||
27a7d0679f | |||
660b373542 | |||
0cb3c1427a | |||
898eba5e63 | |||
43fa44fa3b | |||
06af3bba41 | |||
b5c0cbd808 | |||
0c6804ab4e | |||
fd9b1baef8 | |||
8d6ccce14f | |||
4c2db93807 | |||
e92d622536 | |||
541d059cd9 | |||
7a17918c34 | |||
107642fe26 | |||
c6e48652f6 | |||
10ecb82e4f | |||
2f0c4a362c | |||
0b484b4816 | |||
9e8e262749 | |||
065feab4eb | |||
90e777f1e2 | |||
5643557e63 | |||
5982da9d2c | |||
0d296c57ae | |||
64a741619d | |||
1f2e7ceabc | |||
9dfe98a8b3 | |||
fe6d34d863 | |||
60ce76d358 | |||
23a3f0cb16 | |||
c3c36d7de2 | |||
c1274495ce | |||
47f351e9b3 | |||
d88f9fdf8b | |||
f37b9bc00c | |||
92a5dbbc22 | |||
96c47d1466 | |||
7dc0656e2f | |||
fe0a9eaf31 | |||
4a5d2ec33a | |||
11bc058ce6 | |||
fc1395f4a4 | |||
e5e5e08832 | |||
d807c4a01d | |||
e233bef43e | |||
fa2656f1da | |||
86e254584b | |||
c1be1cb7ea | |||
226c0ddd0d | |||
07d90eadb5 | |||
f6a0ad4be7 | |||
ca598d5f2a | |||
8b026edac3 | |||
d8579accfa | |||
297e685cba | |||
8796b307ea | |||
26e47e261e | |||
7a94b26f17 | |||
9b59d8869d | |||
c40c1a0df2 | |||
103251a318 | |||
27f25845cf | |||
3a1ec60c43 | |||
cf0b1793ea | |||
5ff42d42da | |||
1819630707 | |||
d877975e12 | |||
709f9f5b4b | |||
cd94dd02a6 | |||
7b8a21dba1 | |||
2e27bd7731 | |||
5bb03de102 | |||
891435d55d | |||
2d5792f071 | |||
7547b95b4f | |||
3d5df01b5e | |||
049d51a2bb | |||
177722b344 | |||
4f2542b49e | |||
1b70dfd594 | |||
2a2e32bdc5 | |||
cfb3a47cad | |||
8524bf7cc1 | |||
0b0cc9f867 | |||
aa1c2b6804 | |||
9aa3a4c406 | |||
e8cb62f190 | |||
ef06d74b45 | |||
51f813c6b3 | |||
57e4b1c67a | |||
d19e556529 | |||
0873c393c7 | |||
62c0fd46a8 | |||
78a2d21231 | |||
0a8950be5d | |||
69d71ec443 | |||
cbf0339439 | |||
ca923f7265 | |||
a5bbc29994 | |||
78c20b8fca | |||
a26e1f4b59 | |||
cb3e97dae8 | |||
cac5351363 | |||
5d806b74d5 | |||
e4bb62fa1e | |||
c71d8bb38a | |||
22aedfccd0 | |||
6ae996f2ac | |||
5221c3159f | |||
668b9ade6b | |||
fee8572c6d | |||
8032cc4462 | |||
b73bdc34c0 | |||
422e8ef26d | |||
249482daf0 | |||
22d11a6e8e | |||
3f0b42bd07 | |||
8523b1e355 | |||
c30d4f1b84 | |||
decf711fc1 | |||
e67d906d73 | |||
43b44ccfe7 | |||
51db271587 | |||
1fb20dfd8e | |||
427cbc9dbf | |||
0ffaa00f45 | |||
53df97a29d | |||
4855f06fb3 | |||
bbd374dd20 | |||
dde154b5bd | |||
85bf5d61e7 | |||
46fc89ce74 | |||
e9313952bf | |||
efbaca1b69 | |||
83b7fd8771 | |||
6ceb658c99 | |||
cb427e9eb0 | |||
86238e07ef | |||
e9184b0789 | |||
fcd9d7096f | |||
b1801b85a3 | |||
1f537be3f2 | |||
a236f900d8 | |||
9c18398f8b | |||
f237c8b6fe | |||
08fd81c9b6 | |||
4ce58ee38d | |||
ae30d7b115 | |||
b84f767c8a | |||
cfe83216e4 | |||
f2af9f5e02 | |||
468165c1d8 | |||
1614dd0fbc | |||
5f9441769f | |||
fd2fb4aa0c | |||
8bb6d60dd6 | |||
05e293c1ac | |||
fb9c2d2703 | |||
8500e0de3f | |||
2b5ed37365 | |||
cb50761959 | |||
48988c4d0c | |||
c2a499e6c3 | |||
c7620bd0f3 | |||
a0d51e8d0e | |||
e339611b12 | |||
74efea9474 | |||
e6ff7b3bb5 | |||
3fc8439ce1 | |||
3019eca918 | |||
e2e7a24545 | |||
d81b651f56 | |||
da27a6fbd5 | |||
b79966aa38 | |||
a852ec7f27 | |||
56173d28a5 | |||
3d946165e1 | |||
76ea235891 | |||
da62f786d2 | |||
0c89fdd739 | |||
3b8fb393bc | |||
f793b895fd | |||
6856077ab0 | |||
61aad92b85 | |||
610f8099cd | |||
31e5e17b22 | |||
74b6bda32f | |||
03df495947 | |||
72d30c71a3 | |||
2081fa73b4 | |||
87cc76fa3a | |||
a4d4e32a70 | |||
1be5ae8a4b | |||
9748e39d0c | |||
0a790f09c6 | |||
5988eb631a | |||
45fa195ff0 | |||
9eb2308019 | |||
2e3efd0613 | |||
c94b6ac50f | |||
c81f843d09 | |||
0489289de2 | |||
599fbd8733 | |||
112edd6abe | |||
b618821306 | |||
c932a5ff28 | |||
1a5f3d7022 | |||
e154a6f3de | |||
aa218dffcc | |||
ff5fb8b034 | |||
ae6a51f5a1 | |||
77d4b8c832 | |||
9038531f1b | |||
65370d81ef | |||
5fbe600cb5 | |||
15b7581776 | |||
b8d5cf4f96 | |||
c033cc1508 | |||
d9cc2c8780 | |||
34889d3cd7 | |||
9080e75fbc | |||
cc6f663dea | |||
7c18cbd562 | |||
c680668d1a | |||
dbceb3ecc5 | |||
8133061e69 | |||
06ccb29e8b | |||
1c854745bd | |||
9153dde5e2 | |||
a801a7cfc7 | |||
e499894443 | |||
0e2678af4c | |||
64eb82fea8 | |||
dae2ff9bb6 | |||
0e496492d2 | |||
efd71f8913 | |||
31bdb1f28e | |||
736f2efcfb | |||
7cbae724a4 | |||
ae2f8d5bd6 | |||
60e0dc0bd8 | |||
d3438d1a09 | |||
64af7752bb | |||
0dc3ad99d2 | |||
06d18bdf86 | |||
d47125d4ec | |||
49eb8d39c7 | |||
464416a2ea | |||
0a0dd632aa | |||
613b42f283 | |||
4c2a13b4e2 | |||
0f90a9f27e | |||
935cdd6922 | |||
a49d283435 | |||
6fdb4e9f5a | |||
072a109356 | |||
5babff16d9 | |||
c235beac4e | |||
804be79690 | |||
4a7c05f7d7 | |||
bd27f50c80 | |||
1fea63e1da | |||
ec7283e586 | |||
d2607fa053 | |||
a68377b5de | |||
e977fc7469 | |||
e35454fa62 | |||
332295d7e4 | |||
2ba0bfd67f | |||
fbe33e2798 | |||
cf78ae4f3d | |||
13068bf0a0 | |||
77f012e876 | |||
0b20903405 | |||
93d8d1e29d | |||
ca5e6d2640 | |||
cfc62fc98c | |||
13313fc333 | |||
9a00580d03 | |||
5508f69348 | |||
d0b5986622 | |||
a80d72db2a | |||
9f242a1336 | |||
f78ab355e7 | |||
248f66ed8e | |||
14ced5562c | |||
c55c4a5b64 | |||
be6d1b24ad | |||
1dc26db1ff | |||
9f642a7169 | |||
48e1c69ade | |||
d23bb387ae | |||
e954794779 | |||
007aa8d834 | |||
902f5a2119 | |||
edc320edc3 | |||
f24cd4189d | |||
ca3d446e44 | |||
c04549b263 | |||
950b487cf0 | |||
27c499bf33 | |||
d48f97aa85 | |||
2f5f469bc4 | |||
7be97e414b | |||
b60e88cc78 | |||
97501e933a | |||
031dc927f4 | |||
0d4a132144 | |||
90c62155d6 | |||
00a3da2a13 | |||
0c4030ca26 | |||
90bbd502d5 | |||
3bb0923f06 | |||
0aaf05b3bd | |||
3d475f46a8 | |||
626fd982a3 | |||
8b0eaa41f2 | |||
353278687e | |||
085f5f95a2 | |||
d16c37964c | |||
d17811154b | |||
c108a77f8f | |||
f46cdf4a3a | |||
4c5dbf1c14 | |||
e2a37ec2b0 | |||
bfaab4885a | |||
79cc6432ec | |||
564710379b | |||
f62452ecfc | |||
fddf9a2d06 | |||
649406644d | |||
beb2cdf504 | |||
75901dfd52 | |||
4551fbba14 | |||
009a81ed97 | |||
fbcf99e4ac | |||
7ce2f4ca0e | |||
e28ae5072f | |||
53ab9f0e3d | |||
5013acc278 | |||
df8526cef2 | |||
dabe29bbbd | |||
bb2ac4fcac | |||
b635ed97a0 | |||
00a4b03501 | |||
156e1782a8 | |||
d319bb18b1 | |||
833622a945 | |||
d97e4fa748 | |||
206a6ae013 | |||
9ee0540a40 | |||
1775e990f7 | |||
bd9958c358 | |||
1439a72e17 | |||
b5827d230c | |||
d2cad6e67e | |||
6a07148356 | |||
d65800c648 | |||
77781256b9 | |||
1a849b56ac | |||
14f437f338 | |||
31243e7fff | |||
33ac3e8968 | |||
b82ef32528 | |||
abc8de64d2 | |||
0afbf6caa5 | |||
e215e89791 | |||
9ecfd98a87 | |||
a8ba07c68a | |||
ae1644b08e | |||
e74737b6a1 | |||
fbc615b70a | |||
40c17eb184 | |||
b8fd6008ec | |||
ad874608d8 | |||
a4d79b99a0 | |||
7bc506d038 | |||
327864aaf7 | |||
3800135b89 | |||
b586a96a39 | |||
a4d78ce26b | |||
0f1dc53f45 | |||
237ffedd46 | |||
884e586f9e | |||
8ff14ed412 | |||
49e85e9500 | |||
f08a5d42ea | |||
f1f4d8acf4 | |||
edc9caf7e2 | |||
176e85c1b4 | |||
b1c2edfc18 | |||
1aa8dded3a | |||
40fc51e39f | |||
f7e2050105 | |||
685fbd3291 | |||
3145ea957d | |||
5b872fff18 | |||
230d7dd391 | |||
b4be74105f | |||
1af8ae1cfa | |||
834cf34b26 | |||
e52449b672 | |||
72d0ea0056 | |||
ed10cb952d | |||
0e267b7a24 | |||
0a0eb2e585 | |||
4aa0161e83 | |||
98a2ea46c2 | |||
ffb2c0fe5c | |||
e6c531b808 | |||
a363f981ec | |||
a91b113320 | |||
74e7002961 | |||
8f6982b4e1 | |||
432e956510 | |||
ad6ac1244f | |||
7e3e479b90 | |||
635365eb2f | |||
ae2948f30c | |||
a3d6b53e92 | |||
a4cfd41c7b | |||
77dabc14c4 | |||
2153d478b7 | |||
7fb6aefd2a | |||
99321e327b | |||
88506cb887 | |||
c5e2df04ac | |||
bd0f794342 | |||
436d18f2d0 | |||
b423234dde | |||
571e472dc4 | |||
d92a015660 | |||
787aa97f21 | |||
868f7d2338 | |||
024aa4696c | |||
1a750441a7 | |||
1af64f73a9 | |||
b383a13cc0 | |||
b4f5aca40e | |||
02f0547eaa | |||
916bc35b29 | |||
575042a04f | |||
0d4a8b5b6c | |||
e8adba25ff | |||
f8ddeff509 | |||
abef9020e3 | |||
7984f23833 | |||
4310b0c441 | |||
d169d6644c | |||
e816caa07b | |||
83eb08020c | |||
ef7b5195f1 | |||
17e65451e3 | |||
d61d87bd15 | |||
af8caf33d5 | |||
e5ec981a4b | |||
015ff4f822 | |||
eedc994f18 | |||
1731a1e239 | |||
246d7400fb | |||
16f0705df1 | |||
aab9583f7b | |||
40f5555ca3 | |||
30e677e0e2 | |||
1776979573 | |||
df46d77e00 | |||
5ac913c6eb | |||
6dcb462530 | |||
fc5cb99f67 | |||
38b471fae0 | |||
68ee6dfc9e | |||
2ee13a780b | |||
7d4bebfe93 | |||
cd56d4e5b2 | |||
a8210328f4 | |||
2b7750c923 | |||
66b8af3e12 | |||
c20bf94abc | |||
54ce2e9be9 | |||
d0db9edba0 | |||
077cde91d2 | |||
9bb8eb0c88 | |||
cdda65acae | |||
74735c9ca7 | |||
cd3d56a962 | |||
a8d45dcfc0 | |||
d5120daba4 | |||
7519a60ffa | |||
65ebfec515 | |||
5fc4a7ed5d | |||
9e69a1484f | |||
4094e47fd2 | |||
c710d182ea | |||
2caa7b8d27 | |||
a12cec99f8 | |||
27b42d045c | |||
b25e2e64f6 | |||
4ea2c974a0 | |||
b475e442e8 | |||
c6284da4ff | |||
179e1f53b8 | |||
6c3e6f6fcb | |||
169c9c0169 | |||
c14d5f99cd | |||
327e524d66 | |||
148bce96e5 | |||
e33c3322b6 | |||
96608043d9 | |||
f88590e675 | |||
f655707194 | |||
60f8b89518 | |||
44f2f3f919 | |||
f2fd27c6bf | |||
9ca488c04b | |||
2cd91ec197 | |||
c1a7902f9a | |||
a4ae2e5a1c | |||
05d290e1db | |||
7f19def0fc | |||
3d1cf1e8e1 | |||
95308d64ce | |||
d11c943c78 | |||
15dc3b9161 | |||
4891961105 | |||
f50d5055bf | |||
42f7d45428 | |||
af3570ed6c | |||
2bee50a083 | |||
7bc0dcaa61 | |||
0ac5af5995 | |||
357a03ebe9 | |||
b2f0eceecf | |||
0aa7a78099 | |||
1aca69c019 | |||
075321c007 | |||
382029fc00 | |||
edfb7b92a1 | |||
28654678cf | |||
10cf3b076d | |||
e5741c3627 | |||
1046c118d8 | |||
29118b37eb | |||
7d5b30e09f | |||
3a8522f41f | |||
b3e0fcfe42 | |||
2b8ea7f3c7 | |||
2e2f0288ef | |||
28a1d94a06 | |||
146a6f1097 | |||
6a47fa0efa | |||
1dbf0c0ad6 | |||
610008146e | |||
fecc6f3a68 | |||
23fea4c240 | |||
902f414a72 | |||
095c741edd | |||
781262c5e7 | |||
7e31236f65 | |||
69917e6439 | |||
0996727879 | |||
2c20dc16ec | |||
ba5f3fc467 | |||
177bd65cf8 | |||
7676b86ec2 | |||
619e5218cb | |||
c22c624a9d | |||
026336cb27 | |||
aedffe9525 | |||
94201a2b00 | |||
5827506928 | |||
d31f298f1a | |||
91538d0cde | |||
9b2ac68f27 | |||
fa06eb6fa9 | |||
40dc533f57 | |||
350292a1ef | |||
5790d25881 | |||
51d3f43d2f | |||
51b74b57ae | |||
ddf88fa616 | |||
ebbed3ba04 | |||
53ba2c799a | |||
f0e19cb7ce | |||
872ba001f8 | |||
ca2a4f4a7e | |||
6481652432 | |||
14bca6c63c | |||
21abed500c | |||
768b9d6db7 | |||
c5b761fb27 | |||
febb3a8609 | |||
8f581e3a47 | |||
bbafab7f32 | |||
e0052f4613 | |||
7b3d3b0681 | |||
3b9616f149 | |||
11395a3b4b | |||
c3a4456243 | |||
5fc98e79fc | |||
a5bf824f3b | |||
2fc74f41c5 | |||
bdcdad51d6 | |||
f2fcbeb3bf | |||
9dc254b7ad | |||
34b65c65b5 | |||
5aebb3e0ef | |||
d7db100c18 | |||
a42d457dc4 | |||
d4053966ea | |||
e3eb405027 | |||
1ba6846a19 | |||
796a788a1c | |||
14599b48c0 | |||
c260e13883 | |||
2fb346c06a | |||
8b49408421 | |||
ac0a57c0bd | |||
2b0f6b1c18 | |||
2ac76d8d9d | |||
ee9db32d42 | |||
c6e3ac0f69 | |||
cf44c1e0a2 | |||
a40e06ee33 | |||
8841b5222c | |||
79f0ba1547 | |||
38ef24dccf | |||
e2e05d619a | |||
878056005e | |||
03aa3783f2 | |||
efdfe11f4f | |||
31c2c7a0ce | |||
ea8ace4ad3 | |||
eb78e23f22 | |||
38f3f09421 | |||
c2a46a7c1f | |||
a63b5fca9b | |||
fa0fccae6a | |||
69caed593e | |||
176513264b | |||
bc099914d4 | |||
75b7b971ae | |||
f3bbe63038 | |||
1472b5bf68 | |||
285c2e259d | |||
3ce9149619 | |||
5925631597 | |||
ee6e065351 | |||
d8f71807c1 | |||
94a5c5d5b0 | |||
63a01c3f79 | |||
e36ede2e1c | |||
258c03eb45 | |||
06fffa000c | |||
b537e0b1cf | |||
dfa5990d9a | |||
b2e4bafb68 | |||
8adda462a2 | |||
c8a3ea1f29 | |||
f1ae97d333 | |||
6cbc7cfdfe | |||
585c0e2efa | |||
c0e9f5be87 | |||
32888b8fd5 | |||
cd878a206e | |||
e3a80781f5 | |||
66023bbd78 | |||
2f6128daab | |||
c2bd43d66d | |||
e469e9c5c6 | |||
d88e92d4e0 | |||
edfb8ba068 | |||
2bbc6e8a92 | |||
c08227f4e1 | |||
90dce21eb0 | |||
6cdffd06d6 | |||
11489a6539 | |||
e4d671c6a6 | |||
492e60c824 | |||
4321bdcabb | |||
adcc94a0aa | |||
9df63a4a8c | |||
a4ee44448f | |||
1f9c1fab64 | |||
0fd90daba8 | |||
0dbd562cc4 | |||
e6b4a549c3 | |||
ab66fc2705 | |||
090dbea684 | |||
9b6734e510 | |||
bfc817d8a2 | |||
8be8342b4c | |||
157ee05061 | |||
9db22910f7 | |||
52b7ab31d0 | |||
ae0d0795d7 | |||
cc7655a5a3 | |||
a66b51c624 | |||
a4bf1e3c2e | |||
b4e00f7306 | |||
4669e7d68e | |||
13ecb4638e | |||
a8270b0980 | |||
e454ad4bec | |||
f16ef7bd4c | |||
2530afd351 | |||
ae90bdce8f | |||
095b3b2c04 | |||
abeacb25b4 | |||
debca9d2fe | |||
6ca32f4714 | |||
7d38849eb7 | |||
79d49b7d8c | |||
ea625cb027 | |||
53e32d4652 | |||
8383408dc7 | |||
84a548dedd | |||
3f646871a3 | |||
e7f04a3aaf | |||
9622f8af8c | |||
2dd6f8aa84 | |||
a706e8f6fc | |||
e04d4a23d8 | |||
1619442e7b | |||
9746b8bb8d | |||
a53ab7eef2 | |||
faac7addb4 | |||
4f4180624c | |||
65fa3556bd | |||
881e48bafd | |||
cea6be0683 | |||
740e4bdac6 | |||
eabbebfbe0 | |||
65ed8ff376 | |||
ddbbf8eb25 | |||
a6119f82b1 | |||
7daa825d67 | |||
7e8089c986 | |||
cbadf0ee37 | |||
b6c4380d6e | |||
aef6cf1e50 | |||
b2e45c695d | |||
8195303cc1 | |||
9cd5320d3c | |||
798224a1c9 | |||
0f57f731ea | |||
8df7f75556 | |||
417c04c5a9 | |||
1772ad1125 | |||
dd0c256b67 | |||
39a1dd80f8 | |||
0c13c4f19d | |||
46e915c42b | |||
cbf0240f82 | |||
e75c862125 | |||
73df1b3421 | |||
2b72ea0a48 | |||
5327463725 | |||
2dc69eef1b | |||
9238941618 | |||
3efeec3a75 | |||
ead8dbe2e1 | |||
922ffec6fe | |||
17c8e0b33d | |||
9bc89b17e3 | |||
8fe806bcd5 | |||
ab5a940deb | |||
f5536f1ce2 | |||
867622398f | |||
afc8aa3fbf | |||
6bed209a20 | |||
f3d618d2bf | |||
ed1b87ef91 | |||
4bdd6e7ce3 | |||
88f6ffc1c2 | |||
01a6966021 | |||
fc045fe7d4 | |||
2708ef4af6 | |||
75e5e9c3f7 | |||
fbd7a23237 | |||
66335298a4 | |||
984913a210 | |||
ee6763af0a | |||
cc73385cf6 | |||
78d986b252 | |||
c64a8d200f | |||
9f792bb472 | |||
9c620fc7a6 | |||
d60771e930 | |||
9caa70697b | |||
a8e7a2bf0f | |||
dee8b71e44 | |||
dedfdb9c60 | |||
7bf0be7501 | |||
9b978691b1 | |||
6317972cff | |||
97716d217c | |||
e249ce0ccd | |||
627a129b46 | |||
d0e07472fa | |||
2c72ed740f | |||
e1790f9245 | |||
59caf52d09 | |||
82f34e03e9 | |||
6fb23f56c1 | |||
ca3065e7e7 | |||
bf16ab7955 | |||
eca142d308 | |||
750d0da9cf | |||
0711883218 | |||
ce3ab21b0c | |||
aa59e0eaf6 | |||
fc3d4e0cbe | |||
80eb51970d | |||
78331b6fb6 | |||
09e271adf1 | |||
44c9a6d269 | |||
e5f9851873 | |||
39073104e2 | |||
1b35475546 | |||
ebc4a04e84 | |||
ab6a11c580 | |||
f1e1bdd6bd | |||
32e64e507b | |||
7a60e3bb83 | |||
d73a59d12f | |||
61d15cd63c | |||
4429d8b27b | |||
640c325b79 | |||
cdc71c1c5d | |||
c893985d46 | |||
b00116b791 | |||
8c13a8d7d8 | |||
caf2de3390 | |||
7e1eeaa431 | |||
4d77dd9093 | |||
554a1df49a | |||
6cc4bc15f9 | |||
ddced834da | |||
5983ba0dc8 | |||
2e29dca66a | |||
4304d3d144 | |||
26e90958e9 | |||
660003e29a | |||
77afafb2e3 | |||
c01b56a3a8 | |||
b8e9d66294 | |||
be3ce6b250 | |||
e1bea2c0d6 | |||
d401f3debc | |||
1224781d60 | |||
2de37349d9 | |||
b9d7f4b4db | |||
b212c0ca31 | |||
ed5144d7eb | |||
89a9f2c862 | |||
bb1356dc64 | |||
bc9d4dc5b0 | |||
c95525e90d | |||
9eed6e40c0 | |||
0c668f559c | |||
0cacebf099 | |||
a6c612b528 | |||
fc9ecbeb93 | |||
0c591cacba | |||
1cf823fb68 | |||
c905cbc49c | |||
ed103edfea | |||
fb2c362eb5 | |||
cd5d4bf609 | |||
f87e813718 | |||
4d2735005a | |||
98a3beab6a | |||
aab6135906 | |||
81c58cd452 | |||
ccc12e0676 | |||
7f89428d37 | |||
18e2588e11 | |||
3206b6bdf6 | |||
454253f059 | |||
ac73cedff0 | |||
164e716330 | |||
ca54d9baa4 | |||
071dd0ba43 | |||
b673155074 | |||
8725923b85 | |||
5b1fe6ebb7 | |||
de8bada2bf | |||
91061c444a | |||
4bc280f250 | |||
50eafb1a27 | |||
5684c2bc69 | |||
f5ebe8f3f1 | |||
5008ba8c5e | |||
a4a136f56e | |||
6b995760dc | |||
533033024a | |||
b2cbaa091c | |||
04d47e969a | |||
f63b12392a | |||
1752cbbc44 | |||
3fc7281ffa | |||
4bdb70a4f7 | |||
a09c985eae | |||
bbca96d579 | |||
b7d591d17b | |||
5078f34459 | |||
3b34934dca | |||
97a41a0c01 | |||
f070faccc1 | |||
4b33e60201 | |||
829e5c3b92 | |||
addad10594 | |||
a56771a668 | |||
43662b23ab | |||
f39a757dd9 | |||
3ca1897cc1 | |||
fd9b544a29 | |||
d7d1b496ae | |||
a2b9820cec | |||
a3715d43e8 | |||
ba41a8b600 | |||
01caf20d57 | |||
f34242975f | |||
4a14f8d093 | |||
27a41841ec | |||
4a2854f77c | |||
b640313110 | |||
2523c4be85 | |||
ce0330cad8 | |||
4ddddc1f1d | |||
66618a50f9 | |||
15cd6d3a25 | |||
4f8cbf2b46 | |||
ec2dd32c70 | |||
5be1f00a9a | |||
e7e80778e7 | |||
897de845e6 | |||
93a622f4a7 | |||
3e25b6c66b | |||
537e106422 | |||
087d1a8e9c | |||
f0605836b7 | |||
d470b7ad00 | |||
5550449812 | |||
86d7fcc40a | |||
59b43c014d | |||
c0d75f0e2e | |||
addd37cd64 | |||
14b9d9aa0d | |||
0bbab7d2ab | |||
a713fb59e7 | |||
bc3dca07f4 | |||
fac64e011f | |||
f919ffebed | |||
59c276cf4d | |||
298d861208 | |||
379fc37866 | |||
6c8647da5c | |||
7c5585ff48 | |||
3449847168 | |||
cd9a4b6d93 | |||
ad622a256f | |||
090a09272a | |||
c61a975df1 | |||
21dfc5e08f | |||
e73dd78699 | |||
ea6577303f | |||
8462ff43e4 | |||
33011e769c | |||
1fbdab21bb | |||
e35f11c293 | |||
2e612731b5 | |||
13424764db | |||
d60be8acab | |||
c8f9d13dc6 | |||
19cf57a92e | |||
fccec20f0b | |||
5d6bb93090 | |||
3ae7d2b0cd | |||
05eb1c37ed | |||
30ffff6ee2 | |||
6f5ecad6a5 | |||
bd869f67b9 | |||
4d8c51aa19 | |||
5e505257f2 | |||
15af58c1ad | |||
cf63051ada | |||
c1ddc4610c | |||
929ed70a72 | |||
7a7bfc7adc | |||
805a378649 | |||
ed1e52822e | |||
b6049542b9 | |||
28d6daed4f | |||
20d2a30f8f | |||
aa9b3b25c6 | |||
bc2ed316e4 | |||
f39e05f225 | |||
3aa6694fb3 | |||
aa57b871da | |||
35a7ae952f | |||
a1c6d7c1a7 | |||
c0c578b33c | |||
548719fbdc | |||
1e1e39b308 | |||
acb0c57260 | |||
a1743343f4 | |||
0b6069fe0a | |||
bc2d0c3396 | |||
640d8b72fe | |||
10ac85c785 | |||
0c16cd499d | |||
df11e19648 | |||
8b4c0103a9 | |||
88e2f9ed8e | |||
8e29c7c3af | |||
096c9b8be9 | |||
caba7fc31a | |||
43f25158ca | |||
498f1f61f1 | |||
75b97fec17 | |||
db9476b503 | |||
356ee4659b | |||
b36c590813 | |||
b34eeea352 | |||
e47c6cafcb | |||
a87a6f3c98 | |||
0505d604c9 | |||
d0aaa46fd3 | |||
60b6158886 | |||
8865859dfc |
@ -163,7 +163,7 @@ PenaltyBreakComment: 10
|
||||
PenaltyBreakFirstLessLess: 0
|
||||
PenaltyBreakString: 10
|
||||
PenaltyExcessCharacter: 100
|
||||
PenaltyReturnTypeOnItsOwnLine: 5
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
|
||||
# Don't sort #include's
|
||||
SortIncludes: false
|
||||
|
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -1,8 +1,10 @@
|
||||
* whitespace=!indent,trail,space
|
||||
*.[ch] whitespace=indent,trail,space diff=cpp
|
||||
*.sh whitespace=indent,trail,space eol=lf
|
||||
*.perl eol=lf
|
||||
*.pm eol=lf
|
||||
*.perl eol=lf diff=perl
|
||||
*.pl eof=lf diff=perl
|
||||
*.pm eol=lf diff=perl
|
||||
*.py eol=lf diff=python
|
||||
/Documentation/git-*.txt eol=lf
|
||||
/command-list.txt eol=lf
|
||||
/GIT-VERSION-GEN eol=lf
|
||||
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -3,6 +3,7 @@
|
||||
/GIT-LDFLAGS
|
||||
/GIT-PREFIX
|
||||
/GIT-PERL-DEFINES
|
||||
/GIT-PERL-HEADER
|
||||
/GIT-PYTHON-VARS
|
||||
/GIT-SCRIPT-DEFINES
|
||||
/GIT-USER-AGENT
|
||||
@ -34,6 +35,7 @@
|
||||
/git-clone
|
||||
/git-column
|
||||
/git-commit
|
||||
/git-commit-graph
|
||||
/git-commit-tree
|
||||
/git-config
|
||||
/git-count-objects
|
||||
@ -111,12 +113,14 @@
|
||||
/git-pull
|
||||
/git-push
|
||||
/git-quiltimport
|
||||
/git-range-diff
|
||||
/git-read-tree
|
||||
/git-rebase
|
||||
/git-rebase--am
|
||||
/git-rebase--helper
|
||||
/git-rebase--interactive
|
||||
/git-rebase--merge
|
||||
/git-rebase--preserve-merges
|
||||
/git-receive-pack
|
||||
/git-reflog
|
||||
/git-remote
|
||||
@ -140,6 +144,7 @@
|
||||
/git-rm
|
||||
/git-send-email
|
||||
/git-send-pack
|
||||
/git-serve
|
||||
/git-sh-i18n
|
||||
/git-sh-i18n--envsubst
|
||||
/git-sh-setup
|
||||
@ -179,7 +184,7 @@
|
||||
/gitweb/gitweb.cgi
|
||||
/gitweb/static/gitweb.js
|
||||
/gitweb/static/gitweb.min.*
|
||||
/common-cmds.h
|
||||
/command-list.h
|
||||
*.tar.gz
|
||||
*.dsc
|
||||
*.deb
|
||||
@ -203,6 +208,7 @@
|
||||
/config.mak.autogen
|
||||
/config.mak.append
|
||||
/configure
|
||||
/.vscode/
|
||||
/tags
|
||||
/TAGS
|
||||
/cscope*
|
||||
|
15
.mailmap
15
.mailmap
@ -25,8 +25,8 @@ Ben Walton <bdwalton@gmail.com> <bwalton@artsci.utoronto.ca>
|
||||
Benoit Sigoure <tsunanet@gmail.com> <tsuna@lrde.epita.fr>
|
||||
Bernt Hansen <bernt@norang.ca> <bernt@alumni.uwaterloo.ca>
|
||||
Brandon Casey <drafnel@gmail.com> <casey@nrlssc.navy.mil>
|
||||
brian m. carlson <sandals@crustytoothpaste.ath.cx> Brian M. Carlson <sandals@crustytoothpaste.ath.cx>
|
||||
brian m. carlson <sandals@crustytoothpaste.ath.cx> <sandals@crustytoothpaste.net>
|
||||
brian m. carlson <sandals@crustytoothpaste.net> Brian M. Carlson <sandals@crustytoothpaste.ath.cx>
|
||||
brian m. carlson <sandals@crustytoothpaste.net> <sandals@crustytoothpaste.ath.cx>
|
||||
Bryan Larsen <bryan@larsen.st> <bryan.larsen@gmail.com>
|
||||
Bryan Larsen <bryan@larsen.st> <bryanlarsen@yahoo.com>
|
||||
Cheng Renquan <crquan@gmail.com>
|
||||
@ -35,11 +35,13 @@ Chris Wright <chrisw@sous-sol.org> <chrisw@osdl.org>
|
||||
Cord Seele <cowose@gmail.com> <cowose@googlemail.com>
|
||||
Christian Couder <chriscool@tuxfamily.org> <christian.couder@gmail.com>
|
||||
Christian Stimming <stimming@tuhh.de> <chs@ckiste.goetheallee>
|
||||
Christopher Díaz Riveros <chrisadr@gentoo.org> Christopher Diaz Riveros
|
||||
Csaba Henk <csaba@gluster.com> <csaba@lowlife.hu>
|
||||
Dan Johnson <computerdruid@gmail.com>
|
||||
Dana L. How <danahow@gmail.com> <how@deathvalley.cswitch.com>
|
||||
Dana L. How <danahow@gmail.com> Dana How
|
||||
Daniel Barkalow <barkalow@iabervon.org>
|
||||
Daniel Knittl-Frank <knittl89@googlemail.com> knittl
|
||||
Daniel Trstenjak <daniel.trstenjak@gmail.com> <daniel.trstenjak@online.de>
|
||||
Daniel Trstenjak <daniel.trstenjak@gmail.com> <trsten@science-computing.de>
|
||||
David Brown <git@davidb.org> <davidb@quicinc.com>
|
||||
@ -57,6 +59,7 @@ Eric S. Raymond <esr@thyrsus.com>
|
||||
Eric Wong <e@80x24.org> <normalperson@yhbt.net>
|
||||
Erik Faye-Lund <kusmabite@gmail.com> <kusmabite@googlemail.com>
|
||||
Eyvind Bernhardsen <eyvind.bernhardsen@gmail.com> <eyvind-git@orakel.ntnu.no>
|
||||
Fangyi Zhou <fangyi.zhou@yuriko.moe> Zhou Fangyi
|
||||
Florian Achleitner <florian.achleitner.2.6.31@gmail.com> <florian.achleitner2.6.31@gmail.com>
|
||||
Franck Bui-Huu <vagabon.xyz@gmail.com> <fbuihuu@gmail.com>
|
||||
Frank Lichtenheld <frank@lichtenheld.de> <djpig@debian.org>
|
||||
@ -86,6 +89,8 @@ Jason McMullan <mcmullan@netapp.com>
|
||||
Jason Riedy <ejr@eecs.berkeley.edu> <ejr@EECS.Berkeley.EDU>
|
||||
Jason Riedy <ejr@eecs.berkeley.edu> <ejr@cs.berkeley.edu>
|
||||
Jay Soffian <jaysoffian@gmail.com> <jaysoffian+git@gmail.com>
|
||||
Jean-Noël Avila <jn.avila@free.fr> Jean-Noel Avila
|
||||
Jean-Noël Avila <jn.avila@free.fr> Jean-Noël AVILA
|
||||
Jeff King <peff@peff.net> <peff@github.com>
|
||||
Jeff Muizelaar <jmuizelaar@mozilla.com> <jeff@infidigm.net>
|
||||
Jens Axboe <axboe@kernel.dk> <axboe@suse.de>
|
||||
@ -149,6 +154,7 @@ 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>
|
||||
Matthias Kestenholz <matthias@spinlock.ch> <mk@spinlock.ch>
|
||||
Matthias Rüster <matthias.ruester@gmail.com> Matthias Ruester
|
||||
Matthias Urlichs <matthias@urlichs.de> <smurf@kiste.(none)>
|
||||
Matthias Urlichs <matthias@urlichs.de> <smurf@smurf.noris.de>
|
||||
Michael Coleman <tutufan@gmail.com>
|
||||
@ -213,6 +219,8 @@ Sean Estabrooks <seanlkml@sympatico.ca>
|
||||
Sebastian Schuberth <sschuberth@gmail.com> <sschuberth@visageimaging.com>
|
||||
Seth Falcon <seth@userprimary.net> <sfalcon@fhcrc.org>
|
||||
Shawn O. Pearce <spearce@spearce.org>
|
||||
Wei Shuyu <wsy@dogben.com> Shuyu Wei
|
||||
Sidhant Sharma <tigerkid001@gmail.com> Sidhant Sharma [:tk]
|
||||
Simon Hausmann <hausmann@kde.org> <simon@lst.de>
|
||||
Simon Hausmann <hausmann@kde.org> <shausman@trolltech.com>
|
||||
Stefan Beller <stefanbeller@gmail.com> <stefanbeller@googlemail.com>
|
||||
@ -253,7 +261,8 @@ Uwe Kleine-König <u.kleine-koenig@pengutronix.de> <ukleinek@informatik.uni-frei
|
||||
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> <uzeisberger@io.fsforth.de>
|
||||
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> <zeisberg@informatik.uni-freiburg.de>
|
||||
Ville Skyttä <ville.skytta@iki.fi> <scop@xemacs.org>
|
||||
Vitaly "_Vi" Shukela <public_vi@tut.by>
|
||||
Vitaly "_Vi" Shukela <vi0oss@gmail.com> <public_vi@tut.by>
|
||||
Vitaly "_Vi" Shukela <vi0oss@gmail.com> Vitaly _Vi Shukela
|
||||
W. Trevor King <wking@tremily.us> <wking@drexel.edu>
|
||||
William Pursell <bill.pursell@gmail.com>
|
||||
YONETANI Tomokazu <y0n3t4n1@gmail.com> <qhwt+git@les.ath.cx>
|
||||
|
@ -16,10 +16,13 @@ compiler:
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- language-pack-is
|
||||
- git-svn
|
||||
- apache2
|
||||
- gcc-8
|
||||
|
||||
matrix:
|
||||
include:
|
||||
|
1
Documentation/.gitignore
vendored
1
Documentation/.gitignore
vendored
@ -12,3 +12,4 @@ cmds-*.txt
|
||||
mergetools-*.txt
|
||||
manpage-base-url.xsl
|
||||
SubmittingPatches.txt
|
||||
tmp-doc-diff/
|
||||
|
@ -386,6 +386,11 @@ For C programs:
|
||||
- Use Git's gettext wrappers to make the user interface
|
||||
translatable. See "Marking strings for translation" in po/README.
|
||||
|
||||
- Variables and functions local to a given source file should be marked
|
||||
with "static". Variables that are visible to other source files
|
||||
must be declared with "extern" in header files. However, function
|
||||
declarations should not use "extern", as that is already the default.
|
||||
|
||||
For Perl programs:
|
||||
|
||||
- Most of the C guidelines above apply.
|
||||
|
@ -72,11 +72,14 @@ TECH_DOCS += SubmittingPatches
|
||||
TECH_DOCS += technical/hash-function-transition
|
||||
TECH_DOCS += technical/http-protocol
|
||||
TECH_DOCS += technical/index-format
|
||||
TECH_DOCS += technical/long-running-process-protocol
|
||||
TECH_DOCS += technical/pack-format
|
||||
TECH_DOCS += technical/pack-heuristics
|
||||
TECH_DOCS += technical/pack-protocol
|
||||
TECH_DOCS += technical/partial-clone
|
||||
TECH_DOCS += technical/protocol-capabilities
|
||||
TECH_DOCS += technical/protocol-common
|
||||
TECH_DOCS += technical/protocol-v2
|
||||
TECH_DOCS += technical/racy-git
|
||||
TECH_DOCS += technical/send-pack-pipeline
|
||||
TECH_DOCS += technical/shallow
|
||||
@ -183,7 +186,7 @@ ASCIIDOC = asciidoctor
|
||||
ASCIIDOC_CONF =
|
||||
ASCIIDOC_HTML = xhtml5
|
||||
ASCIIDOC_DOCBOOK = docbook45
|
||||
ASCIIDOC_EXTRA += -acompat-mode
|
||||
ASCIIDOC_EXTRA += -acompat-mode -atabsize=8
|
||||
ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
|
||||
ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
|
||||
DBLATEX_COMMON =
|
||||
|
@ -25,7 +25,7 @@ Fixes since v1.7.11.6
|
||||
references" nor "Reload" did not update what is shown as the
|
||||
contents of it, when the user overwrote the tag with "git tag -f".
|
||||
|
||||
* "git for-each-ref" did not currectly support more than one --sort
|
||||
* "git for-each-ref" did not correctly support more than one --sort
|
||||
option.
|
||||
|
||||
* "git log .." errored out saying it is both rev range and a path
|
||||
|
20
Documentation/RelNotes/2.13.7.txt
Normal file
20
Documentation/RelNotes/2.13.7.txt
Normal file
@ -0,0 +1,20 @@
|
||||
Git v2.13.7 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.13.6
|
||||
-------------------
|
||||
|
||||
* Submodule "names" come from the untrusted .gitmodules file, but we
|
||||
blindly append them to $GIT_DIR/modules to create our on-disk repo
|
||||
paths. This means you can do bad things by putting "../" into the
|
||||
name. We now enforce some rules for submodule names which will cause
|
||||
Git to ignore these malicious names (CVE-2018-11235).
|
||||
|
||||
Credit for finding this vulnerability and the proof of concept from
|
||||
which the test script was adapted goes to Etienne Stalmans.
|
||||
|
||||
* It was possible to trick the code that sanity-checks paths on NTFS
|
||||
into reading random piece of memory (CVE-2018-11233).
|
||||
|
||||
Credit for fixing for these bugs goes to Jeff King, Johannes
|
||||
Schindelin and others.
|
5
Documentation/RelNotes/2.14.4.txt
Normal file
5
Documentation/RelNotes/2.14.4.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.14.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release is to forward-port the fixes made in the v2.13.7 version
|
||||
of Git. See its release notes for details.
|
@ -43,5 +43,8 @@ Fixes since v2.15.1
|
||||
* Clarify and enhance documentation for "merge-base --fork-point", as
|
||||
it was clear what it computed but not why/what for.
|
||||
|
||||
* This release also contains the fixes made in the v2.13.7 version of
|
||||
Git. See its release notes for details.
|
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
5
Documentation/RelNotes/2.16.4.txt
Normal file
5
Documentation/RelNotes/2.16.4.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Git v2.16.4 Release Notes
|
||||
=========================
|
||||
|
||||
This release is to forward-port the fixes made in the v2.13.7 version
|
||||
of Git. See its release notes for details.
|
398
Documentation/RelNotes/2.17.0.txt
Normal file
398
Documentation/RelNotes/2.17.0.txt
Normal file
@ -0,0 +1,398 @@
|
||||
Git 2.17 Release Notes
|
||||
======================
|
||||
|
||||
Updates since v2.16
|
||||
-------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "diff" family of commands learned "--find-object=<object-id>" option
|
||||
to limit the findings to changes that involve the named object.
|
||||
|
||||
* "git format-patch" learned to give 72-cols to diffstat, which is
|
||||
consistent with other line length limits the subcommand uses for
|
||||
its output meant for e-mails.
|
||||
|
||||
* The log from "git daemon" can be redirected with a new option; one
|
||||
relevant use case is to send the log to standard error (instead of
|
||||
syslog) when running it from inetd.
|
||||
|
||||
* "git rebase" learned to take "--allow-empty-message" option.
|
||||
|
||||
* "git am" has learned the "--quit" option, in addition to the
|
||||
existing "--abort" option; having the pair mirrors a few other
|
||||
commands like "rebase" and "cherry-pick".
|
||||
|
||||
* "git worktree add" learned to run the post-checkout hook, just like
|
||||
"git clone" runs it upon the initial checkout.
|
||||
|
||||
* "git tag" learned an explicit "--edit" option that allows the
|
||||
message given via "-m" and "-F" to be further edited.
|
||||
|
||||
* "git fetch --prune-tags" may be used as a handy short-hand for
|
||||
getting rid of stale tags that are locally held.
|
||||
|
||||
* The new "--show-current-patch" option gives an end-user facing way
|
||||
to get the diff being applied when "git rebase" (and "git am")
|
||||
stops with a conflict.
|
||||
|
||||
* "git add -p" used to offer "/" (look for a matching hunk) as a
|
||||
choice, even there was only one hunk, which has been corrected.
|
||||
Also the single-key help is now given only for keys that are
|
||||
enabled (e.g. help for '/' won't be shown when there is only one
|
||||
hunk).
|
||||
|
||||
* Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
|
||||
the side branch being merged is a descendant of the current commit,
|
||||
create a merge commit instead of fast-forwarding) when merging a
|
||||
tag object. This was appropriate default for integrators who pull
|
||||
signed tags from their downstream contributors, but caused an
|
||||
unnecessary merges when used by downstream contributors who
|
||||
habitually "catch up" their topic branches with tagged releases
|
||||
from the upstream. Update "git merge" to default to --no-ff only
|
||||
when merging a tag object that does *not* sit at its usual place in
|
||||
refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
|
||||
mitigate the problem.
|
||||
|
||||
* "git status" can spend a lot of cycles to compute the relation
|
||||
between the current branch and its upstream, which can now be
|
||||
disabled with "--no-ahead-behind" option.
|
||||
|
||||
* "git diff" and friends learned funcname patterns for Go language
|
||||
source files.
|
||||
|
||||
* "git send-email" learned "--reply-to=<address>" option.
|
||||
|
||||
* Funcname pattern used for C# now recognizes "async" keyword.
|
||||
|
||||
* In a way similar to how "git tag" learned to honor the pager
|
||||
setting only in the list mode, "git config" learned to ignore the
|
||||
pager setting when it is used for setting values (i.e. when the
|
||||
purpose of the operation is not to "show").
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* More perf tests for threaded grep
|
||||
|
||||
* "perf" test output can be sent to codespeed server.
|
||||
|
||||
* The build procedure for perl/ part has been greatly simplified by
|
||||
weaning ourselves off of MakeMaker.
|
||||
|
||||
* Perl 5.8 or greater has been required since Git 1.7.4 released in
|
||||
2010, but we continued to assume some core modules may not exist and
|
||||
used a conditional "eval { require <<module>> }"; we no longer do
|
||||
this. Some platforms (Fedora/RedHat/CentOS, for example) ship Perl
|
||||
without all core modules by default (e.g. Digest::MD5, File::Temp,
|
||||
File::Spec, Net::Domain, Net::SMTP). Users on such platforms may
|
||||
need to install these additional modules.
|
||||
|
||||
* As a convenience, we install copies of Perl modules we require which
|
||||
are not part of the core Perl distribution (e.g. Error and
|
||||
Mail::Address). Users and packagers whose operating system provides
|
||||
these modules can set NO_PERL_CPAN_FALLBACKS to avoid installing the
|
||||
bundled modules.
|
||||
|
||||
* In preparation for implementing narrow/partial clone, the machinery
|
||||
for checking object connectivity used by gc and fsck has been
|
||||
taught that a missing object is OK when it is referenced by a
|
||||
packfile specially marked as coming from trusted repository that
|
||||
promises to make them available on-demand and lazily.
|
||||
|
||||
* The machinery to clone & fetch, which in turn involves packing and
|
||||
unpacking objects, has been told how to omit certain objects using
|
||||
the filtering mechanism introduced by another topic. It now knows
|
||||
to mark the resulting pack as a promisor pack to tolerate missing
|
||||
objects, laying foundation for "narrow" clones.
|
||||
|
||||
* The first step to getting rid of mru API and using the
|
||||
doubly-linked list API directly instead.
|
||||
|
||||
* Retire mru API as it does not give enough abstraction over
|
||||
underlying list API to be worth it.
|
||||
|
||||
* Rewrite two more "git submodule" subcommands in C.
|
||||
|
||||
* The tracing machinery learned to report tweaking of environment
|
||||
variables as well.
|
||||
|
||||
* Update Coccinelle rules to catch and optimize strbuf_addf(&buf, "%s", str)
|
||||
|
||||
* Prevent "clang-format" from breaking line after function return type.
|
||||
|
||||
* The sequencer infrastructure is shared across "git cherry-pick",
|
||||
"git rebase -i", etc., and has always spawned "git commit" when it
|
||||
needs to create a commit. It has been taught to do so internally,
|
||||
when able, by reusing the codepath "git commit" itself uses, which
|
||||
gives performance boost for a few tens of percents in some sample
|
||||
scenarios.
|
||||
|
||||
* Push the submodule version of collision-detecting SHA-1 hash
|
||||
implementation a bit harder on builders.
|
||||
|
||||
* Avoid mmapping small files while using packed refs (especially ones
|
||||
with zero size, which would cause later munmap() to fail).
|
||||
|
||||
* Conversion from uchar[20] to struct object_id continues.
|
||||
|
||||
* More tests for wildmatch functions.
|
||||
|
||||
* The code to binary search starting from a fan-out table (which is
|
||||
how the packfile is indexed with object names) has been refactored
|
||||
into a reusable helper.
|
||||
|
||||
* We now avoid using identifiers that clash with C++ keywords. Even
|
||||
though it is not a goal to compile Git with C++ compilers, changes
|
||||
like this help use of code analysis tools that targets C++ on our
|
||||
codebase.
|
||||
|
||||
* The executable is now built in 'script' phase in Travis CI integration,
|
||||
to follow the established practice, rather than during 'before_script'
|
||||
phase. This allows the CI categorize the failures better ('failed'
|
||||
is project's fault, 'errored' is build environment's).
|
||||
(merge 3c93b82920 sg/travis-build-during-script-phase later to maint).
|
||||
|
||||
* Writing out the index file when the only thing that changed in it
|
||||
is the untracked cache information is often wasteful, and this has
|
||||
been optimized out.
|
||||
|
||||
* Various pieces of Perl code we have have been cleaned up.
|
||||
|
||||
* Internal API clean-up to allow write_locked_index() optionally skip
|
||||
writing the in-core index when it is not modified.
|
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v2.16
|
||||
-----------------
|
||||
|
||||
* An old regression in "git describe --all $annotated_tag^0" has been
|
||||
fixed.
|
||||
|
||||
* "git status" after moving a path in the working tree (hence making
|
||||
it appear "removed") and then adding with the -N option (hence
|
||||
making that appear "added") detected it as a rename, but did not
|
||||
report the old and new pathnames correctly.
|
||||
|
||||
* "git svn dcommit" did not take into account the fact that a
|
||||
svn+ssh:// URL with a username@ (typically used for pushing) refers
|
||||
to the same SVN repository without the username@ and failed when
|
||||
svn.pushmergeinfo option is set.
|
||||
|
||||
* API clean-up around revision traversal.
|
||||
|
||||
* "git merge -Xours/-Xtheirs" learned to use our/their version when
|
||||
resolving a conflicting updates to a symbolic link.
|
||||
|
||||
* "git clone $there $here" is allowed even when here directory exists
|
||||
as long as it is an empty directory, but the command incorrectly
|
||||
removed it upon a failure of the operation.
|
||||
|
||||
* "git commit --fixup" did not allow "-m<message>" option to be used
|
||||
at the same time; allow it to annotate resulting commit with more
|
||||
text.
|
||||
|
||||
* When resetting the working tree files recursively, the working tree
|
||||
of submodules are now also reset to match.
|
||||
|
||||
* "git stash -- <pathspec>" incorrectly blew away untracked files in
|
||||
the directory that matched the pathspec, which has been corrected.
|
||||
|
||||
* Instead of maintaining home-grown email address parsing code, ship
|
||||
a copy of reasonably recent Mail::Address to be used as a fallback
|
||||
in 'git send-email' when the platform lacks it.
|
||||
(merge d60be8acab mm/send-email-fallback-to-local-mail-address later to maint).
|
||||
|
||||
* "git add -p" was taught to ignore local changes to submodules as
|
||||
they do not interfere with the partial addition of regular changes
|
||||
anyway.
|
||||
|
||||
* Avoid showing a warning message in the middle of a line of "git
|
||||
diff" output.
|
||||
(merge 4e056c989f nd/diff-flush-before-warning later to maint).
|
||||
|
||||
* The http tracing code, often used to debug connection issues,
|
||||
learned to redact potentially sensitive information from its output
|
||||
so that it can be more safely sharable.
|
||||
(merge 8ba18e6fa4 jt/http-redact-cookies later to maint).
|
||||
|
||||
* Crash fix for a corner case where an error codepath tried to unlock
|
||||
what it did not acquire lock on.
|
||||
(merge 81fcb698e0 mr/packed-ref-store-fix later to maint).
|
||||
|
||||
* The split-index mode had a few corner case bugs fixed.
|
||||
(merge ae59a4e44f tg/split-index-fixes later to maint).
|
||||
|
||||
* Assorted fixes to "git daemon".
|
||||
(merge ed15e58efe jk/daemon-fixes later to maint).
|
||||
|
||||
* Completion of "git merge -s<strategy>" (in contrib/) did not work
|
||||
well in non-C locale.
|
||||
(merge 7cc763aaa3 nd/list-merge-strategy later to maint).
|
||||
|
||||
* Workaround for segfault with more recent versions of SVN.
|
||||
(merge 7f6f75e97a ew/svn-branch-segfault-fix later to maint).
|
||||
|
||||
* Plug recently introduced leaks in fsck.
|
||||
(merge ba3a08ca0e jt/fsck-code-cleanup later to maint).
|
||||
|
||||
* "git pull --rebase" did not pass verbosity setting down when
|
||||
recursing into a submodule.
|
||||
(merge a56771a668 sb/pull-rebase-submodule later to maint).
|
||||
|
||||
* The way "git reset --hard" reports the commit the updated HEAD
|
||||
points at is made consistent with the way how the commit title is
|
||||
generated by the other parts of the system. This matters when the
|
||||
title is spread across physically multiple lines.
|
||||
(merge 1cf823fb68 tg/reset-hard-show-head-with-pretty later to maint).
|
||||
|
||||
* Test fixes.
|
||||
(merge 63b1a175ee sg/test-i18ngrep later to maint).
|
||||
|
||||
* Some bugs around "untracked cache" feature have been fixed. This
|
||||
will notice corrupt data in the untracked cache left by old and
|
||||
buggy code and issue a warning---the index can be fixed by clearing
|
||||
the untracked cache from it.
|
||||
(merge 0cacebf099 nd/fix-untracked-cache-invalidation later to maint).
|
||||
(merge 7bf0be7501 ab/untracked-cache-invalidation-docs later to maint).
|
||||
|
||||
* "git blame HEAD COPYING" in a bare repository failed to run, while
|
||||
"git blame HEAD -- COPYING" run just fine. This has been corrected.
|
||||
|
||||
* "git add" files in the same directory, but spelling the directory
|
||||
path in different cases on case insensitive filesystem, corrupted
|
||||
the name hash data structure and led to unexpected results. This
|
||||
has been corrected.
|
||||
(merge c95525e90d bp/name-hash-dirname-fix later to maint).
|
||||
|
||||
* "git rebase -p" mangled log messages of a merge commit, which is
|
||||
now fixed.
|
||||
(merge ed5144d7eb js/fix-merge-arg-quoting-in-rebase-p later to maint).
|
||||
|
||||
* Some low level protocol codepath could crash when they get an
|
||||
unexpected flush packet, which is now fixed.
|
||||
(merge bb1356dc64 js/packet-read-line-check-null later to maint).
|
||||
|
||||
* "git check-ignore" with multiple paths got confused when one is a
|
||||
file and the other is a directory, which has been fixed.
|
||||
(merge d60771e930 rs/check-ignore-multi later to maint).
|
||||
|
||||
* "git describe $garbage" stopped giving any errors when the garbage
|
||||
happens to be a string with 40 hexadecimal letters.
|
||||
(merge a8e7a2bf0f sb/describe-blob later to maint).
|
||||
|
||||
* Code to unquote single-quoted string (used in the parser for
|
||||
configuration files, etc.) did not diagnose bogus input correctly
|
||||
and produced bogus results instead.
|
||||
(merge ddbbf8eb25 jk/sq-dequote-on-bogus-input later to maint).
|
||||
|
||||
* Many places in "git apply" knew that "/dev/null" that signals
|
||||
"there is no such file on this side of the diff" can be followed by
|
||||
whitespace and garbage when parsing a patch, except for one, which
|
||||
made an otherwise valid patch (e.g. ones from subversion) rejected.
|
||||
(merge e454ad4bec tk/apply-dev-null-verify-name-fix later to maint).
|
||||
|
||||
* We no longer create any *.spec file, so "make clean" should not
|
||||
remove it.
|
||||
(merge 4321bdcabb tz/do-not-clean-spec-file later to maint).
|
||||
|
||||
* "git push" over http transport did not unquote the push-options
|
||||
correctly.
|
||||
(merge 90dce21eb0 jk/push-options-via-transport-fix later to maint).
|
||||
|
||||
* "git send-email" learned to complain when the batch-size option is
|
||||
not defined when the relogin-delay option is, since these two are
|
||||
mutually required.
|
||||
(merge 9caa70697b xz/send-email-batch-size later to maint).
|
||||
|
||||
* Y2k20 fix ;-) for our perl scripts.
|
||||
(merge a40e06ee33 bw/perl-timegm-timelocal-fix later to maint).
|
||||
|
||||
* Threaded "git grep" has been optimized to avoid allocation in code
|
||||
section that is covered under a mutex.
|
||||
(merge 38ef24dccf rv/grep-cleanup later to maint).
|
||||
|
||||
* "git subtree" script (in contrib/) scripted around "git log", whose
|
||||
output got affected by end-user configuration like log.showsignature
|
||||
(merge 8841b5222c sg/subtree-signed-commits later to maint).
|
||||
|
||||
* While finding unique object name abbreviation, the code may
|
||||
accidentally have read beyond the end of the array of object names
|
||||
in a pack.
|
||||
(merge 21abed500c ds/find-unique-abbrev-optim later to maint).
|
||||
|
||||
* Micro optimization in revision traversal code.
|
||||
(merge ebbed3ba04 ds/mark-parents-uninteresting-optim later to maint).
|
||||
|
||||
* "git commit" used to run "gc --auto" near the end, which was lost
|
||||
when the command was reimplemented in C by mistake.
|
||||
(merge 095c741edd ab/gc-auto-in-commit later to maint).
|
||||
|
||||
* Allow running a couple of tests with "sh -x".
|
||||
(merge c20bf94abc sg/cvs-tests-with-x later to maint).
|
||||
|
||||
* The codepath to replace an existing entry in the index had a bug in
|
||||
updating the name hash structure, which has been fixed.
|
||||
(merge 0e267b7a24 bp/refresh-cache-ent-rehash-fix later to maint).
|
||||
|
||||
* The transfer.fsckobjects configuration tells "git fetch" to
|
||||
validate the data and connected-ness of objects in the received
|
||||
pack; the code to perform this check has been taught about the
|
||||
narrow clone's convention that missing objects that are reachable
|
||||
from objects in a pack that came from a promisor remote is OK.
|
||||
|
||||
* There was an unused file-scope static variable left in http.c when
|
||||
building for versions of libCURL that is older than 7.19.4, which
|
||||
has been fixed.
|
||||
(merge b8fd6008ec rj/http-code-cleanup later to maint).
|
||||
|
||||
* Shell script portability fix.
|
||||
(merge 206a6ae013 ml/filter-branch-portability-fix later to maint).
|
||||
|
||||
* Other minor doc, test and build updates and code cleanups.
|
||||
(merge e2a5a028c7 bw/oidmap-autoinit later to maint).
|
||||
(merge ec3b4b06f8 cl/t9001-cleanup later to maint).
|
||||
(merge e1b3f3dd38 ks/submodule-doc-updates later to maint).
|
||||
(merge fbac558a9b rs/describe-unique-abbrev later to maint).
|
||||
(merge 8462ff43e4 tb/crlf-conv-flags later to maint).
|
||||
(merge 7d68bb0766 rb/hashmap-h-compilation-fix later to maint).
|
||||
(merge 3449847168 cc/sha1-file-name later to maint).
|
||||
(merge ad622a256f ds/use-get-be64 later to maint).
|
||||
(merge f919ffebed sg/cocci-move-array later to maint).
|
||||
(merge 4e801463c7 jc/mailinfo-cleanup-fix later to maint).
|
||||
(merge ef5b3a6c5e nd/shared-index-fix later to maint).
|
||||
(merge 9f5258cbb8 tz/doc-show-defaults-to-head later to maint).
|
||||
(merge b780e4407d jc/worktree-add-short-help later to maint).
|
||||
(merge ae239fc8e5 rs/cocci-strbuf-addf-to-addstr later to maint).
|
||||
(merge 2e22a85e5c nd/ignore-glob-doc-update later to maint).
|
||||
(merge 3738031581 jk/gettext-poison later to maint).
|
||||
(merge 54360a1956 rj/sparse-updates later to maint).
|
||||
(merge 12e31a6b12 sg/doc-test-must-fail-args later to maint).
|
||||
(merge 760f1ad101 bc/doc-interpret-trailers-grammofix later to maint).
|
||||
(merge 4ccf461f56 bp/fsmonitor later to maint).
|
||||
(merge a6119f82b1 jk/test-hashmap-updates later to maint).
|
||||
(merge 5aea9fe6cc rd/typofix later to maint).
|
||||
(merge e4e5da2796 sb/status-doc-fix later to maint).
|
||||
(merge 7976e901c8 gs/test-unset-xdg-cache-home later to maint).
|
||||
(merge d023df1ee6 tg/worktree-create-tracking later to maint).
|
||||
(merge 4cbe92fd41 sm/mv-dry-run-update later to maint).
|
||||
(merge 75e5e9c3f7 sb/color-h-cleanup later to maint).
|
||||
(merge 2708ef4af6 sg/t6300-modernize later to maint).
|
||||
(merge d88e92d4e0 bw/doc-submodule-recurse-config-with-clone later to maint).
|
||||
(merge f74bbc8dd2 jk/cached-commit-buffer later to maint).
|
||||
(merge 1316416903 ms/non-ascii-ticks later to maint).
|
||||
(merge 878056005e rs/strbuf-read-file-or-whine later to maint).
|
||||
(merge 79f0ba1547 jk/strbuf-read-file-close-error later to maint).
|
||||
(merge edfb8ba068 ot/ref-filter-cleanup later to maint).
|
||||
(merge 11395a3b4b jc/test-must-be-empty later to maint).
|
||||
(merge 768b9d6db7 mk/doc-pretty-fill later to maint).
|
||||
(merge 2caa7b8d27 ab/man-sec-list later to maint).
|
||||
(merge 40c17eb184 ks/t3200-typofix later to maint).
|
||||
(merge bd9958c358 dp/merge-strategy-doc-fix later to maint).
|
||||
(merge 9ee0540a40 js/ming-strftime later to maint).
|
||||
(merge 1775e990f7 tz/complete-tag-delete-tagname later to maint).
|
||||
(merge 00a4b03501 rj/warning-uninitialized-fix later to maint).
|
||||
(merge b635ed97a0 jk/attributes-path-doc later to maint).
|
16
Documentation/RelNotes/2.17.1.txt
Normal file
16
Documentation/RelNotes/2.17.1.txt
Normal file
@ -0,0 +1,16 @@
|
||||
Git v2.17.1 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.17
|
||||
-----------------
|
||||
|
||||
* This release contains the same fixes made in the v2.13.7 version of
|
||||
Git, covering CVE-2018-11233 and 11235, and forward-ported to
|
||||
v2.14.4, v2.15.2 and v2.16.4 releases. See release notes to
|
||||
v2.13.7 for details.
|
||||
|
||||
* In addition to the above fixes, this release has support on the
|
||||
server side to reject pushes to repositories that attempt to create
|
||||
such problematic .gitmodules file etc. as tracked contents, to help
|
||||
hosting sites protect their customers by preventing malicious
|
||||
contents from spreading.
|
583
Documentation/RelNotes/2.18.0.txt
Normal file
583
Documentation/RelNotes/2.18.0.txt
Normal file
@ -0,0 +1,583 @@
|
||||
Git 2.18 Release Notes
|
||||
======================
|
||||
|
||||
Updates since v2.17
|
||||
-------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* Rename detection logic that is used in "merge" and "cherry-pick" has
|
||||
learned to guess when all of x/a, x/b and x/c have moved to z/a,
|
||||
z/b and z/c, it is likely that x/d added in the meantime would also
|
||||
want to move to z/d by taking the hint that the entire directory
|
||||
'x' moved to 'z'. A bug causing dirty files involved in a rename
|
||||
to be overwritten during merge has also been fixed as part of this
|
||||
work. Incidentally, this also avoids updating a file in the
|
||||
working tree after a (non-trivial) merge whose result matches what
|
||||
our side originally had.
|
||||
|
||||
* "git filter-branch" learned to use a different exit code to allow
|
||||
the callers to tell the case where there was no new commits to
|
||||
rewrite from other error cases.
|
||||
|
||||
* When built with more recent cURL, GIT_SSL_VERSION can now specify
|
||||
"tlsv1.3" as its value.
|
||||
|
||||
* "git gui" learned that "~/.ssh/id_ecdsa.pub" and
|
||||
"~/.ssh/id_ed25519.pub" are also possible SSH key files.
|
||||
(merge 2e2f0288ef bb/git-gui-ssh-key-files later to maint).
|
||||
|
||||
* "git gui" performs commit upon CTRL/CMD+ENTER but the
|
||||
CTRL/CMD+KP_ENTER (i.e. enter key on the numpad) did not have the
|
||||
same key binding. It now does.
|
||||
(merge 28a1d94a06 bp/git-gui-bind-kp-enter later to maint).
|
||||
|
||||
* "git gui" has been taught to work with old versions of tk (like
|
||||
8.5.7) that do not support "ttk::style theme use" as a way to query
|
||||
the current theme.
|
||||
(merge 4891961105 cb/git-gui-ttk-style later to maint).
|
||||
|
||||
* "git rebase" has learned to honor "--signoff" option when using
|
||||
backends other than "am" (but not "--preserve-merges").
|
||||
|
||||
* "git branch --list" during an interrupted "rebase -i" now lets
|
||||
users distinguish the case where a detached HEAD is being rebased
|
||||
and a normal branch is being rebased.
|
||||
|
||||
* "git mergetools" learned talking to guiffy.
|
||||
|
||||
* The scripts in contrib/emacs/ have outlived their usefulness and
|
||||
have been replaced with a stub that errors out and tells the user
|
||||
there are replacements.
|
||||
|
||||
* The new "working-tree-encoding" attribute can ask Git to convert the
|
||||
contents to the specified encoding when checking out to the working
|
||||
tree (and the other way around when checking in).
|
||||
|
||||
* The "git config" command uses separate options e.g. "--int",
|
||||
"--bool", etc. to specify what type the caller wants the value to
|
||||
be interpreted as. A new "--type=<typename>" option has been
|
||||
introduced, which would make it cleaner to define new types.
|
||||
|
||||
* "git config --get" learned the "--default" option, to help the
|
||||
calling script. Building on top of the above changes, the
|
||||
"git config" learns "--type=color" type. Taken together, you can
|
||||
do things like "git config --get foo.color --default blue" and get
|
||||
the ANSI color sequence for the color given to foo.color variable,
|
||||
or "blue" if the variable does not exist.
|
||||
|
||||
* "git ls-remote" learned an option to allow sorting its output based
|
||||
on the refnames being shown.
|
||||
|
||||
* The command line completion (in contrib/) has been taught that "git
|
||||
stash save" has been deprecated ("git stash push" is the preferred
|
||||
spelling in the new world) and does not offer it as a possible
|
||||
completion candidate when "git stash push" can be.
|
||||
|
||||
* "git gc --prune=nonsense" spent long time repacking and then
|
||||
silently failed when underlying "git prune --expire=nonsense"
|
||||
failed to parse its command line. This has been corrected.
|
||||
|
||||
* Error messages from "git push" can be painted for more visibility.
|
||||
|
||||
* "git http-fetch" (deprecated) had an optional and experimental
|
||||
"feature" to fetch only commits and/or trees, which nobody used.
|
||||
This has been removed.
|
||||
|
||||
* The functionality of "$GIT_DIR/info/grafts" has been superseded by
|
||||
the "refs/replace/" mechanism for some time now, but the internal
|
||||
code had support for it in many places, which has been cleaned up
|
||||
in order to drop support of the "grafts" mechanism.
|
||||
|
||||
* "git worktree add" learned to check out an existing branch.
|
||||
|
||||
* "git --no-pager cmd" did not have short-and-sweet single letter
|
||||
option. Now it does as "-P".
|
||||
(merge 7213c28818 js/no-pager-shorthand later to maint).
|
||||
|
||||
* "git rebase" learned "--rebase-merges" to transplant the whole
|
||||
topology of commit graph elsewhere.
|
||||
|
||||
* "git status" learned to pay attention to UI related diff
|
||||
configuration variables such as diff.renames.
|
||||
|
||||
* The command line completion mechanism (in contrib/) learned to load
|
||||
custom completion file for "git $command" where $command is a
|
||||
custom "git-$command" that the end user has on the $PATH when using
|
||||
newer version of bash-completion.
|
||||
|
||||
* "git send-email" can sometimes offer confirmation dialog "Send this
|
||||
email?" with choices 'Yes', 'No', 'Quit', and 'All'. A new action
|
||||
'Edit' has been added to this dialog's choice.
|
||||
|
||||
* With merge.renames configuration set to false, the recursive merge
|
||||
strategy can be told not to spend cycles trying to find renamed
|
||||
paths and merge them accordingly.
|
||||
|
||||
* "git status" learned to honor a new status.renames configuration to
|
||||
skip rename detection, which could be useful for those who want to
|
||||
do so without disabling the default rename detection done by the
|
||||
"git diff" command.
|
||||
|
||||
* Command line completion (in contrib/) learned to complete pathnames
|
||||
for various commands better.
|
||||
|
||||
* "git blame" learns to unhighlight uninteresting metadata from the
|
||||
originating commit on lines that are the same as the previous one,
|
||||
and also paint lines in different colors depending on the age of
|
||||
the commit.
|
||||
|
||||
* Transfer protocol v2 learned to support the partial clone.
|
||||
|
||||
* When a short hexadecimal string is used to name an object but there
|
||||
are multiple objects that share the string as the prefix of their
|
||||
names, the code lists these ambiguous candidates in a help message.
|
||||
These object names are now sorted according to their types for
|
||||
easier eyeballing.
|
||||
|
||||
* "git fetch $there $refspec" that talks over protocol v2 can take
|
||||
advantage of server-side ref filtering; the code has been extended
|
||||
so that this mechanism triggers also when fetching with configured
|
||||
refspec.
|
||||
|
||||
* Our HTTP client code used to advertise that we accept gzip encoding
|
||||
from the other side; instead, just let cURL library to advertise
|
||||
and negotiate the best one.
|
||||
|
||||
* "git p4" learned to "unshelve" shelved commit from P4.
|
||||
(merge 123f631761 ld/p4-unshelve later to maint).
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* A "git fetch" from a repository with insane number of refs into a
|
||||
repository that is already up-to-date still wasted too many cycles
|
||||
making many lstat(2) calls to see if these objects at the tips
|
||||
exist as loose objects locally. These lstat(2) calls are optimized
|
||||
away by enumerating all loose objects beforehand.
|
||||
It is unknown if the new strategy negatively affects existing use
|
||||
cases, fetching into a repository with many loose objects from a
|
||||
repository with small number of refs.
|
||||
|
||||
* Git can be built to use either v1 or v2 of the PCRE library, and so
|
||||
far, the build-time configuration USE_LIBPCRE=YesPlease instructed
|
||||
the build procedure to use v1, but now it means v2. USE_LIBPCRE1
|
||||
and USE_LIBPCRE2 can be used to explicitly choose which version to
|
||||
use, as before.
|
||||
|
||||
* The build procedure learned to optionally use symbolic links
|
||||
(instead of hardlinks and copies) to install "git-foo" for built-in
|
||||
commands, whose binaries are all identical.
|
||||
|
||||
* Conversion from uchar[20] to struct object_id continues.
|
||||
|
||||
* The way "git worktree prune" worked internally has been simplified,
|
||||
by assuming how "git worktree move" moves an existing worktree to a
|
||||
different place.
|
||||
|
||||
* Code clean-up for the "repository" abstraction.
|
||||
(merge 00a3da2a13 nd/remove-ignore-env-field later to maint).
|
||||
|
||||
* Code to find the length to uniquely abbreviate object names based
|
||||
on packfile content, which is a relatively recent addtion, has been
|
||||
optimized to use the same fan-out table.
|
||||
|
||||
* The mechanism to use parse-options API to automate the command line
|
||||
completion continues to get extended and polished.
|
||||
|
||||
* Copies of old scripted Porcelain commands in contrib/examples/ have
|
||||
been removed.
|
||||
|
||||
* Some tests that rely on the exact hardcoded values of object names
|
||||
have been updated in preparation for hash function migration.
|
||||
|
||||
* Perf-test update.
|
||||
|
||||
* Test helper update.
|
||||
|
||||
* The effort continues to refactor the internal global data structure
|
||||
to make it possible to open multiple repositories, work with and
|
||||
then close them,
|
||||
|
||||
* Small test-helper programs have been consolidated into a single
|
||||
binary.
|
||||
|
||||
* API clean-up around ref-filter code.
|
||||
|
||||
* Shell completion (in contrib) that gives list of paths have been
|
||||
optimized somewhat.
|
||||
|
||||
* The index file is updated to record the fsmonitor section after a
|
||||
full scan was made, to avoid wasting the effort that has already
|
||||
spent.
|
||||
|
||||
* Performance measuring framework in t/perf learned to help bisecting
|
||||
performance regressions.
|
||||
|
||||
* Some multi-word source filenames are being renamed to separate
|
||||
words with dashes instead of underscores.
|
||||
|
||||
* An reusable "memory pool" implementation has been extracted from
|
||||
fast-import.c, which in turn has become the first user of the
|
||||
mem-pool API.
|
||||
|
||||
* A build-time option has been added to allow Git to be told to refer
|
||||
to its associated files relative to the main binary, in the same
|
||||
way that has been possible on Windows for quite some time, for
|
||||
Linux, BSDs and Darwin.
|
||||
|
||||
* Precompute and store information necessary for ancestry traversal
|
||||
in a separate file to optimize graph walking.
|
||||
|
||||
* The effort to pass the repository in-core structure throughout the
|
||||
API continues. This round deals with the code that implements the
|
||||
refs/replace/ mechanism.
|
||||
|
||||
* The build procedure "make DEVELOPER=YesPlease" learned to enable a
|
||||
bit more warning options depending on the compiler used to help
|
||||
developers more. There also is "make DEVOPTS=tokens" knob
|
||||
available now, for those who want to help fixing warnings we
|
||||
usually ignore, for example.
|
||||
|
||||
* A new version of the transport protocol is being worked on.
|
||||
|
||||
* The code to interface to GPG has been restructured somewhat to make
|
||||
it cleaner to integrate with other types of signature systems later.
|
||||
|
||||
* The code has been taught to use the duplicated information stored
|
||||
in the commit-graph file to learn the tree object name for a commit
|
||||
to avoid opening and parsing the commit object when it makes sense
|
||||
to do so.
|
||||
|
||||
* "git gc" in a large repository takes a lot of time as it considers
|
||||
to repack all objects into one pack by default. The command has
|
||||
been taught to pretend as if the largest existing packfile is
|
||||
marked with ".keep" so that it is left untouched while objects in
|
||||
other packs and loose ones are repacked.
|
||||
|
||||
* The transport protocol v2 is getting updated further.
|
||||
|
||||
* The codepath around object-info API has been taught to take the
|
||||
repository object (which in turn tells the API which object store
|
||||
the objects are to be located).
|
||||
|
||||
* "git pack-objects" needs to allocate tons of "struct object_entry"
|
||||
while doing its work, and shrinking its size helps the performance
|
||||
quite a bit.
|
||||
|
||||
* The implementation of "git rebase -i --root" has been updated to use
|
||||
the sequencer machinery more.
|
||||
|
||||
* Developer support update, by using BUG() macro instead of die() to
|
||||
mark codepaths that should not happen more clearly.
|
||||
|
||||
* Developer support. Use newer GCC on one of the builds done at
|
||||
TravisCI.org to get more warnings and errors diagnosed.
|
||||
|
||||
* Conversion from uchar[20] to struct object_id continues.
|
||||
|
||||
* By code restructuring of submodule merge in merge-recursive,
|
||||
informational messages from the codepath are now given using the
|
||||
same mechanism as other output, and honor the merge.verbosity
|
||||
configuration. The code also learned to give a few new messages
|
||||
when a submodule three-way merge resolves cleanly when one side
|
||||
records a descendant of the commit chosen by the other side.
|
||||
|
||||
* Avoid unchecked snprintf() to make future code auditing easier.
|
||||
(merge ac4896f007 jk/snprintf-truncation later to maint).
|
||||
|
||||
* Many tests hardcode the raw object names, which would change once
|
||||
we migrate away from SHA-1. While some of them must test against
|
||||
exact object names, most of them do not have to use hardcoded
|
||||
constants in the test. The latter kind of tests have been updated
|
||||
to test the moral equivalent of the original without hardcoding the
|
||||
actual object names.
|
||||
|
||||
* The list of commands with their various attributes were spread
|
||||
across a few places in the build procedure, but it now is getting a
|
||||
bit more consolidated to allow more automation.
|
||||
|
||||
* Quite a many tests assumed that newly created refs are made as
|
||||
loose refs using the files backend, which have been updated to use
|
||||
proper plumbing like rev-parse and update-ref, to avoid breakage
|
||||
once we start using different ref backends.
|
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v2.17
|
||||
-----------------
|
||||
|
||||
* "git shortlog cruft" aborted with a BUG message when run outside a
|
||||
Git repository. The command has been taught to complain about
|
||||
extra and unwanted arguments on its command line instead in such a
|
||||
case.
|
||||
(merge 4aa0161e83 ma/shortlog-revparse later to maint).
|
||||
|
||||
* "git stash push -u -- <pathspec>" gave an unnecessary and confusing
|
||||
error message when there was no tracked files that match the
|
||||
<pathspec>, which has been fixed.
|
||||
(merge 353278687e tg/stash-untracked-with-pathspec-fix later to maint).
|
||||
|
||||
* "git tag --contains no-such-commit" gave a full list of options
|
||||
after giving an error message.
|
||||
(merge 3bb0923f06 ps/contains-id-error-message later to maint).
|
||||
|
||||
* "diff-highlight" filter (in contrib/) learned to understand "git log
|
||||
--graph" output better.
|
||||
(merge 4551fbba14 jk/diff-highlight-graph-fix later to maint).
|
||||
|
||||
* when refs that do not point at committish are given, "git
|
||||
filter-branch" gave a misleading error messages. This has been
|
||||
corrected.
|
||||
(merge f78ab355e7 yk/filter-branch-non-committish-refs later to maint).
|
||||
|
||||
* "git submodule status" misbehaved on a submodule that has been
|
||||
removed from the working tree.
|
||||
(merge 74b6bda32f rs/status-with-removed-submodule later to maint).
|
||||
|
||||
* When credential helper exits very quickly without reading its
|
||||
input, it used to cause Git to die with SIGPIPE, which has been
|
||||
fixed.
|
||||
(merge a0d51e8d0e eb/cred-helper-ignore-sigpipe later to maint).
|
||||
|
||||
* "git rebase --keep-empty" still removed an empty commit if the
|
||||
other side contained an empty commit (due to the "does an
|
||||
equivalent patch exist already?" check), which has been corrected.
|
||||
(merge 3d946165e1 pw/rebase-keep-empty-fixes later to maint).
|
||||
|
||||
* Some codepaths, including the refs API, get and keep relative
|
||||
paths, that go out of sync when the process does chdir(2). The
|
||||
chdir-notify API is introduced to let these codepaths adjust these
|
||||
cached paths to the new current directory.
|
||||
(merge fb9c2d2703 jk/relative-directory-fix later to maint).
|
||||
|
||||
* "cd sub/dir && git commit ../path" ought to record the changes to
|
||||
the file "sub/path", but this regressed long time ago.
|
||||
(merge 86238e07ef bw/commit-partial-from-subdirectory-fix later to maint).
|
||||
|
||||
* Recent introduction of "--log-destination" option to "git daemon"
|
||||
did not work well when the daemon was run under "--inetd" mode.
|
||||
(merge e67d906d73 lw/daemon-log-destination later to maint).
|
||||
|
||||
* Small fix to the autoconf build procedure.
|
||||
(merge 249482daf0 es/fread-reads-dir-autoconf-fix later to maint).
|
||||
|
||||
* Fix an unexploitable (because the oversized contents are not under
|
||||
attacker's control) buffer overflow.
|
||||
(merge d8579accfa bp/fsmonitor-bufsize-fix later to maint).
|
||||
|
||||
* Recent simplification of build procedure forgot a bit of tweak to
|
||||
the build procedure of contrib/mw-to-git/
|
||||
(merge d8698987f3 ab/simplify-perl-makefile later to maint).
|
||||
|
||||
* Moving a submodule that itself has submodule in it with "git mv"
|
||||
forgot to make necessary adjustment to the nested sub-submodules;
|
||||
now the codepath learned to recurse into the submodules.
|
||||
|
||||
* "git config --unset a.b", when "a.b" is the last variable in an
|
||||
otherwise empty section "a", left an empty section "a" behind, and
|
||||
worse yet, a subsequent "git config a.c value" did not reuse that
|
||||
empty shell and instead created a new one. These have been
|
||||
(partially) corrected.
|
||||
(merge c71d8bb38a js/empty-config-section-fix later to maint).
|
||||
|
||||
* "git worktree remove" learned that "-f" is a shorthand for
|
||||
"--force" option, just like for "git worktree add".
|
||||
(merge d228eea514 sb/worktree-remove-opt-force later to maint).
|
||||
|
||||
* The completion script (in contrib/) learned to clear cached list of
|
||||
command line options upon dot-sourcing it again in a more efficient
|
||||
way.
|
||||
(merge 94408dc71c sg/completion-clear-cached later to maint).
|
||||
|
||||
* "git svn" had a minor thinko/typo which has been fixed.
|
||||
(merge 51db271587 ab/git-svn-get-record-typofix later to maint).
|
||||
|
||||
* During a "rebase -i" session, the code could give older timestamp
|
||||
to commits created by later "pick" than an earlier "reword", which
|
||||
has been corrected.
|
||||
(merge 12f7babd6b js/ident-date-fix later to maint).
|
||||
|
||||
* "git submodule status" did not check the symbolic revision name it
|
||||
computed for the submodule HEAD is not the NULL, and threw it at
|
||||
printf routines, which has been corrected.
|
||||
(merge 0b5e2ea7cf nd/submodule-status-fix later to maint).
|
||||
|
||||
* When fed input that already has In-Reply-To: and/or References:
|
||||
headers and told to add the same information, "git send-email"
|
||||
added these headers separately, instead of appending to an existing
|
||||
one, which is a violation of the RFC. This has been corrected.
|
||||
(merge 256be1d3f0 sa/send-email-dedup-some-headers later to maint).
|
||||
|
||||
* "git fast-export" had a regression in v2.15.0 era where it skipped
|
||||
some merge commits in certain cases, which has been corrected.
|
||||
(merge be011bbe00 ma/fast-export-skip-merge-fix later to maint).
|
||||
|
||||
* The code did not propagate the terminal width to subprocesses via
|
||||
COLUMNS environment variable, which it now does. This caused
|
||||
trouble to "git column" helper subprocess when "git tag --column=row"
|
||||
tried to list the existing tags on a display with non-default width.
|
||||
(merge b5d5a567fb nd/term-columns later to maint).
|
||||
|
||||
* We learned that our source files with ".pl" and ".py" extensions
|
||||
are Perl and Python files respectively and changes to them are
|
||||
better viewed as such with appropriate diff drivers.
|
||||
(merge 7818b619e2 ab/perl-python-attrs later to maint).
|
||||
|
||||
* "git rebase -i" sometimes left intermediate "# This is a
|
||||
combination of N commits" message meant for the human consumption
|
||||
inside an editor in the final result in certain corner cases, which
|
||||
has been fixed.
|
||||
(merge 15ef69314d js/rebase-i-clean-msg-after-fixup-continue later to maint).
|
||||
|
||||
* A test to see if the filesystem normalizes UTF-8 filename has been
|
||||
updated to check what we need to know in a more direct way, i.e. a
|
||||
path created in NFC form can be accessed with NFD form (or vice
|
||||
versa) to cope with APFS as well as HFS.
|
||||
(merge 742ae10e35 tb/test-apfs-utf8-normalization later to maint).
|
||||
|
||||
* "git format-patch --cover --attach" created a broken MIME multipart
|
||||
message for the cover letter, which has been fixed by keeping the
|
||||
cover letter as plain text file.
|
||||
(merge 50cd54ef4e bc/format-patch-cover-no-attach later to maint).
|
||||
|
||||
* The split-index feature had a long-standing and dormant bug in
|
||||
certain use of the in-core merge machinery, which has been fixed.
|
||||
(merge 7db118303a en/unpack-trees-split-index-fix later to maint).
|
||||
|
||||
* Asciidoctor gives a reasonable imitation for AsciiDoc, but does not
|
||||
render illustration in a literal block correctly when indented with
|
||||
HT by default. The problem is fixed by forcing 8-space tabs.
|
||||
(merge 379805051d bc/asciidoctor-tab-width later to maint).
|
||||
|
||||
* Code clean-up to adjust to a more recent lockfile API convention that
|
||||
allows lockfile instances kept on the stack.
|
||||
(merge 0fa5a2ed8d ma/lockfile-cleanup later to maint).
|
||||
|
||||
* the_repository->index is not a allocated piece of memory but
|
||||
repo_clear() indiscriminately attempted to free(3) it, which has
|
||||
been corrected.
|
||||
(merge 74373b5f10 nd/repo-clear-keep-the-index later to maint).
|
||||
|
||||
* Code clean-up to avoid non-standard-conformant pointer arithmetic.
|
||||
(merge c112084af9 rs/no-null-ptr-arith-in-fast-export later to maint).
|
||||
|
||||
* Code clean-up to turn history traversal more robust in a
|
||||
semi-corrupt repository.
|
||||
(merge 8702b30fd7 jk/unavailable-can-be-missing later to maint).
|
||||
|
||||
* "git update-ref A B" is supposed to ensure that ref A does not yet
|
||||
exist when B is a NULL OID, but this check was not done correctly
|
||||
for pseudo-refs outside refs/ hierarchy, e.g. MERGE_HEAD.
|
||||
|
||||
* "git submodule update" and "git submodule add" supported the
|
||||
"--reference" option to borrow objects from a neighbouring local
|
||||
repository like "git clone" does, but lacked the more recent
|
||||
invention "--dissociate". Also "git submodule add" has been taught
|
||||
to take the "--progress" option.
|
||||
(merge a0ef29341a cf/submodule-progress-dissociate later to maint).
|
||||
|
||||
* Update credential-netrc helper (in contrib/) to allow customizing
|
||||
the GPG used to decrypt the encrypted .netrc file.
|
||||
(merge 786ef50a23 lm/credential-netrc later to maint).
|
||||
|
||||
* "git submodule update" attempts two different kinds of "git fetch"
|
||||
against the upstream repository to grab a commit bound at the
|
||||
submodule's path, but it incorrectly gave up if the first kind
|
||||
(i.e. a normal fetch) failed, making the second "last resort" one
|
||||
(i.e. fetching an exact commit object by object name) ineffective.
|
||||
This has been corrected.
|
||||
(merge e30d833671 sb/submodule-update-try-harder later to maint).
|
||||
|
||||
* Error behaviour of "git grep" when it cannot read the index was
|
||||
inconsistent with other commands that uses the index, which has
|
||||
been corrected to error out early.
|
||||
(merge b2aa84c789 sb/grep-die-on-unreadable-index later to maint).
|
||||
|
||||
* We used to call regfree() after regcomp() failed in some codepaths,
|
||||
which have been corrected.
|
||||
(merge 17154b1576 ma/regex-no-regfree-after-comp-fail later to maint).
|
||||
|
||||
* The import-tars script (in contrib/) has been taught to handle
|
||||
tarballs with overly long paths that use PAX extended headers.
|
||||
(merge 12ecea46e3 pa/import-tars-long-names later to maint).
|
||||
|
||||
* "git rev-parse Y..." etc. misbehaved when given endpoints were
|
||||
not committishes.
|
||||
(merge 0ed556d38f en/rev-parse-invalid-range later to maint).
|
||||
|
||||
* "git pull --recurse-submodules --rebase", when the submodule
|
||||
repository's history did not have anything common between ours and
|
||||
the upstream's, failed to execute. We need to fetch from them to
|
||||
continue even in such a case.
|
||||
(merge 4d36f88be7 jt/submodule-pull-recurse-rebase later to maint).
|
||||
|
||||
* "git remote update" can take both a single remote nickname and a
|
||||
nickname for remote groups, but only one of them was documented.
|
||||
(merge a97447a42a nd/remote-update-doc later to maint).
|
||||
|
||||
* "index-pack --strict" has been taught to make sure that it runs the
|
||||
final object integrity checks after making the freshly indexed
|
||||
packfile available to itself.
|
||||
(merge 3737746120 jk/index-pack-maint later to maint).
|
||||
|
||||
* Make zlib inflate codepath more robust against versions of zlib
|
||||
that clobber unused portion of outbuf.
|
||||
(merge b611396e97 jl/zlib-restore-nul-termination later to maint).
|
||||
|
||||
* Fix old merge glitch in Documentation during v2.13-rc0 era.
|
||||
(merge 28cb06020b mw/doc-merge-enumfix later to maint).
|
||||
|
||||
* The code to read compressed bitmap was not careful to avoid reading
|
||||
past the end of the file, which has been corrected.
|
||||
(merge 1140bf01ec jk/ewah-bounds-check later to maint).
|
||||
|
||||
* "make NO_ICONV=NoThanks" did not override NEEDS_LIBICONV
|
||||
(i.e. linkage of -lintl, -liconv, etc. that are platform-specific
|
||||
tweaks), which has been corrected.
|
||||
(merge fdb1fbbc7d es/make-no-iconv later to maint).
|
||||
|
||||
* Other minor doc, test and build updates and code cleanups.
|
||||
(merge 248f66ed8e nd/trace-with-env later to maint).
|
||||
(merge 14ced5562c ys/bisect-object-id-missing-conversion-fix later to maint).
|
||||
(merge 5988eb631a ab/doc-hash-brokenness later to maint).
|
||||
(merge a4d4e32a70 pk/test-avoid-pipe-hiding-exit-status later to maint).
|
||||
(merge 05e293c1ac jk/flockfile-stdio later to maint).
|
||||
(merge e9184b0789 jk/t5561-missing-curl later to maint).
|
||||
(merge b1801b85a3 nd/worktree-move later to maint).
|
||||
(merge bbd374dd20 ak/bisect-doc-typofix later to maint).
|
||||
(merge 4855f06fb3 mn/send-email-credential-doc later to maint).
|
||||
(merge 8523b1e355 en/doc-typoes later to maint).
|
||||
(merge 43b44ccfe7 js/t5404-path-fix later to maint).
|
||||
(merge decf711fc1 ps/test-chmtime-get later to maint).
|
||||
(merge 22d11a6e8e es/worktree-docs later to maint).
|
||||
(merge 92a5dbbc22 tg/use-git-contacts later to maint).
|
||||
(merge adc887221f tq/t1510 later to maint).
|
||||
(merge bed21a8ad6 sg/doc-gc-quote-mismatch-fix later to maint).
|
||||
(merge 73364e4f10 tz/doc-git-urls-reference later to maint).
|
||||
(merge cd1e606bad bc/mailmap-self later to maint).
|
||||
(merge f7997e3682 ao/config-api-doc later to maint).
|
||||
(merge ee930754d8 jk/apply-p-doc later to maint).
|
||||
(merge 011b648646 nd/pack-format-doc later to maint).
|
||||
(merge 87a6bb701a sg/t5310-jgit-bitmap-test later to maint).
|
||||
(merge f6b82970aa sg/t5516-fixes later to maint).
|
||||
(merge 4362da078e sg/t7005-spaces-in-filenames-cleanup later to maint).
|
||||
(merge 7d0ee47c11 js/test-unset-prereq later to maint).
|
||||
(merge 5356a3c354 ah/misc-doc-updates later to maint).
|
||||
(merge 92c4a7a129 nd/completion-aliasfiletype-typofix later to maint).
|
||||
(merge 58bd77b66a nd/pack-unreachable-objects-doc later to maint).
|
||||
(merge 4ed79d5203 sg/t6500-no-redirect-of-stdin later to maint).
|
||||
(merge 17b8a2d6cd jk/config-blob-sans-repo later to maint).
|
||||
(merge 590551ca2c rd/tag-doc-lightweight later to maint).
|
||||
(merge 44f560fc16 rd/init-typo later to maint).
|
||||
(merge f156a0934a rd/p4-doc-markup-env later to maint).
|
||||
(merge 2a00502b14 tg/doc-sec-list later to maint).
|
||||
(merge 47cc91310a jk/submodule-fsck-loose-fixup later to maint).
|
||||
(merge efde7b725c rd/comment-typofix-in-sha1-file later to maint).
|
||||
(merge 7eedad15df rd/diff-options-typofix later to maint).
|
||||
(merge 58ebd936cc km/doc-workflows-typofix later to maint).
|
||||
(merge 30aa96cdf8 rd/doc-remote-tracking-with-hyphen later to maint).
|
||||
(merge cf317877e3 ks/branch-set-upstream later to maint).
|
||||
(merge 8de19d6be8 sg/t7406-chain-fix later to maint).
|
600
Documentation/RelNotes/2.19.0.txt
Normal file
600
Documentation/RelNotes/2.19.0.txt
Normal file
@ -0,0 +1,600 @@
|
||||
Git 2.19 Release Notes
|
||||
======================
|
||||
|
||||
Updates since v2.18
|
||||
-------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "git diff" compares the index and the working tree. For paths
|
||||
added with intent-to-add bit, the command shows the full contents
|
||||
of them as added, but the paths themselves were not marked as new
|
||||
files. They are now shown as new by default.
|
||||
|
||||
"git apply" learned the "--intent-to-add" option so that an
|
||||
otherwise working-tree-only application of a patch will add new
|
||||
paths to the index marked with the "intent-to-add" bit.
|
||||
|
||||
* "git grep" learned the "--column" option that gives not just the
|
||||
line number but the column number of the hit.
|
||||
|
||||
* The "-l" option in "git branch -l" is an unfortunate short-hand for
|
||||
"--create-reflog", but many users, both old and new, somehow expect
|
||||
it to be something else, perhaps "--list". This step warns when "-l"
|
||||
is used as a short-hand for "--create-reflog" and warns about the
|
||||
future repurposing of the it when it is used.
|
||||
|
||||
* The userdiff pattern for .php has been updated.
|
||||
|
||||
* The content-transfer-encoding of the message "git send-email" sends
|
||||
out by default was 8bit, which can cause trouble when there is an
|
||||
overlong line to bust RFC 5322/2822 limit. A new option 'auto' to
|
||||
automatically switch to quoted-printable when there is such a line
|
||||
in the payload has been introduced and is made the default.
|
||||
|
||||
* "git checkout" and "git worktree add" learned to honor
|
||||
checkout.defaultRemote when auto-vivifying a local branch out of a
|
||||
remote tracking branch in a repository with multiple remotes that
|
||||
have tracking branches that share the same names.
|
||||
(merge 8d7b558bae ab/checkout-default-remote later to maint).
|
||||
|
||||
* "git grep" learned the "--only-matching" option.
|
||||
|
||||
* "git rebase --rebase-merges" mode now handles octopus merges as
|
||||
well.
|
||||
|
||||
* Add a server-side knob to skip commits in exponential/fibbonacci
|
||||
stride in an attempt to cover wider swath of history with a smaller
|
||||
number of iterations, potentially accepting a larger packfile
|
||||
transfer, instead of going back one commit a time during common
|
||||
ancestor discovery during the "git fetch" transaction.
|
||||
(merge 42cc7485a2 jt/fetch-negotiator-skipping later to maint).
|
||||
|
||||
* A new configuration variable core.usereplacerefs has been added,
|
||||
primarily to help server installations that want to ignore the
|
||||
replace mechanism altogether.
|
||||
|
||||
* Teach "git tag -s" etc. a few configuration variables (gpg.format
|
||||
that can be set to "openpgp" or "x509", and gpg.<format>.program
|
||||
that is used to specify what program to use to deal with the format)
|
||||
to allow x.509 certs with CMS via "gpgsm" to be used instead of
|
||||
openpgp via "gnupg".
|
||||
|
||||
* Many more strings are prepared for l10n.
|
||||
|
||||
* "git p4 submit" learns to ask its own pre-submit hook if it should
|
||||
continue with submitting.
|
||||
|
||||
* The test performed at the receiving end of "git push" to prevent
|
||||
bad objects from entering repository can be customized via
|
||||
receive.fsck.* configuration variables; we now have gained a
|
||||
counterpart to do the same on the "git fetch" side, with
|
||||
fetch.fsck.* configuration variables.
|
||||
|
||||
* "git pull --rebase=interactive" learned "i" as a short-hand for
|
||||
"interactive".
|
||||
|
||||
* "git instaweb" has been adjusted to run better with newer Apache on
|
||||
RedHat based distros.
|
||||
|
||||
* "git range-diff" is a reimplementation of "git tbdiff" that lets us
|
||||
compare individual patches in two iterations of a topic.
|
||||
|
||||
* The sideband code learned to optionally paint selected keywords at
|
||||
the beginning of incoming lines on the receiving end.
|
||||
|
||||
* "git branch --list" learned to take the default sort order from the
|
||||
'branch.sort' configuration variable, just like "git tag --list"
|
||||
pays attention to 'tag.sort'.
|
||||
|
||||
* "git worktree" command learned "--quiet" option to make it less
|
||||
verbose.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* The bulk of "git submodule foreach" has been rewritten in C.
|
||||
|
||||
* The in-core "commit" object had an all-purpose "void *util" field,
|
||||
which was tricky to use especially in library-ish part of the
|
||||
code. All of the existing uses of the field has been migrated to a
|
||||
more dedicated "commit-slab" mechanism and the field is eliminated.
|
||||
|
||||
* A less often used command "git show-index" has been modernized.
|
||||
(merge fb3010c31f jk/show-index later to maint).
|
||||
|
||||
* The conversion to pass "the_repository" and then "a_repository"
|
||||
throughout the object access API continues.
|
||||
|
||||
* Continuing with the idea to programatically enumerate various
|
||||
pieces of data required for command line completion, teach the
|
||||
codebase to report the list of configuration variables
|
||||
subcommands care about to help complete them.
|
||||
|
||||
* Separate "rebase -p" codepath out of "rebase -i" implementation to
|
||||
slim down the latter and make it easier to manage.
|
||||
|
||||
* Make refspec parsing codepath more robust.
|
||||
|
||||
* Some flaky tests have been fixed.
|
||||
|
||||
* Continuing with the idea to programmatically enumerate various
|
||||
pieces of data required for command line completion, the codebase
|
||||
has been taught to enumerate options prefixed with "--no-" to
|
||||
negate them.
|
||||
|
||||
* Build and test procedure for netrc credential helper (in contrib/)
|
||||
has been updated.
|
||||
|
||||
* The conversion to pass "the_repository" and then "a_repository"
|
||||
throughout the object access API continues.
|
||||
|
||||
* Remove unused function definitions and declarations from ewah
|
||||
bitmap subsystem.
|
||||
|
||||
* Code preparation to make "git p4" closer to be usable with Python 3.
|
||||
|
||||
* Tighten the API to make it harder to misuse in-tree .gitmodules
|
||||
file, even though it shares the same syntax with configuration
|
||||
files, to read random configuration items from it.
|
||||
|
||||
* "git fast-import" has been updated to avoid attempting to create
|
||||
delta against a zero-byte-long string, which is pointless.
|
||||
|
||||
* The codebase has been updated to compile cleanly with -pedantic
|
||||
option.
|
||||
(merge 2b647a05d7 bb/pedantic later to maint).
|
||||
|
||||
* The character display width table has been updated to match the
|
||||
latest Unicode standard.
|
||||
(merge 570951eea2 bb/unicode-11-width later to maint).
|
||||
|
||||
* test-lint now looks for broken use of "VAR=VAL shell_func" in test
|
||||
scripts.
|
||||
|
||||
* Conversion from uchar[40] to struct object_id continues.
|
||||
|
||||
* Recent "security fix" to pay attention to contents of ".gitmodules"
|
||||
while accepting "git push" was a bit overly strict than necessary,
|
||||
which has been adjusted.
|
||||
|
||||
* "git fsck" learns to make sure the optional commit-graph file is in
|
||||
a sane state.
|
||||
|
||||
* "git diff --color-moved" feature has further been tweaked.
|
||||
|
||||
* Code restructuring and a small fix to transport protocol v2 during
|
||||
fetching.
|
||||
|
||||
* Parsing of -L[<N>][,[<M>]] parameters "git blame" and "git log"
|
||||
take has been tweaked.
|
||||
|
||||
* lookup_commit_reference() and friends have been updated to find
|
||||
in-core object for a specific in-core repository instance.
|
||||
|
||||
* Various glitches in the heuristics of merge-recursive strategy have
|
||||
been documented in new tests.
|
||||
|
||||
* "git fetch" learned a new option "--negotiation-tip" to limit the
|
||||
set of commits it tells the other end as "have", to reduce wasted
|
||||
bandwidth and cycles, which would be helpful when the receiving
|
||||
repository has a lot of refs that have little to do with the
|
||||
history at the remote it is fetching from.
|
||||
|
||||
* For a large tree, the index needs to hold many cache entries
|
||||
allocated on heap. These cache entries are now allocated out of a
|
||||
dedicated memory pool to amortize malloc(3) overhead.
|
||||
|
||||
* Tests to cover various conflicting cases have been added for
|
||||
merge-recursive.
|
||||
|
||||
* Tests to cover conflict cases that involve submodules have been
|
||||
added for merge-recursive.
|
||||
|
||||
* Look for broken "&&" chains that are hidden in subshell, many of
|
||||
which have been found and corrected.
|
||||
|
||||
* The singleton commit-graph in-core instance is made per in-core
|
||||
repository instance.
|
||||
|
||||
* "make DEVELOPER=1 DEVOPTS=pedantic" allows developers to compile
|
||||
with -pedantic option, which may catch more problematic program
|
||||
constructs and potential bugs.
|
||||
|
||||
* Preparatory code to later add json output for telemetry data has
|
||||
been added.
|
||||
|
||||
* Update the way we use Coccinelle to find out-of-style code that
|
||||
need to be modernised.
|
||||
|
||||
* It is too easy to misuse system API functions such as strcat();
|
||||
these selected functions are now forbidden in this codebase and
|
||||
will cause a compilation failure.
|
||||
|
||||
* Add a script (in contrib/) to help users of VSCode work better with
|
||||
our codebase.
|
||||
|
||||
* The Travis CI scripts were taught to ship back the test data from
|
||||
failed tests.
|
||||
(merge aea8879a6a sg/travis-retrieve-trash-upon-failure later to maint).
|
||||
|
||||
* The parse-options machinery learned to refrain from enclosing
|
||||
placeholder string inside a "<bra" and "ket>" pair automatically
|
||||
without PARSE_OPT_LITERAL_ARGHELP. Existing help text for option
|
||||
arguments that are not formatted correctly have been identified and
|
||||
fixed.
|
||||
(merge 5f0df44cd7 rs/parse-opt-lithelp later to maint).
|
||||
|
||||
* Noiseword "extern" has been removed from function decls in the
|
||||
header files.
|
||||
|
||||
* A few atoms like %(objecttype) and %(objectsize) in the format
|
||||
specifier of "for-each-ref --format=<format>" can be filled without
|
||||
getting the full contents of the object, but just with the object
|
||||
header. These cases have been optimized by calling
|
||||
oid_object_info() API (instead of reading and inspecting the data).
|
||||
|
||||
* The end result of documentation update has been made to be
|
||||
inspected more easily to help developers.
|
||||
|
||||
* The API to iterate over all objects learned to optionally list
|
||||
objects in the order they appear in packfiles, which helps locality
|
||||
of access if the caller accesses these objects while as objects are
|
||||
enumerated.
|
||||
|
||||
* Improve built-in facility to catch broken &&-chain in the tests.
|
||||
|
||||
* The more library-ish parts of the codebase learned to work on the
|
||||
in-core index-state instance that is passed in by their callers,
|
||||
instead of always working on the singleton "the_index" instance.
|
||||
|
||||
* A test prerequisite defined by various test scripts with slightly
|
||||
different semantics has been consolidated into a single copy and
|
||||
made into a lazily defined one.
|
||||
(merge 6ec633059a wc/make-funnynames-shared-lazy-prereq later to maint).
|
||||
|
||||
* After a partial clone, repeated fetches from promisor remote would
|
||||
have accumulated many packfiles marked with .promisor bit without
|
||||
getting them coalesced into fewer packfiles, hurting performance.
|
||||
"git repack" now learned to repack them.
|
||||
|
||||
* Partially revert the support for multiple hash functions to regain
|
||||
hash comparison performance; we'd think of a way to do this better
|
||||
in the next cycle.
|
||||
|
||||
* "git help --config" (which is used in command line completion)
|
||||
missed the configuration variables not described in the main
|
||||
config.txt file but are described in another file that is included
|
||||
by it, which has been corrected.
|
||||
|
||||
Fixes since v2.18
|
||||
-----------------
|
||||
|
||||
* "git remote update" can take both a single remote nickname and a
|
||||
nickname for remote groups, and the completion script (in contrib/)
|
||||
has been taught about it.
|
||||
(merge 9cd4382ad5 ls/complete-remote-update-names later to maint).
|
||||
|
||||
* "git fetch --shallow-since=<cutoff>" that specifies the cut-off
|
||||
point that is newer than the existing history used to end up
|
||||
grabbing the entire history. Such a request now errors out.
|
||||
(merge e34de73c56 nd/reject-empty-shallow-request later to maint).
|
||||
|
||||
* Fix for 2.17-era regression around `core.safecrlf`.
|
||||
(merge 6cb09125be as/safecrlf-quiet-fix later to maint).
|
||||
|
||||
* The recent addition of "partial clone" experimental feature kicked
|
||||
in when it shouldn't, namely, when there is no partial-clone filter
|
||||
defined even if extensions.partialclone is set.
|
||||
(merge cac1137dc4 jh/partial-clone later to maint).
|
||||
|
||||
* "git send-pack --signed" (hence "git push --signed" over the http
|
||||
transport) did not read user ident from the config mechanism to
|
||||
determine whom to sign the push certificate as, which has been
|
||||
corrected.
|
||||
(merge d067d98887 ms/send-pack-honor-config later to maint).
|
||||
|
||||
* "git fetch-pack --all" used to unnecessarily fail upon seeing an
|
||||
annotated tag that points at an object other than a commit.
|
||||
(merge c12c9df527 jk/fetch-all-peeled-fix later to maint).
|
||||
|
||||
* When user edits the patch in "git add -p" and the user's editor is
|
||||
set to strip trailing whitespaces indiscriminately, an empty line
|
||||
that is unchanged in the patch would become completely empty
|
||||
(instead of a line with a sole SP on it). The code introduced in
|
||||
Git 2.17 timeframe failed to parse such a patch, but now it learned
|
||||
to notice the situation and cope with it.
|
||||
(merge f4d35a6b49 pw/add-p-recount later to maint).
|
||||
|
||||
* The code to try seeing if a fetch is necessary in a submodule
|
||||
during a fetch with --recurse-submodules got confused when the path
|
||||
to the submodule was changed in the range of commits in the
|
||||
superproject, sometimes showing "(null)". This has been corrected.
|
||||
|
||||
* "git submodule" did not correctly adjust core.worktree setting that
|
||||
indicates whether/where a submodule repository has its associated
|
||||
working tree across various state transitions, which has been
|
||||
corrected.
|
||||
|
||||
* Bugfix for "rebase -i" corner case regression.
|
||||
(merge a9279c6785 pw/rebase-i-keep-reword-after-conflict later to maint).
|
||||
|
||||
* Recently added "--base" option to "git format-patch" command did
|
||||
not correctly generate prereq patch ids.
|
||||
(merge 15b76c1fb3 xy/format-patch-prereq-patch-id-fix later to maint).
|
||||
|
||||
* POSIX portability fix in Makefile to fix a glitch introduced a few
|
||||
releases ago.
|
||||
(merge 6600054e9b dj/runtime-prefix later to maint).
|
||||
|
||||
* "git filter-branch" when used with the "--state-branch" option
|
||||
still attempted to rewrite the commits whose filtered result is
|
||||
known from the previous attempt (which is recorded on the state
|
||||
branch); the command has been corrected not to waste cycles doing
|
||||
so.
|
||||
(merge 709cfe848a mb/filter-branch-optim later to maint).
|
||||
|
||||
* Clarify that setting core.ignoreCase to deviate from reality would
|
||||
not turn a case-incapable filesystem into a case-capable one.
|
||||
(merge 48294b512a ms/core-icase-doc later to maint).
|
||||
|
||||
* "fsck.skipList" did not prevent a blob object listed there from
|
||||
being inspected for is contents (e.g. we recently started to
|
||||
inspect the contents of ".gitmodules" for certain malicious
|
||||
patterns), which has been corrected.
|
||||
(merge fb16287719 rj/submodule-fsck-skip later to maint).
|
||||
|
||||
* "git checkout --recurse-submodules another-branch" did not report
|
||||
in which submodule it failed to update the working tree, which
|
||||
resulted in an unhelpful error message.
|
||||
(merge ba95d4e4bd sb/submodule-move-head-error-msg later to maint).
|
||||
|
||||
* "git rebase" behaved slightly differently depending on which one of
|
||||
the three backends gets used; this has been documented and an
|
||||
effort to make them more uniform has begun.
|
||||
(merge b00bf1c9a8 en/rebase-consistency later to maint).
|
||||
|
||||
* The "--ignore-case" option of "git for-each-ref" (and its friends)
|
||||
did not work correctly, which has been fixed.
|
||||
(merge e674eb2528 jk/for-each-ref-icase later to maint).
|
||||
|
||||
* "git fetch" failed to correctly validate the set of objects it
|
||||
received when making a shallow history deeper, which has been
|
||||
corrected.
|
||||
(merge cf1e7c0770 jt/connectivity-check-after-unshallow later to maint).
|
||||
|
||||
* Partial clone support of "git clone" has been updated to correctly
|
||||
validate the objects it receives from the other side. The server
|
||||
side has been corrected to send objects that are directly
|
||||
requested, even if they may match the filtering criteria (e.g. when
|
||||
doing a "lazy blob" partial clone).
|
||||
(merge a7e67c11b8 jt/partial-clone-fsck-connectivity later to maint).
|
||||
|
||||
* Handling of an empty range by "git cherry-pick" was inconsistent
|
||||
depending on how the range ended up to be empty, which has been
|
||||
corrected.
|
||||
(merge c5e358d073 jk/empty-pick-fix later to maint).
|
||||
|
||||
* "git reset --merge" (hence "git merge ---abort") and "git reset --hard"
|
||||
had trouble working correctly in a sparsely checked out working
|
||||
tree after a conflict, which has been corrected.
|
||||
(merge b33fdfc34c mk/merge-in-sparse-checkout later to maint).
|
||||
|
||||
* Correct a broken use of "VAR=VAL shell_func" in a test.
|
||||
(merge 650161a277 jc/t3404-one-shot-export-fix later to maint).
|
||||
|
||||
* "git rev-parse ':/substring'" did not consider the history leading
|
||||
only to HEAD when looking for a commit with the given substring,
|
||||
when the HEAD is detached. This has been fixed.
|
||||
(merge 6b3351e799 wc/find-commit-with-pattern-on-detached-head later to maint).
|
||||
|
||||
* Build doc update for Windows.
|
||||
(merge ede8d89bb1 nd/command-list later to maint).
|
||||
|
||||
* core.commentchar is now honored when preparing the list of commits
|
||||
to replay in "rebase -i".
|
||||
|
||||
* "git pull --rebase" on a corrupt HEAD caused a segfault. In
|
||||
general we substitute an empty tree object when running the in-core
|
||||
equivalent of the diff-index command, and the codepath has been
|
||||
corrected to do so as well to fix this issue.
|
||||
(merge 3506dc9445 jk/has-uncommitted-changes-fix later to maint).
|
||||
|
||||
* httpd tests saw occasional breakage due to the way its access log
|
||||
gets inspected by the tests, which has been updated to make them
|
||||
less flaky.
|
||||
(merge e8b3b2e275 sg/httpd-test-unflake later to maint).
|
||||
|
||||
* Tests to cover more D/F conflict cases have been added for
|
||||
merge-recursive.
|
||||
|
||||
* "git gc --auto" opens file descriptors for the packfiles before
|
||||
spawning "git repack/prune", which would upset Windows that does
|
||||
not want a process to work on a file that is open by another
|
||||
process. The issue has been worked around.
|
||||
(merge 12e73a3ce4 kg/gc-auto-windows-workaround later to maint).
|
||||
|
||||
* The recursive merge strategy did not properly ensure there was no
|
||||
change between HEAD and the index before performing its operation,
|
||||
which has been corrected.
|
||||
(merge 55f39cf755 en/dirty-merge-fixes later to maint).
|
||||
|
||||
* "git rebase" started exporting GIT_DIR environment variable and
|
||||
exposing it to hook scripts when part of it got rewritten in C.
|
||||
Instead of matching the old scripted Porcelains' behaviour,
|
||||
compensate by also exporting GIT_WORK_TREE environment as well to
|
||||
lessen the damage. This can harm existing hooks that want to
|
||||
operate on different repository, but the current behaviour is
|
||||
already broken for them anyway.
|
||||
(merge ab5e67d751 bc/sequencer-export-work-tree-as-well later to maint).
|
||||
|
||||
* "git send-email" when using in a batched mode that limits the
|
||||
number of messages sent in a single SMTP session lost the contents
|
||||
of the variable used to choose between tls/ssl, unable to send the
|
||||
second and later batches, which has been fixed.
|
||||
(merge 636f3d7ac5 jm/send-email-tls-auth-on-batch later to maint).
|
||||
|
||||
* The lazy clone support had a few places where missing but promised
|
||||
objects were not correctly tolerated, which have been fixed.
|
||||
|
||||
* One of the "diff --color-moved" mode "dimmed_zebra" that was named
|
||||
in an unusual way has been deprecated and replaced by
|
||||
"dimmed-zebra".
|
||||
(merge e3f2f5f9cd es/diff-color-moved-fix later to maint).
|
||||
|
||||
* The wire-protocol v2 relies on the client to send "ref prefixes" to
|
||||
limit the bandwidth spent on the initial ref advertisement. "git
|
||||
clone" when learned to speak v2 forgot to do so, which has been
|
||||
corrected.
|
||||
(merge 402c47d939 bw/clone-ref-prefixes later to maint).
|
||||
|
||||
* "git diff --histogram" had a bad memory usage pattern, which has
|
||||
been rearranged to reduce the peak usage.
|
||||
(merge 79cb2ebb92 sb/histogram-less-memory later to maint).
|
||||
|
||||
* Code clean-up to use size_t/ssize_t when they are the right type.
|
||||
(merge 7726d360b5 jk/size-t later to maint).
|
||||
|
||||
* The wire-protocol v2 relies on the client to send "ref prefixes" to
|
||||
limit the bandwidth spent on the initial ref advertisement. "git
|
||||
fetch $remote branch:branch" that asks tags that point into the
|
||||
history leading to the "branch" automatically followed sent to
|
||||
narrow prefix and broke the tag following, which has been fixed.
|
||||
(merge 2b554353a5 jt/tag-following-with-proto-v2-fix later to maint).
|
||||
|
||||
* When the sparse checkout feature is in use, "git cherry-pick" and
|
||||
other mergy operations lost the skip_worktree bit when a path that
|
||||
is excluded from checkout requires content level merge, which is
|
||||
resolved as the same as the HEAD version, without materializing the
|
||||
merge result in the working tree, which made the path appear as
|
||||
deleted. This has been corrected by preserving the skip_worktree
|
||||
bit (and not materializing the file in the working tree).
|
||||
(merge 2b75fb601c en/merge-recursive-skip-fix later to maint).
|
||||
|
||||
* The "author-script" file "git rebase -i" creates got broken when
|
||||
we started to move the command away from shell script, which is
|
||||
getting fixed now.
|
||||
(merge 5522bbac20 es/rebase-i-author-script-fix later to maint).
|
||||
|
||||
* The automatic tree-matching in "git merge -s subtree" was broken 5
|
||||
years ago and nobody has noticed since then, which is now fixed.
|
||||
(merge 2ec4150713 jk/merge-subtree-heuristics later to maint).
|
||||
|
||||
* "git fetch $there refs/heads/s" ought to fetch the tip of the
|
||||
branch 's', but when "refs/heads/refs/heads/s", i.e. a branch whose
|
||||
name is "refs/heads/s" exists at the same time, fetched that one
|
||||
instead by mistake. This has been corrected to honor the usual
|
||||
disambiguation rules for abbreviated refnames.
|
||||
(merge 60650a48c0 jt/refspec-dwim-precedence-fix later to maint).
|
||||
|
||||
* Futureproofing a helper function that can easily be misused.
|
||||
(merge 65bb21e77e es/want-color-fd-defensive later to maint).
|
||||
|
||||
* The http-backend (used for smart-http transport) used to slurp the
|
||||
whole input until EOF, without paying attention to CONTENT_LENGTH
|
||||
that is supplied in the environment and instead expecting the Web
|
||||
server to close the input stream. This has been fixed.
|
||||
(merge eebfe40962 mk/http-backend-content-length later to maint).
|
||||
|
||||
* "git merge --abort" etc. did not clean things up properly when
|
||||
there were conflicted entries in the index in certain order that
|
||||
are involved in D/F conflicts. This has been corrected.
|
||||
(merge ad3762042a en/abort-df-conflict-fixes later to maint).
|
||||
|
||||
* "git diff --indent-heuristic" had a bad corner case performance.
|
||||
(merge 301ef85401 sb/indent-heuristic-optim later to maint).
|
||||
|
||||
* The "--exec" option to "git rebase --rebase-merges" placed the exec
|
||||
commands at wrong places, which has been corrected.
|
||||
|
||||
* "git verify-tag" and "git verify-commit" have been taught to use
|
||||
the exit status of underlying "gpg --verify" to signal bad or
|
||||
untrusted signature they found.
|
||||
(merge 4e5dc9ca17 jc/gpg-status later to maint).
|
||||
|
||||
* "git mergetool" stopped and gave an extra prompt to continue after
|
||||
the last path has been handled, which did not make much sense.
|
||||
(merge d651a54b8a ng/mergetool-lose-final-prompt later to maint).
|
||||
|
||||
* Among the three codepaths we use O_APPEND to open a file for
|
||||
appending, one used for writing GIT_TRACE output requires O_APPEND
|
||||
implementation that behaves sensibly when multiple processes are
|
||||
writing to the same file. POSIX emulation used in the Windows port
|
||||
has been updated to improve in this area.
|
||||
(merge d641097589 js/mingw-o-append later to maint).
|
||||
|
||||
* "git pull --rebase -v" in a repository with a submodule barfed as
|
||||
an intermediate process did not understand what "-v(erbose)" flag
|
||||
meant, which has been fixed.
|
||||
(merge e84c3cf3dc sb/pull-rebase-submodule later to maint).
|
||||
|
||||
* Recent update to "git config" broke updating variable in a
|
||||
subsection, which has been corrected.
|
||||
(merge bff7df7a87 sb/config-write-fix later to maint).
|
||||
|
||||
* When "git rebase -i" is told to squash two or more commits into
|
||||
one, it labeled the log message for each commit with its number.
|
||||
It correctly called the first one "1st commit", but the next one
|
||||
was "commit #1", which was off-by-one. This has been corrected.
|
||||
(merge dd2e36ebac pw/rebase-i-squash-number-fix later to maint).
|
||||
|
||||
* "git rebase -i", when a 'merge <branch>' insn in its todo list
|
||||
fails, segfaulted, which has been (minimally) corrected.
|
||||
(merge bc9238bb09 pw/rebase-i-merge-segv-fix later to maint).
|
||||
|
||||
* "git cherry-pick --quit" failed to remove CHERRY_PICK_HEAD even
|
||||
though we won't be in a cherry-pick session after it returns, which
|
||||
has been corrected.
|
||||
(merge 3e7dd99208 nd/cherry-pick-quit-fix later to maint).
|
||||
|
||||
* In a recent update in 2.18 era, "git pack-objects" started
|
||||
producing a larger than necessary packfiles by missing
|
||||
opportunities to use large deltas. This has been corrected.
|
||||
|
||||
* The meaning of the possible values the "core.checkStat"
|
||||
configuration variable can take were not adequately documented,
|
||||
which has been fixed.
|
||||
(merge 9bf5d4c4e2 nd/config-core-checkstat-doc later to maint).
|
||||
|
||||
* Code cleanup, docfix, build fix, etc.
|
||||
(merge aee9be2ebe sg/update-ref-stdin-cleanup later to maint).
|
||||
(merge 037714252f jc/clean-after-sanity-tests later to maint).
|
||||
(merge 5b26c3c941 en/merge-recursive-cleanup later to maint).
|
||||
(merge 0dcbc0392e bw/config-refer-to-gitsubmodules-doc later to maint).
|
||||
(merge bb4d000e87 bw/protocol-v2 later to maint).
|
||||
(merge 928f0ab4ba vs/typofixes later to maint).
|
||||
(merge d7f590be84 en/rebase-i-microfixes later to maint).
|
||||
(merge 81d395cc85 js/rebase-recreate-merge later to maint).
|
||||
(merge 51d1863168 tz/exclude-doc-smallfixes later to maint).
|
||||
(merge a9aa3c0927 ds/commit-graph later to maint).
|
||||
(merge 5cf8e06474 js/enhanced-version-info later to maint).
|
||||
(merge 6aaded5509 tb/config-default later to maint).
|
||||
(merge 022d2ac1f3 sb/blame-color later to maint).
|
||||
(merge 5a06a20e0c bp/test-drop-caches-for-windows later to maint).
|
||||
(merge dd61cc1c2e jk/ui-color-always-to-auto later to maint).
|
||||
(merge 1e83b9bfdd sb/trailers-docfix later to maint).
|
||||
(merge ab29f1b329 sg/fast-import-dump-refs-on-checkpoint-fix later to maint).
|
||||
(merge 6a8ad880f0 jn/subtree-test-fixes later to maint).
|
||||
(merge ffbd51cc60 nd/pack-objects-threading-doc later to maint).
|
||||
(merge e9dac7be60 es/mw-to-git-chain-fix later to maint).
|
||||
(merge fe583c6c7a rs/remote-mv-leakfix later to maint).
|
||||
(merge 69885ab015 en/t3031-title-fix later to maint).
|
||||
(merge 8578037bed nd/config-blame-sort later to maint).
|
||||
(merge 8ad169c4ba hn/config-in-code-comment later to maint).
|
||||
(merge b7446fcfdf ar/t4150-am-scissors-test-fix later to maint).
|
||||
(merge a8132410ee js/typofixes later to maint).
|
||||
(merge 388d0ff6e5 en/update-index-doc later to maint).
|
||||
(merge e05aa688dd jc/update-index-doc later to maint).
|
||||
(merge 10c600172c sg/t5310-empty-input-fix later to maint).
|
||||
(merge 5641eb9465 jh/partial-clone-doc later to maint).
|
||||
(merge 2711b1ad5e ab/submodule-relative-url-tests later to maint).
|
||||
(merge ce528de023 ab/unconditional-free-and-null later to maint).
|
||||
(merge bbc072f5d8 rs/opt-updates later to maint).
|
||||
(merge 69d846f053 jk/use-compat-util-in-test-tool later to maint).
|
||||
(merge 1820703045 js/larger-timestamps later to maint).
|
||||
(merge c8b35b95e1 sg/t4051-fix later to maint).
|
||||
(merge 30612cb670 sg/t0020-conversion-fix later to maint).
|
||||
(merge 15da753709 sg/t7501-thinkofix later to maint).
|
||||
(merge 79b04f9b60 sg/t3903-missing-fix later to maint).
|
||||
(merge 2745817028 sg/t3420-autostash-fix later to maint).
|
||||
(merge 7afb0d6777 sg/test-rebase-editor-fix later to maint).
|
@ -176,6 +176,12 @@ that is fine, but please mark it as such.
|
||||
[[send-patches]]
|
||||
=== Sending your patches.
|
||||
|
||||
:security-ml: footnoteref:[security-ml,The Git Security mailing list: git-security@googlegroups.com]
|
||||
|
||||
Before sending any patches, please note that patches that may be
|
||||
security relevant should be submitted privately to the Git Security
|
||||
mailing list{security-ml}, instead of the public mailing list.
|
||||
|
||||
Learn to use format-patch and send-email if possible. These commands
|
||||
are optimized for the workflow of sending patches, avoiding many ways
|
||||
your existing e-mail client that is optimized for "multipart/*" mime
|
||||
@ -259,17 +265,24 @@ patch, format it as "multipart/signed", not a text/plain message
|
||||
that starts with `-----BEGIN PGP SIGNED MESSAGE-----`. That is
|
||||
not a text/plain, it's something else.
|
||||
|
||||
:security-ml-ref: footnoteref:[security-ml]
|
||||
|
||||
As mentioned at the beginning of the section, patches that may be
|
||||
security relevant should not be submitted to the public mailing list
|
||||
mentioned below, but should instead be sent privately to the Git
|
||||
Security mailing list{security-ml-ref}.
|
||||
|
||||
Send your patch with "To:" set to the mailing list, with "cc:" listing
|
||||
people who are involved in the area you are touching (the output from
|
||||
`git blame $path` and `git shortlog --no-merges $path` would help to
|
||||
people who are involved in the area you are touching (the `git
|
||||
contacts` command in `contrib/contacts/` can help to
|
||||
identify them), to solicit comments and reviews.
|
||||
|
||||
:1: footnote:[The current maintainer: gitster@pobox.com]
|
||||
:2: footnote:[The mailing list: git@vger.kernel.org]
|
||||
:current-maintainer: footnote:[The current maintainer: gitster@pobox.com]
|
||||
:git-ml: footnote:[The mailing list: git@vger.kernel.org]
|
||||
|
||||
After the list reached a consensus that it is a good idea to apply the
|
||||
patch, re-send it with "To:" set to the maintainer{1} and "cc:" the
|
||||
list{2} for inclusion.
|
||||
patch, re-send it with "To:" set to the maintainer{current-maintainer} and "cc:" the
|
||||
list{git-ml} for inclusion.
|
||||
|
||||
Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and
|
||||
`Tested-by:` lines as necessary to credit people who helped your
|
||||
@ -285,7 +298,7 @@ smaller project it is a good discipline to follow it.
|
||||
|
||||
The sign-off is a simple line at the end of the explanation for
|
||||
the patch, which certifies that you wrote it or otherwise have
|
||||
the right to pass it on as a open-source patch. The rules are
|
||||
the right to pass it on as an open-source patch. The rules are
|
||||
pretty simple: if you can certify the below D-C-O:
|
||||
|
||||
[[dco]]
|
||||
@ -390,7 +403,7 @@ don't demand). +git log -p {litdd} _$area_you_are_modifying_+ would
|
||||
help you find out who they are.
|
||||
|
||||
. You get comments and suggestions for improvements. You may
|
||||
even get them in a "on top of your change" patch form.
|
||||
even get them in an "on top of your change" patch form.
|
||||
|
||||
. Polish, refine, and re-send to the list and the people who
|
||||
spend their time to improve your patch. Go back to step (2).
|
||||
|
@ -344,6 +344,16 @@ advice.*::
|
||||
Advice shown when you used linkgit:git-checkout[1] to
|
||||
move to the detach HEAD state, to instruct how to create
|
||||
a local branch after the fact.
|
||||
checkoutAmbiguousRemoteBranchName::
|
||||
Advice shown when the argument to
|
||||
linkgit:git-checkout[1] ambiguously resolves to a
|
||||
remote tracking branch on more than one remote in
|
||||
situations where an unambiguous argument would have
|
||||
otherwise caused a remote-tracking branch to be
|
||||
checked out. See the `checkout.defaultRemote`
|
||||
configuration variable for how to set a given remote
|
||||
to used by default in some situations where this
|
||||
advice would be printed.
|
||||
amWorkDir::
|
||||
Advice that shows the location of the patch file when
|
||||
linkgit:git-am[1] fails to apply it.
|
||||
@ -354,7 +364,7 @@ advice.*::
|
||||
Advice on what to do when you've accidentally added one
|
||||
git repo inside of another.
|
||||
ignoredHook::
|
||||
Advice shown if an hook is ignored because the hook is not
|
||||
Advice shown if a hook is ignored because the hook is not
|
||||
set as executable.
|
||||
waitingForEditor::
|
||||
Print a message to the terminal whenever Git is waiting for
|
||||
@ -390,16 +400,19 @@ core.hideDotFiles::
|
||||
default mode is 'dotGitOnly'.
|
||||
|
||||
core.ignoreCase::
|
||||
If true, this option enables various workarounds to enable
|
||||
Internal variable which enables various workarounds to enable
|
||||
Git to work better on filesystems that are not case sensitive,
|
||||
like FAT. For example, if a directory listing finds
|
||||
"makefile" when Git expects "Makefile", Git will assume
|
||||
like APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing
|
||||
finds "makefile" when Git expects "Makefile", Git will assume
|
||||
it is really the same file, and continue to remember it as
|
||||
"Makefile".
|
||||
+
|
||||
The default is false, except linkgit:git-clone[1] or linkgit:git-init[1]
|
||||
will probe and set core.ignoreCase true if appropriate when the repository
|
||||
is created.
|
||||
+
|
||||
Git relies on the proper configuration of this variable for your operating
|
||||
and file system. Modifying this value may result in unexpected behavior.
|
||||
|
||||
core.precomposeUnicode::
|
||||
This option is only used by Mac OS implementation of Git.
|
||||
@ -449,10 +462,20 @@ core.untrackedCache::
|
||||
See linkgit:git-update-index[1]. `keep` by default.
|
||||
|
||||
core.checkStat::
|
||||
Determines which stat fields to match between the index
|
||||
and work tree. The user can set this to 'default' or
|
||||
'minimal'. Default (or explicitly 'default'), is to check
|
||||
all fields, including the sub-second part of mtime and ctime.
|
||||
When missing or is set to `default`, many fields in the stat
|
||||
structure are checked to detect if a file has been modified
|
||||
since Git looked at it. When this configuration variable is
|
||||
set to `minimal`, sub-second part of mtime and ctime, the
|
||||
uid and gid of the owner of the file, the inode number (and
|
||||
the device number, if Git was compiled to use it), are
|
||||
excluded from the check among these fields, leaving only the
|
||||
whole-second part of mtime (and ctime, if `core.trustCtime`
|
||||
is set) and the filesize to be checked.
|
||||
+
|
||||
There are implementations of Git that do not leave usable values in
|
||||
some fields (e.g. JGit); by excluding these fields from the
|
||||
comparison, the `minimal` mode may help interoperability when the
|
||||
same repository is used by these other systems at the same time.
|
||||
|
||||
core.quotePath::
|
||||
Commands that output paths (e.g. 'ls-files', 'diff'), will
|
||||
@ -530,6 +553,12 @@ core.autocrlf::
|
||||
This variable can be set to 'input',
|
||||
in which case no output conversion is performed.
|
||||
|
||||
core.checkRoundtripEncoding::
|
||||
A comma and/or whitespace separated list of encodings that Git
|
||||
performs UTF-8 round trip checks on if they are used in an
|
||||
`working-tree-encoding` attribute (see linkgit:gitattributes[5]).
|
||||
The default value is `SHIFT-JIS`.
|
||||
|
||||
core.symlinks::
|
||||
If false, symbolic links are checked out as small plain files that
|
||||
contain the link text. linkgit:git-update-index[1] and
|
||||
@ -898,6 +927,16 @@ core.notesRef::
|
||||
This setting defaults to "refs/notes/commits", and it can be overridden by
|
||||
the `GIT_NOTES_REF` environment variable. See linkgit:git-notes[1].
|
||||
|
||||
core.commitGraph::
|
||||
If true, then git will read the commit-graph file (if it exists)
|
||||
to parse the graph structure of commits. Defaults to false. See
|
||||
linkgit:git-commit-graph[1] for more information.
|
||||
|
||||
core.useReplaceRefs::
|
||||
If set to `false`, behave as if the `--no-replace-objects`
|
||||
option was given on the command line. See linkgit:git[1] and
|
||||
linkgit:git-replace[1] for more information.
|
||||
|
||||
core.sparseCheckout::
|
||||
Enable "sparse checkout" feature. See section "Sparse checkout" in
|
||||
linkgit:git-read-tree[1] for more information.
|
||||
@ -964,23 +1003,28 @@ apply.whitespace::
|
||||
Tells 'git apply' how to handle whitespaces, in the same way
|
||||
as the `--whitespace` option. See linkgit:git-apply[1].
|
||||
|
||||
blame.showRoot::
|
||||
Do not treat root commits as boundaries in linkgit:git-blame[1].
|
||||
This option defaults to false.
|
||||
|
||||
blame.blankBoundary::
|
||||
Show blank commit object name for boundary commits in
|
||||
linkgit:git-blame[1]. This option defaults to false.
|
||||
|
||||
blame.showEmail::
|
||||
Show the author email instead of author name in linkgit:git-blame[1].
|
||||
This option defaults to false.
|
||||
blame.coloring::
|
||||
This determines the coloring scheme to be applied to blame
|
||||
output. It can be 'repeatedLines', 'highlightRecent',
|
||||
or 'none' which is the default.
|
||||
|
||||
blame.date::
|
||||
Specifies the format used to output dates in linkgit:git-blame[1].
|
||||
If unset the iso format is used. For supported values,
|
||||
see the discussion of the `--date` option at linkgit:git-log[1].
|
||||
|
||||
blame.showEmail::
|
||||
Show the author email instead of author name in linkgit:git-blame[1].
|
||||
This option defaults to false.
|
||||
|
||||
blame.showRoot::
|
||||
Do not treat root commits as boundaries in linkgit:git-blame[1].
|
||||
This option defaults to false.
|
||||
|
||||
branch.autoSetupMerge::
|
||||
Tells 'git branch' and 'git checkout' to set up new branches
|
||||
so that linkgit:git-pull[1] will appropriately merge from the
|
||||
@ -1008,6 +1052,12 @@ branch.autoSetupRebase::
|
||||
branch to track another branch.
|
||||
This option defaults to never.
|
||||
|
||||
branch.sort::
|
||||
This variable controls the sort ordering of branches when displayed by
|
||||
linkgit:git-branch[1]. Without the "--sort=<value>" option provided, the
|
||||
value of this variable will be used as the default.
|
||||
See linkgit:git-for-each-ref[1] field names for valid values.
|
||||
|
||||
branch.<name>.remote::
|
||||
When on branch <name>, it tells 'git fetch' and 'git push'
|
||||
which remote to fetch from/push to. The remote to push to
|
||||
@ -1058,6 +1108,10 @@ branch.<name>.rebase::
|
||||
"git pull" is run. See "pull.rebase" for doing this in a non
|
||||
branch-specific manner.
|
||||
+
|
||||
When `merges`, pass the `--rebase-merges` option to 'git rebase'
|
||||
so that the local merge commits are included in the rebase (see
|
||||
linkgit:git-rebase[1] for details).
|
||||
+
|
||||
When preserve, also pass `--preserve-merges` along to 'git rebase'
|
||||
so that locally committed merge commits will not be flattened
|
||||
by running 'git pull'.
|
||||
@ -1084,10 +1138,58 @@ browser.<tool>.path::
|
||||
browse HTML help (see `-w` option in linkgit:git-help[1]) or a
|
||||
working repository in gitweb (see linkgit:git-instaweb[1]).
|
||||
|
||||
checkout.defaultRemote::
|
||||
When you run 'git checkout <something>' and only have one
|
||||
remote, it may implicitly fall back on checking out and
|
||||
tracking e.g. 'origin/<something>'. This stops working as soon
|
||||
as you have more than one remote with a '<something>'
|
||||
reference. This setting allows for setting the name of a
|
||||
preferred remote that should always win when it comes to
|
||||
disambiguation. The typical use-case is to set this to
|
||||
`origin`.
|
||||
+
|
||||
Currently this is used by linkgit:git-checkout[1] when 'git checkout
|
||||
<something>' will checkout the '<something>' branch on another remote,
|
||||
and by linkgit:git-worktree[1] when 'git worktree add' refers to a
|
||||
remote branch. This setting might be used for other checkout-like
|
||||
commands or functionality in the future.
|
||||
|
||||
clean.requireForce::
|
||||
A boolean to make git-clean do nothing unless given -f,
|
||||
-i or -n. Defaults to true.
|
||||
|
||||
color.advice::
|
||||
A boolean to enable/disable color in hints (e.g. when a push
|
||||
failed, see `advice.*` for a list). May be set to `always`,
|
||||
`false` (or `never`) or `auto` (or `true`), in which case colors
|
||||
are used only when the error output goes to a terminal. If
|
||||
unset, then the value of `color.ui` is used (`auto` by default).
|
||||
|
||||
color.advice.hint::
|
||||
Use customized color for hints.
|
||||
|
||||
color.blame.highlightRecent::
|
||||
This can be used to color the metadata of a blame line depending
|
||||
on age of the line.
|
||||
+
|
||||
This setting should be set to a comma-separated list of color and date settings,
|
||||
starting and ending with a color, the dates should be set from oldest to newest.
|
||||
The metadata will be colored given the colors if the the line was introduced
|
||||
before the given timestamp, overwriting older timestamped colors.
|
||||
+
|
||||
Instead of an absolute timestamp relative timestamps work as well, e.g.
|
||||
2.weeks.ago is valid to address anything older than 2 weeks.
|
||||
+
|
||||
It defaults to 'blue,12 month ago,white,1 month ago,red', which colors
|
||||
everything older than one year blue, recent changes between one month and
|
||||
one year old are kept white, and lines introduced within the last month are
|
||||
colored red.
|
||||
|
||||
color.blame.repeatedLines::
|
||||
Use the customized color for the part of git-blame output that
|
||||
is repeated meta information per line (such as commit id,
|
||||
author name, date and timezone). Defaults to cyan.
|
||||
|
||||
color.branch::
|
||||
A boolean to enable/disable color in the output of
|
||||
linkgit:git-branch[1]. May be set to `always`,
|
||||
@ -1115,13 +1217,6 @@ This does not affect linkgit:git-format-patch[1] or the
|
||||
'git-diff-{asterisk}' plumbing commands. Can be overridden on the
|
||||
command line with the `--color[=<when>]` option.
|
||||
|
||||
diff.colorMoved::
|
||||
If set to either a valid `<mode>` or a true value, moved lines
|
||||
in a diff are colored differently, for details of valid modes
|
||||
see '--color-moved' in linkgit:git-diff[1]. If simply set to
|
||||
true the default color mode will be used. When set to false,
|
||||
moved lines are not colored.
|
||||
|
||||
color.diff.<slot>::
|
||||
Use customized color for diff colorization. `<slot>` specifies
|
||||
which part of the patch to use the specified color, and is one
|
||||
@ -1132,13 +1227,16 @@ color.diff.<slot>::
|
||||
(highlighting whitespace errors), `oldMoved` (deleted lines),
|
||||
`newMoved` (added lines), `oldMovedDimmed`, `oldMovedAlternative`,
|
||||
`oldMovedAlternativeDimmed`, `newMovedDimmed`, `newMovedAlternative`
|
||||
and `newMovedAlternativeDimmed` (See the '<mode>'
|
||||
setting of '--color-moved' in linkgit:git-diff[1] for details).
|
||||
`newMovedAlternativeDimmed` (See the '<mode>'
|
||||
setting of '--color-moved' in linkgit:git-diff[1] for details),
|
||||
`contextDimmed`, `oldDimmed`, `newDimmed`, `contextBold`,
|
||||
`oldBold`, and `newBold` (see linkgit:git-range-diff[1] for details).
|
||||
|
||||
color.decorate.<slot>::
|
||||
Use customized color for 'git log --decorate' output. `<slot>` is one
|
||||
of `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local
|
||||
branches, remote-tracking branches, tags, stash and HEAD, respectively.
|
||||
branches, remote-tracking branches, tags, stash and HEAD, respectively
|
||||
and `grafted` for grafted commits.
|
||||
|
||||
color.grep::
|
||||
When set to `always`, always highlight matches. When `false` (or
|
||||
@ -1157,8 +1255,10 @@ color.grep.<slot>::
|
||||
filename prefix (when not using `-h`)
|
||||
`function`;;
|
||||
function name lines (when using `-p`)
|
||||
`linenumber`;;
|
||||
`lineNumber`;;
|
||||
line number prefix (when using `-n`)
|
||||
`column`;;
|
||||
column number prefix (when using `--column`)
|
||||
`match`;;
|
||||
matching text (same as setting `matchContext` and `matchSelected`)
|
||||
`matchContext`;;
|
||||
@ -1190,6 +1290,27 @@ color.pager::
|
||||
A boolean to enable/disable colored output when the pager is in
|
||||
use (default is true).
|
||||
|
||||
color.push::
|
||||
A boolean to enable/disable color in push errors. May be set to
|
||||
`always`, `false` (or `never`) or `auto` (or `true`), in which
|
||||
case colors are used only when the error output goes to a terminal.
|
||||
If unset, then the value of `color.ui` is used (`auto` by default).
|
||||
|
||||
color.push.error::
|
||||
Use customized color for push errors.
|
||||
|
||||
color.remote::
|
||||
If set, keywords at the start of the line are highlighted. The
|
||||
keywords are "error", "warning", "hint" and "success", and are
|
||||
matched case-insensitively. May be set to `always`, `false` (or
|
||||
`never`) or `auto` (or `true`). If unset, then the value of
|
||||
`color.ui` is used (`auto` by default).
|
||||
|
||||
color.remote.<slot>::
|
||||
Use customized color for each remote keyword. `<slot>` may be
|
||||
`hint`, `warning`, `success` or `error` which match the
|
||||
corresponding keyword.
|
||||
|
||||
color.showBranch::
|
||||
A boolean to enable/disable color in the output of
|
||||
linkgit:git-show-branch[1]. May be set to `always`,
|
||||
@ -1218,6 +1339,15 @@ color.status.<slot>::
|
||||
status short-format), or
|
||||
`unmerged` (files which have unmerged changes).
|
||||
|
||||
color.transport::
|
||||
A boolean to enable/disable color when pushes are rejected. May be
|
||||
set to `always`, `false` (or `never`) or `auto` (or `true`), in which
|
||||
case colors are used only when the error output goes to a terminal.
|
||||
If unset, then the value of `color.ui` is used (`auto` by default).
|
||||
|
||||
color.transport.rejected::
|
||||
Use customized color when a push was rejected.
|
||||
|
||||
color.ui::
|
||||
This variable determines the default value for variables such
|
||||
as `color.diff` and `color.grep` that control the use of color
|
||||
@ -1343,6 +1473,14 @@ credential.<url>.*::
|
||||
credentialCache.ignoreSIGHUP::
|
||||
Tell git-credential-cache--daemon to ignore SIGHUP, instead of quitting.
|
||||
|
||||
completion.commands::
|
||||
This is only used by git-completion.bash to add or remove
|
||||
commands from the list of completed commands. Normally only
|
||||
porcelain commands and a few select others are completed. You
|
||||
can add more commands, separated by space, in this
|
||||
variable. Prefixing the command with '-' will remove it from
|
||||
the existing list.
|
||||
|
||||
include::diff-config.txt[]
|
||||
|
||||
difftool.<tool>.path::
|
||||
@ -1380,10 +1518,19 @@ fetch.recurseSubmodules::
|
||||
|
||||
fetch.fsckObjects::
|
||||
If it is set to true, git-fetch-pack will check all fetched
|
||||
objects. It will abort in the case of a malformed object or a
|
||||
broken link. The result of an abort are only dangling objects.
|
||||
Defaults to false. If not set, the value of `transfer.fsckObjects`
|
||||
is used instead.
|
||||
objects. See `transfer.fsckObjects` for what's
|
||||
checked. Defaults to false. If not set, the value of
|
||||
`transfer.fsckObjects` is used instead.
|
||||
|
||||
fetch.fsck.<msg-id>::
|
||||
Acts like `fsck.<msg-id>`, but is used by
|
||||
linkgit:git-fetch-pack[1] instead of linkgit:git-fsck[1]. See
|
||||
the `fsck.<msg-id>` documentation for details.
|
||||
|
||||
fetch.fsck.skipList::
|
||||
Acts like `fsck.skipList`, but is used by
|
||||
linkgit:git-fetch-pack[1] instead of linkgit:git-fsck[1]. See
|
||||
the `fsck.skipList` documentation for details.
|
||||
|
||||
fetch.unpackLimit::
|
||||
If the number of objects fetched over the Git native
|
||||
@ -1398,13 +1545,34 @@ fetch.unpackLimit::
|
||||
|
||||
fetch.prune::
|
||||
If true, fetch will automatically behave as if the `--prune`
|
||||
option was given on the command line. See also `remote.<name>.prune`.
|
||||
option was given on the command line. See also `remote.<name>.prune`
|
||||
and the PRUNING section of linkgit:git-fetch[1].
|
||||
|
||||
fetch.pruneTags::
|
||||
If true, fetch will automatically behave as if the
|
||||
`refs/tags/*:refs/tags/*` refspec was provided when pruning,
|
||||
if not set already. This allows for setting both this option
|
||||
and `fetch.prune` to maintain a 1=1 mapping to upstream
|
||||
refs. See also `remote.<name>.pruneTags` and the PRUNING
|
||||
section of linkgit:git-fetch[1].
|
||||
|
||||
fetch.output::
|
||||
Control how ref update status is printed. Valid values are
|
||||
`full` and `compact`. Default value is `full`. See section
|
||||
OUTPUT in linkgit:git-fetch[1] for detail.
|
||||
|
||||
fetch.negotiationAlgorithm::
|
||||
Control how information about the commits in the local repository is
|
||||
sent when negotiating the contents of the packfile to be sent by the
|
||||
server. Set to "skipping" to use an algorithm that skips commits in an
|
||||
effort to converge faster, but may result in a larger-than-necessary
|
||||
packfile; The default is "default" which instructs Git to use the default algorithm
|
||||
that never skips commits (unless the server has acknowledged it or one
|
||||
of its descendants).
|
||||
Unknown values will cause 'git fetch' to error out.
|
||||
+
|
||||
See also the `--negotiation-tip` option for linkgit:git-fetch[1].
|
||||
|
||||
format.attach::
|
||||
Enable multipart/mixed attachments as the default for
|
||||
'format-patch'. The value can also be a double quoted string
|
||||
@ -1504,15 +1672,42 @@ filter.<driver>.smudge::
|
||||
linkgit:gitattributes[5] for details.
|
||||
|
||||
fsck.<msg-id>::
|
||||
Allows overriding the message type (error, warn or ignore) of a
|
||||
specific message ID such as `missingEmail`.
|
||||
During fsck git may find issues with legacy data which
|
||||
wouldn't be generated by current versions of git, and which
|
||||
wouldn't be sent over the wire if `transfer.fsckObjects` was
|
||||
set. This feature is intended to support working with legacy
|
||||
repositories containing such data.
|
||||
+
|
||||
For convenience, fsck prefixes the error/warning with the message ID,
|
||||
e.g. "missingEmail: invalid author/committer line - missing email" means
|
||||
that setting `fsck.missingEmail = ignore` will hide that issue.
|
||||
Setting `fsck.<msg-id>` will be picked up by linkgit:git-fsck[1], but
|
||||
to accept pushes of such data set `receive.fsck.<msg-id>` instead, or
|
||||
to clone or fetch it set `fetch.fsck.<msg-id>`.
|
||||
+
|
||||
This feature is intended to support working with legacy repositories
|
||||
which cannot be repaired without disruptive changes.
|
||||
The rest of the documentation discusses `fsck.*` for brevity, but the
|
||||
same applies for the corresponding `receive.fsck.*` and
|
||||
`fetch.<msg-id>.*`. variables.
|
||||
+
|
||||
Unlike variables like `color.ui` and `core.editor` the
|
||||
`receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>` variables will not
|
||||
fall back on the `fsck.<msg-id>` configuration if they aren't set. To
|
||||
uniformly configure the same fsck settings in different circumstances
|
||||
all three of them they must all set to the same values.
|
||||
+
|
||||
When `fsck.<msg-id>` is set, errors can be switched to warnings and
|
||||
vice versa by configuring the `fsck.<msg-id>` setting where the
|
||||
`<msg-id>` is the fsck message ID and the value is one of `error`,
|
||||
`warn` or `ignore`. For convenience, fsck prefixes the error/warning
|
||||
with the message ID, e.g. "missingEmail: invalid author/committer line
|
||||
- missing email" means that setting `fsck.missingEmail = ignore` will
|
||||
hide that issue.
|
||||
+
|
||||
In general, it is better to enumerate existing objects with problems
|
||||
with `fsck.skipList`, instead of listing the kind of breakages these
|
||||
problematic objects share to be ignored, as doing the latter will
|
||||
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.
|
||||
|
||||
fsck.skipList::
|
||||
The path to a sorted list of object names (i.e. one SHA-1 per
|
||||
@ -1521,6 +1716,15 @@ fsck.skipList::
|
||||
should be accepted despite early commits containing errors that
|
||||
can be safely ignored such as invalid committer email addresses.
|
||||
Note: corrupt objects cannot be skipped with this setting.
|
||||
+
|
||||
Like `fsck.<msg-id>` this variable has corresponding
|
||||
`receive.fsck.skipList` and `fetch.fsck.skipList` variants.
|
||||
+
|
||||
Unlike variables like `color.ui` and `core.editor` the
|
||||
`receive.fsck.skipList` and `fetch.fsck.skipList` variables will not
|
||||
fall back on the `fsck.skipList` configuration if they aren't set. To
|
||||
uniformly configure the same fsck settings in different circumstances
|
||||
all three of them they must all set to the same values.
|
||||
|
||||
gc.aggressiveDepth::
|
||||
The depth parameter used in the delta compression
|
||||
@ -1549,6 +1753,25 @@ gc.autoDetach::
|
||||
Make `git gc --auto` return immediately and run in background
|
||||
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-base-pack`
|
||||
except that all packs that meet the threshold are kept, not
|
||||
just the base 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
|
||||
will be repacked. After this the number of packs should go below
|
||||
gc.autoPackLimit and gc.bigPackThreshold should be respected again.
|
||||
|
||||
gc.writeCommitGraph::
|
||||
If true, then gc will rewrite the commit-graph file when
|
||||
linkgit:git-gc[1] is run. When using linkgit:git-gc[1]
|
||||
'--auto' the commit-graph will be updated if housekeeping is
|
||||
required. Default is false. See linkgit:git-commit-graph[1]
|
||||
for details.
|
||||
|
||||
gc.logExpiry::
|
||||
If the file gc.log exists, then `git gc --auto` won't run
|
||||
unless that file is more than 'gc.logExpiry' old. Default is
|
||||
@ -1699,6 +1922,9 @@ gitweb.snapshot::
|
||||
grep.lineNumber::
|
||||
If set to true, enable `-n` option by default.
|
||||
|
||||
grep.column::
|
||||
If set to true, enable the `--column` option by default.
|
||||
|
||||
grep.patternType::
|
||||
Set the default matching behavior. Using a value of 'basic', 'extended',
|
||||
'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,
|
||||
@ -1729,6 +1955,16 @@ gpg.program::
|
||||
signed, and the program is expected to send the result to its
|
||||
standard output.
|
||||
|
||||
gpg.format::
|
||||
Specifies which key format to use when signing with `--gpg-sign`.
|
||||
Default is "openpgp" and another possible value is "x509".
|
||||
|
||||
gpg.<format>.program::
|
||||
Use this to customize the program used for the signing format you
|
||||
chose. (see `gpg.program` and `gpg.format`) `gpg.program` can still
|
||||
be used as a legacy synonym for `gpg.openpgp.program`. The default
|
||||
value for `gpg.x509.program` is "gpgsm".
|
||||
|
||||
gui.commitMsgWidth::
|
||||
Defines how wide the commit message window is in the
|
||||
linkgit:git-gui[1]. "75" is the default.
|
||||
@ -1948,6 +2184,7 @@ http.sslVersion::
|
||||
- tlsv1.0
|
||||
- tlsv1.1
|
||||
- tlsv1.2
|
||||
- tlsv1.3
|
||||
|
||||
+
|
||||
Can be overridden by the `GIT_SSL_VERSION` environment variable.
|
||||
@ -2412,6 +2649,7 @@ pack.window::
|
||||
pack.depth::
|
||||
The maximum delta depth used by linkgit:git-pack-objects[1] when no
|
||||
maximum depth is given on the command line. Defaults to 50.
|
||||
Maximum value is 4095.
|
||||
|
||||
pack.windowMemory::
|
||||
The maximum size of memory that is consumed by each thread
|
||||
@ -2448,7 +2686,8 @@ pack.deltaCacheLimit::
|
||||
The maximum size of a delta, that is cached in
|
||||
linkgit:git-pack-objects[1]. This cache is used to speed up the
|
||||
writing object phase by not having to recompute the final delta
|
||||
result once the best match for all objects is found. Defaults to 1000.
|
||||
result once the best match for all objects is found.
|
||||
Defaults to 1000. Maximum value is 65535.
|
||||
|
||||
pack.threads::
|
||||
Specifies the number of threads to spawn when searching for best
|
||||
@ -2607,6 +2846,10 @@ pull.rebase::
|
||||
pull" is run. See "branch.<name>.rebase" for setting this on a
|
||||
per-branch basis.
|
||||
+
|
||||
When `merges`, pass the `--rebase-merges` option to 'git rebase'
|
||||
so that the local merge commits are included in the rebase (see
|
||||
linkgit:git-rebase[1] for details).
|
||||
+
|
||||
When preserve, also pass `--preserve-merges` along to 'git rebase'
|
||||
so that locally committed merge commits will not be flattened
|
||||
by running 'git pull'.
|
||||
@ -2775,32 +3018,21 @@ receive.certNonceSlop::
|
||||
|
||||
receive.fsckObjects::
|
||||
If it is set to true, git-receive-pack will check all received
|
||||
objects. It will abort in the case of a malformed object or a
|
||||
broken link. The result of an abort are only dangling objects.
|
||||
Defaults to false. If not set, the value of `transfer.fsckObjects`
|
||||
is used instead.
|
||||
objects. See `transfer.fsckObjects` for what's checked.
|
||||
Defaults to false. If not set, the value of
|
||||
`transfer.fsckObjects` is used instead.
|
||||
|
||||
receive.fsck.<msg-id>::
|
||||
When `receive.fsckObjects` is set to true, errors can be switched
|
||||
to warnings and vice versa by configuring the `receive.fsck.<msg-id>`
|
||||
setting where the `<msg-id>` is the fsck message ID and the value
|
||||
is one of `error`, `warn` or `ignore`. For convenience, fsck prefixes
|
||||
the error/warning with the message ID, e.g. "missingEmail: invalid
|
||||
author/committer line - missing email" means that setting
|
||||
`receive.fsck.missingEmail = ignore` will hide that issue.
|
||||
+
|
||||
This feature is intended to support working with legacy repositories
|
||||
which would not pass pushing when `receive.fsckObjects = true`, allowing
|
||||
the host to accept repositories with certain known issues but still catch
|
||||
other issues.
|
||||
Acts like `fsck.<msg-id>`, but is used by
|
||||
linkgit:git-receive-pack[1] instead of
|
||||
linkgit:git-fsck[1]. See the `fsck.<msg-id>` documentation for
|
||||
details.
|
||||
|
||||
receive.fsck.skipList::
|
||||
The path to a sorted list of object names (i.e. one SHA-1 per
|
||||
line) that are known to be broken in a non-fatal way and should
|
||||
be ignored. This feature is useful when an established project
|
||||
should be accepted despite early commits containing errors that
|
||||
can be safely ignored such as invalid committer email addresses.
|
||||
Note: corrupt objects cannot be skipped with this setting.
|
||||
Acts like `fsck.skipList`, but is used by
|
||||
linkgit:git-receive-pack[1] instead of
|
||||
linkgit:git-fsck[1]. See the `fsck.skipList` documentation for
|
||||
details.
|
||||
|
||||
receive.keepAlive::
|
||||
After receiving the pack from the client, `receive-pack` may
|
||||
@ -2945,6 +3177,15 @@ remote.<name>.prune::
|
||||
remote (as if the `--prune` option was given on the command line).
|
||||
Overrides `fetch.prune` settings, if any.
|
||||
|
||||
remote.<name>.pruneTags::
|
||||
When set to true, fetching from this remote by default will also
|
||||
remove any local tags that no longer exist on the remote if pruning
|
||||
is activated in general via `remote.<name>.prune`, `fetch.prune` or
|
||||
`--prune`. Overrides `fetch.pruneTags` settings, if any.
|
||||
+
|
||||
See also `remote.<name>.prune` and the PRUNING section of
|
||||
linkgit:git-fetch[1].
|
||||
|
||||
remotes.<group>::
|
||||
The list of remotes which are fetched by "git remote update
|
||||
<group>". See linkgit:git-remote[1].
|
||||
@ -3100,6 +3341,18 @@ status.displayCommentPrefix::
|
||||
behavior of linkgit:git-status[1] in Git 1.8.4 and previous.
|
||||
Defaults to false.
|
||||
|
||||
status.renameLimit::
|
||||
The number of files to consider when performing rename detection
|
||||
in linkgit:git-status[1] and linkgit:git-commit[1]. Defaults to
|
||||
the value of diff.renameLimit.
|
||||
|
||||
status.renames::
|
||||
Whether and how Git detects renames in linkgit:git-status[1] and
|
||||
linkgit:git-commit[1] . If set to "false", rename detection is
|
||||
disabled. If set to "true", basic rename detection is enabled.
|
||||
If set to "copies" or "copy", Git will detect copies, as well.
|
||||
Defaults to the value of diff.renames.
|
||||
|
||||
status.showStash::
|
||||
If set to true, linkgit:git-status[1] will display the number of
|
||||
entries currently stashed away.
|
||||
@ -3201,16 +3454,18 @@ submodule.<name>.ignore::
|
||||
submodule.<name>.active::
|
||||
Boolean value indicating if the submodule is of interest to git
|
||||
commands. This config option takes precedence over the
|
||||
submodule.active config option.
|
||||
submodule.active config option. See linkgit:gitsubmodules[7] for
|
||||
details.
|
||||
|
||||
submodule.active::
|
||||
A repeated field which contains a pathspec used to match against a
|
||||
submodule's path to determine if the submodule is of interest to git
|
||||
commands.
|
||||
commands. See linkgit:gitsubmodules[7] for details.
|
||||
|
||||
submodule.recurse::
|
||||
Specifies if commands recurse into submodules by default. This
|
||||
applies to all commands that have a `--recurse-submodules` option.
|
||||
applies to all commands that have a `--recurse-submodules` option,
|
||||
except `clone`.
|
||||
Defaults to false.
|
||||
|
||||
submodule.fetchJobs::
|
||||
@ -3252,6 +3507,40 @@ transfer.fsckObjects::
|
||||
When `fetch.fsckObjects` or `receive.fsckObjects` are
|
||||
not set, the value of this variable is used instead.
|
||||
Defaults to false.
|
||||
+
|
||||
When set, the fetch or receive will abort in the case of a malformed
|
||||
object or a link to a nonexistent object. In addition, various other
|
||||
issues are checked for, including legacy issues (see `fsck.<msg-id>`),
|
||||
and potential security issues like the existence of a `.GIT` directory
|
||||
or a malicious `.gitmodules` file (see the release notes for v2.2.1
|
||||
and v2.17.1 for details). Other sanity and security checks may be
|
||||
added in future releases.
|
||||
+
|
||||
On the receiving side, failing fsckObjects will make those objects
|
||||
unreachable, see "QUARANTINE ENVIRONMENT" in
|
||||
linkgit:git-receive-pack[1]. On the fetch side, malformed objects will
|
||||
instead be left unreferenced in the repository.
|
||||
+
|
||||
Due to the non-quarantine nature of the `fetch.fsckObjects`
|
||||
implementation it can not be relied upon to leave the object store
|
||||
clean like `receive.fsckObjects` can.
|
||||
+
|
||||
As objects are unpacked they're written to the object store, so there
|
||||
can be cases where malicious objects get introduced even though the
|
||||
"fetch" failed, only to have a subsequent "fetch" succeed because only
|
||||
new incoming objects are checked, not those that have already been
|
||||
written to the object store. That difference in behavior should not be
|
||||
relied upon. In the future, such objects may be quarantined for
|
||||
"fetch" as well.
|
||||
+
|
||||
For now, the paranoid need to find some way to emulate the quarantine
|
||||
environment if they'd like the same protection as "push". E.g. in the
|
||||
case of an internal mirror do the mirroring in two steps, one to fetch
|
||||
the untrusted objects, and then do a second "push" (which will use the
|
||||
quarantine) to another internal repo, and have internal clients
|
||||
consume this pushed-to repository, or embargo internal fetches and
|
||||
only allow them once a full "fsck" has run (and no new fetches have
|
||||
happened in the meantime).
|
||||
|
||||
transfer.hideRefs::
|
||||
String(s) `receive-pack` and `upload-pack` use to decide which
|
||||
@ -3343,11 +3632,22 @@ uploadpack.packObjectsHook::
|
||||
was run. I.e., `upload-pack` will feed input intended for
|
||||
`pack-objects` to the hook, and expects a completed packfile on
|
||||
stdout.
|
||||
|
||||
uploadpack.allowFilter::
|
||||
If this option is set, `upload-pack` will support partial
|
||||
clone and partial fetch object filtering.
|
||||
+
|
||||
Note that this configuration variable is ignored if it is seen in the
|
||||
repository-level config (this is a safety measure against fetching from
|
||||
untrusted repositories).
|
||||
|
||||
uploadpack.allowRefInWant::
|
||||
If this option is set, `upload-pack` will support the `ref-in-want`
|
||||
feature of the protocol version 2 `fetch` command. This feature
|
||||
is intended for the benefit of load-balanced servers which may
|
||||
not have the same view of what OIDs their refs point to due to
|
||||
replication delay.
|
||||
|
||||
url.<base>.insteadOf::
|
||||
Any URL that starts with this value will be rewritten to
|
||||
start, instead, with <base>. In cases where some site serves a
|
||||
|
@ -112,7 +112,8 @@ diff.orderFile::
|
||||
|
||||
diff.renameLimit::
|
||||
The number of files to consider when performing the copy/rename
|
||||
detection; equivalent to the 'git diff' option `-l`.
|
||||
detection; equivalent to the 'git diff' option `-l`. This setting
|
||||
has no effect if rename detection is turned off.
|
||||
|
||||
diff.renames::
|
||||
Whether and how Git detects renames. If set to "false",
|
||||
@ -207,3 +208,15 @@ diff.wsErrorHighlight::
|
||||
whitespace errors are colored with `color.diff.whitespace`.
|
||||
The command line option `--ws-error-highlight=<kind>`
|
||||
overrides this setting.
|
||||
|
||||
diff.colorMoved::
|
||||
If set to either a valid `<mode>` or a true value, moved lines
|
||||
in a diff are colored differently, for details of valid modes
|
||||
see '--color-moved' in linkgit:git-diff[1]. If simply set to
|
||||
true the default color mode will be used. When set to false,
|
||||
moved lines are not colored.
|
||||
|
||||
diff.colorMovedWS::
|
||||
When moved lines are colored using e.g. the `diff.colorMoved` setting,
|
||||
this option controls the `<mode>` how spaces are treated
|
||||
for details of valid modes see '--color-moved-ws' in linkgit:git-diff[1].
|
||||
|
@ -64,7 +64,7 @@ ifndef::git-format-patch[]
|
||||
endif::git-format-patch[]
|
||||
|
||||
--indent-heuristic::
|
||||
Enable the heuristic that shift diff hunk boundaries to make patches
|
||||
Enable the heuristic that shifts diff hunk boundaries to make patches
|
||||
easier to read. This is the default.
|
||||
|
||||
--no-indent-heuristic::
|
||||
@ -106,7 +106,7 @@ diff" algorithm internally.
|
||||
low-occurrence common elements".
|
||||
--
|
||||
+
|
||||
For instance, if you configured diff.algorithm variable to a
|
||||
For instance, if you configured the `diff.algorithm` variable to a
|
||||
non-default value and want to use the default one, then you
|
||||
have to use `--diff-algorithm=default` option.
|
||||
|
||||
@ -128,6 +128,14 @@ have to use `--diff-algorithm=default` option.
|
||||
These parameters can also be set individually with `--stat-width=<width>`,
|
||||
`--stat-name-width=<name-width>` and `--stat-count=<count>`.
|
||||
|
||||
--compact-summary::
|
||||
Output a condensed summary of extended header information such
|
||||
as file creations or deletions ("new" or "gone", optionally "+l"
|
||||
if it's a symlink) and mode changes ("+x" or "-x" for adding
|
||||
or removing executable bit respectively) in diffstat. The
|
||||
information is put between the filename part and the graph
|
||||
part. Implies `--stat`.
|
||||
|
||||
--numstat::
|
||||
Similar to `--stat`, but shows number of added and
|
||||
deleted lines in decimal notation and pathname without
|
||||
@ -268,16 +276,46 @@ plain::
|
||||
that are added somewhere else in the diff. This mode picks up any
|
||||
moved line, but it is not very useful in a review to determine
|
||||
if a block of code was moved without permutation.
|
||||
zebra::
|
||||
blocks::
|
||||
Blocks of moved text of at least 20 alphanumeric characters
|
||||
are detected greedily. The detected blocks are
|
||||
painted using either the 'color.diff.{old,new}Moved' color or
|
||||
painted using either the 'color.diff.{old,new}Moved' color.
|
||||
Adjacent blocks cannot be told apart.
|
||||
zebra::
|
||||
Blocks of moved text are detected as in 'blocks' mode. The blocks
|
||||
are painted using either the 'color.diff.{old,new}Moved' color or
|
||||
'color.diff.{old,new}MovedAlternative'. The change between
|
||||
the two colors indicates that a new block was detected.
|
||||
dimmed_zebra::
|
||||
dimmed-zebra::
|
||||
Similar to 'zebra', but additional dimming of uninteresting parts
|
||||
of moved code is performed. The bordering lines of two adjacent
|
||||
blocks are considered interesting, the rest is uninteresting.
|
||||
`dimmed_zebra` is a deprecated synonym.
|
||||
--
|
||||
|
||||
--color-moved-ws=<modes>::
|
||||
This configures how white spaces are ignored when performing the
|
||||
move detection for `--color-moved`.
|
||||
ifdef::git-diff[]
|
||||
It can be set by the `diff.colorMovedWS` configuration setting.
|
||||
endif::git-diff[]
|
||||
These modes can be given as a comma separated list:
|
||||
+
|
||||
--
|
||||
ignore-space-at-eol::
|
||||
Ignore changes in whitespace at EOL.
|
||||
ignore-space-change::
|
||||
Ignore changes in amount of whitespace. This ignores whitespace
|
||||
at line end, and considers all other sequences of one or
|
||||
more whitespace characters to be equivalent.
|
||||
ignore-all-space::
|
||||
Ignore whitespace when comparing lines. This ignores differences
|
||||
even if one line has whitespace where the other line has none.
|
||||
allow-indentation-change::
|
||||
Initially ignore any white spaces in the move detection, then
|
||||
group the moved code blocks only into a block if the change in
|
||||
whitespace is the same per line. This is incompatible with the
|
||||
other modes.
|
||||
--
|
||||
|
||||
--word-diff[=<mode>]::
|
||||
@ -342,7 +380,7 @@ ifndef::git-format-patch[]
|
||||
Warn if changes introduce conflict markers or whitespace errors.
|
||||
What are considered whitespace errors is controlled by `core.whitespace`
|
||||
configuration. By default, trailing whitespaces (including
|
||||
lines that solely consist of whitespaces) and a space character
|
||||
lines that consist solely of whitespaces) and a space character
|
||||
that is immediately followed by a tab character inside the
|
||||
initial indent of the line are considered whitespace errors.
|
||||
Exits with non-zero status if problems are found. Not compatible
|
||||
@ -356,7 +394,7 @@ ifndef::git-format-patch[]
|
||||
this option is not given, and the configuration variable
|
||||
`diff.wsErrorHighlight` is not set, only whitespace errors in
|
||||
`new` lines are highlighted. The whitespace errors are colored
|
||||
whith `color.diff.whitespace`.
|
||||
with `color.diff.whitespace`.
|
||||
|
||||
endif::git-format-patch[]
|
||||
|
||||
@ -508,6 +546,15 @@ occurrences of that string did not change).
|
||||
See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more
|
||||
information.
|
||||
|
||||
--find-object=<object-id>::
|
||||
Look for differences that change the number of occurrences of
|
||||
the specified object. Similar to `-S`, just the argument is different
|
||||
in that it doesn't search for a specific string but for a specific
|
||||
object id.
|
||||
+
|
||||
The object can be a blob or a submodule commit. It implies the `-t` option in
|
||||
`git-log` to also find trees.
|
||||
|
||||
--pickaxe-all::
|
||||
When `-S` or `-G` finds a change, show all the changes in that
|
||||
changeset, not just the files that contain the change
|
||||
@ -516,6 +563,7 @@ information.
|
||||
--pickaxe-regex::
|
||||
Treat the <string> given to `-S` as an extended POSIX regular
|
||||
expression to match.
|
||||
|
||||
endif::git-format-patch[]
|
||||
|
||||
-O<orderfile>::
|
||||
@ -550,7 +598,7 @@ the normal order.
|
||||
--
|
||||
+
|
||||
Patterns have the same syntax and semantics as patterns used for
|
||||
fnmantch(3) without the FNM_PATHNAME flag, except a pathname also
|
||||
fnmatch(3) without the FNM_PATHNAME flag, except a pathname also
|
||||
matches a pattern if removing any number of the final pathname
|
||||
components matches the pattern. For example, the pattern "`foo*bar`"
|
||||
matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
|
||||
@ -574,7 +622,7 @@ endif::git-format-patch[]
|
||||
Treat all files as text.
|
||||
|
||||
--ignore-cr-at-eol::
|
||||
Ignore carrige-return at the end of line when doing a comparison.
|
||||
Ignore carriage-return at the end of line when doing a comparison.
|
||||
|
||||
--ignore-space-at-eol::
|
||||
Ignore changes in whitespace at EOL.
|
||||
|
109
Documentation/doc-diff
Executable file
109
Documentation/doc-diff
Executable file
@ -0,0 +1,109 @@
|
||||
#!/bin/sh
|
||||
|
||||
OPTIONS_SPEC="\
|
||||
doc-diff [options] <from> <to> [-- <diff-options>]
|
||||
--
|
||||
j=n parallel argument to pass to make
|
||||
f force rebuild; do not rely on cached results
|
||||
"
|
||||
SUBDIRECTORY_OK=1
|
||||
. "$(git --exec-path)/git-sh-setup"
|
||||
|
||||
parallel=
|
||||
force=
|
||||
while test $# -gt 0
|
||||
do
|
||||
case "$1" in
|
||||
-j)
|
||||
parallel=$2; shift ;;
|
||||
-f)
|
||||
force=t ;;
|
||||
--)
|
||||
shift; break ;;
|
||||
*)
|
||||
usage ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$parallel"
|
||||
then
|
||||
parallel=$(getconf _NPROCESSORS_ONLN 2>/dev/null)
|
||||
if test $? != 0 || test -z "$parallel"
|
||||
then
|
||||
parallel=1
|
||||
fi
|
||||
fi
|
||||
|
||||
test $# -gt 1 || usage
|
||||
from=$1; shift
|
||||
to=$1; shift
|
||||
|
||||
from_oid=$(git rev-parse --verify "$from") || exit 1
|
||||
to_oid=$(git rev-parse --verify "$to") || exit 1
|
||||
|
||||
cd_to_toplevel
|
||||
tmp=Documentation/tmp-doc-diff
|
||||
|
||||
if test -n "$force"
|
||||
then
|
||||
rm -rf "$tmp"
|
||||
fi
|
||||
|
||||
# We'll do both builds in a single worktree, which lets "make" reuse
|
||||
# results that don't differ between the two trees.
|
||||
if ! test -d "$tmp/worktree"
|
||||
then
|
||||
git worktree add --detach "$tmp/worktree" "$from" &&
|
||||
dots=$(echo "$tmp/worktree" | sed 's#[^/]*#..#g') &&
|
||||
ln -s "$dots/config.mak" "$tmp/worktree/config.mak"
|
||||
fi
|
||||
|
||||
# generate_render_makefile <srcdir> <dstdir>
|
||||
generate_render_makefile () {
|
||||
find "$1" -type f |
|
||||
while read src
|
||||
do
|
||||
dst=$2/${src#$1/}
|
||||
printf 'all:: %s\n' "$dst"
|
||||
printf '%s: %s\n' "$dst" "$src"
|
||||
printf '\t@echo >&2 " RENDER $(notdir $@)" && \\\n'
|
||||
printf '\tmkdir -p $(dir $@) && \\\n'
|
||||
printf '\tMANWIDTH=80 man -l $< >$@+ && \\\n'
|
||||
printf '\tmv $@+ $@\n'
|
||||
done
|
||||
}
|
||||
|
||||
# render_tree <dirname> <committish>
|
||||
render_tree () {
|
||||
# Skip install-man entirely if we already have an installed directory.
|
||||
# We can't rely on make here, since "install-man" unconditionally
|
||||
# copies the files (spending effort, but also updating timestamps that
|
||||
# we then can't rely on during the render step). We use "mv" to make
|
||||
# sure we don't get confused by a previous run that failed partway
|
||||
# through.
|
||||
if ! test -d "$tmp/installed/$1"
|
||||
then
|
||||
git -C "$tmp/worktree" checkout "$2" &&
|
||||
make -j$parallel -C "$tmp/worktree" \
|
||||
GIT_VERSION=omitted \
|
||||
SOURCE_DATE_EPOCH=0 \
|
||||
DESTDIR="$PWD/$tmp/installed/$1+" \
|
||||
install-man &&
|
||||
mv "$tmp/installed/$1+" "$tmp/installed/$1"
|
||||
fi &&
|
||||
|
||||
# As with "installed" above, we skip the render if it's already been
|
||||
# done. So using make here is primarily just about running in
|
||||
# parallel.
|
||||
if ! test -d "$tmp/rendered/$1"
|
||||
then
|
||||
generate_render_makefile "$tmp/installed/$1" "$tmp/rendered/$1+" |
|
||||
make -j$parallel -f - &&
|
||||
mv "$tmp/rendered/$1+" "$tmp/rendered/$1"
|
||||
fi
|
||||
}
|
||||
|
||||
render_tree $from_oid "$from" &&
|
||||
render_tree $to_oid "$to" &&
|
||||
git -C $tmp/rendered diff --no-index "$@" $from_oid $to_oid
|
@ -42,6 +42,25 @@ the current repository has the same history as the source repository.
|
||||
.git/shallow. This option updates .git/shallow and accept such
|
||||
refs.
|
||||
|
||||
--negotiation-tip=<commit|glob>::
|
||||
By default, Git will report, to the server, commits reachable
|
||||
from all local refs to find common commits in an attempt to
|
||||
reduce the size of the to-be-received packfile. If specified,
|
||||
Git will only report commits reachable from the given tips.
|
||||
This is useful to speed up fetches when the user knows which
|
||||
local ref is likely to have commits in common with the
|
||||
upstream ref being fetched.
|
||||
+
|
||||
This option may be specified more than once; if so, Git will report
|
||||
commits reachable from any of the given commits.
|
||||
+
|
||||
The argument to this option may be a glob on ref names, a ref, or the (possibly
|
||||
abbreviated) SHA-1 of a commit. Specifying a glob is equivalent to specifying
|
||||
this option multiple times, one for each matching ref name.
|
||||
+
|
||||
See also the `fetch.negotiationAlgorithm` configuration variable
|
||||
documented in linkgit:git-config[1].
|
||||
|
||||
ifndef::git-pull[]
|
||||
--dry-run::
|
||||
Show what would be done, without making any changes.
|
||||
@ -73,7 +92,22 @@ ifndef::git-pull[]
|
||||
are fetched due to an explicit refspec (either on the command
|
||||
line or in the remote configuration, for example if the remote
|
||||
was cloned with the --mirror option), then they are also
|
||||
subject to pruning.
|
||||
subject to pruning. Supplying `--prune-tags` is a shorthand for
|
||||
providing the tag refspec.
|
||||
+
|
||||
See the PRUNING section below for more details.
|
||||
|
||||
-P::
|
||||
--prune-tags::
|
||||
Before fetching, remove any local tags that no longer exist on
|
||||
the remote if `--prune` is enabled. This option should be used
|
||||
more carefully, unlike `--prune` it will remove any local
|
||||
references (local tags) that have been created. This option is
|
||||
a shorthand for providing the explicit tag refspec along with
|
||||
`--prune`, see the discussion about that in its documentation.
|
||||
+
|
||||
See the PRUNING section below for more details.
|
||||
|
||||
endif::git-pull[]
|
||||
|
||||
ifndef::git-pull[]
|
||||
@ -173,6 +207,14 @@ endif::git-pull[]
|
||||
is specified. This flag forces progress status even if the
|
||||
standard error stream is not directed to a terminal.
|
||||
|
||||
-o <option>::
|
||||
--server-option=<option>::
|
||||
Transmit the given string to the server when communicating using
|
||||
protocol version 2. The given string must not contain a NUL or LF
|
||||
character.
|
||||
When multiple `--server-option=<option>` are given, they are all
|
||||
sent to the other side in the order listed on the command line.
|
||||
|
||||
-4::
|
||||
--ipv4::
|
||||
Use IPv4 addresses only, ignoring IPv6 addresses.
|
||||
|
@ -193,7 +193,7 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
|
||||
for command-line options).
|
||||
|
||||
|
||||
Configuration
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
The optional configuration variable `core.excludesFile` indicates a path to a
|
||||
@ -226,7 +226,7 @@ Because this example lets the shell expand the asterisk (i.e. you are
|
||||
listing the files explicitly), it does not consider
|
||||
`subdir/git-foo.sh`.
|
||||
|
||||
Interactive mode
|
||||
INTERACTIVE MODE
|
||||
----------------
|
||||
When the command enters the interactive mode, it shows the
|
||||
output of the 'status' subcommand, and then goes into its
|
||||
|
@ -16,7 +16,7 @@ SYNOPSIS
|
||||
[--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
|
||||
[--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
|
||||
[(<mbox> | <Maildir>)...]
|
||||
'git am' (--continue | --skip | --abort)
|
||||
'git am' (--continue | --skip | --abort | --quit | --show-current-patch)
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -167,6 +167,14 @@ default. You can use `--no-utf8` to override this.
|
||||
--abort::
|
||||
Restore the original branch and abort the patching operation.
|
||||
|
||||
--quit::
|
||||
Abort the patching operation but keep HEAD and the index
|
||||
untouched.
|
||||
|
||||
--show-current-patch::
|
||||
Show the patch being applied when "git am" is stopped because
|
||||
of conflicts.
|
||||
|
||||
DISCUSSION
|
||||
----------
|
||||
|
||||
|
@ -8,7 +8,7 @@ git-annotate - Annotate file lines with commit information
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git annotate' [options] file [revision]
|
||||
'git annotate' [<options>] <file> [<revision>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -9,7 +9,7 @@ git-apply - Apply a patch to files and/or to the index
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git apply' [--stat] [--numstat] [--summary] [--check] [--index] [--3way]
|
||||
'git apply' [--stat] [--numstat] [--summary] [--check] [--index | --intent-to-add] [--3way]
|
||||
[--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]
|
||||
[--allow-binary-replacement | --binary] [--reject] [-z]
|
||||
[-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
|
||||
@ -74,6 +74,14 @@ OPTIONS
|
||||
cached data, apply the patch, and store the result in the index
|
||||
without using the working tree. This implies `--index`.
|
||||
|
||||
--intent-to-add::
|
||||
When applying the patch only to the working tree, mark new
|
||||
files to be added to the index later (see `--intent-to-add`
|
||||
option in linkgit:git-add[1]). This option is ignored unless
|
||||
running in a Git repository and `--index` is not specified.
|
||||
Note that `--index` could be implied by other options such
|
||||
as `--cached` or `--3way`.
|
||||
|
||||
-3::
|
||||
--3way::
|
||||
When the patch does not apply cleanly, fall back on 3-way merge if
|
||||
@ -113,8 +121,10 @@ explained for the configuration variable `core.quotePath` (see
|
||||
linkgit:git-config[1]).
|
||||
|
||||
-p<n>::
|
||||
Remove <n> leading slashes from traditional diff paths. The
|
||||
default is 1.
|
||||
Remove <n> leading path components (separated by slashes) from
|
||||
traditional diff paths. E.g., with `-p2`, a patch against
|
||||
`a/dir/file` will be applied directly to `file`. The default is
|
||||
1.
|
||||
|
||||
-C<n>::
|
||||
Ensure at least <n> lines of surrounding context match before
|
||||
@ -240,7 +250,7 @@ When `git apply` is used as a "better GNU patch", the user can pass
|
||||
the `--unsafe-paths` option to override this safety check. This option
|
||||
has no effect when `--index` or `--cached` is in use.
|
||||
|
||||
Configuration
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
apply.ignoreWhitespace::
|
||||
@ -251,7 +261,7 @@ apply.whitespace::
|
||||
When no `--whitespace` flag is given from the command
|
||||
line, this configuration item is used as the default.
|
||||
|
||||
Submodules
|
||||
SUBMODULES
|
||||
----------
|
||||
If the patch contains any changes to submodules then 'git apply'
|
||||
treats these changes as follows.
|
||||
|
@ -1103,7 +1103,7 @@ _____________
|
||||
Combining test suites, git bisect and other systems together
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
We have seen that test suites an git bisect are very powerful when
|
||||
We have seen that test suites and git bisect are very powerful when
|
||||
used together. It can be even more powerful if you can combine them
|
||||
with other systems.
|
||||
|
||||
|
@ -165,8 +165,8 @@ To get a reminder of the currently used terms, use
|
||||
git bisect terms
|
||||
------------------------------------------------
|
||||
|
||||
You can get just the old (respectively new) term with `git bisect term
|
||||
--term-old` or `git bisect term --term-good`.
|
||||
You can get just the old (respectively new) term with `git bisect terms
|
||||
--term-old` or `git bisect terms --term-good`.
|
||||
|
||||
If you would like to use your own terms instead of "bad"/"good" or
|
||||
"new"/"old", you can choose any names you like (except existing bisect
|
||||
|
@ -91,7 +91,6 @@ OPTIONS
|
||||
-D::
|
||||
Shortcut for `--delete --force`.
|
||||
|
||||
-l::
|
||||
--create-reflog::
|
||||
Create the branch's reflog. This activates recording of
|
||||
all changes made to the branch ref, enabling use of date
|
||||
@ -101,6 +100,8 @@ OPTIONS
|
||||
The negated form `--no-create-reflog` only overrides an earlier
|
||||
`--create-reflog`, but currently does not negate the setting of
|
||||
`core.logAllRefUpdates`.
|
||||
+
|
||||
The `-l` option is a deprecated synonym for `--create-reflog`.
|
||||
|
||||
-f::
|
||||
--force::
|
||||
@ -267,10 +268,11 @@ start-point is either a local or remote-tracking branch.
|
||||
order of the value. You may use the --sort=<key> option
|
||||
multiple times, in which case the last key becomes the primary
|
||||
key. The keys supported are the same as those in `git
|
||||
for-each-ref`. Sort order defaults to sorting based on the
|
||||
for-each-ref`. Sort order defaults to the value configured for the
|
||||
`branch.sort` variable if exists, or to sorting based on the
|
||||
full refname (including `refs/...` prefix). This lists
|
||||
detached HEAD (if present) first, then local branches and
|
||||
finally remote-tracking branches.
|
||||
finally remote-tracking branches. See linkgit:git-config[1].
|
||||
|
||||
|
||||
--points-at <object>::
|
||||
@ -287,7 +289,7 @@ CONFIGURATION
|
||||
`--list` is used or implied. The default is to use a pager.
|
||||
See linkgit:git-config[1].
|
||||
|
||||
Examples
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Start development from a known tag::
|
||||
@ -318,7 +320,7 @@ See linkgit:git-fetch[1].
|
||||
is currently checked out) does not have all commits from the test branch.
|
||||
|
||||
|
||||
Notes
|
||||
NOTES
|
||||
-----
|
||||
|
||||
If you are creating a branch that you want to checkout immediately, it is
|
||||
|
@ -92,8 +92,8 @@ It is okay to err on the side of caution, causing the bundle file
|
||||
to contain objects already in the destination, as these are ignored
|
||||
when unpacking at the destination.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Assume you want to transfer the history from a repository R1 on machine A
|
||||
to another repository R2 on machine B.
|
||||
|
@ -104,6 +104,16 @@ OPTIONS
|
||||
buffering; this is much more efficient when invoking
|
||||
`--batch-check` on a large number of objects.
|
||||
|
||||
--unordered::
|
||||
When `--batch-all-objects` is in use, visit objects in an
|
||||
order which may be more efficient for accessing the object
|
||||
contents than hash order. The exact details of the order are
|
||||
unspecified, but if you do not require a specific order, this
|
||||
should generally result in faster output, especially with
|
||||
`--batch`. Note that `cat-file` will still show each object
|
||||
only once, even if it is stored multiple times in the
|
||||
repository.
|
||||
|
||||
--allow-unknown-type::
|
||||
Allow -s or -t to query broken/corrupt objects of unknown type.
|
||||
|
||||
|
@ -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' [-a | --all | <attr>...] [--] <pathname>...
|
||||
'git check-attr' --stdin [-z] [-a | --all | <attr>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -9,8 +9,8 @@ git-check-ignore - Debug gitignore / exclude files
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git check-ignore' [options] pathname...
|
||||
'git check-ignore' [options] --stdin
|
||||
'git check-ignore' [<options>] <pathname>...
|
||||
'git check-ignore' [<options>] --stdin
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -9,7 +9,7 @@ git-check-mailmap - Show canonical names and email addresses of contacts
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git check-mailmap' [options] <contact>...
|
||||
'git check-mailmap' [<options>] <contact>...
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
|
@ -38,6 +38,15 @@ equivalent to
|
||||
$ git checkout -b <branch> --track <remote>/<branch>
|
||||
------------
|
||||
+
|
||||
If the branch exists in multiple remotes and one of them is named by
|
||||
the `checkout.defaultRemote` configuration variable, we'll use that
|
||||
one for the purposes of disambiguation, even if the `<branch>` isn't
|
||||
unique across all remotes. Set it to
|
||||
e.g. `checkout.defaultRemote=origin` to always checkout remote
|
||||
branches from there if `<branch>` is ambiguous but exists on the
|
||||
'origin' remote. See also `checkout.defaultRemote` in
|
||||
linkgit:git-config[1].
|
||||
+
|
||||
You could omit <branch>, in which case the command degenerates to
|
||||
"check out the current branch", which is a glorified no-op with
|
||||
rather expensive side-effects to show only the tracking information,
|
||||
|
@ -260,7 +260,7 @@ or `--mirror` is given)
|
||||
|
||||
<repository>::
|
||||
The (possibly remote) repository to clone from. See the
|
||||
<<URLS,URLS>> section below for more information on specifying
|
||||
<<URLS,GIT URLS>> section below for more information on specifying
|
||||
repositories.
|
||||
|
||||
<directory>::
|
||||
@ -273,7 +273,7 @@ or `--mirror` is given)
|
||||
:git-clone: 1
|
||||
include::urls.txt[]
|
||||
|
||||
Examples
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
* Clone from upstream:
|
||||
|
104
Documentation/git-commit-graph.txt
Normal file
104
Documentation/git-commit-graph.txt
Normal file
@ -0,0 +1,104 @@
|
||||
git-commit-graph(1)
|
||||
===================
|
||||
|
||||
NAME
|
||||
----
|
||||
git-commit-graph - Write and verify Git commit graph files
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git commit-graph read' [--object-dir <dir>]
|
||||
'git commit-graph verify' [--object-dir <dir>]
|
||||
'git commit-graph write' <options> [--object-dir <dir>]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Manage the serialized commit graph file.
|
||||
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
--object-dir::
|
||||
Use given directory for the location of packfiles and commit graph
|
||||
file. This parameter exists to specify the location of an alternate
|
||||
that only has the objects directory, not a full .git directory. The
|
||||
commit graph file is expected to be at <dir>/info/commit-graph and
|
||||
the packfiles are expected to be in <dir>/pack.
|
||||
|
||||
|
||||
COMMANDS
|
||||
--------
|
||||
'write'::
|
||||
|
||||
Write a commit graph file based on the commits found in packfiles.
|
||||
+
|
||||
With the `--stdin-packs` option, generate the new commit graph by
|
||||
walking objects only in the specified pack-indexes. (Cannot be combined
|
||||
with `--stdin-commits` or `--reachable`.)
|
||||
+
|
||||
With the `--stdin-commits` option, generate the new commit graph by
|
||||
walking commits starting at the commits specified in stdin as a list
|
||||
of OIDs in hex, one OID per line. (Cannot be combined with
|
||||
`--stdin-packs` or `--reachable`.)
|
||||
+
|
||||
With the `--reachable` option, generate the new commit graph by walking
|
||||
commits starting at all refs. (Cannot be combined with `--stdin-commits`
|
||||
or `--stdin-packs`.)
|
||||
+
|
||||
With the `--append` option, include all commits that are present in the
|
||||
existing commit-graph file.
|
||||
|
||||
'read'::
|
||||
|
||||
Read a graph file given by the commit-graph file and output basic
|
||||
details about the graph file. Used for debugging purposes.
|
||||
|
||||
'verify'::
|
||||
|
||||
Read the commit-graph file and verify its contents against the object
|
||||
database. Used to check for corrupted data.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
* Write a commit graph file for the packed commits in your local .git folder.
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git commit-graph write
|
||||
------------------------------------------------
|
||||
|
||||
* Write a graph file, extending the current graph file using commits
|
||||
* in <pack-index>.
|
||||
+
|
||||
------------------------------------------------
|
||||
$ echo <pack-index> | git commit-graph write --stdin-packs
|
||||
------------------------------------------------
|
||||
|
||||
* Write a graph file containing all reachable commits.
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git show-ref -s | git commit-graph write --stdin-commits
|
||||
------------------------------------------------
|
||||
|
||||
* Write a graph file containing all commits in the current
|
||||
* commit-graph file along with those reachable from HEAD.
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git rev-parse HEAD | git commit-graph write --stdin-commits --append
|
||||
------------------------------------------------
|
||||
|
||||
* Read basic information from the commit-graph file.
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git commit-graph read
|
||||
------------------------------------------------
|
||||
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
@ -9,13 +9,13 @@ git-config - Get and set repository or global options
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git config' [<file-option>] [type] [--show-origin] [-z|--null] name [value [value_regex]]
|
||||
'git config' [<file-option>] [type] --add name value
|
||||
'git config' [<file-option>] [type] --replace-all name value [value_regex]
|
||||
'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get name [value_regex]
|
||||
'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get-all name [value_regex]
|
||||
'git config' [<file-option>] [type] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
|
||||
'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL
|
||||
'git config' [<file-option>] [--type=<type>] [--show-origin] [-z|--null] name [value [value_regex]]
|
||||
'git config' [<file-option>] [--type=<type>] --add name value
|
||||
'git config' [<file-option>] [--type=<type>] --replace-all name value [value_regex]
|
||||
'git config' [<file-option>] [--type=<type>] [--show-origin] [-z|--null] --get name [value_regex]
|
||||
'git config' [<file-option>] [--type=<type>] [--show-origin] [-z|--null] --get-all name [value_regex]
|
||||
'git config' [<file-option>] [--type=<type>] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
|
||||
'git config' [<file-option>] [--type=<type>] [-z|--null] --get-urlmatch name URL
|
||||
'git config' [<file-option>] --unset name [value_regex]
|
||||
'git config' [<file-option>] --unset-all name [value_regex]
|
||||
'git config' [<file-option>] --rename-section old_name new_name
|
||||
@ -38,12 +38,10 @@ existing values that match the regexp are updated or unset. If
|
||||
you want to handle the lines that do *not* match the regex, just
|
||||
prepend a single exclamation mark in front (see also <<EXAMPLES>>).
|
||||
|
||||
The type specifier can be either `--int` or `--bool`, to make
|
||||
'git config' ensure that the variable(s) are of the given type and
|
||||
convert the value to the canonical form (simple decimal number for int,
|
||||
a "true" or "false" string for bool), or `--path`, which does some
|
||||
path expansion (see `--path` below). If no type specifier is passed, no
|
||||
checks or transformations are performed on the value.
|
||||
The `--type=<type>` option instructs 'git config' to ensure that incoming and
|
||||
outgoing values are canonicalize-able under the given <type>. If no
|
||||
`--type=<type>` is given, no canonicalization will be performed. Callers may
|
||||
unset an existing `--type` specifier with `--no-type`.
|
||||
|
||||
When reading, the values are read from the system, global and
|
||||
repository local configuration files by default, and options
|
||||
@ -160,30 +158,43 @@ See also <<FILES>>.
|
||||
--list::
|
||||
List all variables set in config file, along with their values.
|
||||
|
||||
--type <type>::
|
||||
'git config' will ensure that any input or output is valid under the given
|
||||
type constraint(s), and will canonicalize outgoing values in `<type>`'s
|
||||
canonical form.
|
||||
+
|
||||
Valid `<type>`'s include:
|
||||
+
|
||||
- 'bool': canonicalize values as either "true" or "false".
|
||||
- 'int': canonicalize values as simple decimal numbers. An optional suffix of
|
||||
'k', 'm', or 'g' will cause the value to be multiplied by 1024, 1048576, or
|
||||
1073741824 upon input.
|
||||
- 'bool-or-int': canonicalize according to either 'bool' or 'int', as described
|
||||
above.
|
||||
- 'path': canonicalize by adding a leading `~` to the value of `$HOME` and
|
||||
`~user` to the home directory for the specified user. This specifier has no
|
||||
effect when setting the value (but you can use `git config section.variable
|
||||
~/` from the command line to let your shell do the expansion.)
|
||||
- 'expiry-date': canonicalize by converting from a fixed or relative date-string
|
||||
to a timestamp. This specifier has no effect when setting the value.
|
||||
- 'color': When getting a value, canonicalize by converting to an ANSI color
|
||||
escape sequence. When setting a value, a sanity-check is performed to ensure
|
||||
that the given value is canonicalize-able as an ANSI color, but it is written
|
||||
as-is.
|
||||
+
|
||||
|
||||
--bool::
|
||||
'git config' will ensure that the output is "true" or "false"
|
||||
|
||||
--int::
|
||||
'git config' will ensure that the output is a simple
|
||||
decimal number. An optional value suffix of 'k', 'm', or 'g'
|
||||
in the config file will cause the value to be multiplied
|
||||
by 1024, 1048576, or 1073741824 prior to output.
|
||||
|
||||
--bool-or-int::
|
||||
'git config' will ensure that the output matches the format of
|
||||
either --bool or --int, as described above.
|
||||
|
||||
--path::
|
||||
`git config` will expand a leading `~` to the value of
|
||||
`$HOME`, and `~user` to the home directory for the
|
||||
specified user. This option has no effect when setting the
|
||||
value (but you can use `git config section.variable ~/`
|
||||
from the command line to let your shell do the expansion).
|
||||
|
||||
--expiry-date::
|
||||
`git config` will ensure that the output is converted from
|
||||
a fixed or relative date-string to a timestamp. This option
|
||||
has no effect when setting the value.
|
||||
Historical options for selecting a type specifier. Prefer instead `--type`,
|
||||
(see: above).
|
||||
|
||||
--no-type::
|
||||
Un-sets the previously set type specifier (if one was previously set). This
|
||||
option requests that 'git config' not canonicalize the retrieved variable.
|
||||
`--no-type` has no effect without `--type=<type>` or `--<type>`.
|
||||
|
||||
-z::
|
||||
--null::
|
||||
@ -221,6 +232,8 @@ See also <<FILES>>.
|
||||
output it as the ANSI color escape sequence to the standard
|
||||
output. The optional `default` parameter is used instead, if
|
||||
there is no color configured for `name`.
|
||||
+
|
||||
`--type=color [--default=<default>]` is preferred over `--get-color`.
|
||||
|
||||
-e::
|
||||
--edit::
|
||||
@ -233,6 +246,16 @@ See also <<FILES>>.
|
||||
using `--file`, `--global`, etc) and `on` when searching all
|
||||
config files.
|
||||
|
||||
--default <value>::
|
||||
When using `--get`, and the requested variable is not found, behave as if
|
||||
<value> were the value assigned to the that variable.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
`pager.config` is only respected when listing configuration, i.e., when
|
||||
using `--list` or any of the `--get-*` which may return multiple results.
|
||||
The default is to use a pager.
|
||||
|
||||
[[FILES]]
|
||||
FILES
|
||||
-----
|
||||
@ -430,6 +453,27 @@ http.sslverify false
|
||||
|
||||
include::config.txt[]
|
||||
|
||||
BUGS
|
||||
----
|
||||
When using the deprecated `[section.subsection]` syntax, changing a value
|
||||
will result in adding a multi-line key instead of a change, if the subsection
|
||||
is given with at least one uppercase character. For example when the config
|
||||
looks like
|
||||
|
||||
--------
|
||||
[section.subsection]
|
||||
key = value1
|
||||
--------
|
||||
|
||||
and running `git config section.Subsection.key value2` will result in
|
||||
|
||||
--------
|
||||
[section.subsection]
|
||||
key = value1
|
||||
key = value2
|
||||
--------
|
||||
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -8,7 +8,7 @@ git-credential-cache - Helper to temporarily store passwords in memory
|
||||
SYNOPSIS
|
||||
--------
|
||||
-----------------------------
|
||||
git config credential.helper 'cache [options]'
|
||||
git config credential.helper 'cache [<options>]'
|
||||
-----------------------------
|
||||
|
||||
DESCRIPTION
|
||||
|
@ -8,7 +8,7 @@ git-credential-store - Helper to store credentials on disk
|
||||
SYNOPSIS
|
||||
--------
|
||||
-------------------
|
||||
git config credential.helper 'store [options]'
|
||||
git config credential.helper 'store [<options>]'
|
||||
-------------------
|
||||
|
||||
DESCRIPTION
|
||||
|
@ -22,7 +22,7 @@ cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver
|
||||
Usage:
|
||||
|
||||
[verse]
|
||||
'git-cvsserver' [options] [pserver|server] [<directory> ...]
|
||||
'git-cvsserver' [<options>] [pserver|server] [<directory> ...]
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -207,7 +207,7 @@ allowing access over SSH.
|
||||
------
|
||||
|
||||
[[dbbackend]]
|
||||
Database Backend
|
||||
DATABASE BACKEND
|
||||
----------------
|
||||
|
||||
'git-cvsserver' uses one database per Git head (i.e. CVS module) to
|
||||
@ -321,7 +321,7 @@ git-cvsserver, as described above.
|
||||
When these environment variables are set, the corresponding
|
||||
command-line arguments may not be used.
|
||||
|
||||
Eclipse CVS Client Notes
|
||||
ECLIPSE CVS CLIENT NOTES
|
||||
------------------------
|
||||
|
||||
To get a checkout with the Eclipse CVS client:
|
||||
@ -346,7 +346,7 @@ offer. In that case CVS_SERVER is ignored, and you will have to replace
|
||||
the cvs utility on the server with 'git-cvsserver' or manipulate your `.bashrc`
|
||||
so that calling 'cvs' effectively calls 'git-cvsserver'.
|
||||
|
||||
Clients known to work
|
||||
CLIENTS KNOWN TO WORK
|
||||
---------------------
|
||||
|
||||
- CVS 1.12.9 on Debian
|
||||
@ -354,7 +354,7 @@ Clients known to work
|
||||
- Eclipse 3.0, 3.1.2 on MacOSX (see Eclipse CVS Client Notes)
|
||||
- TortoiseCVS
|
||||
|
||||
Operations supported
|
||||
OPERATIONS SUPPORTED
|
||||
--------------------
|
||||
|
||||
All the operations required for normal use are supported, including
|
||||
@ -424,7 +424,7 @@ For best consistency with 'cvs', it is probably best to override the
|
||||
defaults by setting `gitcvs.usecrlfattr` to true,
|
||||
and `gitcvs.allBinary` to "guess".
|
||||
|
||||
Dependencies
|
||||
DEPENDENCIES
|
||||
------------
|
||||
'git-cvsserver' depends on DBD::SQLite.
|
||||
|
||||
|
@ -20,6 +20,7 @@ SYNOPSIS
|
||||
[--inetd |
|
||||
[--listen=<host_or_ipaddr>] [--port=<n>]
|
||||
[--user=<user> [--group=<group>]]]
|
||||
[--log-destination=(stderr|syslog|none)]
|
||||
[<directory>...]
|
||||
|
||||
DESCRIPTION
|
||||
@ -80,7 +81,8 @@ OPTIONS
|
||||
do not have the 'git-daemon-export-ok' file.
|
||||
|
||||
--inetd::
|
||||
Have the server run as an inetd service. Implies --syslog.
|
||||
Have the server run as an inetd service. Implies --syslog (may be
|
||||
overridden with `--log-destination=`).
|
||||
Incompatible with --detach, --port, --listen, --user and --group
|
||||
options.
|
||||
|
||||
@ -110,8 +112,28 @@ OPTIONS
|
||||
zero for no limit.
|
||||
|
||||
--syslog::
|
||||
Log to syslog instead of stderr. Note that this option does not imply
|
||||
--verbose, thus by default only error conditions will be logged.
|
||||
Short for `--log-destination=syslog`.
|
||||
|
||||
--log-destination=<destination>::
|
||||
Send log messages to the specified destination.
|
||||
Note that this option does not imply --verbose,
|
||||
thus by default only error conditions will be logged.
|
||||
The <destination> must be one of:
|
||||
+
|
||||
--
|
||||
stderr::
|
||||
Write to standard error.
|
||||
Note that if `--detach` is specified,
|
||||
the process disconnects from the real standard error,
|
||||
making this destination effectively equivalent to `none`.
|
||||
syslog::
|
||||
Write to syslog, using the `git-daemon` identifier.
|
||||
none::
|
||||
Disable all logging.
|
||||
--
|
||||
+
|
||||
The default destination is `syslog` if `--inetd` or `--detach` is specified,
|
||||
otherwise `stderr`.
|
||||
|
||||
--user-path::
|
||||
--user-path=<path>::
|
||||
|
@ -37,14 +37,14 @@ include::diff-options.txt[]
|
||||
|
||||
include::diff-format.txt[]
|
||||
|
||||
Operating Modes
|
||||
OPERATING MODES
|
||||
---------------
|
||||
You can choose whether you want to trust the index file entirely
|
||||
(using the `--cached` flag) or ask the diff logic to show any files
|
||||
that don't match the stat state as being "tentatively changed". Both
|
||||
of these operations are very useful indeed.
|
||||
|
||||
Cached Mode
|
||||
CACHED MODE
|
||||
-----------
|
||||
If `--cached` is specified, it allows you to ask:
|
||||
|
||||
@ -77,7 +77,7 @@ So doing a `git diff-index --cached` is basically very useful when you are
|
||||
asking yourself "what have I already marked for being committed, and
|
||||
what's the difference to a previous tree".
|
||||
|
||||
Non-cached Mode
|
||||
NON-CACHED MODE
|
||||
---------------
|
||||
The "non-cached" mode takes a different approach, and is potentially
|
||||
the more useful of the two in that what it does can't be emulated with
|
||||
|
@ -116,7 +116,7 @@ include::pretty-options.txt[]
|
||||
include::pretty-formats.txt[]
|
||||
|
||||
|
||||
Limiting Output
|
||||
LIMITING OUTPUT
|
||||
---------------
|
||||
If you're only interested in differences in a subset of files, for
|
||||
example some architecture-specific files, you might do:
|
||||
|
@ -9,11 +9,11 @@ git-diff - Show changes between commits, commit and working tree, etc
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git diff' [options] [<commit>] [--] [<path>...]
|
||||
'git diff' [options] --cached [<commit>] [--] [<path>...]
|
||||
'git diff' [options] <commit> <commit> [--] [<path>...]
|
||||
'git diff' [options] <blob> <blob>
|
||||
'git diff' [options] [--no-index] [--] <path> <path>
|
||||
'git diff' [<options>] [<commit>] [--] [<path>...]
|
||||
'git diff' [<options>] --cached [<commit>] [--] [<path>...]
|
||||
'git diff' [<options>] <commit> <commit> [--] [<path>...]
|
||||
'git diff' [<options>] <blob> <blob>
|
||||
'git diff' [<options>] --no-index [--] <path> <path>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -21,7 +21,7 @@ Show changes between the working tree and the index or a tree, changes
|
||||
between the index and a tree, changes between two trees, changes between
|
||||
two blob objects, or changes between two files on disk.
|
||||
|
||||
'git diff' [--options] [--] [<path>...]::
|
||||
'git diff' [<options>] [--] [<path>...]::
|
||||
|
||||
This form is to view the changes you made relative to
|
||||
the index (staging area for the next commit). In other
|
||||
@ -29,7 +29,7 @@ two blob objects, or changes between two files on disk.
|
||||
further add to the index but you still haven't. You can
|
||||
stage these changes by using linkgit:git-add[1].
|
||||
|
||||
'git diff' --no-index [--options] [--] [<path>...]::
|
||||
'git diff' [<options>] --no-index [--] <path> <path>::
|
||||
|
||||
This form is to compare the given two paths on the
|
||||
filesystem. You can omit the `--no-index` option when
|
||||
@ -38,7 +38,7 @@ two blob objects, or changes between two files on disk.
|
||||
or when running the command outside a working tree
|
||||
controlled by Git.
|
||||
|
||||
'git diff' [--options] --cached [<commit>] [--] [<path>...]::
|
||||
'git diff' [<options>] --cached [<commit>] [--] [<path>...]::
|
||||
|
||||
This form is to view the changes you staged for the next
|
||||
commit relative to the named <commit>. Typically you
|
||||
@ -48,7 +48,7 @@ two blob objects, or changes between two files on disk.
|
||||
<commit> is not given, it shows all staged changes.
|
||||
--staged is a synonym of --cached.
|
||||
|
||||
'git diff' [--options] <commit> [--] [<path>...]::
|
||||
'git diff' [<options>] <commit> [--] [<path>...]::
|
||||
|
||||
This form is to view the changes you have in your
|
||||
working tree relative to the named <commit>. You can
|
||||
@ -56,18 +56,18 @@ two blob objects, or changes between two files on disk.
|
||||
branch name to compare with the tip of a different
|
||||
branch.
|
||||
|
||||
'git diff' [--options] <commit> <commit> [--] [<path>...]::
|
||||
'git diff' [<options>] <commit> <commit> [--] [<path>...]::
|
||||
|
||||
This is to view the changes between two arbitrary
|
||||
<commit>.
|
||||
|
||||
'git diff' [--options] <commit>..<commit> [--] [<path>...]::
|
||||
'git diff' [<options>] <commit>..<commit> [--] [<path>...]::
|
||||
|
||||
This is synonymous to the previous form. If <commit> on
|
||||
one side is omitted, it will have the same effect as
|
||||
using HEAD instead.
|
||||
|
||||
'git diff' [--options] <commit>\...<commit> [--] [<path>...]::
|
||||
'git diff' [<options>] <commit>\...<commit> [--] [<path>...]::
|
||||
|
||||
This form is to view the changes on the branch containing
|
||||
and up to the second <commit>, starting at a common ancestor
|
||||
@ -87,7 +87,7 @@ and the range notations ("<commit>..<commit>" and
|
||||
"<commit>\...<commit>") do not mean a range as defined in the
|
||||
"SPECIFYING RANGES" section in linkgit:gitrevisions[7].
|
||||
|
||||
'git diff' [options] <blob> <blob>::
|
||||
'git diff' [<options>] <blob> <blob>::
|
||||
|
||||
This form is to view the differences between the raw
|
||||
contents of two blob objects.
|
||||
|
@ -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
|
||||
-----------
|
||||
@ -202,7 +202,7 @@ smaller output, and it is usually easy to quickly confirm that there is
|
||||
no private data in the stream.
|
||||
|
||||
|
||||
Limitations
|
||||
LIMITATIONS
|
||||
-----------
|
||||
|
||||
Since 'git fast-import' cannot tag trees, you will not be
|
||||
|
@ -9,7 +9,7 @@ git-fast-import - Backend for fast Git data importers
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
frontend | 'git fast-import' [options]
|
||||
frontend | 'git fast-import' [<options>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -139,7 +139,7 @@ Performance and Compression Tuning
|
||||
fastimport.unpackLimit::
|
||||
See linkgit:git-config[1]
|
||||
|
||||
Performance
|
||||
PERFORMANCE
|
||||
-----------
|
||||
The design of fast-import allows it to import large projects in a minimum
|
||||
amount of memory usage and processing time. Assuming the frontend
|
||||
@ -155,7 +155,7 @@ faster if the source data is stored on a different drive than the
|
||||
destination Git repository (due to less IO contention).
|
||||
|
||||
|
||||
Development Cost
|
||||
DEVELOPMENT COST
|
||||
----------------
|
||||
A typical frontend for fast-import tends to weigh in at approximately 200
|
||||
lines of Perl/Python/Ruby code. Most developers have been able to
|
||||
@ -165,7 +165,7 @@ an ideal situation, given that most conversion tools are throw-away
|
||||
(use once, and never look back).
|
||||
|
||||
|
||||
Parallel Operation
|
||||
PARALLEL OPERATION
|
||||
------------------
|
||||
Like 'git push' or 'git fetch', imports handled by fast-import are safe to
|
||||
run alongside parallel `git repack -a -d` or `git gc` invocations,
|
||||
@ -186,7 +186,7 @@ this only be used on an otherwise quiet repository. Using --force
|
||||
is not necessary for an initial import into an empty repository.
|
||||
|
||||
|
||||
Technical Discussion
|
||||
TECHNICAL DISCUSSION
|
||||
--------------------
|
||||
fast-import tracks a set of branches in memory. Any branch can be created
|
||||
or modified at any point during the import process by sending a
|
||||
@ -204,7 +204,7 @@ directory also allows fast-import to run very quickly, as it does not
|
||||
need to perform any costly file update operations when switching
|
||||
between branches.
|
||||
|
||||
Input Format
|
||||
INPUT FORMAT
|
||||
------------
|
||||
With the exception of raw file data (which Git does not interpret)
|
||||
the fast-import input format is text (ASCII) based. This text based
|
||||
@ -1131,7 +1131,7 @@ If the `--done` command-line option or `feature done` command is
|
||||
in use, the `done` command is mandatory and marks the end of the
|
||||
stream.
|
||||
|
||||
Responses To Commands
|
||||
RESPONSES TO COMMANDS
|
||||
---------------------
|
||||
New objects written by fast-import are not available immediately.
|
||||
Most fast-import commands have no visible effect until the next
|
||||
@ -1160,7 +1160,7 @@ To avoid deadlock, such frontends must completely consume any
|
||||
pending output from `progress`, `ls`, `get-mark`, and `cat-blob` before
|
||||
performing writes to fast-import that might block.
|
||||
|
||||
Crash Reports
|
||||
CRASH REPORTS
|
||||
-------------
|
||||
If fast-import is supplied invalid input it will terminate with a
|
||||
non-zero exit status and create a crash report in the top level of
|
||||
@ -1247,7 +1247,7 @@ An example crash:
|
||||
END OF CRASH REPORT
|
||||
====
|
||||
|
||||
Tips and Tricks
|
||||
TIPS AND TRICKS
|
||||
---------------
|
||||
The following tips and tricks have been collected from various
|
||||
users of fast-import, and are offered here as suggestions.
|
||||
@ -1349,7 +1349,7 @@ Your users will feel better knowing how much of the data stream
|
||||
has been processed.
|
||||
|
||||
|
||||
Packfile Optimization
|
||||
PACKFILE OPTIMIZATION
|
||||
---------------------
|
||||
When packing a blob fast-import always attempts to deltify against the last
|
||||
blob written. Unless specifically arranged for by the frontend,
|
||||
@ -1380,7 +1380,7 @@ to force recomputation of all deltas can significantly reduce the
|
||||
final packfile size (30-50% smaller can be quite typical).
|
||||
|
||||
|
||||
Memory Utilization
|
||||
MEMORY UTILIZATION
|
||||
------------------
|
||||
There are a number of factors which affect how much memory fast-import
|
||||
requires to perform an import. Like critical sections of core
|
||||
@ -1458,7 +1458,7 @@ and lazy loading of subtrees, allows fast-import to efficiently import
|
||||
projects with 2,000+ branches and 45,114+ files in a very limited
|
||||
memory footprint (less than 2.7 MiB per active branch).
|
||||
|
||||
Signals
|
||||
SIGNALS
|
||||
-------
|
||||
Sending *SIGUSR1* to the 'git fast-import' process ends the current
|
||||
packfile early, simulating a `checkpoint` command. The impatient
|
||||
|
@ -88,7 +88,7 @@ be in a separate packet, and the list must end with a flush packet.
|
||||
infinite even if there is an ancestor-chain that long.
|
||||
|
||||
--shallow-since=<date>::
|
||||
Deepen or shorten the history of a shallow'repository to
|
||||
Deepen or shorten the history of a shallow repository to
|
||||
include all reachable commits after <date>.
|
||||
|
||||
--shallow-exclude=<revision>::
|
||||
|
@ -99,6 +99,93 @@ The latter use of the `remote.<repository>.fetch` values can be
|
||||
overridden by giving the `--refmap=<refspec>` parameter(s) on the
|
||||
command line.
|
||||
|
||||
PRUNING
|
||||
-------
|
||||
|
||||
Git has a default disposition of keeping data unless it's explicitly
|
||||
thrown away; this extends to holding onto local references to branches
|
||||
on remotes that have themselves deleted those branches.
|
||||
|
||||
If left to accumulate, these stale references might make performance
|
||||
worse on big and busy repos that have a lot of branch churn, and
|
||||
e.g. make the output of commands like `git branch -a --contains
|
||||
<commit>` needlessly verbose, as well as impacting anything else
|
||||
that'll work with the complete set of known references.
|
||||
|
||||
These remote-tracking references can be deleted as a one-off with
|
||||
either of:
|
||||
|
||||
------------------------------------------------
|
||||
# While fetching
|
||||
$ git fetch --prune <name>
|
||||
|
||||
# Only prune, don't fetch
|
||||
$ git remote prune <name>
|
||||
------------------------------------------------
|
||||
|
||||
To prune references as part of your normal workflow without needing to
|
||||
remember to run that, set `fetch.prune` globally, or
|
||||
`remote.<name>.prune` per-remote in the config. See
|
||||
linkgit:git-config[1].
|
||||
|
||||
Here's where things get tricky and more specific. The pruning feature
|
||||
doesn't actually care about branches, instead it'll prune local <->
|
||||
remote-references as a function of the refspec of the remote (see
|
||||
`<refspec>` and <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> above).
|
||||
|
||||
Therefore if the refspec for the remote includes
|
||||
e.g. `refs/tags/*:refs/tags/*`, or you manually run e.g. `git fetch
|
||||
--prune <name> "refs/tags/*:refs/tags/*"` it won't be stale remote
|
||||
tracking branches that are deleted, but any local tag that doesn't
|
||||
exist on the remote.
|
||||
|
||||
This might not be what you expect, i.e. you want to prune remote
|
||||
`<name>`, but also explicitly fetch tags from it, so when you fetch
|
||||
from it you delete all your local tags, most of which may not have
|
||||
come from the `<name>` remote in the first place.
|
||||
|
||||
So be careful when using this with a refspec like
|
||||
`refs/tags/*:refs/tags/*`, or any other refspec which might map
|
||||
references from multiple remotes to the same local namespace.
|
||||
|
||||
Since keeping up-to-date with both branches and tags on the remote is
|
||||
a common use-case the `--prune-tags` option can be supplied along with
|
||||
`--prune` to prune local tags that don't exist on the remote, and
|
||||
force-update those tags that differ. Tag pruning can also be enabled
|
||||
with `fetch.pruneTags` or `remote.<name>.pruneTags` in the config. See
|
||||
linkgit:git-config[1].
|
||||
|
||||
The `--prune-tags` option is equivalent to having
|
||||
`refs/tags/*:refs/tags/*` declared in the refspecs of the remote. This
|
||||
can lead to some seemingly strange interactions:
|
||||
|
||||
------------------------------------------------
|
||||
# These both fetch tags
|
||||
$ git fetch --no-tags origin 'refs/tags/*:refs/tags/*'
|
||||
$ git fetch --no-tags --prune-tags origin
|
||||
------------------------------------------------
|
||||
|
||||
The reason it doesn't error out when provided without `--prune` or its
|
||||
config versions is for flexibility of the configured versions, and to
|
||||
maintain a 1=1 mapping between what the command line flags do, and
|
||||
what the configuration versions do.
|
||||
|
||||
It's reasonable to e.g. configure `fetch.pruneTags=true` in
|
||||
`~/.gitconfig` to have tags pruned whenever `git fetch --prune` is
|
||||
run, without making every invocation of `git fetch` without `--prune`
|
||||
an error.
|
||||
|
||||
Pruning tags with `--prune-tags` also works when fetching a URL
|
||||
instead of a named remote. These will all prune tags not found on
|
||||
origin:
|
||||
|
||||
------------------------------------------------
|
||||
$ git fetch origin --prune --prune-tags
|
||||
$ git fetch origin --prune 'refs/tags/*:refs/tags/*'
|
||||
$ git fetch <url of origin> --prune --prune-tags
|
||||
$ git fetch <url of origin> --prune 'refs/tags/*:refs/tags/*'
|
||||
------------------------------------------------
|
||||
|
||||
OUTPUT
|
||||
------
|
||||
|
||||
|
@ -222,7 +222,15 @@ this purpose, they are instead rewritten to point at the nearest ancestor that
|
||||
was not excluded.
|
||||
|
||||
|
||||
Examples
|
||||
EXIT STATUS
|
||||
-----------
|
||||
|
||||
On success, the exit status is `0`. If the filter can't find any commits to
|
||||
rewrite, the exit status is `2`. On any other error, the exit status may be
|
||||
any other non-zero value.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Suppose you want to remove a file (containing confidential information
|
||||
@ -280,7 +288,7 @@ git filter-branch --parent-filter \
|
||||
or even simpler:
|
||||
|
||||
-----------------------------------------------
|
||||
echo "$commit-id $graft-id" >> .git/info/grafts
|
||||
git replace --graft $commit-id $graft-id
|
||||
git filter-branch $graft-id..HEAD
|
||||
-----------------------------------------------
|
||||
|
||||
@ -398,7 +406,7 @@ git filter-branch --index-filter \
|
||||
|
||||
|
||||
|
||||
Checklist for Shrinking a Repository
|
||||
CHECKLIST FOR SHRINKING A REPOSITORY
|
||||
------------------------------------
|
||||
|
||||
git-filter-branch can be used to get rid of a subset of files,
|
||||
@ -437,7 +445,7 @@ warned.
|
||||
(or if your git-gc is not new enough to support arguments to
|
||||
`--prune`, use `git repack -ad; git prune` instead).
|
||||
|
||||
Notes
|
||||
NOTES
|
||||
-----
|
||||
|
||||
git-filter-branch allows you to make complex shell-scripted rewrites
|
||||
|
@ -57,8 +57,8 @@ merge.summary::
|
||||
Synonym to `merge.log`; this is deprecated and will be removed in
|
||||
the future.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
---------
|
||||
$ git fetch origin master
|
||||
|
@ -57,7 +57,7 @@ OPTIONS
|
||||
`xx`; for example `%00` interpolates to `\0` (NUL),
|
||||
`%09` to `\t` (TAB) and `%0a` to `\n` (LF).
|
||||
|
||||
--color[=<when>]:
|
||||
--color[=<when>]::
|
||||
Respect any colors specified in the `--format` option. The
|
||||
`<when>` field must be one of `always`, `never`, or `auto` (if
|
||||
`<when>` is absent, behave as if `always` was given).
|
||||
@ -121,7 +121,7 @@ refname::
|
||||
stripping with positive <N>, or it becomes the full refname if
|
||||
stripping with negative <N>. Neither is an error.
|
||||
+
|
||||
`strip` can be used as a synomym to `lstrip`.
|
||||
`strip` can be used as a synonym to `lstrip`.
|
||||
|
||||
objecttype::
|
||||
The type of the object (`blob`, `tree`, `commit`, `tag`).
|
||||
|
@ -47,7 +47,7 @@ There are two ways to specify which commits to operate on.
|
||||
|
||||
The first rule takes precedence in the case of a single <commit>. To
|
||||
apply the second rule, i.e., format everything since the beginning of
|
||||
history up until <commit>, use the '\--root' option: `git format-patch
|
||||
history up until <commit>, use the `--root` option: `git format-patch
|
||||
--root <commit>`. If you want to format only <commit> itself, you
|
||||
can do this with `git format-patch -1 <commit>`.
|
||||
|
||||
|
@ -110,6 +110,9 @@ Any corrupt objects you will have to find in backups or other archives
|
||||
(i.e., you can just remove them and do an 'rsync' with some other site in
|
||||
the hopes that somebody else has the object you have corrupted).
|
||||
|
||||
If core.commitGraph is true, the commit-graph file will also be inspected
|
||||
using 'git commit-graph verify'. See linkgit:git-commit-graph[1].
|
||||
|
||||
Extracted Diagnostics
|
||||
---------------------
|
||||
|
||||
|
@ -9,14 +9,15 @@ git-gc - Cleanup unnecessary files and optimize the local repository
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune] [--force]
|
||||
'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune] [--force] [--keep-largest-pack]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Runs a number of housekeeping tasks within the current repository,
|
||||
such as compressing file revisions (to reduce disk space and increase
|
||||
performance) and removing unreachable objects which may have been
|
||||
created from prior invocations of 'git add'.
|
||||
performance), removing unreachable objects which may have been
|
||||
created from prior invocations of 'git add', packing refs, pruning
|
||||
reflog, rerere metadata or stale working trees.
|
||||
|
||||
Users are encouraged to run this task on a regular basis within
|
||||
each repository to maintain good disk space utilization and good
|
||||
@ -45,20 +46,31 @@ OPTIONS
|
||||
With this option, 'git gc' checks whether any housekeeping is
|
||||
required; if not, it exits without performing any work.
|
||||
Some git commands run `git gc --auto` after performing
|
||||
operations that could create many loose objects.
|
||||
operations that could create many loose objects. Housekeeping
|
||||
is required if there are too many loose objects or too many
|
||||
packs in the repository.
|
||||
+
|
||||
Housekeeping is required if there are too many loose objects or
|
||||
too many packs in the repository. If the number of loose objects
|
||||
exceeds the value of the `gc.auto` configuration variable, then
|
||||
all loose objects are combined into a single pack using
|
||||
`git repack -d -l`. Setting the value of `gc.auto` to 0
|
||||
disables automatic packing of loose objects.
|
||||
If the number of loose objects exceeds the value of the `gc.auto`
|
||||
configuration variable, then all loose objects are combined into a
|
||||
single pack using `git repack -d -l`. Setting the value of `gc.auto`
|
||||
to 0 disables automatic packing of loose objects.
|
||||
+
|
||||
If the number of packs exceeds the value of `gc.autoPackLimit`,
|
||||
then existing packs (except those marked with a `.keep` file)
|
||||
then existing packs (except those marked with a `.keep` file
|
||||
or over `gc.bigPackThreshold` limit)
|
||||
are consolidated into a single pack by using the `-A` option of
|
||||
'git repack'. Setting `gc.autoPackLimit` to 0 disables
|
||||
automatic consolidation of packs.
|
||||
'git repack'.
|
||||
If the amount of memory is estimated not enough for `git repack` to
|
||||
run smoothly and `gc.bigPackThreshold` is not set, the largest
|
||||
pack will also be excluded (this is the equivalent of running `git gc`
|
||||
with `--keep-base-pack`).
|
||||
Setting `gc.autoPackLimit` to 0 disables automatic consolidation of
|
||||
packs.
|
||||
+
|
||||
If houskeeping is required due to many loose objects or packs, all
|
||||
other housekeeping tasks (e.g. rerere, working trees, reflog...) will
|
||||
be performed as well.
|
||||
|
||||
|
||||
--prune=<date>::
|
||||
Prune loose objects older than date (default is 2 weeks ago,
|
||||
@ -78,7 +90,12 @@ automatic consolidation of packs.
|
||||
Force `git gc` to run even if there may be another `git gc`
|
||||
instance running on this repository.
|
||||
|
||||
Configuration
|
||||
--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.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
The optional configuration variable `gc.reflogExpire` can be
|
||||
@ -119,11 +136,15 @@ The optional configuration variable `gc.packRefs` determines if
|
||||
it within all non-bare repos or it can be set to a boolean value.
|
||||
This defaults to true.
|
||||
|
||||
The optional configuration variable `gc.commitGraph` determines if
|
||||
'git gc' should run 'git commit-graph write'. This can be set to a
|
||||
boolean value. This defaults to false.
|
||||
|
||||
The optional configuration variable `gc.aggressiveWindow` controls how
|
||||
much time is spent optimizing the delta compression of the objects in
|
||||
the repository when the --aggressive option is specified. The larger
|
||||
the value, the more time is spent optimizing the delta compression. See
|
||||
the documentation for the --window' option in linkgit:git-repack[1] for
|
||||
the documentation for the --window option in linkgit:git-repack[1] for
|
||||
more details. This defaults to 250.
|
||||
|
||||
Similarly, the optional configuration variable `gc.aggressiveDepth`
|
||||
@ -133,8 +154,12 @@ The optional configuration variable `gc.pruneExpire` controls how old
|
||||
the unreferenced loose objects have to be before they are pruned. The
|
||||
default is "2 weeks ago".
|
||||
|
||||
Optional configuration variable `gc.worktreePruneExpire` controls how
|
||||
old a stale working tree should be before `git worktree prune` deletes
|
||||
it. Default is "3 months ago".
|
||||
|
||||
Notes
|
||||
|
||||
NOTES
|
||||
-----
|
||||
|
||||
'git gc' tries very hard not to delete objects that are referenced
|
||||
|
@ -13,11 +13,11 @@ SYNOPSIS
|
||||
[-v | --invert-match] [-h|-H] [--full-name]
|
||||
[-E | --extended-regexp] [-G | --basic-regexp]
|
||||
[-P | --perl-regexp]
|
||||
[-F | --fixed-strings] [-n | --line-number]
|
||||
[-F | --fixed-strings] [-n | --line-number] [--column]
|
||||
[-l | --files-with-matches] [-L | --files-without-match]
|
||||
[(-O | --open-files-in-pager) [<pager>]]
|
||||
[-z | --null]
|
||||
[-c | --count] [--all-match] [-q | --quiet]
|
||||
[ -o | --only-matching ] [-c | --count] [--all-match] [-q | --quiet]
|
||||
[--max-depth <depth>]
|
||||
[--color[=<when>] | --no-color]
|
||||
[--break] [--heading] [-p | --show-function]
|
||||
@ -44,6 +44,9 @@ CONFIGURATION
|
||||
grep.lineNumber::
|
||||
If set to true, enable `-n` option by default.
|
||||
|
||||
grep.column::
|
||||
If set to true, enable the `--column` option by default.
|
||||
|
||||
grep.patternType::
|
||||
Set the default matching behavior. Using a value of 'basic', 'extended',
|
||||
'fixed', or 'perl' will enable the `--basic-regexp`, `--extended-regexp`,
|
||||
@ -169,6 +172,10 @@ providing this option will cause it to die.
|
||||
--line-number::
|
||||
Prefix the line number to matching lines.
|
||||
|
||||
--column::
|
||||
Prefix the 1-indexed byte-offset of the first match from the start of the
|
||||
matching line.
|
||||
|
||||
-l::
|
||||
--files-with-matches::
|
||||
--name-only::
|
||||
@ -194,6 +201,11 @@ providing this option will cause it to die.
|
||||
Output \0 instead of the character that normally follows a
|
||||
file name.
|
||||
|
||||
-o::
|
||||
--only-matching::
|
||||
Print only the matched (non-empty) parts of a matching line, with each such
|
||||
part on a separate output line.
|
||||
|
||||
-c::
|
||||
--count::
|
||||
Instead of showing every matched line, show the number of
|
||||
@ -293,7 +305,7 @@ providing this option will cause it to die.
|
||||
For more details about the <pathspec> syntax, see the 'pathspec' entry
|
||||
in linkgit:gitglossary[7].
|
||||
|
||||
Examples
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
`git grep 'time_t' -- '*.[ch]'`::
|
||||
|
@ -8,7 +8,7 @@ git-help - Display help information about Git
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git help' [-a|--all] [-g|--guide]
|
||||
'git help' [-a|--all [--verbose]] [-g|--guide]
|
||||
[-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
|
||||
|
||||
DESCRIPTION
|
||||
@ -42,6 +42,13 @@ OPTIONS
|
||||
--all::
|
||||
Prints all the available commands on the standard output. This
|
||||
option overrides any given command or guide name.
|
||||
When used with `--verbose` print description for all recognized
|
||||
commands.
|
||||
|
||||
-c::
|
||||
--config::
|
||||
List all available configuration variables. This is a short
|
||||
summary of the list in linkgit:git-config[1].
|
||||
|
||||
-g::
|
||||
--guides::
|
||||
|
@ -15,8 +15,9 @@ DESCRIPTION
|
||||
-----------
|
||||
Downloads a remote Git repository via HTTP.
|
||||
|
||||
*NOTE*: use of this command without -a is deprecated. The -a
|
||||
behaviour will become the default in a future release.
|
||||
This command always gets all objects. Historically, there were three options
|
||||
`-a`, `-c` and `-t` for choosing which objects to download. They are now
|
||||
silently ignored.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -24,12 +25,8 @@ commit-id::
|
||||
Either the hash or the filename under [URL]/refs/ to
|
||||
pull.
|
||||
|
||||
-c::
|
||||
Get the commit objects.
|
||||
-t::
|
||||
Get trees associated with the commit objects.
|
||||
-a::
|
||||
Get all the objects.
|
||||
-a, -c, -t::
|
||||
These options are ignored for historical reasons.
|
||||
-v::
|
||||
Report what is downloaded.
|
||||
|
||||
|
@ -55,7 +55,7 @@ OPTIONS
|
||||
The remote refs to update.
|
||||
|
||||
|
||||
Specifying the Refs
|
||||
SPECIFYING THE REFS
|
||||
-------------------
|
||||
|
||||
A '<ref>' specification can be either a single pattern, or a pair
|
||||
|
@ -68,8 +68,8 @@ imap.tunnel::
|
||||
to the server. Required when imap.host is not set.
|
||||
|
||||
imap.host::
|
||||
A URL identifying the server. Use a `imap://` prefix for non-secure
|
||||
connections and a `imaps://` prefix for secure connections.
|
||||
A URL identifying the server. Use an `imap://` prefix for non-secure
|
||||
connections and an `imaps://` prefix for secure connections.
|
||||
Ignored when imap.tunnel is set, but required otherwise.
|
||||
|
||||
imap.user::
|
||||
@ -136,8 +136,8 @@ Using direct mode with SSL:
|
||||
.........................
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
To submit patches using GMail's IMAP interface, first, edit your ~/.gitconfig
|
||||
to specify your account settings:
|
||||
|
||||
|
@ -77,6 +77,9 @@ OPTIONS
|
||||
--check-self-contained-and-connected::
|
||||
Die if the pack contains broken links. For internal use only.
|
||||
|
||||
--fsck-objects::
|
||||
Die if the pack contains broken objects. For internal use only.
|
||||
|
||||
--threads=<n>::
|
||||
Specifies the number of threads to spawn when resolving
|
||||
deltas. This requires that index-pack be compiled with
|
||||
@ -90,8 +93,8 @@ OPTIONS
|
||||
--max-input-size=<size>::
|
||||
Die, if the pack is larger than <size>.
|
||||
|
||||
Note
|
||||
----
|
||||
NOTES
|
||||
-----
|
||||
|
||||
Once the index has been created, the list of object names is sorted
|
||||
and the SHA-1 hash of that list is printed to stdout. If --stdin was
|
||||
|
@ -8,8 +8,8 @@ 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' [<options>] [(--trailer <token>[(=|:)<value>])...] [<file>...]
|
||||
'git interpret-trailers' [<options>] [--parse] [<file>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -88,7 +88,8 @@ OPTIONS
|
||||
Specify where all new trailers will be added. A setting
|
||||
provided with '--where' overrides all configuration variables
|
||||
and applies to all '--trailer' options until the next occurrence of
|
||||
'--where' or '--no-where'.
|
||||
'--where' or '--no-where'. Possible values are `after`, `before`,
|
||||
`end` or `start`.
|
||||
|
||||
--if-exists <action>::
|
||||
--no-if-exists::
|
||||
@ -96,7 +97,8 @@ OPTIONS
|
||||
least one trailer with the same <token> in the message. 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'.
|
||||
'--if-exists' or '--no-if-exists'. Possible actions are `addIfDifferent`,
|
||||
`addIfDifferentNeighbor`, `add`, `replace` and `doNothing`.
|
||||
|
||||
--if-missing <action>::
|
||||
--no-if-missing::
|
||||
@ -104,7 +106,8 @@ OPTIONS
|
||||
trailer with the same <token> in the message. 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'.
|
||||
'--if-missing' or '--no-if-missing'. Possible actions are `doNothing`
|
||||
or `add`.
|
||||
|
||||
--only-trailers::
|
||||
Output only the trailers, not any other parts of the input.
|
||||
|
@ -9,7 +9,7 @@ git-log - Show commit logs
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git log' [<options>] [<revision range>] [[\--] <path>...]
|
||||
'git log' [<options>] [<revision range>] [[--] <path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -90,13 +90,13 @@ include::line-range-format.txt[]
|
||||
ways to spell <revision range>, see the 'Specifying Ranges'
|
||||
section of linkgit:gitrevisions[7].
|
||||
|
||||
[\--] <path>...::
|
||||
[--] <path>...::
|
||||
Show only commits that are enough to explain how the files
|
||||
that match the specified paths came to be. See 'History
|
||||
Simplification' below for details and other simplification
|
||||
modes.
|
||||
+
|
||||
Paths may need to be prefixed with ``\-- '' to separate them from
|
||||
Paths may need to be prefixed with `--` to separate them from
|
||||
options or the revision range, when confusion arises.
|
||||
|
||||
include::rev-list-options.txt[]
|
||||
@ -125,7 +125,7 @@ EXAMPLES
|
||||
`git log --since="2 weeks ago" -- gitk`::
|
||||
|
||||
Show the changes during the last two weeks to the file 'gitk'.
|
||||
The ``--'' is necessary to avoid confusion with the *branch* named
|
||||
The `--` is necessary to avoid confusion with the *branch* named
|
||||
'gitk'
|
||||
|
||||
`git log --name-status release..test`::
|
||||
|
@ -53,7 +53,8 @@ OPTIONS
|
||||
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.
|
||||
pattern. Standard ignore rules are not automatically activated,
|
||||
therefore at least one of the `--exclude*` options is required.
|
||||
|
||||
-s::
|
||||
--stage::
|
||||
@ -183,7 +184,7 @@ followed by the ("attr/<eolattr>").
|
||||
Files to show. If no files are given all files which match the other
|
||||
specified criteria are shown.
|
||||
|
||||
Output
|
||||
OUTPUT
|
||||
------
|
||||
'git ls-files' just outputs the filenames unless `--stage` is specified in
|
||||
which case it outputs:
|
||||
@ -208,7 +209,7 @@ quoted as explained for the configuration variable `core.quotePath`
|
||||
verbatim and the line is terminated by a NUL byte.
|
||||
|
||||
|
||||
Exclude Patterns
|
||||
EXCLUDE PATTERNS
|
||||
----------------
|
||||
|
||||
'git ls-files' can use a list of "exclude patterns" when
|
||||
|
@ -10,7 +10,7 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]
|
||||
[-q | --quiet] [--exit-code] [--get-url]
|
||||
[-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
|
||||
[--symref] [<repository> [<refs>...]]
|
||||
|
||||
DESCRIPTION
|
||||
@ -60,6 +60,24 @@ OPTIONS
|
||||
upload-pack only shows the symref HEAD, so it will be the only
|
||||
one shown by ls-remote.
|
||||
|
||||
--sort=<key>::
|
||||
Sort based on the key given. Prefix `-` to sort in descending order
|
||||
of the value. Supports "version:refname" or "v:refname" (tag names
|
||||
are treated as versions). The "version:refname" sort order can also
|
||||
be affected by the "versionsort.suffix" configuration variable.
|
||||
See linkgit:git-for-each-ref[1] for more sort options, but be aware
|
||||
keys like `committerdate` that require access to the objects
|
||||
themselves will not work for refs whose objects have not yet been
|
||||
fetched from the remote, and will give a `missing object` error.
|
||||
|
||||
-o <option>::
|
||||
--server-option=<option>::
|
||||
Transmit the given string to the server when communicating using
|
||||
protocol version 2. The given string must not contain a NUL or LF
|
||||
character.
|
||||
When multiple `--server-option=<option>` are given, they are all
|
||||
sent to the other side in the order listed on the command line.
|
||||
|
||||
<repository>::
|
||||
The "remote" repository to query. This parameter can be
|
||||
either a URL or the name of a remote (see the GIT URLS and
|
||||
@ -90,6 +108,10 @@ EXAMPLES
|
||||
c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2
|
||||
7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-check-ref-format[1].
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||
'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
|
||||
[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
|
||||
[--[no-]allow-unrelated-histories]
|
||||
[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]
|
||||
[--[no-]rerere-autoupdate] [-m <msg>] [-F <file>] [<commit>...]
|
||||
'git merge' --abort
|
||||
'git merge' --continue
|
||||
|
||||
@ -57,7 +57,7 @@ reconstruct the original (pre-merge) changes. Therefore:
|
||||
discouraged: while possible, it may leave you in a state that is hard to
|
||||
back out of in the case of a conflict.
|
||||
|
||||
The fourth syntax ("`git merge --continue`") can only be run after the
|
||||
The third syntax ("`git merge --continue`") can only be run after the
|
||||
merge has resulted in conflicts.
|
||||
|
||||
OPTIONS
|
||||
@ -75,6 +75,14 @@ The 'git fmt-merge-msg' command can be
|
||||
used to give a good default for automated 'git merge'
|
||||
invocations. The automated message can include the branch description.
|
||||
|
||||
-F <file>::
|
||||
--file=<file>::
|
||||
Read the commit message to be used for the merge commit (in
|
||||
case one is created).
|
||||
+
|
||||
If `--log` is specified, a shortlog of the commits being merged
|
||||
will be appended to the specified message.
|
||||
|
||||
--[no-]rerere-autoupdate::
|
||||
Allow the rerere mechanism to update the index with the
|
||||
result of auto-conflict resolution if possible.
|
||||
@ -122,9 +130,9 @@ merge' may need to update.
|
||||
|
||||
To avoid recording unrelated changes in the merge commit,
|
||||
'git pull' and 'git merge' will also abort if there are any changes
|
||||
registered in the index relative to the `HEAD` commit. (One
|
||||
exception is when the changed index entries are in the state that
|
||||
would result from the merge already.)
|
||||
registered in the index relative to the `HEAD` commit. (Special
|
||||
narrow exceptions to this rule may exist depending on which merge
|
||||
strategy is in use, but generally, the index must match HEAD.)
|
||||
|
||||
If all named commits are already ancestors of `HEAD`, 'git merge'
|
||||
will exit early with the message "Already up to date."
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Reads standard input in non-recursive `ls-tree` output format, and creates
|
||||
a tree object. The order of the tree entries is normalised by mktree so
|
||||
a tree object. The order of the tree entries is normalized by mktree so
|
||||
pre-sorting the input is not required. The object name of the tree object
|
||||
built is written to the standard output.
|
||||
|
||||
|
@ -61,8 +61,8 @@ OPTIONS
|
||||
--always::
|
||||
Show uniquely abbreviated commit object as fallback.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Given a commit, find out where it is relative to the local refs. Say somebody
|
||||
wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
|
||||
|
@ -199,7 +199,7 @@ OPTIONS
|
||||
.git/NOTES_MERGE_REF symref is updated to the resulting commit.
|
||||
|
||||
--abort::
|
||||
Abort/reset a in-progress 'git notes merge', i.e. a notes merge
|
||||
Abort/reset an in-progress 'git notes merge', i.e. a notes merge
|
||||
with conflicts. This simply removes all files related to the
|
||||
notes merge.
|
||||
|
||||
|
@ -29,8 +29,8 @@ Submit Git changes back to p4 using 'git p4 submit'. The command
|
||||
the updated p4 remote branch.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
* Clone a repository:
|
||||
+
|
||||
------------
|
||||
@ -149,6 +149,12 @@ To specify a branch other than the current one, use:
|
||||
$ git p4 submit topicbranch
|
||||
------------
|
||||
|
||||
To specify a single commit or a range of commits, use:
|
||||
------------
|
||||
$ git p4 submit --commit <sha1>
|
||||
$ git p4 submit --commit <sha1..sha1>
|
||||
------------
|
||||
|
||||
The upstream reference is generally 'refs/remotes/p4/master', but can
|
||||
be overridden using the `--origin=` command-line option.
|
||||
|
||||
@ -164,6 +170,31 @@ $ git p4 submit --shelve
|
||||
$ git p4 submit --update-shelve 1234 --update-shelve 2345
|
||||
----
|
||||
|
||||
|
||||
Unshelve
|
||||
~~~~~~~~
|
||||
Unshelving will take a shelved P4 changelist, and produce the equivalent git commit
|
||||
in the branch refs/remotes/p4/unshelved/<changelist>.
|
||||
|
||||
The git commit is created relative to the current origin revision (HEAD by default).
|
||||
If the shelved changelist's parent revisions differ, git-p4 will refuse to unshelve;
|
||||
you need to be unshelving onto an equivalent tree.
|
||||
|
||||
The origin revision can be changed with the "--origin" option.
|
||||
|
||||
If the target branch in refs/remotes/p4/unshelved already exists, the old one will
|
||||
be renamed.
|
||||
|
||||
----
|
||||
$ git p4 sync
|
||||
$ git p4 unshelve 12345
|
||||
$ git show refs/remotes/p4/unshelved/12345
|
||||
<submit more changes via p4 to the same files>
|
||||
$ git p4 unshelve 12345
|
||||
<refuses to unshelve until git is in sync with p4 again>
|
||||
|
||||
----
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
@ -330,6 +361,27 @@ These options can be used to modify 'git p4 submit' behavior.
|
||||
p4/master. See the "Sync options" section above for more
|
||||
information.
|
||||
|
||||
--commit <sha1>|<sha1..sha1>::
|
||||
Submit only the specified commit or range of commits, instead of the full
|
||||
list of changes that are in the current Git branch.
|
||||
|
||||
--disable-rebase::
|
||||
Disable the automatic rebase after all commits have been successfully
|
||||
submitted. Can also be set with git-p4.disableRebase.
|
||||
|
||||
--disable-p4sync::
|
||||
Disable the automatic sync of p4/master from Perforce after commits have
|
||||
been submitted. Implies --disable-rebase. Can also be set with
|
||||
git-p4.disableP4Sync. Sync with origin/master still goes ahead if possible.
|
||||
|
||||
Hook for submit
|
||||
~~~~~~~~~~~~~~~
|
||||
The `p4-pre-submit` hook is executed if it exists and is executable.
|
||||
The hook takes no parameters and nothing from standard input. Exiting with
|
||||
non-zero status from this script prevents `git-p4 submit` from launching.
|
||||
|
||||
One usage scenario is to run unit tests in the hook.
|
||||
|
||||
Rebase options
|
||||
~~~~~~~~~~~~~~
|
||||
These options can be used to modify 'git p4 rebase' behavior.
|
||||
@ -337,6 +389,13 @@ These options can be used to modify 'git p4 rebase' behavior.
|
||||
--import-labels::
|
||||
Import p4 labels.
|
||||
|
||||
Unshelve options
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
--origin::
|
||||
Sets the git refspec against which the shelved P4 changelist is compared.
|
||||
Defaults to p4/master.
|
||||
|
||||
DEPOT PATH SYNTAX
|
||||
-----------------
|
||||
The p4 depot path argument to 'git p4 sync' and 'git p4 clone' can
|
||||
@ -392,7 +451,7 @@ dedicating a client spec just for 'git p4'.
|
||||
The name of the client can be given to 'git p4' in multiple ways. The
|
||||
variable 'git-p4.client' takes precedence if it exists. Otherwise,
|
||||
normal p4 mechanisms of determining the client are used: environment
|
||||
variable P4CLIENT, a file referenced by P4CONFIG, or the local host name.
|
||||
variable `P4CLIENT`, a file referenced by `P4CONFIG`, or the local host name.
|
||||
|
||||
|
||||
BRANCH DETECTION
|
||||
@ -461,22 +520,22 @@ General variables
|
||||
~~~~~~~~~~~~~~~~~
|
||||
git-p4.user::
|
||||
User specified as an option to all p4 commands, with '-u <user>'.
|
||||
The environment variable 'P4USER' can be used instead.
|
||||
The environment variable `P4USER` can be used instead.
|
||||
|
||||
git-p4.password::
|
||||
Password specified as an option to all p4 commands, with
|
||||
'-P <password>'.
|
||||
The environment variable 'P4PASS' can be used instead.
|
||||
The environment variable `P4PASS` can be used instead.
|
||||
|
||||
git-p4.port::
|
||||
Port specified as an option to all p4 commands, with
|
||||
'-p <port>'.
|
||||
The environment variable 'P4PORT' can be used instead.
|
||||
The environment variable `P4PORT` can be used instead.
|
||||
|
||||
git-p4.host::
|
||||
Host specified as an option to all p4 commands, with
|
||||
'-h <host>'.
|
||||
The environment variable 'P4HOST' can be used instead.
|
||||
The environment variable `P4HOST` can be used instead.
|
||||
|
||||
git-p4.client::
|
||||
Client specified as an option to all p4 commands, with
|
||||
@ -644,6 +703,12 @@ git-p4.conflict::
|
||||
Specify submit behavior when a conflict with p4 is found, as per
|
||||
--conflict. The default behavior is 'ask'.
|
||||
|
||||
git-p4.disableRebase::
|
||||
Do not rebase the tree against p4/master following a submit.
|
||||
|
||||
git-p4.disableP4Sync::
|
||||
Do not sync p4/master with Perforce following a submit. Implies git-p4.disableRebase.
|
||||
|
||||
IMPLEMENTATION DETAILS
|
||||
----------------------
|
||||
* Changesets from p4 are imported using Git fast-import.
|
||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||
'git pack-objects' [-q | --progress | --all-progress] [--all-progress-implied]
|
||||
[--no-reuse-delta] [--delta-base-offset] [--non-empty]
|
||||
[--local] [--incremental] [--window=<n>] [--depth=<n>]
|
||||
[--revs [--unpacked | --all]]
|
||||
[--revs [--unpacked | --all]] [--keep-pack=<pack-name>]
|
||||
[--stdout [--filter=<filter-spec>] | base-name]
|
||||
[--shallow] [--keep-true-parents] < object-list
|
||||
|
||||
@ -96,7 +96,9 @@ base-name::
|
||||
it too deep affects the performance on the unpacker
|
||||
side, because delta data needs to be applied that many
|
||||
times to get to the necessary object.
|
||||
The default value for --window is 10 and --depth is 50.
|
||||
+
|
||||
The default value for --window is 10 and --depth is 50. The maximum
|
||||
depth is 4095.
|
||||
|
||||
--window-memory=<n>::
|
||||
This option provides an additional limit on top of `--window`;
|
||||
@ -126,6 +128,13 @@ base-name::
|
||||
has a .keep file to be ignored, even if it would have
|
||||
otherwise been packed.
|
||||
|
||||
--keep-pack=<pack-name>::
|
||||
This flag causes an object already in the given pack to be
|
||||
ignored, even if it would have otherwise been
|
||||
packed. `<pack-name>` is the the pack file name without
|
||||
leading directory (e.g. `pack-123.pack`). The option could be
|
||||
specified multiple times to keep multiple packs.
|
||||
|
||||
--incremental::
|
||||
This flag causes an object already in a pack to be ignored
|
||||
even if it would have otherwise been packed.
|
||||
@ -255,6 +264,30 @@ a missing object is encountered. This is the default action.
|
||||
The form '--missing=allow-any' will allow object traversal to continue
|
||||
if a missing object is encountered. Missing objects will silently be
|
||||
omitted from the results.
|
||||
+
|
||||
The form '--missing=allow-promisor' is like 'allow-any', but will only
|
||||
allow object traversal to continue for EXPECTED promisor missing objects.
|
||||
Unexpected missing object will raise an error.
|
||||
|
||||
--exclude-promisor-objects::
|
||||
Omit objects that are known to be in the promisor remote. (This
|
||||
option has the purpose of operating only on locally created objects,
|
||||
so that when we repack, we still maintain a distinction between
|
||||
locally created objects [without .promisor] and objects from the
|
||||
promisor remote [with .promisor].) This is used with partial clone.
|
||||
|
||||
--keep-unreachable::
|
||||
Objects unreachable from the refs in packs named with
|
||||
--unpacked= option are added to the resulting pack, in
|
||||
addition to the reachable objects that are not in packs marked
|
||||
with *.keep files. This implies `--revs`.
|
||||
|
||||
--pack-loose-unreachable::
|
||||
Pack unreachable loose objects (and their loose counterparts
|
||||
removed). This implies `--revs`.
|
||||
|
||||
--unpack-unreachable::
|
||||
Keep unreachable objects in loose form. This implies `--revs`.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
@ -56,8 +56,8 @@ OPTIONS
|
||||
reachable from any of our references, keep objects
|
||||
reachable from listed <head>s.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
To prune objects not used by your repository or another that
|
||||
borrows from your repository via its
|
||||
@ -67,7 +67,7 @@ borrows from your repository via its
|
||||
$ git prune $(cd ../another && git rev-parse --all)
|
||||
------------
|
||||
|
||||
Notes
|
||||
NOTES
|
||||
-----
|
||||
|
||||
In most cases, users will not need to call 'git prune' directly, but
|
||||
|
@ -9,7 +9,7 @@ git-pull - Fetch from and integrate with another repository or a local branch
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git pull' [options] [<repository> [<refspec>...]]
|
||||
'git pull' [<options>] [<repository> [<refspec>...]]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@ -101,13 +101,17 @@ Options related to merging
|
||||
include::merge-options.txt[]
|
||||
|
||||
-r::
|
||||
--rebase[=false|true|preserve|interactive]::
|
||||
--rebase[=false|true|merges|preserve|interactive]::
|
||||
When true, rebase the current branch on top of the upstream
|
||||
branch after fetching. If there is a remote-tracking branch
|
||||
corresponding to the upstream branch and the upstream branch
|
||||
was rebased since last fetched, the rebase uses that information
|
||||
to avoid rebasing non-local changes.
|
||||
+
|
||||
When set to `merges`, rebase using `git rebase --rebase-merges` so that
|
||||
the local merge commits are included in the rebase (see
|
||||
linkgit:git-rebase[1] for details).
|
||||
+
|
||||
When set to preserve, rebase with the `--preserve-merges` option passed
|
||||
to `git rebase` so that locally created merge commits will not be flattened.
|
||||
+
|
||||
|
@ -11,7 +11,7 @@ SYNOPSIS
|
||||
[verse]
|
||||
'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
|
||||
[--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
|
||||
[-u | --set-upstream] [--push-option=<string>]
|
||||
[-u | --set-upstream] [-o <string> | --push-option=<string>]
|
||||
[--[no-]signed|--signed=(true|false|if-asked)]
|
||||
[--force-with-lease[=<refname>[:<expect>]]]
|
||||
[--no-verify] [<repository> [<refspec>...]]
|
||||
@ -123,6 +123,7 @@ already exists on the remote side.
|
||||
will be tab-separated and sent to stdout instead of stderr. The full
|
||||
symbolic names of the refs will be given.
|
||||
|
||||
-d::
|
||||
--delete::
|
||||
All listed refs are deleted from the remote repository. This is
|
||||
the same as prefixing all refs with a colon.
|
||||
@ -300,7 +301,7 @@ origin +master` to force a push to the `master` branch). See the
|
||||
These options are passed to linkgit:git-send-pack[1]. A thin transfer
|
||||
significantly reduces the amount of sent data when the sender and
|
||||
receiver share many of the same objects in common. The default is
|
||||
\--thin.
|
||||
`--thin`.
|
||||
|
||||
-q::
|
||||
--quiet::
|
||||
@ -423,7 +424,7 @@ reason::
|
||||
refs, no explanation is needed. For a failed ref, the reason for
|
||||
failure is described.
|
||||
|
||||
Note about fast-forwards
|
||||
NOTE ABOUT FAST-FORWARDS
|
||||
------------------------
|
||||
|
||||
When an update changes a branch (or more in general, a ref) that used to
|
||||
@ -510,7 +511,7 @@ overwrite it. In other words, "git push --force" is a method reserved for
|
||||
a case where you do mean to lose history.
|
||||
|
||||
|
||||
Examples
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
`git push`::
|
||||
|
252
Documentation/git-range-diff.txt
Normal file
252
Documentation/git-range-diff.txt
Normal file
@ -0,0 +1,252 @@
|
||||
git-range-diff(1)
|
||||
=================
|
||||
|
||||
NAME
|
||||
----
|
||||
git-range-diff - Compare two commit ranges (e.g. two versions of a branch)
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git range-diff' [--color=[<when>]] [--no-color] [<diff-options>]
|
||||
[--no-dual-color] [--creation-factor=<factor>]
|
||||
( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> )
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This command shows the differences between two versions of a patch
|
||||
series, or more generally, two commit ranges (ignoring merge commits).
|
||||
|
||||
To that end, it first finds pairs of commits from both commit ranges
|
||||
that correspond with each other. Two commits are said to correspond when
|
||||
the diff between their patches (i.e. the author information, the commit
|
||||
message and the commit diff) is reasonably small compared to the
|
||||
patches' size. See ``Algorithm`` below for details.
|
||||
|
||||
Finally, the list of matching commits is shown in the order of the
|
||||
second commit range, with unmatched commits being inserted just after
|
||||
all of their ancestors have been shown.
|
||||
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
--no-dual-color::
|
||||
When the commit diffs differ, `git range-diff` recreates the
|
||||
original diffs' coloring, and adds outer -/+ diff markers with
|
||||
the *background* being red/green to make it easier to see e.g.
|
||||
when there was a change in what exact lines were added.
|
||||
+
|
||||
Additionally, the commit diff lines that are only present in the first commit
|
||||
range are shown "dimmed" (this can be overridden using the `color.diff.<slot>`
|
||||
config setting where `<slot>` is one of `contextDimmed`, `oldDimmed` and
|
||||
`newDimmed`), and the commit diff lines that are only present in the second
|
||||
commit range are shown in bold (which can be overridden using the config
|
||||
settings `color.diff.<slot>` with `<slot>` being one of `contextBold`,
|
||||
`oldBold` or `newBold`).
|
||||
+
|
||||
This is known to `range-diff` as "dual coloring". Use `--no-dual-color`
|
||||
to revert to color all lines according to the outer diff markers
|
||||
(and completely ignore the inner diff when it comes to color).
|
||||
|
||||
--creation-factor=<percent>::
|
||||
Set the creation/deletion cost fudge factor to `<percent>`.
|
||||
Defaults to 60. Try a larger value if `git range-diff` erroneously
|
||||
considers a large change a total rewrite (deletion of one commit
|
||||
and addition of another), and a smaller one in the reverse case.
|
||||
See the ``Algorithm`` section below for an explanation why this is
|
||||
needed.
|
||||
|
||||
<range1> <range2>::
|
||||
Compare the commits specified by the two ranges, where
|
||||
`<range1>` is considered an older version of `<range2>`.
|
||||
|
||||
<rev1>...<rev2>::
|
||||
Equivalent to passing `<rev2>..<rev1>` and `<rev1>..<rev2>`.
|
||||
|
||||
<base> <rev1> <rev2>::
|
||||
Equivalent to passing `<base>..<rev1>` and `<base>..<rev2>`.
|
||||
Note that `<base>` does not need to be the exact branch point
|
||||
of the branches. Example: after rebasing a branch `my-topic`,
|
||||
`git range-diff my-topic@{u} my-topic@{1} my-topic` would
|
||||
show the differences introduced by the rebase.
|
||||
|
||||
`git range-diff` also accepts the regular diff options (see
|
||||
linkgit:git-diff[1]), most notably the `--color=[<when>]` and
|
||||
`--no-color` options. These options are used when generating the "diff
|
||||
between patches", i.e. to compare the author, commit message and diff of
|
||||
corresponding old/new commits. There is currently no means to tweak the
|
||||
diff options passed to `git log` when generating those patches.
|
||||
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
This command uses the `diff.color.*` and `pager.range-diff` settings
|
||||
(the latter is on by default).
|
||||
See linkgit:git-config[1].
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
When a rebase required merge conflicts to be resolved, compare the changes
|
||||
introduced by the rebase directly afterwards using:
|
||||
|
||||
------------
|
||||
$ git range-diff @{u} @{1} @
|
||||
------------
|
||||
|
||||
|
||||
A typical output of `git range-diff` would look like this:
|
||||
|
||||
------------
|
||||
-: ------- > 1: 0ddba11 Prepare for the inevitable!
|
||||
1: c0debee = 2: cab005e Add a helpful message at the start
|
||||
2: f00dbal ! 3: decafe1 Describe a bug
|
||||
@@ -1,3 +1,3 @@
|
||||
Author: A U Thor <author@example.com>
|
||||
|
||||
-TODO: Describe a bug
|
||||
+Describe a bug
|
||||
@@ -324,5 +324,6
|
||||
This is expected.
|
||||
|
||||
-+What is unexpected is that it will also crash.
|
||||
++Unexpectedly, it also crashes. This is a bug, and the jury is
|
||||
++still out there how to fix it best. See ticket #314 for details.
|
||||
|
||||
Contact
|
||||
3: bedead < -: ------- TO-UNDO
|
||||
------------
|
||||
|
||||
In this example, there are 3 old and 3 new commits, where the developer
|
||||
removed the 3rd, added a new one before the first two, and modified the
|
||||
commit message of the 2nd commit as well its diff.
|
||||
|
||||
When the output goes to a terminal, it is color-coded by default, just
|
||||
like regular `git diff`'s output. In addition, the first line (adding a
|
||||
commit) is green, the last line (deleting a commit) is red, the second
|
||||
line (with a perfect match) is yellow like the commit header of `git
|
||||
show`'s output, and the third line colors the old commit red, the new
|
||||
one green and the rest like `git show`'s commit header.
|
||||
|
||||
A naive color-coded diff of diffs is actually a bit hard to read,
|
||||
though, as it colors the entire lines red or green. The line that added
|
||||
"What is unexpected" in the old commit, for example, is completely red,
|
||||
even if the intent of the old commit was to add something.
|
||||
|
||||
To help with that, `range` uses the `--dual-color` mode by default. In
|
||||
this mode, the diff of diffs will retain the original diff colors, and
|
||||
prefix the lines with -/+ markers that have their *background* red or
|
||||
green, to make it more obvious that they describe how the diff itself
|
||||
changed.
|
||||
|
||||
|
||||
Algorithm
|
||||
---------
|
||||
|
||||
The general idea is this: we generate a cost matrix between the commits
|
||||
in both commit ranges, then solve the least-cost assignment.
|
||||
|
||||
The cost matrix is populated thusly: for each pair of commits, both
|
||||
diffs are generated and the "diff of diffs" is generated, with 3 context
|
||||
lines, then the number of lines in that diff is used as cost.
|
||||
|
||||
To avoid false positives (e.g. when a patch has been removed, and an
|
||||
unrelated patch has been added between two iterations of the same patch
|
||||
series), the cost matrix is extended to allow for that, by adding
|
||||
fixed-cost entries for wholesale deletes/adds.
|
||||
|
||||
Example: Let commits `1--2` be the first iteration of a patch series and
|
||||
`A--C` the second iteration. Let's assume that `A` is a cherry-pick of
|
||||
`2,` and `C` is a cherry-pick of `1` but with a small modification (say,
|
||||
a fixed typo). Visualize the commits as a bipartite graph:
|
||||
|
||||
------------
|
||||
1 A
|
||||
|
||||
2 B
|
||||
|
||||
C
|
||||
------------
|
||||
|
||||
We are looking for a "best" explanation of the new series in terms of
|
||||
the old one. We can represent an "explanation" as an edge in the graph:
|
||||
|
||||
|
||||
------------
|
||||
1 A
|
||||
/
|
||||
2 --------' B
|
||||
|
||||
C
|
||||
------------
|
||||
|
||||
This explanation comes for "free" because there was no change. Similarly
|
||||
`C` could be explained using `1`, but that comes at some cost c>0
|
||||
because of the modification:
|
||||
|
||||
------------
|
||||
1 ----. A
|
||||
| /
|
||||
2 ----+---' B
|
||||
|
|
||||
`----- C
|
||||
c>0
|
||||
------------
|
||||
|
||||
In mathematical terms, what we are looking for is some sort of a minimum
|
||||
cost bipartite matching; `1` is matched to `C` at some cost, etc. The
|
||||
underlying graph is in fact a complete bipartite graph; the cost we
|
||||
associate with every edge is the size of the diff between the two
|
||||
commits' patches. To explain also new commits, we introduce dummy nodes
|
||||
on both sides:
|
||||
|
||||
------------
|
||||
1 ----. A
|
||||
| /
|
||||
2 ----+---' B
|
||||
|
|
||||
o `----- C
|
||||
c>0
|
||||
o o
|
||||
|
||||
o o
|
||||
------------
|
||||
|
||||
The cost of an edge `o--C` is the size of `C`'s diff, modified by a
|
||||
fudge factor that should be smaller than 100%. The cost of an edge
|
||||
`o--o` is free. The fudge factor is necessary because even if `1` and
|
||||
`C` have nothing in common, they may still share a few empty lines and
|
||||
such, possibly making the assignment `1--C`, `o--o` slightly cheaper
|
||||
than `1--o`, `o--C` even if `1` and `C` have nothing in common. With the
|
||||
fudge factor we require a much larger common part to consider patches as
|
||||
corresponding.
|
||||
|
||||
The overall time needed to compute this algorithm is the time needed to
|
||||
compute n+m commit diffs and then n*m diffs of patches, plus the time
|
||||
needed to compute the least-cost assigment between n and m diffs. Git
|
||||
uses an implementation of the Jonker-Volgenant algorithm to solve the
|
||||
assignment problem, which has cubic runtime complexity. The matching
|
||||
found in this case will look like this:
|
||||
|
||||
------------
|
||||
1 ----. A
|
||||
| /
|
||||
2 ----+---' B
|
||||
.--+-----'
|
||||
o -' `----- C
|
||||
c>0
|
||||
o ---------- o
|
||||
|
||||
o ---------- o
|
||||
------------
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-log[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
@ -132,7 +132,7 @@ OPTIONS
|
||||
The id of the tree object(s) to be read/merged.
|
||||
|
||||
|
||||
Merging
|
||||
MERGING
|
||||
-------
|
||||
If `-m` is specified, 'git read-tree' can perform 3 kinds of
|
||||
merge, a single tree merge if only 1 tree is given, a
|
||||
@ -382,7 +382,7 @@ middle of doing, and when your working tree is ready (i.e. you
|
||||
have finished your work-in-progress), attempt the merge again.
|
||||
|
||||
|
||||
Sparse checkout
|
||||
SPARSE CHECKOUT
|
||||
---------------
|
||||
|
||||
"Sparse checkout" allows populating the working directory sparsely.
|
||||
|
@ -8,11 +8,11 @@ git-rebase - Reapply commits on top of another base tip
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
||||
'git rebase' [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
|
||||
[<upstream> [<branch>]]
|
||||
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
||||
'git rebase' [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
|
||||
--root [<branch>]
|
||||
'git rebase' --continue | --skip | --abort | --quit | --edit-todo
|
||||
'git rebase' --continue | --skip | --abort | --quit | --edit-todo | --show-current-patch
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -243,6 +243,15 @@ leave out at most one of A and B, in which case it defaults to HEAD.
|
||||
--keep-empty::
|
||||
Keep the commits that do not change anything from its
|
||||
parents in the result.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--allow-empty-message::
|
||||
By default, rebasing commits with an empty message will fail.
|
||||
This option overrides that behavior, allowing commits with empty
|
||||
messages to be rebased.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--skip::
|
||||
Restart the rebasing process by skipping the current patch.
|
||||
@ -250,6 +259,11 @@ leave out at most one of A and B, in which case it defaults to HEAD.
|
||||
--edit-todo::
|
||||
Edit the todo list during an interactive rebase.
|
||||
|
||||
--show-current-patch::
|
||||
Show the current patch in an interactive rebase or when rebase
|
||||
is stopped because of conflicts. This is the equivalent of
|
||||
`git show REBASE_HEAD`.
|
||||
|
||||
-m::
|
||||
--merge::
|
||||
Use merging strategies to rebase. When the recursive (default) merge
|
||||
@ -261,6 +275,8 @@ branch on top of the <upstream> branch. Because of this, when a merge
|
||||
conflict happens, the side reported as 'ours' is the so-far rebased
|
||||
series, starting with <upstream>, and 'theirs' is the working branch. In
|
||||
other words, the sides are swapped.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
-s <strategy>::
|
||||
--strategy=<strategy>::
|
||||
@ -270,8 +286,10 @@ other words, the sides are swapped.
|
||||
+
|
||||
Because 'git rebase' replays each commit from the working branch
|
||||
on top of the <upstream> branch using the given strategy, using
|
||||
the 'ours' strategy simply discards all patches from the <branch>,
|
||||
the 'ours' strategy simply empties all patches from the <branch>,
|
||||
which makes little sense.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
-X <strategy-option>::
|
||||
--strategy-option=<strategy-option>::
|
||||
@ -279,6 +297,8 @@ which makes little sense.
|
||||
This implies `--merge` and, if no strategy has been
|
||||
specified, `-s recursive`. Note the reversal of 'ours' and
|
||||
'theirs' as noted above for the `-m` option.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
-S[<keyid>]::
|
||||
--gpg-sign[=<keyid>]::
|
||||
@ -314,17 +334,21 @@ which makes little sense.
|
||||
and after each change. When fewer lines of surrounding
|
||||
context exist they all must match. By default no context is
|
||||
ever ignored.
|
||||
|
||||
-f::
|
||||
--force-rebase::
|
||||
Force a rebase even if the current branch is up to date and
|
||||
the command without `--force` would return without doing anything.
|
||||
+
|
||||
You may find this (or --no-ff with an interactive rebase) helpful after
|
||||
reverting a topic branch merge, as this option recreates the topic branch with
|
||||
fresh commits so it can be remerged successfully without needing to "revert
|
||||
the reversion" (see the
|
||||
link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details).
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--no-ff::
|
||||
--force-rebase::
|
||||
-f::
|
||||
Individually replay all rebased commits instead of fast-forwarding
|
||||
over the unchanged ones. This ensures that the entire history of
|
||||
the rebased branch is composed of new commits.
|
||||
+
|
||||
You may find this helpful after reverting a topic branch merge, as this option
|
||||
recreates the topic branch with fresh commits so it can be remerged
|
||||
successfully without needing to "revert the reversion" (see the
|
||||
link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for
|
||||
details).
|
||||
|
||||
--fork-point::
|
||||
--no-fork-point::
|
||||
@ -345,18 +369,22 @@ default is `--no-fork-point`, otherwise the default is `--fork-point`.
|
||||
--whitespace=<option>::
|
||||
These flag are passed to the 'git apply' program
|
||||
(see linkgit:git-apply[1]) that applies the patch.
|
||||
Incompatible with the --interactive option.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--committer-date-is-author-date::
|
||||
--ignore-date::
|
||||
These flags are passed to 'git am' to easily change the dates
|
||||
of the rebased commits (see linkgit:git-am[1]).
|
||||
Incompatible with the --interactive option.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--signoff::
|
||||
This flag is passed to 'git am' to sign off all the rebased
|
||||
commits (see linkgit:git-am[1]). Incompatible with the
|
||||
--interactive option.
|
||||
Add a Signed-off-by: trailer to all the rebased commits. Note
|
||||
that if `--interactive` is given then only commits marked to be
|
||||
picked, edited or reworded will have the trailer added.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
-i::
|
||||
--interactive::
|
||||
@ -367,6 +395,35 @@ default is `--no-fork-point`, otherwise the default is `--fork-point`.
|
||||
The commit list format can be changed by setting the configuration option
|
||||
rebase.instructionFormat. A customized instruction format will automatically
|
||||
have the long commit hash prepended to the format.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
-r::
|
||||
--rebase-merges[=(rebase-cousins|no-rebase-cousins)]::
|
||||
By default, a rebase will simply drop merge commits from the todo
|
||||
list, and put the rebased commits into a single, linear branch.
|
||||
With `--rebase-merges`, the rebase will instead try to preserve
|
||||
the branching structure within the commits that are to be rebased,
|
||||
by recreating the merge commits. Any resolved merge conflicts or
|
||||
manual amendments in these merge commits will have to be
|
||||
resolved/re-applied manually.
|
||||
+
|
||||
By default, or when `no-rebase-cousins` was specified, commits which do not
|
||||
have `<upstream>` as direct ancestor will keep their original branch point,
|
||||
i.e. commits that would be excluded by gitlink:git-log[1]'s
|
||||
`--ancestry-path` option will keep their original ancestry by default. If
|
||||
the `rebase-cousins` mode is turned on, such commits are instead rebased
|
||||
onto `<upstream>` (or `<onto>`, if specified).
|
||||
+
|
||||
The `--rebase-merges` mode is similar in spirit to `--preserve-merges`, but
|
||||
in contrast to that option works well in interactive rebases: commits can be
|
||||
reordered, inserted and dropped at will.
|
||||
+
|
||||
It is currently only possible to recreate the merge commits using the
|
||||
`recursive` merge strategy; Different merge strategies can be used only via
|
||||
explicit `exec git merge -s <strategy> [...]` commands.
|
||||
+
|
||||
See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
|
||||
|
||||
-p::
|
||||
--preserve-merges::
|
||||
@ -377,6 +434,8 @@ have the long commit hash prepended to the format.
|
||||
This uses the `--interactive` machinery internally, but combining it
|
||||
with the `--interactive` option explicitly is generally not a good
|
||||
idea unless you know what you are doing (see BUGS below).
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
-x <cmd>::
|
||||
--exec <cmd>::
|
||||
@ -399,6 +458,8 @@ squash/fixup series.
|
||||
+
|
||||
This uses the `--interactive` machinery internally, but it can be run
|
||||
without an explicit `--interactive`.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--root::
|
||||
Rebase all commits reachable from <branch>, instead of
|
||||
@ -409,6 +470,8 @@ without an explicit `--interactive`.
|
||||
When used together with both --onto and --preserve-merges,
|
||||
'all' root commits will be rewritten to have <newbase> as parent
|
||||
instead.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--autosquash::
|
||||
--no-autosquash::
|
||||
@ -423,11 +486,11 @@ without an explicit `--interactive`.
|
||||
too. The recommended way to create fixup/squash commits is by using
|
||||
the `--fixup`/`--squash` options of linkgit:git-commit[1].
|
||||
+
|
||||
This option is only valid when the `--interactive` option is used.
|
||||
+
|
||||
If the `--autosquash` option is enabled by default using the
|
||||
configuration variable `rebase.autoSquash`, this option can be
|
||||
used to override and disable this setting.
|
||||
+
|
||||
See also INCOMPATIBLE OPTIONS below.
|
||||
|
||||
--autostash::
|
||||
--no-autostash::
|
||||
@ -437,17 +500,73 @@ used to override and disable this setting.
|
||||
with care: the final stash application after a successful
|
||||
rebase might result in non-trivial conflicts.
|
||||
|
||||
--no-ff::
|
||||
With --interactive, cherry-pick all rebased commits instead of
|
||||
fast-forwarding over the unchanged ones. This ensures that the
|
||||
entire history of the rebased branch is composed of new commits.
|
||||
+
|
||||
Without --interactive, this is a synonym for --force-rebase.
|
||||
+
|
||||
You may find this helpful after reverting a topic branch merge, as this option
|
||||
recreates the topic branch with fresh commits so it can be remerged
|
||||
successfully without needing to "revert the reversion" (see the
|
||||
link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details).
|
||||
INCOMPATIBLE OPTIONS
|
||||
--------------------
|
||||
|
||||
git-rebase has many flags that are incompatible with each other,
|
||||
predominantly due to the fact that it has three different underlying
|
||||
implementations:
|
||||
|
||||
* one based on linkgit:git-am[1] (the default)
|
||||
* one based on git-merge-recursive (merge backend)
|
||||
* one based on linkgit:git-cherry-pick[1] (interactive backend)
|
||||
|
||||
Flags only understood by the am backend:
|
||||
|
||||
* --committer-date-is-author-date
|
||||
* --ignore-date
|
||||
* --whitespace
|
||||
* --ignore-whitespace
|
||||
* -C
|
||||
|
||||
Flags understood by both merge and interactive backends:
|
||||
|
||||
* --merge
|
||||
* --strategy
|
||||
* --strategy-option
|
||||
* --allow-empty-message
|
||||
|
||||
Flags only understood by the interactive backend:
|
||||
|
||||
* --[no-]autosquash
|
||||
* --rebase-merges
|
||||
* --preserve-merges
|
||||
* --interactive
|
||||
* --exec
|
||||
* --keep-empty
|
||||
* --autosquash
|
||||
* --edit-todo
|
||||
* --root when used in combination with --onto
|
||||
|
||||
Other incompatible flag pairs:
|
||||
|
||||
* --preserve-merges and --interactive
|
||||
* --preserve-merges and --signoff
|
||||
* --preserve-merges and --rebase-merges
|
||||
* --rebase-merges and --strategy
|
||||
* --rebase-merges and --strategy-option
|
||||
|
||||
BEHAVIORAL DIFFERENCES
|
||||
-----------------------
|
||||
|
||||
* empty commits:
|
||||
|
||||
am-based rebase will drop any "empty" commits, whether the
|
||||
commit started empty (had no changes relative to its parent to
|
||||
start with) or ended empty (all changes were already applied
|
||||
upstream in other commits).
|
||||
|
||||
merge-based rebase does the same.
|
||||
|
||||
interactive-based rebase will by default drop commits that
|
||||
started empty and halt if it hits a commit that ended up empty.
|
||||
The `--keep-empty` option exists for interactive rebases to allow
|
||||
it to keep commits that started empty.
|
||||
|
||||
* directory rename detection:
|
||||
|
||||
merge-based and interactive-based rebases work fine with
|
||||
directory rename detection. am-based rebases sometimes do not.
|
||||
|
||||
include::merge-strategies.txt[]
|
||||
|
||||
@ -765,12 +884,147 @@ The ripple effect of a "hard case" recovery is especially bad:
|
||||
'everyone' downstream from 'topic' will now have to perform a "hard
|
||||
case" recovery too!
|
||||
|
||||
REBASING MERGES
|
||||
---------------
|
||||
|
||||
The interactive rebase command was originally designed to handle
|
||||
individual patch series. As such, it makes sense to exclude merge
|
||||
commits from the todo list, as the developer may have merged the
|
||||
then-current `master` while working on the branch, only to rebase
|
||||
all the commits onto `master` eventually (skipping the merge
|
||||
commits).
|
||||
|
||||
However, there are legitimate reasons why a developer may want to
|
||||
recreate merge commits: to keep the branch structure (or "commit
|
||||
topology") when working on multiple, inter-related branches.
|
||||
|
||||
In the following example, the developer works on a topic branch that
|
||||
refactors the way buttons are defined, and on another topic branch
|
||||
that uses that refactoring to implement a "Report a bug" button. The
|
||||
output of `git log --graph --format=%s -5` may look like this:
|
||||
|
||||
------------
|
||||
* Merge branch 'report-a-bug'
|
||||
|\
|
||||
| * Add the feedback button
|
||||
* | Merge branch 'refactor-button'
|
||||
|\ \
|
||||
| |/
|
||||
| * Use the Button class for all buttons
|
||||
| * Extract a generic Button class from the DownloadButton one
|
||||
------------
|
||||
|
||||
The developer might want to rebase those commits to a newer `master`
|
||||
while keeping the branch topology, for example when the first topic
|
||||
branch is expected to be integrated into `master` much earlier than the
|
||||
second one, say, to resolve merge conflicts with changes to the
|
||||
DownloadButton class that made it into `master`.
|
||||
|
||||
This rebase can be performed using the `--rebase-merges` option.
|
||||
It will generate a todo list looking like this:
|
||||
|
||||
------------
|
||||
label onto
|
||||
|
||||
# Branch: refactor-button
|
||||
reset onto
|
||||
pick 123456 Extract a generic Button class from the DownloadButton one
|
||||
pick 654321 Use the Button class for all buttons
|
||||
label refactor-button
|
||||
|
||||
# Branch: report-a-bug
|
||||
reset refactor-button # Use the Button class for all buttons
|
||||
pick abcdef Add the feedback button
|
||||
label report-a-bug
|
||||
|
||||
reset onto
|
||||
merge -C a1b2c3 refactor-button # Merge 'refactor-button'
|
||||
merge -C 6f5e4d report-a-bug # Merge 'report-a-bug'
|
||||
------------
|
||||
|
||||
In contrast to a regular interactive rebase, there are `label`, `reset`
|
||||
and `merge` commands in addition to `pick` ones.
|
||||
|
||||
The `label` command associates a label with the current HEAD when that
|
||||
command is executed. These labels are created as worktree-local refs
|
||||
(`refs/rewritten/<label>`) that will be deleted when the rebase
|
||||
finishes. That way, rebase operations in multiple worktrees linked to
|
||||
the same repository do not interfere with one another. If the `label`
|
||||
command fails, it is rescheduled immediately, with a helpful message how
|
||||
to proceed.
|
||||
|
||||
The `reset` command resets the HEAD, index and worktree to the specified
|
||||
revision. It is isimilar to an `exec git reset --hard <label>`, but
|
||||
refuses to overwrite untracked files. If the `reset` command fails, it is
|
||||
rescheduled immediately, with a helpful message how to edit the todo list
|
||||
(this typically happens when a `reset` command was inserted into the todo
|
||||
list manually and contains a typo).
|
||||
|
||||
The `merge` command will merge the specified revision(s) into whatever
|
||||
is HEAD at that time. With `-C <original-commit>`, the commit message of
|
||||
the specified merge commit will be used. When the `-C` is changed to
|
||||
a lower-case `-c`, the message will be opened in an editor after a
|
||||
successful merge so that the user can edit the message.
|
||||
|
||||
If a `merge` command fails for any reason other than merge conflicts (i.e.
|
||||
when the merge operation did not even start), it is rescheduled immediately.
|
||||
|
||||
At this time, the `merge` command will *always* use the `recursive`
|
||||
merge strategy for regular merges, and `octopus` for octopus merges,
|
||||
strategy, with no way to choose a different one. To work around
|
||||
this, an `exec` command can be used to call `git merge` explicitly,
|
||||
using the fact that the labels are worktree-local refs (the ref
|
||||
`refs/rewritten/onto` would correspond to the label `onto`, for example).
|
||||
|
||||
Note: the first command (`label onto`) labels the revision onto which
|
||||
the commits are rebased; The name `onto` is just a convention, as a nod
|
||||
to the `--onto` option.
|
||||
|
||||
It is also possible to introduce completely new merge commits from scratch
|
||||
by adding a command of the form `merge <merge-head>`. This form will
|
||||
generate a tentative commit message and always open an editor to let the
|
||||
user edit it. This can be useful e.g. when a topic branch turns out to
|
||||
address more than a single concern and wants to be split into two or
|
||||
even more topic branches. Consider this todo list:
|
||||
|
||||
------------
|
||||
pick 192837 Switch from GNU Makefiles to CMake
|
||||
pick 5a6c7e Document the switch to CMake
|
||||
pick 918273 Fix detection of OpenSSL in CMake
|
||||
pick afbecd http: add support for TLS v1.3
|
||||
pick fdbaec Fix detection of cURL in CMake on Windows
|
||||
------------
|
||||
|
||||
The one commit in this list that is not related to CMake may very well
|
||||
have been motivated by working on fixing all those bugs introduced by
|
||||
switching to CMake, but it addresses a different concern. To split this
|
||||
branch into two topic branches, the todo list could be edited like this:
|
||||
|
||||
------------
|
||||
label onto
|
||||
|
||||
pick afbecd http: add support for TLS v1.3
|
||||
label tlsv1.3
|
||||
|
||||
reset onto
|
||||
pick 192837 Switch from GNU Makefiles to CMake
|
||||
pick 918273 Fix detection of OpenSSL in CMake
|
||||
pick fdbaec Fix detection of cURL in CMake on Windows
|
||||
pick 5a6c7e Document the switch to CMake
|
||||
label cmake
|
||||
|
||||
reset onto
|
||||
merge tlsv1.3
|
||||
merge cmake
|
||||
------------
|
||||
|
||||
BUGS
|
||||
----
|
||||
The todo list presented by `--preserve-merges --interactive` does not
|
||||
represent the topology of the revision graph. Editing commits and
|
||||
rewording their commit messages should work fine, but attempts to
|
||||
reorder commits tend to produce counterintuitive results.
|
||||
reorder commits tend to produce counterintuitive results. Use
|
||||
`--rebase-merges` in such scenarios instead.
|
||||
|
||||
For example, an attempt to rearrange
|
||||
------------
|
||||
|
@ -41,7 +41,7 @@ OPTIONS
|
||||
<directory>::
|
||||
The repository to sync into.
|
||||
|
||||
pre-receive Hook
|
||||
PRE-RECEIVE HOOK
|
||||
----------------
|
||||
Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists
|
||||
and is executable, it will be invoked once with no parameters. The
|
||||
@ -116,7 +116,7 @@ bail out if the update is not to be supported.
|
||||
|
||||
See the notes on the quarantine environment below.
|
||||
|
||||
update Hook
|
||||
UPDATE HOOK
|
||||
-----------
|
||||
Before each ref is updated, if $GIT_DIR/hooks/update file exists
|
||||
and is executable, it is invoked once per ref, with three parameters:
|
||||
@ -138,7 +138,7 @@ ensure the ref will actually be updated, it is only a prerequisite.
|
||||
As such it is not a good idea to send notices (e.g. email) from
|
||||
this hook. Consider using the post-receive hook instead.
|
||||
|
||||
post-receive Hook
|
||||
POST-RECEIVE HOOK
|
||||
-----------------
|
||||
After all refs were updated (or attempted to be updated), if any
|
||||
ref update was successful, and if $GIT_DIR/hooks/post-receive
|
||||
@ -198,7 +198,7 @@ after it was updated by 'git-receive-pack', but before the hook was able
|
||||
to evaluate it. It is recommended that hooks rely on sha1-new
|
||||
rather than the current value of refname.
|
||||
|
||||
post-update Hook
|
||||
POST-UPDATE HOOK
|
||||
----------------
|
||||
After all other processing, if at least one ref was updated, and
|
||||
if $GIT_DIR/hooks/post-update file exists and is executable, then
|
||||
@ -216,7 +216,7 @@ if the repository is packed and is served via a dumb transport.
|
||||
exec git update-server-info
|
||||
|
||||
|
||||
Quarantine Environment
|
||||
QUARANTINE ENVIRONMENT
|
||||
----------------------
|
||||
|
||||
When `receive-pack` takes in objects, they are placed into a temporary
|
||||
|
@ -55,14 +55,14 @@ some tunnel.
|
||||
the vhost field in the git:// service request (to rest of the argument).
|
||||
Default is not to send vhost in such request (if sent).
|
||||
|
||||
ENVIRONMENT VARIABLES:
|
||||
----------------------
|
||||
ENVIRONMENT VARIABLES
|
||||
---------------------
|
||||
|
||||
GIT_TRANSLOOP_DEBUG::
|
||||
If set, prints debugging information about various reads/writes.
|
||||
|
||||
ENVIRONMENT VARIABLES PASSED TO COMMAND:
|
||||
----------------------------------------
|
||||
ENVIRONMENT VARIABLES PASSED TO COMMAND
|
||||
---------------------------------------
|
||||
|
||||
GIT_EXT_SERVICE::
|
||||
Set to long name (git-upload-pack, etc...) of service helper needs
|
||||
@ -73,8 +73,8 @@ GIT_EXT_SERVICE_NOPREFIX::
|
||||
to invoke.
|
||||
|
||||
|
||||
EXAMPLES:
|
||||
---------
|
||||
EXAMPLES
|
||||
--------
|
||||
This remote helper is transparently used by Git when
|
||||
you use commands such as "git fetch <URL>", "git clone <URL>",
|
||||
, "git push <URL>" or "git remote add <nick> <URL>", where <URL>
|
||||
|
@ -172,24 +172,28 @@ With `-n` option, the remote heads are not queried first with
|
||||
|
||||
'prune'::
|
||||
|
||||
Deletes all stale remote-tracking branches under <name>.
|
||||
These stale branches have already been removed from the remote repository
|
||||
referenced by <name>, but are still locally available in
|
||||
"remotes/<name>".
|
||||
Deletes stale references associated with <name>. By default, stale
|
||||
remote-tracking branches under <name> are deleted, but depending on
|
||||
global configuration and the configuration of the remote we might even
|
||||
prune local tags that haven't been pushed there. Equivalent to `git
|
||||
fetch --prune <name>`, except that no new references will be fetched.
|
||||
+
|
||||
See the PRUNING section of linkgit:git-fetch[1] for what it'll prune
|
||||
depending on various configuration.
|
||||
+
|
||||
With `--dry-run` option, report what branches will be pruned, but do not
|
||||
actually prune them.
|
||||
|
||||
'update'::
|
||||
|
||||
Fetch updates for a named set of remotes in the repository as defined by
|
||||
remotes.<group>. If a named group is not specified on the command line,
|
||||
Fetch updates for remotes or remote groups in the repository as defined by
|
||||
remotes.<group>. If neither group nor remote is specified on the command line,
|
||||
the configuration parameter remotes.default will be used; if
|
||||
remotes.default is not defined, all remotes which do not have the
|
||||
configuration parameter remote.<name>.skipDefaultUpdate set to true will
|
||||
be updated. (See linkgit:git-config[1]).
|
||||
+
|
||||
With `--prune` option, prune all the remotes that are updated.
|
||||
With `--prune` option, run pruning against all the remotes that are updated.
|
||||
|
||||
|
||||
DISCUSSION
|
||||
@ -199,7 +203,7 @@ The remote configuration is achieved using the `remote.origin.url` and
|
||||
`remote.origin.fetch` configuration variables. (See
|
||||
linkgit:git-config[1]).
|
||||
|
||||
Examples
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
* Add a new remote, fetch, and check out a branch from it
|
||||
|
@ -9,7 +9,7 @@ git-repack - Pack unpacked objects in a repository
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] [--threads=<n>]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<pack-name>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -40,6 +40,11 @@ OPTIONS
|
||||
Note that users fetching over dumb protocols will have to fetch the
|
||||
whole new pack in order to get any contained object, no matter how many
|
||||
other objects in that pack they already have locally.
|
||||
+
|
||||
Promisor packfiles are repacked separately: if there are packfiles that
|
||||
have an associated ".promisor" file, these packfiles will be repacked
|
||||
into another separate pack, and an empty ".promisor" file corresponding
|
||||
to the new separate pack will be written.
|
||||
|
||||
-A::
|
||||
Same as `-a`, unless `-d` is used. Then any unreachable
|
||||
@ -90,7 +95,9 @@ other objects in that pack they already have locally.
|
||||
space. `--depth` limits the maximum delta depth; making it too deep
|
||||
affects the performance on the unpacker side, because delta data needs
|
||||
to be applied that many times to get to the necessary object.
|
||||
The default value for --window is 10 and --depth is 50.
|
||||
+
|
||||
The default value for --window is 10 and --depth is 50. The maximum
|
||||
depth is 4095.
|
||||
|
||||
--threads=<n>::
|
||||
This option is passed through to `git pack-objects`.
|
||||
@ -133,6 +140,13 @@ other objects in that pack they already have locally.
|
||||
with `-b` or `repack.writeBitmaps`, as it ensures that the
|
||||
bitmapped packfile has the necessary objects.
|
||||
|
||||
--keep-pack=<pack-name>::
|
||||
Exclude the given pack from repacking. This is the equivalent
|
||||
of having `.keep` file on the pack. `<pack-name>` is the the
|
||||
pack file name without leading directory (e.g. `pack-123.pack`).
|
||||
The option could be specified multiple times to keep multiple
|
||||
packs.
|
||||
|
||||
--unpack-unreachable=<when>::
|
||||
When loosening unreachable objects, do not bother loosening any
|
||||
objects older than `<when>`. This can be used to optimize out
|
||||
|
@ -11,6 +11,7 @@ SYNOPSIS
|
||||
'git replace' [-f] <object> <replacement>
|
||||
'git replace' [-f] --edit <object>
|
||||
'git replace' [-f] --graft <commit> [<parent>...]
|
||||
'git replace' [-f] --convert-graft-file
|
||||
'git replace' -d <object>...
|
||||
'git replace' [--format=<format>] [-l [<pattern>]]
|
||||
|
||||
@ -87,9 +88,13 @@ OPTIONS
|
||||
content as <commit> except that its parents will be
|
||||
[<parent>...] instead of <commit>'s parents. A replacement ref
|
||||
is then created to replace <commit> with the newly created
|
||||
commit. See contrib/convert-grafts-to-replace-refs.sh for an
|
||||
example script based on this option that can convert grafts to
|
||||
replace refs.
|
||||
commit. Use `--convert-graft-file` to convert a
|
||||
`$GIT_DIR/info/grafts` file and use replace refs instead.
|
||||
|
||||
--convert-graft-file::
|
||||
Creates graft commits for all entries in `$GIT_DIR/info/grafts`
|
||||
and deletes that file upon success. The purpose is to help users
|
||||
with transitioning off of the now-deprecated graft file.
|
||||
|
||||
-l <pattern>::
|
||||
--list <pattern>::
|
||||
|
@ -46,8 +46,8 @@ ref that is different from the ref you have locally, you can use the
|
||||
its remote name.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Imagine that you built your work on your `master` branch on top of
|
||||
the `v1.0` release, and want it to be integrated to the project.
|
||||
|
@ -9,7 +9,7 @@ git-rev-parse - Pick out and massage parameters
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git rev-parse' [ --option ] <args>...
|
||||
'git rev-parse' [<options>] <args>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -360,7 +360,7 @@ Example
|
||||
|
||||
------------
|
||||
OPTS_SPEC="\
|
||||
some-command [options] <args>...
|
||||
some-command [<options>] <args>...
|
||||
|
||||
some-command does foo and bar!
|
||||
--
|
||||
@ -385,7 +385,7 @@ When `"$@"` is `-h` or `--help` in the above example, the following
|
||||
usage text would be shown:
|
||||
|
||||
------------
|
||||
usage: some-command [options] <args>...
|
||||
usage: some-command [<options>] <args>...
|
||||
|
||||
some-command does foo and bar!
|
||||
|
||||
|
@ -9,7 +9,7 @@ git-send-email - Send a collection of patches as emails
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git send-email' [options] <file|directory|rev-list options>...
|
||||
'git send-email' [<options>] <file|directory|rev-list options>...
|
||||
'git send-email' --dump-aliases
|
||||
|
||||
|
||||
@ -84,6 +84,11 @@ See the CONFIGURATION section for `sendemail.multiEdit`.
|
||||
the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
|
||||
set, as returned by "git var -l".
|
||||
|
||||
--reply-to=<address>::
|
||||
Specify the address where replies from recipients should go to.
|
||||
Use this if replies to messages should go to another address than what
|
||||
is specified with the --from parameter.
|
||||
|
||||
--in-reply-to=<identifier>::
|
||||
Make the first mail (or all the mails with `--no-thread`) appear as a
|
||||
reply to the given Message-Id, which avoids breaking threads to
|
||||
@ -132,15 +137,17 @@ Note that no attempts whatsoever are made to validate the encoding.
|
||||
Specify encoding of compose message. Default is the value of the
|
||||
'sendemail.composeencoding'; if that is unspecified, UTF-8 is assumed.
|
||||
|
||||
--transfer-encoding=(7bit|8bit|quoted-printable|base64)::
|
||||
--transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)::
|
||||
Specify the transfer encoding to be used to send the message over SMTP.
|
||||
7bit will fail upon encountering a non-ASCII message. quoted-printable
|
||||
can be useful when the repository contains files that contain carriage
|
||||
returns, but makes the raw patch email file (as saved from a MUA) much
|
||||
harder to inspect manually. base64 is even more fool proof, but also
|
||||
even more opaque. Default is the value of the `sendemail.transferEncoding`
|
||||
configuration value; if that is unspecified, git will use 8bit and not
|
||||
add a Content-Transfer-Encoding header.
|
||||
even more opaque. auto will use 8bit when possible, and quoted-printable
|
||||
otherwise.
|
||||
+
|
||||
Default is the value of the `sendemail.transferEncoding` configuration
|
||||
value; if that is unspecified, default to `auto`.
|
||||
|
||||
--xmailer::
|
||||
--no-xmailer::
|
||||
@ -250,7 +257,7 @@ must be used for each option.
|
||||
|
||||
--batch-size=<num>::
|
||||
Some email servers (e.g. smtp.163.com) limit the number emails to be
|
||||
sent per session (connection) and this will lead to a faliure when
|
||||
sent per session (connection) and this will lead to a failure when
|
||||
sending many messages. With this option, send-email will disconnect after
|
||||
sending $<num> messages and wait for a few seconds (see --relogin-delay)
|
||||
and reconnect, to work around such a limit. You may want to
|
||||
@ -393,8 +400,11 @@ have been specified, in which case default to 'compose'.
|
||||
+
|
||||
--
|
||||
* Invoke the sendemail-validate hook if present (see linkgit:githooks[5]).
|
||||
* Warn of patches that contain lines longer than 998 characters; this
|
||||
is due to SMTP limits as described by http://www.ietf.org/rfc/rfc2821.txt.
|
||||
* Warn of patches that contain lines longer than
|
||||
998 characters unless a suitable transfer encoding
|
||||
('auto', 'base64', or 'quoted-printable') is used;
|
||||
this is due to SMTP limits as described by
|
||||
http://www.ietf.org/rfc/rfc5322.txt.
|
||||
--
|
||||
+
|
||||
Default is the value of `sendemail.validate`; if this is not set,
|
||||
@ -453,8 +463,8 @@ sendemail.confirm::
|
||||
one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm`
|
||||
in the previous section for the meaning of these values.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
Use gmail as the smtp server
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
To use 'git send-email' to send your patches through the GMail SMTP server,
|
||||
@ -468,16 +478,7 @@ edit ~/.gitconfig to specify your account settings:
|
||||
|
||||
If you have multifactor authentication setup on your gmail account, you will
|
||||
need to generate an app-specific password for use with 'git send-email'. Visit
|
||||
https://security.google.com/settings/security/apppasswords to setup an
|
||||
app-specific password. Once setup, you can store it with the credentials
|
||||
helper:
|
||||
|
||||
$ git credential fill
|
||||
protocol=smtp
|
||||
host=smtp.gmail.com
|
||||
username=youname@gmail.com
|
||||
password=app-password
|
||||
|
||||
https://security.google.com/settings/security/apppasswords to create it.
|
||||
|
||||
Once your commits are ready to be sent to the mailing list, run the
|
||||
following commands:
|
||||
@ -486,6 +487,11 @@ following commands:
|
||||
$ edit outgoing/0000-*
|
||||
$ git send-email outgoing/*
|
||||
|
||||
The first time you run it, you will be prompted for your credentials. Enter the
|
||||
app-specific or your regular password as appropriate. If you have credential
|
||||
helper configured (see linkgit:git-credential[1]), the password will be saved in
|
||||
the credential store so you won't have to type it the next time.
|
||||
|
||||
Note: the following perl modules are required
|
||||
Net::SMTP::SSL, MIME::Base64 and Authen::SASL
|
||||
|
||||
|
@ -99,7 +99,7 @@ be in a separate packet, and the list must end with a flush packet.
|
||||
The remote refs to update.
|
||||
|
||||
|
||||
Specifying the Refs
|
||||
SPECIFYING THE REFS
|
||||
-------------------
|
||||
|
||||
There are three ways to specify which refs to update on the
|
||||
|
@ -62,8 +62,8 @@ permissions.
|
||||
If a `no-interactive-login` command exists, then it is run and the
|
||||
interactive shell is aborted.
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
To disable interactive logins, displaying a greeting instead:
|
||||
|
||||
|
@ -8,8 +8,8 @@ git-shortlog - Summarize 'git log' output
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git shortlog' [<options>] [<revision range>] [[--] <path>...]
|
||||
git log --pretty=short | 'git shortlog' [<options>]
|
||||
'git shortlog' [<options>] [<revision range>] [[\--] <path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -69,11 +69,11 @@ them.
|
||||
ways to spell <revision range>, see the "Specifying Ranges"
|
||||
section of linkgit:gitrevisions[7].
|
||||
|
||||
[\--] <path>...::
|
||||
[--] <path>...::
|
||||
Consider only commits that are enough to explain how the files
|
||||
that match the specified paths came to be.
|
||||
+
|
||||
Paths may need to be prefixed with "\-- " to separate them from
|
||||
Paths may need to be prefixed with `--` to separate them from
|
||||
options or the revision range, when confusion arises.
|
||||
|
||||
MAPPING AUTHORS
|
||||
|
@ -173,8 +173,8 @@ The "fixes" branch adds one commit "Introduce "reset type" flag to
|
||||
The current branch is "master".
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
If you keep your primary branches immediately under
|
||||
`refs/heads`, and topic branches in subdirectories of
|
||||
|
@ -14,13 +14,27 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Read the idx file for a Git packfile created with
|
||||
'git pack-objects' command from the standard input, and
|
||||
dump its contents.
|
||||
Read the `.idx` file for a Git packfile (created with
|
||||
linkgit:git-pack-objects[1] or linkgit:git-index-pack[1]) from the
|
||||
standard input, and dump its contents. The output consists of one object
|
||||
per line, with each line containing two or three space-separated
|
||||
columns:
|
||||
|
||||
The information it outputs is subset of what you can get from
|
||||
'git verify-pack -v'; this command only shows the packfile
|
||||
offset and SHA-1 of each object.
|
||||
- the first column is the offset in bytes of the object within the
|
||||
corresponding packfile
|
||||
|
||||
- the second column is the object id of the object
|
||||
|
||||
- if the index version is 2 or higher, the third column contains the
|
||||
CRC32 of the object data
|
||||
|
||||
The objects are output in the order in which they are found in the index
|
||||
file, which should be (in a correctly constructed file) sorted by object
|
||||
id.
|
||||
|
||||
Note that you can get more information on a packfile by calling
|
||||
linkgit:git-verify-pack[1]. However, as this command considers only the
|
||||
index file itself, it's both faster and more flexible.
|
||||
|
||||
GIT
|
||||
---
|
||||
|
@ -120,8 +120,8 @@ $ git show-ref --heads --hash
|
||||
...
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
To show all references called "master", whether tags or heads or anything
|
||||
else, and regardless of how deep in the reference naming hierarchy they are,
|
||||
|
@ -9,7 +9,7 @@ git-show - Show various types of objects
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git show' [options] [<object>...]
|
||||
'git show' [<options>] [<object>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -77,7 +77,7 @@ EXAMPLES
|
||||
Concatenates the contents of said Makefiles in the head
|
||||
of the branch `master`.
|
||||
|
||||
Discussion
|
||||
DISCUSSION
|
||||
----------
|
||||
|
||||
include::i18n.txt[]
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
||||
'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]
|
||||
'git stash' branch <branchname> [<stash>]
|
||||
'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
|
||||
[-u|--include-untracked] [-a|--all] [-m|--message <message>]]
|
||||
[-u|--include-untracked] [-a|--all] [-m|--message <message>]
|
||||
[--] [<pathspec>...]]
|
||||
'git stash' clear
|
||||
'git stash' create [<message>]
|
||||
|
@ -106,14 +106,14 @@ It is optional: it defaults to 'traditional'.
|
||||
The possible options are:
|
||||
+
|
||||
- 'traditional' - Shows ignored files and directories, unless
|
||||
--untracked-files=all is specifed, in which case
|
||||
--untracked-files=all is specified, in which case
|
||||
individual files in ignored directories are
|
||||
displayed.
|
||||
- 'no' - Show no ignored files.
|
||||
- 'matching' - Shows ignored files and directories matching an
|
||||
ignore pattern.
|
||||
+
|
||||
When 'matching' mode is specified, paths that explicity match an
|
||||
When 'matching' mode is specified, paths that explicitly match an
|
||||
ignored pattern are shown. If a directory matches an ignore pattern,
|
||||
then it is shown, but not paths contained in the ignored directory. If
|
||||
a directory does not match an ignore pattern, but all contents are
|
||||
@ -130,6 +130,21 @@ ignored, then the directory is not shown, but all contents are shown.
|
||||
without options are equivalent to 'always' and 'never'
|
||||
respectively.
|
||||
|
||||
--ahead-behind::
|
||||
--no-ahead-behind::
|
||||
Display or do not display detailed ahead/behind counts for the
|
||||
branch relative to its upstream branch. Defaults to true.
|
||||
|
||||
--renames::
|
||||
--no-renames::
|
||||
Turn on/off rename detection regardless of user configuration.
|
||||
See also linkgit:git-diff[1] `--no-renames`.
|
||||
|
||||
--find-renames[=<n>]::
|
||||
Turn on rename detection, optionally setting the similarity
|
||||
threshold.
|
||||
See also linkgit:git-diff[1] `--find-renames`.
|
||||
|
||||
<pathspec>...::
|
||||
See the 'pathspec' entry in linkgit:gitglossary[7].
|
||||
|
||||
|
@ -42,8 +42,8 @@ have to use '../foo.git' instead of './foo.git' - as one might expect
|
||||
when following the rules for relative URLs - because the evaluation
|
||||
of relative URLs in Git is identical to that of relative directories).
|
||||
+
|
||||
The default remote is the remote of the remote tracking branch
|
||||
of the current branch. If no such remote tracking branch exists or
|
||||
The default remote is the remote of the remote-tracking branch
|
||||
of the current branch. If no such remote-tracking branch exists or
|
||||
the HEAD is detached, "origin" is assumed to be the default remote.
|
||||
If the superproject doesn't have a default remote configured
|
||||
the superproject is its own authoritative upstream and the current
|
||||
@ -183,12 +183,17 @@ information too.
|
||||
|
||||
foreach [--recursive] <command>::
|
||||
Evaluates an arbitrary shell command in each checked out submodule.
|
||||
The command has access to the variables $name, $path, $sha1 and
|
||||
$toplevel:
|
||||
The command has access to the variables $name, $sm_path, $displaypath,
|
||||
$sha1 and $toplevel:
|
||||
$name is the name of the relevant submodule section in `.gitmodules`,
|
||||
$path is the name of the submodule directory relative to the
|
||||
superproject, $sha1 is the commit as recorded in the superproject,
|
||||
and $toplevel is the absolute path to the top-level of the superproject.
|
||||
$sm_path is the path of the submodule as recorded in the immediate
|
||||
superproject, $displaypath contains the relative path from the
|
||||
current working directory to the submodules root directory,
|
||||
$sha1 is the commit as recorded in the immediate
|
||||
superproject, and $toplevel is the absolute path to the top-level
|
||||
of the immediate superproject.
|
||||
Note that to avoid conflicts with '$PATH' on Windows, the '$path'
|
||||
variable is now a deprecated synonym of '$sm_path' variable.
|
||||
Any submodules defined in the superproject but not checked out are
|
||||
ignored by this command. Unless given `--quiet`, foreach prints the name
|
||||
of each submodule before evaluating the command.
|
||||
@ -213,8 +218,8 @@ sync [--recursive] [--] [<path>...]::
|
||||
submodule URLs change upstream and you need to update your local
|
||||
repositories accordingly.
|
||||
+
|
||||
"git submodule sync" synchronizes all submodules while
|
||||
"git submodule sync \-- A" synchronizes submodule "A" only.
|
||||
`git submodule sync` synchronizes all submodules while
|
||||
`git submodule sync -- A` synchronizes submodule "A" only.
|
||||
+
|
||||
If `--recursive` is specified, this command will recurse into the
|
||||
registered submodules, and sync any nested submodules within.
|
||||
@ -239,6 +244,13 @@ OPTIONS
|
||||
--quiet::
|
||||
Only print error messages.
|
||||
|
||||
--progress::
|
||||
This option is only valid for add and update commands.
|
||||
Progress status is reported on the standard error stream
|
||||
by default when it is attached to a terminal, unless -q
|
||||
is specified. This flag forces progress status even if the
|
||||
standard error stream is not directed to a terminal.
|
||||
|
||||
--all::
|
||||
This option is only valid for the deinit command. Unregister all
|
||||
submodules in the working tree.
|
||||
@ -362,7 +374,15 @@ the submodule itself.
|
||||
this option will be passed to the linkgit:git-clone[1] command.
|
||||
+
|
||||
*NOTE*: Do *not* use this option unless you have read the note
|
||||
for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.
|
||||
for linkgit:git-clone[1]'s `--reference`, `--shared`, and `--dissociate`
|
||||
options carefully.
|
||||
|
||||
--dissociate::
|
||||
This option is only valid for add and update commands. These
|
||||
commands sometimes need to clone a remote repository. In this case,
|
||||
this option will be passed to the linkgit:git-clone[1] command.
|
||||
+
|
||||
*NOTE*: see the NOTE for the `--reference` option.
|
||||
|
||||
--recursive::
|
||||
This option is only valid for foreach, update, status and sync commands.
|
||||
|
@ -8,7 +8,7 @@ git-svn - Bidirectional operation between a Subversion repository and Git
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git svn' <command> [options] [arguments]
|
||||
'git svn' <command> [<options>] [<arguments>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -452,7 +452,7 @@ Any other arguments are passed directly to 'git log'
|
||||
|
||||
'commit-diff'::
|
||||
Commits the diff of two tree-ish arguments from the
|
||||
command-line. This command does not rely on being inside an `git svn
|
||||
command-line. This command does not rely on being inside a `git svn
|
||||
init`-ed repository. This command takes three arguments, (a) the
|
||||
original tree to diff against, (b) the new tree result, (c) the
|
||||
URL of the target Subversion repository. The final argument
|
||||
@ -635,7 +635,8 @@ config key: svn.findcopiesharder
|
||||
|
||||
-A<filename>::
|
||||
--authors-file=<filename>::
|
||||
Syntax is compatible with the file used by 'git cvsimport':
|
||||
Syntax is compatible with the file used by 'git cvsimport' but
|
||||
an empty email address can be supplied with '<>':
|
||||
+
|
||||
------------------------------------------------------------------------
|
||||
loginname = Joe User <user@example.com>
|
||||
@ -654,8 +655,14 @@ config key: svn.authorsfile
|
||||
If this option is specified, for each SVN committer name that
|
||||
does not exist in the authors file, the given file is executed
|
||||
with the committer name as the first argument. The program is
|
||||
expected to return a single line of the form "Name <email>",
|
||||
which will be treated as if included in the authors file.
|
||||
expected to return a single line of the form "Name <email>" or
|
||||
"Name <>", which will be treated as if included in the authors
|
||||
file.
|
||||
+
|
||||
Due to historical reasons a relative 'filename' is first searched
|
||||
relative to the current directory for 'init' and 'clone' and relative
|
||||
to the root of the working tree for 'fetch'. If 'filename' is
|
||||
not found, it is searched like any other command in '$PATH'.
|
||||
+
|
||||
[verse]
|
||||
config key: svn.authorsProg
|
||||
@ -700,7 +707,7 @@ creating the branch or tag.
|
||||
config key: svn.useLogAuthor
|
||||
|
||||
--add-author-from::
|
||||
When committing to svn from Git (as part of 'commit-diff', 'set-tree' or 'dcommit'
|
||||
When committing to svn from Git (as part of 'set-tree' or 'dcommit'
|
||||
operations), if the existing log message doesn't already have a
|
||||
`From:` or `Signed-off-by:` line, append a `From:` line based on the
|
||||
Git commit's author string. If you use this, then `--use-log-author`
|
||||
|
@ -9,7 +9,7 @@ git-tag - Create, list, delete or verify a tag object signed with GPG
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]
|
||||
'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] [-e]
|
||||
<tagname> [<commit> | <object>]
|
||||
'git tag' -d <tagname>...
|
||||
'git tag' [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
|
||||
@ -34,8 +34,8 @@ in the tag message.
|
||||
If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <keyid>`
|
||||
are absent, `-a` is implied.
|
||||
|
||||
Otherwise just a tag reference for the SHA-1 object name of the commit object is
|
||||
created (i.e. a lightweight tag).
|
||||
Otherwise, a tag reference that points directly at the given object
|
||||
(i.e., a lightweight tag) is created.
|
||||
|
||||
A GnuPG signed tag object will be created when `-s` or `-u
|
||||
<keyid>` is used. When `-u <keyid>` is not used, the
|
||||
@ -115,7 +115,7 @@ options for details.
|
||||
variable if it exists, or lexicographic order otherwise. See
|
||||
linkgit:git-config[1].
|
||||
|
||||
--color[=<when>]:
|
||||
--color[=<when>]::
|
||||
Respect any colors specified in the `--format` option. The
|
||||
`<when>` field must be one of `always`, `never`, or `auto` (if
|
||||
`<when>` is absent, behave as if `always` was given).
|
||||
@ -167,6 +167,12 @@ This option is only applicable when listing tags without annotation lines.
|
||||
Implies `-a` if none of `-a`, `-s`, or `-u <keyid>`
|
||||
is given.
|
||||
|
||||
-e::
|
||||
--edit::
|
||||
The message taken from file with `-F` and command line with
|
||||
`-m` are usually used as the tag message unmodified.
|
||||
This option lets you further edit the message taken from these sources.
|
||||
|
||||
--cleanup=<mode>::
|
||||
This option sets how the tag message is cleaned up.
|
||||
The '<mode>' can be one of 'verbatim', 'whitespace' and 'strip'. The
|
||||
|
@ -228,7 +228,7 @@ will remove the intended effect of the option.
|
||||
cleaner names.
|
||||
The same applies to directories ending '/' and paths with '//'
|
||||
|
||||
Using --refresh
|
||||
USING --REFRESH
|
||||
---------------
|
||||
`--refresh` does not calculate a new sha1 file or bring the index
|
||||
up to date for mode/content changes. But what it *does* do is to
|
||||
@ -239,16 +239,16 @@ the stat entry is out of date.
|
||||
For example, you'd want to do this after doing a 'git read-tree', to link
|
||||
up the stat index details with the proper files.
|
||||
|
||||
Using --cacheinfo or --info-only
|
||||
USING --CACHEINFO OR --INFO-ONLY
|
||||
--------------------------------
|
||||
`--cacheinfo` is used to register a file that is not in the
|
||||
current working directory. This is useful for minimum-checkout
|
||||
merging.
|
||||
|
||||
To pretend you have a file with mode and sha1 at path, say:
|
||||
To pretend you have a file at path with mode and sha1, say:
|
||||
|
||||
----------------
|
||||
$ git update-index --cacheinfo <mode>,<sha1>,<path>
|
||||
$ git update-index --add --cacheinfo <mode>,<sha1>,<path>
|
||||
----------------
|
||||
|
||||
`--info-only` is used to register files without placing them in the object
|
||||
@ -261,30 +261,27 @@ useful when the file is available, but you do not wish to update the
|
||||
object database.
|
||||
|
||||
|
||||
Using --index-info
|
||||
USING --INDEX-INFO
|
||||
------------------
|
||||
|
||||
`--index-info` is a more powerful mechanism that lets you feed
|
||||
multiple entry definitions from the standard input, and designed
|
||||
specifically for scripts. It can take inputs of three formats:
|
||||
|
||||
. mode SP sha1 TAB path
|
||||
+
|
||||
The first format is what "git-apply --index-info"
|
||||
reports, and used to reconstruct a partial tree
|
||||
that is used for phony merge base tree when falling
|
||||
back on 3-way merge.
|
||||
|
||||
. mode SP type SP sha1 TAB path
|
||||
+
|
||||
The second format is to stuff 'git ls-tree' output
|
||||
into the index file.
|
||||
This format is to stuff `git ls-tree` output into the index.
|
||||
|
||||
. mode SP sha1 SP stage TAB path
|
||||
+
|
||||
This format is to put higher order stages into the
|
||||
index file and matches 'git ls-files --stage' output.
|
||||
|
||||
. mode SP sha1 TAB path
|
||||
+
|
||||
This format is no longer produced by any Git command, but is
|
||||
and will continue to be supported by `update-index --index-info`.
|
||||
|
||||
To place a higher stage entry to the index, the path should
|
||||
first be removed by feeding a mode=0 entry for the path, and
|
||||
then feeding necessary input lines in the third format.
|
||||
@ -317,7 +314,7 @@ $ git ls-files -s
|
||||
------------
|
||||
|
||||
|
||||
Using ``assume unchanged'' bit
|
||||
USING ``ASSUME UNCHANGED'' BIT
|
||||
------------------------------
|
||||
|
||||
Many operations in Git depend on your filesystem to have an
|
||||
@ -350,7 +347,7 @@ the index (use `git update-index --really-refresh` if you want
|
||||
to mark them as "assume unchanged").
|
||||
|
||||
|
||||
Examples
|
||||
EXAMPLES
|
||||
--------
|
||||
To update and refresh only the files already checked out:
|
||||
|
||||
@ -387,7 +384,7 @@ M foo.c
|
||||
<9> now it checks with lstat(2) and finds it has been changed.
|
||||
|
||||
|
||||
Skip-worktree bit
|
||||
SKIP-WORKTREE BIT
|
||||
-----------------
|
||||
|
||||
Skip-worktree bit can be defined in one (long) sentence: When reading
|
||||
@ -407,7 +404,7 @@ Although this bit looks similar to assume-unchanged bit, its goal is
|
||||
different from assume-unchanged bit's. Skip-worktree also takes
|
||||
precedence over assume-unchanged bit when both are set.
|
||||
|
||||
Split index
|
||||
SPLIT INDEX
|
||||
-----------
|
||||
|
||||
This mode is designed for repositories with very large indexes, and
|
||||
@ -432,7 +429,7 @@ To avoid deleting a shared index file that is still used, its
|
||||
modification time is updated to the current time everytime a new split
|
||||
index based on the shared index file is either created or read from.
|
||||
|
||||
Untracked cache
|
||||
UNTRACKED CACHE
|
||||
---------------
|
||||
|
||||
This cache is meant to speed up commands that involve determining
|
||||
@ -464,7 +461,33 @@ command reads the index; while when `--[no-|force-]untracked-cache`
|
||||
are used, the untracked cache is immediately added to or removed from
|
||||
the index.
|
||||
|
||||
File System Monitor
|
||||
Before 2.17, the untracked cache had a bug where replacing a directory
|
||||
with a symlink to another directory could cause it to incorrectly show
|
||||
files tracked by git as untracked. See the "status: add a failing test
|
||||
showing a core.untrackedCache bug" commit to git.git. A workaround for
|
||||
that is (and this might work for other undiscovered bugs in the
|
||||
future):
|
||||
|
||||
----------------
|
||||
$ git -c core.untrackedCache=false status
|
||||
----------------
|
||||
|
||||
This bug has also been shown to affect non-symlink cases of replacing
|
||||
a directory with a file when it comes to the internal structures of
|
||||
the untracked cache, but no case has been reported where this resulted in
|
||||
wrong "git status" output.
|
||||
|
||||
There are also cases where existing indexes written by git versions
|
||||
before 2.17 will reference directories that don't exist anymore,
|
||||
potentially causing many "could not open directory" warnings to be
|
||||
printed on "git status". These are new warnings for existing issues
|
||||
that were previously silently discarded.
|
||||
|
||||
As with the bug described above the solution is to one-off do a "git
|
||||
status" run with `core.untrackedCache=false` to flush out the leftover
|
||||
bad data.
|
||||
|
||||
FILE SYSTEM MONITOR
|
||||
-------------------
|
||||
|
||||
This feature is intended to speed up git operations for repos that have
|
||||
@ -492,7 +515,7 @@ file system monitor is added to or removed from the index the next time
|
||||
a command reads the index. When `--[no-]fsmonitor` are used, the file
|
||||
system monitor is immediately added to or removed from the index.
|
||||
|
||||
Configuration
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
The command honors `core.filemode` configuration variable. If
|
||||
|
@ -120,7 +120,7 @@ modifications are performed. Note that while each individual
|
||||
<ref> is updated or deleted atomically, a concurrent reader may
|
||||
still see a subset of the modifications.
|
||||
|
||||
Logging Updates
|
||||
LOGGING UPDATES
|
||||
---------------
|
||||
If config parameter "core.logAllRefUpdates" is true and the ref is one under
|
||||
"refs/heads/", "refs/remotes/", "refs/notes/", or the symbolic ref HEAD; or
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user