Compare commits
2934 Commits
v2.12.5
...
v2.15.0-rc
Author | SHA1 | Date | |
---|---|---|---|
4843cdefe3 | |||
a4ebf9e0c5 | |||
e336afdfb6 | |||
39a2aeacc5 | |||
9f8468be43 | |||
660fb3dfa8 | |||
4c2224e839 | |||
e3e3c6a43e | |||
4e4a0c6e79 | |||
3087feaf98 | |||
ac86677afb | |||
b0e5269c4e | |||
eeed979e6a | |||
a116022e03 | |||
4bf90c1740 | |||
3c905ddd18 | |||
116d1d4c8e | |||
073a1fd9e4 | |||
ff35d2a998 | |||
1fa0526876 | |||
8a19eeed79 | |||
41052b11bc | |||
7f607f6bfb | |||
e1a05be9d0 | |||
9554e71f60 | |||
8e81361a0e | |||
0c521503a0 | |||
5a4ec5cb22 | |||
1c45e39809 | |||
110a642801 | |||
28a925bc51 | |||
0445bd7b55 | |||
6da2d14c8b | |||
96d14cbb91 | |||
f77196e365 | |||
7c9375db0e | |||
d9e8586056 | |||
96d4b17bd6 | |||
dd5c88a7a5 | |||
d9f5ea42ff | |||
77cdf8c6f9 | |||
01ae81e028 | |||
b8a4e894d4 | |||
16ba0f44c0 | |||
501ec0dad3 | |||
8dc1d0bf64 | |||
181f145de3 | |||
14431c717d | |||
0f213754f6 | |||
550e41c437 | |||
aec2eb8bfd | |||
6b895039f4 | |||
05e408dd1a | |||
6c9d19598d | |||
e61cb19a27 | |||
25baa8ef90 | |||
1c0b983a77 | |||
570676e011 | |||
07c4984508 | |||
27f90c25a0 | |||
83558a412a | |||
b521fd1228 | |||
33c643bb08 | |||
1d4b12fe7c | |||
2c1acdf6c9 | |||
433d62fea9 | |||
2ac9cf7aff | |||
91ccfb8517 | |||
d1114d87c7 | |||
4339c9f2df | |||
fa5ba2c1dd | |||
3247edbb1a | |||
488aa65c8f | |||
b59698aef3 | |||
111ef79afe | |||
6909bf6bd9 | |||
7245ee3d6c | |||
952cc9b9bd | |||
97cb362262 | |||
bab02c6e63 | |||
3d2a6dc936 | |||
6defdc9fe8 | |||
40abbe4306 | |||
4af0500a51 | |||
b03cd16613 | |||
54bd705a95 | |||
95649bc6f5 | |||
7cbbf9d6a2 | |||
c602d3a989 | |||
b2401586fc | |||
19716b21a4 | |||
2f0e14e649 | |||
dfab1eac23 | |||
d35688db19 | |||
43c9e7e365 | |||
2a5aa826ee | |||
932b573406 | |||
da15b78e52 | |||
5261fefa4a | |||
1f57e71fab | |||
98c03a0de8 | |||
cfa0fd0ffc | |||
bd40f41b7b | |||
aae4788eee | |||
436b35942c | |||
7823655082 | |||
9c5b2fab30 | |||
a1c1d8170d | |||
f2515d919e | |||
204f6d6987 | |||
11179eb311 | |||
b3ea7dd32d | |||
99b7b687a6 | |||
2720f6db5d | |||
03b95333db | |||
217f2767cb | |||
af66399510 | |||
d5d5295e0a | |||
6551e69fd4 | |||
e3c677fdc4 | |||
1d4a1f6452 | |||
ac67aa5fd0 | |||
e46ebc2754 | |||
efe9d6ce33 | |||
29a67ccc89 | |||
bea4dbeafd | |||
e0222159fa | |||
a9155c50bd | |||
2944a94c6b | |||
51bfb734df | |||
8262715b8e | |||
97487ea11a | |||
33f3c683ec | |||
f777623514 | |||
aebd23506e | |||
3c788e79b8 | |||
269c73e8d3 | |||
6be4595edb | |||
0c88bf5050 | |||
8126b1267c | |||
e10b3810be | |||
c5bdfe677c | |||
0fcf760e3c | |||
01c94e9001 | |||
8552972b13 | |||
a655a59595 | |||
e433749d86 | |||
8fb8a945bc | |||
4812340b78 | |||
8f2733a04b | |||
1a2e1a76ec | |||
9124cca61f | |||
9257d3d7db | |||
98c57ea6f0 | |||
5a5b8c1f01 | |||
bb3afad386 | |||
cb1083ca23 | |||
d4e93836a6 | |||
d9ec072a29 | |||
9de7ae63c5 | |||
2f777fad34 | |||
3b48045c6c | |||
b2a2c4d809 | |||
5f3108b7b6 | |||
e66d7c37a5 | |||
0e187d758c | |||
7a5edbdb74 | |||
67a20a0010 | |||
624b44d376 | |||
ced1f08b7b | |||
85cd4bb319 | |||
6f5c77a119 | |||
1bf0259a03 | |||
90dd04aaeb | |||
7099153e8d | |||
38bdf62b73 | |||
72d4a9a721 | |||
fa2bb34477 | |||
886e1084d7 | |||
9ca356fa8b | |||
84ff053d47 | |||
efbd4fdfc9 | |||
872ccb2c69 | |||
9e6fabde82 | |||
42efde4c29 | |||
30e215a65c | |||
61b2a1acaa | |||
ea220ee40c | |||
d5eec90970 | |||
69c54c7284 | |||
14a8168e2f | |||
d4d262d19e | |||
8096e1d385 | |||
8c1bc7c244 | |||
075bc9c798 | |||
5e633326e4 | |||
752414ae43 | |||
20fed7cad4 | |||
3b6e73a3b1 | |||
4da3e234f5 | |||
47d26f0a66 | |||
fdbe2ac198 | |||
3d09e79b27 | |||
73ecdc606e | |||
2812ca7f0e | |||
1ba75ffd01 | |||
376a1da839 | |||
59373a4e03 | |||
bfbc2fccfd | |||
8174645831 | |||
386dd12b55 | |||
a515136c52 | |||
2d94dd2fc6 | |||
58aaced444 | |||
27344d6a6c | |||
0bca165fdb | |||
7eb4b9d025 | |||
6e68c91410 | |||
8a1a8d2ad1 | |||
228740b67b | |||
41dcc4dccc | |||
90dca6710e | |||
61d36330b4 | |||
83a17fa83b | |||
4f665f2cf3 | |||
ea1d87560c | |||
d83d846e84 | |||
7451fcdc0d | |||
3ce08548bb | |||
a1f3515da7 | |||
88780c37b3 | |||
db2f7c48cb | |||
cff28ca94c | |||
523ee2d785 | |||
a6e19bcdad | |||
9dd389f3d8 | |||
ba1c052fa6 | |||
f3987ab36d | |||
d1cf15516f | |||
02b920f3f7 | |||
5b633610ec | |||
14b3c344ea | |||
81b9b5aea7 | |||
9cfb3dc0d1 | |||
daa45408c1 | |||
6a9bc4034a | |||
93dbefb389 | |||
c3342b362e | |||
28996cec80 | |||
0d7bdad49d | |||
3430fff768 | |||
9709ffac80 | |||
f759c873a3 | |||
48f1e49be1 | |||
6b05e611bc | |||
2bab096ef8 | |||
f05a23ae3b | |||
abdf7d8e25 | |||
450b908648 | |||
a36f631ad6 | |||
b67f154bf9 | |||
77f45395b0 | |||
d019010559 | |||
62b1cb7b13 | |||
5079cc82cb | |||
ceb7a01aac | |||
c50424a6f0 | |||
94982b6999 | |||
f5faef8525 | |||
b9db14f52e | |||
d085f9773a | |||
b0df15a15d | |||
a6304fa4c2 | |||
1a9bf1e176 | |||
c97ee171a6 | |||
c25d98b2a7 | |||
d3a44f637e | |||
c8cf423eab | |||
744c040b19 | |||
e691b027b6 | |||
54fad6614f | |||
9c03caca2c | |||
c08fd6388c | |||
4d01a7fa65 | |||
7199203937 | |||
dcb572ab94 | |||
b2ccdf7fc1 | |||
cb7b29eb67 | |||
dd1055ed59 | |||
e5435ff1fc | |||
4010f1d1b7 | |||
cef9271e01 | |||
42e6fde5c2 | |||
1df0306d9b | |||
071bcaab64 | |||
356a293f39 | |||
fddfedc361 | |||
73560c793a | |||
b2c1ca6b4b | |||
bd2c79fbfe | |||
7b1378bd95 | |||
d24813c460 | |||
1cf01a34ea | |||
d0e9983980 | |||
8968b7b0a8 | |||
cc0ea7c9e5 | |||
217bb56d4f | |||
ce82eddf12 | |||
8376eb4a8f | |||
29c0e902a8 | |||
59c0ea183a | |||
b3e8ca89cf | |||
7fa3c2ad6d | |||
1a6d46895d | |||
5de3de329a | |||
ac7da78ede | |||
6d68b2ab78 | |||
3445c3dd72 | |||
f0f7bebef7 | |||
0db625f5d6 | |||
dc732bd5cb | |||
7236a34c98 | |||
7b7bea23ac | |||
5aaa7fd39a | |||
417abfde35 | |||
697bc88581 | |||
33e75122f4 | |||
28a8d0f77a | |||
f221861e49 | |||
01e4be6c3d | |||
9ddaf86b06 | |||
4d46bce6b0 | |||
d811ba1897 | |||
17cb5f85d0 | |||
07f0542da3 | |||
6701263956 | |||
0543de438f | |||
09595ab381 | |||
df80c5760c | |||
daafb5062c | |||
c39da2c08e | |||
f2ab3a10b5 | |||
b86e112056 | |||
0517ae0ba6 | |||
281b1cf856 | |||
89563ec379 | |||
8a044c7f1d | |||
dafbe1993e | |||
30675f7021 | |||
eb066429e7 | |||
c78e182d55 | |||
b0727e2439 | |||
1f1ea329b9 | |||
cb6ec86d29 | |||
afe2fab72c | |||
da769d2986 | |||
c514167df2 | |||
dbba42bb32 | |||
19079b3e7c | |||
690307f3d1 | |||
200bc38bf5 | |||
8c4b1a3593 | |||
21dac1deee | |||
a8811695e3 | |||
36f23534ae | |||
49a03ef466 | |||
735267aa10 | |||
f0a7dc86d2 | |||
157113c614 | |||
8738a8a4df | |||
f48ecd38cb | |||
d9bd4cbb9c | |||
634eb82b1a | |||
4c95e3dd28 | |||
564bde9ae6 | |||
06f46f237a | |||
68a423ab3e | |||
efacf609c8 | |||
be94568bc7 | |||
4318094047 | |||
006f3f28af | |||
3c96aa9723 | |||
607bd8315c | |||
b3a8076e0d | |||
c788c54cde | |||
f7a32dd97f | |||
3233d51d70 | |||
ab46e6fc72 | |||
f67242c10d | |||
09f5e9746c | |||
657343a602 | |||
6867272d5b | |||
c739cd12a9 | |||
ef1d87c64b | |||
fbc01ffac7 | |||
79553b94f9 | |||
5064d66f5b | |||
7fbbd3ec0f | |||
8e36002add | |||
a48ce37858 | |||
94c9fd268d | |||
60f4851bb2 | |||
8134746d1d | |||
044aa0eb7f | |||
5e03ae4594 | |||
02a19e9a48 | |||
d2ef4bedf9 | |||
95d25c412d | |||
b3c2280960 | |||
f04f860dfa | |||
1a8a328654 | |||
b438722c06 | |||
afa6608b93 | |||
c580ce194f | |||
c7759cd60a | |||
70def2c47f | |||
822a4d4178 | |||
f35a1d75b5 | |||
8f3d48e14e | |||
036e1274a2 | |||
1eb539a9b3 | |||
ea8bf00095 | |||
78ad09403c | |||
648a50a08a | |||
27015b4f95 | |||
f1b64e8e64 | |||
8388f986b6 | |||
fbded00b0d | |||
438776e3d4 | |||
c3b931e162 | |||
e0d52ec4ab | |||
00fd0afefd | |||
0f80fb185e | |||
b3a19e060c | |||
c2e19411a7 | |||
277194a280 | |||
86c726f0d1 | |||
eba2a68f25 | |||
702239d049 | |||
c2a3bb47f0 | |||
638eb4e701 | |||
b6ec307177 | |||
276d0e35c0 | |||
3f5ef95b5e | |||
851e1fbd01 | |||
c299468bd7 | |||
c818e74332 | |||
5e00a6c873 | |||
9939b33d6a | |||
dc39e09942 | |||
6a2a7736d8 | |||
1444bfe027 | |||
22b09cdfad | |||
27d03d04d5 | |||
2fb330ca72 | |||
2775d8724d | |||
3bf4f56134 | |||
39c8df0cfe | |||
3964281524 | |||
1ab03a57e1 | |||
0e5bba53af | |||
31625b34c0 | |||
ac9b24015c | |||
a24fa65296 | |||
4db464f815 | |||
fc65b00da7 | |||
f8b863598c | |||
0b90b881e0 | |||
121e43fa53 | |||
cad0c6928e | |||
d389028695 | |||
8b604d1951 | |||
c1bb33c99c | |||
39b2f6af6e | |||
20144420c1 | |||
3bc4b8f7c7 | |||
6f49541ddb | |||
9f00492161 | |||
9a012bf32a | |||
460c7eb2bf | |||
4168be8e39 | |||
ed3f9a12d1 | |||
557d3185ee | |||
ea8e029785 | |||
872d651f52 | |||
85af9f7a02 | |||
b95c8ce8f3 | |||
e2581b7221 | |||
aeb014f6ae | |||
1f3992f4be | |||
814c4b3747 | |||
150888e273 | |||
400cd6bf22 | |||
11fa5e2a81 | |||
bad0e2c6a8 | |||
7246218667 | |||
a981a9f0e7 | |||
5a612017eb | |||
348eda249e | |||
fa842d843d | |||
f31f1d3951 | |||
f13992917b | |||
e505146dac | |||
9c18b5488e | |||
25a8f80a84 | |||
861e65557f | |||
28ac7aa79b | |||
b36474ff6b | |||
542627a4f7 | |||
1d0538e486 | |||
1fb2b636c6 | |||
f9b7573f6b | |||
afbb8838b7 | |||
e9ce897b9f | |||
6c6b08d269 | |||
baddc96b2c | |||
fe6a01af8a | |||
85b81b35ff | |||
88c6e9d31c | |||
bfffb48c5d | |||
ee4d8e455c | |||
5e7f01c93e | |||
076aa2cbda | |||
422a21c6a0 | |||
24d82185d2 | |||
102cf7a6aa | |||
6b93506696 | |||
b5f4dcb598 | |||
2933ebbac1 | |||
9b028aa45a | |||
f5b4dc7668 | |||
e6fc267314 | |||
83a3069a38 | |||
49bd0fc222 | |||
45c6b1ed24 | |||
d88ef66051 | |||
c0e963b77c | |||
0899013993 | |||
c82c75b951 | |||
3ec7d702a8 | |||
a7d7f125e3 | |||
8b36f0b196 | |||
1fb77b3ee5 | |||
150efef1e7 | |||
ef9c4dc3b6 | |||
e336bdc5b9 | |||
f991761eb8 | |||
97e64b0c94 | |||
74f1bd912b | |||
5554451de6 | |||
238e487ea9 | |||
6e6ba65a7c | |||
eabdcd4ab4 | |||
f2dd90fc1c | |||
138e52ea68 | |||
96352ef9b4 | |||
030faf2fa5 | |||
614ea03a71 | |||
2adb614902 | |||
6b8aa3294e | |||
18c88f9af6 | |||
4c3be636af | |||
a17483fcfe | |||
f6a47f9b7a | |||
06cf4f2d87 | |||
bfd91b4134 | |||
0b96358479 | |||
b6c4058f97 | |||
06cfa75675 | |||
cfdc88f1a3 | |||
d49852d6f8 | |||
4ebef533d7 | |||
67c9b42251 | |||
4043218795 | |||
4d589b87e8 | |||
98c9897d9e | |||
cbeed9aaa5 | |||
a281639262 | |||
d3b0c6bebf | |||
65eb8e0ca7 | |||
0db3dc75f3 | |||
e4905019df | |||
39b00fa4d4 | |||
873ea90d61 | |||
82a150f27a | |||
32619f99f9 | |||
acd9544a8f | |||
944b4e3013 | |||
d0c39a49cc | |||
419221c106 | |||
2e2d4040bd | |||
073cf63c52 | |||
62f0b399e0 | |||
29babbeeb3 | |||
2c616c172d | |||
be489d02d2 | |||
6c3d818154 | |||
ee394bd376 | |||
ff9445be47 | |||
cc90750677 | |||
cb2922fe4b | |||
31824d180d | |||
52f1d62eb4 | |||
3dc57ebfbd | |||
16e842bcf5 | |||
985b2cfc7b | |||
d33a433236 | |||
6ea13d8845 | |||
d1615f93ac | |||
11bd95604a | |||
bdfc15fb21 | |||
7709f468fd | |||
f9a8672a81 | |||
150e3001d0 | |||
1a1e5d4f47 | |||
d6fe0036fd | |||
a2551953b9 | |||
9e0f45f5a6 | |||
d5a1676182 | |||
f1d8130be0 | |||
3588dd6e99 | |||
7b3aa75df7 | |||
32b42e152f | |||
0abe14f6a5 | |||
e65f186242 | |||
9a42865374 | |||
97de1803f8 | |||
84f80ad5e1 | |||
3836d88ae5 | |||
f0e17e86e1 | |||
0317f45576 | |||
8e21176c3c | |||
6d6a80e068 | |||
4f39cd821d | |||
3956649422 | |||
edc74bc7f0 | |||
0f41b92c79 | |||
86bf8e45b2 | |||
df2dd28316 | |||
de55703672 | |||
b55b936038 | |||
d0dffcacf3 | |||
0869277033 | |||
e22a48c4c0 | |||
697f11b638 | |||
0d824bc7f6 | |||
d3b7ee087e | |||
752732c6d8 | |||
cdc55aad7d | |||
b9e56be086 | |||
01ced48994 | |||
0cb526e031 | |||
72140a7319 | |||
447f80f508 | |||
f613b251da | |||
ab86f93d68 | |||
883bac8f7f | |||
4add209e2c | |||
0f8472a497 | |||
45121b9e30 | |||
85c81a74e2 | |||
c3e034f0f0 | |||
3830759c1c | |||
8a43d3bae5 | |||
ef9408cfb5 | |||
76be4487f0 | |||
ad7d3c3b39 | |||
75010153e9 | |||
0ca2f3241a | |||
fa2a4bba2c | |||
7560f547e6 | |||
3c82eec8fb | |||
b8f43b120b | |||
9b0db33506 | |||
21c7c2d92d | |||
40222792fa | |||
4a4becfb23 | |||
6cdf8a7929 | |||
65961d5a75 | |||
4ff0f01cb7 | |||
9d89b35526 | |||
8e6a6bb360 | |||
62dc42b937 | |||
0c2ad00b3c | |||
5c94c93d50 | |||
6e96cb5286 | |||
5ea82279c0 | |||
e579aaa64d | |||
1ad8b47354 | |||
c277344182 | |||
780fbeba63 | |||
9662897bed | |||
f0294f474e | |||
44c2339e55 | |||
a080a5ce8d | |||
b8feb6ef23 | |||
030e2938d2 | |||
0c493966ff | |||
e2a2a1daac | |||
2d68161a23 | |||
2893137b0d | |||
3717f91c5a | |||
1168df9a9c | |||
a75ef3ff99 | |||
e45bbfc584 | |||
caa25f75be | |||
716c4699ce | |||
5c3895dfbd | |||
5498d6961e | |||
0e544bf6cd | |||
6e14df9e2f | |||
33e588083d | |||
5696eb3c09 | |||
bdfcdefd2f | |||
6cb3822cfb | |||
cd2a952458 | |||
5aa0b6c506 | |||
1016495a71 | |||
a49794d108 | |||
e2de82f271 | |||
ce012deb98 | |||
b50386c7c0 | |||
3921a0b3c3 | |||
7d5e1dc333 | |||
da77611d73 | |||
e3506559d4 | |||
98e019b067 | |||
bebfecb94c | |||
eab8bf292b | |||
15d1d0951e | |||
36f63b50e6 | |||
4e36907fa3 | |||
5a0d0c037c | |||
4e9bf3dd6d | |||
b04e6915fa | |||
c95bc226d4 | |||
8aade107dd | |||
c24f3abace | |||
24da8a26a9 | |||
5ff247ac0c | |||
c6c08f7e9a | |||
bed69a6e82 | |||
cfa5bf1608 | |||
bc65d2262d | |||
9a9340329a | |||
794b7e1674 | |||
e4933cee53 | |||
50c5cd5800 | |||
e1f68c66d5 | |||
08a8509e50 | |||
8ec617c80c | |||
2aac933c62 | |||
9c93ff7cc4 | |||
52668846ea | |||
93a6b3f234 | |||
c8d0c4fe9b | |||
3964cbbb5c | |||
36f048c5e4 | |||
f0b8fb6e59 | |||
09153277f8 | |||
2fea9de618 | |||
680ee550d7 | |||
d3ba566342 | |||
2456990dfd | |||
70ec6bd63b | |||
58311c66fd | |||
cc1735c4a3 | |||
a388b10fc1 | |||
99e09dafd7 | |||
000023961a | |||
fdbdb64f49 | |||
56c493ed1b | |||
7f0a02be2f | |||
5fc92f8828 | |||
2118805b92 | |||
6134de6ac1 | |||
9eaa858eb9 | |||
738e88a20c | |||
5c377d3d59 | |||
23b65f9528 | |||
c88bf5436d | |||
0ea5292e6b | |||
51166b8754 | |||
51f5a2b439 | |||
fed1ef9550 | |||
dd5df538b5 | |||
f18777ba6e | |||
bbffd87d32 | |||
789bf26b07 | |||
3ab0fb0646 | |||
b3622a4ee9 | |||
297872f0c2 | |||
8fbaf0b13b | |||
9c1259a0da | |||
40dc8d3dcf | |||
6d2b8a390c | |||
838eaa9a22 | |||
aec68c3dde | |||
18965625b9 | |||
9a8ff899ce | |||
a449130a00 | |||
4c244c25f0 | |||
afb456a383 | |||
4a636e7682 | |||
a6ca9ee9e0 | |||
2b473ce78c | |||
55c965f3a2 | |||
3ab01ac3f7 | |||
51b8aecabe | |||
a6f1456380 | |||
e57856502d | |||
2c40c6a77f | |||
17b1e1d76c | |||
e72ecd324c | |||
15595ce438 | |||
076eeec8be | |||
12deaf66d4 | |||
32f90258bd | |||
c2bfd0f9cb | |||
127f98f42b | |||
c7528f4d8a | |||
df422678a8 | |||
3943f6caaa | |||
896dca3ab7 | |||
83cd6f9017 | |||
642956cf45 | |||
149d8cbb2e | |||
de3ce210ed | |||
3f0a67a1f6 | |||
8abc89800c | |||
3ae6bf9265 | |||
f1068efefe | |||
0b006014c8 | |||
881529c846 | |||
1e22a9917b | |||
6355a76802 | |||
4c7fda8fc1 | |||
57ea241ef0 | |||
735285b403 | |||
1adc4b9a58 | |||
f81935cc4d | |||
f094b89a4d | |||
8957661378 | |||
4666741823 | |||
9be04d64c9 | |||
c4b71a7782 | |||
a81383badc | |||
974ce8078c | |||
29c2eda80b | |||
bed67874e2 | |||
dff2813391 | |||
4274c698f4 | |||
85df69e47e | |||
4d7268b888 | |||
230ce07d13 | |||
4384e3cde2 | |||
62ebe03b9e | |||
ddd1133c5e | |||
03c004c581 | |||
557a5998df | |||
3302871320 | |||
ff6f1f564c | |||
1b796ace7b | |||
32bc548329 | |||
078b75e99b | |||
2cc67fe54a | |||
7463e2ec3e | |||
fdfa9e97db | |||
492c6c46da | |||
ec6141a0f2 | |||
177257ccc7 | |||
595d59e2b5 | |||
ff1e72483f | |||
de121ffe57 | |||
b3ee740c82 | |||
033fe3d92c | |||
c409824cc2 | |||
ec14d4ecb5 | |||
5d34d1ac06 | |||
0159ba3226 | |||
7ba826290a | |||
0c5dc7431a | |||
f826fb799e | |||
8d8cb4b047 | |||
6f0e577e46 | |||
9b6d7a6245 | |||
5fb415b57f | |||
fd4a3f486d | |||
5556808690 | |||
9ef23f91fc | |||
5ea50954d0 | |||
a46ddc992b | |||
dcc6108c3f | |||
f9ee2fcdfa | |||
2184d4ba0c | |||
34e2ba04be | |||
91b834807b | |||
8fa2915971 | |||
f20e7c1ea2 | |||
b22e51cb26 | |||
4c0eeafe47 | |||
384a8b271c | |||
554e850170 | |||
7234152e66 | |||
e312af164c | |||
c3eb4e6bfe | |||
cf8899d285 | |||
3347e76939 | |||
a4f16749d2 | |||
e2d9c46130 | |||
c94ef19041 | |||
0baf0b839b | |||
42dbdef1ca | |||
c6767f45e3 | |||
133578a020 | |||
309ff914d5 | |||
4f77f618d9 | |||
49f1e2eb1b | |||
bc2c50fc2c | |||
483709ab4d | |||
bc9b7e207f | |||
8d44797cc9 | |||
7873fb63f8 | |||
a65a75dfd6 | |||
a7c28a2161 | |||
ac05222b31 | |||
c44a4c650c | |||
b174ae7df2 | |||
cdac2b01ff | |||
943999493f | |||
47d4ac019b | |||
3546c8d927 | |||
1f4044af7f | |||
4b8b65d706 | |||
62db524779 | |||
4e7524e012 | |||
1f180e5eb9 | |||
198b808e20 | |||
09ac673788 | |||
79e8ee89ae | |||
437d212413 | |||
12142e1bcb | |||
eb7bb1cc09 | |||
694f610d65 | |||
8430988d35 | |||
ad53bf79aa | |||
0ba9c9a0fb | |||
fa64a2fdbe | |||
7e2e1bbb24 | |||
487fe1ffcd | |||
78e7b98f45 | |||
2166cd5af0 | |||
c0bb6d9cef | |||
90dbf226ba | |||
492595cfc7 | |||
14d01b4f07 | |||
edd64ef4f7 | |||
52fc319d4d | |||
7b043d09b0 | |||
b1bb0df04b | |||
365fb9d947 | |||
5800c63717 | |||
7a40a95eb4 | |||
9e7d8a9bfb | |||
9e3958e86d | |||
1d99545f77 | |||
3db60c9132 | |||
91d443d0d8 | |||
92125538ff | |||
842e0d63aa | |||
5eada8987e | |||
2187e112d7 | |||
38351249be | |||
bae7e3f153 | |||
bdea5bae22 | |||
ba1c08942c | |||
19533e2c71 | |||
4326211593 | |||
3e05c53431 | |||
a491307448 | |||
c1e860f1dc | |||
a5956d6a56 | |||
981adb928e | |||
4f0b213699 | |||
2842e06352 | |||
e4efb39555 | |||
d5bfa469f4 | |||
099b74b4b2 | |||
29ff1f8f74 | |||
c7be7201a7 | |||
092c55d094 | |||
ad2db4030e | |||
c7b0780545 | |||
7b7c15b881 | |||
8d1549643e | |||
b7ef54f273 | |||
b18a38bfcf | |||
9902d36552 | |||
fc0fd5b23b | |||
e3fe4f7612 | |||
3a33fe5c97 | |||
ba43964d47 | |||
3f13877595 | |||
cac25fc330 | |||
764046f6b0 | |||
1115749223 | |||
a11ab576d9 | |||
33400c0e96 | |||
512f41cfac | |||
46a13857fc | |||
298082bc80 | |||
95791be750 | |||
bc17f35f8c | |||
5fdacc17c7 | |||
268ba20110 | |||
f7f6dc340e | |||
168e63554c | |||
177366415b | |||
f331ab9d4c | |||
578398071e | |||
5b114f3bb0 | |||
7780af1e8e | |||
9fb9495dae | |||
f730944a49 | |||
3ea6b85a87 | |||
425ca6710b | |||
fb04dced9c | |||
643df7e234 | |||
084b044093 | |||
ac53fe8601 | |||
321c89bf5f | |||
e82caf384b | |||
15be4a5d38 | |||
c300b1ed5b | |||
4be0deecbe | |||
a0bb553542 | |||
092bbcdf3b | |||
b8566f8ff9 | |||
cd73de4714 | |||
d1a35e5c93 | |||
aca6065c88 | |||
b61937fb62 | |||
0e2a0915b3 | |||
5b34e000f9 | |||
8696ac8e9d | |||
cbc0f81d96 | |||
f3da2b79be | |||
757e9874be | |||
c9c63ee558 | |||
91f6922544 | |||
eac97b438c | |||
11b087adfd | |||
18fb7ffc3d | |||
d75dfb1089 | |||
d8b68686a4 | |||
136c8c8b8f | |||
ab7ded34d6 | |||
29ef53cd36 | |||
aa8a5d144d | |||
18a2565016 | |||
bf285ae6db | |||
4a68e36d7d | |||
51331aad69 | |||
097b681baa | |||
5d3d0681ab | |||
2eda0102be | |||
84571760ca | |||
8b65a34c4a | |||
1997e91f4b | |||
b596b3b920 | |||
c625bf0ee8 | |||
80145b1e41 | |||
08f9c32463 | |||
55bdfa022f | |||
ecab58c65f | |||
9d21a968b2 | |||
8ba1d6616f | |||
a5a3c5afcd | |||
094aa09aa5 | |||
f056cde60e | |||
768d0fe0da | |||
536c1ec32a | |||
6fee4ca625 | |||
b5fe65fe93 | |||
0ef1a4e32a | |||
e1a4a28373 | |||
94eba456b4 | |||
b22a307946 | |||
c45af94dbc | |||
8db1ae5740 | |||
42c78a216e | |||
117ddefdb4 | |||
699d47e1d2 | |||
4aaf5b0b21 | |||
127c13aa41 | |||
8e7b78a692 | |||
5a24b4e14a | |||
362009f8cf | |||
35049a2343 | |||
a9e87e3204 | |||
76de71b487 | |||
cf77911ae5 | |||
8f3a16c390 | |||
dbcf77592a | |||
33c3c2d368 | |||
b944d7c4b5 | |||
9f6728da31 | |||
f904494574 | |||
040746c061 | |||
49771171e5 | |||
86d51bbe1a | |||
311b760b8f | |||
c4ffd78852 | |||
5e5a7cd932 | |||
4dc59cba81 | |||
e7fc60ad16 | |||
cd0391af93 | |||
0c6435a4d6 | |||
2db87328ef | |||
d73b46cfb5 | |||
9bf8e0c73d | |||
c4f70d2c90 | |||
5b5c9c3e19 | |||
f271c95cc0 | |||
566cf0b3bd | |||
ddbc8a6d3e | |||
56b5db30d0 | |||
bf1ce904b7 | |||
d0cc5796f3 | |||
01826066b0 | |||
5e8d2729ae | |||
de239446b6 | |||
d08565bf2d | |||
7f97de5ee1 | |||
7c2f08aa7a | |||
f35650dff6 | |||
822601e830 | |||
0fae1e072a | |||
5053313562 | |||
2d105451c0 | |||
7ca260abfe | |||
34d820ee33 | |||
a5b3663898 | |||
7560aacd7c | |||
82fd0f4a4b | |||
7cf686b9a8 | |||
be5982a794 | |||
e30d463d45 | |||
8aae3cf755 | |||
75afe7ac87 | |||
8b2efe2a0f | |||
6ba649e408 | |||
eb37527ab0 | |||
ccce1e51e8 | |||
2f4bcd8b70 | |||
f9b3252b2a | |||
cbb8704adb | |||
62458ea333 | |||
8f58a34cad | |||
33cc9cfc3d | |||
669638fe7a | |||
496f256989 | |||
6815d11431 | |||
56a14ea7ac | |||
152cbdc64e | |||
45dcb35f9a | |||
8d0017daa1 | |||
9ab42958f6 | |||
77bdc09786 | |||
0068cede4a | |||
7db316bcbe | |||
201c14e375 | |||
50ff9ea4a0 | |||
00b7cf2379 | |||
8e90578ffb | |||
5ab148dda0 | |||
85ce4a6828 | |||
2272d3e542 | |||
8722947e5c | |||
5453b83bdf | |||
cac87dc01d | |||
86cfd61e6b | |||
9936c1b52a | |||
9308b7f3ca | |||
02a1a42056 | |||
e5cc7d7d2b | |||
3b702239d6 | |||
8bc172e5f2 | |||
61e89eaae8 | |||
86b452e276 | |||
176841f0c9 | |||
2e2d5ac184 | |||
2841e8f81c | |||
1514c8edd6 | |||
5116f791c1 | |||
748cffc22b | |||
53ee6b8f1a | |||
ca069a3c5c | |||
9bab852f65 | |||
d5d6a44099 | |||
7e46f19a10 | |||
c7ee0baae7 | |||
5452224710 | |||
e6e045f803 | |||
146fdb0dfe | |||
30b7e1e7ef | |||
bd033291d5 | |||
0911c475c8 | |||
4eed0ebd4d | |||
f3597138df | |||
5af6ea957c | |||
4acaaa7af6 | |||
a29b0a13bd | |||
3ee8b7bfe4 | |||
f2bb1218f1 | |||
ff958679cd | |||
091f8e28b4 | |||
b9cbfde6b1 | |||
68abc6f1c7 | |||
c64b420b4c | |||
36a4cefdf4 | |||
ec33150671 | |||
dfb7728f63 | |||
f2d2a5def0 | |||
2cfb6cec94 | |||
1ecbf31d02 | |||
3da492f808 | |||
7663cdc86c | |||
c2d4b4cd06 | |||
1ceababc4c | |||
07a3d41173 | |||
b07ed4e532 | |||
885ef80d39 | |||
c7e3855112 | |||
e62ba43244 | |||
3f9c637ec7 | |||
d5f28b7241 | |||
4cebfac944 | |||
1d542a5487 | |||
b3cf1b7789 | |||
b884244c84 | |||
9364fc298a | |||
42b0a86c0e | |||
1757333410 | |||
76d8d45ffb | |||
dc4b4a61ba | |||
73fc2aadc7 | |||
fdc1ad97c1 | |||
e8906a9019 | |||
d70e9c5c8c | |||
44e5471a8d | |||
4269974179 | |||
6412757514 | |||
e0aaa1b653 | |||
aca226e6e9 | |||
6968ca9b25 | |||
54e6ce5960 | |||
e25a76721c | |||
5c83d850d0 | |||
849b44cdf1 | |||
da41c942b3 | |||
e1ec4721d6 | |||
58ec9cb35b | |||
e83e71c5e1 | |||
cd585e2a33 | |||
dfdd4afcf9 | |||
3ee83f48e5 | |||
73de1c93ad | |||
df801f3f9f | |||
e629a7d28a | |||
8c8e978f57 | |||
8992def6b3 | |||
74567ac001 | |||
77bcac3e72 | |||
8d7a6b6c85 | |||
6f0c89d08c | |||
4f7132a9be | |||
b960cd37c6 | |||
c4db75f275 | |||
0378c85644 | |||
7deb48af0f | |||
7809876866 | |||
e8d9d8b0bd | |||
a2ba37c57b | |||
50f03c6676 | |||
cda4ba30b1 | |||
f31d23a399 | |||
5812b3f73b | |||
1c3d87cf55 | |||
9bca0e5513 | |||
f3c9c8501d | |||
8af3c643d9 | |||
ef9402366c | |||
2bc81f2a83 | |||
5fd73da391 | |||
2f4af84578 | |||
6bbd512374 | |||
6ba4d62ba8 | |||
64719b115d | |||
8592c95cdf | |||
4904cbc9e1 | |||
70c49050d4 | |||
0375f472d4 | |||
5a5bd5765a | |||
55d3426929 | |||
188dce131f | |||
96dc883b3c | |||
627d9342fe | |||
69aba5329e | |||
bf12fcdf5e | |||
639e30b5b2 | |||
3b256228a6 | |||
b42b0c0919 | |||
3181d86320 | |||
543107333b | |||
f9a8a47e39 | |||
b337172c83 | |||
7aee36013a | |||
e7d72d0753 | |||
b415873282 | |||
c14c234f22 | |||
359efeffc1 | |||
bf08c8cfc1 | |||
7aee274fb4 | |||
73f192c991 | |||
25bf951381 | |||
a6d7eb2c7a | |||
8c69832d13 | |||
886dc154d8 | |||
42c7f7ff96 | |||
9051198214 | |||
49aebcf432 | |||
c8bed835c2 | |||
b7de57d8d1 | |||
42dfa7ecef | |||
3478983b51 | |||
e0cc8ac820 | |||
67be7c5a59 | |||
d13fa1a9ba | |||
38b86e81ae | |||
6dc6ba7092 | |||
0f199b1ee0 | |||
f3f9724940 | |||
38e3fe6dec | |||
cf30b3e88b | |||
f512f0f32c | |||
e70b70294e | |||
a9169f5dc2 | |||
8e821c38f7 | |||
25e0c5faf2 | |||
9c4fe0ff95 | |||
139c4596ad | |||
e0d483970b | |||
bdf55fa6b2 | |||
2f10882166 | |||
74195c69ad | |||
adf16c08cb | |||
d48034551a | |||
5402b1352f | |||
9eafe86d58 | |||
1565b18791 | |||
49a8bf2eda | |||
b21d6304f1 | |||
e77d58a94f | |||
f77149c2fb | |||
56585a2caf | |||
5779a4aa0e | |||
52ab95cfea | |||
46f32fb92c | |||
df7fd961a9 | |||
beebc6df4c | |||
cc817ca3ef | |||
4ddb1354e8 | |||
c84a1f3ed4 | |||
845b102b99 | |||
1f0c0d36c1 | |||
19fc5e84a7 | |||
2d3c02f5db | |||
d85d7ecb80 | |||
d5addcf522 | |||
968b1fe263 | |||
b24a8db14a | |||
4fced24712 | |||
674ad936bb | |||
05ec6e13aa | |||
50ad8561de | |||
06959fe0e1 | |||
a6f38c109b | |||
d04787e645 | |||
ae7e4d4fed | |||
32e0da583f | |||
7d70e6b902 | |||
b76aeae553 | |||
1ceb9dfab7 | |||
cdb866b30b | |||
90f64f1cf5 | |||
c1b5d0194b | |||
e01db917d8 | |||
03df567fbf | |||
0af85f84bd | |||
52d59cc645 | |||
c8b2cec09e | |||
5463caab15 | |||
88ce3ef636 | |||
e140f7afdd | |||
1b83d1251e | |||
6a83d90207 | |||
cf9f49ea48 | |||
d8604c747b | |||
481df65f4f | |||
8abc09c0e3 | |||
6eced3ec5e | |||
22280d7ee7 | |||
c3fbf81a85 | |||
97e2ff4643 | |||
5b948855b9 | |||
3adf9fdecf | |||
680b469e83 | |||
dc8441fdb4 | |||
a577fb5fdc | |||
d3fb71b3cb | |||
b2141fc1d2 | |||
f1c985da05 | |||
e67a57fc51 | |||
a9bcf6586d | |||
3f9c5dfb71 | |||
e4feff4898 | |||
659fef199f | |||
e2e1425107 | |||
69743f9b4f | |||
0c977dbc81 | |||
fe9e2aefd4 | |||
773a88914f | |||
285a2984bd | |||
17f2f88c9c | |||
532139940c | |||
da446109ff | |||
02a2850ad5 | |||
a393b0a4ce | |||
d0870466f6 | |||
b9a7d55d93 | |||
9743f18f3f | |||
42e731c782 | |||
3c548de378 | |||
93dd544f54 | |||
fd99e2bda0 | |||
603d52d3cc | |||
9451a7b629 | |||
87d4fdd980 | |||
e0538abaf7 | |||
cbbe1c8713 | |||
a4478c9c03 | |||
9e60e21e53 | |||
f24e079cb6 | |||
f4683b4e9c | |||
f381e428b2 | |||
8a5732c1f2 | |||
e350625b68 | |||
7a190a215d | |||
146b0ab1a5 | |||
a84f3e59eb | |||
5306ccf9e9 | |||
f587c8dcde | |||
ff020a8ab0 | |||
6510ae173a | |||
1d35e3bf05 | |||
2d407e2da1 | |||
23d6846b23 | |||
23d6236a07 | |||
1985fd68c6 | |||
312c984a02 | |||
85ab50f938 | |||
a33e0b2a77 | |||
82b474e025 | |||
d6c41c20e6 | |||
49a6d31fc8 | |||
a7609c54b3 | |||
0b1bb0c032 | |||
22fc703ec9 | |||
bb8efa1772 | |||
8b1d9136e1 | |||
479b3d9785 | |||
dffc651ed1 | |||
9ada7aee19 | |||
e35b6ac56f | |||
e0556a928f | |||
fed6ebebf1 | |||
4f2220e606 | |||
d612975e8e | |||
3b117f7301 | |||
ae52d57f0b | |||
eabb0f240c | |||
41dd4330a1 | |||
68241cb9dd | |||
16fbca07e2 | |||
8d1b10321b | |||
76339527cc | |||
6b851e536b | |||
5d184f468e | |||
7c2115aa07 | |||
d691551192 | |||
8893fd95b6 | |||
b48cbfc5e6 | |||
5a88f97cff | |||
94e327e973 | |||
02491b67f3 | |||
0e72462fb4 | |||
fda94b416e | |||
128be8767d | |||
315f49f20b | |||
66f414f885 | |||
9e5e0c289a | |||
4d77896eeb | |||
d7a7c708da | |||
9d6babb2f9 | |||
5237e0eb59 | |||
154ffeecc6 | |||
69e6b9b4f4 | |||
b3a847d1db | |||
ac935fca90 | |||
35898eafab | |||
6e9b0108c6 | |||
a12bfb2bfb | |||
583c6a2295 | |||
711a11c301 | |||
53083f8547 | |||
70f8ba5524 | |||
2c04f63405 | |||
478d3c35b0 | |||
f166aab8bf | |||
e06b421cf0 | |||
2ed824bce5 | |||
bba1c2b722 | |||
04dad2493b | |||
0d86bbdc11 | |||
b8a4652d9b | |||
86799c1c61 | |||
9a73c958d8 | |||
7dab7c5b59 | |||
f72e075e30 | |||
d0506fc419 | |||
e6f80aee29 | |||
a07148db31 | |||
00c0e40f02 | |||
fd8567c990 | |||
a207ad7081 | |||
c8c3321633 | |||
b19174e2f3 | |||
916a338754 | |||
68602c01fd | |||
f4ba3cf615 | |||
e215bd91bb | |||
5ecbaaf101 | |||
b522c33b45 | |||
e2ae5ec1f3 | |||
058d655f8f | |||
34bbe2edd4 | |||
7ba4fa5c08 | |||
970fb22dd6 | |||
8d958b97c6 | |||
aa5439d623 | |||
f305016f42 | |||
70d19a436d | |||
8a17b259e2 | |||
34a75ccb1d | |||
0501b7e785 | |||
c95f0d2f9d | |||
fb11de9ef5 | |||
6c940eb94d | |||
16b4a48fec | |||
9102f423f1 | |||
19a23d6d83 | |||
f164c1bf65 | |||
ec8455eb26 | |||
95173a5663 | |||
12435b377f | |||
c5da34c124 | |||
fe3bf4cb52 | |||
9af970339e | |||
5160b821e9 | |||
634ccf4ca3 | |||
2281b8a362 | |||
826c06412e | |||
36dcb57337 | |||
7ef0d04738 | |||
f4fd99bf6e | |||
d027b467fc | |||
e1f738c654 | |||
e2be7dd4f7 | |||
9ff15b080c | |||
ce079b9567 | |||
8e6a904dd8 | |||
b85b88141e | |||
7d26aa3230 | |||
0c79cee697 | |||
8ba74bfd7c | |||
d78d237bba | |||
6ecef7379c | |||
fd1552d59d | |||
e8dec56770 | |||
f254eab2e0 | |||
194280427d | |||
177409e589 | |||
e5b313442a | |||
13b57da833 | |||
7b8dea0c75 | |||
09fae19aa8 | |||
b9acf54dbd | |||
bd25f28876 | |||
34f3c0ebfb | |||
74014152be | |||
fb4a1c0dc8 | |||
f9704c2d82 | |||
94a0097a41 | |||
55497b8c9e | |||
c26022ea8f | |||
fcf2cfb54b | |||
362d765915 | |||
1c41c82bc4 | |||
5ee8a954e0 | |||
bb7e473971 | |||
fb61e4d3ab | |||
9ef7223058 | |||
490bc83a01 | |||
89c149f55b | |||
5dcc969e79 | |||
94da9193a6 | |||
fb95e2e38d | |||
f15e7cf5cc | |||
bfbfc9a953 | |||
fb87327aee | |||
58f4203e7d | |||
4e53d6a541 | |||
9071c078af | |||
046b48239e | |||
2c9a2ae285 | |||
a56eea28c4 | |||
66f5f6dca9 | |||
7bc2869bee | |||
f0994fa85d | |||
bb246590a1 | |||
619b6c1710 | |||
42fa0cbfe0 | |||
f3a2fffe06 | |||
1d789d0892 | |||
d7a3803f9e | |||
17f38cb704 | |||
58b75bd6db | |||
234b10d6f1 | |||
9ee4aa95db | |||
0339965c70 | |||
fa0624f79f | |||
35d802d296 | |||
663bf0439e | |||
9aa5559402 | |||
b784d0be5d | |||
02c531eba2 | |||
07d4c76005 | |||
c05e1231da | |||
ae7785de0e | |||
7d5e13f652 | |||
140921ca21 | |||
78089b71da | |||
3c5a78280f | |||
c7054209d6 | |||
dc5a18b364 | |||
b8f354f294 | |||
e83352ef23 | |||
b42b41b75a | |||
69b050eeb8 | |||
965993d1ef | |||
6f7f11f7aa | |||
2becdbd47e | |||
8d3abeada9 | |||
ee7daf6c1e | |||
529ebaa1b4 | |||
e6381080a7 | |||
ed9806014d | |||
e6f9c8d7f5 | |||
220c6a7080 | |||
15c9672345 | |||
f55734fd8c | |||
849e671b52 | |||
137a2613a0 | |||
6b526ced6f | |||
f382b756a6 | |||
a531ecf399 | |||
31fb6f4d8d | |||
4eeed27e16 | |||
f1101cefbd | |||
5f074ca7e8 | |||
2cb47ab695 | |||
c99eddd835 | |||
42471bcee4 | |||
d51c6ee0d4 | |||
a08cbcda17 | |||
be6ed3f334 | |||
44e2ff09ce | |||
ba746ff9c9 | |||
c30cf827a8 | |||
e87de7cab4 | |||
fbaceaac47 | |||
7531a2dd87 | |||
9ec726a412 | |||
6d423dd542 | |||
8df4c2953f | |||
d1edee4ada | |||
2e96d8154f | |||
967a3eaf43 | |||
68c7d2761d | |||
543f1c0cb0 | |||
6d4b5747f0 | |||
3485bea157 | |||
219e65b65c | |||
e0b9f8ae09 | |||
374166cb38 | |||
723fc5a6e1 | |||
c8f39be67e | |||
bc22d81370 | |||
3878c7a540 | |||
ef4fe5617e | |||
15d980a785 | |||
f7566f073f | |||
5118d7f4e6 | |||
382fb07f7b | |||
e9d983f116 | |||
11dc1fcb3f | |||
8e178ec4d0 | |||
e2d90fd1c3 | |||
02912f4775 | |||
23a9e0712d | |||
b0a642ac46 | |||
449456ad47 | |||
d9244ecf4f | |||
bd481de713 | |||
09002f1b31 | |||
b543bb1cdf | |||
072bf4321f | |||
f5dd754c36 | |||
dc076ae5d9 | |||
e94f77f0e2 | |||
d0d0ef1f67 | |||
6e4c9b5bcf | |||
835c49f7d1 | |||
78b06e66be | |||
8c59921dbf | |||
f23092f19e | |||
4149c1860b | |||
1f44129b21 | |||
73e1c299e5 | |||
2cf8337432 | |||
f81d70e940 | |||
84be875e61 | |||
18ec0d62ee | |||
8449528deb | |||
935202bdf4 | |||
1a31a2d98a | |||
c697136229 | |||
006a074499 | |||
9807b3d65d | |||
f84afb9c4e | |||
8265921c3c | |||
3a35cb2ea8 | |||
b84bc9c367 | |||
30d005c020 | |||
158b06caee | |||
d04ec74b17 | |||
42f5ba5bb6 | |||
18f1ad7639 | |||
101dd4de16 | |||
74e89110a3 | |||
dc944b65f1 | |||
d72cae12b9 | |||
c0a487eafb | |||
62faad5aa5 | |||
d89797feff | |||
f632dedd8d | |||
1d6c93817b | |||
ed79b2cf03 | |||
6b1db43109 | |||
80f4cd8046 | |||
e0ca1ca20a | |||
e20b5b5909 | |||
fc7a5edb55 | |||
cfe004a5a9 | |||
c1da06c6f1 | |||
0a0865b8f1 | |||
89c571da56 | |||
099a912a27 | |||
28ed9830b1 | |||
531cc4a56d | |||
8556f8d613 | |||
a552e50e5a | |||
2ced105cb1 | |||
30173b8851 | |||
8d4240d3c8 | |||
c0ca935764 | |||
00d174489e | |||
55c6bc37c9 | |||
0978f4ba7f | |||
64da41993a | |||
43a2dfde76 | |||
c759971816 | |||
b9c8e7f2fb | |||
04aea8d4df | |||
e186057138 | |||
fd2ce9c01c | |||
23739aa2b3 | |||
ca7b2ab07d | |||
b275da816c | |||
7e95fcb4b5 | |||
1eb437020a | |||
6a0bc7cf0e | |||
d13686ff4d | |||
3c980083bc | |||
e4b6ccdbff | |||
e40c0f4288 | |||
dcad9a4c87 | |||
bf32fc5664 | |||
bea1579b80 | |||
bbf504a995 | |||
fb89888849 | |||
df5bcdf83a | |||
0a81d4a559 | |||
b3487ccc0b | |||
3d7dd2d3b6 | |||
a0103914c2 | |||
b11ad029cb | |||
88b6197d0b | |||
966be95549 | |||
12fc32faa8 | |||
77f6f4406f | |||
5ee6f1a21b | |||
5d52a30eda | |||
c5813658f7 | |||
e01b4dab01 | |||
4aeb720d3f | |||
9001c1920c | |||
9e3cbc59d5 | |||
9df46763ef | |||
3eb585c112 | |||
d048cb13c2 | |||
072473e659 | |||
0ead000c3a | |||
a3ba6bf10a | |||
ba4dce784e | |||
edf3b90553 | |||
d096d7f1ef | |||
79a6226981 | |||
4ab867b8fc | |||
613a0e52ea | |||
5589e87fd8 | |||
d76650b8d1 | |||
71406ed4d6 | |||
2e397e4ddf | |||
c7018be509 | |||
3851e4483f | |||
0624c63ce6 | |||
10c78a162f | |||
b15667bbdc | |||
afc5f2ce63 | |||
5cea6ffdf2 | |||
0df3550d59 | |||
883247c2fc | |||
4875663703 | |||
c773da2e63 | |||
f0858342fe | |||
a1fdc85f41 | |||
3900254bf2 | |||
db3b1d5843 | |||
6ebfa10439 | |||
4b44b7b1df | |||
a0ab83ebd8 | |||
f767178a5a | |||
d97141b0b9 | |||
6489660b4b | |||
c5a9157393 | |||
7b0d409eb2 | |||
48a6ace8f5 | |||
e1ebb569c6 | |||
1c002d0a9e | |||
fdb69d33c4 | |||
5e68729fd9 | |||
4f2a2e9f0e | |||
99605d62e8 | |||
f514d7d177 | |||
7ddb9b2ca9 | |||
1b0b46ee3b | |||
a810ea9945 | |||
7e936842f5 | |||
e3f43ce765 | |||
c74271aae7 | |||
25cd291963 | |||
588a538ae5 | |||
d8193743e0 | |||
6963893943 | |||
9932242f59 | |||
6c48686263 | |||
08de9151a8 | |||
2249d4dbc1 | |||
cbca060e10 | |||
c08397e3aa | |||
62ca75a6b9 | |||
91de27c54a | |||
ce933ebd5a | |||
a076df2813 | |||
994cd6c7ca | |||
9d71d94d34 | |||
b8e188f6f5 | |||
3ae72a3aca | |||
0d75bfe67b | |||
b9b10d3681 | |||
c8f7c8b704 | |||
bdab972153 | |||
2c3b40799f | |||
0b8ccde958 | |||
2779f66505 | |||
614f4f0f35 | |||
8a7f8bedf3 | |||
cedf4e27de | |||
bee286f8f7 | |||
00ddc9d13c | |||
cbaf82cc6b | |||
5840eb9d14 | |||
443a12f37b | |||
b06d364310 | |||
951ea7656e | |||
961f9c8b1b | |||
60638e9816 | |||
6402d7fcd5 | |||
1fa8a66bf7 | |||
33de716387 | |||
37590ce3c5 | |||
cf5e77223a | |||
09fc7aff1a | |||
9b669787fc | |||
b7b744f297 | |||
da5a1f8100 | |||
9df4a6074a | |||
e294e8959f | |||
3f789719a6 | |||
65e2041e40 | |||
0502887d3d | |||
7cbacabc13 | |||
3e69979fe8 | |||
f172ad6275 | |||
c251c83df2 | |||
a9dbc17910 | |||
48be4c625b | |||
944cffbd18 | |||
a9b5f5bfd5 | |||
f06e90dac1 | |||
ace976b26c | |||
6f37eb7d85 | |||
4939e2c435 | |||
de37d50d76 | |||
cf93982fae | |||
654b9a905c | |||
a58a1b01ff | |||
1aa40df6b1 | |||
4417df8c49 | |||
984912989d | |||
9850fe5d95 | |||
cedfc41ac6 | |||
9fd750461b | |||
d3101b533d | |||
a92ea68fef | |||
740ee055c6 | |||
49a09e74a4 | |||
f26efc58c8 | |||
3aca1fc6c9 | |||
3e9309815d | |||
834bc47b42 | |||
e6a492b7be | |||
bc83266abe | |||
1e43ed9867 | |||
7422ab50d1 | |||
33d66df34e | |||
e92b848cb6 | |||
68ab61dd09 | |||
18b74e513d | |||
8eb9460045 | |||
1e4085a05d | |||
eee886cfb0 | |||
4322478a49 | |||
9e31eafe7e | |||
569aa376ea | |||
71f35d5cbc | |||
912c13d58f | |||
d32de66a07 | |||
2e11f58fa6 | |||
5308224633 | |||
3dc7ea91da | |||
5026b47175 | |||
7c565a6b2d | |||
6cf034e7ed | |||
bda6e82801 | |||
1efb1e9a21 | |||
43e61e7152 | |||
077a34e0b9 | |||
2d4dcf210e | |||
da6f847559 | |||
41fc6b33fc | |||
514e803944 | |||
05c2b7ba49 | |||
f0733c13ed | |||
e7b65e205a | |||
5f3296c069 | |||
5b34ba414d | |||
4db7dbdb4a | |||
5748693b91 | |||
b6b066adf9 | |||
3057da5ad5 | |||
1a845a2c88 | |||
57e0ef0e0e | |||
79e913c24a | |||
c0c70f7ac0 | |||
825b9226bf | |||
974b50c556 | |||
070e5f72d9 | |||
de950c5773 | |||
f9d7abec2a | |||
2e477d8d71 | |||
5a5221427c | |||
0d32c183b6 | |||
2c1eb10454 | |||
0ef8e169aa | |||
207a06cea3 | |||
a0bba65b10 | |||
e799ed408e | |||
473e39307d | |||
fba92be8f7 | |||
2b70e88d36 | |||
9e58becab9 | |||
98f2a687b9 | |||
ae520e3675 | |||
6f52b741a7 | |||
12cd0bf9b0 | |||
f5be008399 | |||
0efcb8b0be | |||
5c16226833 | |||
c5614772d6 | |||
72dd4a8e40 | |||
28e1aaa485 | |||
694c76f5c1 | |||
87cb7997f7 | |||
90117bda02 | |||
4fa66c85f1 | |||
7c7478f45a | |||
c8ddd2aa11 | |||
9f3e2fe9f4 | |||
741eaf7333 | |||
fa675ebd99 | |||
0e6d899fee | |||
016d66f512 | |||
6fa68ff288 | |||
218c883783 | |||
da27bc81f0 | |||
a17062cf42 | |||
6a523d6681 | |||
db4eca1fea | |||
515360f9e9 | |||
d7e6b6a8dc | |||
8bc095f7d5 | |||
4931b02f4a | |||
48713bfa2e | |||
b8607f35b1 | |||
af6730e730 | |||
511dca80cc | |||
e0a9280404 | |||
fb4e352b40 | |||
1b283377b1 | |||
aacc5c1a81 | |||
7c8d2b00f2 | |||
9a2669129c | |||
d2bbb7c2bc | |||
0998b648d6 | |||
3c0a7b9d6b | |||
373e4b091d | |||
d92dbf1934 | |||
b0f89870ea | |||
d9dfed9e47 | |||
b439747bc1 | |||
a6bb78c3b1 | |||
d1a8460caa | |||
610b233704 | |||
419fd7866c | |||
1524ccdc18 | |||
0dab2468ee | |||
28d67d9a26 | |||
78bde923f1 | |||
c3027be9d1 | |||
7f1b225153 | |||
d395745d81 | |||
5621760f59 | |||
501d3cd7b8 | |||
01e60a9a22 | |||
867e40ff3a | |||
61d4c30930 | |||
7895b2b448 | |||
9f41c7a6b3 | |||
93fdf301de | |||
75177c8591 | |||
ebdfa294c9 | |||
721f5f1e35 | |||
2e2bbb9624 | |||
f131db9e31 | |||
28f4aee3fb | |||
1e65a982da | |||
dddbad728c | |||
54fd3243da | |||
dcc3e7f5fd | |||
c4b4968397 | |||
505ad91304 | |||
44dc738a39 | |||
4d9bc37fbe | |||
40bcf3188a | |||
027a3b943b | |||
77b34eaa07 | |||
e31159746e | |||
7ba7bff629 | |||
d4592d73ef | |||
f70b541188 | |||
3961c51699 | |||
b80f629f5b | |||
6cbc478d83 | |||
864033a383 | |||
3c2312e06a | |||
c9672ba4c8 | |||
46bdfa3975 | |||
fa86d5cebe | |||
44427a0c18 | |||
da4c600730 | |||
768c7cb710 | |||
940283101c | |||
38124a40e4 | |||
64bd31b407 | |||
06478dab4c | |||
4d0912a206 | |||
4cdf3f9d84 | |||
af95749f9b | |||
3c78fd808d | |||
c061a14970 | |||
758c1f9d1b | |||
d026a25657 | |||
fa099d2322 | |||
17eff96b83 | |||
0d8a814d8a | |||
1f9e18b772 | |||
627fde1025 | |||
e2cb6ab84c | |||
5938454cbc | |||
2d646e3e1f | |||
f9096db54b | |||
a507115e29 | |||
2cef68f8e5 | |||
5000cd45d8 | |||
d2617eb984 | |||
b30cf6761a | |||
9f1384f711 | |||
d7f8a37852 | |||
5bceab4113 | |||
cdfe138b36 | |||
8868ba1962 | |||
8b6bba6663 | |||
a2e2c04683 | |||
4c01f67d91 | |||
848d9a9bb7 | |||
6b51cb6181 | |||
db7ed0f20c | |||
cb71f8bdb5 | |||
1aeb7e756c | |||
a96d3cc3f6 | |||
60e71bbcea | |||
35b96d1de8 | |||
723c1d526f | |||
df4c0d1a79 | |||
94ad57c893 | |||
dfc182b139 | |||
efac8ac84b | |||
a07fb0507f | |||
e467dc148d | |||
be4ca29057 | |||
613416f0be | |||
d656218a83 | |||
6c0c704237 | |||
f991c620a6 | |||
02ba23f970 | |||
e52a53df38 | |||
5d2993b6ea | |||
16d2676c9e | |||
8c2ca3a6d6 | |||
d9c69644b2 | |||
ca03e0670c | |||
c10388c7dc | |||
f5d284f6df | |||
ccef2bb5fa | |||
507e6e9eec | |||
45afb1ca9c | |||
e503cd6ed3 | |||
53fa6753b3 | |||
79319b1949 | |||
db015a284e | |||
ae25394b4c | |||
3a30033327 | |||
e3a434468f | |||
3967e25be1 | |||
c2d3119d7b | |||
6a2c2f8d34 | |||
8377f34540 | |||
5feb8b8429 | |||
c96e3ce625 | |||
c2cbb30fc0 | |||
442136f742 | |||
2f9dfb83d7 | |||
df3b119265 | |||
eb3af74e93 | |||
5ab8f2261f | |||
52d77af463 | |||
34130cc06b | |||
a06380be54 | |||
7203bafa88 | |||
74a74beee9 | |||
872e2cf00a | |||
b1081e4004 | |||
c703555cc8 | |||
b986df5c35 | |||
06b6d81b79 | |||
e5494631ed | |||
350d870143 | |||
61e282425a | |||
8d3047cd5b | |||
f17d642d3b | |||
e145a0bc9b | |||
1fd1a919ce | |||
f2d48994dc | |||
823bab09c6 | |||
cd279e2e1b | |||
9f79524a6a | |||
5781a9a270 | |||
da25bdb776 | |||
c9d4999155 | |||
2cfe66a8ee | |||
372b050b6b | |||
7ba1ceef95 | |||
2185fde563 | |||
c48f4b379e | |||
2e5d6503bd | |||
8e2c7bef03 | |||
731eb176a3 | |||
fa1912c89a | |||
be686f03e0 | |||
1cec9c2db2 | |||
733e064d98 | |||
584f8975d2 | |||
7b612c966e | |||
c8a8951ce5 | |||
3817d631de | |||
1776a710d6 | |||
263fd041a8 | |||
97d9e97941 | |||
dfe46c5ce6 | |||
3c833cae44 | |||
93a96cced3 | |||
cb054eb264 | |||
f890db83ee | |||
50c2d8555b | |||
1710fbafb6 | |||
059ae35a48 | |||
a714b19ca8 | |||
86f423584b | |||
5c7bba77b2 | |||
e3bf2989ca | |||
df30875987 | |||
e00d1a4ff7 | |||
7c22bc8a18 | |||
958f964691 | |||
9fc3b06311 | |||
bc1c696e89 | |||
a3ade2baba | |||
524a9fdb51 | |||
b05855b5bc | |||
0747fb49fd | |||
ac8ce18d89 | |||
0fb3c4fc9a | |||
b7cc7051f7 | |||
eff451101d | |||
78871bf46f | |||
3d553cceb5 | |||
cf9e55f494 | |||
bccb22cbb1 | |||
0c064d907b | |||
a560d87033 | |||
d8f4481c4f | |||
eaeed077a6 | |||
360244a51a | |||
ef09036cf3 | |||
5ce10c0a29 | |||
7861fa07c3 | |||
22e5ae5c8e | |||
d8245bb3fd | |||
912b0ab149 | |||
a6e6976142 | |||
159e6010c2 | |||
d12a8cf0af | |||
a6db3fbb6e | |||
950a234cbd | |||
a33fc72fe9 | |||
be4dbbbed9 | |||
86f9515708 | |||
4aad2f1627 | |||
210e5dba0b | |||
e121b9cb5f | |||
470be51862 | |||
68fb02e40d | |||
adac8115a6 | |||
2269e2a878 | |||
16feb99d54 | |||
80f2a6097c | |||
7c744782ab | |||
2f40e95472 | |||
c0fe4e8ba3 | |||
7d2df051d0 | |||
18d0002d6d | |||
9e7ec634a1 | |||
3e8b7d3c77 | |||
37ee680d9b | |||
9af7ec30cb | |||
0301f1fd92 | |||
35ad44cbd8 | |||
882add136f | |||
47242cd103 | |||
85999743e7 | |||
ae51d91105 | |||
57415089bd | |||
845eec2b64 | |||
e3482ccf27 | |||
fd1062e52e | |||
06bf4ad1db | |||
93481a6b89 | |||
c19ae47a79 | |||
2a90556dde | |||
cf11a67975 | |||
71e38d40e9 | |||
77a24b7dc4 | |||
d9758cf81c | |||
d1d3d46146 | |||
17b254cda6 | |||
54cc8aca60 | |||
60b091c679 | |||
be6ed145de | |||
51054177b3 | |||
93cff9a978 | |||
fba275dc93 | |||
2a1bd45b2e | |||
8668976b53 | |||
e239dabb14 | |||
910650d2f8 | |||
1b7ba794d2 | |||
5d3206d501 | |||
4ce3621a6d | |||
98a72ddc12 | |||
6a97da3964 | |||
07af889136 | |||
8c5acfb923 | |||
1a168e5c86 | |||
0dc3b035e0 | |||
5b1ef2cef4 | |||
446d5d9112 | |||
903fc7da44 | |||
cddac45219 | |||
3818b258dc | |||
6cd4a8982d | |||
7f897b6f17 | |||
1412f762e0 | |||
b0ceab98d7 | |||
977db6b4bf | |||
b14f27f917 | |||
876eb616d3 | |||
e711824c5e | |||
cd49f9bfb8 | |||
4b945eea40 | |||
3e8ff5e4f3 | |||
42e1cc517b | |||
e7cbfd98e3 | |||
de8a8ed155 | |||
49a8fe8e96 | |||
3736c92558 | |||
ccf680dea3 | |||
bf650608be | |||
a93dcb0a56 | |||
7a09a61e66 | |||
1fdbfc443e | |||
0730dd4ffb | |||
c105f563d1 | |||
40069d6e3a | |||
6362ed0b29 | |||
dd6962dd73 | |||
ef1e74065c | |||
0041bf6544 | |||
c59c4939c2 | |||
f5c2bc2b96 | |||
4aa7d75e48 | |||
594fa9998c | |||
892e723afd | |||
e1104a5ee5 | |||
e471fa3405 | |||
62dc8b5fbc | |||
0330344e0f | |||
53a0f9f7ad | |||
f494890292 | |||
e779b0f070 | |||
6a5ff7acb5 | |||
a612436f14 | |||
e394fa01d6 | |||
ff8b7e63de | |||
029aeeed55 | |||
ee3051bd23 | |||
f9b11147e0 | |||
2eb80bcdcc | |||
d2b7d9c7ed | |||
d2ee11859c | |||
57836f10ad | |||
9e1d7087dc | |||
365c27fbff | |||
9c44ea4403 | |||
f2214dede9 | |||
5a8e7c3466 | |||
b92ff6e814 | |||
789b3effec | |||
7d5a38b61f | |||
646c3bd1ad | |||
e0ef7fe78c | |||
3d6586d100 | |||
b43942b333 | |||
844768a298 | |||
4e87565d2a | |||
4a2b50a1e3 | |||
a026bde1ac | |||
09fb53568e | |||
c473af7396 | |||
980ee77638 | |||
2bef9beaf6 | |||
244ea1b5e4 | |||
5d0bc90e5d | |||
bbbb7de7ac | |||
077be78d7f | |||
378dc9103a | |||
126c9e0576 | |||
9476c6ed3d | |||
24c8407e0a | |||
f57f37e2e1 | |||
19e02f4f46 | |||
802de3da07 | |||
a5c1efd693 | |||
e9dcc3054f | |||
0a3f07d6c0 | |||
33dfb9f3f2 | |||
1eab194bf0 | |||
4f43731268 | |||
11f8457fb9 | |||
5c896f7c3e | |||
fcecf0b968 | |||
af6865a7f1 | |||
64f9a946f0 | |||
d0d7fed1a2 | |||
14bb40b3f0 | |||
9c4b0f66aa | |||
cd02599c48 | |||
dc01505f7f | |||
5028bf628c | |||
a54e938e5b | |||
48a96972fd | |||
4473060bc2 | |||
7e71542e8b | |||
034667a458 | |||
ea5b2dd28f | |||
48b3693d3c | |||
fa13fd174f | |||
8b47c5de96 | |||
bedbeb1bb3 | |||
3bf7d37a7d | |||
bbde4a987d | |||
0efeb5ca12 | |||
6756b58ebc | |||
78cf8efec3 | |||
2c5e2865cc | |||
7202a6fa87 | |||
98718242cf | |||
614b19542f | |||
75057691be | |||
783b829287 | |||
ac3f5a3468 | |||
1e0c3b680c | |||
6a338149f6 | |||
c485b24c42 | |||
eab98ee5ab | |||
bf748049f5 | |||
df2a6e38b7 | |||
41b3eb4a6b | |||
89c3b0ad43 | |||
ea19489532 | |||
846df809bc | |||
940a911f8e | |||
75ec4a6cb0 | |||
b66f3b6bba | |||
99a64e4b73 | |||
41d2716cdc | |||
2f779f9176 | |||
7826a7865c | |||
3e5b36c637 | |||
f364f02724 | |||
a42e1b4194 | |||
227307a639 | |||
745d655dc9 | |||
fef56eb006 | |||
400a7553c4 | |||
824388d54b | |||
e8cb023433 | |||
e896369beb | |||
b2b6811451 | |||
3ad8ea7ccc | |||
aed3881359 | |||
aa0644f74f | |||
2ea328a119 | |||
15b4a16395 | |||
4f4458aafa | |||
7ac04f1398 | |||
682b29f90d | |||
4612edc639 | |||
b643827b94 | |||
511155db51 | |||
eb7b9749f2 | |||
57f82f4f60 | |||
c1d44cee95 | |||
e0e7f99ea4 | |||
869fb8f729 | |||
1790f4fea0 | |||
0607e10009 | |||
f75619bd6d | |||
16f9b4cdd3 | |||
cb7fb9ed42 | |||
b0176ce6b5 | |||
afd6726309 | |||
92f74a6192 | |||
fbcfbc4d5d | |||
b7b57b1434 | |||
9f43095e46 | |||
8a3ff8560c | |||
434a7764ba | |||
4b7989b103 | |||
45cbc37c5f | |||
e15b960655 | |||
cbfbf443b0 | |||
fc6b5f523a | |||
2ee0056779 | |||
17d6c744dc | |||
8881d35cac | |||
b084060921 | |||
0488792d2e | |||
3b754eedd5 | |||
af10e8b155 | |||
e4da43b1f0 | |||
116fb64e43 | |||
598019769c | |||
a1be47e4ca | |||
2405ed07ca | |||
e063e5d7da | |||
cd81af4bd7 | |||
3e5584ca61 | |||
f950e89fc4 | |||
c0f9c70589 | |||
0e758ac5a8 | |||
504c4d42db | |||
2225e1ea20 | |||
1b614c07d2 | |||
1f8d711548 | |||
bb62e0a99f | |||
3e7eaed016 | |||
a086f921a7 | |||
5ab72271e1 | |||
9d77b0405c | |||
9c96637163 | |||
a0393a298f | |||
81944e9b54 | |||
58e97730d9 | |||
153e0d762c | |||
2af882be01 | |||
f6c64c648a | |||
60cf6cd71a | |||
3edcc04862 | |||
e1fae93019 | |||
0a4ae91d1c | |||
0bb80ab090 | |||
94c9b5af70 | |||
379642bcd8 | |||
b2dfeb7c00 | |||
e4770f67d1 | |||
be80a2392f | |||
b58a68c1c1 | |||
4fb1c6aad8 | |||
612c49e94d | |||
60759baac1 | |||
ee92ab992f | |||
25b31f1b73 | |||
e7849a9677 | |||
6dc9f01f33 | |||
5c2bd8b77a | |||
e6b07da278 | |||
f5f5e7f06c | |||
8325e43b82 | |||
9942921301 | |||
c0c20060af | |||
45a574eec8 | |||
28dc98e343 | |||
25804914fa | |||
1fc458d958 | |||
6d14eac3ec | |||
a7bc845a9a | |||
d6b1230067 | |||
6e3c1595c6 | |||
202275b96b | |||
32c43f595f | |||
6cd5757c89 | |||
84f8925eeb | |||
cf055e465f | |||
d601fd0957 | |||
15cdc64776 | |||
259f3ee296 | |||
03c7e2a321 | |||
2f70edccb4 | |||
a70ef2dac4 | |||
eb41e7feed | |||
4682085cd4 | |||
365444a6a5 | |||
9f0b4dd0b8 | |||
b16a991c1b | |||
18ec800512 | |||
98fde5e47b | |||
8d8061d642 | |||
f18f816cb1 | |||
4a9b9b32d4 | |||
0737780171 | |||
d6857a831c | |||
130b664e44 | |||
519592bcc6 | |||
5296357386 | |||
228b78752d | |||
07198afbd1 | |||
c809496c97 | |||
7c3b2034ed | |||
5c4003ca3f | |||
751d3b9415 | |||
01017dce54 | |||
1a6ec1eb38 | |||
1a27409ae8 | |||
267b4538c0 | |||
0654aa57f3 | |||
16ac8b8db6 | |||
ce9b8aab5d | |||
df380d58ec | |||
7288e12cce | |||
c5af19f9ab | |||
b0db704652 | |||
e7f136bf93 | |||
d6db3f2165 | |||
ff3898649b | |||
60f335b87f | |||
6c621015f2 | |||
cb36508ac5 | |||
36d5286f68 | |||
271513cd54 | |||
ba37c92df9 | |||
fb070d2f17 | |||
033328a5dc | |||
3efd0bedc6 | |||
1050e9874b | |||
df0233be96 | |||
625568cd88 | |||
0a24610680 | |||
44c3f09fa5 | |||
ae900ebd71 | |||
fb907176de | |||
5886e75489 | |||
9664cef1eb | |||
d0f549f403 | |||
92718f57c2 | |||
ea1e784c47 | |||
fc32293502 | |||
82682e218a | |||
98c96f8bff | |||
11cfc0ef96 | |||
963792ed27 | |||
3406129900 | |||
a729e4671a | |||
066c38ca17 | |||
2f54451ff5 | |||
a91aca44bf | |||
d344d1cb8a | |||
a0262c51d0 | |||
4d4bc41411 | |||
ac5bbc02b8 | |||
bf0231c661 | |||
6c1e654437 | |||
e0688e9b28 | |||
b46013950a | |||
b2dd1c5c34 | |||
c3a0082502 | |||
de6ae5f9e3 | |||
c0441f7ef3 | |||
b968372279 | |||
551d535d72 | |||
860cd699c2 | |||
6d167fd7cc | |||
77d67977ca | |||
0d59ffb47e | |||
6a5e6f5e44 | |||
e77cf4ee65 | |||
fcdbd9540b | |||
e6a1dd77e1 | |||
72dcb7b360 | |||
13c0e4c478 | |||
66f9e7a6e8 | |||
b8923bf611 | |||
6cc1053375 | |||
4392531211 | |||
cef4fc7ebe | |||
1f44b09b58 | |||
5662176313 | |||
f60ef2d65f | |||
8ffc8dc6ba | |||
9e140909f6 | |||
1ada5020b3 | |||
df6bba0937 | |||
d1b3b81aab | |||
3bc53220cb | |||
3e5c63943d | |||
c13c783c9d | |||
3f7ebc6ece | |||
9720b30247 | |||
39b8980bb9 | |||
b760481a3f | |||
036465a248 | |||
b4ca5d05e7 | |||
74a772774d | |||
ace83dc26a | |||
c96bc189b5 | |||
c7e234fc38 | |||
466be3e1de | |||
be6ab596a8 | |||
098ed50e8a | |||
a04855bae8 | |||
fdeb89fdeb | |||
015fba3834 | |||
fb75e31761 | |||
b9c2919f9b | |||
93e8cd8b6e | |||
a411726930 | |||
74aabf41ce | |||
3ad8b5bf26 | |||
538569bc8a | |||
1b324988ac | |||
e86ab2c1cd | |||
d0ae910af4 | |||
76c1d9a096 | |||
068f85e313 | |||
43bc3b6cee | |||
9461d27240 | |||
8ebc3fd01b | |||
cea4332e54 | |||
2928325fc0 | |||
52684310ba | |||
ddc2cc64e1 | |||
0c77cd24f8 | |||
1db1108654 | |||
175ccdcf2a | |||
273f8ee8c0 | |||
6439b5d941 | |||
5f5e936d4a | |||
39ee4c6c2f | |||
893dbf5ba1 | |||
de922669ab | |||
755b49ae96 | |||
8066df4194 | |||
605f430efb | |||
9ca6326dff | |||
6f5ccd4df5 | |||
f5727e26e4 | |||
098aa86762 | |||
5de8a549b4 | |||
cccf97d6ca | |||
3c0cb0cbae | |||
c977eefd55 | |||
3ba042017a | |||
e596acc23a | |||
486c8e8c6a | |||
859b7f1d0e | |||
42ebeb9d07 | |||
9c7d772b6b | |||
fbfd0a2915 | |||
32c597e7b2 | |||
7d4558c462 | |||
ba88add581 | |||
b4f540b6ce | |||
c468da4e27 | |||
620a66b9e2 | |||
18633e1a22 | |||
4557f1add2 | |||
df8512ede8 | |||
63d428e656 | |||
8b24b9e765 | |||
fea6c47f2f | |||
ab6eea6f7b | |||
29c2bd5fa8 | |||
41a078c60b | |||
a10a17877b | |||
2429d63a46 | |||
5e8c968c64 | |||
ece657f399 | |||
3a1345af28 | |||
44a6b6ce17 | |||
fad9484f0a | |||
beb6ee7163 | |||
a958d40f4e | |||
e15098a314 | |||
1cd23e9e05 | |||
80ac0744b1 | |||
a2f5a87626 | |||
336d694ce4 | |||
7b329b9dab | |||
91b7ea81e8 | |||
62a1b73216 | |||
69a775963b | |||
5c12f642df | |||
3bcb41f976 | |||
a2f03b0ec8 | |||
fb9cd42042 | |||
8f0fa85d4d | |||
f611440811 | |||
eac90623bd | |||
e5edbef48d | |||
be6fbdb545 | |||
f0dd042148 | |||
0787dafdcc | |||
dc81cf377c | |||
e810e06357 | |||
60a12722ac | |||
685b292575 | |||
1a600b7555 | |||
428103c7f1 | |||
6bc2e3f709 | |||
1295c21524 | |||
2aef63d31c | |||
7f8641112d | |||
37293768d0 | |||
7bd18054d2 | |||
7d42ec547c | |||
faa4e8ceb5 | |||
4c0ce0742b | |||
860a74d9d9 | |||
62af896979 | |||
ec4d77aa50 | |||
4b0c696167 | |||
034d35c9aa | |||
6f416cbaff | |||
5a8840194b | |||
4894f4ffce | |||
263434f20c | |||
9c9b03b1f1 | |||
a272b9e70a | |||
af99049ca9 | |||
dd33e07766 | |||
e2824e47e7 | |||
3d9e4ce3eb | |||
949af0684c | |||
56b43607f9 | |||
6eac70fa63 | |||
1a34728e6b | |||
1a0ca5e358 | |||
3ec6e6e8a0 | |||
3e6a0e64a4 | |||
33439956b7 | |||
b26d87f2da | |||
6a4f3a9edc | |||
e9d9a8a4d2 | |||
77d21f29ea | |||
43f8080eaf | |||
96415b49dc | |||
290be6674a | |||
746df946f3 | |||
e670fce17f | |||
3202c68ee0 | |||
2c1b06dff9 | |||
4a68748893 | |||
540d3eb0eb | |||
3a42980f9e | |||
17938f171f | |||
3ba308cb4b | |||
a798410184 | |||
b180e6fe19 | |||
01f95825d5 | |||
7743fcca5b | |||
ffd921d311 | |||
99c6a71d4f | |||
d4919bb288 | |||
42d0eb05ee | |||
4f3e3b37fa | |||
c58fc85692 | |||
c58492d434 | |||
446397774a | |||
a8f0db2d99 | |||
8bdaecb402 | |||
730e034286 | |||
ce0af24de0 | |||
0e81d016f1 | |||
fc31955294 | |||
4533e5343b | |||
87b21e05ed | |||
e404f459fd | |||
1fb0c80985 | |||
854bda6b4f | |||
81b1b6d4ff | |||
990c98d2bd | |||
6a7f363170 | |||
3b5d3c9848 | |||
e5007a6820 | |||
177978f56a | |||
204a047f23 | |||
029443070a | |||
2eb7a0e5e4 | |||
15ee2c72e7 | |||
583643248a | |||
b1ef400eec | |||
b4391657ed |
169
.clang-format
Normal file
169
.clang-format
Normal file
@ -0,0 +1,169 @@
|
||||
# This file is an example configuration for clang-format 5.0.
|
||||
#
|
||||
# Note that this style definition should only be understood as a hint
|
||||
# for writing new code. The rules are still work-in-progress and does
|
||||
# not yet exactly match the style we have in the existing code.
|
||||
|
||||
# Use tabs whenever we need to fill whitespace that spans at least from one tab
|
||||
# stop to the next one.
|
||||
UseTab: Always
|
||||
TabWidth: 8
|
||||
IndentWidth: 8
|
||||
ContinuationIndentWidth: 8
|
||||
ColumnLimit: 80
|
||||
|
||||
# C Language specifics
|
||||
Language: Cpp
|
||||
|
||||
# Align parameters on the open bracket
|
||||
# someLongFunction(argument1,
|
||||
# argument2);
|
||||
AlignAfterOpenBracket: Align
|
||||
|
||||
# Don't align consecutive assignments
|
||||
# int aaaa = 12;
|
||||
# int b = 14;
|
||||
AlignConsecutiveAssignments: false
|
||||
|
||||
# Don't align consecutive declarations
|
||||
# int aaaa = 12;
|
||||
# double b = 3.14;
|
||||
AlignConsecutiveDeclarations: false
|
||||
|
||||
# Align escaped newlines as far left as possible
|
||||
# #define A \
|
||||
# int aaaa; \
|
||||
# int b; \
|
||||
# int cccccccc;
|
||||
AlignEscapedNewlines: Left
|
||||
|
||||
# Align operands of binary and ternary expressions
|
||||
# int aaa = bbbbbbbbbbb +
|
||||
# cccccc;
|
||||
AlignOperands: true
|
||||
|
||||
# Don't align trailing comments
|
||||
# int a; // Comment a
|
||||
# int b = 2; // Comment b
|
||||
AlignTrailingComments: false
|
||||
|
||||
# By default don't allow putting parameters onto the next line
|
||||
# myFunction(foo, bar, baz);
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
|
||||
# Don't allow short braced statements to be on a single line
|
||||
# if (a) not if (a) return;
|
||||
# return;
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: false
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
|
||||
# By default don't add a line break after the return type of top-level functions
|
||||
# int foo();
|
||||
AlwaysBreakAfterReturnType: None
|
||||
|
||||
# Pack as many parameters or arguments onto the same line as possible
|
||||
# int myFunction(int aaaaaaaaaaaa, int bbbbbbbb,
|
||||
# int cccc);
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
|
||||
# Attach braces to surrounding context except break before braces on function
|
||||
# definitions.
|
||||
# void foo()
|
||||
# {
|
||||
# if (true) {
|
||||
# } else {
|
||||
# }
|
||||
# };
|
||||
BreakBeforeBraces: Linux
|
||||
|
||||
# Break after operators
|
||||
# int valuve = aaaaaaaaaaaaa +
|
||||
# bbbbbb -
|
||||
# ccccccccccc;
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeTernaryOperators: false
|
||||
|
||||
# Don't break string literals
|
||||
BreakStringLiterals: false
|
||||
|
||||
# Use the same indentation level as for the switch statement.
|
||||
# Switch statement body is always indented one level more than case labels.
|
||||
IndentCaseLabels: false
|
||||
|
||||
# Don't indent a function definition or declaration if it is wrapped after the
|
||||
# type
|
||||
IndentWrappedFunctionNames: false
|
||||
|
||||
# Align pointer to the right
|
||||
# int *a;
|
||||
PointerAlignment: Right
|
||||
|
||||
# Don't insert a space after a cast
|
||||
# x = (int32)y; not x = (int32) y;
|
||||
SpaceAfterCStyleCast: false
|
||||
|
||||
# Insert spaces before and after assignment operators
|
||||
# int a = 5; not int a=5;
|
||||
# a += 42; a+=42;
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
|
||||
# Put a space before opening parentheses only after control statement keywords.
|
||||
# void f() {
|
||||
# if (true) {
|
||||
# f();
|
||||
# }
|
||||
# }
|
||||
SpaceBeforeParens: ControlStatements
|
||||
|
||||
# Don't insert spaces inside empty '()'
|
||||
SpaceInEmptyParentheses: false
|
||||
|
||||
# The number of spaces before trailing line comments (// - comments).
|
||||
# This does not affect trailing block comments (/* - comments).
|
||||
SpacesBeforeTrailingComments: 1
|
||||
|
||||
# Don't insert spaces in casts
|
||||
# x = (int32) y; not x = ( int32 ) y;
|
||||
SpacesInCStyleCastParentheses: false
|
||||
|
||||
# Don't insert spaces inside container literals
|
||||
# var arr = [1, 2, 3]; not var arr = [ 1, 2, 3 ];
|
||||
SpacesInContainerLiterals: false
|
||||
|
||||
# Don't insert spaces after '(' or before ')'
|
||||
# f(arg); not f( arg );
|
||||
SpacesInParentheses: false
|
||||
|
||||
# Don't insert spaces after '[' or before ']'
|
||||
# int a[5]; not int a[ 5 ];
|
||||
SpacesInSquareBrackets: false
|
||||
|
||||
# Insert a space after '{' and before '}' in struct initializers
|
||||
Cpp11BracedListStyle: false
|
||||
|
||||
# A list of macros that should be interpreted as foreach loops instead of as
|
||||
# function calls.
|
||||
ForEachMacros: ['for_each_string_list_item']
|
||||
|
||||
# The maximum number of consecutive empty lines to keep.
|
||||
MaxEmptyLinesToKeep: 1
|
||||
|
||||
# No empty line at the start of a block.
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
|
||||
# Penalties
|
||||
# This decides what order things should be done if a line is too long
|
||||
PenaltyBreakAssignment: 10
|
||||
PenaltyBreakBeforeFirstCallParameter: 30
|
||||
PenaltyBreakComment: 10
|
||||
PenaltyBreakFirstLessLess: 0
|
||||
PenaltyBreakString: 10
|
||||
PenaltyExcessCharacter: 100
|
||||
PenaltyReturnTypeOnItsOwnLine: 5
|
||||
|
||||
# Don't sort #include's
|
||||
SortIncludes: false
|
8
.gitattributes
vendored
8
.gitattributes
vendored
@ -1,3 +1,9 @@
|
||||
* whitespace=!indent,trail,space
|
||||
*.[ch] whitespace=indent,trail,space diff=cpp
|
||||
*.sh whitespace=indent,trail,space
|
||||
*.sh whitespace=indent,trail,space eol=lf
|
||||
*.perl eol=lf
|
||||
*.pm eol=lf
|
||||
/Documentation/git-*.txt eol=lf
|
||||
/command-list.txt eol=lf
|
||||
/GIT-VERSION-GEN eol=lf
|
||||
/mergetools/* eol=lf
|
||||
|
19
.github/CONTRIBUTING.md
vendored
Normal file
19
.github/CONTRIBUTING.md
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
## Contributing to Git
|
||||
|
||||
Thanks for taking the time to contribute to Git! Please be advised that the
|
||||
Git community does not use github.com for their contributions. Instead, we use
|
||||
a mailing list (git@vger.kernel.org) for code submissions, code
|
||||
reviews, and bug reports.
|
||||
|
||||
Nevertheless, you can use [submitGit](http://submitgit.herokuapp.com/) to
|
||||
conveniently send your Pull Requests commits to our mailing list.
|
||||
|
||||
Please read ["A note from the maintainer"](https://git.kernel.org/pub/scm/git/git.git/plain/MaintNotes?h=todo)
|
||||
to learn how the Git project is managed, and how you can work with it.
|
||||
In addition, we highly recommend you to read [our submission guidelines](../Documentation/SubmittingPatches).
|
||||
|
||||
If you prefer video, then [this talk](https://www.youtube.com/watch?v=Q7i_qQW__q4&feature=youtu.be&t=6m4s)
|
||||
might be useful to you as the presenter walks you through the contribution
|
||||
process by example.
|
||||
|
||||
Your friendly Git community!
|
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
Thanks for taking the time to contribute to Git! Please be advised that the
|
||||
Git community does not use github.com for their contributions. Instead, we use
|
||||
a mailing list (git@vger.kernel.org) for code submissions, code reviews, and
|
||||
bug reports. Nevertheless, you can use submitGit to conveniently send your Pull
|
||||
Requests commits to our mailing list.
|
||||
|
||||
Please read the "guidelines for contributing" linked above!
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -114,6 +114,7 @@
|
||||
/git-read-tree
|
||||
/git-rebase
|
||||
/git-rebase--am
|
||||
/git-rebase--helper
|
||||
/git-rebase--interactive
|
||||
/git-rebase--merge
|
||||
/git-receive-pack
|
||||
|
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
[submodule "sha1collisiondetection"]
|
||||
path = sha1collisiondetection
|
||||
url = https://github.com/cr-marcstevens/sha1collisiondetection.git
|
||||
branch = master
|
2
.mailmap
2
.mailmap
@ -178,6 +178,7 @@ Paolo Bonzini <bonzini@gnu.org> <paolo.bonzini@lu.unisi.ch>
|
||||
Pascal Obry <pascal@obry.net> <pascal.obry@gmail.com>
|
||||
Pascal Obry <pascal@obry.net> <pascal.obry@wanadoo.fr>
|
||||
Pat Notz <patnotz@gmail.com> <pknotz@sandia.gov>
|
||||
Patrick Steinhardt <ps@pks.im> <patrick.steinhardt@elego.de>
|
||||
Paul Mackerras <paulus@samba.org> <paulus@dorrigo.(none)>
|
||||
Paul Mackerras <paulus@samba.org> <paulus@pogo.(none)>
|
||||
Peter Baumann <waste.manager@gmx.de> <Peter.B.Baumann@stud.informatik.uni-erlangen.de>
|
||||
@ -193,6 +194,7 @@ Philippe Bruhat <book@cpan.org>
|
||||
Ralf Thielow <ralf.thielow@gmail.com> <ralf.thielow@googlemail.com>
|
||||
Ramsay Jones <ramsay@ramsayjones.plus.com> <ramsay@ramsay1.demon.co.uk>
|
||||
René Scharfe <l.s.r@web.de> <rene.scharfe@lsrfire.ath.cx>
|
||||
René Scharfe <l.s.r@web.de> Rene Scharfe
|
||||
Richard Hansen <rhansen@rhansen.org> <hansenr@google.com>
|
||||
Richard Hansen <rhansen@rhansen.org> <rhansen@bbn.com>
|
||||
Robert Fitzsimons <robfitz@273k.net>
|
||||
|
110
.travis.yml
110
.travis.yml
@ -39,30 +39,44 @@ env:
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- env: Linux32
|
||||
- env: GETTEXT_POISON=YesPlease
|
||||
os: linux
|
||||
services:
|
||||
- docker
|
||||
compiler:
|
||||
addons:
|
||||
before_install:
|
||||
- env: Windows
|
||||
os: linux
|
||||
compiler:
|
||||
addons:
|
||||
before_install:
|
||||
- docker pull daald/ubuntu32:xenial
|
||||
before_script:
|
||||
script:
|
||||
- >
|
||||
docker run
|
||||
--interactive
|
||||
--env DEFAULT_TEST_TARGET
|
||||
--env GIT_PROVE_OPTS
|
||||
--env GIT_TEST_OPTS
|
||||
--env GIT_TEST_CLONE_2GB
|
||||
--volume "${PWD}:/usr/src/git"
|
||||
daald/ubuntu32:xenial
|
||||
/usr/src/git/ci/run-linux32-build.sh $(id -u $USER)
|
||||
# Use the following command to debug the docker build locally:
|
||||
# $ docker run -itv "${PWD}:/usr/src/git" --entrypoint /bin/bash daald/ubuntu32:xenial
|
||||
# root@container:/# /usr/src/git/ci/run-linux32-build.sh
|
||||
test "$TRAVIS_REPO_SLUG" != "git/git" ||
|
||||
ci/run-windows-build.sh $TRAVIS_BRANCH $(git rev-parse HEAD)
|
||||
after_failure:
|
||||
- env: Linux32
|
||||
os: linux
|
||||
compiler:
|
||||
services:
|
||||
- docker
|
||||
before_install:
|
||||
before_script:
|
||||
script: ci/run-linux32-docker.sh
|
||||
- env: Static Analysis
|
||||
os: linux
|
||||
compiler:
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- coccinelle
|
||||
before_install:
|
||||
# "before_script" that builds Git is inherited from base job
|
||||
script: ci/run-static-analysis.sh
|
||||
after_failure:
|
||||
- env: Documentation
|
||||
os: linux
|
||||
compiler: clang
|
||||
compiler:
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -73,64 +87,10 @@ matrix:
|
||||
script: ci/test-documentation.sh
|
||||
after_failure:
|
||||
|
||||
before_install:
|
||||
- >
|
||||
case "${TRAVIS_OS_NAME:-linux}" in
|
||||
linux)
|
||||
export GIT_TEST_HTTPD=YesPlease
|
||||
|
||||
mkdir --parents custom/p4
|
||||
pushd custom/p4
|
||||
wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d
|
||||
wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4
|
||||
chmod u+x p4d
|
||||
chmod u+x p4
|
||||
export PATH="$(pwd):$PATH"
|
||||
popd
|
||||
mkdir --parents custom/git-lfs
|
||||
pushd custom/git-lfs
|
||||
wget --quiet https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz
|
||||
tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
|
||||
cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
|
||||
export PATH="$(pwd):$PATH"
|
||||
popd
|
||||
;;
|
||||
osx)
|
||||
brew update --quiet
|
||||
# Uncomment this if you want to run perf tests:
|
||||
# brew install gnu-time
|
||||
brew install git-lfs gettext
|
||||
brew link --force gettext
|
||||
brew install caskroom/cask/perforce
|
||||
;;
|
||||
esac;
|
||||
echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
|
||||
p4d -V | grep Rev.;
|
||||
echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
|
||||
p4 -V | grep Rev.;
|
||||
echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
|
||||
git-lfs version;
|
||||
mkdir -p $HOME/travis-cache;
|
||||
ln -s $HOME/travis-cache/.prove t/.prove;
|
||||
|
||||
before_script: make --jobs=2
|
||||
|
||||
script: make --quiet test
|
||||
|
||||
after_failure:
|
||||
- >
|
||||
: '<-- Click here to see detailed test output! ';
|
||||
for TEST_EXIT in t/test-results/*.exit;
|
||||
do
|
||||
if [ "$(cat "$TEST_EXIT")" != "0" ];
|
||||
then
|
||||
TEST_OUT="${TEST_EXIT%exit}out";
|
||||
echo "------------------------------------------------------------------------";
|
||||
echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
|
||||
echo "------------------------------------------------------------------------";
|
||||
cat "${TEST_OUT}";
|
||||
fi;
|
||||
done;
|
||||
before_install: ci/install-dependencies.sh
|
||||
before_script: ci/run-build.sh
|
||||
script: ci/run-tests.sh
|
||||
after_failure: ci/print-test-failures.sh
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
10
.tsan-suppressions
Normal file
10
.tsan-suppressions
Normal file
@ -0,0 +1,10 @@
|
||||
# Suppressions for ThreadSanitizer (tsan).
|
||||
#
|
||||
# This file is used by setting the environment variable TSAN_OPTIONS to, e.g.,
|
||||
# "suppressions=$(pwd)/.tsan-suppressions". Observe that relative paths such as
|
||||
# ".tsan-suppressions" might not work.
|
||||
|
||||
# A static variable is written to racily, but we always write the same value, so
|
||||
# in practice it (hopefully!) doesn't matter.
|
||||
race:^want_color$
|
||||
race:^transfer_debug$
|
@ -24,7 +24,7 @@ code. For Git in general, a few rough rules are:
|
||||
|
||||
"Once it _is_ in the tree, it's not really worth the patch noise to
|
||||
go and fix it up."
|
||||
Cf. http://article.gmane.org/gmane.linux.kernel/943020
|
||||
Cf. http://lkml.iu.edu/hypermail/linux/kernel/1001.3/01069.html
|
||||
|
||||
Make your code readable and sensible, and don't try to be clever.
|
||||
|
||||
@ -256,12 +256,12 @@ For C programs:
|
||||
|
||||
Note however that a comment that explains a translatable string to
|
||||
translators uses a convention of starting with a magic token
|
||||
"TRANSLATORS: " immediately after the opening delimiter, even when
|
||||
it spans multiple lines. We do not add an asterisk at the beginning
|
||||
of each line, either. E.g.
|
||||
"TRANSLATORS: ", e.g.
|
||||
|
||||
/* TRANSLATORS: here is a comment that explains the string
|
||||
to be translated, that follows immediately after it */
|
||||
/*
|
||||
* TRANSLATORS: here is a comment that explains the string to
|
||||
* be translated, that follows immediately after it.
|
||||
*/
|
||||
_("Here is a translatable string explained by the above.");
|
||||
|
||||
- Double negation is often harder to understand than no negation
|
||||
|
@ -31,6 +31,7 @@ MAN7_TXT += giteveryday.txt
|
||||
MAN7_TXT += gitglossary.txt
|
||||
MAN7_TXT += gitnamespaces.txt
|
||||
MAN7_TXT += gitrevisions.txt
|
||||
MAN7_TXT += gitsubmodules.txt
|
||||
MAN7_TXT += gittutorial-2.txt
|
||||
MAN7_TXT += gittutorial.txt
|
||||
MAN7_TXT += gitworkflows.txt
|
||||
@ -66,6 +67,7 @@ SP_ARTICLES += howto/maintain-git
|
||||
API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
|
||||
SP_ARTICLES += $(API_DOCS)
|
||||
|
||||
TECH_DOCS += technical/hash-function-transition
|
||||
TECH_DOCS += technical/http-protocol
|
||||
TECH_DOCS += technical/index-format
|
||||
TECH_DOCS += technical/pack-format
|
||||
|
@ -69,7 +69,7 @@ Fixes since v1.7.10
|
||||
* The 'push to upstream' implementation was broken in some corner
|
||||
cases. "git push $there" without refspec, when the current branch
|
||||
is set to push to a remote different from $there, used to push to
|
||||
$there using the upstream information to a remote unreleated to
|
||||
$there using the upstream information to a remote unrelated to
|
||||
$there.
|
||||
|
||||
* Giving "--continue" to a conflicted "rebase -i" session skipped a
|
||||
|
@ -264,7 +264,7 @@ notes for details).
|
||||
needed it so far.
|
||||
|
||||
* Git 2.11 had a minor regression in "merge --ff-only" that competed
|
||||
with another process that simultanously attempted to update the
|
||||
with another process that simultaneously attempted to update the
|
||||
index. We used to explain what went wrong with an error message,
|
||||
but the new code silently failed. The error message has been
|
||||
resurrected.
|
||||
|
618
Documentation/RelNotes/2.13.0.txt
Normal file
618
Documentation/RelNotes/2.13.0.txt
Normal file
@ -0,0 +1,618 @@
|
||||
Git 2.13 Release Notes
|
||||
======================
|
||||
|
||||
Backward compatibility notes.
|
||||
|
||||
* Use of an empty string as a pathspec element that is used for
|
||||
'everything matches' is still warned and Git asks users to use a
|
||||
more explicit '.' for that instead. The hope is that existing
|
||||
users will not mind this change, and eventually the warning can be
|
||||
turned into a hard error, upgrading the deprecation into removal of
|
||||
this (mis)feature. That is not scheduled to happen in the upcoming
|
||||
release (yet).
|
||||
|
||||
* The historical argument order "git merge <msg> HEAD <commit>..."
|
||||
has been deprecated for quite some time, and is now removed.
|
||||
|
||||
* The default location "~/.git-credential-cache/socket" for the
|
||||
socket used to communicate with the credential-cache daemon has
|
||||
been moved to "~/.cache/git/credential/socket".
|
||||
|
||||
* Git now avoids blindly falling back to ".git" when the setup
|
||||
sequence said we are _not_ in Git repository. A corner case that
|
||||
happens to work right now may be broken by a call to die("BUG").
|
||||
We've tried hard to locate such cases and fixed them, but there
|
||||
might still be cases that need to be addressed--bug reports are
|
||||
greatly appreciated.
|
||||
|
||||
|
||||
Updates since v2.12
|
||||
-------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* "git describe" and "git name-rev" have been taught to take more
|
||||
than one refname patterns to restrict the set of refs to base their
|
||||
naming output on, and also learned to take negative patterns to
|
||||
name refs not to be used for naming via their "--exclude" option.
|
||||
|
||||
* Deletion of a branch "foo/bar" could remove .git/refs/heads/foo
|
||||
once there no longer is any other branch whose name begins with
|
||||
"foo/", but we didn't do so so far. Now we do.
|
||||
|
||||
* When "git merge" detects a path that is renamed in one history
|
||||
while the other history deleted (or modified) it, it now reports
|
||||
both paths to help the user understand what is going on in the two
|
||||
histories being merged.
|
||||
|
||||
* The <url> part in "http.<url>.<variable>" configuration variable
|
||||
can now be spelled with '*' that serves as wildcard.
|
||||
E.g. "http.https://*.example.com.proxy" can be used to specify the
|
||||
proxy used for https://a.example.com, https://b.example.com, etc.,
|
||||
i.e. any host in the example.com domain.
|
||||
|
||||
* "git tag" did not leave useful message when adding a new entry to
|
||||
reflog; this was left unnoticed for a long time because refs/tags/*
|
||||
doesn't keep reflog by default.
|
||||
|
||||
* The "negative" pathspec feature was somewhat more cumbersome to use
|
||||
than necessary in that its short-hand used "!" which needed to be
|
||||
escaped from shells, and it required "exclude from what?" specified.
|
||||
|
||||
* The command line options for ssh invocation needs to be tweaked for
|
||||
some implementations of SSH (e.g. PuTTY plink wants "-P <port>"
|
||||
while OpenSSH wants "-p <port>" to specify port to connect to), and
|
||||
the variant was guessed when GIT_SSH environment variable is used
|
||||
to specify it. The logic to guess now applies to the command
|
||||
specified by the newer GIT_SSH_COMMAND and also core.sshcommand
|
||||
configuration variable, and comes with an escape hatch for users to
|
||||
deal with misdetected cases.
|
||||
|
||||
* The "--git-path", "--git-common-dir", and "--shared-index-path"
|
||||
options of "git rev-parse" did not produce usable output. They are
|
||||
now updated to show the path to the correct file, relative to where
|
||||
the caller is.
|
||||
|
||||
* "git diff -W" has been taught to handle the case where a new
|
||||
function is added at the end of the file better.
|
||||
|
||||
* "git update-ref -d" and other operations to delete references did
|
||||
not leave any entry in HEAD's reflog when the reference being
|
||||
deleted was the current branch. This is not a problem in practice
|
||||
because you do not want to delete the branch you are currently on,
|
||||
but caused renaming of the current branch to something else not to
|
||||
be logged in a useful way.
|
||||
|
||||
* "Cc:" on the trailer part does not have to conform to RFC strictly,
|
||||
unlike in the e-mail header. "git send-email" has been updated to
|
||||
ignore anything after '>' when picking addresses, to allow non-address
|
||||
cruft like " # stable 4.4" after the address.
|
||||
|
||||
* When "git submodule init" decides that the submodule in the working
|
||||
tree is its upstream, it now gives a warning as it is not a very
|
||||
common setup.
|
||||
|
||||
* "git stash push" takes a pathspec so that the local changes can be
|
||||
stashed away only partially.
|
||||
|
||||
* Documentation for "git ls-files" did not refer to core.quotePath.
|
||||
|
||||
* The experimental "split index" feature has gained a few
|
||||
configuration variables to make it easier to use.
|
||||
|
||||
* From a working tree of a repository, a new option of "rev-parse"
|
||||
lets you ask if the repository is used as a submodule of another
|
||||
project, and where the root level of the working tree of that
|
||||
project (i.e. your superproject) is.
|
||||
|
||||
* The pathspec mechanism learned to further limit the paths that
|
||||
match the pattern to those that have specified attributes attached
|
||||
via the gitattributes mechanism.
|
||||
|
||||
* Our source code has used the SHA1_HEADER cpp macro after "#include"
|
||||
in the C code to switch among the SHA-1 implementations. Instead,
|
||||
list the exact header file names and switch among implementations
|
||||
using "#ifdef BLK_SHA1/#include "block-sha1/sha1.h"/.../#endif";
|
||||
this helps some IDE tools.
|
||||
|
||||
* The start-up sequence of "git" needs to figure out some configured
|
||||
settings before it finds and set itself up in the location of the
|
||||
repository and was quite messy due to its "chicken-and-egg" nature.
|
||||
The code has been restructured.
|
||||
|
||||
* The command line prompt (in contrib/) learned a new 'tag' style
|
||||
that can be specified with GIT_PS1_DESCRIBE_STYLE, to describe a
|
||||
detached HEAD with "git describe --tags".
|
||||
|
||||
* The configuration file learned a new "includeIf.<condition>.path"
|
||||
that includes the contents of the given path only when the
|
||||
condition holds. This allows you to say "include this work-related
|
||||
bit only in the repositories under my ~/work/ directory".
|
||||
|
||||
* Recent update to "rebase -i" started showing a message that is not
|
||||
a warning with "warning:" prefix by mistake. This has been fixed.
|
||||
|
||||
* Recently we started passing the "--push-options" through the
|
||||
external remote helper interface; now the "smart HTTP" remote
|
||||
helper understands what to do with the passed information.
|
||||
|
||||
* "git describe --dirty" dies when it cannot be determined if the
|
||||
state in the working tree matches that of HEAD (e.g. broken
|
||||
repository or broken submodule). The command learned a new option
|
||||
"git describe --broken" to give "$name-broken" (where $name is the
|
||||
description of HEAD) in such a case.
|
||||
|
||||
* "git checkout" is taught the "--recurse-submodules" option.
|
||||
|
||||
* Recent enhancement to "git stash push" command to support pathspec
|
||||
to allow only a subset of working tree changes to be stashed away
|
||||
was found to be too chatty and exposed the internal implementation
|
||||
detail (e.g. when it uses reset to match the index to HEAD before
|
||||
doing other things, output from reset seeped out). These, and
|
||||
other chattyness has been fixed.
|
||||
|
||||
* "git merge <message> HEAD <commit>" syntax that has been deprecated
|
||||
since October 2007 has been removed.
|
||||
|
||||
* The refs completion for large number of refs has been sped up,
|
||||
partly by giving up disambiguating ambiguous refs and partly by
|
||||
eliminating most of the shell processing between 'git for-each-ref'
|
||||
and 'ls-remote' and Bash's completion facility.
|
||||
|
||||
* On many keyboards, typing "@{" involves holding down SHIFT key and
|
||||
one can easily end up with "@{Up..." when typing "@{upstream}". As
|
||||
the upstream/push keywords do not appear anywhere else in the syntax,
|
||||
we can safely accept them case insensitively without introducing
|
||||
ambiguity or confusion to solve this.
|
||||
|
||||
* "git tag/branch/for-each-ref" family of commands long allowed to
|
||||
filter the refs by "--contains X" (show only the refs that are
|
||||
descendants of X), "--merged X" (show only the refs that are
|
||||
ancestors of X), "--no-merged X" (show only the refs that are not
|
||||
ancestors of X). One curious omission, "--no-contains X" (show
|
||||
only the refs that are not descendants of X) has been added to
|
||||
them.
|
||||
|
||||
* The default behaviour of "git log" in an interactive session has
|
||||
been changed to enable "--decorate".
|
||||
|
||||
* The output from "git status --short" has been extended to show
|
||||
various kinds of dirtyness in submodules differently; instead of to
|
||||
"M" for modified, 'm' and '?' can be shown to signal changes only
|
||||
to the working tree of the submodule but not the commit that is
|
||||
checked out.
|
||||
|
||||
* Allow the http.postbuffer configuration variable to be set to a
|
||||
size that can be expressed in size_t, which can be larger than
|
||||
ulong on some platforms.
|
||||
|
||||
* "git rebase" learns "--signoff" option.
|
||||
|
||||
* The completion script (in contrib/) learned to complete "git push
|
||||
--delete b<TAB>" to complete branch name to be deleted.
|
||||
|
||||
* "git worktree add --lock" allows to lock a worktree immediately
|
||||
after it's created. This helps prevent a race between "git worktree
|
||||
add; git worktree lock" and "git worktree prune".
|
||||
|
||||
* Completion for "git checkout <branch>" that auto-creates the branch
|
||||
out of a remote tracking branch can now be disabled, as this
|
||||
completion often gets in the way when completing to checkout an
|
||||
existing local branch that happens to share the same prefix with
|
||||
bunch of remote tracking branches.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* The code to list branches in "git branch" has been consolidated
|
||||
with the more generic ref-filter API.
|
||||
|
||||
* Resource usage while enumerating refs from alternate object store
|
||||
has been optimized to help receiving end of "push" that hosts a
|
||||
repository with many "forks".
|
||||
|
||||
* The gitattributes machinery is being taught to work better in a
|
||||
multi-threaded environment.
|
||||
|
||||
* "git rebase -i" starts using the recently updated "sequencer" code.
|
||||
|
||||
* Code and design clean-up for the refs API.
|
||||
|
||||
* The preload-index code has been taught not to bother with the index
|
||||
entries that are paths that are not checked out by "sparse checkout".
|
||||
|
||||
* Some warning() messages from "git clean" were updated to show the
|
||||
errno from failed system calls.
|
||||
|
||||
* The "parse_config_key()" API function has been cleaned up.
|
||||
|
||||
* A test that creates a confusing branch whose name is HEAD has been
|
||||
corrected not to do so.
|
||||
|
||||
* The code that parses header fields in the commit object has been
|
||||
updated for (micro)performance and code hygiene.
|
||||
|
||||
* An helper function to make it easier to append the result from
|
||||
real_path() to a strbuf has been added.
|
||||
|
||||
* Reduce authentication round-trip over HTTP when the server supports
|
||||
just a single authentication method. This also improves the
|
||||
behaviour when Git is misconfigured to enable http.emptyAuth
|
||||
against a server that does not authenticate without a username
|
||||
(i.e. not using Kerberos etc., which makes http.emptyAuth
|
||||
pointless).
|
||||
|
||||
* Windows port wants to use OpenSSL's implementation of SHA-1
|
||||
routines, so let them.
|
||||
|
||||
* The t/perf performance test suite was not prepared to test not so
|
||||
old versions of Git, but now it covers versions of Git that are not
|
||||
so ancient.
|
||||
|
||||
* Add 32-bit Linux variant to the set of platforms to be tested with
|
||||
Travis CI.
|
||||
|
||||
* "git branch --list" takes the "--abbrev" and "--no-abbrev" options
|
||||
to control the output of the object name in its "-v"(erbose)
|
||||
output, but a recent update started ignoring them; fix it before
|
||||
the breakage reaches to any released version.
|
||||
|
||||
* Picking two versions of Git and running tests to make sure the
|
||||
older one and the newer one interoperate happily has now become
|
||||
possible.
|
||||
|
||||
* "git tag --contains" used to (ab)use the object bits to keep track
|
||||
of the state of object reachability without clearing them after
|
||||
use; this has been cleaned up and made to use the newer commit-slab
|
||||
facility.
|
||||
|
||||
* The "debug" helper used in the test framework learned to run
|
||||
a command under "gdb" interactively.
|
||||
|
||||
* The "detect attempt to create collisions" variant of SHA-1
|
||||
implementation by Marc Stevens (CWI) and Dan Shumow (Microsoft)
|
||||
has been integrated and made the default.
|
||||
|
||||
* The test framework learned to detect unterminated here documents.
|
||||
|
||||
* The name-hash used for detecting paths that are different only in
|
||||
cases (which matter on case insensitive filesystems) has been
|
||||
optimized to take advantage of multi-threading when it makes sense.
|
||||
|
||||
* An earlier version of sha1dc/sha1.c that was merged to 'master'
|
||||
compiled incorrectly on Windows, which has been fixed.
|
||||
|
||||
* "what URL do we want to update this submodule?" and "are we
|
||||
interested in this submodule?" are split into two distinct
|
||||
concepts, and then the way used to express the latter got extended,
|
||||
paving a way to make it easier to manage a project with many
|
||||
submodules and make it possible to later extend use of multiple
|
||||
worktrees for a project with submodules.
|
||||
|
||||
* Some debugging output from "git describe" were marked for l10n,
|
||||
but some weren't. Mark missing ones for l10n.
|
||||
|
||||
* Define a new task in .travis.yml that triggers a test session on
|
||||
Windows run elsewhere.
|
||||
|
||||
* Conversion from uchar[20] to struct object_id continues.
|
||||
|
||||
* The "submodule" specific field in the ref_store structure is
|
||||
replaced with a more generic "gitdir" that can later be used also
|
||||
when dealing with ref_store that represents the set of refs visible
|
||||
from the other worktrees.
|
||||
|
||||
* The string-list API used a custom reallocation strategy that was
|
||||
very inefficient, instead of using the usual ALLOC_GROW() macro,
|
||||
which has been fixed.
|
||||
(merge 950a234cbd jh/string-list-micro-optim later to maint).
|
||||
|
||||
* In a 2- and 3-way merge of trees, more than one source trees often
|
||||
end up sharing an identical subtree; optimize by not reading the
|
||||
same tree multiple times in such a case.
|
||||
(merge d12a8cf0af jh/unpack-trees-micro-optim later to maint).
|
||||
|
||||
* The index file has a trailing SHA-1 checksum to detect file
|
||||
corruption, and historically we checked it every time the index
|
||||
file is used. Omit the validation during normal use, and instead
|
||||
verify only in "git fsck".
|
||||
|
||||
* Having a git command on the upstream side of a pipe in a test
|
||||
script will hide the exit status from the command, which may cause
|
||||
us to fail to notice a breakage; rewrite tests in a script to avoid
|
||||
this issue.
|
||||
|
||||
* Travis CI learns to run coccicheck.
|
||||
|
||||
* "git checkout" that handles a lot of paths has been optimized by
|
||||
reducing the number of unnecessary checks of paths in the
|
||||
has_dir_name() function.
|
||||
|
||||
* The internals of the refs API around the cached refs has been
|
||||
streamlined.
|
||||
|
||||
* Output from perf tests have been updated to align their titles.
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v2.12
|
||||
-----------------
|
||||
|
||||
Unless otherwise noted, all the fixes since v2.12 in the maintenance
|
||||
track are contained in this release (see the maintenance releases'
|
||||
notes for details).
|
||||
|
||||
* "git repack --depth=<n>" for a long time busted the specified depth
|
||||
when reusing delta from existing packs. This has been corrected.
|
||||
|
||||
* The code to parse the command line "git grep <patterns>... <rev>
|
||||
[[--] <pathspec>...]" has been cleaned up, and a handful of bugs
|
||||
have been fixed (e.g. we used to check "--" if it is a rev).
|
||||
|
||||
* "git ls-remote" and "git archive --remote" are designed to work
|
||||
without being in a directory under Git's control. However, recent
|
||||
updates revealed that we randomly look into a directory called
|
||||
.git/ without actually doing necessary set-up when working in a
|
||||
repository. Stop doing so.
|
||||
|
||||
* "git show-branch" expected there were only very short branch names
|
||||
in the repository and used a fixed-length buffer to hold them
|
||||
without checking for overflow.
|
||||
|
||||
* A caller of tempfile API that uses stdio interface to write to
|
||||
files may ignore errors while writing, which is detected when
|
||||
tempfile is closed (with a call to ferror()). By that time, the
|
||||
original errno that may have told us what went wrong is likely to
|
||||
be long gone and was overwritten by an irrelevant value.
|
||||
close_tempfile() now resets errno to EIO to make errno at least
|
||||
predictable.
|
||||
|
||||
* "git remote rm X", when a branch has remote X configured as the
|
||||
value of its branch.*.remote, tried to remove branch.*.remote and
|
||||
branch.*.merge and failed if either is unset.
|
||||
|
||||
* A "gc.log" file left by a backgrounded "gc --auto" disables further
|
||||
automatic gc; it has been taught to run at least once a day (by
|
||||
default) by ignoring a stale "gc.log" file that is too old.
|
||||
|
||||
* The code to parse "git -c VAR=VAL cmd" and set configuration
|
||||
variable for the duration of cmd had two small bugs, which have
|
||||
been fixed.
|
||||
|
||||
* user.email that consists of only cruft chars should consistently
|
||||
error out, but didn't.
|
||||
|
||||
* "git upload-pack", which is a counter-part of "git fetch", did not
|
||||
report a request for a ref that was not advertised as invalid.
|
||||
This is generally not a problem (because "git fetch" will stop
|
||||
before making such a request), but is the right thing to do.
|
||||
|
||||
* A leak in a codepath to read from a packed object in (rare) cases
|
||||
has been plugged.
|
||||
|
||||
* When a redirected http transport gets an error during the
|
||||
redirected request, we ignored the error we got from the server,
|
||||
and ended up giving a not-so-useful error message.
|
||||
|
||||
* The patch subcommand of "git add -i" was meant to have paths
|
||||
selection prompt just like other subcommand, unlike "git add -p"
|
||||
directly jumps to hunk selection. Recently, this was broken and
|
||||
"add -i" lost the paths selection dialog, but it now has been
|
||||
fixed.
|
||||
|
||||
* Git v2.12 was shipped with an embarrassing breakage where various
|
||||
operations that verify paths given from the user stopped dying when
|
||||
seeing an issue, and instead later triggering segfault.
|
||||
|
||||
* There is no need for Python only to give a few messages to the
|
||||
standard error stream, but we somehow did.
|
||||
|
||||
* The code to parse "git log -L..." command line was buggy when there
|
||||
are many ranges specified with -L; overrun of the allocated buffer
|
||||
has been fixed.
|
||||
|
||||
* The command-line parsing of "git log -L" copied internal data
|
||||
structures using incorrect size on ILP32 systems.
|
||||
|
||||
* "git diff --quiet" relies on the size field in diff_filespec to be
|
||||
correctly populated, but diff_populate_filespec() helper function
|
||||
made an incorrect short-cut when asked only to populate the size
|
||||
field for paths that need to go through convert_to_git() (e.g. CRLF
|
||||
conversion).
|
||||
|
||||
* A few tests were run conditionally under (rare) conditions where
|
||||
they cannot be run (like running cvs tests under 'root' account).
|
||||
|
||||
* "git branch @" created refs/heads/@ as a branch, and in general the
|
||||
code that handled @{-1} and @{upstream} was a bit too loose in
|
||||
disambiguating.
|
||||
|
||||
* "git fetch" that requests a commit by object name, when the other
|
||||
side does not allow such an request, failed without much
|
||||
explanation.
|
||||
|
||||
* "git filter-branch --prune-empty" drops a single-parent commit that
|
||||
becomes a no-op, but did not drop a root commit whose tree is empty.
|
||||
|
||||
* Recent versions of Git treats http alternates (used in dumb http
|
||||
transport) just like HTTP redirects and requires the client to
|
||||
enable following it, due to security concerns. But we forgot to
|
||||
give a warning when we decide not to honor the alternates.
|
||||
|
||||
* "git push" had a handful of codepaths that could lead to a deadlock
|
||||
when unexpected error happened, which has been fixed.
|
||||
|
||||
* "Dumb http" transport used to misparse a nonsense http-alternates
|
||||
response, which has been fixed.
|
||||
|
||||
* "git add -p <pathspec>" unnecessarily expanded the pathspec to a
|
||||
list of individual files that matches the pathspec by running "git
|
||||
ls-files <pathspec>", before feeding it to "git diff-index" to see
|
||||
which paths have changes, because historically the pathspec
|
||||
language supported by "diff-index" was weaker. These days they are
|
||||
equivalent and there is no reason to internally expand it. This
|
||||
helps both performance and avoids command line argument limit on
|
||||
some platforms.
|
||||
(merge 7288e12cce jk/add-i-use-pathspecs later to maint).
|
||||
|
||||
* "git status --porcelain" is supposed to give a stable output, but a
|
||||
few strings were left as translatable by mistake.
|
||||
|
||||
* "git revert -m 0 $merge_commit" complained that reverting a merge
|
||||
needs to say relative to which parent the reversion needs to
|
||||
happen, as if "-m 0" weren't given. The correct diagnosis is that
|
||||
"-m 0" does not refer to the first parent ("-m 1" does). This has
|
||||
been fixed.
|
||||
|
||||
* Code to read submodule.<name>.ignore config did not state the
|
||||
variable name correctly when giving an error message diagnosing
|
||||
misconfiguration.
|
||||
|
||||
* Fix for NO_PTHREADS build.
|
||||
|
||||
* Fix for potential segv introduced in v2.11.0 and later (also
|
||||
v2.10.2) to "git log --pickaxe-regex -S".
|
||||
|
||||
* A few unterminated here documents in tests were fixed, which in
|
||||
turn revealed incorrect expectations the tests make. These tests
|
||||
have been updated.
|
||||
|
||||
* Fix for NO_PTHREADS option.
|
||||
(merge 2225e1ea20 bw/grep-recurse-submodules later to maint).
|
||||
|
||||
* Git now avoids blindly falling back to ".git" when the setup
|
||||
sequence said we are _not_ in Git repository. A corner case that
|
||||
happens to work right now may be broken by a call to die("BUG").
|
||||
(merge b1ef400eec jk/no-looking-at-dotgit-outside-repo-final later to maint).
|
||||
|
||||
* A few commands that recently learned the "--recurse-submodule"
|
||||
option misbehaved when started from a subdirectory of the
|
||||
superproject.
|
||||
(merge b2dfeb7c00 bw/recurse-submodules-relative-fix later to maint).
|
||||
|
||||
* FreeBSD implementation of getcwd(3) behaved differently when an
|
||||
intermediate directory is unreadable/unsearchable depending on the
|
||||
length of the buffer provided, which our strbuf_getcwd() was not
|
||||
aware of. strbuf_getcwd() has been taught to cope with it better.
|
||||
(merge a54e938e5b rs/freebsd-getcwd-workaround later to maint).
|
||||
|
||||
* A recent update to "rebase -i" stopped running hooks for the "git
|
||||
commit" command during "reword" action, which has been fixed.
|
||||
|
||||
* Removing an entry from a notes tree and then looking another note
|
||||
entry from the resulting tree using the internal notes API
|
||||
functions did not work as expected. No in-tree users of the API
|
||||
has such access pattern, but it still is worth fixing.
|
||||
|
||||
* "git receive-pack" could have been forced to die by attempting
|
||||
allocate an unreasonably large amount of memory with a crafted push
|
||||
certificate; this has been fixed.
|
||||
(merge f2214dede9 bc/push-cert-receive-fix later to maint).
|
||||
|
||||
* Update error handling for codepath that deals with corrupt loose
|
||||
objects.
|
||||
(merge 51054177b3 jk/loose-object-info-report-error later to maint).
|
||||
|
||||
* "git diff --submodule=diff" learned to work better in a project
|
||||
with a submodule that in turn has its own submodules.
|
||||
(merge 17b254cda6 sb/show-diff-for-submodule-in-diff-fix later to maint).
|
||||
|
||||
* Update the build dependency so that an update to /usr/bin/perl
|
||||
etc. result in recomputation of perl.mak file.
|
||||
(merge c59c4939c2 ab/regen-perl-mak-with-different-perl later to maint).
|
||||
|
||||
* "git push --recurse-submodules --push-option=<string>" learned to
|
||||
propagate the push option recursively down to pushes in submodules.
|
||||
|
||||
* If a patch e-mail had its first paragraph after an in-body header
|
||||
indented (even after a blank line after the in-body header line),
|
||||
the indented line was mistook as a continuation of the in-body
|
||||
header. This has been fixed.
|
||||
(merge fd1062e52e lt/mailinfo-in-body-header-continuation later to maint).
|
||||
|
||||
* Clean up fallouts from recent tightening of the set-up sequence,
|
||||
where Git barfs when repository information is accessed without
|
||||
first ensuring that it was started in a repository.
|
||||
(merge bccb22cbb1 jk/no-looking-at-dotgit-outside-repo later to maint).
|
||||
|
||||
* "git p4" used "name-rev HEAD" when it wants to learn what branch is
|
||||
checked out; it should use "symbolic-ref HEAD".
|
||||
(merge eff451101d ld/p4-current-branch-fix later to maint).
|
||||
|
||||
* "http.proxy" set to an empty string is used to disable the usage of
|
||||
proxy. We broke this early last year.
|
||||
(merge ae51d91105 sr/http-proxy-configuration-fix later to maint).
|
||||
|
||||
* $GIT_DIR may in some cases be normalized with all symlinks resolved
|
||||
while "gitdir" path expansion in the pattern does not receive the
|
||||
same treatment, leading to incorrect mismatch. This has been fixed.
|
||||
|
||||
* "git submodule" script does not work well with strange pathnames.
|
||||
Protect it from a path with slashes in them, at least.
|
||||
|
||||
* "git fetch-pack" was not prepared to accept ERR packet that the
|
||||
upload-pack can send with a human-readable error message. It
|
||||
showed the packet contents with ERR prefix, so there was no data
|
||||
loss, but it was redundant to say "ERR" in an error message.
|
||||
(merge 8e2c7bef03 jt/fetch-pack-error-reporting later to maint).
|
||||
|
||||
* "ls-files --recurse-submodules" did not quite work well in a
|
||||
project with nested submodules.
|
||||
|
||||
* gethostname(2) may not NUL terminate the buffer if hostname does
|
||||
not fit; unfortunately there is no easy way to see if our buffer
|
||||
was too small, but at least this will make sure we will not end up
|
||||
using garbage past the end of the buffer.
|
||||
(merge 5781a9a270 dt/xgethostname-nul-termination later to maint).
|
||||
|
||||
* A recent update broke "git add -p ../foo" from a subdirectory.
|
||||
|
||||
* While handy, "git_path()" is a dangerous function to use as a
|
||||
callsite that uses it safely one day can be broken by changes
|
||||
to other code that calls it. Reduction of its use continues.
|
||||
(merge 16d2676c9e jk/war-on-git-path later to maint).
|
||||
|
||||
* The split-index code configuration code used an unsafe git_path()
|
||||
function without copying its result out.
|
||||
|
||||
* Many stale HTTP(s) links have been updated in our documentation.
|
||||
(merge 613416f0be jk/update-links-in-docs later to maint).
|
||||
|
||||
* "git-shell" rejects a request to serve a repository whose name
|
||||
begins with a dash, which makes it no longer possible to get it
|
||||
confused into spawning service programs like "git-upload-pack" with
|
||||
an option like "--help", which in turn would spawn an interactive
|
||||
pager, instead of working with the repository user asked to access
|
||||
(i.e. the one whose name is "--help").
|
||||
|
||||
* Other minor doc, test and build updates and code cleanups.
|
||||
(merge df2a6e38b7 jk/pager-in-use later to maint).
|
||||
(merge 75ec4a6cb0 ab/branch-list-doc later to maint).
|
||||
(merge 3e5b36c637 sg/skip-prefix-in-prettify-refname later to maint).
|
||||
(merge 2c5e2865cc jk/fast-import-cleanup later to maint).
|
||||
(merge 4473060bc2 ab/test-readme-updates later to maint).
|
||||
(merge 48a96972fd ab/doc-submitting later to maint).
|
||||
(merge f5c2bc2b96 jk/make-coccicheck-detect-errors later to maint).
|
||||
(merge c105f563d1 cc/untracked later to maint).
|
||||
(merge 8668976b53 jc/unused-symbols later to maint).
|
||||
(merge fba275dc93 jc/bs-t-is-not-a-tab-for-sed later to maint).
|
||||
(merge be6ed145de mm/ls-files-s-doc later to maint).
|
||||
(merge 60b091c679 qp/bisect-docfix later to maint).
|
||||
(merge 47242cd103 ah/diff-files-ours-theirs-doc later to maint).
|
||||
(merge 35ad44cbd8 sb/submodule-rm-absorb later to maint).
|
||||
(merge 0301f1fd92 va/i18n-perl-scripts later to maint).
|
||||
(merge 733e064d98 vn/revision-shorthand-for-side-branch-log later to maint).
|
||||
(merge 85999743e7 tb/doc-eol-normalization later to maint).
|
||||
(merge 0747fb49fd jk/loose-object-fsck later to maint).
|
||||
(merge d8f4481c4f jk/quarantine-received-objects later to maint).
|
||||
(merge 7ba1ceef95 xy/format-patch-base later to maint).
|
||||
(merge fa1912c89a rs/misc-cppcheck-fixes later to maint).
|
||||
(merge f17d642d3b ab/push-cas-doc-n-test later to maint).
|
||||
(merge 61e282425a ss/gitmodules-ignore-doc later to maint).
|
||||
(merge 8d3047cd5b ss/submodule-shallow-doc later to maint).
|
||||
(merge 1f9e18b772 jk/prio-queue-avoid-swap-with-self later to maint).
|
||||
(merge 627fde1025 jk/submodule-init-segv-fix later to maint).
|
||||
(merge d395745d81 rg/doc-pull-typofix later to maint).
|
||||
(merge 01e60a9a22 rg/doc-submittingpatches-wordfix later to maint).
|
||||
(merge 501d3cd7b8 sr/hooks-cwd-doc later to maint).
|
114
Documentation/RelNotes/2.13.1.txt
Normal file
114
Documentation/RelNotes/2.13.1.txt
Normal file
@ -0,0 +1,114 @@
|
||||
Git v2.13.1 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.13
|
||||
-----------------
|
||||
|
||||
* The Web interface to gmane news archive is long gone, even though
|
||||
the articles are still accessible via NTTP. Replace the links with
|
||||
ones to public-inbox.org. Because their message identification is
|
||||
based on the actual message-id, it is likely that it will be easier
|
||||
to migrate away from it if/when necessary.
|
||||
|
||||
* Update tests to pass under GETTEXT_POISON (a mechanism to ensure
|
||||
that output strings that should not be translated are not
|
||||
translated by mistake), and tell TravisCI to run them.
|
||||
|
||||
* Setting "log.decorate=false" in the configuration file did not take
|
||||
effect in v2.13, which has been corrected.
|
||||
|
||||
* An earlier update to test 7400 needed to be skipped on CYGWIN.
|
||||
|
||||
* Git sometimes gives an advice in a rhetorical question that does
|
||||
not require an answer, which can confuse new users and non native
|
||||
speakers. Attempt to rephrase them.
|
||||
|
||||
* "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use
|
||||
--empty if you want to clear the index". With "-m", such a request
|
||||
will still fail anyway, as you'd need to name at least one tree-ish
|
||||
to be merged.
|
||||
|
||||
* The codepath in "git am" that is used when running "git rebase"
|
||||
leaked memory held for the log message of the commits being rebased.
|
||||
|
||||
* "pack-objects" can stream a slice of an existing packfile out when
|
||||
the pack bitmap can tell that the reachable objects are all needed
|
||||
in the output, without inspecting individual objects. This
|
||||
strategy however would not work well when "--local" and other
|
||||
options are in use, and need to be disabled.
|
||||
|
||||
* Clarify documentation for include.path and includeIf.<condition>.path
|
||||
configuration variables.
|
||||
|
||||
* Tag objects, which are not reachable from any ref, that point at
|
||||
missing objects were mishandled by "git gc" and friends (they
|
||||
should silently be ignored instead)
|
||||
|
||||
* A few http:// links that are redirected to https:// in the
|
||||
documentation have been updated to https:// links.
|
||||
|
||||
* Make sure our tests would pass when the sources are checked out
|
||||
with "platform native" line ending convention by default on
|
||||
Windows. Some "text" files out tests use and the test scripts
|
||||
themselves that are meant to be run with /bin/sh, ought to be
|
||||
checked out with eol=LF even on Windows.
|
||||
|
||||
* Fix memory leaks pointed out by Coverity (and people).
|
||||
|
||||
* The receive-pack program now makes sure that the push certificate
|
||||
records the same set of push options used for pushing.
|
||||
|
||||
* "git cherry-pick" and other uses of the sequencer machinery
|
||||
mishandled a trailer block whose last line is an incomplete line.
|
||||
This has been fixed so that an additional sign-off etc. are added
|
||||
after completing the existing incomplete line.
|
||||
|
||||
* The shell completion script (in contrib/) learned "git stash" has
|
||||
a new "push" subcommand.
|
||||
|
||||
* Travis CI gained a task to format the documentation with both
|
||||
AsciiDoc and AsciiDoctor.
|
||||
|
||||
* Update the C style recommendation for notes for translators, as
|
||||
recent versions of gettext tools can work with our style of
|
||||
multi-line comments.
|
||||
|
||||
* "git clone --config var=val" is a way to populate the
|
||||
per-repository configuration file of the new repository, but it did
|
||||
not work well when val is an empty string. This has been fixed.
|
||||
|
||||
* A few codepaths in "checkout" and "am" working on an unborn branch
|
||||
tried to access an uninitialized piece of memory.
|
||||
|
||||
* "git for-each-ref --format=..." with %(HEAD) in the format used to
|
||||
resolve the HEAD symref as many times as it had processed refs,
|
||||
which was wasteful, and "git branch" shared the same problem.
|
||||
|
||||
* "git interpret-trailers", when used as GIT_EDITOR for "git commit
|
||||
-v", looked for and appended to a trailer block at the very end,
|
||||
i.e. at the end of the "diff" output. The command has been
|
||||
corrected to pay attention to the cut-mark line "commit -v" adds to
|
||||
the buffer---the real trailer block should appear just before it.
|
||||
|
||||
* A test allowed both "git push" and "git receive-pack" on the other
|
||||
end write their traces into the same file. This is OK on platforms
|
||||
that allows atomically appending to a file opened with O_APPEND,
|
||||
but on other platforms led to a mangled output, causing
|
||||
intermittent test failures. This has been fixed by disabling
|
||||
traces from "receive-pack" in the test.
|
||||
|
||||
* "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
|
||||
slashes in it, cannot be a nickname for a remote on Windows, as
|
||||
that is likely to be a pathname on a local filesystem.
|
||||
|
||||
* The "collision detecting" SHA-1 implementation shipped with 2.13
|
||||
was quite broken on some big-endian platforms and/or platforms that
|
||||
do not like unaligned fetches. Update to the upstream code which
|
||||
has already fixed these issues.
|
||||
|
||||
* "git am -h" triggered a BUG().
|
||||
|
||||
* The interaction of "url.*.insteadOf" and custom URL scheme's
|
||||
whitelisting is now documented better.
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
54
Documentation/RelNotes/2.13.2.txt
Normal file
54
Documentation/RelNotes/2.13.2.txt
Normal file
@ -0,0 +1,54 @@
|
||||
Git v2.13.2 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.13.1
|
||||
-------------------
|
||||
|
||||
* The "collision detecting" SHA-1 implementation shipped with 2.13.1
|
||||
was still broken on some platforms. Update to the upstream code
|
||||
again to take their fix.
|
||||
|
||||
* "git checkout --recurse-submodules" did not quite work with a
|
||||
submodule that itself has submodules.
|
||||
|
||||
* Introduce the BUG() macro to improve die("BUG: ...").
|
||||
|
||||
* The "run-command" API implementation has been made more robust
|
||||
against dead-locking in a threaded environment.
|
||||
|
||||
* A recent update to t5545-push-options.sh started skipping all the
|
||||
tests in the script when a web server testing is disabled or
|
||||
unavailable, not just the ones that require a web server. Non HTTP
|
||||
tests have been salvaged to always run in this script.
|
||||
|
||||
* "git clean -d" used to clean directories that has ignored files,
|
||||
even though the command should not lose ignored ones without "-x".
|
||||
"git status --ignored" did not list ignored and untracked files
|
||||
without "-uall". These have been corrected.
|
||||
|
||||
* The timestamp of the index file is now taken after the file is
|
||||
closed, to help Windows, on which a stale timestamp is reported by
|
||||
fstat() on a file that is opened for writing and data was written
|
||||
but not yet closed.
|
||||
|
||||
* "git pull --rebase --autostash" didn't auto-stash when the local history
|
||||
fast-forwards to the upstream.
|
||||
|
||||
* "git describe --contains" penalized light-weight tags so much that
|
||||
they were almost never considered. Instead, give them about the
|
||||
same chance to be considered as an annotated tag that is the same
|
||||
age as the underlying commit would.
|
||||
|
||||
* The result from "git diff" that compares two blobs, e.g. "git diff
|
||||
$commit1:$path $commit2:$path", used to be shown with the full
|
||||
object name as given on the command line, but it is more natural to
|
||||
use the $path in the output and use it to look up .gitattributes.
|
||||
|
||||
* A flaky test has been corrected.
|
||||
|
||||
* Help contributors that visit us at GitHub.
|
||||
|
||||
* "git stash push <pathspec>" did not work from a subdirectory at all.
|
||||
Bugfix for a topic in v2.13
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
62
Documentation/RelNotes/2.13.3.txt
Normal file
62
Documentation/RelNotes/2.13.3.txt
Normal file
@ -0,0 +1,62 @@
|
||||
Git v2.13.3 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.13.2
|
||||
-------------------
|
||||
|
||||
* The "collision detecting" SHA-1 implementation shipped with 2.13.2
|
||||
was still broken on some platforms. Update to the upstream code
|
||||
again to take their fix.
|
||||
|
||||
* The 'diff-highlight' program (in contrib/) has been restructured
|
||||
for easier reuse by an external project 'diff-so-fancy'.
|
||||
|
||||
* "git mergetool" learned to work around a wrapper MacOS X adds
|
||||
around underlying meld.
|
||||
|
||||
* An example in documentation that does not work in multi worktree
|
||||
configuration has been corrected.
|
||||
|
||||
* The pretty-format specifiers like '%h', '%t', etc. had an
|
||||
optimization that no longer works correctly. In preparation/hope
|
||||
of getting it correctly implemented, first discard the optimization
|
||||
that is broken.
|
||||
|
||||
* The code to pick up and execute command alias definition from the
|
||||
configuration used to switch to the top of the working tree and
|
||||
then come back when the expanded alias was executed, which was
|
||||
unnecessarilyl complex. Attempt to simplify the logic by using the
|
||||
early-config mechanism that does not chdir around.
|
||||
|
||||
* "git add -p" were updated in 2.12 timeframe to cope with custom
|
||||
core.commentchar but the implementation was buggy and a
|
||||
metacharacter like $ and * did not work.
|
||||
|
||||
* Fix a recent regression to "git rebase -i" and add tests that would
|
||||
have caught it and others.
|
||||
|
||||
* An unaligned 32-bit access in pack-bitmap code ahs been corrected.
|
||||
|
||||
* Tighten error checks for invalid "git apply" input.
|
||||
|
||||
* The split index code did not honor core.sharedrepository setting
|
||||
correctly.
|
||||
|
||||
* The Makefile rule in contrib/subtree for building documentation
|
||||
learned to honour USE_ASCIIDOCTOR just like the main documentation
|
||||
set does.
|
||||
|
||||
* A few tests that tried to verify the contents of push certificates
|
||||
did not use 'git rev-parse' to formulate the line to look for in
|
||||
the certificate correctly.
|
||||
|
||||
* After "git branch --move" of the currently checked out branch, the
|
||||
code to walk the reflog of HEAD via "log -g" and friends
|
||||
incorrectly stopped at the reflog entry that records the renaming
|
||||
of the branch.
|
||||
|
||||
* The rewrite of "git branch --list" using for-each-ref's internals
|
||||
that happened in v2.13 regressed its handling of color.branch.local;
|
||||
this has been fixed.
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
28
Documentation/RelNotes/2.13.4.txt
Normal file
28
Documentation/RelNotes/2.13.4.txt
Normal file
@ -0,0 +1,28 @@
|
||||
Git v2.13.4 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.13.3
|
||||
-------------------
|
||||
|
||||
* Update the character width tables.
|
||||
|
||||
* A recent update broke an alias that contained an uppercase letter,
|
||||
which has been fixed.
|
||||
|
||||
* On Cygwin, similar to Windows, "git push //server/share/repository"
|
||||
ought to mean a repository on a network share that can be accessed
|
||||
locally, but this did not work correctly due to stripping the double
|
||||
slashes at the beginning.
|
||||
|
||||
* The progress meter did not give a useful output when we haven't had
|
||||
0.5 seconds to measure the throughput during the interval. Instead
|
||||
show the overall throughput rate at the end, which is a much more
|
||||
useful number.
|
||||
|
||||
* We run an early part of "git gc" that deals with refs before
|
||||
daemonising (and not under lock) even when running a background
|
||||
auto-gc, which caused multiple gc processes attempting to run the
|
||||
early part at the same time. This is now prevented by running the
|
||||
early part also under the GC lock.
|
||||
|
||||
Also contains a handful of small code and documentation clean-ups.
|
4
Documentation/RelNotes/2.13.5.txt
Normal file
4
Documentation/RelNotes/2.13.5.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Git v2.13.5 Release Notes
|
||||
=========================
|
||||
|
||||
This release forward-ports the fix for "ssh://..." URL from Git v2.7.6
|
17
Documentation/RelNotes/2.13.6.txt
Normal file
17
Documentation/RelNotes/2.13.6.txt
Normal file
@ -0,0 +1,17 @@
|
||||
Git v2.13.6 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.13.5
|
||||
-------------------
|
||||
|
||||
* "git cvsserver" no longer is invoked by "git daemon" by default,
|
||||
as it is old and largely unmaintained.
|
||||
|
||||
* Various Perl scripts did not use safe_pipe_capture() instead of
|
||||
backticks, leaving them susceptible to end-user input. They have
|
||||
been corrected.
|
||||
|
||||
Credits go to joernchen <joernchen@phenoelit.de> for finding the
|
||||
unsafe constructs in "git cvsserver", and to Jeff King at GitHub for
|
||||
finding and fixing instances of the same issue in other scripts.
|
||||
|
517
Documentation/RelNotes/2.14.0.txt
Normal file
517
Documentation/RelNotes/2.14.0.txt
Normal file
@ -0,0 +1,517 @@
|
||||
Git 2.14 Release Notes
|
||||
======================
|
||||
|
||||
Backward compatibility notes and other notable changes.
|
||||
|
||||
* Use of an empty string as a pathspec element that is used for
|
||||
'everything matches' is still warned and Git asks users to use a
|
||||
more explicit '.' for that instead. The hope is that existing
|
||||
users will not mind this change, and eventually the warning can be
|
||||
turned into a hard error, upgrading the deprecation into removal of
|
||||
this (mis)feature. That is not scheduled to happen in the upcoming
|
||||
release (yet).
|
||||
|
||||
* Git now avoids blindly falling back to ".git" when the setup
|
||||
sequence said we are _not_ in Git repository. A corner case that
|
||||
happens to work right now may be broken by a call to die("BUG").
|
||||
We've tried hard to locate such cases and fixed them, but there
|
||||
might still be cases that need to be addressed--bug reports are
|
||||
greatly appreciated.
|
||||
|
||||
* The experiment to improve the hunk-boundary selection of textual
|
||||
diff output has finished, and the "indent heuristics" has now
|
||||
become the default.
|
||||
|
||||
* Git can now be built with PCRE v2 instead of v1 of the PCRE
|
||||
library. Replace USE_LIBPCRE=YesPlease with USE_LIBPCRE2=YesPlease
|
||||
in existing build scripts to build against the new version. As the
|
||||
upstream PCRE maintainer has abandoned v1 maintenance for all but
|
||||
the most critical bug fixes, use of v2 is recommended.
|
||||
|
||||
|
||||
Updates since v2.13
|
||||
-------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* The colors in which "git status --short --branch" showed the names
|
||||
of the current branch and its remote-tracking branch are now
|
||||
configurable.
|
||||
|
||||
* "git clone" learned the "--no-tags" option not to fetch all tags
|
||||
initially, and also set up the tagopt not to follow any tags in
|
||||
subsequent fetches.
|
||||
|
||||
* "git archive --format=zip" learned to use zip64 extension when
|
||||
necessary to go beyond the 4GB limit.
|
||||
|
||||
* "git reset" learned "--recurse-submodules" option.
|
||||
|
||||
* "git diff --submodule=diff" now recurses into nested submodules.
|
||||
|
||||
* "git repack" learned to accept the --threads=<n> option and pass it
|
||||
to pack-objects.
|
||||
|
||||
* "git send-email" learned to run sendemail-validate hook to inspect
|
||||
and reject a message before sending it out.
|
||||
|
||||
* There is no good reason why "git fetch $there $sha1" should fail
|
||||
when the $sha1 names an object at the tip of an advertised ref,
|
||||
even when the other side hasn't enabled allowTipSHA1InWant.
|
||||
|
||||
* The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in
|
||||
2.13.0 would canonicalize the path of the gitdir being matched,
|
||||
and did not match e.g. "gitdir:~/work/*" against a repo in
|
||||
"~/work/main" if "~/work" was a symlink to "/mnt/storage/work".
|
||||
Now we match both the resolved canonical path and what "pwd" would
|
||||
show. The include will happen if either one matches.
|
||||
|
||||
* The "indent" heuristics is now the default in "diff". The
|
||||
diff.indentHeuristic configuration variable can be set to "false"
|
||||
for those who do not want it.
|
||||
|
||||
* Many commands learned to pay attention to submodule.recurse
|
||||
configuration.
|
||||
|
||||
* The convention for a command line is to follow "git cmdname
|
||||
--options" with revisions followed by an optional "--"
|
||||
disambiguator and then finally pathspecs. When "--" is not there,
|
||||
we make sure early ones are all interpretable as revs (and do not
|
||||
look like paths) and later ones are the other way around. A
|
||||
pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from
|
||||
the top-level of the working tree, no matter what subdirectory you
|
||||
are working from) are conservatively judged as "not a path", which
|
||||
required disambiguation more often. The command line parser
|
||||
learned to say "it's a pathspec" a bit more often when the syntax
|
||||
looks like so.
|
||||
|
||||
* Update "perl-compatible regular expression" support to enable JIT
|
||||
and also allow linking with the newer PCRE v2 library.
|
||||
|
||||
* "filter-branch" learned a pseudo filter "--setup" that can be used
|
||||
to define common functions/variables that can be used by other
|
||||
filters.
|
||||
|
||||
* Using "git add d/i/r" when d/i/r is the top of the working tree of
|
||||
a separate repository would create a gitlink in the index, which
|
||||
would appear as a not-quite-initialized submodule to others. We
|
||||
learned to give warnings when this happens.
|
||||
|
||||
* "git status" learned to optionally give how many stash entries there
|
||||
are in its output.
|
||||
|
||||
* "git status" has long shown essentially the same message as "git
|
||||
commit"; the message it gives while preparing for the root commit,
|
||||
i.e. "Initial commit", was hard to understand for some new users.
|
||||
Now it says "No commits yet" to stress more on the current status
|
||||
(rather than the commit the user is preparing for, which is more in
|
||||
line with the focus of "git commit").
|
||||
|
||||
* "git send-email" now has --batch-size and --relogin-delay options
|
||||
which can be used to overcome limitations on SMTP servers that
|
||||
restrict on how many of e-mails can be sent in a single session.
|
||||
|
||||
* An old message shown in the commit log template was removed, as it
|
||||
has outlived its usefulness.
|
||||
|
||||
* "git pull --rebase --recurse-submodules" learns to rebase the
|
||||
branch in the submodules to an updated base.
|
||||
|
||||
* "git log" learned -P as a synonym for --perl-regexp, "git grep"
|
||||
already had such a synonym.
|
||||
|
||||
* "git log" didn't understand --regexp-ignore-case when combined with
|
||||
--perl-regexp. This has been fixed.
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* The default packed-git limit value has been raised on larger
|
||||
platforms to save "git fetch" from a (recoverable) failure while
|
||||
"gc" is running in parallel.
|
||||
|
||||
* Code to update the cache-tree has been tightened so that we won't
|
||||
accidentally write out any 0{40} entry in the tree object.
|
||||
|
||||
* Attempt to allow us notice "fishy" situation where we fail to
|
||||
remove the temporary directory used during the test.
|
||||
|
||||
* Travis CI gained a task to format the documentation with both
|
||||
AsciiDoc and AsciiDoctor.
|
||||
|
||||
* Some platforms have ulong that is smaller than time_t, and our
|
||||
historical use of ulong for timestamp would mean they cannot
|
||||
represent some timestamp that the platform allows. Invent a
|
||||
separate and dedicated timestamp_t (so that we can distingiuish
|
||||
timestamps and a vanilla ulongs, which along is already a good
|
||||
move), and then declare uintmax_t is the type to be used as the
|
||||
timestamp_t.
|
||||
|
||||
* We can trigger Windows auto-build tester (credits: Dscho &
|
||||
Microsoft) from our existing Travis CI tester now.
|
||||
|
||||
* Conversion from uchar[20] to struct object_id continues.
|
||||
|
||||
* Simplify parse_pathspec() codepath and stop it from looking at the
|
||||
default in-core index.
|
||||
|
||||
* Add perf-test for wildmatch.
|
||||
|
||||
* Code from "conversion using external process" codepath has been
|
||||
extracted to a separate sub-process.[ch] module.
|
||||
|
||||
* When "git checkout", "git merge", etc. manipulates the in-core
|
||||
index, various pieces of information in the index extensions are
|
||||
discarded from the original state, as it is usually not the case
|
||||
that they are kept up-to-date and in-sync with the operation on the
|
||||
main index. The untracked cache extension is copied across these
|
||||
operations now, which would speed up "git status" (as long as the
|
||||
cache is properly invalidated).
|
||||
|
||||
* The internal implementation of "git grep" has seen some clean-up.
|
||||
|
||||
* Update the C style recommendation for notes for translators, as
|
||||
recent versions of gettext tools can work with our style of
|
||||
multi-line comments.
|
||||
|
||||
* The implementation of "ref" API around the "packed refs" have been
|
||||
cleaned up, in preparation for further changes.
|
||||
|
||||
* The internal logic used in "git blame" has been libified to make it
|
||||
easier to use by cgit.
|
||||
|
||||
* Our code often opens a path to an optional file, to work on its
|
||||
contents when we can successfully open it. We can ignore a failure
|
||||
to open if such an optional file does not exist, but we do want to
|
||||
report a failure in opening for other reasons (e.g. we got an I/O
|
||||
error, or the file is there, but we lack the permission to open).
|
||||
|
||||
The exact errors we need to ignore are ENOENT (obviously) and
|
||||
ENOTDIR (less obvious). Instead of repeating comparison of errno
|
||||
with these two constants, introduce a helper function to do so.
|
||||
|
||||
* We often try to open a file for reading whose existence is
|
||||
optional, and silently ignore errors from open/fopen; report such
|
||||
errors if they are not due to missing files.
|
||||
|
||||
* When an existing repository is used for t/perf testing, we first
|
||||
create bit-for-bit copy of it, which may grab a transient state of
|
||||
the repository and freeze it into the repository used for testing,
|
||||
which then may cause Git operations to fail. Single out "the index
|
||||
being locked" case and forcibly drop the lock from the copy.
|
||||
|
||||
* Three instances of the same helper function have been consolidated
|
||||
to one.
|
||||
|
||||
* "fast-import" uses a default pack chain depth that is consistent
|
||||
with other parts of the system.
|
||||
|
||||
* A new test to show the interaction between the pattern [^a-z]
|
||||
(which matches '/') and a slash in a path has been added. The
|
||||
pattern should not match the slash with "pathmatch", but should
|
||||
with "wildmatch".
|
||||
|
||||
* The 'diff-highlight' program (in contrib/) has been restructured
|
||||
for easier reuse by an external project 'diff-so-fancy'.
|
||||
|
||||
* A common pattern to free a piece of memory and assign NULL to the
|
||||
pointer that used to point at it has been replaced with a new
|
||||
FREE_AND_NULL() macro.
|
||||
|
||||
* Traditionally, the default die() routine had a code to prevent it
|
||||
from getting called multiple times, which interacted badly when a
|
||||
threaded program used it (one downside is that the real error may
|
||||
be hidden and instead the only error message given to the user may
|
||||
end up being "die recursion detected", which is not very useful).
|
||||
|
||||
* Introduce a "repository" object to eventually make it easier to
|
||||
work in multiple repositories (the primary focus is to work with
|
||||
the superproject and its submodules) in a single process.
|
||||
|
||||
* Optimize "what are the object names already taken in an alternate
|
||||
object database?" query that is used to derive the length of prefix
|
||||
an object name is uniquely abbreviated to.
|
||||
|
||||
* The hashmap API has been updated so that data to customize the
|
||||
behaviour of the comparison function can be specified at the time a
|
||||
hashmap is initialized.
|
||||
|
||||
* The "collision detecting" SHA-1 implementation shipped with 2.13 is
|
||||
now integrated into git.git as a submodule (the first submodule to
|
||||
ship with git.git). Clone git.git with --recurse-submodules to get
|
||||
it. For now a non-submodule copy of the same code is also shipped
|
||||
as part of the tree.
|
||||
|
||||
* A recent update made it easier to use "-fsanitize=" option while
|
||||
compiling but supported only one sanitize option. Allow more than
|
||||
one to be combined, joined with a comma, like "make SANITIZE=foo,bar".
|
||||
|
||||
* Use "p4 -G" to make "p4 changes" output more Python-friendly
|
||||
to parse.
|
||||
|
||||
* We started using "%" PRItime, imitating "%" PRIuMAX and friends, as
|
||||
a way to format the internal timestamp value, but this does not
|
||||
play well with gettext(1) i18n framework, and causes "make pot"
|
||||
that is run by the l10n coordinator to create a broken po/git.pot
|
||||
file. This is a possible workaround for that problem.
|
||||
|
||||
* It turns out that Cygwin also needs the fopen() wrapper that
|
||||
returns failure when a directory is opened for reading.
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v2.13
|
||||
-----------------
|
||||
|
||||
Unless otherwise noted, all the fixes since v2.13 in the maintenance
|
||||
track are contained in this release (see the maintenance releases'
|
||||
notes for details).
|
||||
|
||||
* "git gc" did not interact well with "git worktree"-managed
|
||||
per-worktree refs.
|
||||
|
||||
* "git cherry-pick" and other uses of the sequencer machinery
|
||||
mishandled a trailer block whose last line is an incomplete line.
|
||||
This has been fixed so that an additional sign-off etc. are added
|
||||
after completing the existing incomplete line.
|
||||
|
||||
* The codepath in "git am" that is used when running "git rebase"
|
||||
leaked memory held for the log message of the commits being rebased.
|
||||
|
||||
* "git clone --config var=val" is a way to populate the
|
||||
per-repository configuration file of the new repository, but it did
|
||||
not work well when val is an empty string. This has been fixed.
|
||||
|
||||
* Setting "log.decorate=false" in the configuration file did not take
|
||||
effect in v2.13, which has been corrected.
|
||||
|
||||
* A few codepaths in "checkout" and "am" working on an unborn branch
|
||||
tried to access an uninitialized piece of memory.
|
||||
|
||||
* The Web interface to gmane news archive is long gone, even though
|
||||
the articles are still accessible via NTTP. Replace the links with
|
||||
ones to public-inbox.org. Because their message identification is
|
||||
based on the actual message-id, it is likely that it will be easier
|
||||
to migrate away from it if/when necessary.
|
||||
|
||||
* The receive-pack program now makes sure that the push certificate
|
||||
records the same set of push options used for pushing.
|
||||
|
||||
* Tests have been updated to pass under GETTEXT_POISON (a mechanism
|
||||
to ensure that output strings that should not be translated are
|
||||
not translated by mistake), and TravisCI is told to run them.
|
||||
|
||||
* "git checkout --recurse-submodules" did not quite work with a
|
||||
submodule that itself has submodules.
|
||||
|
||||
* "pack-objects" can stream a slice of an existing packfile out when
|
||||
the pack bitmap can tell that the reachable objects are all needed
|
||||
in the output, without inspecting individual objects. This
|
||||
strategy however would not work well when "--local" and other
|
||||
options are in use, and need to be disabled.
|
||||
|
||||
* Fix memory leaks pointed out by Coverity (and people).
|
||||
|
||||
* "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use
|
||||
--empty if you want to clear the index". With "-m", such a request
|
||||
will still fail anyway, as you'd need to name at least one tree-ish
|
||||
to be merged.
|
||||
|
||||
* Make sure our tests would pass when the sources are checked out
|
||||
with "platform native" line ending convention by default on
|
||||
Windows. Some "text" files out tests use and the test scripts
|
||||
themselves that are meant to be run with /bin/sh, ought to be
|
||||
checked out with eol=LF even on Windows.
|
||||
|
||||
* Introduce the BUG() macro to improve die("BUG: ...").
|
||||
|
||||
* Clarify documentation for include.path and includeIf.<condition>.path
|
||||
configuration variables.
|
||||
|
||||
* Git sometimes gives an advice in a rhetorical question that does
|
||||
not require an answer, which can confuse new users and non native
|
||||
speakers. Attempt to rephrase them.
|
||||
|
||||
* A few http:// links that are redirected to https:// in the
|
||||
documentation have been updated to https:// links.
|
||||
|
||||
* "git for-each-ref --format=..." with %(HEAD) in the format used to
|
||||
resolve the HEAD symref as many times as it had processed refs,
|
||||
which was wasteful, and "git branch" shared the same problem.
|
||||
|
||||
* Regression fix to topic recently merged to 'master'.
|
||||
|
||||
* The shell completion script (in contrib/) learned "git stash" has
|
||||
a new "push" subcommand.
|
||||
|
||||
* "git interpret-trailers", when used as GIT_EDITOR for "git commit
|
||||
-v", looked for and appended to a trailer block at the very end,
|
||||
i.e. at the end of the "diff" output. The command has been
|
||||
corrected to pay attention to the cut-mark line "commit -v" adds to
|
||||
the buffer---the real trailer block should appear just before it.
|
||||
|
||||
* A test allowed both "git push" and "git receive-pack" on the other
|
||||
end write their traces into the same file. This is OK on platforms
|
||||
that allows atomically appending to a file opened with O_APPEND,
|
||||
but on other platforms led to a mangled output, causing
|
||||
intermittent test failures. This has been fixed by disabling
|
||||
traces from "receive-pack" in the test.
|
||||
|
||||
* Tag objects, which are not reachable from any ref, that point at
|
||||
missing objects were mishandled by "git gc" and friends (they
|
||||
should silently be ignored instead)
|
||||
|
||||
* "git describe --contains" penalized light-weight tags so much that
|
||||
they were almost never considered. Instead, give them about the
|
||||
same chance to be considered as an annotated tag that is the same
|
||||
age as the underlying commit would.
|
||||
|
||||
* The "run-command" API implementation has been made more robust
|
||||
against dead-locking in a threaded environment.
|
||||
|
||||
* A recent update to t5545-push-options.sh started skipping all the
|
||||
tests in the script when a web server testing is disabled or
|
||||
unavailable, not just the ones that require a web server. Non HTTP
|
||||
tests have been salvaged to always run in this script.
|
||||
|
||||
* "git send-email" now uses Net::SMTP::SSL, which is obsolete, only
|
||||
when needed. Recent versions of Net::SMTP can do TLS natively.
|
||||
|
||||
* "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
|
||||
slashes in it, cannot be a nickname for a remote on Windows, as
|
||||
that is likely to be a pathname on a local filesystem.
|
||||
|
||||
* "git clean -d" used to clean directories that has ignored files,
|
||||
even though the command should not lose ignored ones without "-x".
|
||||
"git status --ignored" did not list ignored and untracked files
|
||||
without "-uall". These have been corrected.
|
||||
|
||||
* The result from "git diff" that compares two blobs, e.g. "git diff
|
||||
$commit1:$path $commit2:$path", used to be shown with the full
|
||||
object name as given on the command line, but it is more natural to
|
||||
use the $path in the output and use it to look up .gitattributes.
|
||||
|
||||
* The "collision detecting" SHA-1 implementation shipped with 2.13
|
||||
was quite broken on some big-endian platforms and/or platforms that
|
||||
do not like unaligned fetches. Update to the upstream code which
|
||||
has already fixed these issues.
|
||||
|
||||
* "git am -h" triggered a BUG().
|
||||
|
||||
* The interaction of "url.*.insteadOf" and custom URL scheme's
|
||||
whitelisting is now documented better.
|
||||
|
||||
* The timestamp of the index file is now taken after the file is
|
||||
closed, to help Windows, on which a stale timestamp is reported by
|
||||
fstat() on a file that is opened for writing and data was written
|
||||
but not yet closed.
|
||||
|
||||
* "git pull --rebase --autostash" didn't auto-stash when the local history
|
||||
fast-forwards to the upstream.
|
||||
|
||||
* A flaky test has been corrected.
|
||||
|
||||
* "git $cmd -h" for builtin commands calls the implementation of the
|
||||
command (i.e. cmd_$cmd() function) without doing any repository
|
||||
set-up, and the commands that expect RUN_SETUP is done by the Git
|
||||
potty needs to be prepared to show the help text without barfing.
|
||||
(merge d691551192 jk/consistent-h later to maint).
|
||||
|
||||
* Help contributors that visit us at GitHub.
|
||||
|
||||
* "git stash push <pathspec>" did not work from a subdirectory at all.
|
||||
Bugfix for a topic in v2.13
|
||||
|
||||
* As there is no portable way to pass timezone information to
|
||||
strftime, some output format from "git log" and friends are
|
||||
impossible to produce. Teach our own strbuf_addftime to replace %z
|
||||
and %Z with caller-supplied values to help working around this.
|
||||
(merge 6eced3ec5e rs/strbuf-addftime-zZ later to maint).
|
||||
|
||||
* "git mergetool" learned to work around a wrapper MacOS X adds
|
||||
around underlying meld.
|
||||
|
||||
* An example in documentation that does not work in multi worktree
|
||||
configuration has been corrected.
|
||||
|
||||
* The pretty-format specifiers like '%h', '%t', etc. had an
|
||||
optimization that no longer works correctly. In preparation/hope
|
||||
of getting it correctly implemented, first discard the optimization
|
||||
that is broken.
|
||||
|
||||
* The code to pick up and execute command alias definition from the
|
||||
configuration used to switch to the top of the working tree and
|
||||
then come back when the expanded alias was executed, which was
|
||||
unnecessarilyl complex. Attempt to simplify the logic by using the
|
||||
early-config mechanism that does not chdir around.
|
||||
|
||||
* Fix configuration codepath to pay proper attention to commondir
|
||||
that is used in multi-worktree situation, and isolate config API
|
||||
into its own header file.
|
||||
(merge dc8441fdb4 bw/config-h later to maint).
|
||||
|
||||
* "git add -p" were updated in 2.12 timeframe to cope with custom
|
||||
core.commentchar but the implementation was buggy and a
|
||||
metacharacter like $ and * did not work.
|
||||
|
||||
* A recent regression in "git rebase -i" has been fixed and tests
|
||||
that would have caught it and others have been added.
|
||||
|
||||
* An unaligned 32-bit access in pack-bitmap code has been corrected.
|
||||
|
||||
* Tighten error checks for invalid "git apply" input.
|
||||
|
||||
* The split index code did not honor core.sharedRepository setting
|
||||
correctly.
|
||||
|
||||
* The Makefile rule in contrib/subtree for building documentation
|
||||
learned to honour USE_ASCIIDOCTOR just like the main documentation
|
||||
set does.
|
||||
|
||||
* Code clean-up to fix possible buffer over-reading.
|
||||
|
||||
* A few tests that tried to verify the contents of push certificates
|
||||
did not use 'git rev-parse' to formulate the line to look for in
|
||||
the certificate correctly.
|
||||
|
||||
* Update the character width tables.
|
||||
|
||||
* After "git branch --move" of the currently checked out branch, the
|
||||
code to walk the reflog of HEAD via "log -g" and friends
|
||||
incorrectly stopped at the reflog entry that records the renaming
|
||||
of the branch.
|
||||
|
||||
* The rewrite of "git branch --list" using for-each-ref's internals
|
||||
that happened in v2.13 regressed its handling of color.branch.local;
|
||||
this has been fixed.
|
||||
|
||||
* The build procedure has been improved to allow building and testing
|
||||
Git with address sanitizer more easily.
|
||||
(merge 425ca6710b jk/build-with-asan later to maint).
|
||||
|
||||
* On Cygwin, similar to Windows, "git push //server/share/repository"
|
||||
ought to mean a repository on a network share that can be accessed
|
||||
locally, but this did not work correctly due to stripping the double
|
||||
slashes at the beginning.
|
||||
|
||||
* The progress meter did not give a useful output when we haven't had
|
||||
0.5 seconds to measure the throughput during the interval. Instead
|
||||
show the overall throughput rate at the end, which is a much more
|
||||
useful number.
|
||||
|
||||
* Code clean-up, that makes us in sync with Debian by one patch.
|
||||
|
||||
* We run an early part of "git gc" that deals with refs before
|
||||
daemonising (and not under lock) even when running a background
|
||||
auto-gc, which caused multiple gc processes attempting to run the
|
||||
early part at the same time. This is now prevented by running the
|
||||
early part also under the GC lock.
|
||||
|
||||
* A recent update broke an alias that contained an uppercase letter.
|
||||
|
||||
* Other minor doc, test and build updates and code cleanups.
|
||||
(merge 5053313562 rs/urlmatch-cleanup later to maint).
|
||||
(merge 42c78a216e rs/use-div-round-up later to maint).
|
||||
(merge 5e8d2729ae rs/wt-status-cleanup later to maint).
|
||||
(merge bc9b7e207f as/diff-options-grammofix later to maint).
|
||||
(merge ac05222b31 ah/patch-id-doc later to maint).
|
4
Documentation/RelNotes/2.14.1.txt
Normal file
4
Documentation/RelNotes/2.14.1.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Git v2.14.1 Release Notes
|
||||
=========================
|
||||
|
||||
This release forward-ports the fix for "ssh://..." URL from Git v2.7.6
|
105
Documentation/RelNotes/2.14.2.txt
Normal file
105
Documentation/RelNotes/2.14.2.txt
Normal file
@ -0,0 +1,105 @@
|
||||
Git v2.14.2 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.14.1
|
||||
-------------------
|
||||
|
||||
* Because recent Git for Windows do come with a real msgfmt, the
|
||||
build procedure for git-gui has been updated to use it instead of a
|
||||
hand-rolled substitute.
|
||||
|
||||
* "%C(color name)" in the pretty print format always produced ANSI
|
||||
color escape codes, which was an early design mistake. They now
|
||||
honor the configuration (e.g. "color.ui = never") and also tty-ness
|
||||
of the output medium.
|
||||
|
||||
* The http.{sslkey,sslCert} configuration variables are to be
|
||||
interpreted as a pathname that honors "~[username]/" prefix, but
|
||||
weren't, which has been fixed.
|
||||
|
||||
* Numerous bugs in walking of reflogs via "log -g" and friends have
|
||||
been fixed.
|
||||
|
||||
* "git commit" when seeing an totally empty message said "you did not
|
||||
edit the message", which is clearly wrong. The message has been
|
||||
corrected.
|
||||
|
||||
* When a directory is not readable, "gitweb" fails to build the
|
||||
project list. Work this around by skipping such a directory.
|
||||
|
||||
* A recently added test for the "credential-cache" helper revealed
|
||||
that EOF detection done around the time the connection to the cache
|
||||
daemon is torn down were flaky. This was fixed by reacting to
|
||||
ECONNRESET and behaving as if we got an EOF.
|
||||
|
||||
* Some versions of GnuPG fail to kill gpg-agent it auto-spawned
|
||||
and such a left-over agent can interfere with a test. Work it
|
||||
around by attempting to kill one before starting a new test.
|
||||
|
||||
* "git log --tag=no-such-tag" showed log starting from HEAD, which
|
||||
has been fixed---it now shows nothing.
|
||||
|
||||
* The "tag.pager" configuration variable was useless for those who
|
||||
actually create tag objects, as it interfered with the use of an
|
||||
editor. A new mechanism has been introduced for commands to enable
|
||||
pager depending on what operation is being carried out to fix this,
|
||||
and then "git tag -l" is made to run pager by default.
|
||||
|
||||
* "git push --recurse-submodules $there HEAD:$target" was not
|
||||
propagated down to the submodules, but now it is.
|
||||
|
||||
* Commands like "git rebase" accepted the --rerere-autoupdate option
|
||||
from the command line, but did not always use it. This has been
|
||||
fixed.
|
||||
|
||||
* "git clone --recurse-submodules --quiet" did not pass the quiet
|
||||
option down to submodules.
|
||||
|
||||
* "git am -s" has been taught that some input may end with a trailer
|
||||
block that is not Signed-off-by: and it should refrain from adding
|
||||
an extra blank line before adding a new sign-off in such a case.
|
||||
|
||||
* "git svn" used with "--localtime" option did not compute the tz
|
||||
offset for the timestamp in question and instead always used the
|
||||
current time, which has been corrected.
|
||||
|
||||
* Memory leaks in a few error codepaths have been plugged.
|
||||
|
||||
* bash 4.4 or newer gave a warning on NUL byte in command
|
||||
substitution done in "git stash"; this has been squelched.
|
||||
|
||||
* "git grep -L" and "git grep --quiet -L" reported different exit
|
||||
codes; this has been corrected.
|
||||
|
||||
* When handshake with a subprocess filter notices that the process
|
||||
asked for an unknown capability, Git did not report what program
|
||||
the offending subprocess was running. This has been corrected.
|
||||
|
||||
* "git apply" that is used as a better "patch -p1" failed to apply a
|
||||
taken from a file with CRLF line endings to a file with CRLF line
|
||||
endings. The root cause was because it misused convert_to_git()
|
||||
that tried to do "safe-crlf" processing by looking at the index
|
||||
entry at the same path, which is a nonsense---in that mode, "apply"
|
||||
is not working on the data in (or derived from) the index at all.
|
||||
This has been fixed.
|
||||
|
||||
* Killing "git merge --edit" before the editor returns control left
|
||||
the repository in a state with MERGE_MSG but without MERGE_HEAD,
|
||||
which incorrectly tells the subsequent "git commit" that there was
|
||||
a squash merge in progress. This has been fixed.
|
||||
|
||||
* "git archive" did not work well with pathspecs and the
|
||||
export-ignore attribute.
|
||||
|
||||
* "git cvsserver" no longer is invoked by "git daemon" by default,
|
||||
as it is old and largely unmaintained.
|
||||
|
||||
* Various Perl scripts did not use safe_pipe_capture() instead of
|
||||
backticks, leaving them susceptible to end-user input. They have
|
||||
been corrected.
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
||||
Credits go to joernchen <joernchen@phenoelit.de> for finding the
|
||||
unsafe constructs in "git cvsserver", and to Jeff King at GitHub for
|
||||
finding and fixing instances of the same issue in other scripts.
|
75
Documentation/RelNotes/2.14.3.txt
Normal file
75
Documentation/RelNotes/2.14.3.txt
Normal file
@ -0,0 +1,75 @@
|
||||
Git v2.14.3 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v2.14.2
|
||||
-------------------
|
||||
|
||||
* A helper function to read a single whole line into strbuf
|
||||
mistakenly triggered OOM error at EOF under certain conditions,
|
||||
which has been fixed.
|
||||
|
||||
* In addition to "cc: <a@dd.re.ss> # cruft", "cc: a@dd.re.ss # cruft"
|
||||
was taught to "git send-email" as a valid way to tell it that it
|
||||
needs to also send a carbon copy to <a@dd.re.ss> in the trailer
|
||||
section.
|
||||
|
||||
* Fix regression to "gitk --bisect" by a recent update.
|
||||
|
||||
* Unlike "git commit-tree < file", "git commit-tree -F file" did not
|
||||
pass the contents of the file verbatim and instead completed an
|
||||
incomplete line at the end, if exists. The latter has been updated
|
||||
to match the behaviour of the former.
|
||||
|
||||
* "git archive", especially when used with pathspec, stored an empty
|
||||
directory in its output, even though Git itself never does so.
|
||||
This has been fixed.
|
||||
|
||||
* API error-proofing which happens to also squelch warnings from GCC.
|
||||
|
||||
* "git gc" tries to avoid running two instances at the same time by
|
||||
reading and writing pid/host from and to a lock file; it used to
|
||||
use an incorrect fscanf() format when reading, which has been
|
||||
corrected.
|
||||
|
||||
* The test linter has been taught that we do not like "echo -e".
|
||||
|
||||
* Code cmp.std.c nitpick.
|
||||
|
||||
* "git describe --match" learned to take multiple patterns in v2.13
|
||||
series, but the feature ignored the patterns after the first one
|
||||
and did not work at all. This has been fixed.
|
||||
|
||||
* "git cat-file --textconv" started segfaulting recently, which
|
||||
has been corrected.
|
||||
|
||||
* The built-in pattern to detect the "function header" for HTML did
|
||||
not match <H1>..<H6> elements without any attributes, which has
|
||||
been fixed.
|
||||
|
||||
* "git mailinfo" was loose in decoding quoted printable and produced
|
||||
garbage when the two letters after the equal sign are not
|
||||
hexadecimal. This has been fixed.
|
||||
|
||||
* The documentation for '-X<option>' for merges was misleadingly
|
||||
written to suggest that "-s theirs" exists, which is not the case.
|
||||
|
||||
* Spell the name of our system as "Git" in the output from
|
||||
request-pull script.
|
||||
|
||||
* Fixes for a handful memory access issues identified by valgrind.
|
||||
|
||||
* Backports a moral equivalent of 2015 fix to the poll emulation from
|
||||
the upstream gnulib to fix occasional breakages on HPE NonStop.
|
||||
|
||||
* In the "--format=..." option of the "git for-each-ref" command (and
|
||||
its friends, i.e. the listing mode of "git branch/tag"), "%(atom:)"
|
||||
(e.g. "%(refname:)", "%(body:)" used to error out. Instead, treat
|
||||
them as if the colon and an empty string that follows it were not
|
||||
there.
|
||||
|
||||
* Users with "color.ui = always" in their configuration were broken
|
||||
by a recent change that made plumbing commands to pay attention to
|
||||
them as the patch created internally by "git add -p" were colored
|
||||
(heh) and made unusable. This has been fixed.
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
501
Documentation/RelNotes/2.15.0.txt
Normal file
501
Documentation/RelNotes/2.15.0.txt
Normal file
@ -0,0 +1,501 @@
|
||||
Git 2.15 Release Notes
|
||||
======================
|
||||
|
||||
Backward compatibility notes and other notable changes.
|
||||
|
||||
* Use of an empty string as a pathspec element that is used for
|
||||
'everything matches' is still warned and Git asks users to use a
|
||||
more explicit '.' for that instead. The hope is that existing
|
||||
users will not mind this change, and eventually the warning can be
|
||||
turned into a hard error, upgrading the deprecation into removal of
|
||||
this (mis)feature. That is now scheduled to happen in Git v2.16,
|
||||
the next major release after this one.
|
||||
|
||||
* Git now avoids blindly falling back to ".git" when the setup
|
||||
sequence said we are _not_ in Git repository. A corner case that
|
||||
happens to work right now may be broken by a call to BUG().
|
||||
We've tried hard to locate such cases and fixed them, but there
|
||||
might still be cases that need to be addressed--bug reports are
|
||||
greatly appreciated.
|
||||
|
||||
* "branch --set-upstream" that has been deprecated in Git 1.8 has
|
||||
finally been retired.
|
||||
|
||||
|
||||
Updates since v2.14
|
||||
-------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* An example that is now obsolete has been removed from a sample hook,
|
||||
and an old example in it that added a sign-off manually has been
|
||||
improved to use the interpret-trailers command.
|
||||
|
||||
* The advice message given when "git rebase" stops for conflicting
|
||||
changes has been improved.
|
||||
|
||||
* The "rerere-train" script (in contrib/) learned the "--overwrite"
|
||||
option to allow overwriting existing recorded resolutions.
|
||||
|
||||
* "git contacts" (in contrib/) now lists the address on the
|
||||
"Reported-by:" trailer to its output, in addition to those on
|
||||
S-o-b: and other trailers, to make it easier to notify (and thank)
|
||||
the original bug reporter.
|
||||
|
||||
* "git rebase", especially when it is run by mistake and ends up
|
||||
trying to replay many changes, spent long time in silence. The
|
||||
command has been taught to show progress report when it spends
|
||||
long time preparing these many changes to replay (which would give
|
||||
the user a chance to abort with ^C).
|
||||
|
||||
* "git merge" learned a "--signoff" option to add the Signed-off-by:
|
||||
trailer with the committer's name.
|
||||
|
||||
* "git diff" learned to optionally paint new lines that are the same
|
||||
as deleted lines elsewhere differently from genuinely new lines.
|
||||
|
||||
* "git interpret-trailers" learned to take the trailer specifications
|
||||
from the command line that overrides the configured values.
|
||||
|
||||
* "git interpret-trailers" has been taught a "--parse" and a few
|
||||
other options to make it easier for scripts to grab existing
|
||||
trailer lines from a commit log message.
|
||||
|
||||
* The "--format=%(trailers)" option "git log" and its friends take
|
||||
learned to take the 'unfold' and 'only' modifiers to normalize its
|
||||
output, e.g. "git log --format=%(trailers:only,unfold)".
|
||||
|
||||
* "gitweb" shows a link to visit the 'raw' contents of blbos in the
|
||||
history overview page.
|
||||
|
||||
* "[gc] rerereResolved = 5.days" used to be invalid, as the variable
|
||||
is defined to take an integer counting the number of days. It now
|
||||
is allowed.
|
||||
|
||||
* The code to acquire a lock on a reference (e.g. while accepting a
|
||||
push from a client) used to immediately fail when the reference is
|
||||
already locked---now it waits for a very short while and retries,
|
||||
which can make it succeed if the lock holder was holding it during
|
||||
a read-only operation.
|
||||
|
||||
* "branch --set-upstream" that has been deprecated in Git 1.8 has
|
||||
finally been retired.
|
||||
|
||||
* The codepath to call external process filter for smudge/clean
|
||||
operation learned to show the progress meter.
|
||||
|
||||
* "git rev-parse" learned "--is-shallow-repository", that is to be
|
||||
used in a way similar to existing "--is-bare-repository" and
|
||||
friends.
|
||||
|
||||
* "git describe --match <pattern>" has been taught to play well with
|
||||
the "--all" option.
|
||||
|
||||
* "git branch" learned "-c/-C" to create a new branch by copying an
|
||||
existing one.
|
||||
|
||||
* Some commands (most notably "git status") makes an opportunistic
|
||||
update when performing a read-only operation to help optimize later
|
||||
operations in the same repository. The new "--no-optional-locks"
|
||||
option can be passed to Git to disable them.
|
||||
|
||||
* "git for-each-ref --format=..." learned a new format element,
|
||||
%(trailers), to show only the commit log trailer part of the log
|
||||
message.
|
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc.
|
||||
|
||||
* Conversion from uchar[20] to struct object_id continues.
|
||||
|
||||
* Start using selected c99 constructs in small, stable and
|
||||
essentialpart of the system to catch people who care about
|
||||
older compilers that do not grok them.
|
||||
|
||||
* The filter-process interface learned to allow a process with long
|
||||
latency give a "delayed" response.
|
||||
|
||||
* Many uses of comparision callback function the hashmap API uses
|
||||
cast the callback function type when registering it to
|
||||
hashmap_init(), which defeats the compile time type checking when
|
||||
the callback interface changes (e.g. gaining more parameters).
|
||||
The callback implementations have been updated to take "void *"
|
||||
pointers and cast them to the type they expect instead.
|
||||
|
||||
* Because recent Git for Windows do come with a real msgfmt, the
|
||||
build procedure for git-gui has been updated to use it instead of a
|
||||
hand-rolled substitute.
|
||||
|
||||
* "git grep --recurse-submodules" has been reworked to give a more
|
||||
consistent output across submodule boundary (and do its thing
|
||||
without having to fork a separate process).
|
||||
|
||||
* A helper function to read a single whole line into strbuf
|
||||
mistakenly triggered OOM error at EOF under certain conditions,
|
||||
which has been fixed.
|
||||
|
||||
* The "ref-store" code reorganization continues.
|
||||
|
||||
* "git commit" used to discard the index and re-read from the filesystem
|
||||
just in case the pre-commit hook has updated it in the middle; this
|
||||
has been optimized out when we know we do not run the pre-commit hook.
|
||||
(merge 680ee550d7 kw/commit-keep-index-when-pre-commit-is-not-run later to maint).
|
||||
|
||||
* Updates to the HTTP layer we made recently unconditionally used
|
||||
features of libCurl without checking the existence of them, causing
|
||||
compilation errors, which has been fixed. Also migrate the code to
|
||||
check feature macros, not version numbers, to cope better with
|
||||
libCurl that vendor ships with backported features.
|
||||
|
||||
* The API to start showing progress meter after a short delay has
|
||||
been simplified.
|
||||
(merge 8aade107dd jc/simplify-progress later to maint).
|
||||
|
||||
* Code clean-up to avoid mixing values read from the .gitmodules file
|
||||
and values read from the .git/config file.
|
||||
|
||||
* We used to spend more than necessary cycles allocating and freeing
|
||||
piece of memory while writing each index entry out. This has been
|
||||
optimized.
|
||||
|
||||
* Platforms that ship with a separate sha1 with collision detection
|
||||
library can link to it instead of using the copy we ship as part of
|
||||
our source tree.
|
||||
|
||||
* Code around "notes" have been cleaned up.
|
||||
(merge 3964281524 mh/notes-cleanup later to maint).
|
||||
|
||||
* The long-standing rule that an in-core lockfile instance, once it
|
||||
is used, must not be freed, has been lifted and the lockfile and
|
||||
tempfile APIs have been updated to reduce the chance of programming
|
||||
errors.
|
||||
|
||||
* Our hashmap implementation in hashmap.[ch] is not thread-safe when
|
||||
adding a new item needs to expand the hashtable by rehashing; add
|
||||
an API to disable the automatic rehashing to work it around.
|
||||
|
||||
* Many of our programs consider that it is OK to release dynamic
|
||||
storage that is used throughout the life of the program by simply
|
||||
exiting, but this makes it harder to leak detection tools to avoid
|
||||
reporting false positives. Plug many existing leaks and introduce
|
||||
a mechanism for developers to mark that the region of memory
|
||||
pointed by a pointer is not lost/leaking to help these tools.
|
||||
|
||||
* As "git commit" to conclude a conflicted "git merge" honors the
|
||||
commit-msg hook, "git merge" that records a merge commit that
|
||||
cleanly auto-merges should, but it didn't.
|
||||
|
||||
* The codepath for "git merge-recursive" has been cleaned up.
|
||||
|
||||
* Many leaks of strbuf have been fixed.
|
||||
|
||||
* "git imap-send" has our own implementation of the protocol and also
|
||||
can use more recent libCurl with the imap protocol support. Update
|
||||
the latter so that it can use the credential subsystem, and then
|
||||
make it the default option to use, so that we can eventually
|
||||
deprecate and remove the former.
|
||||
|
||||
* "make style" runs git-clang-format to help developers by pointing
|
||||
out coding style issues.
|
||||
|
||||
* A test to demonstrate "git mv" failing to adjust nested submodules
|
||||
has been added.
|
||||
(merge c514167df2 hv/mv-nested-submodules-test later to maint).
|
||||
|
||||
* On Cygwin, "ulimit -s" does not report failure but it does not work
|
||||
at all, which causes an unexpected success of some tests that
|
||||
expect failures under a limited stack situation. This has been
|
||||
fixed.
|
||||
|
||||
* Many codepaths have been updated to squelch -Wimplicit-fallthrough
|
||||
warnings from Gcc 7 (which is a good code hygiene).
|
||||
|
||||
* Add a helper for DLL loading in anticipation for its need in a
|
||||
future topic RSN.
|
||||
|
||||
* "git status --ignored", when noticing that a directory without any
|
||||
tracked path is ignored, still enumerated all the ignored paths in
|
||||
the directory, which is unnecessary. The codepath has been
|
||||
optimized to avoid this overhead.
|
||||
|
||||
* The final batch to "git rebase -i" updates to move more code from
|
||||
the shell script to C has been merged.
|
||||
|
||||
* Operations that do not touch (majority of) packed refs have been
|
||||
optimized by making accesses to packed-refs file lazy; we no longer
|
||||
pre-parse everything, and an access to a single ref in the
|
||||
packed-refs does not touch majority of irrelevant refs, either.
|
||||
|
||||
* Add comment to clarify that the style file is meant to be used with
|
||||
clang-5 and the rules are still work in progress.
|
||||
|
||||
* Many variables that points at a region of memory that will live
|
||||
throughout the life of the program have been marked with UNLEAK
|
||||
marker to help the leak checkers concentrate on real leaks..
|
||||
|
||||
* Plans for weaning us off of SHA-1 has been documented.
|
||||
|
||||
* A new "oidmap" API has been introduced and oidset API has been
|
||||
rewritten to use it.
|
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v2.14
|
||||
-----------------
|
||||
|
||||
* "%C(color name)" in the pretty print format always produced ANSI
|
||||
color escape codes, which was an early design mistake. They now
|
||||
honor the configuration (e.g. "color.ui = never") and also tty-ness
|
||||
of the output medium.
|
||||
|
||||
* The http.{sslkey,sslCert} configuration variables are to be
|
||||
interpreted as a pathname that honors "~[username]/" prefix, but
|
||||
weren't, which has been fixed.
|
||||
|
||||
* Numerous bugs in walking of reflogs via "log -g" and friends have
|
||||
been fixed.
|
||||
|
||||
* "git commit" when seeing an totally empty message said "you did not
|
||||
edit the message", which is clearly wrong. The message has been
|
||||
corrected.
|
||||
|
||||
* When a directory is not readable, "gitweb" fails to build the
|
||||
project list. Work this around by skipping such a directory.
|
||||
|
||||
* Some versions of GnuPG fails to kill gpg-agent it auto-spawned
|
||||
and such a left-over agent can interfere with a test. Work it
|
||||
around by attempting to kill one before starting a new test.
|
||||
|
||||
* A recently added test for the "credential-cache" helper revealed
|
||||
that EOF detection done around the time the connection to the cache
|
||||
daemon is torn down were flaky. This was fixed by reacting to
|
||||
ECONNRESET and behaving as if we got an EOF.
|
||||
|
||||
* "git log --tag=no-such-tag" showed log starting from HEAD, which
|
||||
has been fixed---it now shows nothing.
|
||||
|
||||
* The "tag.pager" configuration variable was useless for those who
|
||||
actually create tag objects, as it interfered with the use of an
|
||||
editor. A new mechanism has been introduced for commands to enable
|
||||
pager depending on what operation is being carried out to fix this,
|
||||
and then "git tag -l" is made to run pager by default.
|
||||
|
||||
* "git push --recurse-submodules $there HEAD:$target" was not
|
||||
propagated down to the submodules, but now it is.
|
||||
|
||||
* Commands like "git rebase" accepted the --rerere-autoupdate option
|
||||
from the command line, but did not always use it. This has been
|
||||
fixed.
|
||||
|
||||
* "git clone --recurse-submodules --quiet" did not pass the quiet
|
||||
option down to submodules.
|
||||
|
||||
* Test portability fix for OBSD.
|
||||
|
||||
* Portability fix for OBSD.
|
||||
|
||||
* "git am -s" has been taught that some input may end with a trailer
|
||||
block that is not Signed-off-by: and it should refrain from adding
|
||||
an extra blank line before adding a new sign-off in such a case.
|
||||
|
||||
* "git svn" used with "--localtime" option did not compute the tz
|
||||
offset for the timestamp in question and instead always used the
|
||||
current time, which has been corrected.
|
||||
|
||||
* Memory leak in an error codepath has been plugged.
|
||||
|
||||
* "git stash -u" used the contents of the committed version of the
|
||||
".gitignore" file to decide which paths are ignored, even when the
|
||||
file has local changes. The command has been taught to instead use
|
||||
the locally modified contents.
|
||||
|
||||
* bash 4.4 or newer gave a warning on NUL byte in command
|
||||
substitution done in "git stash"; this has been squelched.
|
||||
|
||||
* "git grep -L" and "git grep --quiet -L" reported different exit
|
||||
codes; this has been corrected.
|
||||
|
||||
* When handshake with a subprocess filter notices that the process
|
||||
asked for an unknown capability, Git did not report what program
|
||||
the offending subprocess was running. This has been corrected.
|
||||
|
||||
* "git apply" that is used as a better "patch -p1" failed to apply a
|
||||
taken from a file with CRLF line endings to a file with CRLF line
|
||||
endings. The root cause was because it misused convert_to_git()
|
||||
that tried to do "safe-crlf" processing by looking at the index
|
||||
entry at the same path, which is a nonsense---in that mode, "apply"
|
||||
is not working on the data in (or derived from) the index at all.
|
||||
This has been fixed.
|
||||
|
||||
* Killing "git merge --edit" before the editor returns control left
|
||||
the repository in a state with MERGE_MSG but without MERGE_HEAD,
|
||||
which incorrectly tells the subsequent "git commit" that there was
|
||||
a squash merge in progress. This has been fixed.
|
||||
|
||||
* "git archive" did not work well with pathspecs and the
|
||||
export-ignore attribute.
|
||||
|
||||
* In addition to "cc: <a@dd.re.ss> # cruft", "cc: a@dd.re.ss # cruft"
|
||||
was taught to "git send-email" as a valid way to tell it that it
|
||||
needs to also send a carbon copy to <a@dd.re.ss> in the trailer
|
||||
section.
|
||||
|
||||
* "git branch -M a b" while on a branch that is completely unrelated
|
||||
to either branch a or branch b misbehaved when multiple worktree
|
||||
was in use. This has been fixed.
|
||||
(merge 31824d180d nd/worktree-kill-parse-ref later to maint).
|
||||
|
||||
* "git gc" and friends when multiple worktrees are used off of a
|
||||
single repository did not consider the index and per-worktree refs
|
||||
of other worktrees as the root for reachability traversal, making
|
||||
objects that are in use only in other worktrees to be subject to
|
||||
garbage collection.
|
||||
|
||||
* A regression to "gitk --bisect" by a recent update has been fixed.
|
||||
|
||||
* "git -c submodule.recurse=yes pull" did not work as if the
|
||||
"--recurse-submodules" option was given from the command line.
|
||||
This has been corrected.
|
||||
|
||||
* Unlike "git commit-tree < file", "git commit-tree -F file" did not
|
||||
pass the contents of the file verbatim and instead completed an
|
||||
incomplete line at the end, if exists. The latter has been updated
|
||||
to match the behaviour of the former.
|
||||
|
||||
* Many codepaths did not diagnose write failures correctly when disks
|
||||
go full, due to their misuse of write_in_full() helper function,
|
||||
which have been corrected.
|
||||
(merge f48ecd38cb jk/write-in-full-fix later to maint).
|
||||
|
||||
* "git help co" now says "co is aliased to ...", not "git co is".
|
||||
(merge b3a8076e0d ks/help-alias-label later to maint).
|
||||
|
||||
* "git archive", especially when used with pathspec, stored an empty
|
||||
directory in its output, even though Git itself never does so.
|
||||
This has been fixed.
|
||||
|
||||
* API error-proofing which happens to also squelch warnings from GCC.
|
||||
|
||||
* The explanation of the cut-line in the commit log editor has been
|
||||
slightly tweaked.
|
||||
(merge 8c4b1a3593 ks/commit-do-not-touch-cut-line later to maint).
|
||||
|
||||
* "git gc" tries to avoid running two instances at the same time by
|
||||
reading and writing pid/host from and to a lock file; it used to
|
||||
use an incorrect fscanf() format when reading, which has been
|
||||
corrected.
|
||||
|
||||
* The scripts to drive TravisCI has been reorganized and then an
|
||||
optimization to avoid spending cycles on a branch whose tip is
|
||||
tagged has been implemented.
|
||||
(merge 8376eb4a8f ls/travis-scriptify later to maint).
|
||||
|
||||
* The test linter has been taught that we do not like "echo -e".
|
||||
|
||||
* Code cmp.std.c nitpick.
|
||||
|
||||
* A regression fix for 2.11 that made the code to read the list of
|
||||
alternate object stores overrun the end of the string.
|
||||
(merge f0f7bebef7 jk/info-alternates-fix later to maint).
|
||||
|
||||
* "git describe --match" learned to take multiple patterns in v2.13
|
||||
series, but the feature ignored the patterns after the first one
|
||||
and did not work at all. This has been fixed.
|
||||
|
||||
* "git filter-branch" cannot reproduce a history with a tag without
|
||||
the tagger field, which only ancient versions of Git allowed to be
|
||||
created. This has been corrected.
|
||||
(merge b2c1ca6b4b ic/fix-filter-branch-to-handle-tag-without-tagger later to maint).
|
||||
|
||||
* "git cat-file --textconv" started segfaulting recently, which
|
||||
has been corrected.
|
||||
|
||||
* The built-in pattern to detect the "function header" for HTML did
|
||||
not match <H1>..<H6> elements without any attributes, which has
|
||||
been fixed.
|
||||
|
||||
* "git mailinfo" was loose in decoding quoted printable and produced
|
||||
garbage when the two letters after the equal sign are not
|
||||
hexadecimal. This has been fixed.
|
||||
|
||||
* The machinery to create xdelta used in pack files received the
|
||||
sizes of the data in size_t, but lost the higher bits of them by
|
||||
storing them in "unsigned int" during the computation, which is
|
||||
fixed.
|
||||
|
||||
* The delta format used in the packfile cannot reference data at
|
||||
offset larger than what can be expressed in 4-byte, but the
|
||||
generator for the data failed to make sure the offset does not
|
||||
overflow. This has been corrected.
|
||||
|
||||
* The documentation for '-X<option>' for merges was misleadingly
|
||||
written to suggest that "-s theirs" exists, which is not the case.
|
||||
|
||||
* "git fast-export" with -M/-C option issued "copy" instruction on a
|
||||
path that is simultaneously modified, which was incorrect.
|
||||
(merge b3e8ca89cf jt/fast-export-copy-modify-fix later to maint).
|
||||
|
||||
* Many codepaths have been updated to squelch -Wsign-compare
|
||||
warnings.
|
||||
(merge 071bcaab64 rj/no-sign-compare later to maint).
|
||||
|
||||
* Memory leaks in various codepaths have been plugged.
|
||||
(merge 4d01a7fa65 ma/leakplugs later to maint).
|
||||
|
||||
* Recent versions of "git rev-parse --parseopt" did not parse the
|
||||
option specification that does not have the optional flags (*=?!)
|
||||
correctly, which has been corrected.
|
||||
(merge a6304fa4c2 bc/rev-parse-parseopt-fix later to maint).
|
||||
|
||||
* The checkpoint command "git fast-import" did not flush updates to
|
||||
refs and marks unless at least one object was created since the
|
||||
last checkpoint, which has been corrected, as these things can
|
||||
happen without any new object getting created.
|
||||
(merge 30e215a65c er/fast-import-dump-refs-on-checkpoint later to maint).
|
||||
|
||||
* Spell the name of our system as "Git" in the output from
|
||||
request-pull script.
|
||||
|
||||
* Fixes for a handful memory access issues identified by valgrind.
|
||||
|
||||
* Backports a moral equivalent of 2015 fix to the poll() emulation
|
||||
from the upstream gnulib to fix occasional breakages on HPE NonStop.
|
||||
|
||||
* Users with "color.ui = always" in their configuration were broken
|
||||
by a recent change that made plumbing commands to pay attention to
|
||||
them as the patch created internally by "git add -p" were colored
|
||||
(heh) and made unusable. This has been fixed by reverting the
|
||||
offending change.
|
||||
|
||||
* In the "--format=..." option of the "git for-each-ref" command (and
|
||||
its friends, i.e. the listing mode of "git branch/tag"), "%(atom:)"
|
||||
(e.g. "%(refname:)", "%(body:)" used to error out. Instead, treat
|
||||
them as if the colon and an empty string that follows it were not
|
||||
there.
|
||||
|
||||
* An ancient bug that made Git misbehave with creation/renaming of
|
||||
refs has been fixed.
|
||||
|
||||
* "git fetch <there> <src>:<dst>" allows an object name on the <src>
|
||||
side when the other side accepts such a request since Git v2.5, but
|
||||
the documentation was left stale.
|
||||
(merge 83558a412a jc/fetch-refspec-doc-update later to maint).
|
||||
|
||||
* Update the documentation for "git filter-branch" so that the filter
|
||||
options are listed in the same order as they are applied, as
|
||||
described in an earlier part of the doc.
|
||||
(merge 07c4984508 dg/filter-branch-filter-order-doc later to maint).
|
||||
|
||||
* Other minor doc, test and build updates and code cleanups.
|
||||
(merge f094b89a4d ma/parse-maybe-bool later to maint).
|
||||
(merge 6cdf8a7929 ma/ts-cleanups later to maint).
|
||||
(merge 7560f547e6 ma/up-to-date later to maint).
|
||||
(merge 0db3dc75f3 rs/apply-epoch later to maint).
|
||||
(merge 276d0e35c0 ma/split-symref-update-fix later to maint).
|
||||
(merge f777623514 ks/branch-tweak-error-message-for-extra-args later to maint).
|
||||
(merge 33f3c683ec ks/verify-filename-non-option-error-message-tweak later to maint).
|
||||
(merge 7cbbf9d6a2 ls/filter-process-delayed later to maint).
|
||||
(merge 488aa65c8f wk/merge-options-gpg-sign-doc later to maint).
|
||||
(merge e61cb19a27 jc/branch-force-doc-readability-fix later to maint).
|
@ -51,7 +51,7 @@ If your description starts to get too long, that's a sign that you
|
||||
probably need to split up your commit to finer grained pieces.
|
||||
That being said, patches which plainly describe the things that
|
||||
help reviewers check the patch, and future maintainers understand
|
||||
the code, are the most beautiful patches. Descriptions that summarise
|
||||
the code, are the most beautiful patches. Descriptions that summarize
|
||||
the point in the subject well, and describe the motivation for the
|
||||
change, the approach taken by the change, and if relevant how this
|
||||
differs substantially from the prior version, are all good things
|
||||
@ -87,7 +87,7 @@ patches separate from other documentation changes.
|
||||
Oh, another thing. We are picky about whitespaces. Make sure your
|
||||
changes do not trigger errors with the sample pre-commit hook shipped
|
||||
in templates/hooks--pre-commit. To help ensure this does not happen,
|
||||
run git diff --check on your changes before you commit.
|
||||
run "git diff --check" on your changes before you commit.
|
||||
|
||||
|
||||
(2) Describe your changes well.
|
||||
@ -98,18 +98,23 @@ should skip the full stop. It is also conventional in most cases to
|
||||
prefix the first line with "area: " where the area is a filename or
|
||||
identifier for the general area of the code being modified, e.g.
|
||||
|
||||
. archive: ustar header checksum is computed unsigned
|
||||
. git-cherry-pick.txt: clarify the use of revision range notation
|
||||
. doc: clarify distinction between sign-off and pgp-signing
|
||||
. githooks.txt: improve the intro section
|
||||
|
||||
If in doubt which identifier to use, run "git log --no-merges" on the
|
||||
files you are modifying to see the current conventions.
|
||||
|
||||
It's customary to start the remainder of the first line after "area: "
|
||||
with a lower-case letter. E.g. "doc: clarify...", not "doc:
|
||||
Clarify...", or "githooks.txt: improve...", not "githooks.txt:
|
||||
Improve...".
|
||||
|
||||
The body should provide a meaningful commit message, which:
|
||||
|
||||
. explains the problem the change tries to solve, iow, what is wrong
|
||||
. explains the problem the change tries to solve, i.e. what is wrong
|
||||
with the current code without the change.
|
||||
|
||||
. justifies the way the change solves the problem, iow, why the
|
||||
. justifies the way the change solves the problem, i.e. why the
|
||||
result with the change is better.
|
||||
|
||||
. alternate solutions considered but discarded, if any.
|
||||
@ -117,7 +122,7 @@ The body should provide a meaningful commit message, which:
|
||||
Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
|
||||
instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy
|
||||
to do frotz", as if you are giving orders to the codebase to change
|
||||
its behaviour. Try to make sure your explanation can be understood
|
||||
its behavior. Try to make sure your explanation can be understood
|
||||
without external resources. Instead of giving a URL to a mailing list
|
||||
archive, summarize the relevant points of the discussion.
|
||||
|
||||
@ -129,8 +134,9 @@ with the subject enclosed in a pair of double-quotes, like this:
|
||||
noticed that ...
|
||||
|
||||
The "Copy commit summary" command of gitk can be used to obtain this
|
||||
format.
|
||||
format, or this invocation of "git show":
|
||||
|
||||
git show -s --date=short --pretty='format:%h ("%s", %ad)' <commit>
|
||||
|
||||
(3) Generate your patch using Git tools out of your commits.
|
||||
|
||||
@ -255,7 +261,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
|
||||
pretty simple: if you can certify the below:
|
||||
pretty simple: if you can certify the below D-C-O:
|
||||
|
||||
Developer's Certificate of Origin 1.1
|
||||
|
||||
|
@ -79,18 +79,84 @@ escape sequences) are invalid.
|
||||
Includes
|
||||
~~~~~~~~
|
||||
|
||||
You can include one config file from another by setting the special
|
||||
`include.path` variable to the name of the file to be included. The
|
||||
variable takes a pathname as its value, and is subject to tilde
|
||||
expansion.
|
||||
The `include` and `includeIf` sections allow you to include config
|
||||
directives from another source. These sections behave identically to
|
||||
each other with the exception that `includeIf` sections may be ignored
|
||||
if their condition does not evaluate to true; see "Conditional includes"
|
||||
below.
|
||||
|
||||
The
|
||||
included file is expanded immediately, as if its contents had been
|
||||
found at the location of the include directive. If the value of the
|
||||
`include.path` variable is a relative path, the path is considered to be
|
||||
relative to the configuration file in which the include directive was
|
||||
found. See below for examples.
|
||||
You can include a config file from another by setting the special
|
||||
`include.path` (or `includeIf.*.path`) variable to the name of the file
|
||||
to be included. The variable takes a pathname as its value, and is
|
||||
subject to tilde expansion. These variables can be given multiple times.
|
||||
|
||||
The contents of the included file are inserted immediately, as if they
|
||||
had been found at the location of the include directive. If the value of the
|
||||
variable is a relative path, the path is considered to
|
||||
be relative to the configuration file in which the include directive
|
||||
was found. See below for examples.
|
||||
|
||||
Conditional includes
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can include a config file from another conditionally by setting a
|
||||
`includeIf.<condition>.path` variable to the name of the file to be
|
||||
included.
|
||||
|
||||
The condition starts with a keyword followed by a colon and some data
|
||||
whose format and meaning depends on the keyword. Supported keywords
|
||||
are:
|
||||
|
||||
`gitdir`::
|
||||
|
||||
The data that follows the keyword `gitdir:` is used as a glob
|
||||
pattern. If the location of the .git directory matches the
|
||||
pattern, the include condition is met.
|
||||
+
|
||||
The .git location may be auto-discovered, or come from `$GIT_DIR`
|
||||
environment variable. If the repository is auto discovered via a .git
|
||||
file (e.g. from submodules, or a linked worktree), the .git location
|
||||
would be the final location where the .git directory is, not where the
|
||||
.git file is.
|
||||
+
|
||||
The pattern can contain standard globbing wildcards and two additional
|
||||
ones, `**/` and `/**`, that can match multiple path components. Please
|
||||
refer to linkgit:gitignore[5] for details. For convenience:
|
||||
|
||||
* If the pattern starts with `~/`, `~` will be substituted with the
|
||||
content of the environment variable `HOME`.
|
||||
|
||||
* If the pattern starts with `./`, it is replaced with the directory
|
||||
containing the current config file.
|
||||
|
||||
* If the pattern does not start with either `~/`, `./` or `/`, `**/`
|
||||
will be automatically prepended. For example, the pattern `foo/bar`
|
||||
becomes `**/foo/bar` and would match `/any/path/to/foo/bar`.
|
||||
|
||||
* If the pattern ends with `/`, `**` will be automatically added. For
|
||||
example, the pattern `foo/` becomes `foo/**`. In other words, it
|
||||
matches "foo" and everything inside, recursively.
|
||||
|
||||
`gitdir/i`::
|
||||
This is the same as `gitdir` except that matching is done
|
||||
case-insensitively (e.g. on case-insensitive file sytems)
|
||||
|
||||
A few more notes on matching via `gitdir` and `gitdir/i`:
|
||||
|
||||
* Symlinks in `$GIT_DIR` are not resolved before matching.
|
||||
|
||||
* Both the symlink & realpath versions of paths will be matched
|
||||
outside of `$GIT_DIR`. E.g. if ~/git is a symlink to
|
||||
/mnt/storage/git, both `gitdir:~/git` and `gitdir:/mnt/storage/git`
|
||||
will match.
|
||||
+
|
||||
This was not the case in the initial release of this feature in
|
||||
v2.13.0, which only matched the realpath version. Configuration that
|
||||
wants to be compatible with the initial release of this feature needs
|
||||
to either specify only the realpath version, or both versions.
|
||||
|
||||
* Note that "../" is not special and will match literally, which is
|
||||
unlikely what you want.
|
||||
|
||||
Example
|
||||
~~~~~~~
|
||||
@ -116,9 +182,26 @@ Example
|
||||
|
||||
[include]
|
||||
path = /path/to/foo.inc ; include by absolute path
|
||||
path = foo ; expand "foo" relative to the current file
|
||||
path = ~/foo ; expand "foo" in your `$HOME` directory
|
||||
path = foo.inc ; find "foo.inc" relative to the current file
|
||||
path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory
|
||||
|
||||
; include if $GIT_DIR is /path/to/foo/.git
|
||||
[includeIf "gitdir:/path/to/foo/.git"]
|
||||
path = /path/to/foo.inc
|
||||
|
||||
; include for all repositories inside /path/to/group
|
||||
[includeIf "gitdir:/path/to/group/"]
|
||||
path = /path/to/foo.inc
|
||||
|
||||
; include for all repositories inside $HOME/to/group
|
||||
[includeIf "gitdir:~/to/group/"]
|
||||
path = /path/to/foo.inc
|
||||
|
||||
; relative paths are always relative to the including
|
||||
; file (if the condition is true); their location is not
|
||||
; affected by the condition
|
||||
[includeIf "gitdir:/path/to/group/"]
|
||||
path = foo.inc
|
||||
|
||||
Values
|
||||
~~~~~~
|
||||
@ -133,15 +216,15 @@ boolean::
|
||||
synonyms are accepted for 'true' and 'false'; these are all
|
||||
case-insensitive.
|
||||
|
||||
true;; Boolean true can be spelled as `yes`, `on`, `true`,
|
||||
or `1`. Also, a variable defined without `= <value>`
|
||||
true;; Boolean true literals are `yes`, `on`, `true`,
|
||||
and `1`. Also, a variable defined without `= <value>`
|
||||
is taken as true.
|
||||
|
||||
false;; Boolean false can be spelled as `no`, `off`,
|
||||
`false`, or `0`.
|
||||
false;; Boolean false literals are `no`, `off`, `false`,
|
||||
`0` and the empty string.
|
||||
+
|
||||
When converting value to the canonical form using `--bool` type
|
||||
specifier; 'git config' will ensure that the output is "true" or
|
||||
specifier, 'git config' will ensure that the output is "true" or
|
||||
"false" (spelled in lowercase).
|
||||
|
||||
integer::
|
||||
@ -265,6 +348,9 @@ advice.*::
|
||||
rmHints::
|
||||
In case of failure in the output of linkgit:git-rm[1],
|
||||
show directions on how to proceed from the current state.
|
||||
addEmbeddedRepo::
|
||||
Advice on what to do when you've accidentally added one
|
||||
git repo inside of another.
|
||||
--
|
||||
|
||||
core.fileMode::
|
||||
@ -272,7 +358,7 @@ core.fileMode::
|
||||
is to be honored.
|
||||
+
|
||||
Some filesystems lose the executable bit when a file that is
|
||||
marked as executable is checked out, or checks out an
|
||||
marked as executable is checked out, or checks out a
|
||||
non-executable file with executable bit on.
|
||||
linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem
|
||||
to see if it handles the executable bit correctly
|
||||
@ -334,6 +420,10 @@ core.trustctime::
|
||||
crawlers and some backup systems).
|
||||
See linkgit:git-update-index[1]. True by default.
|
||||
|
||||
core.splitIndex::
|
||||
If true, the split-index feature of the index will be used.
|
||||
See linkgit:git-update-index[1]. False by default.
|
||||
|
||||
core.untrackedCache::
|
||||
Determines what to do about the untracked cache feature of the
|
||||
index. It will be kept, if this variable is unset or set to
|
||||
@ -350,16 +440,19 @@ core.checkStat::
|
||||
all fields, including the sub-second part of mtime and ctime.
|
||||
|
||||
core.quotePath::
|
||||
The commands that output paths (e.g. 'ls-files',
|
||||
'diff'), when not given the `-z` option, will quote
|
||||
"unusual" characters in the pathname by enclosing the
|
||||
pathname in a double-quote pair and with backslashes the
|
||||
same way strings in C source code are quoted. If this
|
||||
variable is set to false, the bytes higher than 0x80 are
|
||||
not quoted but output as verbatim. Note that double
|
||||
quote, backslash and control characters are always
|
||||
quoted without `-z` regardless of the setting of this
|
||||
variable.
|
||||
Commands that output paths (e.g. 'ls-files', 'diff'), will
|
||||
quote "unusual" characters in the pathname by enclosing the
|
||||
pathname in double-quotes and escaping those characters with
|
||||
backslashes in the same way C escapes control characters (e.g.
|
||||
`\t` for TAB, `\n` for LF, `\\` for backslash) or bytes with
|
||||
values larger than 0x80 (e.g. octal `\302\265` for "micro" in
|
||||
UTF-8). If this variable is set to false, bytes higher than
|
||||
0x80 are not considered "unusual" any more. Double-quotes,
|
||||
backslash and control characters are always escaped regardless
|
||||
of the setting of this variable. A simple space character is
|
||||
not considered "unusual". Many commands can output pathnames
|
||||
completely verbatim using the `-z` option. The default value
|
||||
is true.
|
||||
|
||||
core.eol::
|
||||
Sets the line ending type to use in the working directory for
|
||||
@ -593,7 +686,8 @@ core.packedGitLimit::
|
||||
bytes at once to complete an operation it will unmap existing
|
||||
regions to reclaim virtual address space within the process.
|
||||
+
|
||||
Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms.
|
||||
Default is 256 MiB on 32 bit platforms and 32 TiB (effectively
|
||||
unlimited) on 64 bit platforms.
|
||||
This should be reasonable for all users/operating systems, except on
|
||||
the largest projects. You probably do not need to adjust this value.
|
||||
+
|
||||
@ -682,6 +776,12 @@ core.commentChar::
|
||||
If set to "auto", `git-commit` would select a character that is not
|
||||
the beginning character of any line in existing commit messages.
|
||||
|
||||
core.filesRefLockTimeout::
|
||||
The length of time, in milliseconds, to retry when trying to
|
||||
lock an individual reference. Value 0 means not to retry at
|
||||
all; -1 means to try indefinitely. Default is 100 (i.e.,
|
||||
retry for 100ms).
|
||||
|
||||
core.packedRefsTimeout::
|
||||
The length of time, in milliseconds, to retry when trying to
|
||||
lock the `packed-refs` file. Value 0 means not to retry at
|
||||
@ -793,6 +893,7 @@ core.abbrev::
|
||||
computed based on the approximate number of packed objects
|
||||
in your repository, which hopefully is enough for
|
||||
abbreviated object names to stay unique for some time.
|
||||
The minimum length is 4.
|
||||
|
||||
add.ignoreErrors::
|
||||
add.ignore-errors (deprecated)::
|
||||
@ -982,14 +1083,25 @@ 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
|
||||
of `context` (context text - `plain` is a historical synonym),
|
||||
`meta` (metainformation), `frag`
|
||||
(hunk header), 'func' (function in hunk header), `old` (removed lines),
|
||||
`new` (added lines), `commit` (commit headers), or `whitespace`
|
||||
(highlighting whitespace errors).
|
||||
`new` (added lines), `commit` (commit headers), `whitespace`
|
||||
(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).
|
||||
|
||||
color.decorate.<slot>::
|
||||
Use customized color for 'git log --decorate' output. `<slot>` is one
|
||||
@ -1068,7 +1180,10 @@ color.status.<slot>::
|
||||
`untracked` (files which are not tracked by Git),
|
||||
`branch` (the current branch),
|
||||
`nobranch` (the color the 'no branch' warning is shown in, defaulting
|
||||
to red), or
|
||||
to red),
|
||||
`localBranch` or `remoteBranch` (the local and remote branch names,
|
||||
respectively, when branch and tracking information is displayed in the
|
||||
status short-format), or
|
||||
`unmerged` (files which have unmerged changes).
|
||||
|
||||
color.ui::
|
||||
@ -1455,11 +1570,13 @@ gc.<pattern>.reflogExpireUnreachable::
|
||||
gc.rerereResolved::
|
||||
Records of conflicted merge you resolved earlier are
|
||||
kept for this many days when 'git rerere gc' is run.
|
||||
You can also use more human-readable "1.month.ago", etc.
|
||||
The default is 60 days. See linkgit:git-rerere[1].
|
||||
|
||||
gc.rerereUnresolved::
|
||||
Records of conflicted merge you have not resolved are
|
||||
kept for this many days when 'git rerere gc' is run.
|
||||
You can also use more human-readable "1.month.ago", etc.
|
||||
The default is 15 days. See linkgit:git-rerere[1].
|
||||
|
||||
gitcvs.commitMsgAnnotation::
|
||||
@ -1925,7 +2042,10 @@ http.<url>.*::
|
||||
must match exactly between the config key and the URL.
|
||||
|
||||
. Host/domain name (e.g., `example.com` in `https://example.com/`).
|
||||
This field must match exactly between the config key and the URL.
|
||||
This field must match between the config key and the URL. It is
|
||||
possible to specify a `*` as part of the host name to match all subdomains
|
||||
at this level. `https://*.example.com/` for example would match
|
||||
`https://foo.example.com/`, but not `https://foo.bar.example.com/`.
|
||||
|
||||
. Port number (e.g., `8080` in `http://example.com:8080/`).
|
||||
This field must match exactly between the config key and the URL.
|
||||
@ -1960,6 +2080,17 @@ Environment variable settings always override any matches. The URLs that are
|
||||
matched against are those given directly to Git commands. This means any URLs
|
||||
visited as a result of a redirection do not participate in matching.
|
||||
|
||||
ssh.variant::
|
||||
Depending on the value of the environment variables `GIT_SSH` or
|
||||
`GIT_SSH_COMMAND`, or the config setting `core.sshCommand`, Git
|
||||
auto-detects whether to adjust its command-line parameters for use
|
||||
with plink or tortoiseplink, as opposed to the default (OpenSSH).
|
||||
+
|
||||
The config variable `ssh.variant` can be set to override this auto-detection;
|
||||
valid values are `ssh`, `plink`, `putty` or `tortoiseplink`. Any other value
|
||||
will be treated as normal ssh. This setting can be overridden via the
|
||||
environment variable `GIT_SSH_VARIANT`.
|
||||
|
||||
i18n.commitEncoding::
|
||||
Character encoding the commit messages are stored in; Git itself
|
||||
does not care per se, but this information is necessary e.g. when
|
||||
@ -2057,6 +2188,10 @@ log.showRoot::
|
||||
Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which
|
||||
normally hide the root commit will now show it. True by default.
|
||||
|
||||
log.showSignature::
|
||||
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
|
||||
linkgit:git-whatchanged[1] assume `--show-signature`.
|
||||
|
||||
log.mailmap::
|
||||
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
|
||||
linkgit:git-whatchanged[1] assume `--use-mailmap`.
|
||||
@ -2508,7 +2643,7 @@ rebase.autoSquash::
|
||||
If set to true enable `--autosquash` option by default.
|
||||
|
||||
rebase.autoStash::
|
||||
When set to true, automatically create a temporary stash
|
||||
When set to true, automatically create a temporary stash entry
|
||||
before the operation begins, and apply it after the operation
|
||||
ends. This means that you can run rebase on a dirty worktree.
|
||||
However, use with care: the final stash application after a
|
||||
@ -2537,9 +2672,8 @@ receive.advertiseAtomic::
|
||||
capability, set this variable to false.
|
||||
|
||||
receive.advertisePushOptions::
|
||||
By default, git-receive-pack will advertise the push options
|
||||
capability to its clients. If you don't want to advertise this
|
||||
capability, set this variable to false.
|
||||
When set to true, git-receive-pack will advertise the push options
|
||||
capability to its clients. False by default.
|
||||
|
||||
receive.autogc::
|
||||
By default, git-receive-pack will run "git-gc --auto" after
|
||||
@ -2797,8 +2931,8 @@ sendemail.smtpsslcertpath::
|
||||
|
||||
sendemail.<identity>.*::
|
||||
Identity-specific versions of the 'sendemail.*' parameters
|
||||
found below, taking precedence over those when the this
|
||||
identity is selected, through command-line or
|
||||
found below, taking precedence over those when this
|
||||
identity is selected, through either the command-line or
|
||||
`sendemail.identity`.
|
||||
|
||||
sendemail.aliasesFile::
|
||||
@ -2831,10 +2965,45 @@ sendemail.xmailer::
|
||||
sendemail.signedoffcc (deprecated)::
|
||||
Deprecated alias for `sendemail.signedoffbycc`.
|
||||
|
||||
sendemail.smtpBatchSize::
|
||||
Number of messages to be sent per connection, after that a relogin
|
||||
will happen. If the value is 0 or undefined, send all messages in
|
||||
one connection.
|
||||
See also the `--batch-size` option of linkgit:git-send-email[1].
|
||||
|
||||
sendemail.smtpReloginDelay::
|
||||
Seconds wait before reconnecting to smtp server.
|
||||
See also the `--relogin-delay` option of linkgit:git-send-email[1].
|
||||
|
||||
showbranch.default::
|
||||
The default set of branches for linkgit:git-show-branch[1].
|
||||
See linkgit:git-show-branch[1].
|
||||
|
||||
splitIndex.maxPercentChange::
|
||||
When the split index feature is used, this specifies the
|
||||
percent of entries the split index can contain compared to the
|
||||
total number of entries in both the split index and the shared
|
||||
index before a new shared index is written.
|
||||
The value should be between 0 and 100. If the value is 0 then
|
||||
a new shared index is always written, if it is 100 a new
|
||||
shared index is never written.
|
||||
By default the value is 20, so a new shared index is written
|
||||
if the number of entries in the split index would be greater
|
||||
than 20 percent of the total number of entries.
|
||||
See linkgit:git-update-index[1].
|
||||
|
||||
splitIndex.sharedIndexExpire::
|
||||
When the split index feature is used, shared index files that
|
||||
were not modified since the time this variable specifies will
|
||||
be removed when a new shared index file is created. The value
|
||||
"now" expires all entries immediately, and "never" suppresses
|
||||
expiration altogether.
|
||||
The default value is "2.weeks.ago".
|
||||
Note that a shared index file is considered modified (for the
|
||||
purpose of expiration) each time a new split-index file is
|
||||
either created based on it or read from it.
|
||||
See linkgit:git-update-index[1].
|
||||
|
||||
status.relativePaths::
|
||||
By default, linkgit:git-status[1] shows paths relative to the
|
||||
current directory. Setting this variable to `false` shows paths
|
||||
@ -2856,6 +3025,11 @@ status.displayCommentPrefix::
|
||||
behavior of linkgit:git-status[1] in Git 1.8.4 and previous.
|
||||
Defaults to false.
|
||||
|
||||
status.showStash::
|
||||
If set to true, linkgit:git-status[1] will display the number of
|
||||
entries currently stashed away.
|
||||
Defaults to false.
|
||||
|
||||
status.showUntrackedFiles::
|
||||
By default, linkgit:git-status[1] and linkgit:git-commit[1] show
|
||||
files which are not currently tracked by Git. Directories which
|
||||
@ -2893,27 +3067,32 @@ status.submoduleSummary::
|
||||
|
||||
stash.showPatch::
|
||||
If this is set to true, the `git stash show` command without an
|
||||
option will show the stash in patch form. Defaults to false.
|
||||
option will show the stash entry in patch form. Defaults to false.
|
||||
See description of 'show' command in linkgit:git-stash[1].
|
||||
|
||||
stash.showStat::
|
||||
If this is set to true, the `git stash show` command without an
|
||||
option will show diffstat of the stash. Defaults to true.
|
||||
option will show diffstat of the stash entry. Defaults to true.
|
||||
See description of 'show' command in linkgit:git-stash[1].
|
||||
|
||||
submodule.<name>.url::
|
||||
The URL for a submodule. This variable is copied from the .gitmodules
|
||||
file to the git config via 'git submodule init'. The user can change
|
||||
the configured URL before obtaining the submodule via 'git submodule
|
||||
update'. After obtaining the submodule, the presence of this variable
|
||||
is used as a sign whether the submodule is of interest to git commands.
|
||||
update'. If neither submodule.<name>.active or submodule.active are
|
||||
set, the presence of this variable is used as a fallback to indicate
|
||||
whether the submodule is of interest to git commands.
|
||||
See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details.
|
||||
|
||||
submodule.<name>.update::
|
||||
The default update procedure for a submodule. This variable
|
||||
is populated by `git submodule init` from the
|
||||
linkgit:gitmodules[5] file. See description of 'update'
|
||||
command in linkgit:git-submodule[1].
|
||||
The method by which a submodule is updated by 'git submodule update',
|
||||
which is the only affected command, others such as
|
||||
'git checkout --recurse-submodules' are unaffected. It exists for
|
||||
historical reasons, when 'git submodule' was the only command to
|
||||
interact with submodules; settings like `submodule.active`
|
||||
and `pull.rebase` are more specific. It is populated by
|
||||
`git submodule init` from the linkgit:gitmodules[5] file.
|
||||
See description of 'update' command in linkgit:git-submodule[1].
|
||||
|
||||
submodule.<name>.branch::
|
||||
The remote branch name for a submodule, used by `git submodule
|
||||
@ -2944,6 +3123,21 @@ submodule.<name>.ignore::
|
||||
"--ignore-submodules" option. The 'git submodule' commands are not
|
||||
affected by this setting.
|
||||
|
||||
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::
|
||||
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.
|
||||
|
||||
submodule.recurse::
|
||||
Specifies if commands recurse into submodules by default. This
|
||||
applies to all commands that have a `--recurse-submodules` option.
|
||||
Defaults to false.
|
||||
|
||||
submodule.fetchJobs::
|
||||
Specifies how many submodules are fetched/cloned at the same time.
|
||||
A positive integer allows up to that number of submodules fetched
|
||||
@ -3089,6 +3283,13 @@ url.<base>.insteadOf::
|
||||
the best alternative for the particular user, even for a
|
||||
never-before-seen repository on the site. When more than one
|
||||
insteadOf strings match a given URL, the longest match is used.
|
||||
+
|
||||
Note that any protocol restrictions will be applied to the rewritten
|
||||
URL. If the rewrite changes the URL to use a custom protocol or remote
|
||||
helper, you may need to adjust the `protocol.*.allow` config to permit
|
||||
the request. In particular, protocols you expect to use for submodules
|
||||
must be set to `always` rather than the default of `user`. See the
|
||||
description of `protocol.allow` above.
|
||||
|
||||
url.<base>.pushInsteadOf::
|
||||
Any URL that starts with this value will not be pushed to;
|
||||
|
@ -200,7 +200,10 @@ diff.algorithm::
|
||||
+
|
||||
|
||||
diff.wsErrorHighlight::
|
||||
A comma separated list of `old`, `new`, `context`, that
|
||||
specifies how whitespace errors on lines are highlighted
|
||||
with `color.diff.whitespace`. Can be overridden by the
|
||||
command line option `--ws-error-highlight=<kind>`
|
||||
Highlight whitespace errors in the `context`, `old` or `new`
|
||||
lines of the diff. Multiple values are separated by comma,
|
||||
`none` resets previous values, `default` reset the list to
|
||||
`new` and `all` is a shorthand for `old,new,context`. The
|
||||
whitespace errors are colored with `color.diff.whitespace`.
|
||||
The command line option `--ws-error-highlight=<kind>`
|
||||
overrides this setting.
|
||||
|
@ -78,9 +78,10 @@ Example:
|
||||
:100644 100644 5be4a4...... 000000...... M file.c
|
||||
------------------------------------------------
|
||||
|
||||
When `-z` option is not used, TAB, LF, and backslash characters
|
||||
in pathnames are represented as `\t`, `\n`, and `\\`,
|
||||
respectively.
|
||||
Without the `-z` option, pathnames with "unusual" characters are
|
||||
quoted as explained for the configuration variable `core.quotePath`
|
||||
(see linkgit:git-config[1]). Using `-z` the filename is output
|
||||
verbatim and the line is terminated by a NUL byte.
|
||||
|
||||
diff format for merges
|
||||
----------------------
|
||||
|
@ -53,10 +53,9 @@ The index line includes the SHA-1 checksum before and after the change.
|
||||
The <mode> is included if the file mode does not change; otherwise,
|
||||
separate lines indicate the old and the new mode.
|
||||
|
||||
3. TAB, LF, double quote and backslash characters in pathnames
|
||||
are represented as `\t`, `\n`, `\"` and `\\`, respectively.
|
||||
If there is need for such substitution then the whole
|
||||
pathname is put in double quotes.
|
||||
3. Pathnames with "unusual" characters are quoted as explained for
|
||||
the configuration variable `core.quotePath` (see
|
||||
linkgit:git-config[1]).
|
||||
|
||||
4. All the `file1` files in the output refer to files before the
|
||||
commit, and all the `file2` files refer to files after the commit.
|
||||
|
@ -192,10 +192,9 @@ ifndef::git-log[]
|
||||
given, do not munge pathnames and use NULs as output field terminators.
|
||||
endif::git-log[]
|
||||
+
|
||||
Without this option, each pathname output will have TAB, LF, double quotes,
|
||||
and backslash characters replaced with `\t`, `\n`, `\"`, and `\\`,
|
||||
respectively, and the pathname will be enclosed in double quotes if
|
||||
any of those replacements occurred.
|
||||
Without this option, pathnames with "unusual" characters are quoted as
|
||||
explained for the configuration variable `core.quotePath` (see
|
||||
linkgit:git-config[1]).
|
||||
|
||||
--name-only::
|
||||
Show only names of changed files.
|
||||
@ -232,6 +231,40 @@ ifdef::git-diff[]
|
||||
endif::git-diff[]
|
||||
It is the same as `--color=never`.
|
||||
|
||||
--color-moved[=<mode>]::
|
||||
Moved lines of code are colored differently.
|
||||
ifdef::git-diff[]
|
||||
It can be changed by the `diff.colorMoved` configuration setting.
|
||||
endif::git-diff[]
|
||||
The <mode> defaults to 'no' if the option is not given
|
||||
and to 'zebra' if the option with no mode is given.
|
||||
The mode must be one of:
|
||||
+
|
||||
--
|
||||
no::
|
||||
Moved lines are not highlighted.
|
||||
default::
|
||||
Is a synonym for `zebra`. This may change to a more sensible mode
|
||||
in the future.
|
||||
plain::
|
||||
Any line that is added in one location and was removed
|
||||
in another location will be colored with 'color.diff.newMoved'.
|
||||
Similarly 'color.diff.oldMoved' will be used for removed lines
|
||||
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 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
|
||||
'color.diff.{old,new}MovedAlternative'. The change between
|
||||
the two colors indicates that a new block was detected.
|
||||
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.
|
||||
--
|
||||
|
||||
--word-diff[=<mode>]::
|
||||
Show a word diff, using the <mode> to delimit changed words.
|
||||
By default, words are delimited by whitespace; see
|
||||
@ -301,15 +334,14 @@ ifndef::git-format-patch[]
|
||||
with --exit-code.
|
||||
|
||||
--ws-error-highlight=<kind>::
|
||||
Highlight whitespace errors on lines specified by <kind>
|
||||
in the color specified by `color.diff.whitespace`. <kind>
|
||||
is a comma separated list of `old`, `new`, `context`. When
|
||||
this option is not given, only whitespace errors in `new`
|
||||
lines are highlighted. E.g. `--ws-error-highlight=new,old`
|
||||
highlights whitespace errors on both deleted and added lines.
|
||||
`all` can be used as a short-hand for `old,new,context`.
|
||||
The `diff.wsErrorHighlight` configuration variable can be
|
||||
used to specify the default behaviour.
|
||||
Highlight whitespace errors in the `context`, `old` or `new`
|
||||
lines of the diff. Multiple values are separated by comma,
|
||||
`none` resets previous values, `default` reset the list to
|
||||
`new` and `all` is a shorthand for `old,new,context`. When
|
||||
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`.
|
||||
|
||||
endif::git-format-patch[]
|
||||
|
||||
@ -393,7 +425,7 @@ endif::git-log[]
|
||||
the diff between the preimage and `/dev/null`. The resulting patch
|
||||
is not meant to be applied with `patch` or `git apply`; this is
|
||||
solely for people who want to just concentrate on reviewing the
|
||||
text after the change. In addition, the output obviously lack
|
||||
text after the change. In addition, the output obviously lacks
|
||||
enough information to apply such a patch in reverse, even manually,
|
||||
hence the name of the option.
|
||||
+
|
||||
|
@ -61,6 +61,9 @@ OPTIONS
|
||||
the working tree. Note that older versions of Git used
|
||||
to ignore removed files; use `--no-all` option if you want
|
||||
to add modified or new files but ignore removed ones.
|
||||
+
|
||||
For more details about the <pathspec> syntax, see the 'pathspec' entry
|
||||
in linkgit:gitglossary[7].
|
||||
|
||||
-n::
|
||||
--dry-run::
|
||||
@ -165,6 +168,13 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
|
||||
be ignored, no matter if they are already present in the work
|
||||
tree or not.
|
||||
|
||||
--no-warn-embedded-repo::
|
||||
By default, `git add` will warn when adding an embedded
|
||||
repository to the index without using `git submodule add` to
|
||||
create an entry in `.gitmodules`. This option will suppress the
|
||||
warning (e.g., if you are manually performing operations on
|
||||
submodules).
|
||||
|
||||
--chmod=(+|-)x::
|
||||
Override the executable bit of the added files. The executable
|
||||
bit is only changed in the index, the files on disk are left
|
||||
|
@ -66,7 +66,7 @@ OPTIONS
|
||||
disables it is in effect), make sure the patch is
|
||||
applicable to what the current index file records. If
|
||||
the file to be patched in the working tree is not
|
||||
up-to-date, it is flagged as an error. This flag also
|
||||
up to date, it is flagged as an error. This flag also
|
||||
causes the index file to be updated.
|
||||
|
||||
--cached::
|
||||
@ -108,10 +108,9 @@ the information is read from the current index instead.
|
||||
When `--numstat` has been given, do not munge pathnames,
|
||||
but use a NUL-terminated machine-readable format.
|
||||
+
|
||||
Without this option, each pathname output will have TAB, LF, double quotes,
|
||||
and backslash characters replaced with `\t`, `\n`, `\"`, and `\\`,
|
||||
respectively, and the pathname will be enclosed in double quotes if
|
||||
any of those replacements occurred.
|
||||
Without this option, pathnames with "unusual" characters are quoted as
|
||||
explained for the configuration variable `core.quotePath` (see
|
||||
linkgit:git-config[1]).
|
||||
|
||||
-p<n>::
|
||||
Remove <n> leading slashes from traditional diff paths. The
|
||||
@ -260,7 +259,7 @@ treats these changes as follows.
|
||||
If `--index` is specified (explicitly or implicitly), then the submodule
|
||||
commits must match the index exactly for the patch to apply. If any
|
||||
of the submodules are checked-out, then these check-outs are completely
|
||||
ignored, i.e., they are not required to be up-to-date or clean and they
|
||||
ignored, i.e., they are not required to be up to date or clean and they
|
||||
are not updated.
|
||||
|
||||
If `--index` is not specified, then the submodule commits in the patch
|
||||
|
@ -96,7 +96,7 @@ OPTIONS
|
||||
pruned.
|
||||
|
||||
-a::
|
||||
Attempt to auto-register archives at http://mirrors.sourcecontrol.net
|
||||
Attempt to auto-register archives at `http://mirrors.sourcecontrol.net`
|
||||
This is particularly useful with the -D option.
|
||||
|
||||
-t <tmpdir>::
|
||||
|
@ -1347,12 +1347,12 @@ author to given a talk and for publishing this paper.
|
||||
References
|
||||
----------
|
||||
|
||||
- [[[1]]] http://www.nist.gov/public_affairs/releases/n02-10.htm['Software Errors Cost U.S. Economy $59.5 Billion Annually'. Nist News Release.]
|
||||
- [[[2]]] http://java.sun.com/docs/codeconv/html/CodeConventions.doc.html#16712['Code Conventions for the Java Programming Language'. Sun Microsystems.]
|
||||
- [[[3]]] http://en.wikipedia.org/wiki/Software_maintenance['Software maintenance'. Wikipedia.]
|
||||
- [[[4]]] http://article.gmane.org/gmane.comp.version-control.git/45195/[Junio C Hamano. 'Automated bisect success story'. Gmane.]
|
||||
- [[[5]]] http://lwn.net/Articles/317154/[Christian Couder. 'Fully automated bisecting with "git bisect run"'. LWN.net.]
|
||||
- [[[6]]] http://lwn.net/Articles/277872/[Jonathan Corbet. 'Bisection divides users and developers'. LWN.net.]
|
||||
- [[[7]]] http://article.gmane.org/gmane.linux.scsi/36652/[Ingo Molnar. 'Re: BUG 2.6.23-rc3 can't see sd partitions on Alpha'. Gmane.]
|
||||
- [[[8]]] http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html[Junio C Hamano and the git-list. 'git-bisect(1) Manual Page'. Linux Kernel Archives.]
|
||||
- [[[9]]] http://github.com/Ealdwulf/bbchop[Ealdwulf. 'bbchop'. GitHub.]
|
||||
- [[[1]]] https://www.nist.gov/sites/default/files/documents/director/planning/report02-3.pdf['The Economic Impacts of Inadequate Infratructure for Software Testing'. Nist Planning Report 02-3], see Executive Summary and Chapter 8.
|
||||
- [[[2]]] http://www.oracle.com/technetwork/java/codeconvtoc-136057.html['Code Conventions for the Java Programming Language'. Sun Microsystems.]
|
||||
- [[[3]]] https://en.wikipedia.org/wiki/Software_maintenance['Software maintenance'. Wikipedia.]
|
||||
- [[[4]]] https://public-inbox.org/git/7vps5xsbwp.fsf_-_@assigned-by-dhcp.cox.net/[Junio C Hamano. 'Automated bisect success story'.]
|
||||
- [[[5]]] https://lwn.net/Articles/317154/[Christian Couder. 'Fully automated bisecting with "git bisect run"'. LWN.net.]
|
||||
- [[[6]]] https://lwn.net/Articles/277872/[Jonathan Corbet. 'Bisection divides users and developers'. LWN.net.]
|
||||
- [[[7]]] http://marc.info/?l=linux-kernel&m=119702753411680&w=2[Ingo Molnar. 'Re: BUG 2.6.23-rc3 can't see sd partitions on Alpha'. Linux-kernel mailing list.]
|
||||
- [[[8]]] https://www.kernel.org/pub/software/scm/git/docs/git-bisect.html[Junio C Hamano and the git-list. 'git-bisect(1) Manual Page'. Linux Kernel Archives.]
|
||||
- [[[9]]] https://github.com/Ealdwulf/bbchop[Ealdwulf. 'bbchop'. GitHub.]
|
||||
|
@ -137,7 +137,7 @@ respectively, in place of "good" and "bad". (But note that you cannot
|
||||
mix "good" and "bad" with "old" and "new" in a single session.)
|
||||
|
||||
In this more general usage, you provide `git bisect` with a "new"
|
||||
commit has some property and an "old" commit that doesn't have that
|
||||
commit that has some property and an "old" commit that doesn't have that
|
||||
property. Each time `git bisect` checks out a commit, you test if that
|
||||
commit has the property. If it does, mark the commit as "new";
|
||||
otherwise, mark it as "old". When the bisection is done, `git bisect`
|
||||
|
@ -10,13 +10,15 @@ SYNOPSIS
|
||||
[verse]
|
||||
'git branch' [--color[=<when>] | --no-color] [-r | -a]
|
||||
[--list] [-v [--abbrev=<length> | --no-abbrev]]
|
||||
[--column[=<options>] | --no-column]
|
||||
[(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>]
|
||||
[--points-at <object>] [<pattern>...]
|
||||
[--column[=<options>] | --no-column] [--sort=<key>]
|
||||
[(--merged | --no-merged) [<commit>]]
|
||||
[--contains [<commit]] [--no-contains [<commit>]]
|
||||
[--points-at <object>] [--format=<format>] [<pattern>...]
|
||||
'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
|
||||
'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
|
||||
'git branch' --unset-upstream [<branchname>]
|
||||
'git branch' (-m | -M) [<oldbranch>] <newbranch>
|
||||
'git branch' (-c | -C) [<oldbranch>] <newbranch>
|
||||
'git branch' (-d | -D) [-r] <branchname>...
|
||||
'git branch' --edit-description [<branchname>]
|
||||
|
||||
@ -35,11 +37,12 @@ as branch creation.
|
||||
|
||||
With `--contains`, shows only the branches that contain the named commit
|
||||
(in other words, the branches whose tip commits are descendants of the
|
||||
named commit). With `--merged`, only branches merged into the named
|
||||
commit (i.e. the branches whose tip commits are reachable from the named
|
||||
commit) will be listed. With `--no-merged` only branches not merged into
|
||||
the named commit will be listed. If the <commit> argument is missing it
|
||||
defaults to `HEAD` (i.e. the tip of the current branch).
|
||||
named commit), `--no-contains` inverts it. With `--merged`, only branches
|
||||
merged into the named commit (i.e. the branches whose tip commits are
|
||||
reachable from the named commit) will be listed. With `--no-merged` only
|
||||
branches not merged into the named commit will be listed. If the <commit>
|
||||
argument is missing it defaults to `HEAD` (i.e. the tip of the current
|
||||
branch).
|
||||
|
||||
The command's second form creates a new branch head named <branchname>
|
||||
which points to the current `HEAD`, or <start-point> if given.
|
||||
@ -62,6 +65,10 @@ If <oldbranch> had a corresponding reflog, it is renamed to match
|
||||
renaming. If <newbranch> exists, -M must be used to force the rename
|
||||
to happen.
|
||||
|
||||
The `-c` and `-C` options have the exact same semantics as `-m` and
|
||||
`-M`, except instead of the branch being renamed it along with its
|
||||
config and reflog will be copied to a new name.
|
||||
|
||||
With a `-d` or `-D` option, `<branchname>` will be deleted. You may
|
||||
specify more than one branch for deletion. If the branch currently
|
||||
has a reflog then the reflog will also be deleted.
|
||||
@ -90,19 +97,19 @@ OPTIONS
|
||||
all changes made to the branch ref, enabling use of date
|
||||
based sha1 expressions such as "<branchname>@\{yesterday}".
|
||||
Note that in non-bare repositories, reflogs are usually
|
||||
enabled by default by the `core.logallrefupdates` config option.
|
||||
enabled by default by the `core.logAllRefUpdates` config option.
|
||||
The negated form `--no-create-reflog` only overrides an earlier
|
||||
`--create-reflog`, but currently does not negate the setting of
|
||||
`core.logallrefupdates`.
|
||||
`core.logAllRefUpdates`.
|
||||
|
||||
-f::
|
||||
--force::
|
||||
Reset <branchname> to <startpoint> if <branchname> exists
|
||||
already. Without `-f` 'git branch' refuses to change an existing branch.
|
||||
Reset <branchname> to <startpoint>, even if <branchname> exists
|
||||
already. Without `-f`, 'git branch' refuses to change an existing branch.
|
||||
In combination with `-d` (or `--delete`), allow deleting the
|
||||
branch irrespective of its merged status. In combination with
|
||||
`-m` (or `--move`), allow renaming the branch even if the new
|
||||
branch name already exists.
|
||||
branch name already exists, the same applies for `-c` (or `--copy`).
|
||||
|
||||
-m::
|
||||
--move::
|
||||
@ -111,6 +118,13 @@ OPTIONS
|
||||
-M::
|
||||
Shortcut for `--move --force`.
|
||||
|
||||
-c::
|
||||
--copy::
|
||||
Copy a branch and the corresponding reflog.
|
||||
|
||||
-C::
|
||||
Shortcut for `--copy --force`.
|
||||
|
||||
--color[=<when>]::
|
||||
Color branches to highlight current, local, and
|
||||
remote-tracking branches.
|
||||
@ -142,8 +156,13 @@ This option is only applicable in non-verbose mode.
|
||||
List both remote-tracking branches and local branches.
|
||||
|
||||
--list::
|
||||
Activate the list mode. `git branch <pattern>` would try to create a branch,
|
||||
use `git branch --list <pattern>` to list matching branches.
|
||||
List branches. With optional `<pattern>...`, e.g. `git
|
||||
branch --list 'maint-*'`, list only the branches that match
|
||||
the pattern(s).
|
||||
+
|
||||
This should not be confused with `git branch -l <branchname>`,
|
||||
which creates a branch named `<branchname>` with a reflog.
|
||||
See `--create-reflog` above for details.
|
||||
|
||||
-v::
|
||||
-vv::
|
||||
@ -188,10 +207,8 @@ start-point is either a local or remote-tracking branch.
|
||||
branch.autoSetupMerge configuration variable is true.
|
||||
|
||||
--set-upstream::
|
||||
If specified branch does not exist yet or if `--force` has been
|
||||
given, acts exactly like `--track`. Otherwise sets up configuration
|
||||
like `--track` would when creating the branch, except that where
|
||||
branch points to is not changed.
|
||||
As this option had confusing syntax, it is no longer supported.
|
||||
Please use `--track` or `--set-upstream-to` instead.
|
||||
|
||||
-u <upstream>::
|
||||
--set-upstream-to=<upstream>::
|
||||
@ -213,13 +230,19 @@ start-point is either a local or remote-tracking branch.
|
||||
Only list branches which contain the specified commit (HEAD
|
||||
if not specified). Implies `--list`.
|
||||
|
||||
--no-contains [<commit>]::
|
||||
Only list branches which don't contain the specified commit
|
||||
(HEAD if not specified). Implies `--list`.
|
||||
|
||||
--merged [<commit>]::
|
||||
Only list branches whose tips are reachable from the
|
||||
specified commit (HEAD if not specified). Implies `--list`.
|
||||
specified commit (HEAD if not specified). Implies `--list`,
|
||||
incompatible with `--no-merged`.
|
||||
|
||||
--no-merged [<commit>]::
|
||||
Only list branches whose tips are not reachable from the
|
||||
specified commit (HEAD if not specified). Implies `--list`.
|
||||
specified commit (HEAD if not specified). Implies `--list`,
|
||||
incompatible with `--merged`.
|
||||
|
||||
<branchname>::
|
||||
The name of the branch to create or delete.
|
||||
@ -253,6 +276,11 @@ start-point is either a local or remote-tracking branch.
|
||||
--points-at <object>::
|
||||
Only list branches of the given object.
|
||||
|
||||
--format <format>::
|
||||
A string that interpolates `%(fieldname)` from a branch ref being shown
|
||||
and the object it points at. The format is the same as
|
||||
that of linkgit:git-for-each-ref[1].
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
@ -291,13 +319,16 @@ If you are creating a branch that you want to checkout immediately, it is
|
||||
easier to use the git checkout command with its `-b` option to create
|
||||
a branch and check it out with a single command.
|
||||
|
||||
The options `--contains`, `--merged` and `--no-merged` serve three related
|
||||
but different purposes:
|
||||
The options `--contains`, `--no-contains`, `--merged` and `--no-merged`
|
||||
serve four related but different purposes:
|
||||
|
||||
- `--contains <commit>` is used to find all branches which will need
|
||||
special attention if <commit> were to be rebased or amended, since those
|
||||
branches contain the specified <commit>.
|
||||
|
||||
- `--no-contains <commit>` is the inverse of that, i.e. branches that don't
|
||||
contain the specified <commit>.
|
||||
|
||||
- `--merged` is used to find all branches which can be safely deleted,
|
||||
since those branches are fully contained by HEAD.
|
||||
|
||||
|
@ -192,7 +192,7 @@ newline. The available atoms are:
|
||||
The 40-hex object name of the object.
|
||||
|
||||
`objecttype`::
|
||||
The type of of the object (the same as `cat-file -t` reports).
|
||||
The type of the object (the same as `cat-file -t` reports).
|
||||
|
||||
`objectsize`::
|
||||
The size, in bytes, of the object (the same as `cat-file -s`
|
||||
|
@ -13,7 +13,8 @@ SYNOPSIS
|
||||
'git checkout' [-q] [-f] [-m] [--detach] <commit>
|
||||
'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
|
||||
'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>...
|
||||
'git checkout' [-p|--patch] [<tree-ish>] [--] [<paths>...]
|
||||
'git checkout' [<tree-ish>] [--] <pathspec>...
|
||||
'git checkout' (-p|--patch) [<tree-ish>] [--] [<paths>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -38,7 +39,7 @@ $ git checkout -b <branch> --track <remote>/<branch>
|
||||
------------
|
||||
+
|
||||
You could omit <branch>, in which case the command degenerates to
|
||||
"check out the current branch", which is a glorified no-op with a
|
||||
"check out the current branch", which is a glorified no-op with
|
||||
rather expensive side-effects to show only the tracking information,
|
||||
if exists, for the current branch.
|
||||
|
||||
@ -78,20 +79,13 @@ be used to detach HEAD at the tip of the branch (`git checkout
|
||||
+
|
||||
Omitting <branch> detaches HEAD at the tip of the current branch.
|
||||
|
||||
'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>...::
|
||||
'git checkout' [<tree-ish>] [--] <pathspec>...::
|
||||
|
||||
When <paths> or `--patch` are given, 'git checkout' does *not*
|
||||
switch branches. It updates the named paths in the working tree
|
||||
from the index file or from a named <tree-ish> (most often a
|
||||
commit). In this case, the `-b` and `--track` options are
|
||||
meaningless and giving either of them results in an error. The
|
||||
<tree-ish> argument can be used to specify a specific tree-ish
|
||||
(i.e. commit, tag or tree) to update the index for the given
|
||||
paths before updating the working tree.
|
||||
+
|
||||
'git checkout' with <paths> or `--patch` is used to restore modified or
|
||||
deleted paths to their original contents from the index or replace paths
|
||||
with the contents from a named <tree-ish> (most often a commit-ish).
|
||||
Overwrite paths in the working tree by replacing with the
|
||||
contents in the index or in the <tree-ish> (most often a
|
||||
commit). When a <tree-ish> is given, the paths that
|
||||
match the <pathspec> are updated both in the index and in
|
||||
the working tree.
|
||||
+
|
||||
The index may contain unmerged entries because of a previous failed merge.
|
||||
By default, if you try to check out such an entry from the index, the
|
||||
@ -101,6 +95,14 @@ specific side of the merge can be checked out of the index by
|
||||
using `--ours` or `--theirs`. With `-m`, changes made to the working tree
|
||||
file can be discarded to re-create the original conflicted merge result.
|
||||
|
||||
'git checkout' (-p|--patch) [<tree-ish>] [--] [<pathspec>...]::
|
||||
This is similar to the "check out paths to the working tree
|
||||
from either the index or from a tree-ish" mode described
|
||||
above, but lets you use the interactive interface to show
|
||||
the "diff" output and choose which hunks to use in the
|
||||
result. See below for the description of `--patch` option.
|
||||
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-q::
|
||||
@ -256,6 +258,13 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
|
||||
out anyway. In other words, the ref can be held by more than one
|
||||
worktree.
|
||||
|
||||
--[no-]recurse-submodules::
|
||||
Using --recurse-submodules will update the content of all initialized
|
||||
submodules according to the commit recorded in the superproject. If
|
||||
local modifications in a submodule would be overwritten the checkout
|
||||
will fail unless `-f` is used. If nothing (or --no-recurse-submodules)
|
||||
is used, the work trees of submodules will not be updated.
|
||||
|
||||
<branch>::
|
||||
Branch to checkout; if it refers to a branch (i.e., a name that,
|
||||
when prepended with "refs/heads/", is a valid ref), then that
|
||||
|
@ -13,8 +13,8 @@ SYNOPSIS
|
||||
[-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
|
||||
[-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
|
||||
[--dissociate] [--separate-git-dir <git dir>]
|
||||
[--depth <depth>] [--[no-]single-branch]
|
||||
[--recursive | --recurse-submodules] [--[no-]shallow-submodules]
|
||||
[--depth <depth>] [--[no-]single-branch] [--no-tags]
|
||||
[--recurse-submodules] [--[no-]shallow-submodules]
|
||||
[--jobs <n>] [--] <repository> [<directory>]
|
||||
|
||||
DESCRIPTION
|
||||
@ -215,10 +215,26 @@ objects from the source repository into a pack in the cloned repository.
|
||||
branch when `--single-branch` clone was made, no remote-tracking
|
||||
branch is created.
|
||||
|
||||
--recursive::
|
||||
--recurse-submodules::
|
||||
After the clone is created, initialize all submodules within,
|
||||
using their default settings. This is equivalent to running
|
||||
--no-tags::
|
||||
Don't clone any tags, and set
|
||||
`remote.<remote>.tagOpt=--no-tags` in the config, ensuring
|
||||
that future `git pull` and `git fetch` operations won't follow
|
||||
any tags. Subsequent explicit tag fetches will still work,
|
||||
(see linkgit:git-fetch[1]).
|
||||
+
|
||||
Can be used in conjunction with `--single-branch` to clone and
|
||||
maintain a branch with no references other than a single cloned
|
||||
branch. This is useful e.g. to maintain minimal clones of the default
|
||||
branch of some repository for search indexing.
|
||||
|
||||
--recurse-submodules[=<pathspec]::
|
||||
After the clone is created, initialize and clone submodules
|
||||
within based on the provided pathspec. If no pathspec is
|
||||
provided, all submodules are initialized and cloned.
|
||||
Submodules are initialized and cloned using their default
|
||||
settings. The resulting clone has `submodule.active` set to
|
||||
the provided pathspec, or "." (meaning all submodules) if no
|
||||
pathspec is provided. This is equivalent to running
|
||||
`git submodule update --init --recursive` immediately after
|
||||
the clone is finished. This option is ignored if the cloned
|
||||
repository does not have a worktree/checkout (i.e. if any of
|
||||
|
@ -95,7 +95,7 @@ OPTIONS
|
||||
|
||||
--reset-author::
|
||||
When used with -C/-c/--amend options, or when committing after a
|
||||
a conflicting cherry-pick, declare that the authorship of the
|
||||
conflicting cherry-pick, declare that the authorship of the
|
||||
resulting commit now belongs to the committer. This also renews
|
||||
the author timestamp.
|
||||
|
||||
@ -112,14 +112,17 @@ OPTIONS
|
||||
`--dry-run`.
|
||||
|
||||
--long::
|
||||
When doing a dry-run, give the output in a the long-format.
|
||||
When doing a dry-run, give the output in the long-format.
|
||||
Implies `--dry-run`.
|
||||
|
||||
-z::
|
||||
--null::
|
||||
When showing `short` or `porcelain` status output, terminate
|
||||
entries in the status output with NUL, instead of LF. If no
|
||||
format is given, implies the `--porcelain` output format.
|
||||
When showing `short` or `porcelain` status output, print the
|
||||
filename verbatim and terminate the entries with NUL, instead of LF.
|
||||
If no format is given, implies the `--porcelain` output format.
|
||||
Without the `-z` option, filenames with "unusual" characters are
|
||||
quoted as explained for the configuration variable `core.quotePath`
|
||||
(see linkgit:git-config[1]).
|
||||
|
||||
-F <file>::
|
||||
--file=<file>::
|
||||
@ -193,11 +196,12 @@ whitespace::
|
||||
verbatim::
|
||||
Do not change the message at all.
|
||||
scissors::
|
||||
Same as `whitespace`, except that everything from (and
|
||||
including) the line
|
||||
"`# ------------------------ >8 ------------------------`"
|
||||
is truncated if the message is to be edited. "`#`" can be
|
||||
customized with core.commentChar.
|
||||
Same as `whitespace` except that everything from (and including)
|
||||
the line found below is truncated, if the message is to be edited.
|
||||
"`#`" can be customized with core.commentChar.
|
||||
|
||||
# ------------------------ >8 ------------------------
|
||||
|
||||
default::
|
||||
Same as `strip` if the message is to be edited.
|
||||
Otherwise `whitespace`.
|
||||
|
@ -33,10 +33,13 @@ OPTIONS
|
||||
--socket <path>::
|
||||
|
||||
Use `<path>` to contact a running cache daemon (or start a new
|
||||
cache daemon if one is not started). Defaults to
|
||||
`~/.git-credential-cache/socket`. If your home directory is on a
|
||||
network-mounted filesystem, you may need to change this to a
|
||||
local filesystem. You must specify an absolute path.
|
||||
cache daemon if one is not started).
|
||||
Defaults to `$XDG_CACHE_HOME/git/credential/socket` unless
|
||||
`~/.git-credential-cache/` exists in which case
|
||||
`~/.git-credential-cache/socket` is used instead.
|
||||
If your home directory is on a network-mounted filesystem, you
|
||||
may need to change this to a local filesystem. You must specify
|
||||
an absolute path.
|
||||
|
||||
CONTROLLING THE DAEMON
|
||||
----------------------
|
||||
|
@ -223,7 +223,7 @@ access method and requested operation.
|
||||
That means that even if you offer only read access (e.g. by using
|
||||
the pserver method), 'git-cvsserver' should have write access to
|
||||
the database to work reliably (otherwise you need to make sure
|
||||
that the database is up-to-date any time 'git-cvsserver' is executed).
|
||||
that the database is up to date any time 'git-cvsserver' is executed).
|
||||
|
||||
By default it uses SQLite databases in the Git directory, named
|
||||
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
|
||||
|
@ -30,9 +30,14 @@ OPTIONS
|
||||
Commit-ish object names to describe. Defaults to HEAD if omitted.
|
||||
|
||||
--dirty[=<mark>]::
|
||||
Describe the working tree.
|
||||
It means describe HEAD and appends <mark> (`-dirty` by
|
||||
default) if the working tree is dirty.
|
||||
--broken[=<mark>]::
|
||||
Describe the state of the working tree. When the working
|
||||
tree matches HEAD, the output is the same as "git describe
|
||||
HEAD". If the working tree has local modification "-dirty"
|
||||
is appended to it. If a repository is corrupt and Git
|
||||
cannot determine if there is local modification, Git will
|
||||
error out, unless `--broken' is given, which appends
|
||||
the suffix "-broken" instead.
|
||||
|
||||
--all::
|
||||
Instead of using only the annotated tags, use any ref
|
||||
@ -82,8 +87,25 @@ OPTIONS
|
||||
|
||||
--match <pattern>::
|
||||
Only consider tags matching the given `glob(7)` pattern,
|
||||
excluding the "refs/tags/" prefix. This can be used to avoid
|
||||
leaking private tags from the repository.
|
||||
excluding the "refs/tags/" prefix. If used with `--all`, it also
|
||||
considers local branches and remote-tracking references matching the
|
||||
pattern, excluding respectively "refs/heads/" and "refs/remotes/"
|
||||
prefix; references of other types are never considered. If given
|
||||
multiple times, a list of patterns will be accumulated, and tags
|
||||
matching any of the patterns will be considered. Use `--no-match` to
|
||||
clear and reset the list of patterns.
|
||||
|
||||
--exclude <pattern>::
|
||||
Do not consider tags matching the given `glob(7)` pattern, excluding
|
||||
the "refs/tags/" prefix. If used with `--all`, it also does not consider
|
||||
local branches and remote-tracking references matching the pattern,
|
||||
excluding respectively "refs/heads/" and "refs/remotes/" prefix;
|
||||
references of other types are never considered. If given multiple times,
|
||||
a list of patterns will be accumulated and tags matching any of the
|
||||
patterns will be excluded. When combined with --match a tag will be
|
||||
considered when it matches at least one --match pattern and does not
|
||||
match any of the --exclude patterns. Use `--no-exclude` to clear and
|
||||
reset the list of patterns.
|
||||
|
||||
--always::
|
||||
Show uniquely abbreviated commit object as fallback.
|
||||
|
@ -85,7 +85,7 @@ a 'git write-tree' + 'git diff-tree'. Thus that's the default mode.
|
||||
The non-cached version asks the question:
|
||||
|
||||
show me the differences between HEAD and the currently checked out
|
||||
tree - index contents _and_ files that aren't up-to-date
|
||||
tree - index contents _and_ files that aren't up to date
|
||||
|
||||
which is obviously a very useful question too, since that tells you what
|
||||
you *could* commit. Again, the output matches the 'git diff-tree -r'
|
||||
@ -100,8 +100,8 @@ have not actually done a 'git update-index' on it yet - there is no
|
||||
torvalds@ppc970:~/v2.6/linux> git diff-index --abbrev HEAD
|
||||
:100644 100664 7476bb... 000000... kernel/sched.c
|
||||
|
||||
i.e., it shows that the tree has changed, and that `kernel/sched.c` has is
|
||||
not up-to-date and may contain new stuff. The all-zero sha1 means that to
|
||||
i.e., it shows that the tree has changed, and that `kernel/sched.c` is
|
||||
not up to date and may contain new stuff. The all-zero sha1 means that to
|
||||
get the real diff, you need to look at the object in the working directory
|
||||
directly rather than do an object-to-object diff.
|
||||
|
||||
|
@ -97,6 +97,20 @@ OPTIONS
|
||||
:git-diff: 1
|
||||
include::diff-options.txt[]
|
||||
|
||||
-1 --base::
|
||||
-2 --ours::
|
||||
-3 --theirs::
|
||||
Compare the working tree with the "base" version (stage #1),
|
||||
"our branch" (stage #2) or "their branch" (stage #3). The
|
||||
index contains these stages only for unmerged entries i.e.
|
||||
while resolving conflicts. See linkgit:git-read-tree[1]
|
||||
section "3-Way Merge" for detailed information.
|
||||
|
||||
-0::
|
||||
Omit diff output for unmerged entries and just show
|
||||
"Unmerged". Can be used only when comparing the working tree
|
||||
with the index.
|
||||
|
||||
<path>...::
|
||||
The <paths> parameters, when given, are used to limit
|
||||
the diff to the named paths (you can give directory
|
||||
|
@ -121,7 +121,7 @@ Performance and Compression Tuning
|
||||
|
||||
--depth=<n>::
|
||||
Maximum delta depth, for blob and tree deltification.
|
||||
Default is 10.
|
||||
Default is 50.
|
||||
|
||||
--export-pack-edges=<file>::
|
||||
After creating a packfile, print a line of data to
|
||||
|
@ -8,13 +8,13 @@ git-filter-branch - Rewrite branches
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git filter-branch' [--env-filter <command>] [--tree-filter <command>]
|
||||
'git filter-branch' [--setup <command>] [--subdirectory-filter <directory>]
|
||||
[--env-filter <command>] [--tree-filter <command>]
|
||||
[--index-filter <command>] [--parent-filter <command>]
|
||||
[--msg-filter <command>] [--commit-filter <command>]
|
||||
[--tag-name-filter <command>] [--subdirectory-filter <directory>]
|
||||
[--prune-empty]
|
||||
[--tag-name-filter <command>] [--prune-empty]
|
||||
[--original <namespace>] [-d <directory>] [-f | --force]
|
||||
[--] [<rev-list options>...]
|
||||
[--state-branch <branch>] [--] [<rev-list options>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -82,12 +82,23 @@ multiple commits.
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
--setup <command>::
|
||||
This is not a real filter executed for each commit but a one
|
||||
time setup just before the loop. Therefore no commit-specific
|
||||
variables are defined yet. Functions or variables defined here
|
||||
can be used or modified in the following filter steps except
|
||||
the commit filter, for technical reasons.
|
||||
|
||||
--subdirectory-filter <directory>::
|
||||
Only look at the history which touches the given subdirectory.
|
||||
The result will contain that directory (and only that) as its
|
||||
project root. Implies <<Remap_to_ancestor>>.
|
||||
|
||||
--env-filter <command>::
|
||||
This filter may be used if you only need to modify the environment
|
||||
in which the commit will be performed. Specifically, you might
|
||||
want to rewrite the author/committer name/email/time environment
|
||||
variables (see linkgit:git-commit-tree[1] for details). Do not forget
|
||||
to re-export the variables.
|
||||
variables (see linkgit:git-commit-tree[1] for details).
|
||||
|
||||
--tree-filter <command>::
|
||||
This is the filter for rewriting the tree and its contents.
|
||||
@ -161,11 +172,6 @@ be removed, buyer beware. There is also no support for changing the
|
||||
author or timestamp (or the tag message for that matter). Tags which point
|
||||
to other tags will be rewritten to point to the underlying commit.
|
||||
|
||||
--subdirectory-filter <directory>::
|
||||
Only look at the history which touches the given subdirectory.
|
||||
The result will contain that directory (and only that) as its
|
||||
project root. Implies <<Remap_to_ancestor>>.
|
||||
|
||||
--prune-empty::
|
||||
Some filters will generate empty commits that leave the tree untouched.
|
||||
This option instructs git-filter-branch to remove such commits if they
|
||||
@ -192,6 +198,12 @@ to other tags will be rewritten to point to the underlying commit.
|
||||
directory or when there are already refs starting with
|
||||
'refs/original/', unless forced.
|
||||
|
||||
--state-branch <branch>::
|
||||
This option will cause the mapping from old to new objects to
|
||||
be loaded from named branch upon startup and saved as a new
|
||||
commit to that branch upon exit, enabling incremental of large
|
||||
trees. If '<branch>' does not exist it will be created.
|
||||
|
||||
<rev-list options>...::
|
||||
Arguments for 'git rev-list'. All positive refs included by
|
||||
these options are rewritten. You may also specify options
|
||||
@ -340,12 +352,10 @@ git filter-branch --env-filter '
|
||||
if test "$GIT_AUTHOR_EMAIL" = "root@localhost"
|
||||
then
|
||||
GIT_AUTHOR_EMAIL=john@example.com
|
||||
export GIT_AUTHOR_EMAIL
|
||||
fi
|
||||
if test "$GIT_COMMITTER_EMAIL" = "root@localhost"
|
||||
then
|
||||
GIT_COMMITTER_EMAIL=john@example.com
|
||||
export GIT_COMMITTER_EMAIL
|
||||
fi
|
||||
' -- --all
|
||||
--------------------------------------------------------
|
||||
|
@ -10,8 +10,9 @@ SYNOPSIS
|
||||
[verse]
|
||||
'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
|
||||
[(--sort=<key>)...] [--format=<format>] [<pattern>...]
|
||||
[--points-at <object>] [(--merged | --no-merged) [<object>]]
|
||||
[--contains [<object>]]
|
||||
[--points-at=<object>]
|
||||
(--merged[=<object>] | --no-merged[=<object>])
|
||||
[--contains[=<object>]] [--no-contains[=<object>]]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -25,35 +26,41 @@ host language allowing their direct evaluation in that language.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
<count>::
|
||||
<pattern>...::
|
||||
If one or more patterns are given, only refs are shown that
|
||||
match against at least one pattern, either using fnmatch(3) or
|
||||
literally, in the latter case matching completely or from the
|
||||
beginning up to a slash.
|
||||
|
||||
--count=<count>::
|
||||
By default the command shows all refs that match
|
||||
`<pattern>`. This option makes it stop after showing
|
||||
that many refs.
|
||||
|
||||
<key>::
|
||||
--sort=<key>::
|
||||
A field name to sort on. Prefix `-` to sort in
|
||||
descending order of the value. When unspecified,
|
||||
`refname` is used. You may use the --sort=<key> option
|
||||
multiple times, in which case the last key becomes the primary
|
||||
key.
|
||||
|
||||
<format>::
|
||||
A string that interpolates `%(fieldname)` from the
|
||||
object pointed at by a ref being shown. If `fieldname`
|
||||
--format=<format>::
|
||||
A string that interpolates `%(fieldname)` from a ref being shown
|
||||
and the object it points at. If `fieldname`
|
||||
is prefixed with an asterisk (`*`) and the ref points
|
||||
at a tag object, the value for the field in the object
|
||||
tag refers is used. When unspecified, defaults to
|
||||
at a tag object, use the value for the field in the object
|
||||
which the tag object refers to (instead of the field in the tag object).
|
||||
When unspecified, `<format>` defaults to
|
||||
`%(objectname) SPC %(objecttype) TAB %(refname)`.
|
||||
It also interpolates `%%` to `%`, and `%xx` where `xx`
|
||||
are hex digits interpolates to character with hex code
|
||||
`xx`; for example `%00` interpolates to `\0` (NUL),
|
||||
`%09` to `\t` (TAB) and `%0a` to `\n` (LF).
|
||||
|
||||
<pattern>...::
|
||||
If one or more patterns are given, only refs are shown that
|
||||
match against at least one pattern, either using fnmatch(3) or
|
||||
literally, in the latter case matching completely or from the
|
||||
beginning up to a slash.
|
||||
--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).
|
||||
|
||||
--shell::
|
||||
--perl::
|
||||
@ -64,21 +71,27 @@ OPTIONS
|
||||
the specified host language. This is meant to produce
|
||||
a scriptlet that can directly be `eval`ed.
|
||||
|
||||
--points-at <object>::
|
||||
--points-at=<object>::
|
||||
Only list refs which points at the given object.
|
||||
|
||||
--merged [<object>]::
|
||||
--merged[=<object>]::
|
||||
Only list refs whose tips are reachable from the
|
||||
specified commit (HEAD if not specified).
|
||||
specified commit (HEAD if not specified),
|
||||
incompatible with `--no-merged`.
|
||||
|
||||
--no-merged [<object>]::
|
||||
--no-merged[=<object>]::
|
||||
Only list refs whose tips are not reachable from the
|
||||
specified commit (HEAD if not specified).
|
||||
specified commit (HEAD if not specified),
|
||||
incompatible with `--merged`.
|
||||
|
||||
--contains [<object>]::
|
||||
--contains[=<object>]::
|
||||
Only list refs which contain the specified commit (HEAD if not
|
||||
specified).
|
||||
|
||||
--no-contains[=<object>]::
|
||||
Only list refs which don't contain the specified commit (HEAD
|
||||
if not specified).
|
||||
|
||||
--ignore-case::
|
||||
Sorting and filtering refs are case insensitive.
|
||||
|
||||
@ -95,11 +108,20 @@ refname::
|
||||
The name of the ref (the part after $GIT_DIR/).
|
||||
For a non-ambiguous short name of the ref append `:short`.
|
||||
The option core.warnAmbiguousRefs is used to select the strict
|
||||
abbreviation mode. If `strip=<N>` is appended, strips `<N>`
|
||||
slash-separated path components from the front of the refname
|
||||
(e.g., `%(refname:strip=2)` turns `refs/tags/foo` into `foo`.
|
||||
`<N>` must be a positive integer. If a displayed ref has fewer
|
||||
components than `<N>`, the command aborts with an error.
|
||||
abbreviation mode. If `lstrip=<N>` (`rstrip=<N>`) is appended, strips `<N>`
|
||||
slash-separated path components from the front (back) of the refname
|
||||
(e.g. `%(refname:lstrip=2)` turns `refs/tags/foo` into `foo` and
|
||||
`%(refname:rstrip=2)` turns `refs/tags/foo` into `refs`).
|
||||
If `<N>` is a negative number, strip as many path components as
|
||||
necessary from the specified end to leave `-<N>` path components
|
||||
(e.g. `%(refname:lstrip=-2)` turns
|
||||
`refs/tags/foo` into `tags/foo` and `%(refname:rstrip=-1)`
|
||||
turns `refs/tags/foo` into `refs`). When the ref does not have
|
||||
enough components, the result becomes an empty string if
|
||||
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`.
|
||||
|
||||
objecttype::
|
||||
The type of the object (`blob`, `tree`, `commit`, `tag`).
|
||||
@ -110,29 +132,41 @@ objectsize::
|
||||
objectname::
|
||||
The object name (aka SHA-1).
|
||||
For a non-ambiguous abbreviation of the object name append `:short`.
|
||||
For an abbreviation of the object name with desired length append
|
||||
`:short=<length>`, where the minimum length is MINIMUM_ABBREV. The
|
||||
length may be exceeded to ensure unique object names.
|
||||
|
||||
upstream::
|
||||
The name of a local ref which can be considered ``upstream''
|
||||
from the displayed ref. Respects `:short` in the same way as
|
||||
`refname` above. Additionally respects `:track` to show
|
||||
"[ahead N, behind M]" and `:trackshort` to show the terse
|
||||
version: ">" (ahead), "<" (behind), "<>" (ahead and behind),
|
||||
or "=" (in sync). Has no effect if the ref does not have
|
||||
tracking information associated with it.
|
||||
from the displayed ref. Respects `:short`, `:lstrip` and
|
||||
`:rstrip` in the same way as `refname` above. Additionally
|
||||
respects `:track` to show "[ahead N, behind M]" and
|
||||
`:trackshort` to show the terse version: ">" (ahead), "<"
|
||||
(behind), "<>" (ahead and behind), or "=" (in sync). `:track`
|
||||
also prints "[gone]" whenever unknown upstream ref is
|
||||
encountered. Append `:track,nobracket` to show tracking
|
||||
information without brackets (i.e "ahead N, behind M"). Has
|
||||
no effect if the ref does not have tracking information
|
||||
associated with it. All the options apart from `nobracket`
|
||||
are mutually exclusive, but if used together the last option
|
||||
is selected.
|
||||
|
||||
push::
|
||||
The name of a local ref which represents the `@{push}` location
|
||||
for the displayed ref. Respects `:short`, `:track`, and
|
||||
`:trackshort` options as `upstream` does. Produces an empty
|
||||
string if no `@{push}` ref is configured.
|
||||
The name of a local ref which represents the `@{push}`
|
||||
location for the displayed ref. Respects `:short`, `:lstrip`,
|
||||
`:rstrip`, `:track`, and `:trackshort` options as `upstream`
|
||||
does. Produces an empty string if no `@{push}` ref is
|
||||
configured.
|
||||
|
||||
HEAD::
|
||||
'*' if HEAD matches current ref (the checked out branch), ' '
|
||||
otherwise.
|
||||
|
||||
color::
|
||||
Change output color. Followed by `:<colorname>`, where names
|
||||
are described in `color.branch.*`.
|
||||
Change output color. Followed by `:<colorname>`, where color
|
||||
names are described under Values in the "CONFIGURATION FILE"
|
||||
section of linkgit:git-config[1]. For example,
|
||||
`%(color:bold red)`.
|
||||
|
||||
align::
|
||||
Left-, middle-, or right-align the content between
|
||||
@ -149,6 +183,25 @@ align::
|
||||
quoted, but if nested then only the topmost level performs
|
||||
quoting.
|
||||
|
||||
if::
|
||||
Used as %(if)...%(then)...%(end) or
|
||||
%(if)...%(then)...%(else)...%(end). If there is an atom with
|
||||
value or string literal after the %(if) then everything after
|
||||
the %(then) is printed, else if the %(else) atom is used, then
|
||||
everything after %(else) is printed. We ignore space when
|
||||
evaluating the string before %(then), this is useful when we
|
||||
use the %(HEAD) atom which prints either "*" or " " and we
|
||||
want to apply the 'if' condition only on the 'HEAD' ref.
|
||||
Append ":equals=<string>" or ":notequals=<string>" to compare
|
||||
the value between the %(if:...) and %(then) atoms with the
|
||||
given string.
|
||||
|
||||
symref::
|
||||
The ref which the given symbolic ref refers to. If not a
|
||||
symbolic ref, nothing is printed. Respects the `:short`,
|
||||
`:lstrip` and `:rstrip` options in the same way as `refname`
|
||||
above.
|
||||
|
||||
In addition to the above, for commit and tag objects, the header
|
||||
field names (`tree`, `parent`, `object`, `type`, and `tag`) can
|
||||
be used to specify the value in the header field.
|
||||
@ -165,11 +218,15 @@ and `date` to extract the named component.
|
||||
The complete message in a commit and tag object is `contents`.
|
||||
Its first line is `contents:subject`, where subject is the concatenation
|
||||
of all lines of the commit message up to the first blank line. The next
|
||||
line is 'contents:body', where body is all of the lines after the first
|
||||
line is `contents:body`, where body is all of the lines after the first
|
||||
blank line. The optional GPG signature is `contents:signature`. The
|
||||
first `N` lines of the message is obtained using `contents:lines=N`.
|
||||
Additionally, the trailers as interpreted by linkgit:git-interpret-trailers[1]
|
||||
are obtained as 'contents:trailers'.
|
||||
are obtained as `trailers` (or by using the historical alias
|
||||
`contents:trailers`). Non-trailer lines from the trailer block can be omitted
|
||||
with `trailers:only`. Whitespace-continuations can be removed from trailers so
|
||||
that each trailer appears on a line by itself with its full content with
|
||||
`trailers:unfold`. Both can be used together as `trailers:unfold,only`.
|
||||
|
||||
For sorting purposes, fields with numeric values sort in numeric order
|
||||
(`objectsize`, `authordate`, `committerdate`, `creatordate`, `taggerdate`).
|
||||
@ -186,6 +243,14 @@ As a special case for the date-type fields, you may specify a format for
|
||||
the date by adding `:` followed by date format name (see the
|
||||
values the `--date` option to linkgit:git-rev-list[1] takes).
|
||||
|
||||
Some atoms like %(align) and %(if) always require a matching %(end).
|
||||
We call them "opening atoms" and sometimes denote them as %($open).
|
||||
|
||||
When a scripting language specific quoting is in effect, everything
|
||||
between a top-level opening atom and its matching %(end) is evaluated
|
||||
according to the semantics of the opening atom and only its result
|
||||
from the top-level is quoted.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
@ -273,6 +338,22 @@ eval=`git for-each-ref --shell --format="$fmt" \
|
||||
eval "$eval"
|
||||
------------
|
||||
|
||||
|
||||
An example to show the usage of %(if)...%(then)...%(else)...%(end).
|
||||
This prefixes the current branch with a star.
|
||||
|
||||
------------
|
||||
git for-each-ref --format="%(if)%(HEAD)%(then)* %(else) %(end)%(refname:short)" refs/heads/
|
||||
------------
|
||||
|
||||
|
||||
An example to show the usage of %(if)...%(then)...%(end).
|
||||
This prints the authorname, if present.
|
||||
|
||||
------------
|
||||
git for-each-ref --format="%(refname)%(if)%(authorname)%(then) Authored by: %(authorname)%(end)"
|
||||
------------
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-show-ref[1]
|
||||
|
@ -23,6 +23,7 @@ SYNOPSIS
|
||||
[(--reroll-count|-v) <n>]
|
||||
[--to=<email>] [--cc=<email>]
|
||||
[--[no-]cover-letter] [--quiet] [--notes[=<ref>]]
|
||||
[--progress]
|
||||
[<common diff options>]
|
||||
[ <since> | <revision range> ]
|
||||
|
||||
@ -283,6 +284,9 @@ you can use `--suffix=-patch` to get `0001-description-of-my-change-patch`.
|
||||
range are always formatted as creation patches, independently
|
||||
of this flag.
|
||||
|
||||
--progress::
|
||||
Show progress reports on stderr as patches are generated.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
You can specify extra mail header lines to be added to each message,
|
||||
@ -557,7 +561,7 @@ series A, B, C, the history would be like:
|
||||
................................................
|
||||
|
||||
With `git format-patch --base=P -3 C` (or variants thereof, e.g. with
|
||||
`--cover-letter` of using `Z..C` instead of `-3 C` to specify the
|
||||
`--cover-letter` or using `Z..C` instead of `-3 C` to specify the
|
||||
range), the base tree information block is shown at the end of the
|
||||
first message the command outputs (either the first patch, or the
|
||||
cover letter), like this:
|
||||
|
@ -95,13 +95,6 @@ OPTIONS
|
||||
<tree> option the prefix of all submodule output will be the name of
|
||||
the parent project's <tree> object.
|
||||
|
||||
--parent-basename <basename>::
|
||||
For internal use only. In order to produce uniform output with the
|
||||
--recurse-submodules option, this option can be used to provide the
|
||||
basename of a parent's <tree> object to a submodule so the submodule
|
||||
can prefix its output with the parent's name rather than the SHA1 of
|
||||
the submodule.
|
||||
|
||||
-a::
|
||||
--text::
|
||||
Process binary files as if they were text.
|
||||
@ -161,8 +154,11 @@ OPTIONS
|
||||
|
||||
-P::
|
||||
--perl-regexp::
|
||||
Use Perl-compatible regexp for patterns. Requires libpcre to be
|
||||
compiled in.
|
||||
Use Perl-compatible regular expressions for patterns.
|
||||
+
|
||||
Support for these types of regular expressions is an optional
|
||||
compile-time dependency. If Git wasn't compiled with support for them
|
||||
providing this option will cause it to die.
|
||||
|
||||
-F::
|
||||
--fixed-strings::
|
||||
@ -293,6 +289,9 @@ OPTIONS
|
||||
<pathspec>...::
|
||||
If given, limit the search to paths matching at least one pattern.
|
||||
Both leading paths match and glob(7) patterns are supported.
|
||||
+
|
||||
For more details about the <pathspec> syntax, see the 'pathspec' entry
|
||||
in linkgit:gitglossary[7].
|
||||
|
||||
Examples
|
||||
--------
|
||||
@ -309,6 +308,9 @@ Examples
|
||||
Looks for a line that has `NODE` or `Unexpected` in
|
||||
files that have lines that match both.
|
||||
|
||||
`git grep solution -- :^Documentation`::
|
||||
Looks for `solution`, excluding files in `Documentation`.
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -3,24 +3,27 @@ git-interpret-trailers(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-interpret-trailers - help add structured information into commit messages
|
||||
git-interpret-trailers - add or parse structured information in commit messages
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git interpret-trailers' [--in-place] [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]
|
||||
'git interpret-trailers' [options] [(--trailer <token>[(=|:)<value>])...] [<file>...]
|
||||
'git interpret-trailers' [options] [--parse] [<file>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Help adding 'trailers' lines, that look similar to RFC 822 e-mail
|
||||
Help parsing or adding 'trailers' lines, that look similar to RFC 822 e-mail
|
||||
headers, at the end of the otherwise free-form part of a commit
|
||||
message.
|
||||
|
||||
This command reads some patches or commit messages from either the
|
||||
<file> arguments or the standard input if no <file> is specified. Then
|
||||
this command applies the arguments passed using the `--trailer`
|
||||
option, if any, to the commit message part of each input file. The
|
||||
result is emitted on the standard output.
|
||||
<file> arguments or the standard input if no <file> is specified. If
|
||||
`--parse` is specified, the output consists of the parsed trailers.
|
||||
|
||||
Otherwise, this command applies the arguments passed using the
|
||||
`--trailer` option, if any, to the commit message part of each input
|
||||
file. The result is emitted on the standard output.
|
||||
|
||||
Some configuration variables control the way the `--trailer` arguments
|
||||
are applied to each commit message and the way any existing trailer in
|
||||
@ -80,6 +83,45 @@ OPTIONS
|
||||
trailer to the input messages. See the description of this
|
||||
command.
|
||||
|
||||
--where <placement>::
|
||||
--no-where::
|
||||
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'.
|
||||
|
||||
--if-exists <action>::
|
||||
--no-if-exists::
|
||||
Specify what action will be performed when there is already at
|
||||
least one trailer with the same <token> in the message. A setting
|
||||
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-missing <action>::
|
||||
--no-if-missing::
|
||||
Specify what action will be performed when there is no other
|
||||
trailer with the same <token> in the message. A setting
|
||||
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'.
|
||||
|
||||
--only-trailers::
|
||||
Output only the trailers, not any other parts of the input.
|
||||
|
||||
--only-input::
|
||||
Output only trailers that exist in the input; do not add any
|
||||
from the command-line or by following configured `trailer.*`
|
||||
rules.
|
||||
|
||||
--unfold::
|
||||
Remove any whitespace-continuation in trailers, so that each
|
||||
trailer appears on a line by itself with its full content.
|
||||
|
||||
--parse::
|
||||
A convenience alias for `--only-trailers --only-input
|
||||
--unfold`.
|
||||
|
||||
CONFIGURATION VARIABLES
|
||||
-----------------------
|
||||
|
||||
@ -123,7 +165,7 @@ trailer.ifexists::
|
||||
same <token> in the message.
|
||||
+
|
||||
The valid values for this option are: `addIfDifferentNeighbor` (this
|
||||
is the default), `addIfDifferent`, `add`, `overwrite` or `doNothing`.
|
||||
is the default), `addIfDifferent`, `add`, `replace` or `doNothing`.
|
||||
+
|
||||
With `addIfDifferentNeighbor`, a new trailer will be added only if no
|
||||
trailer with the same (<token>, <value>) pair is above or below the line
|
||||
@ -170,8 +212,8 @@ trailer.<token>.where::
|
||||
configuration variable and it overrides what is specified by
|
||||
that option for trailers with the specified <token>.
|
||||
|
||||
trailer.<token>.ifexist::
|
||||
This option takes the same values as the 'trailer.ifexist'
|
||||
trailer.<token>.ifexists::
|
||||
This option takes the same values as the 'trailer.ifexists'
|
||||
configuration variable and it overrides what is specified by
|
||||
that option for trailers with the specified <token>.
|
||||
|
||||
|
@ -57,7 +57,7 @@ OPTIONS
|
||||
|
||||
-s::
|
||||
--stage::
|
||||
Show staged contents' object name, mode bits and stage number in the output.
|
||||
Show staged contents' mode bits, object name and stage number in the output.
|
||||
|
||||
--directory::
|
||||
If a whole directory is classified as "other", show just its
|
||||
@ -77,7 +77,8 @@ OPTIONS
|
||||
succeed.
|
||||
|
||||
-z::
|
||||
\0 line termination on output.
|
||||
\0 line termination on output and do not quote filenames.
|
||||
See OUTPUT below for more information.
|
||||
|
||||
-x <pattern>::
|
||||
--exclude=<pattern>::
|
||||
@ -196,9 +197,10 @@ the index records up to three such pairs; one from tree O in stage
|
||||
the user (or the porcelain) to see what should eventually be recorded at the
|
||||
path. (see linkgit:git-read-tree[1] for more information on state)
|
||||
|
||||
When `-z` option is not used, TAB, LF, and backslash characters
|
||||
in pathnames are represented as `\t`, `\n`, and `\\`,
|
||||
respectively.
|
||||
Without the `-z` option, pathnames with "unusual" characters are
|
||||
quoted as explained for the configuration variable `core.quotePath`
|
||||
(see linkgit:git-config[1]). Using `-z` the filename is output
|
||||
verbatim and the line is terminated by a NUL byte.
|
||||
|
||||
|
||||
Exclude Patterns
|
||||
|
@ -53,7 +53,8 @@ OPTIONS
|
||||
Show object size of blob (file) entries.
|
||||
|
||||
-z::
|
||||
\0 line termination on output.
|
||||
\0 line termination on output and do not quote filenames.
|
||||
See OUTPUT FORMAT below for more information.
|
||||
|
||||
--name-only::
|
||||
--name-status::
|
||||
@ -82,8 +83,6 @@ Output Format
|
||||
-------------
|
||||
<mode> SP <type> SP <object> TAB <file>
|
||||
|
||||
Unless the `-z` option is used, TAB, LF, and backslash characters
|
||||
in pathnames are represented as `\t`, `\n`, and `\\`, respectively.
|
||||
This output format is compatible with what `--index-info --stdin` of
|
||||
'git update-index' expects.
|
||||
|
||||
@ -95,6 +94,11 @@ Object size identified by <object> is given in bytes, and right-justified
|
||||
with minimum width of 7 characters. Object size is given only for blobs
|
||||
(file) entries; for other entries `-` character is used in place of size.
|
||||
|
||||
Without the `-z` option, pathnames with "unusual" characters are
|
||||
quoted as explained for the configuration variable `core.quotePath`
|
||||
(see linkgit:git-config[1]). Using `-z` the filename is output
|
||||
verbatim and the line is terminated by a NUL byte.
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -13,7 +13,6 @@ SYNOPSIS
|
||||
[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
|
||||
[--[no-]allow-unrelated-histories]
|
||||
[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]
|
||||
'git merge' <msg> HEAD <commit>...
|
||||
'git merge' --abort
|
||||
'git merge' --continue
|
||||
|
||||
@ -46,11 +45,7 @@ a log message from the user describing the changes.
|
||||
D---E---F---G---H master
|
||||
------------
|
||||
|
||||
The second syntax (<msg> `HEAD` <commit>...) is supported for
|
||||
historical reasons. Do not use it from the command line or in
|
||||
new scripts. It is the same as `git merge -m <msg> <commit>...`.
|
||||
|
||||
The third syntax ("`git merge --abort`") can only be run after the
|
||||
The second syntax ("`git merge --abort`") can only be run after the
|
||||
merge has resulted in conflicts. 'git merge --abort' will abort the
|
||||
merge process and try to reconstruct the pre-merge state. However,
|
||||
if there were uncommitted changes when the merge started (and
|
||||
@ -69,11 +64,13 @@ OPTIONS
|
||||
-------
|
||||
include::merge-options.txt[]
|
||||
|
||||
-S[<keyid>]::
|
||||
--gpg-sign[=<keyid>]::
|
||||
GPG-sign the resulting merge commit. The `keyid` argument is
|
||||
optional and defaults to the committer identity; if specified,
|
||||
it must be stuck to the option without a space.
|
||||
--signoff::
|
||||
Add Signed-off-by line by the committer at the end of the commit
|
||||
log message. The meaning of a signoff depends on the project,
|
||||
but it typically certifies that committer has
|
||||
the rights to submit this work under the same license and
|
||||
agrees to a Developer Certificate of Origin
|
||||
(see http://developercertificate.org/ for more information).
|
||||
|
||||
-m <msg>::
|
||||
Set the commit message to be used for the merge commit (in
|
||||
@ -138,7 +135,7 @@ exception is when the changed index entries are in the state that
|
||||
would result from the merge already.)
|
||||
|
||||
If all named commits are already ancestors of `HEAD`, 'git merge'
|
||||
will exit early with the message "Already up-to-date."
|
||||
will exit early with the message "Already up to date."
|
||||
|
||||
FAST-FORWARD MERGE
|
||||
------------------
|
||||
@ -285,7 +282,10 @@ After seeing a conflict, you can do two things:
|
||||
|
||||
* Resolve the conflicts. Git will mark the conflicts in
|
||||
the working tree. Edit the files into shape and
|
||||
'git add' them to the index. Use 'git commit' to seal the deal.
|
||||
'git add' them to the index. Use 'git commit' or
|
||||
'git merge --continue' to seal the deal. The latter command
|
||||
checks whether there is a (interrupted) merge in progress
|
||||
before calling 'git commit'.
|
||||
|
||||
You can work through the conflict with a number of tools:
|
||||
|
||||
|
@ -26,7 +26,18 @@ OPTIONS
|
||||
|
||||
--refs=<pattern>::
|
||||
Only use refs whose names match a given shell pattern. The pattern
|
||||
can be one of branch name, tag name or fully qualified ref name.
|
||||
can be one of branch name, tag name or fully qualified ref name. If
|
||||
given multiple times, use refs whose names match any of the given shell
|
||||
patterns. Use `--no-refs` to clear any previous ref patterns given.
|
||||
|
||||
--exclude=<pattern>::
|
||||
Do not use any ref whose name matches a given shell pattern. The
|
||||
pattern can be one of branch name, tag name or fully qualified ref
|
||||
name. If given multiple times, a ref will be excluded when it matches
|
||||
any of the given patterns. When used together with --refs, a ref will
|
||||
be used as a match only when it matches at least one --refs pattern and
|
||||
does not match any --exclude patterns. Use `--no-exclude` to clear the
|
||||
list of exclude patterns.
|
||||
|
||||
--all::
|
||||
List all commits reachable from all refs
|
||||
|
@ -171,7 +171,7 @@ OPTIONS
|
||||
object that does not have notes attached to it.
|
||||
|
||||
--stdin::
|
||||
Also read the object names to remove notes from from the standard
|
||||
Also read the object names to remove notes from the standard
|
||||
input (there is no reason you cannot combine this with object
|
||||
names from the command line).
|
||||
|
||||
|
@ -18,8 +18,9 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Reads list of objects from the standard input, and writes a packed
|
||||
archive with specified base-name, or to the standard output.
|
||||
Reads list of objects from the standard input, and writes either one or
|
||||
more packed archives with the specified base-name to disk, or a packed
|
||||
archive to the standard output.
|
||||
|
||||
A packed archive is an efficient way to transfer a set of objects
|
||||
between two repositories as well as an access efficient archival
|
||||
@ -47,9 +48,9 @@ transport by their peers.
|
||||
OPTIONS
|
||||
-------
|
||||
base-name::
|
||||
Write into a pair of files (.pack and .idx), using
|
||||
Write into pairs of files (.pack and .idx), using
|
||||
<base-name> to determine the name of the created file.
|
||||
When this option is used, the two files are written in
|
||||
When this option is used, the two files in a pair are written in
|
||||
<base-name>-<SHA-1>.{pack,idx} files. <SHA-1> is a hash
|
||||
based on the pack content and is written to the standard
|
||||
output of the command.
|
||||
@ -108,9 +109,13 @@ base-name::
|
||||
is taken from the `pack.windowMemory` configuration variable.
|
||||
|
||||
--max-pack-size=<n>::
|
||||
Maximum size of each output pack file. The size can be suffixed with
|
||||
In unusual scenarios, you may not be able to create files
|
||||
larger than a certain size on your filesystem, and this option
|
||||
can be used to tell the command to split the output packfile
|
||||
into multiple independent packfiles, each not larger than the
|
||||
given size. The size can be suffixed with
|
||||
"k", "m", or "g". The minimum size allowed is limited to 1 MiB.
|
||||
If specified, multiple packfiles may be created, which also
|
||||
This option
|
||||
prevents the creation of a bitmap index.
|
||||
The default is unlimited, unless the config variable
|
||||
`pack.packSizeLimit` is set.
|
||||
|
@ -56,9 +56,6 @@ OPTIONS
|
||||
|
||||
This is the default.
|
||||
|
||||
<patch>::
|
||||
The diff to create the ID of.
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -67,7 +67,7 @@ with uncommitted changes is discouraged: while possible, it leaves you
|
||||
in a state that may be hard to back out of in the case of a conflict.
|
||||
|
||||
If any of the remote changes overlap with local uncommitted changes,
|
||||
the merge will be automatically cancelled and the work tree untouched.
|
||||
the merge will be automatically canceled and the work tree untouched.
|
||||
It is generally best to get any local changes in working order before
|
||||
pulling or stash them away with linkgit:git-stash[1].
|
||||
|
||||
@ -86,12 +86,12 @@ OPTIONS
|
||||
|
||||
--[no-]recurse-submodules[=yes|on-demand|no]::
|
||||
This option controls if new commits of all populated submodules should
|
||||
be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
|
||||
That might be necessary to get the data needed for merging submodule
|
||||
commits, a feature Git learned in 1.7.3. Notice that the result of a
|
||||
merge will not be checked out in the submodule, "git submodule update"
|
||||
has to be called afterwards to bring the work tree up to date with the
|
||||
merge result.
|
||||
be fetched and updated, too (see linkgit:git-config[1] and
|
||||
linkgit:gitmodules[5]).
|
||||
+
|
||||
If the checkout is done via rebase, local submodule commits are rebased as well.
|
||||
+
|
||||
If the update is done via merge, the submodule conflicts are resolved and checked out.
|
||||
|
||||
Options related to merging
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -131,7 +131,7 @@ unless you have read linkgit:git-rebase[1] carefully.
|
||||
--autostash::
|
||||
--no-autostash::
|
||||
Before starting rebase, stash local modifications away (see
|
||||
linkgit:git-stash[1]) if needed, and apply the stash when
|
||||
linkgit:git-stash[1]) if needed, and apply the stash entry when
|
||||
done. `--no-autostash` is useful to override the `rebase.autoStash`
|
||||
configuration variable (see linkgit:git-config[1]).
|
||||
+
|
||||
@ -159,15 +159,15 @@ present while on branch `<name>`, that value is used instead of
|
||||
|
||||
In order to determine what URL to use to fetch from, the value
|
||||
of the configuration `remote.<origin>.url` is consulted
|
||||
and if there is not any such variable, the value on `URL: ` line
|
||||
in `$GIT_DIR/remotes/<origin>` file is used.
|
||||
and if there is not any such variable, the value on the `URL:` line
|
||||
in `$GIT_DIR/remotes/<origin>` is used.
|
||||
|
||||
In order to determine what remote branches to fetch (and
|
||||
optionally store in the remote-tracking branches) when the command is
|
||||
run without any refspec parameters on the command line, values
|
||||
of the configuration variable `remote.<origin>.fetch` are
|
||||
consulted, and if there aren't any, `$GIT_DIR/remotes/<origin>`
|
||||
file is consulted and its `Pull: ` lines are used.
|
||||
is consulted and its `Pull:` lines are used.
|
||||
In addition to the refspec formats described in the OPTIONS
|
||||
section, you can have a globbing refspec that looks like this:
|
||||
|
||||
@ -210,7 +210,8 @@ EXAMPLES
|
||||
current branch:
|
||||
+
|
||||
------------------------------------------------
|
||||
$ git pull, git pull origin
|
||||
$ git pull
|
||||
$ git pull origin
|
||||
------------------------------------------------
|
||||
+
|
||||
Normally the branch merged in is the HEAD of the remote repository,
|
||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||
'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>]
|
||||
[--[no-]signed|--sign=(true|false|if-asked)]
|
||||
[--[no-]signed|--signed=(true|false|if-asked)]
|
||||
[--force-with-lease[=<refname>[:<expect>]]]
|
||||
[--no-verify] [<repository> [<refspec>...]]
|
||||
|
||||
@ -141,7 +141,7 @@ already exists on the remote side.
|
||||
information, see `push.followTags` in linkgit:git-config[1].
|
||||
|
||||
--[no-]signed::
|
||||
--sign=(true|false|if-asked)::
|
||||
--signed=(true|false|if-asked)::
|
||||
GPG-sign the push request to update refs on the receiving
|
||||
side, to allow it to be checked by the hooks and/or be
|
||||
logged. If `false` or `--no-signed`, no signing will be
|
||||
@ -217,6 +217,47 @@ with this feature.
|
||||
+
|
||||
"--no-force-with-lease" will cancel all the previous --force-with-lease on the
|
||||
command line.
|
||||
+
|
||||
A general note on safety: supplying this option without an expected
|
||||
value, i.e. as `--force-with-lease` or `--force-with-lease=<refname>`
|
||||
interacts very badly with anything that implicitly runs `git fetch` on
|
||||
the remote to be pushed to in the background, e.g. `git fetch origin`
|
||||
on your repository in a cronjob.
|
||||
+
|
||||
The protection it offers over `--force` is ensuring that subsequent
|
||||
changes your work wasn't based on aren't clobbered, but this is
|
||||
trivially defeated if some background process is updating refs in the
|
||||
background. We don't have anything except the remote tracking info to
|
||||
go by as a heuristic for refs you're expected to have seen & are
|
||||
willing to clobber.
|
||||
+
|
||||
If your editor or some other system is running `git fetch` in the
|
||||
background for you a way to mitigate this is to simply set up another
|
||||
remote:
|
||||
+
|
||||
git remote add origin-push $(git config remote.origin.url)
|
||||
git fetch origin-push
|
||||
+
|
||||
Now when the background process runs `git fetch origin` the references
|
||||
on `origin-push` won't be updated, and thus commands like:
|
||||
+
|
||||
git push --force-with-lease origin-push
|
||||
+
|
||||
Will fail unless you manually run `git fetch origin-push`. This method
|
||||
is of course entirely defeated by something that runs `git fetch
|
||||
--all`, in that case you'd need to either disable it or do something
|
||||
more tedious like:
|
||||
+
|
||||
git fetch # update 'master' from remote
|
||||
git tag base master # mark our base point
|
||||
git rebase -i master # rewrite some commits
|
||||
git push --force-with-lease=master:base master:master
|
||||
+
|
||||
I.e. create a `base` tag for versions of the upstream code that you've
|
||||
seen and are willing to overwrite, then rewrite history, and finally
|
||||
force push changes to `master` if the remote version is still at
|
||||
`base`, regardless of what your local `remotes/origin/master` has been
|
||||
updated to in the background.
|
||||
|
||||
-f::
|
||||
--force::
|
||||
|
@ -115,6 +115,12 @@ OPTIONS
|
||||
directories the index file and index output file are
|
||||
located in.
|
||||
|
||||
--[no-]recurse-submodules::
|
||||
Using --recurse-submodules will update the content of all initialized
|
||||
submodules according to the commit recorded in the superproject by
|
||||
calling read-tree recursively, also setting the submodules HEAD to be
|
||||
detached at that commit.
|
||||
|
||||
--no-sparse-checkout::
|
||||
Disable sparse checkout support even if `core.sparseCheckout`
|
||||
is true.
|
||||
@ -131,7 +137,7 @@ 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
|
||||
fast-forward merge with 2 trees, or a 3-way merge if 3 trees are
|
||||
fast-forward merge with 2 trees, or a 3-way merge if 3 or more trees are
|
||||
provided.
|
||||
|
||||
|
||||
@ -173,6 +179,7 @@ Here are the "carry forward" rules, where "I" denotes the index,
|
||||
"clean" means that index and work tree coincide, and "exists"/"nothing"
|
||||
refer to the presence of a path in the specified commit:
|
||||
|
||||
....
|
||||
I H M Result
|
||||
-------------------------------------------------------
|
||||
0 nothing nothing nothing (does not happen)
|
||||
@ -211,6 +218,7 @@ refer to the presence of a path in the specified commit:
|
||||
19 no no yes exists exists keep index
|
||||
20 yes yes no exists exists use M
|
||||
21 no yes no exists exists fail
|
||||
....
|
||||
|
||||
In all "keep index" cases, the index entry stays as in the
|
||||
original index file. If the entry is not up to date,
|
||||
|
@ -334,7 +334,7 @@ which makes little sense.
|
||||
|
||||
-f::
|
||||
--force-rebase::
|
||||
Force a rebase even if the current branch is up-to-date and
|
||||
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
|
||||
@ -370,6 +370,11 @@ default is `--no-fork-point`, otherwise the default is `--fork-point`.
|
||||
of the rebased commits (see linkgit:git-am[1]).
|
||||
Incompatible with the --interactive option.
|
||||
|
||||
--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.
|
||||
|
||||
-i::
|
||||
--interactive::
|
||||
Make a list of the commits which are about to be rebased. Let the
|
||||
@ -425,13 +430,15 @@ without an explicit `--interactive`.
|
||||
--autosquash::
|
||||
--no-autosquash::
|
||||
When the commit log message begins with "squash! ..." (or
|
||||
"fixup! ..."), and there is a commit whose title begins with
|
||||
the same ..., automatically modify the todo list of rebase -i
|
||||
so that the commit marked for squashing comes right after the
|
||||
commit to be modified, and change the action of the moved
|
||||
commit from `pick` to `squash` (or `fixup`). Ignores subsequent
|
||||
"fixup! " or "squash! " after the first, in case you referred to an
|
||||
earlier fixup/squash with `git commit --fixup/--squash`.
|
||||
"fixup! ..."), and there is already a commit in the todo list that
|
||||
matches the same `...`, automatically modify the todo list of rebase
|
||||
-i so that the commit marked for squashing comes right after the
|
||||
commit to be modified, and change the action of the moved commit
|
||||
from `pick` to `squash` (or `fixup`). A commit matches the `...` if
|
||||
the commit subject matches, or if the `...` refers to the commit's
|
||||
hash. As a fall-back, partial matches of the commit subject work,
|
||||
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.
|
||||
+
|
||||
@ -441,7 +448,7 @@ used to override and disable this setting.
|
||||
|
||||
--autostash::
|
||||
--no-autostash::
|
||||
Automatically create a temporary stash before the operation
|
||||
Automatically create a temporary stash entry before the operation
|
||||
begins, and apply it after the operation ends. This means
|
||||
that you can run rebase on a dirty worktree. However, use
|
||||
with care: the final stash application after a successful
|
||||
@ -670,7 +677,7 @@ on this 'subsystem'. You might end up with a history like the
|
||||
following:
|
||||
|
||||
------------
|
||||
o---o---o---o---o---o---o---o---o master
|
||||
o---o---o---o---o---o---o---o master
|
||||
\
|
||||
o---o---o---o---o subsystem
|
||||
\
|
||||
|
@ -114,6 +114,8 @@ will be performed, and the update, post-receive and post-update
|
||||
hooks will not be invoked either. This can be useful to quickly
|
||||
bail out if the update is not to be supported.
|
||||
|
||||
See the notes on the quarantine environment below.
|
||||
|
||||
update Hook
|
||||
-----------
|
||||
Before each ref is updated, if $GIT_DIR/hooks/update file exists
|
||||
@ -214,6 +216,33 @@ if the repository is packed and is served via a dumb transport.
|
||||
exec git update-server-info
|
||||
|
||||
|
||||
Quarantine Environment
|
||||
----------------------
|
||||
|
||||
When `receive-pack` takes in objects, they are placed into a temporary
|
||||
"quarantine" directory within the `$GIT_DIR/objects` directory and
|
||||
migrated into the main object store only after the `pre-receive` hook
|
||||
has completed. If the push fails before then, the temporary directory is
|
||||
removed entirely.
|
||||
|
||||
This has a few user-visible effects and caveats:
|
||||
|
||||
1. Pushes which fail due to problems with the incoming pack, missing
|
||||
objects, or due to the `pre-receive` hook will not leave any
|
||||
on-disk data. This is usually helpful to prevent repeated failed
|
||||
pushes from filling up your disk, but can make debugging more
|
||||
challenging.
|
||||
|
||||
2. Any objects created by the `pre-receive` hook will be created in
|
||||
the quarantine directory (and migrated only if it succeeds).
|
||||
|
||||
3. The `pre-receive` hook MUST NOT update any refs to point to
|
||||
quarantined objects. Other programs accessing the repository will
|
||||
not be able to see the objects (and if the pre-receive hook fails,
|
||||
those refs would become corrupted). For safety, any ref updates
|
||||
from within `pre-receive` are automatically rejected.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-send-pack[1], linkgit:gitnamespaces[7]
|
||||
|
@ -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>]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>] [--threads=<n>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -92,6 +92,9 @@ other objects in that pack they already have locally.
|
||||
to be applied that many times to get to the necessary object.
|
||||
The default value for --window is 10 and --depth is 50.
|
||||
|
||||
--threads=<n>::
|
||||
This option is passed through to `git pack-objects`.
|
||||
|
||||
--window-memory=<n>::
|
||||
This option provides an additional limit on top of `--window`;
|
||||
the window size will dynamically scale down so as to not take
|
||||
|
@ -205,7 +205,7 @@ development on the topic branch:
|
||||
------------
|
||||
|
||||
you could run `git rebase master topic`, to bring yourself
|
||||
up-to-date before your topic is ready to be sent upstream.
|
||||
up to date before your topic is ready to be sent upstream.
|
||||
This would result in falling back to a three-way merge, and it
|
||||
would conflict the same way as the test merge you resolved earlier.
|
||||
'git rerere' will be run by 'git rebase' to help you resolve this
|
||||
|
@ -115,7 +115,7 @@ $ git pull git://info.example.com/ nitfol <4>
|
||||
in these files are in good order. You do not want to see them
|
||||
when you run "git diff", because you plan to work on other files
|
||||
and changes with these files are distracting.
|
||||
<2> Somebody asks you to pull, and the changes sounds worthy of merging.
|
||||
<2> Somebody asks you to pull, and the changes sound worthy of merging.
|
||||
<3> However, you already dirtied the index (i.e. your index does
|
||||
not match the HEAD commit). But you know the pull you are going
|
||||
to make does not affect frotz.c or filfre.c, so you revert the
|
||||
@ -294,7 +294,7 @@ $ git reset --keep start <3>
|
||||
|
||||
Split a commit apart into a sequence of commits::
|
||||
+
|
||||
Suppose that you have created lots of logically separate changes and commited
|
||||
Suppose that you have created lots of logically separate changes and committed
|
||||
them together. Then, later you decide that it might be better to have each
|
||||
logical chunk associated with its own commit. You can use git reset to rewind
|
||||
history without changing the contents of your local files, and then successively
|
||||
|
@ -126,6 +126,12 @@ can be used.
|
||||
'git diff-{asterisk}'). In contrast to the `--sq-quote` option,
|
||||
the command input is still interpreted as usual.
|
||||
|
||||
--short[=length]::
|
||||
Same as `--verify` but shortens the object name to a unique
|
||||
prefix with at least `length` characters. The minimum length
|
||||
is 4, the default is the effective value of the `core.abbrev`
|
||||
configuration variable (see linkgit:git-config[1]).
|
||||
|
||||
--not::
|
||||
When showing object names, prefix them with '{caret}' and
|
||||
strip '{caret}' prefix from the object names that already have
|
||||
@ -136,12 +142,6 @@ can be used.
|
||||
The option core.warnAmbiguousRefs is used to select the strict
|
||||
abbreviation mode.
|
||||
|
||||
--short::
|
||||
--short=number::
|
||||
Instead of outputting the full SHA-1 values of object names try to
|
||||
abbreviate them to a shorter unique name. When no length is specified
|
||||
7 is used. The minimum length is 4.
|
||||
|
||||
--symbolic::
|
||||
Usually the object names are output in SHA-1 form (with
|
||||
possible '{caret}' prefix); this option makes them output in a
|
||||
@ -217,6 +217,10 @@ If `$GIT_DIR` is not defined and the current directory
|
||||
is not detected to lie in a Git repository or work tree
|
||||
print a message to stderr and exit with nonzero status.
|
||||
|
||||
--absolute-git-dir::
|
||||
Like `--git-dir`, but its output is always the canonicalized
|
||||
absolute path.
|
||||
|
||||
--git-common-dir::
|
||||
Show `$GIT_COMMON_DIR` if defined, else `$GIT_DIR`.
|
||||
|
||||
@ -231,6 +235,9 @@ print a message to stderr and exit with nonzero status.
|
||||
--is-bare-repository::
|
||||
When the repository is bare print "true", otherwise "false".
|
||||
|
||||
--is-shallow-repository::
|
||||
When the repository is shallow print "true", otherwise "false".
|
||||
|
||||
--resolve-git-dir <path>::
|
||||
Check if <path> is a valid repository or a gitfile that
|
||||
points at a valid repository, and print the location of the
|
||||
@ -257,6 +264,12 @@ print a message to stderr and exit with nonzero status.
|
||||
--show-toplevel::
|
||||
Show the absolute path of the top-level directory.
|
||||
|
||||
--show-superproject-working-tree
|
||||
Show the absolute path of the root of the superproject's
|
||||
working tree (if exists) that uses the current repository as
|
||||
its submodule. Outputs nothing if the current repository is
|
||||
not used as a submodule by any project.
|
||||
|
||||
--shared-index-path::
|
||||
Show the path to the shared index file in split index mode, or
|
||||
empty if not in split-index mode.
|
||||
|
@ -140,20 +140,21 @@ Only submodules using a gitfile (which means they were cloned
|
||||
with a Git version 1.7.8 or newer) will be removed from the work
|
||||
tree, as their repository lives inside the .git directory of the
|
||||
superproject. If a submodule (or one of those nested inside it)
|
||||
still uses a .git directory, `git rm` will fail - no matter if forced
|
||||
or not - to protect the submodule's history. If it exists the
|
||||
submodule.<name> section in the linkgit:gitmodules[5] file will also
|
||||
be removed and that file will be staged (unless --cached or -n are used).
|
||||
still uses a .git directory, `git rm` will move the submodules
|
||||
git directory into the superprojects git directory to protect
|
||||
the submodule's history. If it exists the submodule.<name> section
|
||||
in the linkgit:gitmodules[5] file will also be removed and that file
|
||||
will be staged (unless --cached or -n are used).
|
||||
|
||||
A submodule is considered up-to-date when the HEAD is the same as
|
||||
A submodule is considered up to date when the HEAD is the same as
|
||||
recorded in the index, no tracked files are modified and no untracked
|
||||
files that aren't ignored are present in the submodules work tree.
|
||||
Ignored files are deemed expendable and won't stop a submodule's work
|
||||
tree from being removed.
|
||||
|
||||
If you only want to remove the local checkout of a submodule from your
|
||||
work tree without committing the removal,
|
||||
use linkgit:git-submodule[1] `deinit` instead.
|
||||
work tree without committing the removal, use linkgit:git-submodule[1] `deinit`
|
||||
instead. Also see linkgit:gitsubmodules[7] for details on submodule removal.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
@ -248,6 +248,21 @@ must be used for each option.
|
||||
commands and replies will be printed. Useful to debug TLS
|
||||
connection and authentication problems.
|
||||
|
||||
--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
|
||||
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
|
||||
use some form of credential helper to avoid having to retype
|
||||
your password every time this happens. Defaults to the
|
||||
`sendemail.smtpBatchSize` configuration variable.
|
||||
|
||||
--relogin-delay=<int>::
|
||||
Waiting $<int> seconds before reconnecting to SMTP server. Used together
|
||||
with --batch-size option. Defaults to the `sendemail.smtpReloginDelay`
|
||||
configuration variable.
|
||||
|
||||
Automating
|
||||
~~~~~~~~~~
|
||||
|
||||
@ -377,6 +392,7 @@ have been specified, in which case default to 'compose'.
|
||||
Currently, validation means the following:
|
||||
+
|
||||
--
|
||||
* 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.
|
||||
--
|
||||
|
@ -11,7 +11,7 @@ SYNOPSIS
|
||||
[verse]
|
||||
'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>]
|
||||
[--verbose] [--thin] [--atomic]
|
||||
[--[no-]signed|--sign=(true|false|if-asked)]
|
||||
[--[no-]signed|--signed=(true|false|if-asked)]
|
||||
[<host>:]<directory> [<ref>...]
|
||||
|
||||
DESCRIPTION
|
||||
@ -71,7 +71,7 @@ be in a separate packet, and the list must end with a flush packet.
|
||||
refs.
|
||||
|
||||
--[no-]signed::
|
||||
--sign=(true|false|if-asked)::
|
||||
--signed=(true|false|if-asked)::
|
||||
GPG-sign the push request to update refs on the receiving
|
||||
side, to allow it to be checked by the hooks and/or be
|
||||
logged. If `false` or `--no-signed`, no signing will be
|
||||
@ -81,6 +81,12 @@ be in a separate packet, and the list must end with a flush packet.
|
||||
will also fail if the actual call to `gpg --sign` fails. See
|
||||
linkgit:git-receive-pack[1] for the details on the receiving end.
|
||||
|
||||
--push-option=<string>::
|
||||
Pass the specified string as a push option for consumption by
|
||||
hooks on the server side. If the server doesn't support push
|
||||
options, error out. See linkgit:git-push[1] and
|
||||
linkgit:githooks[5] for details.
|
||||
|
||||
<host>::
|
||||
A remote host to house the repository. When this
|
||||
part is specified, 'git-receive-pack' is invoked via
|
||||
|
@ -13,8 +13,11 @@ SYNOPSIS
|
||||
'git stash' drop [-q|--quiet] [<stash>]
|
||||
'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]
|
||||
'git stash' branch <branchname> [<stash>]
|
||||
'git stash' [save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
|
||||
[-u|--include-untracked] [-a|--all] [<message>]]
|
||||
'git stash' save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
|
||||
[-u|--include-untracked] [-a|--all] [<message>]
|
||||
'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
|
||||
[-u|--include-untracked] [-a|--all] [-m|--message <message>]]
|
||||
[--] [<pathspec>...]]
|
||||
'git stash' clear
|
||||
'git stash' create [<message>]
|
||||
'git stash' store [-m|--message <message>] [-q|--quiet] <commit>
|
||||
@ -46,14 +49,24 @@ OPTIONS
|
||||
-------
|
||||
|
||||
save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [<message>]::
|
||||
push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <message>] [--] [<pathspec>...]::
|
||||
|
||||
Save your local modifications to a new 'stash' and roll them
|
||||
Save your local modifications to a new 'stash entry' and roll them
|
||||
back to HEAD (in the working tree and in the index).
|
||||
The <message> part is optional and gives
|
||||
the description along with the stashed state. For quickly making
|
||||
a snapshot, you can omit _both_ "save" and <message>, but giving
|
||||
only <message> does not trigger this action to prevent a misspelled
|
||||
subcommand from making an unwanted stash.
|
||||
the description along with the stashed state.
|
||||
+
|
||||
For quickly making a snapshot, you can omit "push". In this mode,
|
||||
non-option arguments are not allowed to prevent a misspelled
|
||||
subcommand from making an unwanted stash entry. The two exceptions to this
|
||||
are `stash -p` which acts as alias for `stash push -p` and pathspecs,
|
||||
which are allowed after a double hyphen `--` for disambiguation.
|
||||
+
|
||||
When pathspec is given to 'git stash push', the new stash entry records the
|
||||
modified states only for the files that match the pathspec. The index
|
||||
entries and working tree files are then rolled back to the state in
|
||||
HEAD only for these files, too, leaving files that do not match the
|
||||
pathspec intact.
|
||||
+
|
||||
If the `--keep-index` option is used, all changes already added to the
|
||||
index are left intact.
|
||||
@ -76,10 +89,10 @@ The `--patch` option implies `--keep-index`. You can use
|
||||
|
||||
list [<options>]::
|
||||
|
||||
List the stashes that you currently have. Each 'stash' is listed
|
||||
with its name (e.g. `stash@{0}` is the latest stash, `stash@{1}` is
|
||||
List the stash entries that you currently have. Each 'stash entry' is
|
||||
listed with its name (e.g. `stash@{0}` is the latest entry, `stash@{1}` is
|
||||
the one before, etc.), the name of the branch that was current when the
|
||||
stash was made, and a short description of the commit the stash was
|
||||
entry was made, and a short description of the commit the entry was
|
||||
based on.
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
@ -92,11 +105,12 @@ command to control what is shown and how. See linkgit:git-log[1].
|
||||
|
||||
show [<stash>]::
|
||||
|
||||
Show the changes recorded in the stash as a diff between the
|
||||
stashed state and its original parent. When no `<stash>` is given,
|
||||
shows the latest one. By default, the command shows the diffstat, but
|
||||
it will accept any format known to 'git diff' (e.g., `git stash show
|
||||
-p stash@{1}` to view the second most recent stash in patch form).
|
||||
Show the changes recorded in the stash entry as a diff between the
|
||||
stashed contents and the commit back when the stash entry was first
|
||||
created. When no `<stash>` is given, it shows the latest one.
|
||||
By default, the command shows the diffstat, but it will accept any
|
||||
format known to 'git diff' (e.g., `git stash show -p stash@{1}`
|
||||
to view the second most recent entry in patch form).
|
||||
You can use stash.showStat and/or stash.showPatch config variables
|
||||
to change the default behavior.
|
||||
|
||||
@ -136,26 +150,27 @@ branch <branchname> [<stash>]::
|
||||
+
|
||||
This is useful if the branch on which you ran `git stash save` has
|
||||
changed enough that `git stash apply` fails due to conflicts. Since
|
||||
the stash is applied on top of the commit that was HEAD at the time
|
||||
`git stash` was run, it restores the originally stashed state with
|
||||
no conflicts.
|
||||
the stash entry is applied on top of the commit that was HEAD at the
|
||||
time `git stash` was run, it restores the originally stashed state
|
||||
with no conflicts.
|
||||
|
||||
clear::
|
||||
Remove all the stashed states. Note that those states will then
|
||||
Remove all the stash entries. Note that those entries will then
|
||||
be subject to pruning, and may be impossible to recover (see
|
||||
'Examples' below for a possible strategy).
|
||||
|
||||
drop [-q|--quiet] [<stash>]::
|
||||
|
||||
Remove a single stashed state from the stash list. When no `<stash>`
|
||||
is given, it removes the latest one. i.e. `stash@{0}`, otherwise
|
||||
`<stash>` must be a valid stash log reference of the form
|
||||
`stash@{<revision>}`.
|
||||
Remove a single stash entry from the list of stash entries.
|
||||
When no `<stash>` is given, it removes the latest one.
|
||||
i.e. `stash@{0}`, otherwise `<stash>` must be a valid stash
|
||||
log reference of the form `stash@{<revision>}`.
|
||||
|
||||
create::
|
||||
|
||||
Create a stash (which is a regular commit object) and return its
|
||||
object name, without storing it anywhere in the ref namespace.
|
||||
Create a stash entry (which is a regular commit object) and
|
||||
return its object name, without storing it anywhere in the ref
|
||||
namespace.
|
||||
This is intended to be useful for scripts. It is probably not
|
||||
the command you want to use; see "save" above.
|
||||
|
||||
@ -169,10 +184,10 @@ store::
|
||||
DISCUSSION
|
||||
----------
|
||||
|
||||
A stash is represented as a commit whose tree records the state of the
|
||||
working directory, and its first parent is the commit at `HEAD` when
|
||||
the stash was created. The tree of the second parent records the
|
||||
state of the index when the stash is made, and it is made a child of
|
||||
A stash entry is represented as a commit whose tree records the state
|
||||
of the working directory, and its first parent is the commit at `HEAD`
|
||||
when the entry was created. The tree of the second parent records the
|
||||
state of the index when the entry is made, and it is made a child of
|
||||
the `HEAD` commit. The ancestry graph looks like this:
|
||||
|
||||
.----W
|
||||
@ -256,12 +271,12 @@ $ edit/build/test remaining parts
|
||||
$ git commit foo -m 'Remaining parts'
|
||||
----------------------------------------------------------------
|
||||
|
||||
Recovering stashes that were cleared/dropped erroneously::
|
||||
Recovering stash entries that were cleared/dropped erroneously::
|
||||
|
||||
If you mistakenly drop or clear stashes, they cannot be recovered
|
||||
If you mistakenly drop or clear stash entries, they cannot be recovered
|
||||
through the normal safety mechanisms. However, you can try the
|
||||
following incantation to get a list of stashes that are still in your
|
||||
repository, but not reachable any more:
|
||||
following incantation to get a list of stash entries that are still in
|
||||
your repository, but not reachable any more:
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
git fsck --unreachable |
|
||||
|
@ -32,6 +32,9 @@ OPTIONS
|
||||
--branch::
|
||||
Show the branch and tracking info even in short-format.
|
||||
|
||||
--show-stash::
|
||||
Show the number of entries currently stashed away.
|
||||
|
||||
--porcelain[=<version>]::
|
||||
Give the output in an easy-to-parse format for scripts.
|
||||
This is similar to the short output, but will remain stable
|
||||
@ -108,6 +111,8 @@ configuration variable documented in linkgit:git-config[1].
|
||||
without options are equivalent to 'always' and 'never'
|
||||
respectively.
|
||||
|
||||
<pathspec>...::
|
||||
See the 'pathspec' entry in linkgit:gitglossary[7].
|
||||
|
||||
OUTPUT
|
||||
------
|
||||
@ -181,6 +186,17 @@ in which case `XY` are `!!`.
|
||||
! ! ignored
|
||||
-------------------------------------------------
|
||||
|
||||
Submodules have more state and instead report
|
||||
M the submodule has a different HEAD than
|
||||
recorded in the index
|
||||
m the submodule has modified content
|
||||
? the submodule has untracked files
|
||||
since modified content or untracked files in a submodule cannot be added
|
||||
via `git add` in the superproject to prepare a commit.
|
||||
|
||||
'm' and '?' are applied recursively. For example if a nested submodule
|
||||
in a submodule contains an untracked file, this is reported as '?' as well.
|
||||
|
||||
If -b is used the short-format status is preceded by a line
|
||||
|
||||
## branchname tracking info
|
||||
@ -210,6 +226,8 @@ field from the first filename). Third, filenames containing special
|
||||
characters are not specially formatted; no quoting or
|
||||
backslash-escaping is performed.
|
||||
|
||||
Any submodule changes are reported as modified `M` instead of `m` or single `?`.
|
||||
|
||||
Porcelain Format Version 2
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -322,10 +340,9 @@ When the `-z` option is given, pathnames are printed as is and
|
||||
without any quoting and lines are terminated with a NUL (ASCII 0x00)
|
||||
byte.
|
||||
|
||||
Otherwise, all pathnames will be "C-quoted" if they contain any tab,
|
||||
linefeed, double quote, or backslash characters. In C-quoting, these
|
||||
characters will be replaced with the corresponding C-style escape
|
||||
sequences and the resulting pathname will be double quoted.
|
||||
Without the `-z` option, pathnames with "unusual" characters are
|
||||
quoted as explained for the configuration variable `core.quotePath`
|
||||
(see linkgit:git-config[1]).
|
||||
|
||||
|
||||
CONFIGURATION
|
||||
|
@ -24,37 +24,7 @@ DESCRIPTION
|
||||
-----------
|
||||
Inspects, updates and manages submodules.
|
||||
|
||||
A submodule allows you to keep another Git repository in a subdirectory
|
||||
of your repository. The other repository has its own history, which does not
|
||||
interfere with the history of the current repository. This can be used to
|
||||
have external dependencies such as third party libraries for example.
|
||||
|
||||
When cloning or pulling a repository containing submodules however,
|
||||
these will not be checked out by default; the 'init' and 'update'
|
||||
subcommands will maintain submodules checked out and at
|
||||
appropriate revision in your working tree.
|
||||
|
||||
Submodules are composed from a so-called `gitlink` tree entry
|
||||
in the main repository that refers to a particular commit object
|
||||
within the inner repository that is completely separate.
|
||||
A record in the `.gitmodules` (see linkgit:gitmodules[5]) file at the
|
||||
root of the source tree assigns a logical name to the submodule and
|
||||
describes the default URL the submodule shall be cloned from.
|
||||
The logical name can be used for overriding this URL within your
|
||||
local repository configuration (see 'submodule init').
|
||||
|
||||
Submodules are not to be confused with remotes, which are other
|
||||
repositories of the same project; submodules are meant for
|
||||
different projects you would like to make part of your source tree,
|
||||
while the history of the two projects still stays completely
|
||||
independent and you cannot modify the contents of the submodule
|
||||
from within the main project.
|
||||
If you want to merge the project histories and want to treat the
|
||||
aggregated whole as a single project from then on, you may want to
|
||||
add a remote for the other project and use the 'subtree' merge strategy,
|
||||
instead of treating the other project as a submodule. Directories
|
||||
that come from both projects can be cloned and checked out as a whole
|
||||
if you choose to go that route.
|
||||
For more information about submodules, see linkgit:gitsubmodules[7].
|
||||
|
||||
COMMANDS
|
||||
--------
|
||||
@ -63,41 +33,38 @@ add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--dep
|
||||
to the changeset to be committed next to the current
|
||||
project: the current project is termed the "superproject".
|
||||
+
|
||||
This requires at least one argument: <repository>. The optional
|
||||
argument <path> is the relative location for the cloned submodule
|
||||
to exist in the superproject. If <path> is not given, the
|
||||
"humanish" part of the source repository is used ("repo" for
|
||||
"/path/to/repo.git" and "foo" for "host.xz:foo/.git").
|
||||
The <path> is also used as the submodule's logical name in its
|
||||
configuration entries unless `--name` is used to specify a logical name.
|
||||
+
|
||||
<repository> is the URL of the new submodule's origin repository.
|
||||
This may be either an absolute URL, or (if it begins with ./
|
||||
or ../), the location relative to the superproject's origin
|
||||
or ../), the location relative to the superproject's default remote
|
||||
repository (Please note that to specify a repository 'foo.git'
|
||||
which is located right next to a superproject 'bar.git', you'll
|
||||
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).
|
||||
If the superproject doesn't have an origin configured
|
||||
+
|
||||
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
|
||||
working directory is used instead.
|
||||
+
|
||||
<path> is the relative location for the cloned submodule to
|
||||
exist in the superproject. If <path> does not exist, then the
|
||||
submodule is created by cloning from the named URL. If <path> does
|
||||
exist and is already a valid Git repository, then this is added
|
||||
to the changeset without cloning. This second form is provided
|
||||
to ease creating a new submodule from scratch, and presumes
|
||||
the user will later push the submodule to the given URL.
|
||||
The optional argument <path> is the relative location for the cloned
|
||||
submodule to exist in the superproject. If <path> is not given, the
|
||||
canonical part of the source repository is used ("repo" for
|
||||
"/path/to/repo.git" and "foo" for "host.xz:foo/.git"). If <path>
|
||||
exists and is already a valid Git repository, then it is staged
|
||||
for commit without cloning. The <path> is also used as the submodule's
|
||||
logical name in its configuration entries unless `--name` is used
|
||||
to specify a logical name.
|
||||
+
|
||||
In either case, the given URL is recorded into .gitmodules for
|
||||
use by subsequent users cloning the superproject. If the URL is
|
||||
given relative to the superproject's repository, the presumption
|
||||
is the superproject and submodule repositories will be kept
|
||||
together in the same relative location, and only the
|
||||
superproject's URL needs to be provided: git-submodule will correctly
|
||||
locate the submodule using the relative URL in .gitmodules.
|
||||
The given URL is recorded into `.gitmodules` for use by subsequent users
|
||||
cloning the superproject. If the URL is given relative to the
|
||||
superproject's repository, the presumption is the superproject and
|
||||
submodule repositories will be kept together in the same relative
|
||||
location, and only the superproject's URL needs to be provided.
|
||||
git-submodule will correctly locate the submodule using the relative
|
||||
URL in `.gitmodules`.
|
||||
|
||||
status [--cached] [--recursive] [--] [<path>...]::
|
||||
Show the status of the submodules. This will print the SHA-1 of the
|
||||
@ -118,18 +85,26 @@ too (and can also report changes to a submodule's work tree).
|
||||
|
||||
init [--] [<path>...]::
|
||||
Initialize the submodules recorded in the index (which were
|
||||
added and committed elsewhere) by copying submodule
|
||||
names and urls from .gitmodules to .git/config.
|
||||
Optional <path> arguments limit which submodules will be initialized.
|
||||
It will also copy the value of `submodule.$name.update` into
|
||||
.git/config.
|
||||
The key used in .git/config is `submodule.$name.url`.
|
||||
This command does not alter existing information in .git/config.
|
||||
You can then customize the submodule clone URLs in .git/config
|
||||
for your local setup and proceed to `git submodule update`;
|
||||
you can also just use `git submodule update --init` without
|
||||
the explicit 'init' step if you do not intend to customize
|
||||
any submodule locations.
|
||||
added and committed elsewhere) by setting `submodule.$name.url`
|
||||
in .git/config. It uses the same setting from `.gitmodules` as
|
||||
a template. If the URL is relative, it will be resolved using
|
||||
the default remote. If there is no default remote, the current
|
||||
repository will be assumed to be upstream.
|
||||
+
|
||||
Optional <path> arguments limit which submodules will be initialized.
|
||||
If no path is specified and submodule.active has been configured, submodules
|
||||
configured to be active will be initialized, otherwise all submodules are
|
||||
initialized.
|
||||
+
|
||||
When present, it will also copy the value of `submodule.$name.update`.
|
||||
This command does not alter existing information in .git/config.
|
||||
You can then customize the submodule clone URLs in .git/config
|
||||
for your local setup and proceed to `git submodule update`;
|
||||
you can also just use `git submodule update --init` without
|
||||
the explicit 'init' step if you do not intend to customize
|
||||
any submodule locations.
|
||||
+
|
||||
See the add subcommand for the definition of default remote.
|
||||
|
||||
deinit [-f|--force] (--all|[--] <path>...)::
|
||||
Unregister the given submodules, i.e. remove the whole
|
||||
@ -137,15 +112,17 @@ deinit [-f|--force] (--all|[--] <path>...)::
|
||||
tree. Further calls to `git submodule update`, `git submodule foreach`
|
||||
and `git submodule sync` will skip any unregistered submodules until
|
||||
they are initialized again, so use this command if you don't want to
|
||||
have a local checkout of the submodule in your working tree anymore. If
|
||||
you really want to remove a submodule from the repository and commit
|
||||
that use linkgit:git-rm[1] instead.
|
||||
have a local checkout of the submodule in your working tree anymore.
|
||||
+
|
||||
When the command is run without pathspec, it errors out,
|
||||
instead of deinit-ing everything, to prevent mistakes.
|
||||
+
|
||||
If `--force` is specified, the submodule's working tree will
|
||||
be removed even if it contains local modifications.
|
||||
+
|
||||
If you really want to remove a submodule from the repository and commit
|
||||
that use linkgit:git-rm[1] instead. See linkgit:gitsubmodules[7] for removal
|
||||
options.
|
||||
|
||||
update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]::
|
||||
+
|
||||
@ -185,7 +162,7 @@ configuration variable:
|
||||
none;; the submodule is not updated.
|
||||
|
||||
If the submodule is not yet initialized, and you just want to use the
|
||||
setting as stored in .gitmodules, you can automatically initialize the
|
||||
setting as stored in `.gitmodules`, you can automatically initialize the
|
||||
submodule with the `--init` option.
|
||||
|
||||
If `--recursive` is specified, this command will recurse into the
|
||||
@ -208,7 +185,7 @@ 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:
|
||||
$name is the name of the relevant submodule section in .gitmodules,
|
||||
$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.
|
||||
@ -230,7 +207,7 @@ git submodule foreach 'echo $path `git rev-parse HEAD`'
|
||||
|
||||
sync [--recursive] [--] [<path>...]::
|
||||
Synchronizes submodules' remote URL configuration setting
|
||||
to the value specified in .gitmodules. It will only affect those
|
||||
to the value specified in `.gitmodules`. It will only affect those
|
||||
submodules which already have a URL entry in .git/config (that is the
|
||||
case when they are initialized or freshly added). This is useful when
|
||||
submodule URLs change upstream and you need to update your local
|
||||
@ -401,7 +378,7 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.
|
||||
--[no-]recommend-shallow::
|
||||
This option is only valid for the update command.
|
||||
The initial clone of a submodule will use the recommended
|
||||
`submodule.<name>.shallow` as provided by the .gitmodules file
|
||||
`submodule.<name>.shallow` as provided by the `.gitmodules` file
|
||||
by default. To ignore the suggestions use `--no-recommend-shallow`.
|
||||
|
||||
-j <n>::
|
||||
@ -417,12 +394,16 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully.
|
||||
|
||||
FILES
|
||||
-----
|
||||
When initializing submodules, a .gitmodules file in the top-level directory
|
||||
When initializing submodules, a `.gitmodules` file in the top-level directory
|
||||
of the containing repository is used to find the url of each submodule.
|
||||
This file should be formatted in the same way as `$GIT_DIR/config`. The key
|
||||
to each submodule url is "submodule.$name.url". See linkgit:gitmodules[5]
|
||||
for details.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitsubmodules[7], linkgit:gitmodules[5].
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -95,6 +95,10 @@ If you still want the old default, you can get it by passing
|
||||
`--prefix ""` on the command line (`--prefix=""` may not work if
|
||||
your Perl's Getopt::Long is < v2.37).
|
||||
|
||||
--ignore-refs=<regex>;;
|
||||
When passed to 'init' or 'clone' this regular expression will
|
||||
be preserved as a config key. See 'fetch' for a description
|
||||
of `--ignore-refs`.
|
||||
--ignore-paths=<regex>;;
|
||||
When passed to 'init' or 'clone' this regular expression will
|
||||
be preserved as a config key. See 'fetch' for a description
|
||||
@ -138,6 +142,18 @@ the same local time zone.
|
||||
--parent;;
|
||||
Fetch only from the SVN parent of the current HEAD.
|
||||
|
||||
--ignore-refs=<regex>;;
|
||||
Ignore refs for branches or tags matching the Perl regular
|
||||
expression. A "negative look-ahead assertion" like
|
||||
`^refs/remotes/origin/(?!tags/wanted-tag|wanted-branch).*$`
|
||||
can be used to allow only certain refs.
|
||||
+
|
||||
[verse]
|
||||
config key: svn-remote.<name>.ignore-refs
|
||||
+
|
||||
If the ignore-refs configuration key is set, and the command-line
|
||||
option is also given, both regular expressions will be used.
|
||||
|
||||
--ignore-paths=<regex>;;
|
||||
This allows one to specify a Perl regular expression that will
|
||||
cause skipping of all matching paths from checkout from SVN.
|
||||
@ -408,7 +424,7 @@ Any other arguments are passed directly to 'git log'
|
||||
'set-tree'::
|
||||
You should consider using 'dcommit' instead of this command.
|
||||
Commit specified commit or tree objects to SVN. This relies on
|
||||
your imported fetch data being up-to-date. This makes
|
||||
your imported fetch data being up to date. This makes
|
||||
absolutely no attempts to do patching when committing to SVN, it
|
||||
simply overwrites files with those specified in the tree or
|
||||
commit. All merging is assumed to have taken place
|
||||
@ -443,6 +459,21 @@ Any other arguments are passed directly to 'git log'
|
||||
(URL) may be omitted if you are working from a 'git svn'-aware
|
||||
repository (that has been `init`-ed with 'git svn').
|
||||
The -r<revision> option is required for this.
|
||||
+
|
||||
The commit message is supplied either directly with the `-m` or `-F`
|
||||
option, or indirectly from the tag or commit when the second tree-ish
|
||||
denotes such an object, or it is requested by invoking an editor (see
|
||||
`--edit` option below).
|
||||
|
||||
-m <msg>;;
|
||||
--message=<msg>;;
|
||||
Use the given `msg` as the commit message. This option
|
||||
disables the `--edit` option.
|
||||
|
||||
-F <filename>;;
|
||||
--file=<filename>;;
|
||||
Take the commit message from the given file. This option
|
||||
disables the `--edit` option.
|
||||
|
||||
'info'::
|
||||
Shows information about a file or directory similar to what
|
||||
|
@ -12,9 +12,10 @@ SYNOPSIS
|
||||
'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]
|
||||
<tagname> [<commit> | <object>]
|
||||
'git tag' -d <tagname>...
|
||||
'git tag' [-n[<num>]] -l [--contains <commit>] [--points-at <object>]
|
||||
[--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>]
|
||||
[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]
|
||||
'git tag' [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
|
||||
[--points-at <object>] [--column[=<options>] | --no-column]
|
||||
[--create-reflog] [--sort=<key>] [--format=<format>]
|
||||
[--[no-]merged [<commit>]] [<pattern>...]
|
||||
'git tag' -v [--format=<format>] <tagname>...
|
||||
|
||||
DESCRIPTION
|
||||
@ -82,18 +83,24 @@ OPTIONS
|
||||
|
||||
-n<num>::
|
||||
<num> specifies how many lines from the annotation, if any,
|
||||
are printed when using -l.
|
||||
The default is not to print any annotation lines.
|
||||
If no number is given to `-n`, only the first line is printed.
|
||||
If the tag is not annotated, the commit message is displayed instead.
|
||||
are printed when using -l. Implies `--list`.
|
||||
+
|
||||
The default is not to print any annotation lines.
|
||||
If no number is given to `-n`, only the first line is printed.
|
||||
If the tag is not annotated, the commit message is displayed instead.
|
||||
|
||||
-l <pattern>::
|
||||
--list <pattern>::
|
||||
List tags with names that match the given pattern (or all if no
|
||||
pattern is given). Running "git tag" without arguments also
|
||||
lists all tags. The pattern is a shell wildcard (i.e., matched
|
||||
using fnmatch(3)). Multiple patterns may be given; if any of
|
||||
them matches, the tag is shown.
|
||||
-l::
|
||||
--list::
|
||||
List tags. With optional `<pattern>...`, e.g. `git tag --list
|
||||
'v-*'`, list only the tags that match the pattern(s).
|
||||
+
|
||||
Running "git tag" without arguments also lists all tags. The pattern
|
||||
is a shell wildcard (i.e., matched using fnmatch(3)). Multiple
|
||||
patterns may be given; if any of them matches, the tag is shown.
|
||||
+
|
||||
This option is implicitly supplied if any other list-like option such
|
||||
as `--contains` is provided. See the documentation for each of those
|
||||
options for details.
|
||||
|
||||
--sort=<key>::
|
||||
Sort based on the key given. Prefix `-` to sort in
|
||||
@ -108,6 +115,11 @@ OPTIONS
|
||||
variable if it exists, or lexicographic order otherwise. See
|
||||
linkgit:git-config[1].
|
||||
|
||||
--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).
|
||||
|
||||
-i::
|
||||
--ignore-case::
|
||||
Sorting and filtering tags are case insensitive.
|
||||
@ -122,10 +134,23 @@ This option is only applicable when listing tags without annotation lines.
|
||||
|
||||
--contains [<commit>]::
|
||||
Only list tags which contain the specified commit (HEAD if not
|
||||
specified).
|
||||
specified). Implies `--list`.
|
||||
|
||||
--no-contains [<commit>]::
|
||||
Only list tags which don't contain the specified commit (HEAD if
|
||||
not specified). Implies `--list`.
|
||||
|
||||
--merged [<commit>]::
|
||||
Only list tags whose commits are reachable from the specified
|
||||
commit (`HEAD` if not specified), incompatible with `--no-merged`.
|
||||
|
||||
--no-merged [<commit>]::
|
||||
Only list tags whose commits are not reachable from the specified
|
||||
commit (`HEAD` if not specified), incompatible with `--merged`.
|
||||
|
||||
--points-at <object>::
|
||||
Only list tags of the given object.
|
||||
Only list tags of the given object (HEAD if not
|
||||
specified). Implies `--list`.
|
||||
|
||||
-m <msg>::
|
||||
--message=<msg>::
|
||||
@ -154,7 +179,7 @@ This option is only applicable when listing tags without annotation lines.
|
||||
`core.logAllRefUpdates` in linkgit:git-config[1].
|
||||
The negated form `--no-create-reflog` only overrides an earlier
|
||||
`--create-reflog`, but currently does not negate the setting of
|
||||
`core.logallrefupdates`.
|
||||
`core.logAllRefUpdates`.
|
||||
|
||||
<tagname>::
|
||||
The name of the tag to create, delete, or describe.
|
||||
@ -168,16 +193,11 @@ This option is only applicable when listing tags without annotation lines.
|
||||
Defaults to HEAD.
|
||||
|
||||
<format>::
|
||||
A string that interpolates `%(fieldname)` from the object
|
||||
pointed at by a ref being shown. The format is the same as
|
||||
A string that interpolates `%(fieldname)` from a tag ref being shown
|
||||
and the object it points at. The format is the same as
|
||||
that of linkgit:git-for-each-ref[1]. When unspecified,
|
||||
defaults to `%(refname:strip=2)`.
|
||||
|
||||
--[no-]merged [<commit>]::
|
||||
Only list tags whose tips are reachable, or not reachable
|
||||
if `--no-merged` is used, from the specified commit (`HEAD`
|
||||
if not specified).
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
By default, 'git tag' in sign-with-default mode (-s) will use your
|
||||
@ -190,6 +210,9 @@ it in the repository configuration as follows:
|
||||
signingKey = <gpg-keyid>
|
||||
-------------------------------------
|
||||
|
||||
`pager.tag` is only respected when listing tags, i.e., when `-l` is
|
||||
used or implied. The default is to use a pager.
|
||||
See linkgit:git-config[1].
|
||||
|
||||
DISCUSSION
|
||||
----------
|
||||
|
@ -7,4 +7,4 @@ maintained here. These days, however, search engines fill that role much
|
||||
more efficiently, so this manually-maintained list has been retired.
|
||||
|
||||
See also the `contrib/` area, and the Git wiki:
|
||||
http://git.or.cz/gitwiki/InterfacesFrontendsAndTools
|
||||
https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools
|
||||
|
@ -153,7 +153,7 @@ you will need to handle the situation manually.
|
||||
+
|
||||
Version 4 performs a simple pathname compression that reduces index
|
||||
size by 30%-50% on large repositories, which results in faster load
|
||||
time. Version 4 is relatively young (first released in in 1.8.0 in
|
||||
time. Version 4 is relatively young (first released in 1.8.0 in
|
||||
October 2012). Other Git implementations such as JGit and libgit2
|
||||
may not support it yet.
|
||||
|
||||
@ -163,14 +163,16 @@ may not support it yet.
|
||||
|
||||
--split-index::
|
||||
--no-split-index::
|
||||
Enable or disable split index mode. If enabled, the index is
|
||||
split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>.
|
||||
Changes are accumulated in $GIT_DIR/index while the shared
|
||||
index file contains all index entries stays unchanged. If
|
||||
split-index mode is already enabled and `--split-index` is
|
||||
given again, all changes in $GIT_DIR/index are pushed back to
|
||||
the shared index file. This mode is designed for very large
|
||||
indexes that take a significant amount of time to read or write.
|
||||
Enable or disable split index mode. If split-index mode is
|
||||
already enabled and `--split-index` is given again, all
|
||||
changes in $GIT_DIR/index are pushed back to the shared index
|
||||
file.
|
||||
+
|
||||
These options take effect whatever the value of the `core.splitIndex`
|
||||
configuration variable (see linkgit:git-config[1]). But a warning is
|
||||
emitted when the change goes against the configured value, as the
|
||||
configured value will take effect next time the index is read and this
|
||||
will remove the intended effect of the option.
|
||||
|
||||
--untracked-cache::
|
||||
--no-untracked-cache::
|
||||
@ -212,7 +214,7 @@ will remove the intended effect of the option.
|
||||
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
|
||||
up to date for mode/content changes. But what it *does* do is to
|
||||
"re-match" the stat information of a file with the index, so that you
|
||||
can refresh the index for a file that hasn't been changed but where
|
||||
the stat entry is out of date.
|
||||
@ -388,6 +390,31 @@ 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
|
||||
-----------
|
||||
|
||||
This mode is designed for repositories with very large indexes, and
|
||||
aims at reducing the time it takes to repeatedly write these indexes.
|
||||
|
||||
In this mode, the index is split into two files, $GIT_DIR/index and
|
||||
$GIT_DIR/sharedindex.<SHA-1>. Changes are accumulated in
|
||||
$GIT_DIR/index, the split index, while the shared index file contains
|
||||
all index entries and stays unchanged.
|
||||
|
||||
All changes in the split index are pushed back to the shared index
|
||||
file when the number of entries in the split index reaches a level
|
||||
specified by the splitIndex.maxPercentChange config variable (see
|
||||
linkgit:git-config[1]).
|
||||
|
||||
Each time a new shared index file is created, the old shared index
|
||||
files are deleted if their modification time is older than what is
|
||||
specified by the splitIndex.sharedIndexExpire config variable (see
|
||||
linkgit:git-config[1]).
|
||||
|
||||
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
|
||||
---------------
|
||||
|
||||
|
@ -9,7 +9,7 @@ git-worktree - Manage multiple working trees
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git worktree add' [-f] [--detach] [--checkout] [-b <new-branch>] <path> [<branch>]
|
||||
'git worktree add' [-f] [--detach] [--checkout] [--lock] [-b <new-branch>] <path> [<branch>]
|
||||
'git worktree list' [--porcelain]
|
||||
'git worktree lock' [--reason <string>] <worktree>
|
||||
'git worktree prune' [-n] [-v] [--expire <expire>]
|
||||
@ -107,6 +107,11 @@ OPTIONS
|
||||
such as configuring sparse-checkout. See "Sparse checkout"
|
||||
in linkgit:git-read-tree[1].
|
||||
|
||||
--lock::
|
||||
Keep the working tree locked after creation. This is the
|
||||
equivalent of `git worktree lock` after `git worktree add`,
|
||||
but without race condition.
|
||||
|
||||
-n::
|
||||
--dry-run::
|
||||
With `prune`, do not remove anything; just report what it would
|
||||
|
@ -35,510 +35,6 @@ manual page gives you an overview of the command-line command syntax.
|
||||
A formatted and hyperlinked copy of the latest Git documentation
|
||||
can be viewed at `https://git.github.io/htmldocs/git.html`.
|
||||
|
||||
ifdef::stalenotes[]
|
||||
[NOTE]
|
||||
============
|
||||
|
||||
You are reading the documentation for the latest (possibly
|
||||
unreleased) version of Git, that is available from the 'master'
|
||||
branch of the `git.git` repository.
|
||||
Documentation for older releases are available here:
|
||||
|
||||
* link:v2.12.3/git.html[documentation for release 2.12.3]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.12.3.txt[2.12.3],
|
||||
link:RelNotes/2.12.2.txt[2.12.2],
|
||||
link:RelNotes/2.12.1.txt[2.12.1],
|
||||
link:RelNotes/2.12.0.txt[2.12].
|
||||
|
||||
* link:v2.11.1/git.html[documentation for release 2.11.1]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.11.2.txt[2.11.2],
|
||||
link:RelNotes/2.11.1.txt[2.11.1],
|
||||
link:RelNotes/2.11.0.txt[2.11].
|
||||
|
||||
* link:v2.10.3/git.html[documentation for release 2.10.3]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.10.3.txt[2.10.3],
|
||||
link:RelNotes/2.10.2.txt[2.10.2],
|
||||
link:RelNotes/2.10.1.txt[2.10.1],
|
||||
link:RelNotes/2.10.0.txt[2.10].
|
||||
|
||||
* link:v2.9.4/git.html[documentation for release 2.9.4]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.9.4.txt[2.9.4],
|
||||
link:RelNotes/2.9.3.txt[2.9.3],
|
||||
link:RelNotes/2.9.2.txt[2.9.2],
|
||||
link:RelNotes/2.9.1.txt[2.9.1],
|
||||
link:RelNotes/2.9.0.txt[2.9].
|
||||
|
||||
* link:v2.8.5/git.html[documentation for release 2.8.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.8.5.txt[2.8.5],
|
||||
link:RelNotes/2.8.4.txt[2.8.4],
|
||||
link:RelNotes/2.8.3.txt[2.8.3],
|
||||
link:RelNotes/2.8.2.txt[2.8.2],
|
||||
link:RelNotes/2.8.1.txt[2.8.1],
|
||||
link:RelNotes/2.8.0.txt[2.8].
|
||||
|
||||
* link:v2.7.5/git.html[documentation for release 2.7.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.7.5.txt[2.7.5],
|
||||
link:RelNotes/2.7.4.txt[2.7.4],
|
||||
link:RelNotes/2.7.3.txt[2.7.3],
|
||||
link:RelNotes/2.7.2.txt[2.7.2],
|
||||
link:RelNotes/2.7.1.txt[2.7.1],
|
||||
link:RelNotes/2.7.0.txt[2.7].
|
||||
|
||||
* link:v2.6.7/git.html[documentation for release 2.6.7]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.6.7.txt[2.6.7],
|
||||
link:RelNotes/2.6.6.txt[2.6.6],
|
||||
link:RelNotes/2.6.5.txt[2.6.5],
|
||||
link:RelNotes/2.6.4.txt[2.6.4],
|
||||
link:RelNotes/2.6.3.txt[2.6.3],
|
||||
link:RelNotes/2.6.2.txt[2.6.2],
|
||||
link:RelNotes/2.6.1.txt[2.6.1],
|
||||
link:RelNotes/2.6.0.txt[2.6].
|
||||
|
||||
* link:v2.5.6/git.html[documentation for release 2.5.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.5.6.txt[2.5.6],
|
||||
link:RelNotes/2.5.5.txt[2.5.5],
|
||||
link:RelNotes/2.5.4.txt[2.5.4],
|
||||
link:RelNotes/2.5.3.txt[2.5.3],
|
||||
link:RelNotes/2.5.2.txt[2.5.2],
|
||||
link:RelNotes/2.5.1.txt[2.5.1],
|
||||
link:RelNotes/2.5.0.txt[2.5].
|
||||
|
||||
* link:v2.4.12/git.html[documentation for release 2.4.12]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.4.12.txt[2.4.12],
|
||||
link:RelNotes/2.4.11.txt[2.4.11],
|
||||
link:RelNotes/2.4.10.txt[2.4.10],
|
||||
link:RelNotes/2.4.9.txt[2.4.9],
|
||||
link:RelNotes/2.4.8.txt[2.4.8],
|
||||
link:RelNotes/2.4.7.txt[2.4.7],
|
||||
link:RelNotes/2.4.6.txt[2.4.6],
|
||||
link:RelNotes/2.4.5.txt[2.4.5],
|
||||
link:RelNotes/2.4.4.txt[2.4.4],
|
||||
link:RelNotes/2.4.3.txt[2.4.3],
|
||||
link:RelNotes/2.4.2.txt[2.4.2],
|
||||
link:RelNotes/2.4.1.txt[2.4.1],
|
||||
link:RelNotes/2.4.0.txt[2.4].
|
||||
|
||||
* link:v2.3.10/git.html[documentation for release 2.3.10]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.3.10.txt[2.3.10],
|
||||
link:RelNotes/2.3.9.txt[2.3.9],
|
||||
link:RelNotes/2.3.8.txt[2.3.8],
|
||||
link:RelNotes/2.3.7.txt[2.3.7],
|
||||
link:RelNotes/2.3.6.txt[2.3.6],
|
||||
link:RelNotes/2.3.5.txt[2.3.5],
|
||||
link:RelNotes/2.3.4.txt[2.3.4],
|
||||
link:RelNotes/2.3.3.txt[2.3.3],
|
||||
link:RelNotes/2.3.2.txt[2.3.2],
|
||||
link:RelNotes/2.3.1.txt[2.3.1],
|
||||
link:RelNotes/2.3.0.txt[2.3].
|
||||
|
||||
* link:v2.2.3/git.html[documentation for release 2.2.3]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.2.3.txt[2.2.3],
|
||||
link:RelNotes/2.2.2.txt[2.2.2],
|
||||
link:RelNotes/2.2.1.txt[2.2.1],
|
||||
link:RelNotes/2.2.0.txt[2.2].
|
||||
|
||||
* link:v2.1.4/git.html[documentation for release 2.1.4]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.1.4.txt[2.1.4],
|
||||
link:RelNotes/2.1.3.txt[2.1.3],
|
||||
link:RelNotes/2.1.2.txt[2.1.2],
|
||||
link:RelNotes/2.1.1.txt[2.1.1],
|
||||
link:RelNotes/2.1.0.txt[2.1].
|
||||
|
||||
* link:v2.0.5/git.html[documentation for release 2.0.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/2.0.5.txt[2.0.5],
|
||||
link:RelNotes/2.0.4.txt[2.0.4],
|
||||
link:RelNotes/2.0.3.txt[2.0.3],
|
||||
link:RelNotes/2.0.2.txt[2.0.2],
|
||||
link:RelNotes/2.0.1.txt[2.0.1],
|
||||
link:RelNotes/2.0.0.txt[2.0.0].
|
||||
|
||||
* link:v1.9.5/git.html[documentation for release 1.9.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.9.5.txt[1.9.5],
|
||||
link:RelNotes/1.9.4.txt[1.9.4],
|
||||
link:RelNotes/1.9.3.txt[1.9.3],
|
||||
link:RelNotes/1.9.2.txt[1.9.2],
|
||||
link:RelNotes/1.9.1.txt[1.9.1],
|
||||
link:RelNotes/1.9.0.txt[1.9.0].
|
||||
|
||||
* link:v1.8.5.6/git.html[documentation for release 1.8.5.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.8.5.6.txt[1.8.5.6],
|
||||
link:RelNotes/1.8.5.5.txt[1.8.5.5],
|
||||
link:RelNotes/1.8.5.4.txt[1.8.5.4],
|
||||
link:RelNotes/1.8.5.3.txt[1.8.5.3],
|
||||
link:RelNotes/1.8.5.2.txt[1.8.5.2],
|
||||
link:RelNotes/1.8.5.1.txt[1.8.5.1],
|
||||
link:RelNotes/1.8.5.txt[1.8.5].
|
||||
|
||||
* link:v1.8.4.5/git.html[documentation for release 1.8.4.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.8.4.5.txt[1.8.4.5],
|
||||
link:RelNotes/1.8.4.4.txt[1.8.4.4],
|
||||
link:RelNotes/1.8.4.3.txt[1.8.4.3],
|
||||
link:RelNotes/1.8.4.2.txt[1.8.4.2],
|
||||
link:RelNotes/1.8.4.1.txt[1.8.4.1],
|
||||
link:RelNotes/1.8.4.txt[1.8.4].
|
||||
|
||||
* link:v1.8.3.4/git.html[documentation for release 1.8.3.4]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.8.3.4.txt[1.8.3.4],
|
||||
link:RelNotes/1.8.3.3.txt[1.8.3.3],
|
||||
link:RelNotes/1.8.3.2.txt[1.8.3.2],
|
||||
link:RelNotes/1.8.3.1.txt[1.8.3.1],
|
||||
link:RelNotes/1.8.3.txt[1.8.3].
|
||||
|
||||
* link:v1.8.2.3/git.html[documentation for release 1.8.2.3]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.8.2.3.txt[1.8.2.3],
|
||||
link:RelNotes/1.8.2.2.txt[1.8.2.2],
|
||||
link:RelNotes/1.8.2.1.txt[1.8.2.1],
|
||||
link:RelNotes/1.8.2.txt[1.8.2].
|
||||
|
||||
* link:v1.8.1.6/git.html[documentation for release 1.8.1.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.8.1.6.txt[1.8.1.6],
|
||||
link:RelNotes/1.8.1.5.txt[1.8.1.5],
|
||||
link:RelNotes/1.8.1.4.txt[1.8.1.4],
|
||||
link:RelNotes/1.8.1.3.txt[1.8.1.3],
|
||||
link:RelNotes/1.8.1.2.txt[1.8.1.2],
|
||||
link:RelNotes/1.8.1.1.txt[1.8.1.1],
|
||||
link:RelNotes/1.8.1.txt[1.8.1].
|
||||
|
||||
* link:v1.8.0.3/git.html[documentation for release 1.8.0.3]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.8.0.3.txt[1.8.0.3],
|
||||
link:RelNotes/1.8.0.2.txt[1.8.0.2],
|
||||
link:RelNotes/1.8.0.1.txt[1.8.0.1],
|
||||
link:RelNotes/1.8.0.txt[1.8.0].
|
||||
|
||||
* link:v1.7.12.4/git.html[documentation for release 1.7.12.4]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.12.4.txt[1.7.12.4],
|
||||
link:RelNotes/1.7.12.3.txt[1.7.12.3],
|
||||
link:RelNotes/1.7.12.2.txt[1.7.12.2],
|
||||
link:RelNotes/1.7.12.1.txt[1.7.12.1],
|
||||
link:RelNotes/1.7.12.txt[1.7.12].
|
||||
|
||||
* link:v1.7.11.7/git.html[documentation for release 1.7.11.7]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.11.7.txt[1.7.11.7],
|
||||
link:RelNotes/1.7.11.6.txt[1.7.11.6],
|
||||
link:RelNotes/1.7.11.5.txt[1.7.11.5],
|
||||
link:RelNotes/1.7.11.4.txt[1.7.11.4],
|
||||
link:RelNotes/1.7.11.3.txt[1.7.11.3],
|
||||
link:RelNotes/1.7.11.2.txt[1.7.11.2],
|
||||
link:RelNotes/1.7.11.1.txt[1.7.11.1],
|
||||
link:RelNotes/1.7.11.txt[1.7.11].
|
||||
|
||||
* link:v1.7.10.5/git.html[documentation for release 1.7.10.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.10.5.txt[1.7.10.5],
|
||||
link:RelNotes/1.7.10.4.txt[1.7.10.4],
|
||||
link:RelNotes/1.7.10.3.txt[1.7.10.3],
|
||||
link:RelNotes/1.7.10.2.txt[1.7.10.2],
|
||||
link:RelNotes/1.7.10.1.txt[1.7.10.1],
|
||||
link:RelNotes/1.7.10.txt[1.7.10].
|
||||
|
||||
* link:v1.7.9.7/git.html[documentation for release 1.7.9.7]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.9.7.txt[1.7.9.7],
|
||||
link:RelNotes/1.7.9.6.txt[1.7.9.6],
|
||||
link:RelNotes/1.7.9.5.txt[1.7.9.5],
|
||||
link:RelNotes/1.7.9.4.txt[1.7.9.4],
|
||||
link:RelNotes/1.7.9.3.txt[1.7.9.3],
|
||||
link:RelNotes/1.7.9.2.txt[1.7.9.2],
|
||||
link:RelNotes/1.7.9.1.txt[1.7.9.1],
|
||||
link:RelNotes/1.7.9.txt[1.7.9].
|
||||
|
||||
* link:v1.7.8.6/git.html[documentation for release 1.7.8.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.8.6.txt[1.7.8.6],
|
||||
link:RelNotes/1.7.8.5.txt[1.7.8.5],
|
||||
link:RelNotes/1.7.8.4.txt[1.7.8.4],
|
||||
link:RelNotes/1.7.8.3.txt[1.7.8.3],
|
||||
link:RelNotes/1.7.8.2.txt[1.7.8.2],
|
||||
link:RelNotes/1.7.8.1.txt[1.7.8.1],
|
||||
link:RelNotes/1.7.8.txt[1.7.8].
|
||||
|
||||
* link:v1.7.7.7/git.html[documentation for release 1.7.7.7]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.7.7.txt[1.7.7.7],
|
||||
link:RelNotes/1.7.7.6.txt[1.7.7.6],
|
||||
link:RelNotes/1.7.7.5.txt[1.7.7.5],
|
||||
link:RelNotes/1.7.7.4.txt[1.7.7.4],
|
||||
link:RelNotes/1.7.7.3.txt[1.7.7.3],
|
||||
link:RelNotes/1.7.7.2.txt[1.7.7.2],
|
||||
link:RelNotes/1.7.7.1.txt[1.7.7.1],
|
||||
link:RelNotes/1.7.7.txt[1.7.7].
|
||||
|
||||
* link:v1.7.6.6/git.html[documentation for release 1.7.6.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.6.6.txt[1.7.6.6],
|
||||
link:RelNotes/1.7.6.5.txt[1.7.6.5],
|
||||
link:RelNotes/1.7.6.4.txt[1.7.6.4],
|
||||
link:RelNotes/1.7.6.3.txt[1.7.6.3],
|
||||
link:RelNotes/1.7.6.2.txt[1.7.6.2],
|
||||
link:RelNotes/1.7.6.1.txt[1.7.6.1],
|
||||
link:RelNotes/1.7.6.txt[1.7.6].
|
||||
|
||||
* link:v1.7.5.4/git.html[documentation for release 1.7.5.4]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.5.4.txt[1.7.5.4],
|
||||
link:RelNotes/1.7.5.3.txt[1.7.5.3],
|
||||
link:RelNotes/1.7.5.2.txt[1.7.5.2],
|
||||
link:RelNotes/1.7.5.1.txt[1.7.5.1],
|
||||
link:RelNotes/1.7.5.txt[1.7.5].
|
||||
|
||||
* link:v1.7.4.5/git.html[documentation for release 1.7.4.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.4.5.txt[1.7.4.5],
|
||||
link:RelNotes/1.7.4.4.txt[1.7.4.4],
|
||||
link:RelNotes/1.7.4.3.txt[1.7.4.3],
|
||||
link:RelNotes/1.7.4.2.txt[1.7.4.2],
|
||||
link:RelNotes/1.7.4.1.txt[1.7.4.1],
|
||||
link:RelNotes/1.7.4.txt[1.7.4].
|
||||
|
||||
* link:v1.7.3.5/git.html[documentation for release 1.7.3.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.3.5.txt[1.7.3.5],
|
||||
link:RelNotes/1.7.3.4.txt[1.7.3.4],
|
||||
link:RelNotes/1.7.3.3.txt[1.7.3.3],
|
||||
link:RelNotes/1.7.3.2.txt[1.7.3.2],
|
||||
link:RelNotes/1.7.3.1.txt[1.7.3.1],
|
||||
link:RelNotes/1.7.3.txt[1.7.3].
|
||||
|
||||
* link:v1.7.2.5/git.html[documentation for release 1.7.2.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.2.5.txt[1.7.2.5],
|
||||
link:RelNotes/1.7.2.4.txt[1.7.2.4],
|
||||
link:RelNotes/1.7.2.3.txt[1.7.2.3],
|
||||
link:RelNotes/1.7.2.2.txt[1.7.2.2],
|
||||
link:RelNotes/1.7.2.1.txt[1.7.2.1],
|
||||
link:RelNotes/1.7.2.txt[1.7.2].
|
||||
|
||||
* link:v1.7.1.4/git.html[documentation for release 1.7.1.4]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.1.4.txt[1.7.1.4],
|
||||
link:RelNotes/1.7.1.3.txt[1.7.1.3],
|
||||
link:RelNotes/1.7.1.2.txt[1.7.1.2],
|
||||
link:RelNotes/1.7.1.1.txt[1.7.1.1],
|
||||
link:RelNotes/1.7.1.txt[1.7.1].
|
||||
|
||||
* link:v1.7.0.9/git.html[documentation for release 1.7.0.9]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.7.0.9.txt[1.7.0.9],
|
||||
link:RelNotes/1.7.0.8.txt[1.7.0.8],
|
||||
link:RelNotes/1.7.0.7.txt[1.7.0.7],
|
||||
link:RelNotes/1.7.0.6.txt[1.7.0.6],
|
||||
link:RelNotes/1.7.0.5.txt[1.7.0.5],
|
||||
link:RelNotes/1.7.0.4.txt[1.7.0.4],
|
||||
link:RelNotes/1.7.0.3.txt[1.7.0.3],
|
||||
link:RelNotes/1.7.0.2.txt[1.7.0.2],
|
||||
link:RelNotes/1.7.0.1.txt[1.7.0.1],
|
||||
link:RelNotes/1.7.0.txt[1.7.0].
|
||||
|
||||
* link:v1.6.6.3/git.html[documentation for release 1.6.6.3]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.6.6.3.txt[1.6.6.3],
|
||||
link:RelNotes/1.6.6.2.txt[1.6.6.2],
|
||||
link:RelNotes/1.6.6.1.txt[1.6.6.1],
|
||||
link:RelNotes/1.6.6.txt[1.6.6].
|
||||
|
||||
* link:v1.6.5.9/git.html[documentation for release 1.6.5.9]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.6.5.9.txt[1.6.5.9],
|
||||
link:RelNotes/1.6.5.8.txt[1.6.5.8],
|
||||
link:RelNotes/1.6.5.7.txt[1.6.5.7],
|
||||
link:RelNotes/1.6.5.6.txt[1.6.5.6],
|
||||
link:RelNotes/1.6.5.5.txt[1.6.5.5],
|
||||
link:RelNotes/1.6.5.4.txt[1.6.5.4],
|
||||
link:RelNotes/1.6.5.3.txt[1.6.5.3],
|
||||
link:RelNotes/1.6.5.2.txt[1.6.5.2],
|
||||
link:RelNotes/1.6.5.1.txt[1.6.5.1],
|
||||
link:RelNotes/1.6.5.txt[1.6.5].
|
||||
|
||||
* link:v1.6.4.5/git.html[documentation for release 1.6.4.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.6.4.5.txt[1.6.4.5],
|
||||
link:RelNotes/1.6.4.4.txt[1.6.4.4],
|
||||
link:RelNotes/1.6.4.3.txt[1.6.4.3],
|
||||
link:RelNotes/1.6.4.2.txt[1.6.4.2],
|
||||
link:RelNotes/1.6.4.1.txt[1.6.4.1],
|
||||
link:RelNotes/1.6.4.txt[1.6.4].
|
||||
|
||||
* link:v1.6.3.4/git.html[documentation for release 1.6.3.4]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.6.3.4.txt[1.6.3.4],
|
||||
link:RelNotes/1.6.3.3.txt[1.6.3.3],
|
||||
link:RelNotes/1.6.3.2.txt[1.6.3.2],
|
||||
link:RelNotes/1.6.3.1.txt[1.6.3.1],
|
||||
link:RelNotes/1.6.3.txt[1.6.3].
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.6.2.5.txt[1.6.2.5],
|
||||
link:RelNotes/1.6.2.4.txt[1.6.2.4],
|
||||
link:RelNotes/1.6.2.3.txt[1.6.2.3],
|
||||
link:RelNotes/1.6.2.2.txt[1.6.2.2],
|
||||
link:RelNotes/1.6.2.1.txt[1.6.2.1],
|
||||
link:RelNotes/1.6.2.txt[1.6.2].
|
||||
|
||||
* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.6.1.3.txt[1.6.1.3],
|
||||
link:RelNotes/1.6.1.2.txt[1.6.1.2],
|
||||
link:RelNotes/1.6.1.1.txt[1.6.1.1],
|
||||
link:RelNotes/1.6.1.txt[1.6.1].
|
||||
|
||||
* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.6.0.6.txt[1.6.0.6],
|
||||
link:RelNotes/1.6.0.5.txt[1.6.0.5],
|
||||
link:RelNotes/1.6.0.4.txt[1.6.0.4],
|
||||
link:RelNotes/1.6.0.3.txt[1.6.0.3],
|
||||
link:RelNotes/1.6.0.2.txt[1.6.0.2],
|
||||
link:RelNotes/1.6.0.1.txt[1.6.0.1],
|
||||
link:RelNotes/1.6.0.txt[1.6.0].
|
||||
|
||||
* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.5.6.6.txt[1.5.6.6],
|
||||
link:RelNotes/1.5.6.5.txt[1.5.6.5],
|
||||
link:RelNotes/1.5.6.4.txt[1.5.6.4],
|
||||
link:RelNotes/1.5.6.3.txt[1.5.6.3],
|
||||
link:RelNotes/1.5.6.2.txt[1.5.6.2],
|
||||
link:RelNotes/1.5.6.1.txt[1.5.6.1],
|
||||
link:RelNotes/1.5.6.txt[1.5.6].
|
||||
|
||||
* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.5.5.6.txt[1.5.5.6],
|
||||
link:RelNotes/1.5.5.5.txt[1.5.5.5],
|
||||
link:RelNotes/1.5.5.4.txt[1.5.5.4],
|
||||
link:RelNotes/1.5.5.3.txt[1.5.5.3],
|
||||
link:RelNotes/1.5.5.2.txt[1.5.5.2],
|
||||
link:RelNotes/1.5.5.1.txt[1.5.5.1],
|
||||
link:RelNotes/1.5.5.txt[1.5.5].
|
||||
|
||||
* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.5.4.7.txt[1.5.4.7],
|
||||
link:RelNotes/1.5.4.6.txt[1.5.4.6],
|
||||
link:RelNotes/1.5.4.5.txt[1.5.4.5],
|
||||
link:RelNotes/1.5.4.4.txt[1.5.4.4],
|
||||
link:RelNotes/1.5.4.3.txt[1.5.4.3],
|
||||
link:RelNotes/1.5.4.2.txt[1.5.4.2],
|
||||
link:RelNotes/1.5.4.1.txt[1.5.4.1],
|
||||
link:RelNotes/1.5.4.txt[1.5.4].
|
||||
|
||||
* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.5.3.8.txt[1.5.3.8],
|
||||
link:RelNotes/1.5.3.7.txt[1.5.3.7],
|
||||
link:RelNotes/1.5.3.6.txt[1.5.3.6],
|
||||
link:RelNotes/1.5.3.5.txt[1.5.3.5],
|
||||
link:RelNotes/1.5.3.4.txt[1.5.3.4],
|
||||
link:RelNotes/1.5.3.3.txt[1.5.3.3],
|
||||
link:RelNotes/1.5.3.2.txt[1.5.3.2],
|
||||
link:RelNotes/1.5.3.1.txt[1.5.3.1],
|
||||
link:RelNotes/1.5.3.txt[1.5.3].
|
||||
|
||||
* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.5.2.5.txt[1.5.2.5],
|
||||
link:RelNotes/1.5.2.4.txt[1.5.2.4],
|
||||
link:RelNotes/1.5.2.3.txt[1.5.2.3],
|
||||
link:RelNotes/1.5.2.2.txt[1.5.2.2],
|
||||
link:RelNotes/1.5.2.1.txt[1.5.2.1],
|
||||
link:RelNotes/1.5.2.txt[1.5.2].
|
||||
|
||||
* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.5.1.6.txt[1.5.1.6],
|
||||
link:RelNotes/1.5.1.5.txt[1.5.1.5],
|
||||
link:RelNotes/1.5.1.4.txt[1.5.1.4],
|
||||
link:RelNotes/1.5.1.3.txt[1.5.1.3],
|
||||
link:RelNotes/1.5.1.2.txt[1.5.1.2],
|
||||
link:RelNotes/1.5.1.1.txt[1.5.1.1],
|
||||
link:RelNotes/1.5.1.txt[1.5.1].
|
||||
|
||||
* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes/1.5.0.7.txt[1.5.0.7],
|
||||
link:RelNotes/1.5.0.6.txt[1.5.0.6],
|
||||
link:RelNotes/1.5.0.5.txt[1.5.0.5],
|
||||
link:RelNotes/1.5.0.3.txt[1.5.0.3],
|
||||
link:RelNotes/1.5.0.2.txt[1.5.0.2],
|
||||
link:RelNotes/1.5.0.1.txt[1.5.0.1],
|
||||
link:RelNotes/1.5.0.txt[1.5.0].
|
||||
|
||||
* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
|
||||
link:v1.3.3/git.html[1.3.3],
|
||||
link:v1.2.6/git.html[1.2.6],
|
||||
link:v1.0.13/git.html[1.0.13].
|
||||
|
||||
============
|
||||
|
||||
endif::stalenotes[]
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -579,7 +75,8 @@ example the following invocations are equivalent:
|
||||
Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets
|
||||
`foo.bar` to the boolean true value (just like `[foo]bar` would in a
|
||||
config file). Including the equals but with an empty value (like `git -c
|
||||
foo.bar= ...`) sets `foo.bar` to the empty string.
|
||||
foo.bar= ...`) sets `foo.bar` to the empty string which `git config
|
||||
--bool` will convert to `false`.
|
||||
|
||||
--exec-path[=<path>]::
|
||||
Path to wherever your core Git programs are installed.
|
||||
@ -662,6 +159,10 @@ foo.bar= ...`) sets `foo.bar` to the empty string.
|
||||
Add "icase" magic to all pathspec. This is equivalent to setting
|
||||
the `GIT_ICASE_PATHSPECS` environment variable to `1`.
|
||||
|
||||
--no-optional-locks::
|
||||
Do not perform optional operations that require locks. This is
|
||||
equivalent to setting the `GIT_OPTIONAL_LOCKS` to `0`.
|
||||
|
||||
GIT COMMANDS
|
||||
------------
|
||||
|
||||
@ -1037,6 +538,12 @@ Usually it is easier to configure any desired options through your
|
||||
personal `.ssh/config` file. Please consult your ssh documentation
|
||||
for further details.
|
||||
|
||||
`GIT_SSH_VARIANT`::
|
||||
If this environment variable is set, it overrides Git's autodetection
|
||||
whether `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` refer to OpenSSH,
|
||||
plink or tortoiseplink. This variable overrides the config setting
|
||||
`ssh.variant` that serves the same purpose.
|
||||
|
||||
`GIT_ASKPASS`::
|
||||
If this environment variable is set, then Git commands which need to
|
||||
acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
|
||||
@ -1194,6 +701,14 @@ of clones and fetches.
|
||||
which feed potentially-untrusted URLS to git commands. See
|
||||
linkgit:git-config[1] for more details.
|
||||
|
||||
`GIT_OPTIONAL_LOCKS`::
|
||||
If set to `0`, Git will complete any requested operation without
|
||||
performing any optional sub-operations that require taking a lock.
|
||||
For example, this will prevent `git status` from refreshing the
|
||||
index as a side effect. This is useful for processes running in
|
||||
the background which do not want to cause lock contention with
|
||||
other operations on the repository. Defaults to `1`.
|
||||
|
||||
Discussion[[Discussion]]
|
||||
------------------------
|
||||
|
||||
|
@ -21,9 +21,11 @@ Each line in `gitattributes` file is of form:
|
||||
pattern attr1 attr2 ...
|
||||
|
||||
That is, a pattern followed by an attributes list,
|
||||
separated by whitespaces. When the pattern matches the
|
||||
path in question, the attributes listed on the line are given to
|
||||
the path.
|
||||
separated by whitespaces. Leading and trailing whitespaces are
|
||||
ignored. Lines that begin with '#' are ignored. Patterns
|
||||
that begin with a double quote are quoted in C style.
|
||||
When the pattern matches the path in question, the attributes
|
||||
listed on the line are given to the path.
|
||||
|
||||
Each attribute can be in one of these states for a given path:
|
||||
|
||||
@ -86,7 +88,7 @@ is either not set or empty, $HOME/.config/git/attributes is used instead.
|
||||
Attributes for all users on a system should be placed in the
|
||||
`$(prefix)/etc/gitattributes` file.
|
||||
|
||||
Sometimes you would need to override an setting of an attribute
|
||||
Sometimes you would need to override a setting of an attribute
|
||||
for a path to `Unspecified` state. This can be done by listing
|
||||
the name of the attribute prefixed with an exclamation point `!`.
|
||||
|
||||
@ -149,7 +151,10 @@ unspecified.
|
||||
|
||||
This attribute sets a specific line-ending style to be used in the
|
||||
working directory. It enables end-of-line conversion without any
|
||||
content checks, effectively setting the `text` attribute.
|
||||
content checks, effectively setting the `text` attribute. Note that
|
||||
setting this attribute on paths which are in the index with CRLF line
|
||||
endings may make the paths to be considered dirty. Adding the path to
|
||||
the index again will normalize the line endings in the index.
|
||||
|
||||
Set to string value "crlf"::
|
||||
|
||||
@ -227,11 +232,9 @@ From a clean working directory:
|
||||
|
||||
-------------------------------------------------
|
||||
$ echo "* text=auto" >.gitattributes
|
||||
$ rm .git/index # Remove the index to force Git to
|
||||
$ git reset # re-scan the working directory
|
||||
$ git read-tree --empty # Clean index, force re-scan of working directory
|
||||
$ git add .
|
||||
$ git status # Show files that will be normalized
|
||||
$ git add -u
|
||||
$ git add .gitattributes
|
||||
$ git commit -m "Introduce end-of-line normalization"
|
||||
-------------------------------------------------
|
||||
|
||||
@ -425,8 +428,8 @@ packet: git< capability=clean
|
||||
packet: git< capability=smudge
|
||||
packet: git< 0000
|
||||
------------------------
|
||||
Supported filter capabilities in version 2 are "clean" and
|
||||
"smudge".
|
||||
Supported filter capabilities in version 2 are "clean", "smudge",
|
||||
and "delay".
|
||||
|
||||
Afterwards Git sends a list of "key=value" pairs terminated with
|
||||
a flush packet. The list will contain at least the filter command
|
||||
@ -512,12 +515,73 @@ the protocol then Git will stop the filter process and restart it
|
||||
with the next file that needs to be processed. Depending on the
|
||||
`filter.<driver>.required` flag Git will interpret that as error.
|
||||
|
||||
After the filter has processed a blob it is expected to wait for
|
||||
the next "key=value" list containing a command. Git will close
|
||||
After the filter has processed a command it is expected to wait for
|
||||
a "key=value" list containing the next command. Git will close
|
||||
the command pipe on exit. The filter is expected to detect EOF
|
||||
and exit gracefully on its own. Git will wait until the filter
|
||||
process has stopped.
|
||||
|
||||
Delay
|
||||
^^^^^
|
||||
|
||||
If the filter supports the "delay" capability, then Git can send the
|
||||
flag "can-delay" after the filter command and pathname. This flag
|
||||
denotes that the filter can delay filtering the current blob (e.g. to
|
||||
compensate network latencies) by responding with no content but with
|
||||
the status "delayed" and a flush packet.
|
||||
------------------------
|
||||
packet: git> command=smudge
|
||||
packet: git> pathname=path/testfile.dat
|
||||
packet: git> can-delay=1
|
||||
packet: git> 0000
|
||||
packet: git> CONTENT
|
||||
packet: git> 0000
|
||||
packet: git< status=delayed
|
||||
packet: git< 0000
|
||||
------------------------
|
||||
|
||||
If the filter supports the "delay" capability then it must support the
|
||||
"list_available_blobs" command. If Git sends this command, then the
|
||||
filter is expected to return a list of pathnames representing blobs
|
||||
that have been delayed earlier and are now available.
|
||||
The list must be terminated with a flush packet followed
|
||||
by a "success" status that is also terminated with a flush packet. If
|
||||
no blobs for the delayed paths are available, yet, then the filter is
|
||||
expected to block the response until at least one blob becomes
|
||||
available. The filter can tell Git that it has no more delayed blobs
|
||||
by sending an empty list. As soon as the filter responds with an empty
|
||||
list, Git stops asking. All blobs that Git has not received at this
|
||||
point are considered missing and will result in an error.
|
||||
|
||||
------------------------
|
||||
packet: git> command=list_available_blobs
|
||||
packet: git> 0000
|
||||
packet: git< pathname=path/testfile.dat
|
||||
packet: git< pathname=path/otherfile.dat
|
||||
packet: git< 0000
|
||||
packet: git< status=success
|
||||
packet: git< 0000
|
||||
------------------------
|
||||
|
||||
After Git received the pathnames, it will request the corresponding
|
||||
blobs again. These requests contain a pathname and an empty content
|
||||
section. The filter is expected to respond with the smudged content
|
||||
in the usual way as explained above.
|
||||
------------------------
|
||||
packet: git> command=smudge
|
||||
packet: git> pathname=path/testfile.dat
|
||||
packet: git> 0000
|
||||
packet: git> 0000 # empty content!
|
||||
packet: git< status=success
|
||||
packet: git< 0000
|
||||
packet: git< SMUDGED_CONTENT
|
||||
packet: git< 0000
|
||||
packet: git< 0000 # empty list, keep "status=success" unchanged!
|
||||
------------------------
|
||||
|
||||
Example
|
||||
^^^^^^^
|
||||
|
||||
A long running filter demo implementation can be found in
|
||||
`contrib/long-running-filter/example.pl` located in the Git
|
||||
core repository. If you develop your own long running filter
|
||||
|
@ -194,7 +194,7 @@ different things.
|
||||
* The `--index` option is used to ask a command that
|
||||
usually works on files in the working tree to *also*
|
||||
affect the index. For example, `git stash apply` usually
|
||||
merges changes recorded in a stash to the working tree,
|
||||
merges changes recorded in a stash entry to the working tree,
|
||||
but with the `--index` option, it also merges changes to
|
||||
the index as well.
|
||||
|
||||
|
@ -631,7 +631,7 @@ So after you do a `cp -a` to create a new copy, you'll want to do
|
||||
$ git update-index --refresh
|
||||
----------------
|
||||
+
|
||||
in the new repository to make sure that the index file is up-to-date.
|
||||
in the new repository to make sure that the index file is up to date.
|
||||
|
||||
Note that the second point is true even across machines. You can
|
||||
duplicate a remote Git repository with *any* regular copy mechanism, be it
|
||||
@ -701,7 +701,7 @@ $ git checkout-index -u -a
|
||||
----------------
|
||||
|
||||
where the `-u` flag means that you want the checkout to keep the index
|
||||
up-to-date (so that you don't have to refresh it afterward), and the
|
||||
up to date (so that you don't have to refresh it afterward), and the
|
||||
`-a` flag means "check out all files" (if you have a stale copy or an
|
||||
older version of a checked out tree you may also need to add the `-f`
|
||||
flag first, to tell 'git checkout-index' to *force* overwriting of any old
|
||||
@ -1283,7 +1283,7 @@ run a single command, 'git-receive-pack'.
|
||||
|
||||
First, you need to create an empty repository on the remote
|
||||
machine that will house your public repository. This empty
|
||||
repository will be populated and be kept up-to-date by pushing
|
||||
repository will be populated and be kept up to date by pushing
|
||||
into it later. Obviously, this repository creation needs to be
|
||||
done only once.
|
||||
|
||||
@ -1429,7 +1429,7 @@ Although Git is a truly distributed system, it is often
|
||||
convenient to organize your project with an informal hierarchy
|
||||
of developers. Linux kernel development is run this way. There
|
||||
is a nice illustration (page 17, "Merges to Mainline") in
|
||||
http://www.xenotime.net/linux/mentor/linux-mentoring-2006.pdf[Randy Dunlap's presentation].
|
||||
https://web.archive.org/web/20120915203609/http://www.xenotime.net/linux/mentor/linux-mentoring-2006.pdf[Randy Dunlap's presentation].
|
||||
|
||||
It should be stressed that this hierarchy is purely *informal*.
|
||||
There is nothing fundamental in Git that enforces the "chain of
|
||||
@ -1450,7 +1450,7 @@ transport protocols (HTTP), you need to keep this repository
|
||||
would contain a call to 'git update-server-info'
|
||||
but you need to manually enable the hook with
|
||||
`mv post-update.sample post-update`. This makes sure
|
||||
'git update-server-info' keeps the necessary files up-to-date.
|
||||
'git update-server-info' keeps the necessary files up to date.
|
||||
|
||||
3. Push into the public repository from your primary
|
||||
repository.
|
||||
|
@ -101,16 +101,6 @@ $ git help credential-foo
|
||||
$ git config --global credential.helper foo
|
||||
-------------------------------------------
|
||||
|
||||
If there are multiple instances of the `credential.helper` configuration
|
||||
variable, each helper will be tried in turn, and may provide a username,
|
||||
password, or nothing. Once Git has acquired both a username and a
|
||||
password, no more helpers will be tried.
|
||||
|
||||
If `credential.helper` is configured to the empty string, this resets
|
||||
the helper list to empty (so you may override a helper set by a
|
||||
lower-priority config file by configuring the empty-string helper,
|
||||
followed by whatever set of helpers you would like).
|
||||
|
||||
|
||||
CREDENTIAL CONTEXTS
|
||||
-------------------
|
||||
@ -162,6 +152,16 @@ helper::
|
||||
shell (so, for example, setting this to `foo --option=bar` will execute
|
||||
`git credential-foo --option=bar` via the shell. See the manual of
|
||||
specific helpers for examples of their use.
|
||||
+
|
||||
If there are multiple instances of the `credential.helper` configuration
|
||||
variable, each helper will be tried in turn, and may provide a username,
|
||||
password, or nothing. Once Git has acquired both a username and a
|
||||
password, no more helpers will be tried.
|
||||
+
|
||||
If `credential.helper` is configured to the empty string, this resets
|
||||
the helper list to empty (so you may override a helper set by a
|
||||
lower-priority config file by configuring the empty-string helper,
|
||||
followed by whatever set of helpers you would like).
|
||||
|
||||
username::
|
||||
|
||||
|
@ -22,8 +22,10 @@ changed via the `core.hooksPath` configuration variable (see
|
||||
linkgit:git-config[1]).
|
||||
|
||||
Before Git invokes a hook, it changes its working directory to either
|
||||
the root of the working tree in a non-bare repository, or to the
|
||||
$GIT_DIR in a bare repository.
|
||||
$GIT_DIR in a bare repository or the root of the working tree in a non-bare
|
||||
repository. An exception are hooks triggered during a push ('pre-receive',
|
||||
'update', 'post-receive', 'post-update', 'push-to-checkout') which are always
|
||||
executed in $GIT_DIR.
|
||||
|
||||
Hooks can get their arguments via the environment, command-line
|
||||
arguments, and stdin. See the documentation for each hook below for
|
||||
@ -119,17 +121,16 @@ it is not suppressed by the `--no-verify` option. A non-zero exit
|
||||
means a failure of the hook and aborts the commit. It should not
|
||||
be used as replacement for pre-commit hook.
|
||||
|
||||
The sample `prepare-commit-msg` hook that comes with Git comments
|
||||
out the `Conflicts:` part of a merge's commit message.
|
||||
The sample `prepare-commit-msg` hook that comes with Git removes the
|
||||
help message found in the commented portion of the commit template.
|
||||
|
||||
commit-msg
|
||||
~~~~~~~~~~
|
||||
|
||||
This hook is invoked by 'git commit', and can be bypassed
|
||||
with the `--no-verify` option. It takes a single parameter, the
|
||||
name of the file that holds the proposed commit log message.
|
||||
Exiting with a non-zero status causes the 'git commit' to
|
||||
abort.
|
||||
This hook is invoked by 'git commit' and 'git merge', and can be
|
||||
bypassed with the `--no-verify` option. It takes a single parameter,
|
||||
the name of the file that holds the proposed commit log message.
|
||||
Exiting with a non-zero status causes the command to abort.
|
||||
|
||||
The hook is allowed to edit the message file in place, and can be used
|
||||
to normalize the message into some project standard format. It
|
||||
@ -256,6 +257,9 @@ environment variables will not be set. If the client selects
|
||||
to use push options, but doesn't transmit any, the count variable
|
||||
will be set to zero, `GIT_PUSH_OPTION_COUNT=0`.
|
||||
|
||||
See the section on "Quarantine Environment" in
|
||||
linkgit:git-receive-pack[1] for some caveats.
|
||||
|
||||
[[update]]
|
||||
update
|
||||
~~~~~~
|
||||
@ -364,7 +368,7 @@ them.
|
||||
|
||||
When enabled, the default 'post-update' hook runs
|
||||
'git update-server-info' to keep the information used by dumb
|
||||
transports (e.g., HTTP) up-to-date. If you are publishing
|
||||
transports (e.g., HTTP) up to date. If you are publishing
|
||||
a Git repository that is accessible via HTTP, you should
|
||||
probably enable this hook.
|
||||
|
||||
@ -442,6 +446,14 @@ rebase::
|
||||
The commits are guaranteed to be listed in the order that they were
|
||||
processed by rebase.
|
||||
|
||||
sendemail-validate
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This hook is invoked by 'git send-email'. It takes a single parameter,
|
||||
the name of the file that holds the e-mail to be sent. Exiting with a
|
||||
non-zero status causes 'git send-email' to abort before sending any
|
||||
e-mails.
|
||||
|
||||
|
||||
GIT
|
||||
---
|
||||
|
@ -66,17 +66,26 @@ submodule.<name>.fetchRecurseSubmodules::
|
||||
|
||||
submodule.<name>.ignore::
|
||||
Defines under what circumstances "git status" and the diff family show
|
||||
a submodule as modified. When set to "all", it will never be considered
|
||||
modified (but will nonetheless show up in the output of status and
|
||||
commit when it has been staged), "dirty" will ignore all changes
|
||||
to the submodules work tree and
|
||||
takes only differences between the HEAD of the submodule and the commit
|
||||
recorded in the superproject into account. "untracked" will additionally
|
||||
let submodules with modified tracked files in their work tree show up.
|
||||
Using "none" (the default when this option is not set) also shows
|
||||
submodules that have untracked files in their work tree as changed.
|
||||
If this option is also present in the submodules entry in .git/config of
|
||||
the superproject, the setting there will override the one found in
|
||||
a submodule as modified. The following values are supported:
|
||||
|
||||
all;; The submodule will never be considered modified (but will
|
||||
nonetheless show up in the output of status and commit when it has
|
||||
been staged).
|
||||
|
||||
dirty;; All changes to the submodule's work tree will be ignored, only
|
||||
committed differences between the HEAD of the submodule and its
|
||||
recorded state in the superproject are taken into account.
|
||||
|
||||
untracked;; Only untracked files in submodules will be ignored.
|
||||
Committed differences and modifications to tracked files will show
|
||||
up.
|
||||
|
||||
none;; No modifiations to submodules are ignored, all of committed
|
||||
differences, and modifications to tracked and untracked files are
|
||||
shown. This is the default option.
|
||||
|
||||
If this option is also present in the submodules entry in .git/config
|
||||
of the superproject, the setting there will override the one found in
|
||||
.gitmodules.
|
||||
Both settings can be overridden on the command line by using the
|
||||
"--ignore-submodule" option. The 'git submodule' commands are not
|
||||
@ -84,8 +93,8 @@ submodule.<name>.ignore::
|
||||
|
||||
submodule.<name>.shallow::
|
||||
When set to true, a clone of this submodule will be performed as a
|
||||
shallow clone unless the user explicitly asks for a non-shallow
|
||||
clone.
|
||||
shallow clone (with a history depth of 1) unless the user explicitly
|
||||
asks for a non-shallow clone.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
|
@ -463,7 +463,7 @@ set by Git if the remote helper has the 'option' capability.
|
||||
GPG sign pushes.
|
||||
|
||||
'option push-option <string>::
|
||||
Transmit <string> as a push option. As the a push option
|
||||
Transmit <string> as a push option. As the push option
|
||||
must not contain LF or NUL characters, the string is not encoded.
|
||||
|
||||
SEE ALSO
|
||||
|
@ -71,7 +71,7 @@ objects/info/packs::
|
||||
This file is to help dumb transports discover what packs
|
||||
are available in this object store. Whenever a pack is
|
||||
added or removed, `git update-server-info` should be run
|
||||
to keep this file up-to-date if the repository is
|
||||
to keep this file up to date if the repository is
|
||||
published for dumb transports. 'git repack' does this
|
||||
by default.
|
||||
|
||||
|
221
Documentation/gitsubmodules.txt
Normal file
221
Documentation/gitsubmodules.txt
Normal file
@ -0,0 +1,221 @@
|
||||
gitsubmodules(7)
|
||||
================
|
||||
|
||||
NAME
|
||||
----
|
||||
gitsubmodules - mounting one repository inside another
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
.gitmodules, $GIT_DIR/config
|
||||
------------------
|
||||
git submodule
|
||||
git <command> --recurse-submodules
|
||||
------------------
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
A submodule is a repository embedded inside another repository.
|
||||
The submodule has its own history; the repository it is embedded
|
||||
in is called a superproject.
|
||||
|
||||
On the filesystem, a submodule usually (but not always - see FORMS below)
|
||||
consists of (i) a Git directory located under the `$GIT_DIR/modules/`
|
||||
directory of its superproject, (ii) a working directory inside the
|
||||
superproject's working directory, and a `.git` file at the root of
|
||||
the submodule’s working directory pointing to (i).
|
||||
|
||||
Assuming the submodule has a Git directory at `$GIT_DIR/modules/foo/`
|
||||
and a working directory at `path/to/bar/`, the superproject tracks the
|
||||
submodule via a `gitlink` entry in the tree at `path/to/bar` and an entry
|
||||
in its `.gitmodules` file (see linkgit:gitmodules[5]) of the form
|
||||
`submodule.foo.path = path/to/bar`.
|
||||
|
||||
The `gitlink` entry contains the object name of the commit that the
|
||||
superproject expects the submodule’s working directory to be at.
|
||||
|
||||
The section `submodule.foo.*` in the `.gitmodules` file gives additional
|
||||
hints to Gits porcelain layer such as where to obtain the submodule via
|
||||
the `submodule.foo.url` setting.
|
||||
|
||||
Submodules can be used for at least two different use cases:
|
||||
|
||||
1. Using another project while maintaining independent history.
|
||||
Submodules allow you to contain the working tree of another project
|
||||
within your own working tree while keeping the history of both
|
||||
projects separate. Also, since submodules are fixed to an arbitrary
|
||||
version, the other project can be independently developed without
|
||||
affecting the superproject, allowing the superproject project to
|
||||
fix itself to new versions only when desired.
|
||||
|
||||
2. Splitting a (logically single) project into multiple
|
||||
repositories and tying them back together. This can be used to
|
||||
overcome current limitations of Gits implementation to have
|
||||
finer grained access:
|
||||
|
||||
* Size of the git repository:
|
||||
In its current form Git scales up poorly for large repositories containing
|
||||
content that is not compressed by delta computation between trees.
|
||||
However you can also use submodules to e.g. hold large binary assets
|
||||
and these repositories are then shallowly cloned such that you do not
|
||||
have a large history locally.
|
||||
* Transfer size:
|
||||
In its current form Git requires the whole working tree present. It
|
||||
does not allow partial trees to be transferred in fetch or clone.
|
||||
* Access control:
|
||||
By restricting user access to submodules, this can be used to implement
|
||||
read/write policies for different users.
|
||||
|
||||
The configuration of submodules
|
||||
-------------------------------
|
||||
|
||||
Submodule operations can be configured using the following mechanisms
|
||||
(from highest to lowest precedence):
|
||||
|
||||
* The command line for those commands that support taking submodule specs.
|
||||
Most commands have a boolean flag '--recurse-submodules' whether to
|
||||
recurse into submodules. Examples are `ls-files` or `checkout`.
|
||||
Some commands take enums, such as `fetch` and `push`, where you can
|
||||
specify how submodules are affected.
|
||||
|
||||
* The configuration inside the submodule. This includes `$GIT_DIR/config`
|
||||
in the submodule, but also settings in the tree such as a `.gitattributes`
|
||||
or `.gitignore` files that specify behavior of commands inside the
|
||||
submodule.
|
||||
+
|
||||
For example an effect from the submodule's `.gitignore` file
|
||||
would be observed when you run `git status --ignore-submodules=none` in
|
||||
the superproject. This collects information from the submodule's working
|
||||
directory by running `status` in the submodule, which does pay attention
|
||||
to its `.gitignore` file.
|
||||
+
|
||||
The submodule's `$GIT_DIR/config` file would come into play when running
|
||||
`git push --recurse-submodules=check` in the superproject, as this would
|
||||
check if the submodule has any changes not published to any remote. The
|
||||
remotes are configured in the submodule as usual in the `$GIT_DIR/config`
|
||||
file.
|
||||
|
||||
* The configuration file `$GIT_DIR/config` in the superproject.
|
||||
Typical configuration at this place is controlling if a submodule
|
||||
is recursed into at all via the `active` flag for example.
|
||||
+
|
||||
If the submodule is not yet initialized, then the configuration
|
||||
inside the submodule does not exist yet, so configuration where to
|
||||
obtain the submodule from is configured here for example.
|
||||
|
||||
* the `.gitmodules` file inside the superproject. Additionally to the
|
||||
required mapping between submodule's name and path, a project usually
|
||||
uses this file to suggest defaults for the upstream collection
|
||||
of repositories.
|
||||
+
|
||||
This file mainly serves as the mapping between name and path in
|
||||
the superproject, such that the submodule's git directory can be
|
||||
located.
|
||||
+
|
||||
If the submodule has never been initialized, this is the only place
|
||||
where submodule configuration is found. It serves as the last fallback
|
||||
to specify where to obtain the submodule from.
|
||||
|
||||
FORMS
|
||||
-----
|
||||
|
||||
Submodules can take the following forms:
|
||||
|
||||
* The basic form described in DESCRIPTION with a Git directory,
|
||||
a working directory, a `gitlink`, and a `.gitmodules` entry.
|
||||
|
||||
* "Old-form" submodule: A working directory with an embedded
|
||||
`.git` directory, and the tracking `gitlink` and `.gitmodules` entry in
|
||||
the superproject. This is typically found in repositories generated
|
||||
using older versions of Git.
|
||||
+
|
||||
It is possible to construct these old form repositories manually.
|
||||
+
|
||||
When deinitialized or deleted (see below), the submodule’s Git
|
||||
directory is automatically moved to `$GIT_DIR/modules/<name>/`
|
||||
of the superproject.
|
||||
|
||||
* Deinitialized submodule: A `gitlink`, and a `.gitmodules` entry,
|
||||
but no submodule working directory. The submodule’s git directory
|
||||
may be there as after deinitializing the git directory is kept around.
|
||||
The directory which is supposed to be the working directory is empty instead.
|
||||
+
|
||||
A submodule can be deinitialized by running `git submodule deinit`.
|
||||
Besides emptying the working directory, this command only modifies
|
||||
the superproject’s `$GIT_DIR/config` file, so the superproject’s history
|
||||
is not affected. This can be undone using `git submodule init`.
|
||||
|
||||
* Deleted submodule: A submodule can be deleted by running
|
||||
`git rm <submodule path> && git commit`. This can be undone
|
||||
using `git revert`.
|
||||
+
|
||||
The deletion removes the superproject’s tracking data, which are
|
||||
both the `gitlink` entry and the section in the `.gitmodules` file.
|
||||
The submodule’s working directory is removed from the file
|
||||
system, but the Git directory is kept around as it to make it
|
||||
possible to checkout past commits without requiring fetching
|
||||
from another repository.
|
||||
+
|
||||
To completely remove a submodule, manually delete
|
||||
`$GIT_DIR/modules/<name>/`.
|
||||
|
||||
Workflow for a third party library
|
||||
----------------------------------
|
||||
|
||||
# add a submodule
|
||||
git submodule add <url> <path>
|
||||
|
||||
# occasionally update the submodule to a new version:
|
||||
git -C <path> checkout <new version>
|
||||
git add <path>
|
||||
git commit -m "update submodule to new version"
|
||||
|
||||
# See the list of submodules in a superproject
|
||||
git submodule status
|
||||
|
||||
# See FORMS on removing submodules
|
||||
|
||||
|
||||
Workflow for an artificially split repo
|
||||
--------------------------------------
|
||||
|
||||
# Enable recursion for relevant commands, such that
|
||||
# regular commands recurse into submodules by default
|
||||
git config --global submodule.recurse true
|
||||
|
||||
# Unlike the other commands below clone still needs
|
||||
# its own recurse flag:
|
||||
git clone --recurse <URL> <directory>
|
||||
cd <directory>
|
||||
|
||||
# Get to know the code:
|
||||
git grep foo
|
||||
git ls-files
|
||||
|
||||
# Get new code
|
||||
git fetch
|
||||
git pull --rebase
|
||||
|
||||
# change worktree
|
||||
git checkout
|
||||
git reset
|
||||
|
||||
Implementation details
|
||||
----------------------
|
||||
|
||||
When cloning or pulling a repository containing submodules the submodules
|
||||
will not be checked out by default; You can instruct 'clone' to recurse
|
||||
into submodules. The 'init' and 'update' subcommands of 'git submodule'
|
||||
will maintain submodules checked out and at an appropriate revision in
|
||||
your working tree. Alternatively you can set 'submodule.recurse' to have
|
||||
'checkout' recursing into submodules.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-submodule[1], linkgit:gitmodules[5].
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
@ -109,7 +109,7 @@ summary of the situation with 'git status':
|
||||
$ git status
|
||||
On branch master
|
||||
Changes to be committed:
|
||||
Your branch is up-to-date with 'origin/master'.
|
||||
Your branch is up to date with 'origin/master'.
|
||||
(use "git reset HEAD <file>..." to unstage)
|
||||
|
||||
modified: file1
|
||||
|
@ -368,8 +368,8 @@ $logo_url::
|
||||
$logo_label::
|
||||
URI and label (title) for the Git logo link (or your site logo,
|
||||
if you chose to use different logo image). By default, these both
|
||||
refer to Git homepage, http://git-scm.com[]; in the past, they pointed
|
||||
to Git documentation at http://www.kernel.org[].
|
||||
refer to Git homepage, https://git-scm.com[]; in the past, they pointed
|
||||
to Git documentation at https://www.kernel.org[].
|
||||
|
||||
|
||||
Changing gitweb's look
|
||||
|
@ -84,7 +84,7 @@ separator (rules for Perl's "`split(" ", $line)`").
|
||||
|
||||
* Fields use modified URI encoding, defined in RFC 3986, section 2.1
|
||||
(Percent-Encoding), or rather "Query string encoding" (see
|
||||
http://en.wikipedia.org/wiki/Query_string#URL_encoding[]), the difference
|
||||
https://en.wikipedia.org/wiki/Query_string#URL_encoding[]), the difference
|
||||
being that SP (" ") can be encoded as "{plus}" (and therefore "{plus}" has to be
|
||||
also percent-encoded).
|
||||
+
|
||||
|
@ -384,10 +384,33 @@ full pathname may have special meaning:
|
||||
+
|
||||
Glob magic is incompatible with literal magic.
|
||||
|
||||
attr;;
|
||||
After `attr:` comes a space separated list of "attribute
|
||||
requirements", all of which must be met in order for the
|
||||
path to be considered a match; this is in addition to the
|
||||
usual non-magic pathspec pattern matching.
|
||||
See linkgit:gitattributes[5].
|
||||
+
|
||||
Each of the attribute requirements for the path takes one of
|
||||
these forms:
|
||||
|
||||
- "`ATTR`" requires that the attribute `ATTR` be set.
|
||||
|
||||
- "`-ATTR`" requires that the attribute `ATTR` be unset.
|
||||
|
||||
- "`ATTR=VALUE`" requires that the attribute `ATTR` be
|
||||
set to the string `VALUE`.
|
||||
|
||||
- "`!ATTR`" requires that the attribute `ATTR` be
|
||||
unspecified.
|
||||
+
|
||||
|
||||
exclude;;
|
||||
After a path matches any non-exclude pathspec, it will be run
|
||||
through all exclude pathspec (magic signature: `!`). If it
|
||||
matches, the path is ignored.
|
||||
through all exclude pathspecs (magic signature: `!` or its
|
||||
synonym `^`). If it matches, the path is ignored. When there
|
||||
is no non-exclude pathspec, the exclusion is applied to the
|
||||
result set as if invoked without any pathspec.
|
||||
--
|
||||
|
||||
[[def_parent]]parent::
|
||||
@ -547,6 +570,10 @@ The most notable example is `HEAD`.
|
||||
is created by giving the `--depth` option to linkgit:git-clone[1], and
|
||||
its history can be later deepened with linkgit:git-fetch[1].
|
||||
|
||||
[[def_stash]]stash entry::
|
||||
An <<def_object,object>> used to temporarily store the contents of a
|
||||
<<def_dirty,dirty>> working directory and the index for future reuse.
|
||||
|
||||
[[def_submodule]]submodule::
|
||||
A <<def_repository,repository>> that holds the history of a
|
||||
separate project inside another repository (the latter of
|
||||
|
@ -4,13 +4,13 @@ From: Junio C Hamano <gitster@pobox.com>
|
||||
Date: Fri, 26 Aug 2005 18:19:10 -0700
|
||||
Abstract: In this how-to article, JC talks about how he
|
||||
uses the post-update hook to automate Git documentation page
|
||||
shown at http://www.kernel.org/pub/software/scm/git/docs/.
|
||||
shown at https://www.kernel.org/pub/software/scm/git/docs/.
|
||||
Content-type: text/asciidoc
|
||||
|
||||
How to rebuild from update hook
|
||||
===============================
|
||||
|
||||
The pages under http://www.kernel.org/pub/software/scm/git/docs/
|
||||
The pages under https://www.kernel.org/pub/software/scm/git/docs/
|
||||
are built from Documentation/ directory of the git.git project
|
||||
and needed to be kept up-to-date. The www.kernel.org/ servers
|
||||
are mirrored and I was told that the origin of the mirror is on
|
||||
|
@ -42,11 +42,11 @@ mind.
|
||||
+
|
||||
------------
|
||||
[i18n]
|
||||
commitencoding = ISO-8859-1
|
||||
commitEncoding = ISO-8859-1
|
||||
------------
|
||||
+
|
||||
Commit objects created with the above setting record the value
|
||||
of `i18n.commitencoding` in its `encoding` header. This is to
|
||||
of `i18n.commitEncoding` in its `encoding` header. This is to
|
||||
help other people who look at them later. Lack of this header
|
||||
implies that the commit log message is encoded in UTF-8.
|
||||
|
||||
@ -54,15 +54,15 @@ implies that the commit log message is encoded in UTF-8.
|
||||
`encoding` header of a commit object, and try to re-code the
|
||||
log message into UTF-8 unless otherwise specified. You can
|
||||
specify the desired output encoding with
|
||||
`i18n.logoutputencoding` in `.git/config` file, like this:
|
||||
`i18n.logOutputEncoding` in `.git/config` file, like this:
|
||||
+
|
||||
------------
|
||||
[i18n]
|
||||
logoutputencoding = ISO-8859-1
|
||||
logOutputEncoding = ISO-8859-1
|
||||
------------
|
||||
+
|
||||
If you do not have this configuration variable, the value of
|
||||
`i18n.commitencoding` is used instead.
|
||||
`i18n.commitEncoding` is used instead.
|
||||
|
||||
Note that we deliberately chose not to re-code the commit log
|
||||
message when a commit is made to force UTF-8 at the commit
|
||||
|
@ -39,9 +39,15 @@ set to `no` at the beginning of them.
|
||||
|
||||
--ff-only::
|
||||
Refuse to merge and exit with a non-zero status unless the
|
||||
current `HEAD` is already up-to-date or the merge can be
|
||||
current `HEAD` is already up to date or the merge can be
|
||||
resolved as a fast-forward.
|
||||
|
||||
-S[<keyid>]::
|
||||
--gpg-sign[=<keyid>]::
|
||||
GPG-sign the resulting merge commit. The `keyid` argument is
|
||||
optional and defaults to the committer identity; if specified,
|
||||
it must be stuck to the option without a space.
|
||||
|
||||
--log[=<n>]::
|
||||
--no-log::
|
||||
In addition to branch names, populate the log message with
|
||||
|
@ -39,7 +39,8 @@ even look at what the other tree contains at all. It discards everything
|
||||
the other tree did, declaring 'our' history contains all that happened in it.
|
||||
|
||||
theirs;;
|
||||
This is the opposite of 'ours'.
|
||||
This is the opposite of 'ours'; note that, unlike 'ours', there is
|
||||
no 'theirs' merge stragegy to confuse this merge option with.
|
||||
|
||||
patience;;
|
||||
With this option, 'merge-recursive' spends a little extra time
|
||||
|
@ -173,12 +173,17 @@ endif::git-rev-list[]
|
||||
- '%Cblue': switch color to blue
|
||||
- '%Creset': reset color
|
||||
- '%C(...)': color specification, as described under Values in the
|
||||
"CONFIGURATION FILE" section of linkgit:git-config[1];
|
||||
adding `auto,` at the beginning will emit color only when colors are
|
||||
enabled for log output (by `color.diff`, `color.ui`, or `--color`, and
|
||||
respecting the `auto` settings of the former if we are going to a
|
||||
terminal). `auto` alone (i.e. `%C(auto)`) will turn on auto coloring
|
||||
on the next placeholders until the color is switched again.
|
||||
"CONFIGURATION FILE" section of linkgit:git-config[1].
|
||||
By default, colors are shown only when enabled for log output (by
|
||||
`color.diff`, `color.ui`, or `--color`, and respecting the `auto`
|
||||
settings of the former if we are going to a terminal). `%C(auto,...)`
|
||||
is accepted as a historical synonym for the default (e.g.,
|
||||
`%C(auto,red)`). Specifying `%C(always,...) will show the colors
|
||||
even when color is not otherwise enabled (though consider
|
||||
just using `--color=always` to enable color for the whole output,
|
||||
including this format and anything else git might color). `auto`
|
||||
alone (i.e. `%C(auto)`) will turn on auto coloring on the next
|
||||
placeholders until the color is switched again.
|
||||
- '%m': left (`<`), right (`>`) or boundary (`-`) mark
|
||||
- '%n': newline
|
||||
- '%%': a raw '%'
|
||||
@ -199,8 +204,11 @@ endif::git-rev-list[]
|
||||
than given and there are spaces on its left, use those spaces
|
||||
- '%><(<N>)', '%><|(<N>)': similar to '% <(<N>)', '%<|(<N>)'
|
||||
respectively, but padding both sides (i.e. the text is centered)
|
||||
-%(trailers): display the trailers of the body as interpreted by
|
||||
linkgit:git-interpret-trailers[1]
|
||||
- %(trailers): display the trailers of the body as interpreted by
|
||||
linkgit:git-interpret-trailers[1]. If the `:only` option is given,
|
||||
omit non-trailer lines from the trailer block. If the `:unfold`
|
||||
option is given, behave as if interpret-trailer's `--unfold` option
|
||||
was given. E.g., `%(trailers:only:unfold)` to do both.
|
||||
|
||||
NOTE: Some placeholders may depend on other options given to the
|
||||
revision traversal engine. For example, the `%g*` reflog options will
|
||||
@ -213,8 +221,8 @@ If you add a `+` (plus sign) after '%' of a placeholder, a line-feed
|
||||
is inserted immediately before the expansion if and only if the
|
||||
placeholder expands to a non-empty string.
|
||||
|
||||
If you add a `-` (minus sign) after '%' of a placeholder, line-feeds that
|
||||
immediately precede the expansion are deleted if and only if the
|
||||
If you add a `-` (minus sign) after '%' of a placeholder, all consecutive
|
||||
line-feeds immediately preceding the expansion are deleted if and only if the
|
||||
placeholder expands to an empty string.
|
||||
|
||||
If you add a ` ` (space) after '%' of a placeholder, a space
|
||||
|
@ -23,9 +23,11 @@ ifdef::git-pull[]
|
||||
endif::git-pull[]
|
||||
+
|
||||
The format of a <refspec> parameter is an optional plus
|
||||
`+`, followed by the source ref <src>, followed
|
||||
`+`, followed by the source <src>, followed
|
||||
by a colon `:`, followed by the destination ref <dst>.
|
||||
The colon can be omitted when <dst> is empty.
|
||||
The colon can be omitted when <dst> is empty. <src> is
|
||||
typically a ref, but it can also be a fully spelled hex object
|
||||
name.
|
||||
+
|
||||
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`;
|
||||
it requests fetching everything up to the given tag.
|
||||
|
@ -91,9 +91,14 @@ endif::git-rev-list[]
|
||||
Consider the limiting patterns to be fixed strings (don't interpret
|
||||
pattern as a regular expression).
|
||||
|
||||
-P::
|
||||
--perl-regexp::
|
||||
Consider the limiting patterns to be Perl-compatible regular expressions.
|
||||
Requires libpcre to be compiled in.
|
||||
Consider the limiting patterns to be Perl-compatible regular
|
||||
expressions.
|
||||
+
|
||||
Support for these types of regular expressions is an optional
|
||||
compile-time dependency. If Git wasn't compiled with support for them
|
||||
providing this option will cause it to die.
|
||||
|
||||
--remove-empty::
|
||||
Stop when a given path disappears from the tree.
|
||||
@ -179,6 +184,14 @@ explicitly.
|
||||
Pretend as if all objects mentioned by reflogs are listed on the
|
||||
command line as `<commit>`.
|
||||
|
||||
--single-worktree::
|
||||
By default, all working trees will be examined by the
|
||||
following options when there are more than one (see
|
||||
linkgit:git-worktree[1]): `--all`, `--reflog` and
|
||||
`--indexed-objects`.
|
||||
This option forces them to examine the current working tree
|
||||
only.
|
||||
|
||||
--ignore-missing::
|
||||
Upon seeing an invalid object name in the input, pretend as if
|
||||
the bad input was not given.
|
||||
@ -764,7 +777,8 @@ timezone value.
|
||||
1970). As with `--raw`, this is always in UTC and therefore `-local`
|
||||
has no effect.
|
||||
+
|
||||
`--date=format:...` feeds the format `...` to your system `strftime`.
|
||||
`--date=format:...` feeds the format `...` to your system `strftime`,
|
||||
except for %z and %Z, which are handled internally.
|
||||
Use `--date=format:%c` to show the date in your system locale's
|
||||
preferred format. See the `strftime` manual for a complete list of
|
||||
format placeholders. When using `-local`, the correct syntax is
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user