Compare commits
2414 Commits
v1.8.0-rc3
...
v1.8.3-rc1
Author | SHA1 | Date | |
---|---|---|---|
7d3ccdffb5 | |||
7c2e8fc684 | |||
1c937682c2 | |||
571cdfd4e0 | |||
49010c354f | |||
6606a69f45 | |||
9a3e36cd67 | |||
de0977d528 | |||
e7a3c902a6 | |||
c7e2be6e88 | |||
d9291ecf4f | |||
c259a1a927 | |||
b9347eb224 | |||
756a042600 | |||
7e6a0cc47d | |||
72f7507710 | |||
01449e314f | |||
8301b976ed | |||
4911589bd1 | |||
1ca6d4bc42 | |||
a05490edbf | |||
2651baaea9 | |||
de7c201a10 | |||
eafc2dd59f | |||
89740333e8 | |||
240ae2b8c9 | |||
6a776acabf | |||
c85f0a2a0e | |||
980419b993 | |||
a6fed65a6a | |||
85064630fc | |||
27f0d3b63d | |||
ab5f42422d | |||
ea57352182 | |||
b75cdfaa88 | |||
2a407d7443 | |||
f44014b74d | |||
d1ab71804f | |||
019eb0dd35 | |||
838f9c1eb6 | |||
877ee9cc7e | |||
4d74cd4725 | |||
d82c912c43 | |||
6134caf2c1 | |||
aa93845661 | |||
d6bb9136c9 | |||
23df5e40f0 | |||
75301a4588 | |||
c8c82b1ba3 | |||
df8597258e | |||
aedb94b3f0 | |||
0df7b8e55c | |||
e27004e341 | |||
4a9a4f0ec1 | |||
7a011aac0e | |||
40a9c3c9a0 | |||
1a475c4a2f | |||
bd8e3385d5 | |||
30e8180b27 | |||
0222bc9102 | |||
167843f285 | |||
bcd660871a | |||
a8addfecf0 | |||
86c5e148c9 | |||
93cd8d970b | |||
d87ec816cd | |||
56291c141e | |||
fbd3f0e53c | |||
a0511b3934 | |||
97a17e7721 | |||
30e77bcb50 | |||
b71dc3e1a0 | |||
cd33b41c69 | |||
2d0b07178d | |||
173f9a7145 | |||
e4d15959d4 | |||
283c63fac2 | |||
499231d9f1 | |||
7612e61e33 | |||
b17dd3f9d6 | |||
2d2e3d2559 | |||
abf5f8723c | |||
2130bf3ca9 | |||
30d925541e | |||
ea70980030 | |||
562af5b0b9 | |||
e52e6f79cc | |||
7093d2c0dd | |||
9e94f9ba9e | |||
741917f40c | |||
f87f7424df | |||
f989cac958 | |||
160695949a | |||
97253a2332 | |||
1a2636c297 | |||
b0f6c5835d | |||
7c0580586f | |||
891122266f | |||
a2e462c5b5 | |||
a2f7b6f8a9 | |||
e1760f8c2c | |||
68d4f4f3e9 | |||
299789c22c | |||
aeebca0bd2 | |||
7e31e1fea5 | |||
846cc77676 | |||
e5ea5e7547 | |||
3473ecd7ff | |||
4c7114308e | |||
9f60f49b92 | |||
118f60ee06 | |||
3e7bb5da9f | |||
76f9bc9f53 | |||
56303b8bb5 | |||
ac85caa7e9 | |||
34ab7fc461 | |||
be9d07f520 | |||
4fe3ed1302 | |||
63a4d8d723 | |||
21247455f3 | |||
2c697a67b1 | |||
4aaafdc6f1 | |||
2483fba54e | |||
2903c28ebb | |||
13e11087fe | |||
ad62fd0c2c | |||
3d88f83db2 | |||
fd6d822e84 | |||
561954bfa1 | |||
de0d774d46 | |||
703319313f | |||
1fc0bfd65a | |||
f4e89b96d8 | |||
7f49036f28 | |||
0942d519ad | |||
e495afcd74 | |||
46b2a46dd9 | |||
00200e9ea0 | |||
21a40b90e9 | |||
a682187e19 | |||
3a4dc48623 | |||
ccc663bc24 | |||
dfb44106cd | |||
ad77690fe4 | |||
c6c4d61673 | |||
62ff746bef | |||
37d32de72a | |||
4b35b007a6 | |||
24b6132e57 | |||
be6f722452 | |||
b94490bd57 | |||
49ecfa13fe | |||
d2949c7b3c | |||
9526aa461f | |||
6ae5d9863b | |||
4407ea49fe | |||
8d41addacb | |||
de91daf5e6 | |||
d7bffe9fb6 | |||
4059da3352 | |||
574d51b575 | |||
1640632b4f | |||
a7f01c6b4d | |||
a57523428b | |||
a95f067e3f | |||
fcabc2d91c | |||
7e77df39bf | |||
b782bbab94 | |||
2bc1e7ecba | |||
4247fe7956 | |||
9d3f002f21 | |||
d2ea4afb03 | |||
0940a76db6 | |||
5a10d23658 | |||
1468a58393 | |||
c5926ac377 | |||
ded56521bd | |||
da89885c6d | |||
e7e656c09a | |||
77354d8cdc | |||
1931f6d6ea | |||
288aa7534a | |||
54a3c67375 | |||
8dd28584a5 | |||
5734fa4608 | |||
bd1184c6de | |||
cd797c7e6b | |||
193e28f050 | |||
80292f2104 | |||
16a794de88 | |||
845241d544 | |||
d226b14d47 | |||
1a39b72787 | |||
de5abe9fe9 | |||
9dbe7c3d7f | |||
9cfa5126a0 | |||
4982fd78f6 | |||
ff36682505 | |||
29fb37b272 | |||
dcd8c09e4d | |||
1ece66bc9e | |||
c19a490e37 | |||
f2de0b9793 | |||
95f31e9ab5 | |||
70d26c6e76 | |||
b793acf14c | |||
bc554df8c9 | |||
afad200558 | |||
aec3f77941 | |||
f678d9b592 | |||
825ccfc23c | |||
948cf4f5e5 | |||
e1a3f17e9d | |||
51ff04baad | |||
f4f6a75329 | |||
d809d050ff | |||
0aaf62b6e0 | |||
defd7c7b37 | |||
8aaf8d7728 | |||
b07bc8c8c3 | |||
95c6f27164 | |||
6cd5c582dc | |||
46aa2f95d2 | |||
5bd8e2d894 | |||
be8a84c526 | |||
c94ab01026 | |||
184d2a8e96 | |||
0104c9e781 | |||
289ff5598f | |||
560bb7a7a1 | |||
57148ebb30 | |||
d5fa1f1a69 | |||
3ab501209b | |||
79de45588c | |||
dbda21fa87 | |||
a7f8b8ac94 | |||
0d957a4df5 | |||
b8bd826f3a | |||
cd16c59bfa | |||
08d595dc1c | |||
0d2f7d1c5e | |||
85e7e81ccf | |||
002d4ce8aa | |||
38b074de80 | |||
ddc996d767 | |||
b4cfbc969c | |||
7d13e0a3af | |||
43369a2258 | |||
1ce23aad34 | |||
0597ffa5ec | |||
b0808819e5 | |||
924f6c3d39 | |||
caa7d79f1f | |||
a46221e9ad | |||
97ff97dc05 | |||
15af30e72f | |||
788e98f8c0 | |||
23589a90c3 | |||
cd12104ab6 | |||
b5581e6ac9 | |||
6a293703af | |||
41ccfdd9c9 | |||
2fec81cbe5 | |||
0f7b4c2e77 | |||
4283b8e408 | |||
ce9171cd63 | |||
7323513d28 | |||
d0008b3c66 | |||
2582ab18e4 | |||
e1c3bf496f | |||
7f20008d14 | |||
0285118e59 | |||
cdbff7d6ad | |||
7655fa7fa9 | |||
714d25868f | |||
3561e605bc | |||
04a74b6cfa | |||
06cb843fea | |||
4bc444eb64 | |||
5234b41f68 | |||
62901179cf | |||
1003b3a55d | |||
81af23f684 | |||
e2af9e361b | |||
7ece7ee607 | |||
a15696bb46 | |||
0d2f94ac95 | |||
5beeefea31 | |||
b3569933dd | |||
3a51467b94 | |||
200732744a | |||
59a7714c89 | |||
3ba40b45d8 | |||
9a57988b3f | |||
20c4b59c35 | |||
7b21ec24a5 | |||
2594a79ea9 | |||
2e8e813232 | |||
b3ab6fd1ac | |||
6181b9a63c | |||
cbf6237c2b | |||
b0c3db860c | |||
11dc88f49c | |||
7a6c1859b6 | |||
d7314b3acf | |||
0ff1b61770 | |||
f04f489f6b | |||
25027b983e | |||
71c6c95c31 | |||
8120014e2b | |||
15a8d901dd | |||
031873f8f1 | |||
e1219e45bd | |||
a57ad51d1a | |||
21246dbb9e | |||
3813a33de5 | |||
fdae191003 | |||
25d1d7e1c3 | |||
7db011eb20 | |||
1918225d2f | |||
079b546a29 | |||
24676f02ba | |||
c138af56da | |||
6130f86dea | |||
b552b56df2 | |||
13cb3bb7e6 | |||
0658569eb0 | |||
d6e1466095 | |||
fa7285dc3d | |||
5ff4fc649e | |||
0290bf1250 | |||
aacecc3b36 | |||
52a3e011c7 | |||
5bda18c186 | |||
5446e33f35 | |||
c17b651f19 | |||
0f3d66c6dc | |||
e65cdde454 | |||
60eea92b50 | |||
41e9da40a8 | |||
cd5123da9b | |||
8a2decfec6 | |||
252905dd4a | |||
4d35924e3a | |||
e64734b6a0 | |||
88dccb6c98 | |||
9a11f13d9e | |||
d7ddad012b | |||
2a4c26076c | |||
aa089cd9ab | |||
427a8ec5e7 | |||
80d35ca0aa | |||
6466fbbeef | |||
89c3bbd808 | |||
9927ebed19 | |||
2137ce01f8 | |||
4bbb830a35 | |||
0e9b327227 | |||
402596aafa | |||
9e7673ed7f | |||
c4458ecdc5 | |||
6ff8d4e748 | |||
5445b24e22 | |||
8954441ac7 | |||
f00f2511d9 | |||
9d9d698c43 | |||
bc51f7c3e2 | |||
82447e3361 | |||
aaa07e3eee | |||
4df13f69e9 | |||
de89f0b25a | |||
39a570f26c | |||
67d2a7b5c5 | |||
d5ccbe4dfb | |||
cfa0f4040d | |||
110bcdc3d0 | |||
426e70d4a1 | |||
6d052d78d7 | |||
21ccebec0d | |||
7cd895e59e | |||
d5fec92a7a | |||
7b72ec5e14 | |||
cb66027578 | |||
e636241fdb | |||
cbe43b8473 | |||
3a429d3b8d | |||
0f33a0677d | |||
0895c6d4c0 | |||
4db4f0fba4 | |||
1d77d249f9 | |||
61690bf4a1 | |||
88ff684dd5 | |||
ebb7226258 | |||
a8f6109428 | |||
aa7b8c657e | |||
03415ca8db | |||
7cdb9b42c3 | |||
bc6158981b | |||
a749c0bbef | |||
bd4ca09d4c | |||
bfd70c53b3 | |||
3a3101c62e | |||
f4df84de62 | |||
68447f04f4 | |||
8ce0ab4ec8 | |||
5ccb7e2ef3 | |||
96ec8ee92a | |||
9a6728d4d1 | |||
b9e31f5947 | |||
9b924eee98 | |||
091e051e88 | |||
c0e1ba4e17 | |||
e4f0e34c89 | |||
afeb525980 | |||
cbfd124c22 | |||
7b96d88802 | |||
e7b00c5764 | |||
9df84e94ed | |||
71c7b0538f | |||
16d41d4218 | |||
c9f35b8b50 | |||
ac47a22a7a | |||
bd7ac5990c | |||
c9704aa7ab | |||
8d994db46e | |||
260dba5d49 | |||
1b7b22bfd0 | |||
41ae34d136 | |||
e3b1173fb1 | |||
d3ea5826e4 | |||
5ab3e4c1b2 | |||
8054b9a615 | |||
ed23f31bbe | |||
b9c78e9723 | |||
a70f4cb5b0 | |||
288e6ff5a6 | |||
f30366b27a | |||
97fefaf6d3 | |||
19534ee8a7 | |||
b771d8d7cf | |||
14c79b1faa | |||
295e3938fc | |||
eeecf39397 | |||
e6658b9d69 | |||
a9dc3b6481 | |||
9e72a56699 | |||
fa0a6a4823 | |||
92e0d91632 | |||
072dda68ea | |||
c81e2c61b3 | |||
64379806a9 | |||
67ff3d27f6 | |||
f1ad05f3a5 | |||
8f780ca9be | |||
0311e373b5 | |||
357d7f11ba | |||
a134a60d0b | |||
d7df695d85 | |||
f4254d1fb2 | |||
dd686cd4b1 | |||
a133737b80 | |||
73903d0bcb | |||
002b726a40 | |||
65f98358c0 | |||
15f7d49438 | |||
caa2036b3b | |||
1a15d00bb9 | |||
a5e91c722c | |||
e2b6aa5f1b | |||
8a3e5ecdaa | |||
961c5129d5 | |||
66bea733f3 | |||
68ef16b848 | |||
48799d1c6b | |||
76d1ab30a3 | |||
37ba4c61d0 | |||
c5f05b2356 | |||
5fb7b899fb | |||
87e139c0ad | |||
db4ef4496e | |||
97276019bb | |||
53d8afafbb | |||
9f765ce62f | |||
224c217163 | |||
f24f715e05 | |||
2e433b7895 | |||
2ead7a674d | |||
b4b634352d | |||
2db60670ba | |||
7b294bf494 | |||
a38d3d76b6 | |||
9a94dba012 | |||
cc3e4eba72 | |||
b442731638 | |||
40a0f842da | |||
b76a9e1648 | |||
5753e1709e | |||
432930bd33 | |||
ab24e7521c | |||
fec274b01f | |||
41e603af58 | |||
1d066c58ee | |||
ed8852c286 | |||
ca54e43cf2 | |||
afc2e81247 | |||
6d37c162bb | |||
b2fb3911ea | |||
c044bed8f0 | |||
e81890548c | |||
e013bdab0f | |||
900c8ecb5c | |||
f161fb041e | |||
0cb24fe86e | |||
eeb69131ed | |||
95d9d5ec75 | |||
952af3511c | |||
fd4fab894f | |||
862ae6cd67 | |||
e290c4b944 | |||
eb307ae7bb | |||
a47eab03f6 | |||
9b39703920 | |||
622bc93091 | |||
d1520c4b1a | |||
a32a0c29df | |||
efed002249 | |||
f8aae8d0ef | |||
ffb6d7d5c9 | |||
3ee4452837 | |||
a6a3f2cc07 | |||
ed1ca6025f | |||
803a777942 | |||
0a34594c83 | |||
be537e43ca | |||
d3b34622f6 | |||
e01afdb74b | |||
3caf5a93d8 | |||
472353a579 | |||
67aa147af7 | |||
53ca053b30 | |||
329b26e0b4 | |||
bf341b902e | |||
efa5f82540 | |||
ab3aebc15c | |||
982ac87316 | |||
0b6e56dfe6 | |||
dc09e9ec43 | |||
631bc94e67 | |||
74bd52681d | |||
4806c8c5ca | |||
f893be2712 | |||
f1c8d8338f | |||
436b60ce7a | |||
39c5835dd6 | |||
18973d8ac9 | |||
d8355e5eae | |||
5e950c2199 | |||
c68c408a7a | |||
3322ad4284 | |||
790f282737 | |||
d1b9b76734 | |||
6005dbb9bf | |||
0433ad128c | |||
0aac7bb287 | |||
0e15ad9b73 | |||
d9c31e14d0 | |||
7b6257b0d4 | |||
692f0bc7ae | |||
42e7e2a534 | |||
f54fac5378 | |||
45d4bdae59 | |||
abe601bba5 | |||
84dd81c126 | |||
8617715cc0 | |||
9a82efd0d2 | |||
d011ab4312 | |||
187c00c6c5 | |||
6bf6366cc6 | |||
38ef8a76e7 | |||
ccf23370aa | |||
e96a3b3649 | |||
4f301f7009 | |||
e721c1544f | |||
3747c01570 | |||
928734d993 | |||
2bba2f0e65 | |||
6beb484f25 | |||
183f88018a | |||
7f95f2dce0 | |||
3bbbf18d71 | |||
f4ccd9f1bd | |||
50734ea0af | |||
ece12fd844 | |||
7d2726c393 | |||
d7cccbb3bb | |||
307d68e275 | |||
6201eb3e65 | |||
06d7abb13c | |||
2a5964afa6 | |||
4bb2121c17 | |||
f4bdb255f6 | |||
273ca55907 | |||
c17866d7b6 | |||
1d66383579 | |||
bd2f371d34 | |||
e39c695d87 | |||
790d96c023 | |||
df45cb3ea3 | |||
0117c2f043 | |||
99d3206010 | |||
7632cd2744 | |||
870987dec7 | |||
4e38e9b1d0 | |||
62bd0c0105 | |||
51ebd0fe9e | |||
33c1506d62 | |||
f10a012088 | |||
edb99f95f5 | |||
9b12c6ed77 | |||
63868f636f | |||
573f1a9cf1 | |||
fb3b7b1f95 | |||
55f6fbef3d | |||
212ca64fb4 | |||
caf217a3b8 | |||
b03b41e24c | |||
4744b33705 | |||
a8aa360017 | |||
cd04c522bd | |||
1252f8b29f | |||
25396a535b | |||
f7b1ad870c | |||
7c1017d2d5 | |||
a12816b7dc | |||
2b0dda5318 | |||
402c2a7ea1 | |||
a7b6ad5e90 | |||
8ddd9c18f3 | |||
82b955c513 | |||
4fa5c0591a | |||
04fe1184fd | |||
d401acf703 | |||
333ea38db9 | |||
530333cfe8 | |||
d8febde370 | |||
cee683b72e | |||
e023a31de6 | |||
464be6307c | |||
5d76ef25d9 | |||
c63659dd96 | |||
22179b3078 | |||
8677b777a5 | |||
9d6aa64dc3 | |||
90e76b7029 | |||
ff73aa405f | |||
aac6c2f4bc | |||
55adef0650 | |||
e4ca819abf | |||
6deab24d88 | |||
c19d1b4e84 | |||
837154978e | |||
250b3c6c99 | |||
77c72780ed | |||
7b592fadf1 | |||
bb9f2aecf0 | |||
328455fc58 | |||
c9fc4415e2 | |||
b8527d5fa6 | |||
3aa99df802 | |||
25043d8aea | |||
c5d5c9a9a3 | |||
cbfd5e1cbb | |||
4db34cc134 | |||
28ed8d7be9 | |||
8115c9386c | |||
e9bebbb67c | |||
95ef66df43 | |||
ea11711210 | |||
31b12a1999 | |||
0f6875dbe2 | |||
dcf0d12aed | |||
42e129f47a | |||
6d7e0c522e | |||
8d747e17e0 | |||
98ed062a92 | |||
e3b3b73c6e | |||
54797b98b8 | |||
f5715de54a | |||
e4e1c54990 | |||
c241e285e5 | |||
09386fff33 | |||
5d04924e19 | |||
03da85b954 | |||
858c2e050f | |||
b34a912989 | |||
2ad23273e7 | |||
0d158ebb92 | |||
57165db003 | |||
8be412a723 | |||
e24afab091 | |||
7b9a41987a | |||
4d5dcd976d | |||
a6da9cba61 | |||
c278e6f53d | |||
dbe71f9e24 | |||
118f542e92 | |||
9b79956018 | |||
31ccd35df4 | |||
3ae5d5016e | |||
9adf272a38 | |||
c2bf648b84 | |||
865e99b5fd | |||
f944ec9aa5 | |||
3e1b08bbf5 | |||
5bd81c7315 | |||
848575d833 | |||
3c69552338 | |||
2d1495fe44 | |||
3f21fb99ab | |||
8f82aad4e7 | |||
3aba2fddcb | |||
048d4d98b3 | |||
c29c46fa2e | |||
1c71541ddd | |||
617cf93182 | |||
30b939c33a | |||
f9b54e2630 | |||
03a8eddfd1 | |||
f7892d1817 | |||
75a9549047 | |||
bb79a827a2 | |||
47e329ef7c | |||
b2981d0622 | |||
ce4c4d4ec3 | |||
c73592812d | |||
ea738e2da1 | |||
f59de5d1ff | |||
06f15bf1f3 | |||
a6eec12638 | |||
c8183cd285 | |||
b397ea4863 | |||
3b691cccb0 | |||
b9691db4f9 | |||
8b87cfd000 | |||
5c3459fc61 | |||
c3c2e1a09b | |||
6a38ef2ced | |||
5823eb2b28 | |||
7297a44012 | |||
013c3bb81e | |||
fa04ae0be8 | |||
02c56314aa | |||
e0976dcf83 | |||
8aa10d4a5b | |||
f612a67eac | |||
772e47cd67 | |||
7bf7a92f69 | |||
239222f587 | |||
4549162e8d | |||
c699a7ccdc | |||
3ae851e6fb | |||
cdd76db373 | |||
bbd848633e | |||
89773db3e8 | |||
ce432cac30 | |||
03a0fb0ccf | |||
f1eba9f055 | |||
c75aa630b2 | |||
35ba83ccf6 | |||
ca8df3df8c | |||
c6898ebf21 | |||
0c91a6f302 | |||
bd54cf17a4 | |||
f838ce5826 | |||
421a976945 | |||
35297089e5 | |||
cdd9b3c96c | |||
407929cb45 | |||
ca70c9ea72 | |||
6cd3c05327 | |||
45c45e300b | |||
300c0a2209 | |||
1cc625fd7a | |||
3e714cdbab | |||
2cd83d10bb | |||
a6f7f9a325 | |||
98f85ff4b6 | |||
7ae07c1bd7 | |||
9a7a183bd2 | |||
a02ffe0e1a | |||
cfe1348da6 | |||
2163e5dbb4 | |||
eae6cf5aa8 | |||
47543d161e | |||
9e7b8efb9d | |||
71ba6b10f8 | |||
aadb70a559 | |||
cde47b9dce | |||
c5443b2a1e | |||
e53e8dd9bc | |||
5d4ef1721a | |||
80659ff47b | |||
5cae935660 | |||
a7409dfbc1 | |||
b174eb42d0 | |||
79d0f37337 | |||
3fef5536a0 | |||
c2aba155da | |||
557899ff6b | |||
4c4b27e8ce | |||
e895cb5135 | |||
e8e92e05ab | |||
b4eead95e0 | |||
926eb7ba4c | |||
b6eab8bdaa | |||
ed1ddafa60 | |||
703e8e65c8 | |||
cf41982806 | |||
7799588faa | |||
75bf5e60e8 | |||
ac751a0b43 | |||
4d0d0c3c59 | |||
18505c3423 | |||
06d67b8766 | |||
e6363a4992 | |||
8b1bd02415 | |||
1d38c6971d | |||
5e2485846d | |||
46e1d6eb4d | |||
2092678cd5 | |||
443d803e0d | |||
8d44277d91 | |||
6f0c336663 | |||
28db11169b | |||
c054ef9be2 | |||
3e07d2683d | |||
4d31a44a08 | |||
52dce6d036 | |||
d3c1472fe3 | |||
31e54bb94a | |||
dd281f09b7 | |||
21b6e4f24c | |||
bee3eb079d | |||
27db5a02c7 | |||
13a2319919 | |||
8b2d219a3d | |||
3b12f46ab3 | |||
5e93cd307b | |||
a295fe616f | |||
48cc7c1b24 | |||
1249d8ad1c | |||
e1033da6af | |||
e6e87516f5 | |||
5482920919 | |||
5c680be113 | |||
e0492c5be1 | |||
d0f9dbb9e2 | |||
93e38ed0c5 | |||
4ab7527458 | |||
41f2999180 | |||
971f85388f | |||
3b130ade45 | |||
4dac0679fe | |||
98b57f9774 | |||
2a4a26b53d | |||
3ca26e8cdc | |||
bb07a3f46b | |||
ef94636a4d | |||
a2b109f275 | |||
6368a71b81 | |||
7a0d8db36e | |||
cd9c038ac9 | |||
5cc5f09b7b | |||
92f561d7f0 | |||
8552e2e590 | |||
b79faa99e6 | |||
75288cc7e1 | |||
d08d259095 | |||
7927f510f7 | |||
d49f9f178b | |||
66d12f97d0 | |||
7be093133c | |||
aaf4f28d90 | |||
c0e96dd2ca | |||
0e0c3f25d0 | |||
a8e00d7b83 | |||
3ce3ffb840 | |||
4f021b34f2 | |||
52291497d1 | |||
48dfe969fc | |||
ebffb3d03c | |||
f86cad7164 | |||
b978403aed | |||
0b670abd97 | |||
1a2ba8b90f | |||
9a8a84c319 | |||
00eae5ef13 | |||
beb5ab184c | |||
e257f0551f | |||
61a7aaccf4 | |||
dd3a4ad95f | |||
c358ed756e | |||
d2bb624c26 | |||
ce7f3ca89a | |||
4c0df34f99 | |||
165c4b1365 | |||
e5a1518ef4 | |||
8d8bbc3644 | |||
1ca6e587c9 | |||
0b54366cdd | |||
2a4552021a | |||
b8054bbee7 | |||
5dbf43602d | |||
85edf4f58b | |||
4981fe750b | |||
0414acc365 | |||
d020e27fda | |||
b04d930bbc | |||
647d87947f | |||
8efb8899cf | |||
8c613fd5ef | |||
24e099f475 | |||
3d0e75f2f7 | |||
712c6adaee | |||
b82a7b5bbc | |||
300e39f6aa | |||
7ec30aaa5b | |||
f469e8404a | |||
7f1b697632 | |||
698a1ec4d5 | |||
e42360c48e | |||
74543a0423 | |||
047ec60205 | |||
819b929d33 | |||
0380942902 | |||
cdf4fb8e33 | |||
e148542870 | |||
756e676ca0 | |||
090fd4fe24 | |||
6379dd0522 | |||
8f9e3e498c | |||
030e9dd64f | |||
97a83fa839 | |||
e58e57e49e | |||
b7b021701c | |||
9e5a86f204 | |||
b3600c3628 | |||
dff9f8835f | |||
0ee7198f45 | |||
e174744ad1 | |||
b62fb077d5 | |||
c527acebc2 | |||
55d9bf0aa8 | |||
c19387e799 | |||
9148673377 | |||
ae6ef554c8 | |||
6c26bf4d4e | |||
46fbf75364 | |||
6866654627 | |||
a24a41ea9a | |||
5b012c80a1 | |||
67dabab058 | |||
2afd3ef728 | |||
1415174ad5 | |||
63af42fe30 | |||
235537a07e | |||
1e1fe52923 | |||
20a599e2c1 | |||
48050fbe15 | |||
ce209d0c72 | |||
31e6a4e613 | |||
50995edda6 | |||
4cb8a83bb8 | |||
7ed1690c34 | |||
632cc3e6b6 | |||
47adb8ac7c | |||
d1471e0616 | |||
e9b4908302 | |||
461247b51d | |||
a77c07d974 | |||
004825d314 | |||
ce735bf7fd | |||
abea4dc76a | |||
adbbc6f291 | |||
00abd715ab | |||
d04f998b12 | |||
af14b5cf1b | |||
77c8e54321 | |||
7b6e784d70 | |||
c0179c0d33 | |||
1a20dd49f8 | |||
543c5caa6c | |||
17e45f8e41 | |||
f5af28b8e9 | |||
b1bcb973af | |||
6bdecc8f56 | |||
bfc1f6a1c1 | |||
c0acef9b8a | |||
30784198b7 | |||
d9be2485e2 | |||
02339dd529 | |||
a1d68bea89 | |||
55f9c8351d | |||
97a8f025e5 | |||
01e1406100 | |||
ba56d7057a | |||
393b7c3cd7 | |||
3cc3cf970c | |||
eb213fc3fc | |||
07203d6b6c | |||
d3354cde33 | |||
260adc87b3 | |||
0174eeaa73 | |||
4a868fd655 | |||
9cc4ac8ff1 | |||
1315093f99 | |||
b60b7566c0 | |||
9caaf23ef0 | |||
dc7e7bced4 | |||
58978e822c | |||
61564ca5bf | |||
66cb5d4420 | |||
d90906a902 | |||
c09d62f563 | |||
f4c0035de6 | |||
1323dba6af | |||
5bf72ed2e7 | |||
180bad3d10 | |||
41ee2ad6cb | |||
30997bb8f1 | |||
f192223447 | |||
32b367e444 | |||
3bf25c23cd | |||
959a26231f | |||
5289c56a72 | |||
79133a66f7 | |||
33f2f9ab4e | |||
bab4d1097c | |||
b971e04f54 | |||
2cdccad160 | |||
cd650a4eee | |||
f2b9a7555b | |||
4c9941943b | |||
9b15152209 | |||
fa1727fb21 | |||
66c0786ca5 | |||
d32805dce7 | |||
b141a47801 | |||
081fd8d093 | |||
04deccda11 | |||
c082196575 | |||
c787a45452 | |||
aa3982890f | |||
e1ebf21237 | |||
901fd180c9 | |||
da2c7b3dc5 | |||
de3f2c7b46 | |||
271cd23527 | |||
ddd2369c5c | |||
d272c8497c | |||
2a9ccfff55 | |||
48c9162857 | |||
75f7b5dfc4 | |||
68868ff573 | |||
b3310b5e2f | |||
4dd7c77d19 | |||
ecf6778e8e | |||
d03d820a8c | |||
d931e2fb25 | |||
1d321b5ab3 | |||
59cf706b23 | |||
1bbe7c3c12 | |||
d4c6552719 | |||
cad5d26909 | |||
0bdaa12169 | |||
1986768f9c | |||
4c06b41888 | |||
07432cef2c | |||
9798f7e5f9 | |||
a923c314aa | |||
c86223b272 | |||
f350082525 | |||
57ff1703d7 | |||
5abbeb4921 | |||
696c35972f | |||
772847341b | |||
d2216a4b13 | |||
427c6d0caf | |||
45bb6cbb49 | |||
39ca1bd882 | |||
eeaf4e7c32 | |||
55f56fee07 | |||
b9a5f6811d | |||
8e12ab2f33 | |||
b5b56ea40c | |||
f507784d2c | |||
9a1ab9e72f | |||
41e81d2fb9 | |||
e7f7600360 | |||
6e7b66eebd | |||
390eb36b0a | |||
f2db854d24 | |||
def249911a | |||
daebaa7813 | |||
a48ec24158 | |||
8a2cc51b6f | |||
1bc760aeb7 | |||
c5e366b1f8 | |||
3443db51a0 | |||
2f19ada7f8 | |||
b36ab1abd3 | |||
e34c7e2b51 | |||
6d81ce0543 | |||
15778842bd | |||
8278a7bdc1 | |||
8165be064e | |||
d86848228f | |||
111dc0eea0 | |||
10a49587fa | |||
a5b8e28e4e | |||
144797d720 | |||
edbc00e76d | |||
5e026920a9 | |||
0722c805d6 | |||
af3aec4469 | |||
f51a757faf | |||
4c2c5537c3 | |||
3e515b0d40 | |||
9aea11dbc1 | |||
d5365b4327 | |||
27d46a7072 | |||
370855e967 | |||
099ba556d0 | |||
149a4211a4 | |||
4656bf47fc | |||
42f50f8d01 | |||
390ac27a18 | |||
6cc01490c3 | |||
7f3d409cd1 | |||
3d00a5c148 | |||
61947de909 | |||
ba8748e6d6 | |||
686b895928 | |||
2173205f5c | |||
5617394f71 | |||
c6929ff239 | |||
d8cf908cb6 | |||
afcb6ac83d | |||
7766705198 | |||
f35ec54600 | |||
665682c9fd | |||
17a1f1c5b7 | |||
fc1c5415d6 | |||
6978934713 | |||
81ed7b9581 | |||
bd4a3d6168 | |||
939296c4a4 | |||
afeef30c34 | |||
7a7d05b62e | |||
19b4d3d4ff | |||
0859c969db | |||
2de9b71138 | |||
48a8c26c62 | |||
bcd45b4085 | |||
d3c0f7773f | |||
4acfff9dda | |||
97fbc23ad7 | |||
a14daf8b91 | |||
67d9c41c4a | |||
51a1d232a7 | |||
d8dc823e32 | |||
ba96aa67be | |||
2532d891a4 | |||
a617578d37 | |||
e28efb1998 | |||
e2afb0be90 | |||
4ae6d4699f | |||
fa23348e95 | |||
d040350813 | |||
de90ff81f3 | |||
7dac3f8321 | |||
4c9a418227 | |||
1d2c14df16 | |||
9a6c84e6e9 | |||
9ef43dd7ad | |||
ae6037bc71 | |||
2e4f04fae6 | |||
045e3884bc | |||
35484d4acd | |||
43722c4d9e | |||
640d0401be | |||
75135b23f6 | |||
070c57df42 | |||
7b5196909c | |||
b596574ed3 | |||
e1b6ff44d6 | |||
a8b38d9571 | |||
5338a6a924 | |||
80ff2b68f2 | |||
025ea586e6 | |||
da2987d4c3 | |||
33b29fd12c | |||
3f1da57fff | |||
073678b8e6 | |||
574855814f | |||
08c0e7fd4a | |||
0fdd7f5d73 | |||
53cdd4e1b2 | |||
a77133e383 | |||
6d7c1c8894 | |||
7025616048 | |||
095d65d73b | |||
a94214b75e | |||
c1640aa5d3 | |||
85fd059a89 | |||
3a51e4be9c | |||
ce956fc48e | |||
c96f4212cb | |||
738b314a3e | |||
d959a78d98 | |||
38f7636410 | |||
0fa2eb530f | |||
3ac221a78e | |||
62957bea0c | |||
88d3406ad7 | |||
b2a6b7122e | |||
eec16a65ee | |||
0d60903293 | |||
b345d6c3b7 | |||
2abba3014e | |||
c7d34884ae | |||
9bf2885510 | |||
d20f0f8e28 | |||
4cea4d6608 | |||
e9df0f9c7a | |||
9d01ae9f20 | |||
e93f869593 | |||
dfbf393700 | |||
7f0e596276 | |||
bb5ea62d80 | |||
cfa96496bd | |||
6492a1041a | |||
50038ba92a | |||
6112541b44 | |||
daa38f4ae0 | |||
0f487d308d | |||
f629fa597c | |||
4f9273d27b | |||
012a1bb524 | |||
b495697b82 | |||
131b8fcbfb | |||
8bf671946d | |||
a235e85cc8 | |||
598354c0ad | |||
be5c9fb904 | |||
dd0d388c44 | |||
200ebe362c | |||
50a6b54c03 | |||
3587b513ba | |||
9ecd9f5dc3 | |||
bb9aa109fd | |||
e510f2d610 | |||
abaf175cdf | |||
62b6f7e021 | |||
26daa842dc | |||
4a8273a3ed | |||
dc342a25d1 | |||
b4cf8db275 | |||
7746f2e319 | |||
bbb80494e0 | |||
46bc4039a9 | |||
f9640ac26c | |||
d04c94a2ea | |||
0846b0c905 | |||
cadbf5c7ed | |||
62c814b6b6 | |||
fadf8c7151 | |||
5047822347 | |||
75e5c0dc55 | |||
0f4d498dbe | |||
5ece083fc7 | |||
8b66f7857d | |||
1187ec99b9 | |||
bc93ceb7c5 | |||
1b67bef256 | |||
bb9a69694f | |||
86db746449 | |||
a39b15b4f6 | |||
f12e49ae87 | |||
fa2f83c654 | |||
d82dd26964 | |||
a29e711814 | |||
6a3d05da55 | |||
f55cb042bd | |||
b3873c336c | |||
4d5c6cefd5 | |||
6bfe19ee16 | |||
9edbb8b1c1 | |||
07fd82d3a7 | |||
0a5987fe5e | |||
d731f0ade1 | |||
785a042981 | |||
1b86bbb0ad | |||
ec3ae6ec46 | |||
9591fcc6d6 | |||
a60521bc60 | |||
c4ada6283e | |||
772f811398 | |||
9a9f243f64 | |||
c08e4d5b5c | |||
801cbd7c71 | |||
864b5c41e4 | |||
9a69ef1e70 | |||
aa0ae51048 | |||
51c6de2bab | |||
68434e2879 | |||
e9abef6289 | |||
336e2e27bd | |||
4084475b20 | |||
004c0be766 | |||
0b0ecaac2a | |||
4db86e8b6e | |||
b344bb1935 | |||
fe73786b48 | |||
57a011197e | |||
74f3267b0c | |||
cea1e2e94c | |||
ca7ccd5f46 | |||
1bc7a2b38f | |||
a8033dfa6e | |||
28f04f3463 | |||
577f63e781 | |||
29cf0d3873 | |||
a894ba17e6 | |||
cc3046271d | |||
1542d4cdad | |||
cbbe50db76 | |||
02f55e660c | |||
5185b9707a | |||
50c5885e05 | |||
bbc6f64b4e | |||
264238f7bd | |||
55599ac104 | |||
3a39fa750d | |||
3ab4c543e3 | |||
7829253684 | |||
bd2734ae0d | |||
e928b70f89 | |||
3a1bba7e38 | |||
87c86dd14a | |||
ec55559f93 | |||
2934a484fd | |||
9012f571b4 | |||
47263f5875 | |||
4b7f53da76 | |||
7811aabbe7 | |||
256b9d70a4 | |||
bf44142f54 | |||
eff80a9fd9 | |||
5ded807f7c | |||
9db9eecfe5 | |||
c971ddfdcd | |||
72aeb18772 | |||
07924d4d50 | |||
07ab4dec80 | |||
3691031cb3 | |||
636fd66bc1 | |||
9a08cbb7cd | |||
fe47e1df24 | |||
c197454da6 | |||
3648b4d996 | |||
15f4ad19d6 | |||
81b38947c1 | |||
1efee7ffce | |||
b1f809d0ae | |||
e6de375139 | |||
2fbd211746 | |||
75b24bdf3c | |||
cbc607614d | |||
719125c522 | |||
edb54081ad | |||
712efb1a42 | |||
3968e302f8 | |||
e6bc8a3328 | |||
44e8d26cf3 | |||
af8c009250 | |||
8c9e8b6e75 | |||
5a8e84cde3 | |||
4749784444 | |||
40d69ac3a4 | |||
182edef5b4 | |||
c595956db9 | |||
695d699894 | |||
55d124376f | |||
3b650fc986 | |||
2c8037edee | |||
991a2de45a | |||
46738bd7e9 | |||
3fde386a40 | |||
166ec2e96e | |||
2f328c3d2e | |||
7637df131e | |||
3bbf2f20f6 | |||
bc41bf422e | |||
01a19dfc1a | |||
bf883f3006 | |||
b489097e1d | |||
1ca38f8586 | |||
b7099a06e8 | |||
352f58a57b | |||
7bca0e451b | |||
dca48cf520 | |||
39ea722d82 | |||
4f4ad3d938 | |||
18648e89e7 | |||
d94c5e2fa2 | |||
10746a3616 | |||
711536bd4b | |||
216120ab83 | |||
8a692d2777 | |||
5a7da2dca1 | |||
986977847e | |||
f538a91e3c | |||
eacf011775 | |||
77d07f51df | |||
90d0b8a9f0 | |||
6f3f710127 | |||
e43171a4a7 | |||
0a9a787fca | |||
94383a8135 | |||
e4f59a32de | |||
dca93d2b01 | |||
750a6cacf4 | |||
32a03dc165 | |||
267aaa08e2 | |||
74abc17f91 | |||
7b9ea42b3c | |||
f2f5449379 | |||
f0c103b49c | |||
32e820bdc5 | |||
bc60f9f377 | |||
7842c44ccb | |||
659742f796 | |||
6cf0a9e9fc | |||
cdbada79f2 | |||
94702dd1ac | |||
a96e8078a9 | |||
79637a44f7 | |||
d9f85f50ca | |||
bf3f167d65 | |||
1eba20c045 | |||
edb6ad5b0a | |||
c566ea13fd | |||
98294e9875 | |||
06fb494474 | |||
ab60f2ce2d | |||
d0f945622b | |||
b663af57c3 | |||
02cb8da20d | |||
23ad617702 | |||
378e5e4d9f | |||
37a11306d5 | |||
b88cb88158 | |||
e6f1550aa5 | |||
22fd1c8410 | |||
c039f35b8a | |||
9a4a941e04 | |||
3f4f4cc0da | |||
fea16b47b6 | |||
cfb70e1fa5 | |||
682c7d2f1a | |||
4dcb167fc3 | |||
ca87dd623d | |||
95b63f1ebb | |||
9a6dcb37bd | |||
6f53feac95 | |||
a27d83aee9 | |||
99621af877 | |||
bf7c3f749d | |||
022250adfd | |||
f6f3921db6 | |||
3a0ee3eb2e | |||
1493bcc775 | |||
3129891bbc | |||
80ff618049 | |||
74474a94f2 | |||
2601298f43 | |||
c12a978a35 | |||
f70eec8400 | |||
8bc714b408 | |||
5f35dfef25 | |||
52f6eec305 | |||
f12f3af726 | |||
63d1cf6526 | |||
d912b0e44f | |||
20e47e50a1 | |||
2adf7247ec | |||
4249d850cf | |||
6a37cee10a | |||
377bf8df26 | |||
cf6c52fce8 | |||
df874fa82e | |||
e6bb5f78fb | |||
d72fbe8111 | |||
d20743433e | |||
ea57bc0d41 | |||
dffd325f37 | |||
0e2913b042 | |||
ea02ffa385 | |||
388c7f8a27 | |||
51fb3a3dfa | |||
be33414b18 | |||
29b1b21f07 | |||
c8a9f3d385 | |||
0e82bd0430 | |||
44fe83502e | |||
2cd14f6908 | |||
3a2ce79981 | |||
7f27ac56a5 | |||
ea12a7d696 | |||
a70472f4d6 | |||
85ab3431e6 | |||
fd6db678a1 | |||
85f2697048 | |||
48b7f52455 | |||
00f1a867b4 | |||
414c78ccff | |||
69637e5e6d | |||
8d1b1a0249 | |||
f4de0de8d5 | |||
b4239f02be | |||
15f1f9a6eb | |||
572b528217 | |||
7e7d71e7ce | |||
2fa3335a26 | |||
850bc56def | |||
283b365e45 | |||
4208fa5ce4 | |||
b48b632cda | |||
abf3e84b18 | |||
9e3d58a333 | |||
8da3933ad6 | |||
480640eafc | |||
59932be344 | |||
ee18de62b5 | |||
831d57a0f5 | |||
6293ded348 | |||
3c020bd528 | |||
8dd5afc926 | |||
92f1c04243 | |||
a45fb697f1 | |||
12a097fc42 | |||
55292ea25d | |||
e9882c80cd | |||
25d3d32363 | |||
6310071abf | |||
ac00128298 | |||
2d0029e38f | |||
1fd365d5ef | |||
4f43e9726a | |||
1965f8cdbd | |||
368aa52952 | |||
1794e6e097 | |||
512aaf9453 | |||
9d67b61f73 | |||
4b78d7bccd | |||
6f525e7100 | |||
f8a1113b47 | |||
52ed1894b0 | |||
270be81604 | |||
c04318e46a | |||
c082df2453 | |||
49a370d73a | |||
5062f9e1b5 | |||
5ea2c847c5 | |||
6af95e8cbe | |||
fdb042449b | |||
709ca730f8 | |||
32238aeb73 | |||
902f2f4f0a | |||
971e829cd8 | |||
29fb151525 | |||
946a5aee3e | |||
d2638e1561 | |||
f7b3652bc9 | |||
3a3100a889 | |||
245d6d0064 | |||
9a2c83d24c | |||
76523cac26 | |||
be7baf913a | |||
990a4fea96 | |||
d65d991b65 | |||
22f0dcd963 | |||
e9326df9b1 | |||
0398fc3496 | |||
9be1980bb9 | |||
e2a83b21d1 | |||
a1c54d7b8d | |||
ae74f7d289 | |||
43eb920210 | |||
f3258d3d95 | |||
93912fdd5e | |||
0a42ac0331 | |||
f10b7fcca6 | |||
2f9ae5fc44 | |||
ab05d7c736 | |||
7952ea66e7 | |||
cc1b258e2a | |||
e1b6dbb554 | |||
3e293fba62 | |||
894610af58 | |||
b81827b6b6 | |||
6fedcd8188 | |||
fbe8aa792b | |||
d5b95853c2 | |||
5f07937329 | |||
8cabd200d2 | |||
324dfac8c9 | |||
0266f4688c | |||
cd46f2e59d | |||
3e4141d08c | |||
5ee29aefac | |||
81127d74c4 | |||
20b630aae9 | |||
e216cc48da | |||
4b5553b5f3 | |||
073c3ffa58 | |||
570e7ecd4a | |||
7edea5c958 | |||
bdeeb809d7 | |||
77b71edfb5 | |||
c7ce70ace9 | |||
4aad08e061 | |||
298caa7e9e | |||
8f98074c6a | |||
2e3c1f7a31 | |||
71288e15df | |||
b05d8c62d3 | |||
f97335b132 | |||
229096a591 | |||
77a5efb4eb | |||
4b32367ddc | |||
77ecfd02de | |||
9316f910f7 | |||
3fce9a1edd | |||
3792a75604 | |||
f470e901f2 | |||
122650457a | |||
92a865e736 | |||
7d5bf87ba3 | |||
386befb773 | |||
279791445b | |||
6f4e5059a0 | |||
0e901d24fd | |||
eb8c5b872e | |||
721ac4edde | |||
b5fb4770ad | |||
cebcab189a | |||
6f1a31f0aa | |||
46983441ae | |||
1b25892636 | |||
c41244e702 | |||
b6a3d3353f | |||
0c528168da | |||
889316d252 | |||
9b3497cab9 | |||
3a078dec33 | |||
e6da8ee8d8 | |||
adcc42e68d | |||
ded6aa6bda | |||
a5ba2cbe14 | |||
d34835c939 | |||
d809fb17b0 | |||
5d417842ef | |||
9bcbb1c218 | |||
d16ece2011 | |||
f619881251 | |||
a35341a86e | |||
f4cd69a674 | |||
578cd7c3ea | |||
6d24e7a807 | |||
0795805053 | |||
9013089c4a | |||
840fc334e9 | |||
95a68344af | |||
f1a7082f2a | |||
95f95c99f6 | |||
a33faf2827 | |||
3b73c7d1c8 | |||
1b800f8f50 | |||
15999998fb | |||
6ecc01f26c | |||
2b05d9f917 | |||
008c208c2c | |||
197a80d7d9 | |||
91583a6a85 | |||
d658835c19 | |||
4017edcfac | |||
8c6bda0f4d | |||
6cf9614df6 | |||
0a1b59eb86 | |||
4f96f1fbab | |||
0b830ac521 | |||
0a85441cdb | |||
950b5680bd | |||
35ffe75831 | |||
8dd15c6a90 | |||
3b8ff51b70 | |||
b13112fa16 | |||
126b59692b | |||
8666df02da | |||
334ae39745 | |||
86c3e6ed51 | |||
c2999adcd5 | |||
a7b5e9141e | |||
2b1965863b | |||
ffcd76bda9 | |||
e970ec356b | |||
21b340181b | |||
df54d59566 | |||
ccc3ae799c | |||
66afe50b43 | |||
854dfda8be | |||
248a8849fa | |||
f228dade3d | |||
5d77298d08 | |||
b3cf6f3b8d | |||
5fe10fe80a | |||
d28b5d47ab | |||
38ec23ac89 | |||
021f2f4c1a | |||
68cb7b6f85 | |||
ce37596c13 | |||
25a751f198 | |||
b10c4add03 | |||
814a1924b4 | |||
51bf6bea51 | |||
6600dcbd30 | |||
53096bf0af | |||
c2c6a70a54 | |||
19b4520ba9 | |||
73cf1b540e | |||
d34ccd6df7 | |||
80c78e11a0 | |||
675a0fe297 | |||
81670e9bfc | |||
75e9a405d4 | |||
b3f1280ec7 | |||
b73d9a2363 | |||
5ebf89e886 | |||
565b6fa87b | |||
0a6d4751da | |||
b8fc855a78 | |||
e8e5195573 | |||
686b2de0ce | |||
40036bedb9 | |||
9dacffc040 | |||
b2d05e0653 | |||
823ab40fd4 | |||
18499ba694 | |||
38104ca6b9 | |||
b928922727 | |||
06b1abb5bd | |||
5a02966685 | |||
2d3ac9ad67 | |||
ecd3e2f425 | |||
27f6342f61 | |||
2060ed50e7 | |||
7b90363099 | |||
1a59d881de | |||
96a4647fca | |||
252f922b19 | |||
f7be59b477 | |||
bd52900df4 | |||
086cb91153 | |||
00bb4378c7 | |||
e1cdf63316 | |||
b7cd0c9b69 | |||
8e8c8817cd | |||
8f26aa44af | |||
31d66aa408 | |||
94bc671a1f | |||
30825178fb | |||
2581ad5e85 | |||
e9263e4580 | |||
8f3cab2b4d | |||
38ecf3a35d | |||
a26fd033af | |||
6a5b649883 | |||
f430ed8b99 | |||
5e5c006eb7 | |||
a041c9c752 | |||
eec3e7e406 | |||
3cf773e426 | |||
386cc8b031 | |||
dbc3904ebc | |||
d5d80e12bd | |||
71ce415dc0 | |||
779d7e9377 | |||
2e900297db | |||
6853975857 | |||
fef11965da | |||
a469a10193 | |||
e208f9cc75 | |||
bfae342c97 | |||
b3e103dabe | |||
110d698546 | |||
6ede720529 | |||
f0cb2f137c | |||
adec972e52 | |||
790c83cda9 | |||
bdd478d620 | |||
538d1239a8 | |||
75940a001a | |||
8c473cecfd | |||
d5422b0c0b | |||
4a6385fe55 | |||
24a62db7bb | |||
938a60d64f | |||
086109006f | |||
7c8ce308d3 | |||
53474eb92f | |||
0e23064427 | |||
c4878fd924 | |||
32d979eaf5 | |||
055e578766 | |||
4881616c1a | |||
de29a7ac0e | |||
8e679e08a6 | |||
75ed918bda | |||
88ce00c378 | |||
7348159380 | |||
1bfe99ed36 | |||
f993e2e15d | |||
50b03b04c0 | |||
f8fb971eac | |||
28dae1812b | |||
e0db1765c3 | |||
5b59708268 | |||
393050c32b | |||
7e0651a630 | |||
3e53891f85 | |||
ec008076db | |||
dd6fc7ca91 | |||
a83b2b578c | |||
5badfdcf88 | |||
fa2364ec34 | |||
828eff76b0 | |||
eacdd428bc | |||
941c1e0402 | |||
bd6f62c3ff | |||
0684371844 | |||
341bf11245 | |||
1735814128 | |||
76095f6d60 | |||
ac046c0e8c | |||
816f290752 | |||
00704e4ba5 | |||
5a2c11b6db | |||
a859d3ee57 | |||
f07f4134ae | |||
fff26a6805 | |||
6a402843c2 | |||
9ec8bcda60 | |||
754cb1aeba | |||
0673bb28d0 | |||
b20c457a39 | |||
b4b106e5a5 | |||
f829a9eae6 | |||
feeb42e306 | |||
7e2ef8b049 | |||
167e2f9115 | |||
df264e4e52 | |||
6d0e699ddb | |||
dd465ce66f | |||
0d35bfe1be | |||
92166fd7b4 | |||
7cad29d558 | |||
fb4c62235f | |||
f7a4cea25e | |||
afb43561b8 | |||
67fe735653 | |||
9df92e6369 | |||
176478a8bd | |||
f4f549892a | |||
552755a88b | |||
f28e7c904a | |||
49266e8a11 | |||
ee26a6e2b8 | |||
90ae9f259e | |||
491e3075a2 | |||
b450568209 | |||
1184564eac | |||
a272b2896d | |||
1250857c6c | |||
a2767c5c91 | |||
913ef36093 | |||
f42ca31d8d | |||
13274526c1 | |||
a1549f9b85 | |||
2934975f2d | |||
20fa53855e | |||
80054cf9d5 | |||
40eff17999 | |||
dbfeddb12e | |||
8c5f6f717d | |||
ffe81ef2ac | |||
b24e6047a8 | |||
10643d4ec3 | |||
118a68f9dd | |||
bf3e8fe0c7 | |||
77cc392d6d | |||
f9472e359e | |||
f94c3251e1 | |||
15470c604d | |||
3c64063558 | |||
f035ab6205 | |||
a4eab8f38e | |||
545492f078 | |||
05ea76e153 | |||
7472ad1dae | |||
90583f1729 | |||
16e6e7284f | |||
175bd3b0d0 | |||
03a23a46c5 | |||
276d709305 | |||
36ea7cea13 | |||
1cab289026 | |||
8a6a6f4259 | |||
9ff10fc869 | |||
2d242de4fd | |||
1d3f9a3093 | |||
93b5cf9cd1 | |||
ee10fbf90c | |||
3808b8515b | |||
0803d35940 | |||
984f37681c | |||
fc407f9821 | |||
d0ac3ffd9d | |||
7c65b2ebb7 | |||
462d97daf6 | |||
e7551a8060 | |||
de9095955c | |||
9cd67bd2ef | |||
f93483ac94 | |||
bad27f4151 | |||
5c17f51270 | |||
226dcb5256 | |||
8f8af9f4d1 | |||
a9064b25c0 | |||
b893e88191 | |||
682098b847 | |||
93341d805f | |||
59defcc368 | |||
1d05d1ded0 | |||
2a7f6ffb91 | |||
4047fecf71 | |||
3b16b3702a | |||
879ed75393 | |||
5d34a4359d | |||
dc2177c21c | |||
f04977168f | |||
bee118ec04 | |||
b48990e738 | |||
e0a5227930 | |||
1e310551e7 | |||
418673c4bc | |||
20c8cde456 | |||
b7973fbbc3 | |||
86ef7b37f9 | |||
ed20513c8d | |||
a7c940edce | |||
2207e104ab | |||
82dfc2c44e | |||
a20d3c0de1 | |||
af0ed819c5 | |||
99bfd40700 | |||
9667ccbc8c | |||
3b13af9d6c | |||
ce45ea6a13 | |||
6b6e063c44 | |||
d0e98107ba | |||
5c80afed02 | |||
e431225569 | |||
77b598b438 | |||
29ed5489af | |||
6360bee4cd | |||
3a34e62684 | |||
32a8569ecf | |||
37141f27d8 | |||
5963c0367f | |||
d1eded46fa | |||
8cac13dccb | |||
c904cd89e4 | |||
8c6abbcd27 | |||
5d74762d87 | |||
24a1ea5360 | |||
3b705268f5 | |||
5d3698ffb4 | |||
73350fb6aa | |||
a4e9054cfb | |||
e6777fde8d | |||
78189bead3 | |||
249da4c0dc | |||
18fa13d0b3 | |||
cad06d4d78 | |||
f7d8e3d01f | |||
95c0d4b68a | |||
831a488b76 | |||
e8a1f5a2ae | |||
be95387af2 | |||
5ab539bb00 | |||
e0a7f2bbbb | |||
f225f9b720 | |||
cf22e272e4 | |||
76c39289ba | |||
09b61b5e8c | |||
f9b329a7d1 | |||
ed9fe75513 | |||
5956732ebb | |||
ccf1bb3ab6 | |||
326922fd20 | |||
4db42b3823 | |||
53e4c5dcab | |||
dcc52a0449 | |||
647d5183b8 | |||
131fa518f1 | |||
fe52cd621f | |||
2d242fb3fc | |||
22d33a20f9 | |||
681b036fa0 | |||
5471fb1c4c | |||
2739889c98 | |||
fda800f0b1 | |||
af507944a2 | |||
377115493a | |||
f10e3864dc | |||
ef49841ddf | |||
3a189da601 | |||
2f2c7e1252 | |||
9cfe5f4be3 | |||
0f76f97676 | |||
b4f35513be | |||
3a2c082383 | |||
79a09bba1c | |||
05849c4818 | |||
077ad4a0f2 | |||
b0c07c8dc4 | |||
dc998a489a | |||
10022a6d02 | |||
a9bb4e55a3 | |||
80dfab86cd | |||
1c03999bef | |||
91d0cd9a6e | |||
cf48960b6d | |||
cdcd793213 | |||
c5afc5b73e | |||
e87719fc94 | |||
35cae74c4d | |||
fd778c09b1 | |||
170260ae90 | |||
d8b453149c | |||
c9407860f4 | |||
9fca6cffc0 | |||
f3828dc066 | |||
2808f6abc2 | |||
8b56a47022 | |||
b98769e06e | |||
611addf890 | |||
78ba7e267c | |||
3a9866919c | |||
dca5ed5f5b | |||
4607a8ce68 | |||
6c95f535e9 | |||
3424da1118 | |||
d6ecf5638d | |||
4e215131d2 | |||
d9c552f17a | |||
c47ef57caa | |||
22bc70fdf9 | |||
9673b8c392 | |||
c190ced600 | |||
173930330a | |||
e461523892 | |||
2fbaf81381 | |||
a1be444d09 | |||
43ea081235 | |||
701ecdf16b | |||
962c38eedd | |||
cd163d4b4e | |||
d6991ceedc | |||
452802309c | |||
09feffb633 | |||
bdccd3c1fb | |||
afa8c07a26 | |||
5a90748f28 | |||
4ad4fce63a | |||
159a5a2fa2 | |||
6050b5bca0 | |||
2be3d85a1c | |||
6b34d6e692 | |||
80b2234e9b | |||
1f0335a63f | |||
a2055c28ee | |||
6b8731258d | |||
a1b3293936 | |||
84fcfaf92b | |||
b398fcc262 | |||
7115d3cc2b | |||
3469c7ebbf | |||
585b96bd4c | |||
1d34c50f13 | |||
9dfc36841b | |||
0f0ecf68b3 | |||
380a4d927b | |||
08c2599c32 | |||
55dd56e042 | |||
cc8433fad1 | |||
7241a9ffab | |||
b0b00a3ee4 | |||
19fb613695 | |||
9d91c0e3d5 | |||
23a50a1fb1 | |||
d9253f2bc8 | |||
3aedff6b60 | |||
05eda511b3 | |||
64b22a5894 | |||
15ba878a1d | |||
5f836422ab | |||
8736c9010c | |||
e70528862f | |||
048b399192 | |||
6b2bf41e6c | |||
c595016402 | |||
6eac50d827 | |||
6fa23773d2 | |||
031954d443 | |||
1313524336 | |||
f992f0c80f | |||
6bb2a1377b | |||
a3a4391abf | |||
12ba4bd4ec | |||
e30473c185 | |||
aefc605ada | |||
bb8a956409 | |||
74954ee8aa | |||
dd78478fe1 | |||
7ee719e180 | |||
46cc3adb60 | |||
9490bd04fe | |||
422ab5beb2 | |||
6497a2bab5 | |||
ff247d9e56 | |||
ffaf84c663 | |||
b4e956f7ef | |||
23b4a11fa4 | |||
5085a4e2e8 | |||
0e18bcd5e9 | |||
c2b3af0537 | |||
f07e5551a8 | |||
0d2605112e | |||
d0c6c1758b | |||
2393e2daaf | |||
0169320374 | |||
9a806be5df | |||
1777144781 | |||
c25a3684f5 | |||
e52bec9469 | |||
4f101a6cf4 | |||
6d3f2906a0 | |||
06379a6509 | |||
17b73dc699 | |||
1173bb3311 | |||
b8c2c1fa35 | |||
7349afd20e | |||
77effefefd | |||
ae45320c40 | |||
2e736fd5e9 | |||
df126e108b | |||
50e6af7daf | |||
098bbdc31c | |||
9c50374497 | |||
eeb2535f5a | |||
deb2458132 | |||
e034d1bb92 | |||
58f3f9893d | |||
d2f4469b13 | |||
fdb4d27158 | |||
d21240fafa | |||
6c32332268 | |||
745f7a8cac | |||
44fa0ef58c | |||
82f49f294c | |||
e15bec0ec3 | |||
58ca9ad4d6 | |||
f8eb3036d0 | |||
f5d942e1ed | |||
4914c9629c | |||
efc7df454e | |||
c43cb38612 | |||
db699a8a1f | |||
02e8ca0e50 | |||
1b77d83cab | |||
059b37934c | |||
9e2326c7e1 | |||
31171d9e45 | |||
a5ccdbe416 | |||
e3e46cdbd4 | |||
d6052abca3 | |||
038e55fec2 | |||
3a599b832b | |||
5ba1a8a735 | |||
d505865be5 | |||
ef90ab66e8 | |||
8fa4b09fb1 | |||
b1c2f57db3 | |||
e342acc678 | |||
3174bc5ccf | |||
835460bba9 | |||
d84cef1817 | |||
bc22b27749 | |||
6454d9f166 | |||
db7fde9cae | |||
49aeead2ae | |||
11fbe18e9e | |||
a6d3bde5af | |||
2cfceefaca | |||
bbbd057389 | |||
33d3c6bb9b | |||
4cd31a6320 | |||
70d1825749 | |||
315ea32f1b | |||
6a83a6d57a | |||
530f237500 | |||
8de8f9f656 | |||
55ff630075 | |||
e39b307d09 | |||
76323c67b7 | |||
ce1459f740 | |||
ce5478006c | |||
5637d85732 | |||
4a47a4ddec | |||
5e00439f0a | |||
e980765c59 | |||
38ae92e4d0 | |||
e895589883 | |||
00b347d3aa | |||
7acdd6f0bc | |||
97ed50f93b | |||
35998c8938 | |||
cb20b69166 | |||
65ff530134 | |||
ed838e6615 | |||
c0d92c2221 | |||
978904bf16 | |||
ce837c9de5 | |||
62e9ac5edf | |||
ebb91db8df | |||
69ecfcd6eb | |||
8c7a786b6c | |||
9ab55daa55 | |||
b274a7146c | |||
75c96e05ce | |||
5c08c1f23a | |||
7202b81ffc | |||
c3a47ca9a7 | |||
e422c0cf1c | |||
3c730fab2c | |||
ce80ca566a | |||
f3f47a1e8d | |||
13baa9fe86 | |||
0fe700e311 | |||
566c7707db | |||
22ed792753 | |||
f5d0e162c4 | |||
25dc8dad3a | |||
41dd00bad3 | |||
0fcec2ce54 | |||
f9b7204b6d | |||
94f6cdf693 | |||
7a76e68a17 | |||
14e1a4e1ff | |||
1797e5c50c | |||
08ad56f3f0 | |||
bd1470b8cb | |||
212620fe7e | |||
5a664cf2c7 | |||
ddf333f66c | |||
76141e2e62 | |||
e297cf5aff | |||
8ead1bfe11 | |||
f6dd784ed4 | |||
df46eda388 | |||
e3d06ca93e | |||
74faaa16f0 | |||
76c36c02ff | |||
84adb64154 | |||
fb2c984148 | |||
96bc8f66f9 | |||
aa7aab3b0b | |||
61717661e6 | |||
d66e8f8cf3 | |||
bfdafa099e | |||
eb5dcb2c02 | |||
658b57ad52 | |||
51a7e6dbc9 | |||
1899cbc5b2 | |||
2c3af7e748 | |||
abd66f2207 | |||
bed8a19743 | |||
ab07681fed | |||
4d804c0e64 | |||
566c69e715 | |||
a86c0983d4 | |||
d8574ff209 | |||
196e48f4d0 | |||
39b6a4bd25 | |||
ef6fd72b6c | |||
5316c8e939 | |||
368dc5d6ae | |||
9fa9728e2c | |||
cc91a85ec7 | |||
9b3aaf8bf1 | |||
2f65494d84 | |||
547d058fb6 | |||
237ec6e40d | |||
4c251e5cb5 | |||
40bbee0ab0 | |||
164bf83af6 | |||
9b4edc0a49 | |||
3ae5396cf7 | |||
f1cf7b7983 | |||
feabcc173b | |||
327f2f3ebb | |||
b0e0287626 | |||
5230f605e1 | |||
1c149ab2dd | |||
ca5ab7d1e8 | |||
82dce998c2 | |||
84460eec8d | |||
b559263216 | |||
a3ea4d7199 | |||
593cb8802e | |||
692663303f | |||
8f2bbe452e | |||
e8ef401cd0 | |||
96b9e0e313 | |||
e5c52c9898 | |||
5de7166d46 | |||
1960897ebc | |||
abf8df869c | |||
55c61688ea | |||
e481af06be | |||
3facc60031 | |||
9b7e776c0a | |||
1bfc51ac81 | |||
7bc0911d03 | |||
62e0069056 | |||
0657bcbf6f | |||
727b6fc3ed | |||
34a4ae55b2 | |||
918d4e1c90 | |||
c5c31d3381 | |||
7687a0541e | |||
15fabd1bbd | |||
e99d012a6b | |||
5bfc76b5b2 | |||
16a7185447 | |||
8e43a1d010 | |||
8d7cd8eb3b | |||
a9a55613cb | |||
3c23953fb2 | |||
f6529de9f4 | |||
271fd1fc2a | |||
19ba02af47 | |||
271bfd678b | |||
bfc366d931 | |||
df7428eca4 | |||
fd871b94f6 | |||
48ea9f955f | |||
68f64ff8b4 | |||
68bdfd7cdc | |||
4742d136e2 | |||
cd6a0b265e | |||
435c833237 | |||
6c4a060d7d | |||
e6dbffa67b | |||
44da6f69ec | |||
50fb51e7e8 | |||
0971e992c4 | |||
6468a4e548 | |||
4b7c286ec7 | |||
73b0898d0d | |||
293ab15eea | |||
656197ad38 | |||
f062e50fe6 | |||
30441a6f2d | |||
c46149942a | |||
b967135d89 | |||
3d1aa56671 | |||
aebbcf5797 | |||
5a5e4d2599 | |||
9ef750875a | |||
44e88ce078 | |||
272b929639 | |||
1a8cdacb51 | |||
774b79fbb8 | |||
3c3737deab | |||
e8320f350f | |||
fda1ba02f3 | |||
c42939d24e | |||
ef42057dea | |||
446f8226dd | |||
ba5d445b65 |
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,8 +1,8 @@
|
||||
/GIT-BUILD-OPTIONS
|
||||
/GIT-CFLAGS
|
||||
/GIT-LDFLAGS
|
||||
/GIT-GUI-VARS
|
||||
/GIT-PREFIX
|
||||
/GIT-PYTHON-VARS
|
||||
/GIT-SCRIPT-DEFINES
|
||||
/GIT-USER-AGENT
|
||||
/GIT-VERSION-FILE
|
||||
@ -22,6 +22,7 @@
|
||||
/git-bundle
|
||||
/git-cat-file
|
||||
/git-check-attr
|
||||
/git-check-ignore
|
||||
/git-check-ref-format
|
||||
/git-checkout
|
||||
/git-checkout-index
|
||||
@ -124,7 +125,8 @@
|
||||
/git-remote-ftps
|
||||
/git-remote-fd
|
||||
/git-remote-ext
|
||||
/git-remote-testgit
|
||||
/git-remote-testpy
|
||||
/git-remote-testsvn
|
||||
/git-repack
|
||||
/git-replace
|
||||
/git-repo-config
|
||||
@ -170,7 +172,6 @@
|
||||
/git-whatchanged
|
||||
/git-write-tree
|
||||
/git-core-*/?*
|
||||
/gitk-git/gitk-wish
|
||||
/gitweb/GITWEB-BUILD-OPTIONS
|
||||
/gitweb/gitweb.cgi
|
||||
/gitweb/static/gitweb.js
|
||||
@ -197,6 +198,7 @@
|
||||
/test-string-list
|
||||
/test-subprocess
|
||||
/test-svn-fe
|
||||
/test-wildmatch
|
||||
/common-cmds.h
|
||||
*.tar.gz
|
||||
*.dsc
|
||||
|
20
.mailmap
20
.mailmap
@ -9,7 +9,9 @@ Alex Bennée <kernel-hacker@bennee.com>
|
||||
Alexander Gavrilov <angavrilov@gmail.com>
|
||||
Aneesh Kumar K.V <aneesh.kumar@gmail.com>
|
||||
Brian M. Carlson <sandals@crustytoothpaste.ath.cx>
|
||||
Cheng Renquan <crquan@gmail.com>
|
||||
Chris Shoemaker <c.shoemaker@cox.net>
|
||||
Dan Johnson <computerdruid@gmail.com>
|
||||
Dana L. How <danahow@gmail.com>
|
||||
Dana L. How <how@deathvalley.cswitch.com>
|
||||
Daniel Barkalow <barkalow@iabervon.org>
|
||||
@ -18,14 +20,18 @@ David Kågedal <davidk@lysator.liu.se>
|
||||
David S. Miller <davem@davemloft.net>
|
||||
Deskin Miller <deskinm@umich.edu>
|
||||
Dirk Süsserott <newsletter@dirk.my1.cc>
|
||||
Eric S. Raymond <esr@thyrsus.com>
|
||||
Erik Faye-Lund <kusmabite@gmail.com> <kusmabite@googlemail.com>
|
||||
Fredrik Kuivinen <freku045@student.liu.se>
|
||||
Frédéric Heitzmann <frederic.heitzmann@gmail.com>
|
||||
H. Peter Anvin <hpa@bonde.sc.orionmulti.com>
|
||||
H. Peter Anvin <hpa@tazenda.sc.orionmulti.com>
|
||||
H. Peter Anvin <hpa@trantor.hos.anvin.org>
|
||||
Horst H. von Brand <vonbrand@inf.utfsm.cl>
|
||||
İsmail Dönmez <ismail@pardus.org.tr>
|
||||
Jakub Narębski <jnareb@gmail.com>
|
||||
Jay Soffian <jaysoffian+git@gmail.com>
|
||||
Jeff King <peff@peff.net> <peff@github.com>
|
||||
Joachim Berdal Haga <cjhaga@fys.uio.no>
|
||||
Johannes Sixt <j6t@kdbg.org> <johannes.sixt@telecom.at>
|
||||
Johannes Sixt <j6t@kdbg.org> <j.sixt@viscovery.net>
|
||||
@ -41,12 +47,21 @@ Junio C Hamano <gitster@pobox.com> <junio@hera.kernel.org>
|
||||
Junio C Hamano <gitster@pobox.com> <junio@kernel.org>
|
||||
Junio C Hamano <gitster@pobox.com> <junkio@cox.net>
|
||||
Karl Hasselström <kha@treskal.com>
|
||||
Kevin Leung <kevinlsk@gmail.com>
|
||||
Kent Engstrom <kent@lysator.liu.se>
|
||||
Lars Doelle <lars.doelle@on-line ! de>
|
||||
Lars Doelle <lars.doelle@on-line.de>
|
||||
Li Hong <leehong@pku.edu.cn>
|
||||
Linus Torvalds <torvalds@linux-foundation.org> <torvalds@woody.linux-foundation.org>
|
||||
Linus Torvalds <torvalds@linux-foundation.org> <torvalds@osdl.org>
|
||||
Linus Torvalds <torvalds@linux-foundation.org> <torvalds@g5.osdl.org>
|
||||
Linus Torvalds <torvalds@linux-foundation.org> <torvalds@evo.osdl.org>
|
||||
Linus Torvalds <torvalds@linux-foundation.org> <torvalds@ppc970.osdl.org>
|
||||
Linus Torvalds <torvalds@linux-foundation.org> <torvalds@ppc970.osdl.org.(none)>
|
||||
Lukas Sandström <lukass@etek.chalmers.se>
|
||||
Martin Langhoff <martin@laptop.org>
|
||||
Marc-André Lureau <marcandre.lureau@gmail.com>
|
||||
Mark Rada <marada@uwaterloo.ca>
|
||||
Martin Langhoff <martin@laptop.org> <martin@catalyst.net.nz>
|
||||
Martin von Zweigbergk <martinvonz@gmail.com> <martin.von.zweigbergk@gmail.com>
|
||||
Michael Coleman <tutufan@gmail.com>
|
||||
Michael J Gruber <git@drmicha.warpmail.net> <michaeljgruber+gmane@fastmail.fm>
|
||||
@ -58,16 +73,19 @@ Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
|
||||
<nico@fluxnic.net> <nico@cam.org>
|
||||
Peter Krefting <peter@softwolves.pp.se> <peter@svarten.intern.softwolves.pp.se>
|
||||
Peter Krefting <peter@softwolves.pp.se> <peter@softwolves.pp.se>
|
||||
Petr Baudis <pasky@ucw.cz> <pasky@suse.cz>
|
||||
Philippe Bruhat <book@cpan.org>
|
||||
Ralf Thielow <ralf.thielow@gmail.com> <ralf.thielow@googlemail.com>
|
||||
Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
|
||||
René Scharfe <rene.scharfe@lsrfire.ath.cx>
|
||||
Robert Fitzsimons <robfitz@273k.net>
|
||||
Robert Zeh <robert.a.zeh@gmail.com>
|
||||
Sam Vilain <sam@vilain.net>
|
||||
Santi Béjar <sbejar@gmail.com>
|
||||
Sean Estabrooks <seanlkml@sympatico.ca>
|
||||
Shawn O. Pearce <spearce@spearce.org>
|
||||
Steven Grimm <koreth@midwinter.com>
|
||||
Tay Ray Chuan <rctay89@gmail.com>
|
||||
Theodore Ts'o <tytso@mit.edu>
|
||||
Thomas Rast <trast@inf.ethz.ch> <trast@student.ethz.ch>
|
||||
Tony Luck <tony.luck@intel.com>
|
||||
|
1
Documentation/.gitignore
vendored
1
Documentation/.gitignore
vendored
@ -9,4 +9,5 @@ gitman.info
|
||||
howto-index.txt
|
||||
doc.dep
|
||||
cmds-*.txt
|
||||
mergetools-*.txt
|
||||
manpage-base-url.xsl
|
||||
|
@ -1,5 +1,5 @@
|
||||
Like other projects, we also have some guidelines to keep to the
|
||||
code. For git in general, three rough rules are:
|
||||
code. For Git in general, three rough rules are:
|
||||
|
||||
- Most importantly, we never say "It's in POSIX; we'll happily
|
||||
ignore your needs should your system not conform to it."
|
||||
@ -18,11 +18,12 @@ code. For git in general, three rough rules are:
|
||||
judgement call, the decision based more on real world
|
||||
constraints people face than what the paper standard says.
|
||||
|
||||
Make your code readable and sensible, and don't try to be clever.
|
||||
|
||||
As for more concrete guidelines, just imitate the existing code
|
||||
(this is a good guideline, no matter which project you are
|
||||
contributing to). It is always preferable to match the _local_
|
||||
convention. New code added to git suite is expected to match
|
||||
convention. New code added to Git suite is expected to match
|
||||
the overall style of existing code. Modifications to existing
|
||||
code is expected to match the style the surrounding code already
|
||||
uses (even if it doesn't match the overall style of existing code).
|
||||
@ -112,6 +113,14 @@ For C programs:
|
||||
|
||||
- We try to keep to at most 80 characters per line.
|
||||
|
||||
- We try to support a wide range of C compilers to compile Git with,
|
||||
including old ones. That means that you should not use C99
|
||||
initializers, even if a lot of compilers grok it.
|
||||
|
||||
- Variables have to be declared at the beginning of the block.
|
||||
|
||||
- NULL pointers shall be written as NULL, not as 0.
|
||||
|
||||
- When declaring pointers, the star sides with the variable
|
||||
name, i.e. "char *string", not "char* string" or
|
||||
"char * string". This makes it easier to understand code
|
||||
@ -156,14 +165,14 @@ For C programs:
|
||||
|
||||
- If you are planning a new command, consider writing it in shell
|
||||
or perl first, so that changes in semantics can be easily
|
||||
changed and discussed. Many git commands started out like
|
||||
changed and discussed. Many Git commands started out like
|
||||
that, and a few are still scripts.
|
||||
|
||||
- Avoid introducing a new dependency into git. This means you
|
||||
- Avoid introducing a new dependency into Git. This means you
|
||||
usually should stay away from scripting languages not already
|
||||
used in the git core command set (unless your command is clearly
|
||||
used in the Git core command set (unless your command is clearly
|
||||
separate from it, such as an importer to convert random-scm-X
|
||||
repositories to git).
|
||||
repositories to Git).
|
||||
|
||||
- When we pass <string, length> pair to functions, we should try to
|
||||
pass them in that order.
|
||||
@ -171,8 +180,66 @@ For C programs:
|
||||
- Use Git's gettext wrappers to make the user interface
|
||||
translatable. See "Marking strings for translation" in po/README.
|
||||
|
||||
For Perl programs:
|
||||
|
||||
- Most of the C guidelines above apply.
|
||||
|
||||
- We try to support Perl 5.8 and later ("use Perl 5.008").
|
||||
|
||||
- use strict and use warnings are strongly preferred.
|
||||
|
||||
- Don't overuse statement modifiers unless using them makes the
|
||||
result easier to follow.
|
||||
|
||||
... do something ...
|
||||
do_this() unless (condition);
|
||||
... do something else ...
|
||||
|
||||
is more readable than:
|
||||
|
||||
... do something ...
|
||||
unless (condition) {
|
||||
do_this();
|
||||
}
|
||||
... do something else ...
|
||||
|
||||
*only* when the condition is so rare that do_this() will be almost
|
||||
always called.
|
||||
|
||||
- We try to avoid assignments inside "if ()" conditions.
|
||||
|
||||
- Learn and use Git.pm if you need that functionality.
|
||||
|
||||
- For Emacs, it's useful to put the following in
|
||||
GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:
|
||||
|
||||
;; note the first part is useful for C editing, too
|
||||
((nil . ((indent-tabs-mode . t)
|
||||
(tab-width . 8)
|
||||
(fill-column . 80)))
|
||||
(cperl-mode . ((cperl-indent-level . 8)
|
||||
(cperl-extra-newline-before-brace . nil)
|
||||
(cperl-merge-trailing-else . t))))
|
||||
|
||||
For Python scripts:
|
||||
|
||||
- We follow PEP-8 (http://www.python.org/dev/peps/pep-0008/).
|
||||
|
||||
- As a minimum, we aim to be compatible with Python 2.6 and 2.7.
|
||||
|
||||
- Where required libraries do not restrict us to Python 2, we try to
|
||||
also be compatible with Python 3.1 and later.
|
||||
|
||||
- When you must differentiate between Unicode literals and byte string
|
||||
literals, it is OK to use the 'b' prefix. Even though the Python
|
||||
documentation for version 2.6 does not mention this prefix, it has
|
||||
been supported since version 2.6.0.
|
||||
|
||||
Writing Documentation:
|
||||
|
||||
Most (if not all) of the documentation pages are written in AsciiDoc
|
||||
and processed into HTML output and manpages.
|
||||
|
||||
Every user-visible change should be reflected in the documentation.
|
||||
The same general rule as for code applies -- imitate the existing
|
||||
conventions. A few commented examples follow to provide reference
|
||||
@ -222,3 +289,8 @@ Writing Documentation:
|
||||
valid usage. "*" has its own pair of brackets, because it can
|
||||
(optionally) be specified only when one or more of the letters is
|
||||
also provided.
|
||||
|
||||
A note on notation:
|
||||
Use 'git' (all lowercase) when talking about commands i.e. something
|
||||
the user would type into a shell and use 'Git' (uppercase first letter)
|
||||
when talking about the version control system and its properties.
|
||||
|
@ -1,19 +1,41 @@
|
||||
MAN1_TXT= \
|
||||
$(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
|
||||
$(wildcard git-*.txt)) \
|
||||
gitk.txt gitweb.txt git.txt
|
||||
MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt \
|
||||
gitrepository-layout.txt gitweb.conf.txt
|
||||
MAN7_TXT=gitcli.txt gittutorial.txt gittutorial-2.txt \
|
||||
gitcvs-migration.txt gitcore-tutorial.txt gitglossary.txt \
|
||||
gitdiffcore.txt gitnamespaces.txt gitrevisions.txt gitworkflows.txt
|
||||
# Guard against environment variables
|
||||
MAN1_TXT =
|
||||
MAN5_TXT =
|
||||
MAN7_TXT =
|
||||
|
||||
MAN1_TXT += $(filter-out \
|
||||
$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
|
||||
$(wildcard git-*.txt))
|
||||
MAN1_TXT += git.txt
|
||||
MAN1_TXT += gitk.txt
|
||||
MAN1_TXT += gitremote-helpers.txt
|
||||
MAN1_TXT += gitweb.txt
|
||||
|
||||
MAN5_TXT += gitattributes.txt
|
||||
MAN5_TXT += githooks.txt
|
||||
MAN5_TXT += gitignore.txt
|
||||
MAN5_TXT += gitmodules.txt
|
||||
MAN5_TXT += gitrepository-layout.txt
|
||||
MAN5_TXT += gitweb.conf.txt
|
||||
|
||||
MAN7_TXT += gitcli.txt
|
||||
MAN7_TXT += gitcore-tutorial.txt
|
||||
MAN7_TXT += gitcredentials.txt
|
||||
MAN7_TXT += gitcvs-migration.txt
|
||||
MAN7_TXT += gitdiffcore.txt
|
||||
MAN7_TXT += gitglossary.txt
|
||||
MAN7_TXT += gitnamespaces.txt
|
||||
MAN7_TXT += gitrevisions.txt
|
||||
MAN7_TXT += gittutorial-2.txt
|
||||
MAN7_TXT += gittutorial.txt
|
||||
MAN7_TXT += gitworkflows.txt
|
||||
|
||||
MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)
|
||||
MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT))
|
||||
MAN_HTML=$(patsubst %.txt,%.html,$(MAN_TXT))
|
||||
|
||||
DOC_HTML=$(MAN_HTML)
|
||||
OBSOLETE_HTML = git-remote-helpers.html
|
||||
DOC_HTML=$(MAN_HTML) $(OBSOLETE_HTML)
|
||||
|
||||
ARTICLES = howto-index
|
||||
ARTICLES += everyday
|
||||
@ -21,11 +43,33 @@ ARTICLES += git-tools
|
||||
ARTICLES += git-bisect-lk2009
|
||||
# with their own formatting rules.
|
||||
SP_ARTICLES = user-manual
|
||||
SP_ARTICLES += howto/new-command
|
||||
SP_ARTICLES += howto/revert-branch-rebase
|
||||
SP_ARTICLES += howto/using-merge-subtree
|
||||
SP_ARTICLES += howto/using-signed-tag-in-pull-request
|
||||
SP_ARTICLES += howto/use-git-daemon
|
||||
SP_ARTICLES += howto/update-hook-example
|
||||
SP_ARTICLES += howto/setup-git-server-over-http
|
||||
SP_ARTICLES += howto/separating-topic-branches
|
||||
SP_ARTICLES += howto/revert-a-faulty-merge
|
||||
SP_ARTICLES += howto/recover-corrupted-blob-object
|
||||
SP_ARTICLES += howto/rebuild-from-update-hook
|
||||
SP_ARTICLES += howto/rebase-from-internal-branch
|
||||
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/index-format
|
||||
TECH_DOCS += technical/pack-format
|
||||
TECH_DOCS += technical/pack-heuristics
|
||||
TECH_DOCS += technical/pack-protocol
|
||||
TECH_DOCS += technical/protocol-capabilities
|
||||
TECH_DOCS += technical/protocol-common
|
||||
TECH_DOCS += technical/racy-git
|
||||
TECH_DOCS += technical/send-pack-pipeline
|
||||
TECH_DOCS += technical/shallow
|
||||
TECH_DOCS += technical/trivial-merge
|
||||
SP_ARTICLES += $(TECH_DOCS)
|
||||
SP_ARTICLES += technical/api-index
|
||||
|
||||
DOC_HTML += $(patsubst %,%.html,$(ARTICLES) $(SP_ARTICLES))
|
||||
@ -156,8 +200,6 @@ all: html man
|
||||
|
||||
html: $(DOC_HTML)
|
||||
|
||||
$(DOC_HTML) $(DOC_MAN1) $(DOC_MAN5) $(DOC_MAN7): asciidoc.conf
|
||||
|
||||
man: man1 man5 man7
|
||||
man1: $(DOC_MAN1)
|
||||
man5: $(DOC_MAN5)
|
||||
@ -202,7 +244,11 @@ install-html: html
|
||||
#
|
||||
# Determine "include::" file references in asciidoc files.
|
||||
#
|
||||
doc.dep : $(wildcard *.txt) build-docdep.perl
|
||||
docdep_prereqs = \
|
||||
mergetools-list.made $(mergetools_txt) \
|
||||
cmd-list.made $(cmds_txt)
|
||||
|
||||
doc.dep : $(docdep_prereqs) $(wildcard *.txt) build-docdep.perl
|
||||
$(QUIET_GEN)$(RM) $@+ $@ && \
|
||||
$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
|
||||
mv $@+ $@
|
||||
@ -226,21 +272,41 @@ cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
|
||||
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
|
||||
date >$@
|
||||
|
||||
mergetools_txt = mergetools-diff.txt mergetools-merge.txt
|
||||
|
||||
$(mergetools_txt): mergetools-list.made
|
||||
|
||||
mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
|
||||
$(QUIET_GEN)$(RM) $@ && \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
|
||||
. ../git-mergetool--lib.sh && \
|
||||
show_tool_names can_diff "* " || :' >mergetools-diff.txt && \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
|
||||
. ../git-mergetool--lib.sh && \
|
||||
show_tool_names can_merge "* " || :' >mergetools-merge.txt && \
|
||||
date >$@
|
||||
|
||||
clean:
|
||||
$(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
|
||||
$(RM) *.texi *.texi+ *.texi++ git.info gitman.info
|
||||
$(RM) *.pdf
|
||||
$(RM) howto-index.txt howto/*.html doc.dep
|
||||
$(RM) technical/api-*.html technical/api-index.txt
|
||||
$(RM) $(cmds_txt) *.made
|
||||
$(RM) technical/*.html technical/api-index.txt
|
||||
$(RM) $(cmds_txt) $(mergetools_txt) *.made
|
||||
$(RM) manpage-base-url.xsl
|
||||
|
||||
$(MAN_HTML): %.html : %.txt
|
||||
$(MAN_HTML): %.html : %.txt asciidoc.conf
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
|
||||
$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
|
||||
manpage-base-url.xsl: manpage-base-url.xsl.in
|
||||
sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
|
||||
|
||||
@ -248,7 +314,7 @@ manpage-base-url.xsl: manpage-base-url.xsl.in
|
||||
$(QUIET_XMLTO)$(RM) $@ && \
|
||||
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
|
||||
|
||||
%.xml : %.txt
|
||||
%.xml : %.txt asciidoc.conf
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||
@ -264,7 +330,7 @@ technical/api-index.txt: technical/api-index-skel.txt \
|
||||
$(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh
|
||||
|
||||
technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
|
||||
$(patsubst %,%.html,$(API_DOCS) technical/api-index): %.html : %.txt
|
||||
$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt asciidoc.conf
|
||||
$(QUIET_ASCIIDOC)$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) $*.txt
|
||||
|
||||
@ -309,7 +375,7 @@ $(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
|
||||
|
||||
howto-index.txt: howto-index.sh $(wildcard howto/*.txt)
|
||||
$(QUIET_GEN)$(RM) $@+ $@ && \
|
||||
'$(SHELL_PATH_SQ)' ./howto-index.sh $(wildcard howto/*.txt) >$@+ && \
|
||||
'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(wildcard howto/*.txt)) >$@+ && \
|
||||
mv $@+ $@
|
||||
|
||||
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
|
||||
@ -326,8 +392,8 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
|
||||
install-webdoc : html
|
||||
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
|
||||
|
||||
# You must have a clone of git-htmldocs and git-manpages repositories
|
||||
# next to the git repository itself for the following to work.
|
||||
# You must have a clone of 'git-htmldocs' and 'git-manpages' repositories
|
||||
# next to the 'git' repository itself for the following to work.
|
||||
|
||||
quick-install: quick-install-man
|
||||
|
||||
|
64
Documentation/RelNotes/1.8.0.1.txt
Normal file
64
Documentation/RelNotes/1.8.0.1.txt
Normal file
@ -0,0 +1,64 @@
|
||||
Git v1.8.0.1 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.8.0
|
||||
------------------
|
||||
|
||||
* The configuration parser had an unnecessary hardcoded limit on
|
||||
variable names that was not checked consistently.
|
||||
|
||||
* The "say" function in the test scaffolding incorrectly allowed
|
||||
"echo" to interpret "\a" as if it were a C-string asking for a
|
||||
BEL output.
|
||||
|
||||
* "git mergetool" feeds /dev/null as a common ancestor when dealing
|
||||
with an add/add conflict, but p4merge backend cannot handle
|
||||
it. Work it around by passing a temporary empty file.
|
||||
|
||||
* "git log -F -E --grep='<ere>'" failed to use the given <ere>
|
||||
pattern as extended regular expression, and instead looked for the
|
||||
string literally.
|
||||
|
||||
* "git grep -e pattern <tree>" asked the attribute system to read
|
||||
"<tree>:.gitattributes" file in the working tree, which was
|
||||
nonsense.
|
||||
|
||||
* A symbolic ref refs/heads/SYM was not correctly removed with "git
|
||||
branch -d SYM"; the command removed the ref pointed by SYM
|
||||
instead.
|
||||
|
||||
* Earlier we fixed documentation to hyphenate "remote-tracking branch"
|
||||
to clarify that these are not a remote entity, but unhyphenated
|
||||
spelling snuck in to a few places since then.
|
||||
|
||||
* "git pull --rebase" run while the HEAD is detached tried to find
|
||||
the upstream branch of the detached HEAD (which by definition
|
||||
does not exist) and emitted unnecessary error messages.
|
||||
|
||||
* The refs/replace hierarchy was not mentioned in the
|
||||
repository-layout docs.
|
||||
|
||||
* Sometimes curl_multi_timeout() function suggested a wrong timeout
|
||||
value when there is no file descriptors to wait on and the http
|
||||
transport ended up sleeping for minutes in select(2) system call.
|
||||
A workaround has been added for this.
|
||||
|
||||
* Various rfc2047 quoting issues around a non-ASCII name on the
|
||||
From: line in the output from format-patch have been corrected.
|
||||
|
||||
* "git diff -G<pattern>" did not honor textconv filter when looking
|
||||
for changes.
|
||||
|
||||
* Bash completion script (in contrib/) did not correctly complete a
|
||||
lazy "git checkout $name_of_remote_tracking_branch_that_is_unique"
|
||||
command line.
|
||||
|
||||
* RSS feed from "gitweb" had a xss hole in its title output.
|
||||
|
||||
* "git config --path $key" segfaulted on "[section] key" (a boolean
|
||||
"true" spelled without "=", not "[section] key = true").
|
||||
|
||||
* "git checkout -b foo" while on an unborn branch did not say
|
||||
"Switched to a new branch 'foo'" like other cases.
|
||||
|
||||
Also contains other minor fixes and documentation updates.
|
34
Documentation/RelNotes/1.8.0.2.txt
Normal file
34
Documentation/RelNotes/1.8.0.2.txt
Normal file
@ -0,0 +1,34 @@
|
||||
Git v1.8.0.2 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.8.0.1
|
||||
--------------------
|
||||
|
||||
* Various codepaths have workaround for a common misconfiguration to
|
||||
spell "UTF-8" as "utf8", but it was not used uniformly. Most
|
||||
notably, mailinfo (which is used by "git am") lacked this support.
|
||||
|
||||
* We failed to mention a file without any content change but whose
|
||||
permission bit was modified, or (worse yet) a new file without any
|
||||
content in the "git diff --stat" output.
|
||||
|
||||
* When "--stat-count" hides a diffstat for binary contents, the total
|
||||
number of added and removed lines at the bottom was computed
|
||||
incorrectly.
|
||||
|
||||
* When "--stat-count" hides a diffstat for unmerged paths, the total
|
||||
number of affected files at the bottom of the "diff --stat" output
|
||||
was computed incorrectly.
|
||||
|
||||
* "diff --shortstat" miscounted the total number of affected files
|
||||
when there were unmerged paths.
|
||||
|
||||
* "git p4" used to try expanding malformed "$keyword$" that spans
|
||||
across multiple lines.
|
||||
|
||||
* "git update-ref -d --deref SYM" to delete a ref through a symbolic
|
||||
ref that points to it did not remove it correctly.
|
||||
|
||||
* Syntax highlighting in "gitweb" was not quite working.
|
||||
|
||||
Also contains other minor fixes and documentation updates.
|
14
Documentation/RelNotes/1.8.0.3.txt
Normal file
14
Documentation/RelNotes/1.8.0.3.txt
Normal file
@ -0,0 +1,14 @@
|
||||
Git v1.8.0.3 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.8.0.2
|
||||
--------------------
|
||||
|
||||
* "git log -p -S<string>" did not apply the textconv filter while
|
||||
looking for the <string>.
|
||||
|
||||
* In the documentation, some invalid example e-mail addresses were
|
||||
formatted into mailto: links.
|
||||
|
||||
Also contains many documentation updates backported from the 'master'
|
||||
branch that is preparing for the upcoming 1.8.1 release.
|
@ -4,16 +4,18 @@ Git v1.8.0 Release Notes
|
||||
Backward compatibility notes
|
||||
----------------------------
|
||||
|
||||
In the next major release, we will change the behavior of the "git
|
||||
push" command. When "git push [$there]" does not say what to push, we
|
||||
have used the traditional "matching" semantics so far (all your branches were
|
||||
sent to the remote as long as there already are branches of the same
|
||||
name over there). We will now use the "simple" semantics, that pushes the
|
||||
current branch to the branch with the same name only when the current
|
||||
In the next major release (not *this* one), we will change the
|
||||
behavior of the "git push" command.
|
||||
|
||||
When "git push [$there]" does not say what to push, we have used the
|
||||
traditional "matching" semantics so far (all your branches were sent
|
||||
to the remote as long as there already are branches of the same name
|
||||
over there). We will use the "simple" semantics that pushes the
|
||||
current branch to the branch with the same name, only when the current
|
||||
branch is set to integrate with that remote branch. There is a user
|
||||
preference configuration variable "push.default" to change this, and
|
||||
"git push" will warn about the upcoming change until you set this
|
||||
variable.
|
||||
variable in this release.
|
||||
|
||||
"git branch --set-upstream" is deprecated and may be removed in a
|
||||
relatively distant future. "git branch [-u|--set-upstream-to]" has
|
||||
@ -35,7 +37,7 @@ UI, Workflows & Features
|
||||
|
||||
* When "git am" sanitizes the "Subject:" line, we strip the prefix from
|
||||
"Re: subject" and also from a less common "re: subject", but left
|
||||
the even less common "RE: subject" intact. We strip that now, too.
|
||||
the even less common "RE: subject" intact. Now we strip that too.
|
||||
|
||||
* It was tempting to say "git branch --set-upstream origin/master",
|
||||
but that tells Git to arrange the local branch "origin/master" to
|
||||
@ -62,6 +64,8 @@ UI, Workflows & Features
|
||||
* "git grep" learned to use a non-standard pattern type by default if
|
||||
a configuration variable tells it to.
|
||||
|
||||
* Accumulated updates to "git gui" has been merged.
|
||||
|
||||
* "git log -g" learned the "--grep-reflog=<pattern>" option to limit
|
||||
its output to commits with a reflog message that matches the given
|
||||
pattern.
|
||||
@ -85,7 +89,7 @@ Foreign Interface
|
||||
encountering a conflict during "p4 submit".
|
||||
|
||||
|
||||
Performance, Internal Implementation, etc. (please report possible regressions)
|
||||
Performance, Internal Implementation, etc.
|
||||
|
||||
* Git ships with a fall-back regexp implementation for platforms with
|
||||
buggy regexp library, but it was easy for people to keep using their
|
||||
|
87
Documentation/RelNotes/1.8.1.1.txt
Normal file
87
Documentation/RelNotes/1.8.1.1.txt
Normal file
@ -0,0 +1,87 @@
|
||||
Git 1.8.1.1 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v1.8.1
|
||||
------------------
|
||||
|
||||
* The attribute mechanism didn't allow limiting attributes to be
|
||||
applied to only a single directory itself with "path/" like the
|
||||
exclude mechanism does.
|
||||
|
||||
* When attempting to read the XDG-style $HOME/.config/git/config and
|
||||
finding that $HOME/.config/git is a file, we gave a wrong error
|
||||
message, instead of treating the case as "a custom config file does
|
||||
not exist there" and moving on.
|
||||
|
||||
* After failing to create a temporary file using mkstemp(), failing
|
||||
pathname was not reported correctly on some platforms.
|
||||
|
||||
* http transport was wrong to ask for the username when the
|
||||
authentication is done by certificate identity.
|
||||
|
||||
* The behaviour visible to the end users was confusing, when they
|
||||
attempt to kill a process spawned in the editor that was in turn
|
||||
launched by Git with SIGINT (or SIGQUIT), as Git would catch that
|
||||
signal and die. We ignore these signals now.
|
||||
|
||||
* A child process that was killed by a signal (e.g. SIGINT) was
|
||||
reported in an inconsistent way depending on how the process was
|
||||
spawned by us, with or without a shell in between.
|
||||
|
||||
* After "git add -N" and then writing a tree object out of the
|
||||
index, the cache-tree data structure got corrupted.
|
||||
|
||||
* "git apply" misbehaved when fixing whitespace breakages by removing
|
||||
excess trailing blank lines in some corner cases.
|
||||
|
||||
* A tar archive created by "git archive" recorded a directory in a
|
||||
way that made NetBSD's implementation of "tar" sometimes unhappy.
|
||||
|
||||
* When "git clone --separate-git-dir=$over_there" is interrupted, it
|
||||
failed to remove the real location of the $GIT_DIR it created.
|
||||
This was most visible when interrupting a submodule update.
|
||||
|
||||
* "git fetch --mirror" and fetch that uses other forms of refspec
|
||||
with wildcard used to attempt to update a symbolic ref that match
|
||||
the wildcard on the receiving end, which made little sense (the
|
||||
real ref that is pointed at by the symbolic ref would be updated
|
||||
anyway). Symbolic refs no longer are affected by such a fetch.
|
||||
|
||||
* The "log --graph" codepath fell into infinite loop in some
|
||||
corner cases.
|
||||
|
||||
* "git merge" started calling prepare-commit-msg hook like "git
|
||||
commit" does some time ago, but forgot to pay attention to the exit
|
||||
status of the hook.
|
||||
|
||||
* "git pack-refs" that ran in parallel to another process that
|
||||
created new refs had a race that can lose new ones.
|
||||
|
||||
* When a line to be wrapped has a solid run of non space characters
|
||||
whose length exactly is the wrap width, "git shortlog -w" failed
|
||||
to add a newline after such a line.
|
||||
|
||||
* The way "git svn" asked for password using SSH_ASKPASS and
|
||||
GIT_ASKPASS was not in line with the rest of the system.
|
||||
|
||||
* "gitweb", when sorting by age to show repositories with new
|
||||
activities first, used to sort repositories with absolutely
|
||||
nothing in it early, which was not very useful.
|
||||
|
||||
* "gitweb", when sorting by age to show repositories with new
|
||||
activities first, used to sort repositories with absolutely
|
||||
nothing in it early, which was not very useful.
|
||||
|
||||
* When autoconf is used, any build on a different commit always ran
|
||||
"config.status --recheck" even when unnecessary.
|
||||
|
||||
* Some scripted programs written in Python did not get updated when
|
||||
PYTHON_PATH changed.
|
||||
|
||||
* We have been carrying a translated and long-unmaintained copy of an
|
||||
old version of the tutorial; removed.
|
||||
|
||||
* Portability issues in many self-test scripts have been addressed.
|
||||
|
||||
|
||||
Also contains other minor fixes and documentation updates.
|
25
Documentation/RelNotes/1.8.1.2.txt
Normal file
25
Documentation/RelNotes/1.8.1.2.txt
Normal file
@ -0,0 +1,25 @@
|
||||
Git 1.8.1.2 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v1.8.1.1
|
||||
--------------------
|
||||
|
||||
* An element on GIT_CEILING_DIRECTORIES list that does not name the
|
||||
real path to a directory (i.e. a symbolic link) could have caused
|
||||
the GIT_DIR discovery logic to escape the ceiling.
|
||||
|
||||
* Command line completion for "tcsh" emitted an unwanted space
|
||||
after completing a single directory name.
|
||||
|
||||
* Command line completion leaked an unnecessary error message while
|
||||
looking for possible matches with paths in <tree-ish>.
|
||||
|
||||
* "git archive" did not record uncompressed size in the header when
|
||||
streaming a zip archive, which confused some implementations of unzip.
|
||||
|
||||
* When users spelled "cc:" in lowercase in the fake "header" in the
|
||||
trailer part, "git send-email" failed to pick up the addresses from
|
||||
there. As e-mail headers field names are case insensitive, this
|
||||
script should follow suit and treat "cc:" and "Cc:" the same way.
|
||||
|
||||
Also contains various documentation fixes.
|
47
Documentation/RelNotes/1.8.1.3.txt
Normal file
47
Documentation/RelNotes/1.8.1.3.txt
Normal file
@ -0,0 +1,47 @@
|
||||
Git 1.8.1.3 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v1.8.1.2
|
||||
--------------------
|
||||
|
||||
* The attribute mechanism didn't allow limiting attributes to be
|
||||
applied to only a single directory itself with "path/" like the
|
||||
exclude mechanism does. The fix for this in 1.8.1.2 had
|
||||
performance degradations.
|
||||
|
||||
* Command line completion code was inadvertently made incompatible with
|
||||
older versions of bash by using a newer array notation.
|
||||
|
||||
* Scripts to test bash completion was inherently flaky as it was
|
||||
affected by whatever random things the user may have on $PATH.
|
||||
|
||||
* A fix was added to the build procedure to work around buggy
|
||||
versions of ccache broke the auto-generation of dependencies, which
|
||||
unfortunately is still relevant because some people use ancient
|
||||
distros.
|
||||
|
||||
* We used to stuff "user@" and then append what we read from
|
||||
/etc/mailname to come up with a default e-mail ident, but a bug
|
||||
lost the "user@" part.
|
||||
|
||||
* "git am" did not parse datestamp correctly from Hg generated patch,
|
||||
when it is run in a locale outside C (or en).
|
||||
|
||||
* Attempt to "branch --edit-description" an existing branch, while
|
||||
being on a detached HEAD, errored out.
|
||||
|
||||
* "git cherry-pick" did not replay a root commit to an unborn branch.
|
||||
|
||||
* We forgot to close the file descriptor reading from "gpg" output,
|
||||
killing "git log --show-signature" on a long history.
|
||||
|
||||
* "git rebase --preserve-merges" lost empty merges in recent versions
|
||||
of Git.
|
||||
|
||||
* Rebasing the history of superproject with change in the submodule
|
||||
has been broken since v1.7.12.
|
||||
|
||||
* A failure to push due to non-ff while on an unborn branch
|
||||
dereferenced a NULL pointer when showing an error message.
|
||||
|
||||
Also contains various documentation fixes.
|
11
Documentation/RelNotes/1.8.1.4.txt
Normal file
11
Documentation/RelNotes/1.8.1.4.txt
Normal file
@ -0,0 +1,11 @@
|
||||
Git 1.8.1.4 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v1.8.1.3
|
||||
--------------------
|
||||
|
||||
* "git imap-send" talking over imaps:// did make sure it received a
|
||||
valid certificate from the other end, but did not check if the
|
||||
certificate matched the host it thought it was talking to.
|
||||
|
||||
Also contains various documentation fixes.
|
47
Documentation/RelNotes/1.8.1.5.txt
Normal file
47
Documentation/RelNotes/1.8.1.5.txt
Normal file
@ -0,0 +1,47 @@
|
||||
Git 1.8.1.5 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v1.8.1.4
|
||||
--------------------
|
||||
|
||||
* Given a string with a multi-byte character that begins with '-' on
|
||||
the command line where an option is expected, the option parser
|
||||
used just one byte of the unknown letter when reporting an error.
|
||||
|
||||
* In v1.8.1, the attribute parser was tightened too restrictive to
|
||||
error out upon seeing an entry that begins with an ! (exclamation),
|
||||
which may confuse users to expect a "negative match", which does
|
||||
not exist. This has been demoted to a warning; such an entry is
|
||||
still ignored.
|
||||
|
||||
* "git apply --summary" has been taught to make sure the similarity
|
||||
value shown in its output is sensible, even when the input had a
|
||||
bogus value.
|
||||
|
||||
* "git clean" showed what it was going to do, but sometimes ended
|
||||
up finding that it was not allowed to do so, which resulted in a
|
||||
confusing output (e.g. after saying that it will remove an
|
||||
untracked directory, it found an embedded git repository there
|
||||
which it is not allowed to remove). It now performs the actions
|
||||
and then reports the outcome more faithfully.
|
||||
|
||||
* "git clone" used to allow --bare and --separate-git-dir=$there
|
||||
options at the same time, which was nonsensical.
|
||||
|
||||
* "git cvsimport" mishandled timestamps at DST boundary.
|
||||
|
||||
* We used to have an arbitrary 32 limit for combined diff input,
|
||||
resulting in incorrect number of leading colons shown when showing
|
||||
the "--raw --cc" output.
|
||||
|
||||
* The smart HTTP clients forgot to verify the content-type that comes
|
||||
back from the server side to make sure that the request is being
|
||||
handled properly.
|
||||
|
||||
* "git help remote-helpers" failed to find the documentation.
|
||||
|
||||
* "gitweb" pages served over HTTPS, when configured to show picon or
|
||||
gravatar, referred to these external resources to be fetched via
|
||||
HTTP, resulting in mixed contents warning in browsers.
|
||||
|
||||
Also contains various documentation fixes.
|
39
Documentation/RelNotes/1.8.1.6.txt
Normal file
39
Documentation/RelNotes/1.8.1.6.txt
Normal file
@ -0,0 +1,39 @@
|
||||
Git 1.8.1.6 Release Notes
|
||||
=========================
|
||||
|
||||
Fixes since v1.8.1.5
|
||||
--------------------
|
||||
|
||||
* An earlier change to the attribute system introduced at v1.8.1.2 by
|
||||
mistake stopped a pattern "dir" (without trailing slash) from
|
||||
matching a directory "dir" (it only wanted to allow pattern "dir/"
|
||||
to also match).
|
||||
|
||||
* The code to keep track of what directory names are known to Git on
|
||||
platforms with case insensitive filesystems can get confused upon a
|
||||
hash collision between these pathnames and looped forever.
|
||||
|
||||
* When the "--prefix" option is used to "checkout-index", the code
|
||||
did not pick the correct output filter based on the attribute
|
||||
setting.
|
||||
|
||||
* Annotated tags outside refs/tags/ hierarchy were not advertised
|
||||
correctly to the ls-remote and fetch with recent version of Git.
|
||||
|
||||
* The logic used by "git diff -M --stat" to shorten the names of
|
||||
files before and after a rename did not work correctly when the
|
||||
common prefix and suffix between the two filenames overlapped.
|
||||
|
||||
* "git update-index -h" did not do the usual "-h(elp)" thing.
|
||||
|
||||
* perl/Git.pm::cat_blob slurped everything in core only to write it
|
||||
out to a file descriptor, which was not a very smart thing to do.
|
||||
|
||||
* The SSL peer verification done by "git imap-send" did not ask for
|
||||
Server Name Indication (RFC 4366), failing to connect SSL/TLS
|
||||
sites that serve multiple hostnames on a single IP.
|
||||
|
||||
* "git bundle verify" did not say "records a complete history" for a
|
||||
bundle that does not have any prerequisites.
|
||||
|
||||
Also contains various documentation fixes.
|
241
Documentation/RelNotes/1.8.1.txt
Normal file
241
Documentation/RelNotes/1.8.1.txt
Normal file
@ -0,0 +1,241 @@
|
||||
Git v1.8.1 Release Notes
|
||||
========================
|
||||
|
||||
Backward compatibility notes
|
||||
----------------------------
|
||||
|
||||
In the next major release (not *this* one), we will change the
|
||||
behavior of the "git push" command.
|
||||
|
||||
When "git push [$there]" does not say what to push, we have used the
|
||||
traditional "matching" semantics so far (all your branches were sent
|
||||
to the remote as long as there already are branches of the same name
|
||||
over there). We will use the "simple" semantics that pushes the
|
||||
current branch to the branch with the same name, only when the current
|
||||
branch is set to integrate with that remote branch. There is a user
|
||||
preference configuration variable "push.default" to change this, and
|
||||
"git push" will warn about the upcoming change until you set this
|
||||
variable in this release.
|
||||
|
||||
"git branch --set-upstream" is deprecated and may be removed in a
|
||||
relatively distant future. "git branch [-u|--set-upstream-to]" has
|
||||
been introduced with a saner order of arguments to replace it.
|
||||
|
||||
|
||||
Updates since v1.8.0
|
||||
--------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* Command-line completion scripts for tcsh and zsh have been added.
|
||||
|
||||
* "git-prompt" scriptlet (in contrib/completion) can be told to paint
|
||||
pieces of the hints in the prompt string in colors.
|
||||
|
||||
* Some documentation pages that used to ship only in the plain text
|
||||
format are now formatted in HTML as well.
|
||||
|
||||
* We used to have a workaround for a bug in ancient "less" that
|
||||
causes it to exit without any output when the terminal is resized.
|
||||
The bug has been fixed in "less" version 406 (June 2007), and the
|
||||
workaround has been removed in this release.
|
||||
|
||||
* When "git checkout" checks out a branch, it tells the user how far
|
||||
behind (or ahead) the new branch is relative to the remote tracking
|
||||
branch it builds upon. The message now also advises how to sync
|
||||
them up by pushing or pulling. This can be disabled with the
|
||||
advice.statusHints configuration variable.
|
||||
|
||||
* "git config --get" used to diagnose presence of multiple
|
||||
definitions of the same variable in the same configuration file as
|
||||
an error, but it now applies the "last one wins" rule used by the
|
||||
internal configuration logic. Strictly speaking, this may be an
|
||||
API regression but it is expected that nobody will notice it in
|
||||
practice.
|
||||
|
||||
* A new configuration variable "diff.context" can be used to
|
||||
give the default number of context lines in the patch output, to
|
||||
override the hardcoded default of 3 lines.
|
||||
|
||||
* "git format-patch" learned the "--notes=<ref>" option to give
|
||||
notes for the commit after the three-dash lines in its output.
|
||||
|
||||
* "git log -p -S<string>" now looks for the <string> after applying
|
||||
the textconv filter (if defined); earlier it inspected the contents
|
||||
of the blobs without filtering.
|
||||
|
||||
* "git log --grep=<pcre>" learned to honor the "grep.patterntype"
|
||||
configuration set to "perl".
|
||||
|
||||
* "git replace -d <object>" now interprets <object> as an extended
|
||||
SHA-1 (e.g. HEAD~4 is allowed), instead of only accepting full hex
|
||||
object name.
|
||||
|
||||
* "git rm $submodule" used to punt on removing a submodule working
|
||||
tree to avoid losing the repository embedded in it. Because
|
||||
recent git uses a mechanism to separate the submodule repository
|
||||
from the submodule working tree, "git rm" learned to detect this
|
||||
case and removes the submodule working tree when it is safe to do so.
|
||||
|
||||
* "git send-email" used to prompt for the sender address, even when
|
||||
the committer identity is well specified (e.g. via user.name and
|
||||
user.email configuration variables). The command no longer gives
|
||||
this prompt when not necessary.
|
||||
|
||||
* "git send-email" did not allow non-address garbage strings to
|
||||
appear after addresses on Cc: lines in the patch files (and when
|
||||
told to pick them up to find more recipients), e.g.
|
||||
|
||||
Cc: Stable Kernel <stable@k.org> # for v3.2 and up
|
||||
|
||||
The command now strips " # for v3.2 and up" part before adding the
|
||||
remainder of this line to the list of recipients.
|
||||
|
||||
* "git submodule add" learned to add a new submodule at the same
|
||||
path as the path where an unrelated submodule was bound to in an
|
||||
existing revision via the "--name" option.
|
||||
|
||||
* "git submodule sync" learned the "--recursive" option.
|
||||
|
||||
* "diff.submodule" configuration variable can be used to give custom
|
||||
default value to the "git diff --submodule" option.
|
||||
|
||||
* "git symbolic-ref" learned the "-d $symref" option to delete the
|
||||
named symbolic ref, which is more intuitive way to spell it than
|
||||
"update-ref -d --no-deref $symref".
|
||||
|
||||
|
||||
Foreign Interface
|
||||
|
||||
* "git cvsimport" can be told to record timezones (other than GMT)
|
||||
per-author via its author info file.
|
||||
|
||||
* The remote helper interface to interact with subversion
|
||||
repositories (one of the GSoC 2012 projects) has been merged.
|
||||
|
||||
* A new remote-helper interface for Mercurial has been added to
|
||||
contrib/remote-helpers.
|
||||
|
||||
* The documentation for git(1) was pointing at a page at an external
|
||||
site for the list of authors that no longer existed. The link has
|
||||
been updated to point at an alternative site.
|
||||
|
||||
|
||||
Performance, Internal Implementation, etc.
|
||||
|
||||
* Compilation on Cygwin with newer header files are supported now.
|
||||
|
||||
* A couple of low-level implementation updates on MinGW.
|
||||
|
||||
* The logic to generate the initial advertisement from "upload-pack"
|
||||
(i.e. what is invoked by "git fetch" on the other side of the
|
||||
connection) to list what refs are available in the repository has
|
||||
been optimized.
|
||||
|
||||
* The logic to find set of attributes that match a given path has
|
||||
been optimized.
|
||||
|
||||
* Use preloadindex in "git diff-index" and "git update-index", which
|
||||
has a nice speedup on systems with slow stat calls (and even on
|
||||
Linux).
|
||||
|
||||
|
||||
Also contains minor documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v1.8.0
|
||||
------------------
|
||||
|
||||
Unless otherwise noted, all the fixes since v1.8.0 in the maintenance
|
||||
track are contained in this release (see release notes to them for
|
||||
details).
|
||||
|
||||
* The configuration parser had an unnecessary hardcoded limit on
|
||||
variable names that was not checked consistently.
|
||||
|
||||
* The "say" function in the test scaffolding incorrectly allowed
|
||||
"echo" to interpret "\a" as if it were a C-string asking for a
|
||||
BEL output.
|
||||
|
||||
* "git mergetool" feeds /dev/null as a common ancestor when dealing
|
||||
with an add/add conflict, but p4merge backend cannot handle
|
||||
it. Work it around by passing a temporary empty file.
|
||||
|
||||
* "git log -F -E --grep='<ere>'" failed to use the given <ere>
|
||||
pattern as extended regular expression, and instead looked for the
|
||||
string literally.
|
||||
|
||||
* "git grep -e pattern <tree>" asked the attribute system to read
|
||||
"<tree>:.gitattributes" file in the working tree, which was
|
||||
nonsense.
|
||||
|
||||
* A symbolic ref refs/heads/SYM was not correctly removed with "git
|
||||
branch -d SYM"; the command removed the ref pointed by SYM
|
||||
instead.
|
||||
|
||||
* Update "remote tracking branch" in the documentation to
|
||||
"remote-tracking branch".
|
||||
|
||||
* "git pull --rebase" run while the HEAD is detached tried to find
|
||||
the upstream branch of the detached HEAD (which by definition
|
||||
does not exist) and emitted unnecessary error messages.
|
||||
|
||||
* The refs/replace hierarchy was not mentioned in the
|
||||
repository-layout docs.
|
||||
|
||||
* Various rfc2047 quoting issues around a non-ASCII name on the
|
||||
From: line in the output from format-patch have been corrected.
|
||||
|
||||
* Sometimes curl_multi_timeout() function suggested a wrong timeout
|
||||
value when there is no file descriptor to wait on and the http
|
||||
transport ended up sleeping for minutes in select(2) system call.
|
||||
A workaround has been added for this.
|
||||
|
||||
* For a fetch refspec (or the result of applying wildcard on one),
|
||||
we always want the RHS to map to something inside "refs/"
|
||||
hierarchy, but the logic to check it was not exactly right.
|
||||
(merge 5c08c1f jc/maint-fetch-tighten-refname-check later to maint).
|
||||
|
||||
* "git diff -G<pattern>" did not honor textconv filter when looking
|
||||
for changes.
|
||||
|
||||
* Some HTTP servers ask for auth only during the actual packing phase
|
||||
(not in ls-remote phase); this is not really a recommended
|
||||
configuration, but the clients used to fail to authenticate with
|
||||
such servers.
|
||||
(merge 2e736fd jk/maint-http-half-auth-fetch later to maint).
|
||||
|
||||
* "git p4" used to try expanding malformed "$keyword$" that spans
|
||||
across multiple lines.
|
||||
|
||||
* Syntax highlighting in "gitweb" was not quite working.
|
||||
|
||||
* RSS feed from "gitweb" had a xss hole in its title output.
|
||||
|
||||
* "git config --path $key" segfaulted on "[section] key" (a boolean
|
||||
"true" spelled without "=", not "[section] key = true").
|
||||
|
||||
* "git checkout -b foo" while on an unborn branch did not say
|
||||
"Switched to a new branch 'foo'" like other cases.
|
||||
|
||||
* Various codepaths have workaround for a common misconfiguration to
|
||||
spell "UTF-8" as "utf8", but it was not used uniformly. Most
|
||||
notably, mailinfo (which is used by "git am") lacked this support.
|
||||
|
||||
* We failed to mention a file without any content change but whose
|
||||
permission bit was modified, or (worse yet) a new file without any
|
||||
content in the "git diff --stat" output.
|
||||
|
||||
* When "--stat-count" hides a diffstat for binary contents, the total
|
||||
number of added and removed lines at the bottom was computed
|
||||
incorrectly.
|
||||
|
||||
* When "--stat-count" hides a diffstat for unmerged paths, the total
|
||||
number of affected files at the bottom of the "diff --stat" output
|
||||
was computed incorrectly.
|
||||
|
||||
* "diff --shortstat" miscounted the total number of affected files
|
||||
when there were unmerged paths.
|
||||
|
||||
* "update-ref -d --deref SYM" to delete a ref through a symbolic ref
|
||||
that points to it did not remove it correctly.
|
115
Documentation/RelNotes/1.8.2.1.txt
Normal file
115
Documentation/RelNotes/1.8.2.1.txt
Normal file
@ -0,0 +1,115 @@
|
||||
Git v1.8.2.1 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.8.2
|
||||
------------------
|
||||
|
||||
* An earlier change to the attribute system introduced at v1.8.1.2 by
|
||||
mistake stopped a pattern "dir" (without trailing slash) from
|
||||
matching a directory "dir" (it only wanted to allow pattern "dir/"
|
||||
to also match).
|
||||
|
||||
* Verification of signed tags were not done correctly when not in C
|
||||
or en/US locale.
|
||||
|
||||
* 'git commit -m "$msg"' used to add an extra newline even when
|
||||
$msg already ended with one.
|
||||
|
||||
* The "--match=<pattern>" option of "git describe", when used with
|
||||
"--all" to allow refs that are not annotated tags to be used as a
|
||||
base of description, did not restrict the output from the command
|
||||
to those that match the given pattern.
|
||||
|
||||
* An aliased command spawned from a bare repository that does not say
|
||||
it is bare with "core.bare = yes" is treated as non-bare by mistake.
|
||||
|
||||
* When "format-patch" quoted a non-ascii strings on the header files,
|
||||
it incorrectly applied rfc2047 and chopped a single character in
|
||||
the middle of it.
|
||||
|
||||
* "git archive" reports a failure when asked to create an archive out
|
||||
of an empty tree. It would be more intuitive to give an empty
|
||||
archive back in such a case.
|
||||
|
||||
* "git tag -f <tag>" always said "Updated tag '<tag>'" even when
|
||||
creating a new tag (i.e. not overwriting nor updating).
|
||||
|
||||
* "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and
|
||||
instead the parser kept reading beyond the end of the string.
|
||||
|
||||
* Annotated tags outside refs/tags/ hierarchy were not advertised
|
||||
correctly to the ls-remote and fetch with recent version of Git.
|
||||
|
||||
* The code to keep track of what directory names are known to Git on
|
||||
platforms with case insensitive filesystems can get confused upon a
|
||||
hash collision between these pathnames and looped forever.
|
||||
|
||||
* The logic used by "git diff -M --stat" to shorten the names of
|
||||
files before and after a rename did not work correctly when the
|
||||
common prefix and suffix between the two filenames overlapped.
|
||||
|
||||
* "git submodule update", when recursed into sub-submodules, did not
|
||||
acccumulate the prefix paths.
|
||||
|
||||
* "git am $maildir/" applied messages in an unexpected order; sort
|
||||
filenames read from the maildir/ in a way that is more likely to
|
||||
sort messages in the order the writing MUA meant to, by sorting
|
||||
numeric segment in numeric order and non-numeric segment in
|
||||
alphabetical order.
|
||||
|
||||
* When export-subst is used, "zip" output recorded incorrect
|
||||
size of the file.
|
||||
|
||||
* Some platforms and users spell UTF-8 differently; retry with the
|
||||
most official "UTF-8" when the system does not understand the
|
||||
user-supplied encoding name that are the common alternative
|
||||
spellings of UTF-8.
|
||||
|
||||
* "git branch" did not bother to check nonsense command line
|
||||
parameters and issue errors in many cases.
|
||||
|
||||
* "git update-index -h" did not do the usual "-h(elp)" thing.
|
||||
|
||||
* perl/Git.pm::cat_blob slurped everything in core only to write it
|
||||
out to a file descriptor, which was not a very smart thing to do.
|
||||
|
||||
* The SSL peer verification done by "git imap-send" did not ask for
|
||||
Server Name Indication (RFC 4366), failing to connect SSL/TLS
|
||||
sites that serve multiple hostnames on a single IP.
|
||||
|
||||
* "git index-pack" had a buffer-overflow while preparing an
|
||||
informational message when the translated version of it was too
|
||||
long.
|
||||
|
||||
* Clarify in the documentation "what" gets pushed to "where" when the
|
||||
command line to "git push" does not say these explicitly.
|
||||
|
||||
* In "git reflog expire", REACHABLE bit was not cleared from the
|
||||
correct objects.
|
||||
|
||||
* The "--color=<when>" argument to the commands in the diff family
|
||||
was described poorly.
|
||||
|
||||
* The arguments given to pre-rebase hook were not documented.
|
||||
|
||||
* The v4 index format was not documented.
|
||||
|
||||
* The "--match=<pattern>" argument "git describe" takes uses glob
|
||||
pattern but it wasn't obvious from the documentation.
|
||||
|
||||
* Some sources failed to compile on systems that lack NI_MAXHOST in
|
||||
their system header (e.g. z/OS).
|
||||
|
||||
* Add an example use of "--env-filter" in "filter-branch"
|
||||
documentation.
|
||||
|
||||
* "git bundle verify" did not say "records a complete history" for a
|
||||
bundle that does not have any prerequisites.
|
||||
|
||||
* In the v1.8.0 era, we changed symbols that do not have to be global
|
||||
to file scope static, but a few functions in graph.c were used by
|
||||
CGit from sideways bypassing the entry points of the API the
|
||||
in-tree users use.
|
||||
|
||||
* "git merge-tree" had a typo in the logic to detect d/f conflicts,
|
||||
which caused it to segfault in some cases.
|
61
Documentation/RelNotes/1.8.2.2.txt
Normal file
61
Documentation/RelNotes/1.8.2.2.txt
Normal file
@ -0,0 +1,61 @@
|
||||
Git v1.8.2.2 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.8.2.1
|
||||
--------------------
|
||||
|
||||
* Zsh completion forgot that '%' character used to signal untracked
|
||||
files needs to be escaped with another '%'.
|
||||
|
||||
* A commit object whose author or committer ident are malformed
|
||||
crashed some code that trusted that a name, an email and an
|
||||
timestamp can always be found in it.
|
||||
|
||||
* The new core.commentchar configuration was not applied to a few
|
||||
places.
|
||||
|
||||
* "git pull --rebase" did not pass "-v/-q" options to underlying
|
||||
"git rebase".
|
||||
|
||||
* When receive-pack detects error in the pack header it received in
|
||||
order to decide which of unpack-objects or index-pack to run, it
|
||||
returned without closing the error stream, which led to a hang
|
||||
sideband thread.
|
||||
|
||||
* "git diff --diff-algorithm=algo" was understood by the command line
|
||||
parser, but "git diff --diff-algorithm algo" was not.
|
||||
|
||||
* "git log -S/-G" started paying attention to textconv filter, but
|
||||
there was no way to disable this. Make it honor --no-textconv
|
||||
option.
|
||||
|
||||
* "git merge $(git rev-parse v1.8.2)" behaved quite differently from
|
||||
"git merge v1.8.2", as if v1.8.2 were written as v1.8.2^0 and did
|
||||
not pay much attention to the annotated tag payload. Make the code
|
||||
notice the type of the tag object, in addition to the dwim_ref()
|
||||
based classification the current code uses (i.e. the name appears
|
||||
in refs/tags/) to decide when to special case merging of tags.
|
||||
|
||||
* "git cherry-pick" and "git revert" can take more than one commit
|
||||
on the command line these days, but it was not mentioned on the usage
|
||||
text.
|
||||
|
||||
* Perl scripts like "git-svn" closed (not redirecting to /dev/null)
|
||||
the standard error stream, which is not a very smart thing to do.
|
||||
Later open may return file descriptor #2 for unrelated purpose, and
|
||||
error reporting code may write into them.
|
||||
|
||||
* "git apply --whitespace=fix" was not prepared to see a line getting
|
||||
longer after fixing whitespaces (e.g. tab-in-indent aka Python).
|
||||
|
||||
* "git diff/log --cc" did not work well with options that ignore
|
||||
whitespace changes.
|
||||
|
||||
* Documentation on setting up a http server that requires
|
||||
authentication only on the push but not fetch has been clarified.
|
||||
|
||||
* A few bugfixes to "git rerere" working on corner case merge
|
||||
conflicts have been applied.
|
||||
|
||||
* "git bundle" did not like a bundle created using a commit without
|
||||
any message as its one of the prerequistes.
|
495
Documentation/RelNotes/1.8.2.txt
Normal file
495
Documentation/RelNotes/1.8.2.txt
Normal file
@ -0,0 +1,495 @@
|
||||
Git v1.8.2 Release Notes
|
||||
========================
|
||||
|
||||
Backward compatibility notes (this release)
|
||||
-------------------------------------------
|
||||
|
||||
"git push $there tag v1.2.3" used to allow replacing a tag v1.2.3
|
||||
that already exists in the repository $there, if the rewritten tag
|
||||
you are pushing points at a commit that is a descendant of a commit
|
||||
that the old tag v1.2.3 points at. This was found to be error prone
|
||||
and starting with this release, any attempt to update an existing
|
||||
ref under refs/tags/ hierarchy will fail, without "--force".
|
||||
|
||||
When "git add -u" and "git add -A" that does not specify what paths
|
||||
to add on the command line is run from inside a subdirectory, the
|
||||
scope of the operation has always been limited to the subdirectory.
|
||||
Many users found this counter-intuitive, given that "git commit -a"
|
||||
and other commands operate on the entire tree regardless of where you
|
||||
are. In this release, these commands give a warning message that
|
||||
suggests the users to use "git add -u/-A ." when they want to limit
|
||||
the scope to the current directory; doing so will squelch the message,
|
||||
while training their fingers.
|
||||
|
||||
|
||||
Backward compatibility notes (for Git 2.0)
|
||||
------------------------------------------
|
||||
|
||||
When "git push [$there]" does not say what to push, we have used the
|
||||
traditional "matching" semantics so far (all your branches were sent
|
||||
to the remote as long as there already are branches of the same name
|
||||
over there). In Git 2.0, the default will change to the "simple"
|
||||
semantics that pushes the current branch to the branch with the same
|
||||
name, only when the current branch is set to integrate with that
|
||||
remote branch. There is a user preference configuration variable
|
||||
"push.default" to change this. If you are an old-timer who is used
|
||||
to the "matching" semantics, you can set it to "matching" to keep the
|
||||
traditional behaviour. If you want to live in the future early,
|
||||
you can set it to "simple" today without waiting for Git 2.0.
|
||||
|
||||
When "git add -u" and "git add -A", that does not specify what paths
|
||||
to add on the command line is run from inside a subdirectory, these
|
||||
commands will operate on the entire tree in Git 2.0 for consistency
|
||||
with "git commit -a" and other commands. Because there will be no
|
||||
mechanism to make "git add -u" behave as if "git add -u .", it is
|
||||
important for those who are used to "git add -u" (without pathspec)
|
||||
updating the index only for paths in the current subdirectory to start
|
||||
training their fingers to explicitly say "git add -u ." when they mean
|
||||
it before Git 2.0 comes.
|
||||
|
||||
|
||||
Updates since v1.8.1
|
||||
--------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* Initial ports to QNX and z/OS UNIX System Services have started.
|
||||
|
||||
* Output from the tests is coloured using "green is okay, yellow is
|
||||
questionable, red is bad and blue is informative" scheme.
|
||||
|
||||
* Mention of "GIT/Git/git" in the documentation have been updated to
|
||||
be more uniform and consistent. The name of the system and the
|
||||
concept it embodies is "Git"; the command the users type is "git".
|
||||
All-caps "GIT" was merely a way to imitate "Git" typeset in small
|
||||
caps in our ASCII text only documentation and to be avoided.
|
||||
|
||||
* The completion script (in contrib/completion) used to let the
|
||||
default completer to suggest pathnames, which gave too many
|
||||
irrelevant choices (e.g. "git add" would not want to add an
|
||||
unmodified path). It learnt to use a more git-aware logic to
|
||||
enumerate only relevant ones.
|
||||
|
||||
* In bare repositories, "git shortlog" and other commands now read
|
||||
mailmap files from the tip of the history, to help running these
|
||||
tools in server settings.
|
||||
|
||||
* Color specifiers, e.g. "%C(blue)Hello%C(reset)", used in the
|
||||
"--format=" option of "git log" and friends can be disabled when
|
||||
the output is not sent to a terminal by prefixing them with
|
||||
"auto,", e.g. "%C(auto,blue)Hello%C(auto,reset)".
|
||||
|
||||
* Scripts can ask Git that wildcard patterns in pathspecs they give do
|
||||
not have any significance, i.e. take them as literal strings.
|
||||
|
||||
* The patterns in .gitignore and .gitattributes files can have **/,
|
||||
as a pattern that matches 0 or more levels of subdirectory.
|
||||
E.g. "foo/**/bar" matches "bar" in "foo" itself or in a
|
||||
subdirectory of "foo".
|
||||
|
||||
* When giving arguments without "--" disambiguation, object names
|
||||
that come earlier on the command line must not be interpretable as
|
||||
pathspecs and pathspecs that come later on the command line must
|
||||
not be interpretable as object names. This disambiguation rule has
|
||||
been tweaked so that ":/" (no other string before or after) is
|
||||
always interpreted as a pathspec; "git cmd -- :/" is no longer
|
||||
needed, you can just say "git cmd :/".
|
||||
|
||||
* Various "hint" lines Git gives when it asks the user to edit
|
||||
messages in the editor are commented out with '#' by default. The
|
||||
core.commentchar configuration variable can be used to customize
|
||||
this '#' to a different character.
|
||||
|
||||
* "git add -u" and "git add -A" without pathspec issues warning to
|
||||
make users aware that they are only operating on paths inside the
|
||||
subdirectory they are in. Use ":/" (everything from the top) or
|
||||
"." (everything from the $cwd) to disambiguate.
|
||||
|
||||
* "git blame" (and "git diff") learned the "--no-follow" option.
|
||||
|
||||
* "git branch" now rejects some nonsense combinations of command line
|
||||
arguments (e.g. giving more than one branch name to rename) with
|
||||
more case-specific error messages.
|
||||
|
||||
* "git check-ignore" command to help debugging .gitignore files has
|
||||
been added.
|
||||
|
||||
* "git cherry-pick" can be used to replay a root commit to an unborn
|
||||
branch.
|
||||
|
||||
* "git commit" can be told to use --cleanup=whitespace by setting the
|
||||
configuration variable commit.cleanup to 'whitespace'.
|
||||
|
||||
* "git diff" and other Porcelain commands can be told to use a
|
||||
non-standard algorithm by setting diff.algorithm configuration
|
||||
variable.
|
||||
|
||||
* "git fetch --mirror" and fetch that uses other forms of refspec
|
||||
with wildcard used to attempt to update a symbolic ref that match
|
||||
the wildcard on the receiving end, which made little sense (the
|
||||
real ref that is pointed at by the symbolic ref would be updated
|
||||
anyway). Symbolic refs no longer are affected by such a fetch.
|
||||
|
||||
* "git format-patch" now detects more cases in which a whole branch
|
||||
is being exported, and uses the description for the branch, when
|
||||
asked to write a cover letter for the series.
|
||||
|
||||
* "git format-patch" learned "-v $count" option, and prepends a
|
||||
string "v$count-" to the names of its output files, and also
|
||||
automatically sets the subject prefix to "PATCH v$count". This
|
||||
allows patches from rerolled series to be stored under different
|
||||
names and makes it easier to reuse cover letter messages.
|
||||
|
||||
* "git log" and friends can be told with --use-mailmap option to
|
||||
rewrite the names and email addresses of people using the mailmap
|
||||
mechanism.
|
||||
|
||||
* "git log --cc --graph" now shows the combined diff output with the
|
||||
ancestry graph.
|
||||
|
||||
* "git log --grep=<pattern>" honors i18n.logoutputencoding to look
|
||||
for the pattern after fixing the log message to the specified
|
||||
encoding.
|
||||
|
||||
* "git mergetool" and "git difftool" learned to list the available
|
||||
tool backends in a more consistent manner.
|
||||
|
||||
* "git mergetool" is aware of TortoiseGitMerge now and uses it over
|
||||
TortoiseMerge when available.
|
||||
|
||||
* "git push" now requires "-f" to update a tag, even if it is a
|
||||
fast-forward, as tags are meant to be fixed points.
|
||||
|
||||
* Error messages from "git push" when it stops to prevent remote refs
|
||||
from getting overwritten by mistake have been improved to explain
|
||||
various situations separately.
|
||||
|
||||
* "git push" will stop without doing anything if the new "pre-push"
|
||||
hook exists and exits with a failure.
|
||||
|
||||
* When "git rebase" fails to generate patches to be applied (e.g. due
|
||||
to oom), it failed to detect the failure and instead behaved as if
|
||||
there were nothing to do. A workaround to use a temporary file has
|
||||
been applied, but we probably would want to revisit this later, as
|
||||
it hurts the common case of not failing at all.
|
||||
|
||||
* Input and preconditions to "git reset" has been loosened where
|
||||
appropriate. "git reset $fromtree Makefile" requires $fromtree to
|
||||
be any tree (it used to require it to be a commit), for example.
|
||||
"git reset" (without options or parameters) used to error out when
|
||||
you do not have any commits in your history, but it now gives you
|
||||
an empty index (to match non-existent commit you are not even on).
|
||||
|
||||
* "git status" says what branch is being bisected or rebased when
|
||||
able, not just "bisecting" or "rebasing".
|
||||
|
||||
* "git submodule" started learning a new mode to integrate with the
|
||||
tip of the remote branch (as opposed to integrating with the commit
|
||||
recorded in the superproject's gitlink).
|
||||
|
||||
* "git upload-pack" which implements the service "ls-remote" and
|
||||
"fetch" talk to can be told to hide ref hierarchies the server
|
||||
side internally uses (and that clients have no business learning
|
||||
about) with transfer.hiderefs configuration.
|
||||
|
||||
|
||||
Foreign Interface
|
||||
|
||||
* "git fast-export" has been updated for its use in the context of
|
||||
the remote helper interface.
|
||||
|
||||
* A new remote helper to interact with bzr has been added to contrib/.
|
||||
|
||||
* "git p4" got various bugfixes around its branch handling. It is
|
||||
also made usable with Python 2.4/2.5. In addition, its various
|
||||
portability issues for Cygwin have been addressed.
|
||||
|
||||
* The remote helper to interact with Hg in contrib/ has seen a few
|
||||
fixes.
|
||||
|
||||
|
||||
Performance, Internal Implementation, etc.
|
||||
|
||||
* "git fsck" has been taught to be pickier about entries in tree
|
||||
objects that should not be there, e.g. ".", ".git", and "..".
|
||||
|
||||
* Matching paths with common forms of pathspecs that contain wildcard
|
||||
characters has been optimized further.
|
||||
|
||||
* We stopped paying attention to $GIT_CONFIG environment that points
|
||||
at a single configuration file from any command other than "git config"
|
||||
quite a while ago, but "git clone" internally set, exported, and
|
||||
then unexported the variable during its operation unnecessarily.
|
||||
|
||||
* "git reset" internals has been reworked and should be faster in
|
||||
general. We tried to be careful not to break any behaviour but
|
||||
there could be corner cases, especially when running the command
|
||||
from a conflicted state, that we may have missed.
|
||||
|
||||
* The implementation of "imap-send" has been updated to reuse xml
|
||||
quoting code from http-push codepath, and lost a lot of unused
|
||||
code.
|
||||
|
||||
* There is a simple-minded checker for the test scripts in t/
|
||||
directory to catch most common mistakes (it is not enabled by
|
||||
default).
|
||||
|
||||
* You can build with USE_WILDMATCH=YesPlease to use a replacement
|
||||
implementation of pattern matching logic used for pathname-like
|
||||
things, e.g. refnames and paths in the repository. This new
|
||||
implementation is not expected change the existing behaviour of Git
|
||||
in this release, except for "git for-each-ref" where you can now
|
||||
say "refs/**/master" and match with both refs/heads/master and
|
||||
refs/remotes/origin/master. We plan to use this new implementation
|
||||
in wider places (e.g. "git ls-files '**/Makefile' may find Makefile
|
||||
at the top-level, and "git log '**/t*.sh'" may find commits that
|
||||
touch a shell script whose name begins with "t" at any level) in
|
||||
future versions of Git, but we are not there yet. By building with
|
||||
USE_WILDMATCH, using the resulting Git daily and reporting when you
|
||||
find breakages, you can help us get closer to that goal.
|
||||
|
||||
* Some reimplementations of Git do not write all the stat info back
|
||||
to the index due to their implementation limitations (e.g. jgit).
|
||||
A configuration option can tell Git to ignore changes to most of
|
||||
the stat fields and only pay attention to mtime and size, which
|
||||
these implementations can reliably update. This can be used to
|
||||
avoid excessive revalidation of contents.
|
||||
|
||||
* Some platforms ship with old version of expat where xmlparse.h
|
||||
needs to be included instead of expat.h; the build procedure has
|
||||
been taught about this.
|
||||
|
||||
* "make clean" on platforms that cannot compute header dependencies
|
||||
on the fly did not work with implementations of "rm" that do not
|
||||
like an empty argument list.
|
||||
|
||||
Also contains minor documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v1.8.1
|
||||
------------------
|
||||
|
||||
Unless otherwise noted, all the fixes since v1.8.1 in the maintenance
|
||||
track are contained in this release (see release notes to them for
|
||||
details).
|
||||
|
||||
* An element on GIT_CEILING_DIRECTORIES list that does not name the
|
||||
real path to a directory (i.e. a symbolic link) could have caused
|
||||
the GIT_DIR discovery logic to escape the ceiling.
|
||||
|
||||
* When attempting to read the XDG-style $HOME/.config/git/config and
|
||||
finding that $HOME/.config/git is a file, we gave a wrong error
|
||||
message, instead of treating the case as "a custom config file does
|
||||
not exist there" and moving on.
|
||||
|
||||
* The behaviour visible to the end users was confusing, when they
|
||||
attempt to kill a process spawned in the editor that was in turn
|
||||
launched by Git with SIGINT (or SIGQUIT), as Git would catch that
|
||||
signal and die. We ignore these signals now.
|
||||
(merge 0398fc34 pf/editor-ignore-sigint later to maint).
|
||||
|
||||
* A child process that was killed by a signal (e.g. SIGINT) was
|
||||
reported in an inconsistent way depending on how the process was
|
||||
spawned by us, with or without a shell in between.
|
||||
|
||||
* After failing to create a temporary file using mkstemp(), failing
|
||||
pathname was not reported correctly on some platforms.
|
||||
|
||||
* We used to stuff "user@" and then append what we read from
|
||||
/etc/mailname to come up with a default e-mail ident, but a bug
|
||||
lost the "user@" part.
|
||||
|
||||
* The attribute mechanism didn't allow limiting attributes to be
|
||||
applied to only a single directory itself with "path/" like the
|
||||
exclude mechanism does. The initial implementation of this that
|
||||
was merged to 'maint' and 1.8.1.2 was with a severe performance
|
||||
degradations and needs to merge a fix-up topic.
|
||||
|
||||
* The smart HTTP clients forgot to verify the content-type that comes
|
||||
back from the server side to make sure that the request is being
|
||||
handled properly.
|
||||
|
||||
* "git am" did not parse datestamp correctly from Hg generated patch,
|
||||
when it is run in a locale outside C (or en).
|
||||
|
||||
* "git apply" misbehaved when fixing whitespace breakages by removing
|
||||
excess trailing blank lines.
|
||||
|
||||
* "git apply --summary" has been taught to make sure the similarity
|
||||
value shown in its output is sensible, even when the input had a
|
||||
bogus value.
|
||||
|
||||
* A tar archive created by "git archive" recorded a directory in a
|
||||
way that made NetBSD's implementation of "tar" sometimes unhappy.
|
||||
|
||||
* "git archive" did not record uncompressed size in the header when
|
||||
streaming a zip archive, which confused some implementations of unzip.
|
||||
|
||||
* "git archive" did not parse configuration values in tar.* namespace
|
||||
correctly.
|
||||
(merge b3873c3 jk/config-parsing-cleanup later to maint).
|
||||
|
||||
* Attempt to "branch --edit-description" an existing branch, while
|
||||
being on a detached HEAD, errored out.
|
||||
|
||||
* "git clean" showed what it was going to do, but sometimes end up
|
||||
finding that it was not allowed to do so, which resulted in a
|
||||
confusing output (e.g. after saying that it will remove an
|
||||
untracked directory, it found an embedded git repository there
|
||||
which it is not allowed to remove). It now performs the actions
|
||||
and then reports the outcome more faithfully.
|
||||
|
||||
* When "git clone --separate-git-dir=$over_there" is interrupted, it
|
||||
failed to remove the real location of the $GIT_DIR it created.
|
||||
This was most visible when interrupting a submodule update.
|
||||
|
||||
* "git cvsimport" mishandled timestamps at DST boundary.
|
||||
|
||||
* We used to have an arbitrary 32 limit for combined diff input,
|
||||
resulting in incorrect number of leading colons shown when showing
|
||||
the "--raw --cc" output.
|
||||
|
||||
* "git fetch --depth" was broken in at least three ways. The
|
||||
resulting history was deeper than specified by one commit, it was
|
||||
unclear how to wipe the shallowness of the repository with the
|
||||
command, and documentation was misleading.
|
||||
(merge cfb70e1 nd/fetch-depth-is-broken later to maint).
|
||||
|
||||
* "git log --all -p" that walked refs/notes/textconv/ ref can later
|
||||
try to use the textconv data incorrectly after it gets freed.
|
||||
|
||||
* We forgot to close the file descriptor reading from "gpg" output,
|
||||
killing "git log --show-signature" on a long history.
|
||||
|
||||
* The way "git svn" asked for password using SSH_ASKPASS and
|
||||
GIT_ASKPASS was not in line with the rest of the system.
|
||||
|
||||
* The --graph code fell into infinite loop when asked to do what the
|
||||
code did not expect.
|
||||
|
||||
* http transport was wrong to ask for the username when the
|
||||
authentication is done by certificate identity.
|
||||
|
||||
* "git pack-refs" that ran in parallel to another process that
|
||||
created new refs had a nasty race.
|
||||
|
||||
* Rebasing the history of superproject with change in the submodule
|
||||
has been broken since v1.7.12.
|
||||
|
||||
* After "git add -N" and then writing a tree object out of the
|
||||
index, the cache-tree data structure got corrupted.
|
||||
|
||||
* "git clone" used to allow --bare and --separate-git-dir=$there
|
||||
options at the same time, which was nonsensical.
|
||||
|
||||
* "git rebase --preserve-merges" lost empty merges in recent versions
|
||||
of Git.
|
||||
|
||||
* "git merge --no-edit" computed who were involved in the work done
|
||||
on the side branch, even though that information is to be discarded
|
||||
without getting seen in the editor.
|
||||
|
||||
* "git merge" started calling prepare-commit-msg hook like "git
|
||||
commit" does some time ago, but forgot to pay attention to the exit
|
||||
status of the hook.
|
||||
|
||||
* A failure to push due to non-ff while on an unborn branch
|
||||
dereferenced a NULL pointer when showing an error message.
|
||||
|
||||
* When users spell "cc:" in lowercase in the fake "header" in the
|
||||
trailer part, "git send-email" failed to pick up the addresses from
|
||||
there. As e-mail headers field names are case insensitive, this
|
||||
script should follow suit and treat "cc:" and "Cc:" the same way.
|
||||
|
||||
* Output from "git status --ignored" showed an unexpected interaction
|
||||
with "--untracked".
|
||||
|
||||
* "gitweb", when sorting by age to show repositories with new
|
||||
activities first, used to sort repositories with absolutely
|
||||
nothing in it early, which was not very useful.
|
||||
|
||||
* "gitweb"'s code to sanitize control characters before passing it to
|
||||
"highlight" filter lost known-to-be-safe control characters by
|
||||
mistake.
|
||||
|
||||
* "gitweb" pages served over HTTPS, when configured to show picon or
|
||||
gravatar, referred to these external resources to be fetched via
|
||||
HTTP, resulting in mixed contents warning in browsers.
|
||||
|
||||
* When a line to be wrapped has a solid run of non space characters
|
||||
whose length exactly is the wrap width, "git shortlog -w" failed
|
||||
to add a newline after such a line.
|
||||
|
||||
* Command line completion leaked an unnecessary error message while
|
||||
looking for possible matches with paths in <tree-ish>.
|
||||
|
||||
* Command line completion for "tcsh" emitted an unwanted space
|
||||
after completing a single directory name.
|
||||
|
||||
* Command line completion code was inadvertently made incompatible with
|
||||
older versions of bash by using a newer array notation.
|
||||
|
||||
* "git push" was taught to refuse updating the branch that is
|
||||
currently checked out long time ago, but the user manual was left
|
||||
stale.
|
||||
(merge 50995ed wk/man-deny-current-branch-is-default-these-days later to maint).
|
||||
|
||||
* Some shells do not behave correctly when IFS is unset; work it
|
||||
around by explicitly setting it to the default value.
|
||||
|
||||
* Some scripted programs written in Python did not get updated when
|
||||
PYTHON_PATH changed.
|
||||
(cherry-pick 96a4647fca54031974cd6ad1 later to maint).
|
||||
|
||||
* When autoconf is used, any build on a different commit always ran
|
||||
"config.status --recheck" even when unnecessary.
|
||||
|
||||
* A fix was added to the build procedure to work around buggy
|
||||
versions of ccache broke the auto-generation of dependencies, which
|
||||
unfortunately is still relevant because some people use ancient
|
||||
distros.
|
||||
|
||||
* The autoconf subsystem passed --mandir down to generated
|
||||
config.mak.autogen but forgot to do the same for --htmldir.
|
||||
(merge 55d9bf0 ct/autoconf-htmldir later to maint).
|
||||
|
||||
* A change made on v1.8.1.x maintenance track had a nasty regression
|
||||
to break the build when autoconf is used.
|
||||
(merge 7f1b697 jn/less-reconfigure later to maint).
|
||||
|
||||
* We have been carrying a translated and long-unmaintained copy of an
|
||||
old version of the tutorial; removed.
|
||||
|
||||
* t0050 had tests expecting failures from a bug that was fixed some
|
||||
time ago.
|
||||
|
||||
* t4014, t9502 and t0200 tests had various portability issues that
|
||||
broke on OpenBSD.
|
||||
|
||||
* t9020 and t3600 tests had various portability issues.
|
||||
|
||||
* t9200 runs "cvs init" on a directory that already exists, but a
|
||||
platform can configure this fail for the current user (e.g. you
|
||||
need to be in the cvsadmin group on NetBSD 6.0).
|
||||
|
||||
* t9020 and t9810 had a few non-portable shell script construct.
|
||||
|
||||
* Scripts to test bash completion was inherently flaky as it was
|
||||
affected by whatever random things the user may have on $PATH.
|
||||
|
||||
* An element on GIT_CEILING_DIRECTORIES could be a "logical" pathname
|
||||
that uses a symbolic link to point at somewhere else (e.g. /home/me
|
||||
that points at /net/host/export/home/me, and the latter directory
|
||||
is automounted). Earlier when Git saw such a pathname e.g. /home/me
|
||||
on this environment variable, the "ceiling" mechanism did not take
|
||||
effect. With this release (the fix has also been merged to the
|
||||
v1.8.1.x maintenance series), elements on GIT_CEILING_DIRECTORIES
|
||||
are by default checked for such aliasing coming from symbolic
|
||||
links. As this needs to actually resolve symbolic links for each
|
||||
element on the GIT_CEILING_DIRECTORIES, you can disable this
|
||||
mechanism for some elements by listing them after an empty element
|
||||
on the GIT_CEILING_DIRECTORIES. e.g. Setting /home/me::/home/him to
|
||||
GIT_CEILING_DIRECTORIES makes Git resolve symbolic links in
|
||||
/home/me when checking if the current directory is under /home/me,
|
||||
but does not do so for /home/him.
|
||||
(merge 7ec30aa mh/maint-ceil-absolute later to maint).
|
430
Documentation/RelNotes/1.8.3.txt
Normal file
430
Documentation/RelNotes/1.8.3.txt
Normal file
@ -0,0 +1,430 @@
|
||||
Git v1.8.3 Release Notes
|
||||
========================
|
||||
|
||||
Backward compatibility notes (for Git 2.0)
|
||||
------------------------------------------
|
||||
|
||||
When "git push [$there]" does not say what to push, we have used the
|
||||
traditional "matching" semantics so far (all your branches were sent
|
||||
to the remote as long as there already are branches of the same name
|
||||
over there). In Git 2.0, the default will change to the "simple"
|
||||
semantics that pushes only the current branch to the branch with the same
|
||||
name, and only when the current branch is set to integrate with that
|
||||
remote branch. Use the user preference configuration variable
|
||||
"push.default" to change this. If you are an old-timer who is used
|
||||
to the "matching" semantics, you can set the variable to "matching"
|
||||
to keep the traditional behaviour. If you want to live in the future
|
||||
early, you can set it to "simple" today without waiting for Git 2.0.
|
||||
|
||||
When "git add -u" (and "git add -A") is run inside a subdirectory and
|
||||
does not specify which paths to add on the command line, it
|
||||
will operate on the entire tree in Git 2.0 for consistency
|
||||
with "git commit -a" and other commands. There will be no
|
||||
mechanism to make plain "git add -u" behave like "git add -u .".
|
||||
Current users of "git add -u" (without a pathspec) should start
|
||||
training their fingers to explicitly say "git add -u ."
|
||||
before Git 2.0 comes. A warning is issued when these commands are
|
||||
run without a pathspec and when you have local changes outside the
|
||||
current directory, because the behaviour in Git 2.0 will be different
|
||||
from today's version in such a situation.
|
||||
|
||||
In Git 2.0, "git add <path>" will behave as "git add -A <path>", so
|
||||
that "git add dir/" will notice paths you removed from the directory
|
||||
and record the removal. Versions before Git 2.0, including this
|
||||
release, will keep ignoring removals, but the users who rely on this
|
||||
behaviour are encouraged to start using "git add --ignore-removal <path>"
|
||||
now before 2.0 is released.
|
||||
|
||||
|
||||
Updates since v1.8.2
|
||||
--------------------
|
||||
|
||||
Foreign interface
|
||||
|
||||
* remote-hg and remote-bzr helpers (in contrib/) have been updated.
|
||||
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* The prompt string generator (in contrib/completion/) learned to
|
||||
show how many changes there are in total and how many have been
|
||||
replayed during a "git rebase" session.
|
||||
|
||||
* "git branch --vv" learned to paint the name of the branch it
|
||||
integrates with in a different color (color.branch.upstream,
|
||||
which defaults to blue).
|
||||
|
||||
* In a sparsely populated working tree, "git checkout <pathspec>" no
|
||||
longer unmarks paths that match the given pathspec that were
|
||||
originally ignored with "--sparse" (use --ignore-skip-worktree-bits
|
||||
option to resurrect these paths out of the index if you really want
|
||||
to).
|
||||
|
||||
* "git log --format" specifier learned %C(auto) token that tells Git
|
||||
to use color when interpolating %d (decoration), %h (short commit
|
||||
object name), etc. for terminal output.
|
||||
|
||||
* "git bisect" leaves the final outcome as a comment in its bisect
|
||||
log file.
|
||||
|
||||
* "git clone --reference" can now refer to a gitfile "textual symlink"
|
||||
that points at the real location of the repository.
|
||||
|
||||
* "git count-objects" learned "--human-readable" aka "-H" option to
|
||||
show various large numbers in Ki/Mi/GiB scaled as necessary.
|
||||
|
||||
* "git cherry-pick $blob" and "git cherry-pick $tree" are nonsense,
|
||||
and a more readable error message e.g. "can't cherry-pick a tree"
|
||||
is given (we used to say "expected exactly one commit").
|
||||
|
||||
* The "--annotate" option to "git send-email" can be turned on (or
|
||||
off) by default with sendemail.annotate configuration variable (you
|
||||
can use --no-annotate from the command line to override it).
|
||||
|
||||
* The "--cover-letter" option to "git format-patch" can be turned on
|
||||
(or off) by default with format.coverLetter configuration
|
||||
variable. By setting it to 'auto', you can turn it on only for a
|
||||
series with two or more patches.
|
||||
|
||||
* The bash completion support (in contrib/) learned that cherry-pick
|
||||
takes a few more options than it already knew about.
|
||||
|
||||
* "git help" learned "-g" option to show the list of guides just like
|
||||
list of commands are given with "-a".
|
||||
|
||||
* A triangular "pull from one place, push to another place" workflow
|
||||
is supported better by new remote.pushdefault (overrides the
|
||||
"origin" thing) and branch.*.pushremote (overrides the
|
||||
branch.*.remote) configuration variables.
|
||||
|
||||
* "git status" learned to report that you are in the middle of a
|
||||
revert session, just like it does for a cherry-pick and a bisect
|
||||
session.
|
||||
|
||||
* The handling by "git branch --set-upstream-to" against various forms
|
||||
of erroneous inputs was suboptimal and has been improved.
|
||||
|
||||
* When the interactive access to git-shell is not enabled, it issues
|
||||
a message meant to help the system administrator to enable it.
|
||||
An explicit way to help the end users who connect to the service by
|
||||
issuing custom messages to refuse such an access has been added.
|
||||
|
||||
* In addition to the case where the user edits the log message with
|
||||
the "e)dit" option of "am -i", replace the "Applying: this patch"
|
||||
message with the final log message contents after applymsg hook
|
||||
munges it.
|
||||
|
||||
* "git status" suggests users to look into using --untracked=no option
|
||||
when it takes too long.
|
||||
|
||||
* "git status" shows a bit more information during a
|
||||
rebase/bisect session.
|
||||
|
||||
* "git fetch" learned to fetch a commit at the tip of an unadvertised
|
||||
ref by specifying a raw object name from the command line when the
|
||||
server side supports this feature.
|
||||
|
||||
* Output from "git log --graph" works better with submodule log
|
||||
output now.
|
||||
|
||||
* "git count-objects -v" learned to report leftover temporary
|
||||
packfiles and other garbage in the object store.
|
||||
|
||||
* A new read-only credential helper (in contrib/) to interact with
|
||||
the .netrc/.authinfo files has been added.
|
||||
|
||||
* "git send-email" can be used with the credential helper system.
|
||||
|
||||
* There was no Porcelain way to say "I no longer am interested in
|
||||
this submodule", once you express your interest in a submodule with
|
||||
"submodule init". "submodule deinit" is the way to do so.
|
||||
|
||||
* "git pull --rebase" learned to pass "-v/-q" options to underlying
|
||||
"git rebase".
|
||||
|
||||
* The new "--follow-tags" option tells "git push" to push relevant
|
||||
annotated tags when pushing branches out.
|
||||
|
||||
* "git merge" and "git pull" can optionally be told to inspect and
|
||||
reject when merging a commit that does not carry a trusted GPG
|
||||
signature.
|
||||
|
||||
* "git mergetool" now feeds files to the "p4merge" backend in the
|
||||
order that matches the p4 convention, where "theirs" is usually
|
||||
shown on the left side, which is the opposite from what other backends
|
||||
expect.
|
||||
|
||||
* "show/log" now honors gpg.program configuration just like other
|
||||
parts of the code that use GnuPG.
|
||||
|
||||
* "git log" that shows the difference between the parent and the
|
||||
child has been optimized somewhat.
|
||||
|
||||
* "git difftool" allows the user to write into the temporary files
|
||||
being shown; if the user makes changes to the working tree at the
|
||||
same time, it now refrains from overwriting the copy in the working
|
||||
tree and leaves the temporary file so that changes can be merged
|
||||
manually.
|
||||
|
||||
* There was no good way to ask "I have a random string that came from
|
||||
outside world. I want to turn it into a 40-hex object name while
|
||||
making sure such an object exists". A new peeling suffix ^{object}
|
||||
can be used for that purpose, together with "rev-parse --verify".
|
||||
|
||||
|
||||
Performance, Internal Implementation, etc.
|
||||
|
||||
* Updates for building under msvc.
|
||||
|
||||
* A handful of issues in the code that traverses the working tree to find
|
||||
untracked and/or ignored files have been fixed, and the general
|
||||
codepath involved in "status -u" and "clean" have been cleaned up
|
||||
and optimized.
|
||||
|
||||
* The stack footprint of some codepaths that access an object from a
|
||||
pack has been shrunk.
|
||||
|
||||
* The logic to coalesce the same lines removed from the parents in
|
||||
the output from "diff -c/--cc" has been updated, but with O(n^2)
|
||||
complexity, so this might turn out to be undesirable.
|
||||
|
||||
* The code to enforce permission bits on files in $GIT_DIR/ for
|
||||
shared repositories has been simplified.
|
||||
|
||||
* A few codepaths know how much data they need to put in the
|
||||
hashtables they use when they start, but still began with small tables
|
||||
and repeatedly grew and rehashed them.
|
||||
|
||||
* The API to walk reflog entries from the latest to older, which was
|
||||
necessary for operations such as "git checkout -", was cumbersome
|
||||
to use correctly and also inefficient.
|
||||
|
||||
* Codepaths that inspect log-message-to-be and decide when to add a
|
||||
new Signed-off-by line in various commands have been consolidated.
|
||||
|
||||
* The pkt-line API, implementation and its callers have been cleaned
|
||||
up to make them more robust.
|
||||
|
||||
* The Cygwin port has a faster-but-lying lstat(2) emulation whose
|
||||
incorrectness does not matter in practice except for a few
|
||||
codepaths, and setting permission bits on directories is a codepath
|
||||
that needs to use a more correct one.
|
||||
|
||||
* "git checkout" had repeated pathspec matches on the same paths,
|
||||
which have been consolidated. Also a bug in "git checkout dir/"
|
||||
that is started from an unmerged index has been fixed.
|
||||
|
||||
* A few bugfixes to "git rerere" working on corner case merge
|
||||
conflicts have been applied.
|
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups.
|
||||
|
||||
|
||||
Fixes since v1.8.2
|
||||
------------------
|
||||
|
||||
Unless otherwise noted, all the fixes since v1.8.2 in the maintenance
|
||||
track are contained in this release (see release notes to them for
|
||||
details).
|
||||
|
||||
* Recent versions of File::Temp (used by "git svn") started blowing
|
||||
up when its tempfile sub is called as a class method; updated the
|
||||
callsite to call it as a plain vanilla function to fix it.
|
||||
(merge eafc2dd hb/git-pm-tempfile later to maint).
|
||||
|
||||
* Various subcommands of "git remote" simply ignored extraneous
|
||||
command line arguments instead of diagnosing them as errors.
|
||||
(merge b17dd3f tr/remote-tighten-commandline-parsing later to maint).
|
||||
|
||||
* When receive-pack detects an error in the pack header it received in
|
||||
order to decide which of unpack-objects or index-pack to run, it
|
||||
returned without closing the error stream, which led to a hung
|
||||
sideband thread.
|
||||
|
||||
* Zsh completion forgot that the '%' character used to signal untracked
|
||||
files needs to be escaped with another '%'.
|
||||
|
||||
* A commit object whose author or committer ident are malformed
|
||||
crashed some code that trusted that a name, an email and a
|
||||
timestamp can always be found in it.
|
||||
|
||||
* When "upload-pack" fails while generating a pack in response to
|
||||
"git fetch" (or "git clone"), the receiving side had
|
||||
a programming error that triggered the die handler
|
||||
recursively.
|
||||
|
||||
* "rev-list --stdin" and friends kept bogus pointers into the input
|
||||
buffer around as human readable object names. This was not a huge
|
||||
problem but was exposed by a new change that uses these names in
|
||||
error output.
|
||||
(merge 70d26c6 tr/copy-revisions-from-stdin later to maint).
|
||||
|
||||
* Smart-capable HTTP servers were not restricted via the
|
||||
GIT_NAMESPACE mechanism when talking with commit-walking clients,
|
||||
like they are when talking with smart HTTP clients.
|
||||
(merge 6130f86 jk/http-dumb-namespaces later to maint).
|
||||
|
||||
* "git merge-tree" did not omit a merge result that is identical to
|
||||
the "our" side in certain cases.
|
||||
(merge aacecc3 jk/merge-tree-added-identically later to maint).
|
||||
|
||||
* Perl scripts like "git-svn" closed (instead of redirecting to /dev/null)
|
||||
the standard error stream, which is not a very smart thing to do.
|
||||
A later open may return file descriptor #2 for an unrelated purpose, and
|
||||
error reporting code may write into it.
|
||||
|
||||
* "git show-branch" was not prepared to show a very long run of
|
||||
ancestor operators e.g. foobar^2~2^2^2^2...^2~4 correctly.
|
||||
|
||||
* "git diff --diff-algorithm algo" is also understood as "git diff
|
||||
--diff-algorithm=algo".
|
||||
|
||||
* The new core.commentchar configuration was not applied in a few
|
||||
places.
|
||||
|
||||
* "git bundle" erroneously bailed out when parsing a valid bundle
|
||||
containing a prerequisite commit without a commit message.
|
||||
|
||||
* "git log -S/-G" started paying attention to textconv filter, but
|
||||
there was no way to disable this. Make it honor the --no-textconv
|
||||
option.
|
||||
|
||||
* When used with the "-d temporary-directory" option, "git filter-branch"
|
||||
failed to come back to the original working tree to perform the
|
||||
final clean-up procedure.
|
||||
|
||||
* "git merge $(git rev-parse v1.8.2)" behaved quite differently from
|
||||
"git merge v1.8.2", as if v1.8.2 were written as v1.8.2^0 and did
|
||||
not pay much attention to the annotated tag payload. Make the code
|
||||
notice the type of the tag object, in addition to the dwim_ref()
|
||||
based classification the current code uses (i.e. the name appears
|
||||
in refs/tags/) to decide when to special-case tag merging.
|
||||
|
||||
* Fix a 1.8.1.x regression that stopped matching "dir" (without a
|
||||
trailing slash) to a directory "dir".
|
||||
(merge efa5f82 jc/directory-attrs-regression-fix later to maint-1.8.1).
|
||||
|
||||
* "git apply --whitespace=fix" was not prepared to see a line getting
|
||||
longer after fixing whitespaces (e.g. tab-in-indent aka Python).
|
||||
(merge 329b26e jc/apply-ws-fix-tab-in-indent later to maint-1.8.1).
|
||||
|
||||
* The prompt string generator (in contrib/completion/) did not notice
|
||||
when we are in a middle of a "git revert" session.
|
||||
|
||||
* "submodule summary --summary-limit" option did not support the
|
||||
"--option=value" form.
|
||||
|
||||
* "index-pack --fix-thin" used an uninitialized value to compute
|
||||
the delta depths of objects it appends to the resulting pack.
|
||||
|
||||
* "index-pack --verify-stat" used a few counters outside the protection
|
||||
of a mutex, possibly showing incorrect numbers.
|
||||
|
||||
* The code to keep track of what directory names are known to Git on
|
||||
platforms with case insensitive filesystems could get confused upon a
|
||||
hash collision between these pathnames and would loop forever.
|
||||
|
||||
* Annotated tags outside the refs/tags/ hierarchy were not advertised
|
||||
correctly to ls-remote and fetch with recent versions of Git.
|
||||
|
||||
* Recent optimizations broke shallow clones.
|
||||
|
||||
* "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and
|
||||
instead the parser kept reading beyond the end of the string.
|
||||
|
||||
* "git tag -f <tag>" always said "Updated tag '<tag>'" even when
|
||||
creating a new tag (i.e. neither overwriting nor updating).
|
||||
|
||||
* "git p4" did not behave well when the path to the root of the P4
|
||||
client was not its real path.
|
||||
(merge bbd8486 pw/p4-symlinked-root later to maint).
|
||||
|
||||
* "git archive" reported a failure when asked to create an archive out
|
||||
of an empty tree. It is more intuitive to give an empty
|
||||
archive back in such a case.
|
||||
|
||||
* When "format-patch" quoted a non-ascii string in header files,
|
||||
it incorrectly applied rfc2047 and chopped a single character in
|
||||
the middle of the string.
|
||||
|
||||
* An aliased command spawned from a bare repository that does not say
|
||||
it is bare with "core.bare = yes" was treated as non-bare by mistake.
|
||||
|
||||
* In "git reflog expire", the REACHABLE bit was not cleared from the
|
||||
correct objects.
|
||||
|
||||
* The logic used by "git diff -M --stat" to shorten the names of
|
||||
files before and after a rename did not work correctly when the
|
||||
common prefix and suffix between the two filenames overlapped.
|
||||
|
||||
* The "--match=<pattern>" option of "git describe", when used with
|
||||
"--all" to allow refs that are not annotated tags to be a
|
||||
base of description, did not restrict the output from the command
|
||||
to those refs that match the given pattern.
|
||||
|
||||
* Clarify in the documentation "what" gets pushed to "where" when the
|
||||
command line to "git push" does not say these explicitly.
|
||||
|
||||
* The "--color=<when>" argument to the commands in the diff family
|
||||
was described poorly.
|
||||
|
||||
* The arguments given to the pre-rebase hook were not documented.
|
||||
|
||||
* The v4 index format was not documented.
|
||||
|
||||
* The "--match=<pattern>" argument "git describe" takes uses glob
|
||||
pattern but it wasn't obvious from the documentation.
|
||||
|
||||
* Some sources failed to compile on systems that lack NI_MAXHOST in
|
||||
their system header (e.g. z/OS).
|
||||
|
||||
* Add an example use of "--env-filter" in "filter-branch"
|
||||
documentation.
|
||||
|
||||
* "git bundle verify" did not say "records a complete history" for a
|
||||
bundle that does not have any prerequisites.
|
||||
|
||||
* In the v1.8.0 era, we changed symbols that do not have to be global
|
||||
to file scope static, but a few functions in graph.c were used by
|
||||
CGit sideways, bypassing the entry points of the API the
|
||||
in-tree users use.
|
||||
|
||||
* "git update-index -h" did not do the usual "-h(elp)" thing.
|
||||
|
||||
* "git index-pack" had a buffer-overflow while preparing an
|
||||
informational message when the translated version of it was too
|
||||
long.
|
||||
|
||||
* 'git commit -m "$msg"' used to add an extra newline even when
|
||||
$msg already ended with one.
|
||||
|
||||
* The SSL peer verification done by "git imap-send" did not ask for
|
||||
Server Name Indication (RFC 4366), failing to connect to SSL/TLS
|
||||
sites that serve multiple hostnames on a single IP.
|
||||
|
||||
* perl/Git.pm::cat_blob slurped everything in core only to write it
|
||||
out to a file descriptor, which was not a very smart thing to do.
|
||||
|
||||
* "git branch" did not bother to check nonsense command line
|
||||
parameters. It now issues errors in many cases.
|
||||
|
||||
* Verification of signed tags was not done correctly when not in C
|
||||
or en/US locale.
|
||||
|
||||
* Some platforms and users spell UTF-8 differently; retry with the
|
||||
most official "UTF-8" when the system does not understand the
|
||||
user-supplied encoding name that is a common alternative
|
||||
spelling of UTF-8.
|
||||
|
||||
* When export-subst is used, "zip" output recorded an incorrect
|
||||
size of the file.
|
||||
|
||||
* "git am $maildir/" applied messages in an unexpected order; sort
|
||||
filenames read from the maildir/ in a way that is more likely to
|
||||
sort the messages in the order the writing MUA meant to, by sorting
|
||||
numeric segments in numeric order and non-numeric segments in
|
||||
alphabetical order.
|
||||
|
||||
* "git submodule update", when recursed into sub-submodules, did not
|
||||
accumulate the prefix paths.
|
@ -1,65 +1,5 @@
|
||||
Checklist (and a short version for the impatient):
|
||||
|
||||
Commits:
|
||||
|
||||
- make commits of logical units
|
||||
- check for unnecessary whitespace with "git diff --check"
|
||||
before committing
|
||||
- do not check in commented out code or unneeded files
|
||||
- the first line of the commit message should be a short
|
||||
description (50 characters is the soft limit, see DISCUSSION
|
||||
in git-commit(1)), and should skip the full stop
|
||||
- the body should provide a meaningful commit message, which:
|
||||
. explains the problem the change tries to solve, iow, what
|
||||
is wrong with the current code without the change.
|
||||
. justifies the way the change solves the problem, iow, why
|
||||
the result with the change is better.
|
||||
. alternate solutions considered but discarded, if any.
|
||||
- describe 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 without
|
||||
external resources. Instead of giving a URL to a mailing list
|
||||
archive, summarize the relevant points of the discussion.
|
||||
- add a "Signed-off-by: Your Name <you@example.com>" line to the
|
||||
commit message (or just use the option "-s" when committing)
|
||||
to confirm that you agree to the Developer's Certificate of Origin
|
||||
- make sure that you have tests for the bug you are fixing
|
||||
- make sure that the test suite passes after your commit
|
||||
|
||||
Patch:
|
||||
|
||||
- use "git format-patch -M" to create the patch
|
||||
- do not PGP sign your patch
|
||||
- do not attach your patch, but read in the mail
|
||||
body, unless you cannot teach your mailer to
|
||||
leave the formatting of the patch alone.
|
||||
- be careful doing cut & paste into your mailer, not to
|
||||
corrupt whitespaces.
|
||||
- provide additional information (which is unsuitable for
|
||||
the commit message) between the "---" and the diffstat
|
||||
- if you change, add, or remove a command line option or
|
||||
make some other user interface change, the associated
|
||||
documentation should be updated as well.
|
||||
- if your name is not writable in ASCII, make sure that
|
||||
you send off a message in the correct encoding.
|
||||
- send the patch to the list (git@vger.kernel.org) and the
|
||||
maintainer (gitster@pobox.com) if (and only if) the patch
|
||||
is ready for inclusion. If you use git-send-email(1),
|
||||
please test it first by sending email to yourself.
|
||||
- see below for instructions specific to your mailer
|
||||
|
||||
Long version:
|
||||
|
||||
I started reading over the SubmittingPatches document for Linux
|
||||
kernel, primarily because I wanted to have a document similar to
|
||||
it for the core GIT to make sure people understand what they are
|
||||
doing when they write "Signed-off-by" line.
|
||||
|
||||
But the patch submission requirements are a lot more relaxed
|
||||
here on the technical/contents front, because the core GIT is
|
||||
thousand times smaller ;-). So here is only the relevant bits.
|
||||
Here are some guidelines for people who want to contribute their code
|
||||
to this software.
|
||||
|
||||
(0) Decide what to base your work on.
|
||||
|
||||
@ -86,6 +26,10 @@ change is relevant to.
|
||||
wait until some of the dependent topics graduate to 'master', and
|
||||
rebase your work.
|
||||
|
||||
- Some parts of the system have dedicated maintainers with their own
|
||||
repositories (see the section "Subsystems" below). Changes to
|
||||
these parts should be based on their trees.
|
||||
|
||||
To find the tip of a topic branch, run "git log --first-parent
|
||||
master..pu" and look for the merge commit. The second parent of this
|
||||
commit is the tip of the topic branch.
|
||||
@ -113,49 +57,81 @@ change, the approach taken by the change, and if relevant how this
|
||||
differs substantially from the prior version, are all good things
|
||||
to have.
|
||||
|
||||
Make sure that you have tests for the bug you are fixing.
|
||||
|
||||
When adding a new feature, make sure that you have new tests to show
|
||||
the feature triggers the new behaviour when it should, and to show the
|
||||
feature does not trigger when it shouldn't. Also make sure that the
|
||||
test suite passes after your commit. Do not forget to update the
|
||||
documentation to describe the updated behaviour.
|
||||
|
||||
Oh, another thing. I am 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.
|
||||
|
||||
|
||||
(1a) Try to be nice to older C compilers
|
||||
(2) Describe your changes well.
|
||||
|
||||
We try to support a wide range of C compilers to compile
|
||||
git with. That means that you should not use C99 initializers, even
|
||||
if a lot of compilers grok it.
|
||||
The first line of the commit message should be a short description (50
|
||||
characters is the soft limit, see DISCUSSION in git-commit(1)), and
|
||||
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.
|
||||
|
||||
Also, variables have to be declared at the beginning of the block
|
||||
(you can check this with gcc, using the -Wdeclaration-after-statement
|
||||
option).
|
||||
. archive: ustar header checksum is computed unsigned
|
||||
. git-cherry-pick.txt: clarify the use of revision range notation
|
||||
|
||||
Another thing: NULL pointers shall be written as NULL, not as 0.
|
||||
If in doubt which identifier to use, run "git log --no-merges" on the
|
||||
files you are modifying to see the current conventions.
|
||||
|
||||
The body should provide a meaningful commit message, which:
|
||||
|
||||
. explains the problem the change tries to solve, iow, what is wrong
|
||||
with the current code without the change.
|
||||
|
||||
. justifies the way the change solves the problem, iow, why the
|
||||
result with the change is better.
|
||||
|
||||
. alternate solutions considered but discarded, if any.
|
||||
|
||||
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
|
||||
without external resources. Instead of giving a URL to a mailing list
|
||||
archive, summarize the relevant points of the discussion.
|
||||
|
||||
|
||||
(2) Generate your patch using git tools out of your commits.
|
||||
(3) Generate your patch using Git tools out of your commits.
|
||||
|
||||
git based diff tools generate unidiff which is the preferred format.
|
||||
Git based diff tools generate unidiff which is the preferred format.
|
||||
|
||||
You do not have to be afraid to use -M option to "git diff" or
|
||||
"git format-patch", if your patch involves file renames. The
|
||||
receiving end can handle them just fine.
|
||||
|
||||
Please make sure your patch does not include any extra files
|
||||
which do not belong in a patch submission. Make sure to review
|
||||
Please make sure your patch does not add commented out debugging code,
|
||||
or include any extra files which do not relate to what your patch
|
||||
is trying to achieve. Make sure to review
|
||||
your patch after generating it, to ensure accuracy. Before
|
||||
sending out, please make sure it cleanly applies to the "master"
|
||||
branch head. If you are preparing a work based on "next" branch,
|
||||
that is fine, but please mark it as such.
|
||||
|
||||
|
||||
(3) Sending your patches.
|
||||
(4) Sending your patches.
|
||||
|
||||
People on the git mailing list need to be able to read and
|
||||
People on the Git mailing list need to be able to read and
|
||||
comment on the changes you are submitting. It is important for
|
||||
a developer to be able to "quote" your changes, using standard
|
||||
e-mail tools, so that they may comment on specific portions of
|
||||
your code. For this reason, all patches should be submitted
|
||||
"inline". WARNING: Be wary of your MUAs word-wrap
|
||||
"inline". If your log message (including your name on the
|
||||
Signed-off-by line) is not writable in ASCII, make sure that
|
||||
you send off a message in the correct encoding.
|
||||
|
||||
WARNING: Be wary of your MUAs word-wrap
|
||||
corrupting your patch. Do not cut-n-paste your patch; you can
|
||||
lose tabs that way if you are not careful.
|
||||
|
||||
@ -179,7 +155,8 @@ message starts, you can put a "From: " line to name that person.
|
||||
|
||||
You often want to add additional explanation about the patch,
|
||||
other than the commit message itself. Place such "cover letter"
|
||||
material between the three dash lines and the diffstat.
|
||||
material between the three dash lines and the diffstat. Git-notes
|
||||
can also be inserted using the `--notes` option.
|
||||
|
||||
Do not attach the patch as a MIME attachment, compressed or not.
|
||||
Do not let your e-mail client send quoted-printable. Do not let
|
||||
@ -207,23 +184,29 @@ patch, format it as "multipart/signed", not a text/plain message
|
||||
that starts with '-----BEGIN PGP SIGNED MESSAGE-----'. That is
|
||||
not a text/plain, it's something else.
|
||||
|
||||
Unless your patch is a very trivial and an obviously correct one,
|
||||
first send it with "To:" set to the mailing list, with "cc:" listing
|
||||
Send your patch with "To:" set to the mailing list, with "cc:" listing
|
||||
people who are involved in the area you are touching (the output from
|
||||
"git blame $path" and "git shortlog --no-merges $path" would help to
|
||||
identify them), to solicit comments and reviews. After the list
|
||||
reached a consensus that it is a good idea to apply the patch, re-send
|
||||
it with "To:" set to the maintainer and optionally "cc:" the list for
|
||||
inclusion. Do not forget to add trailers such as "Acked-by:",
|
||||
"Reviewed-by:" and "Tested-by:" after your "Signed-off-by:" line as
|
||||
necessary.
|
||||
identify them), to solicit comments and reviews.
|
||||
|
||||
After the list reached a consensus that it is a good idea to apply the
|
||||
patch, re-send it with "To:" set to the maintainer [*1*] and "cc:" the
|
||||
list [*2*] for inclusion.
|
||||
|
||||
Do not forget to add trailers such as "Acked-by:", "Reviewed-by:" and
|
||||
"Tested-by:" lines as necessary to credit people who helped your
|
||||
patch.
|
||||
|
||||
[Addresses]
|
||||
*1* The current maintainer: gitster@pobox.com
|
||||
*2* The mailing list: git@vger.kernel.org
|
||||
|
||||
|
||||
(4) Sign your work
|
||||
(5) Sign your work
|
||||
|
||||
To improve tracking of who did what, we've borrowed the
|
||||
"sign-off" procedure from the Linux kernel project on patches
|
||||
that are being emailed around. Although core GIT is a lot
|
||||
that are being emailed around. Although core Git is a lot
|
||||
smaller project it is a good discipline to follow it.
|
||||
|
||||
The sign-off is a simple line at the end of the explanation for
|
||||
@ -261,7 +244,7 @@ then you just add a line saying
|
||||
|
||||
Signed-off-by: Random J Developer <random@developer.example.org>
|
||||
|
||||
This line can be automatically added by git if you run the git-commit
|
||||
This line can be automatically added by Git if you run the git-commit
|
||||
command with the -s option.
|
||||
|
||||
Notice that you can place your own Signed-off-by: line when
|
||||
@ -289,6 +272,26 @@ If you like, you can put extra tags at the end:
|
||||
You can also create your own tag or use one that's in common usage
|
||||
such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
|
||||
|
||||
------------------------------------------------
|
||||
Subsystems with dedicated maintainers
|
||||
|
||||
Some parts of the system have dedicated maintainers with their own
|
||||
repositories.
|
||||
|
||||
- git-gui/ comes from git-gui project, maintained by Pat Thoyts:
|
||||
|
||||
git://repo.or.cz/git-gui.git
|
||||
|
||||
- gitk-git/ comes from Paul Mackerras's gitk project:
|
||||
|
||||
git://ozlabs.org/~paulus/gitk
|
||||
|
||||
- po/ comes from the localization coordinator, Jiang Xin:
|
||||
|
||||
https://github.com/git-l10n/git-po/
|
||||
|
||||
Patches to these parts should be based on their trees.
|
||||
|
||||
------------------------------------------------
|
||||
An ideal patch flow
|
||||
|
||||
@ -334,7 +337,7 @@ Know the status of your patch after submission
|
||||
tell you if your patch is merged in pu if you rebase on top of
|
||||
master).
|
||||
|
||||
* Read the git mailing list, the maintainer regularly posts messages
|
||||
* Read the Git mailing list, the maintainer regularly posts messages
|
||||
entitled "What's cooking in git.git" and "What's in git.git" giving
|
||||
the status of various proposed changes.
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Note, {0} is the manpage section, while {target} is the command.
|
||||
#
|
||||
# Show GIT link as: <command>(<section>); if section is defined, else just show
|
||||
# Show Git link as: <command>(<section>); if section is defined, else just show
|
||||
# the command.
|
||||
|
||||
[macros]
|
||||
|
@ -95,7 +95,7 @@ of lines before or after the line given by <start>.
|
||||
running extra passes of inspection.
|
||||
+
|
||||
<num> is optional but it is the lower bound on the number of
|
||||
alphanumeric characters that git must detect as moving/copying
|
||||
alphanumeric characters that Git must detect as moving/copying
|
||||
within a file for it to associate those lines with the parent
|
||||
commit. The default value is 20.
|
||||
|
||||
@ -110,7 +110,7 @@ commit. The default value is 20.
|
||||
looks for copies from other files in any commit.
|
||||
+
|
||||
<num> is optional but it is the lower bound on the number of
|
||||
alphanumeric characters that git must detect as moving/copying
|
||||
alphanumeric characters that Git must detect as moving/copying
|
||||
between files for it to associate those lines with the parent
|
||||
commit. And the default value is 40. If there are more than one
|
||||
`-C` options given, the <num> argument of the last `-C` will
|
||||
|
@ -12,6 +12,7 @@ while (<STDIN>) {
|
||||
push @menu, $1;
|
||||
}
|
||||
s/\(\@pxref{\[(URLS|REMOTES)\]}\)//;
|
||||
s/\@anchor\{[^{}]*\}//g;
|
||||
print TMP;
|
||||
}
|
||||
close TMP;
|
||||
|
@ -1,14 +1,14 @@
|
||||
CONFIGURATION FILE
|
||||
------------------
|
||||
|
||||
The git configuration file contains a number of variables that affect
|
||||
the git command's behavior. The `.git/config` file in each repository
|
||||
The Git configuration file contains a number of variables that affect
|
||||
the Git commands' behavior. The `.git/config` file in each repository
|
||||
is used to store the configuration for that repository, and
|
||||
`$HOME/.gitconfig` is used to store a per-user configuration as
|
||||
fallback values for the `.git/config` file. The file `/etc/gitconfig`
|
||||
can be used to store a system-wide default configuration.
|
||||
|
||||
The configuration variables are used by both the git plumbing
|
||||
The configuration variables are used by both the Git plumbing
|
||||
and the porcelains. The variables are divided into sections, wherein
|
||||
the fully qualified variable name of the variable itself is the last
|
||||
dot-separated segment and the section name is everything before the last
|
||||
@ -140,10 +140,12 @@ advice.*::
|
||||
can tell Git that you do not need help by setting these to 'false':
|
||||
+
|
||||
--
|
||||
pushNonFastForward::
|
||||
pushUpdateRejected::
|
||||
Set this variable to 'false' if you want to disable
|
||||
'pushNonFFCurrent', 'pushNonFFDefault', and
|
||||
'pushNonFFMatching' simultaneously.
|
||||
'pushNonFFCurrent', 'pushNonFFDefault',
|
||||
'pushNonFFMatching', 'pushAlreadyExists',
|
||||
'pushFetchFirst', and 'pushNeedsForce'
|
||||
simultaneously.
|
||||
pushNonFFCurrent::
|
||||
Advice shown when linkgit:git-push[1] fails due to a
|
||||
non-fast-forward update to the current branch.
|
||||
@ -158,16 +160,33 @@ advice.*::
|
||||
'matching refs' explicitly (i.e. you used ':', or
|
||||
specified a refspec that isn't your current branch) and
|
||||
it resulted in a non-fast-forward error.
|
||||
pushAlreadyExists::
|
||||
Shown when linkgit:git-push[1] rejects an update that
|
||||
does not qualify for fast-forwarding (e.g., a tag.)
|
||||
pushFetchFirst::
|
||||
Shown when linkgit:git-push[1] rejects an update that
|
||||
tries to overwrite a remote ref that points at an
|
||||
object we do not have.
|
||||
pushNeedsForce::
|
||||
Shown when linkgit:git-push[1] rejects an update that
|
||||
tries to overwrite a remote ref that points at an
|
||||
object that is not a committish, or make the remote
|
||||
ref point at an object that is not a committish.
|
||||
statusHints::
|
||||
Show directions on how to proceed from the current
|
||||
state in the output of linkgit:git-status[1] and in
|
||||
state in the output of linkgit:git-status[1], in
|
||||
the template shown when writing commit messages in
|
||||
linkgit:git-commit[1].
|
||||
linkgit:git-commit[1], and in the help message shown
|
||||
by linkgit:git-checkout[1] when switching branch.
|
||||
statusUoption::
|
||||
Advise to consider using the `-u` option to linkgit:git-status[1]
|
||||
when the command takes more than 2 seconds to enumerate untracked
|
||||
files.
|
||||
commitBeforeMerge::
|
||||
Advice shown when linkgit:git-merge[1] refuses to
|
||||
merge to avoid overwriting local changes.
|
||||
resolveConflict::
|
||||
Advices shown by various commands when conflicts
|
||||
Advice shown by various commands when conflicts
|
||||
prevent the operation from being performed.
|
||||
implicitIdentity::
|
||||
Advice on how to set your identity configuration when
|
||||
@ -204,9 +223,9 @@ core.ignoreCygwinFSTricks::
|
||||
|
||||
core.ignorecase::
|
||||
If true, this option enables various workarounds to enable
|
||||
git to work better on filesystems that are not case sensitive,
|
||||
Git to work better on filesystems that are not case sensitive,
|
||||
like FAT. For example, if a directory listing finds
|
||||
"makefile" when git expects "Makefile", git will assume
|
||||
"makefile" when Git expects "Makefile", Git will assume
|
||||
it is really the same file, and continue to remember it as
|
||||
"Makefile".
|
||||
+
|
||||
@ -215,13 +234,13 @@ will probe and set core.ignorecase true if appropriate when the repository
|
||||
is created.
|
||||
|
||||
core.precomposeunicode::
|
||||
This option is only used by Mac OS implementation of git.
|
||||
When core.precomposeunicode=true, git reverts the unicode decomposition
|
||||
This option is only used by Mac OS implementation of Git.
|
||||
When core.precomposeunicode=true, Git reverts the unicode decomposition
|
||||
of filenames done by Mac OS. This is useful when sharing a repository
|
||||
between Mac OS and Linux or Windows.
|
||||
(Git for Windows 1.7.10 or higher is needed, or git under cygwin 1.7).
|
||||
When false, file names are handled fully transparent by git,
|
||||
which is backward compatible with older versions of git.
|
||||
(Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7).
|
||||
When false, file names are handled fully transparent by Git,
|
||||
which is backward compatible with older versions of Git.
|
||||
|
||||
core.trustctime::
|
||||
If false, the ctime differences between the index and the
|
||||
@ -230,6 +249,12 @@ core.trustctime::
|
||||
crawlers and some backup systems).
|
||||
See linkgit:git-update-index[1]. True by default.
|
||||
|
||||
core.checkstat::
|
||||
Determines which stat fields to match between the index
|
||||
and work tree. The user can set this to 'default' or
|
||||
'minimal'. Default (or explicitly 'default'), is to check
|
||||
all fields, including the sub-second part of mtime and ctime.
|
||||
|
||||
core.quotepath::
|
||||
The commands that output paths (e.g. 'ls-files',
|
||||
'diff'), when not given the `-z` option, will quote
|
||||
@ -251,20 +276,20 @@ core.eol::
|
||||
conversion.
|
||||
|
||||
core.safecrlf::
|
||||
If true, makes git check if converting `CRLF` is reversible when
|
||||
If true, makes Git check if converting `CRLF` is reversible when
|
||||
end-of-line conversion is active. Git will verify if a command
|
||||
modifies a file in the work tree either directly or indirectly.
|
||||
For example, committing a file followed by checking out the
|
||||
same file should yield the original file in the work tree. If
|
||||
this is not the case for the current setting of
|
||||
`core.autocrlf`, git will reject the file. The variable can
|
||||
be set to "warn", in which case git will only warn about an
|
||||
`core.autocrlf`, Git will reject the file. The variable can
|
||||
be set to "warn", in which case Git will only warn about an
|
||||
irreversible conversion but continue the operation.
|
||||
+
|
||||
CRLF conversion bears a slight chance of corrupting data.
|
||||
When it is enabled, git will convert CRLF to LF during commit and LF to
|
||||
When it is enabled, Git will convert CRLF to LF during commit and LF to
|
||||
CRLF during checkout. A file that contains a mixture of LF and
|
||||
CRLF before the commit cannot be recreated by git. For text
|
||||
CRLF before the commit cannot be recreated by Git. For text
|
||||
files this is the right thing to do: it corrects line endings
|
||||
such that we have only LF line endings in the repository.
|
||||
But for binary files that are accidentally classified as text the
|
||||
@ -274,7 +299,7 @@ If you recognize such corruption early you can easily fix it by
|
||||
setting the conversion type explicitly in .gitattributes. Right
|
||||
after committing you still have the original file in your work
|
||||
tree and this file is not yet corrupted. You can explicitly tell
|
||||
git that this file is binary and git will handle the file
|
||||
Git that this file is binary and Git will handle the file
|
||||
appropriately.
|
||||
+
|
||||
Unfortunately, the desired effect of cleaning up text files with
|
||||
@ -319,7 +344,7 @@ is created.
|
||||
core.gitProxy::
|
||||
A "proxy command" to execute (as 'command host port') instead
|
||||
of establishing direct connection to the remote server when
|
||||
using the git protocol for fetching. If the variable value is
|
||||
using the Git protocol for fetching. If the variable value is
|
||||
in the "COMMAND for DOMAIN" format, the command is applied only
|
||||
on hostnames ending with the specified domain string. This variable
|
||||
may be set multiple times and is matched in the given order;
|
||||
@ -378,7 +403,7 @@ Note that this variable is honored even when set in a configuration
|
||||
file in a ".git" subdirectory of a directory and its value differs
|
||||
from the latter directory (e.g. "/path/to/.git/config" has
|
||||
core.worktree set to "/different/path"), which is most likely a
|
||||
misconfiguration. Running git commands in the "/path/to" directory will
|
||||
misconfiguration. Running Git commands in the "/path/to" directory will
|
||||
still use "/different/path" as the root of the work tree and can cause
|
||||
confusion unless you know what you are doing (e.g. you are creating a
|
||||
read-only snapshot of the same index to a location different from the
|
||||
@ -387,7 +412,7 @@ repository's usual working tree).
|
||||
core.logAllRefUpdates::
|
||||
Enable the reflog. Updates to a ref <ref> is logged to the file
|
||||
"$GIT_DIR/logs/<ref>", by appending the new and old
|
||||
SHA1, the date/time and the reason of the update, but
|
||||
SHA-1, the date/time and the reason of the update, but
|
||||
only when the file exists. If this configuration
|
||||
variable is set to true, missing "$GIT_DIR/logs/<ref>"
|
||||
file is automatically created for branch heads (i.e. under
|
||||
@ -410,7 +435,7 @@ core.sharedRepository::
|
||||
several users in a group (making sure all the files and objects are
|
||||
group-writable). When 'all' (or 'world' or 'everybody'), the
|
||||
repository will be readable by all users, additionally to being
|
||||
group-shareable. When 'umask' (or 'false'), git will use permissions
|
||||
group-shareable. When 'umask' (or 'false'), Git will use permissions
|
||||
reported by umask(2). When '0xxx', where '0xxx' is an octal number,
|
||||
files in the repository will have this mode value. '0xxx' will override
|
||||
user's umask value (whereas the other options will only override
|
||||
@ -421,8 +446,8 @@ core.sharedRepository::
|
||||
See linkgit:git-init[1]. False by default.
|
||||
|
||||
core.warnAmbiguousRefs::
|
||||
If true, git will warn you if the ref name you passed it is ambiguous
|
||||
and might match multiple refs in the .git/refs/ tree. True by default.
|
||||
If true, Git will warn you if the ref name you passed it is ambiguous
|
||||
and might match multiple refs in the repository. True by default.
|
||||
|
||||
core.compression::
|
||||
An integer -1..9, indicating a default compression level.
|
||||
@ -493,7 +518,7 @@ Common unit suffixes of 'k', 'm', or 'g' are supported.
|
||||
|
||||
core.excludesfile::
|
||||
In addition to '.gitignore' (per-directory) and
|
||||
'.git/info/exclude', git looks into this file for patterns
|
||||
'.git/info/exclude', Git looks into this file for patterns
|
||||
of files which are not meant to be tracked. "`~/`" is expanded
|
||||
to the value of `$HOME` and "`~user/`" to the specified user's
|
||||
home directory. Its default value is $XDG_CONFIG_HOME/git/ignore.
|
||||
@ -511,7 +536,7 @@ core.askpass::
|
||||
|
||||
core.attributesfile::
|
||||
In addition to '.gitattributes' (per-directory) and
|
||||
'.git/info/attributes', git looks into this file for attributes
|
||||
'.git/info/attributes', Git looks into this file for attributes
|
||||
(see linkgit:gitattributes[5]). Path expansions are made the same
|
||||
way as for `core.excludesfile`. Its default value is
|
||||
$XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not
|
||||
@ -523,29 +548,35 @@ core.editor::
|
||||
variable when it is set, and the environment variable
|
||||
`GIT_EDITOR` is not set. See linkgit:git-var[1].
|
||||
|
||||
core.commentchar::
|
||||
Commands such as `commit` and `tag` that lets you edit
|
||||
messages consider a line that begins with this character
|
||||
commented, and removes them after the editor returns
|
||||
(default '#').
|
||||
|
||||
sequence.editor::
|
||||
Text editor used by `git rebase -i` for editing the rebase insn file.
|
||||
Text editor used by `git rebase -i` for editing the rebase instruction file.
|
||||
The value is meant to be interpreted by the shell when it is used.
|
||||
It can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable.
|
||||
When not configured the default commit message editor is used instead.
|
||||
|
||||
core.pager::
|
||||
The command that git will use to paginate output. Can
|
||||
The command that Git will use to paginate output. Can
|
||||
be overridden with the `GIT_PAGER` environment
|
||||
variable. Note that git sets the `LESS` environment
|
||||
variable. Note that Git sets the `LESS` environment
|
||||
variable to `FRSX` if it is unset when it runs the
|
||||
pager. One can change these settings by setting the
|
||||
`LESS` variable to some other value. Alternately,
|
||||
these settings can be overridden on a project or
|
||||
global basis by setting the `core.pager` option.
|
||||
Setting `core.pager` has no affect on the `LESS`
|
||||
Setting `core.pager` has no effect on the `LESS`
|
||||
environment variable behaviour above, so if you want
|
||||
to override git's default settings this way, you need
|
||||
to override Git's default settings this way, you need
|
||||
to be explicit. For example, to disable the S option
|
||||
in a backward compatible manner, set `core.pager`
|
||||
to `less -+$LESS -FRX`. This will be passed to the
|
||||
shell by git, which will translate the final command to
|
||||
`LESS=FRSX less -+FRSX -FRX`.
|
||||
to `less -+S`. This will be passed to the shell by
|
||||
Git, which will translate the final command to
|
||||
`LESS=FRSX less -+S`.
|
||||
|
||||
core.whitespace::
|
||||
A comma separated list of common whitespace problems to
|
||||
@ -573,7 +604,7 @@ core.whitespace::
|
||||
does not trigger if the character before such a carriage-return
|
||||
is not a whitespace (not enabled by default).
|
||||
* `tabwidth=<n>` tells how many character positions a tab occupies; this
|
||||
is relevant for `indent-with-non-tab` and when git fixes `tab-in-indent`
|
||||
is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent`
|
||||
errors. The default tab width is 8. Allowed values are 1 to 63.
|
||||
|
||||
core.fsyncobjectfiles::
|
||||
@ -589,7 +620,7 @@ core.preloadindex::
|
||||
+
|
||||
This can speed up operations like 'git diff' and 'git status' especially
|
||||
on filesystems like NFS that have weak caching semantics and thus
|
||||
relatively high IO latencies. With this set to 'true', git will do the
|
||||
relatively high IO latencies. With this set to 'true', Git will do the
|
||||
index comparison to the filesystem data in parallel, allowing
|
||||
overlapping IO's.
|
||||
|
||||
@ -625,9 +656,9 @@ add.ignore-errors::
|
||||
add.ignoreErrors::
|
||||
Tells 'git add' to continue adding files when some files cannot be
|
||||
added due to indexing errors. Equivalent to the '--ignore-errors'
|
||||
option of linkgit:git-add[1]. Older versions of git accept only
|
||||
option of linkgit:git-add[1]. Older versions of Git accept only
|
||||
`add.ignore-errors`, which does not follow the usual naming
|
||||
convention for configuration variables. Newer versions of git
|
||||
convention for configuration variables. Newer versions of Git
|
||||
honor `add.ignoreErrors` as well.
|
||||
|
||||
alias.*::
|
||||
@ -635,7 +666,7 @@ alias.*::
|
||||
after defining "alias.last = cat-file commit HEAD", the invocation
|
||||
"git last" is equivalent to "git cat-file commit HEAD". To avoid
|
||||
confusion and troubles with script usage, aliases that
|
||||
hide existing git commands are ignored. Arguments are split by
|
||||
hide existing Git commands are ignored. Arguments are split by
|
||||
spaces, the usual shell quoting and escaping is supported.
|
||||
quote pair and a backslash can be used to quote them.
|
||||
+
|
||||
@ -682,7 +713,7 @@ branch.autosetupmerge::
|
||||
|
||||
branch.autosetuprebase::
|
||||
When a new branch is created with 'git branch' or 'git checkout'
|
||||
that tracks another branch, this variable tells git to set
|
||||
that tracks another branch, this variable tells Git to set
|
||||
up pull to rebase instead of merge (see "branch.<name>.rebase").
|
||||
When `never`, rebase is never automatically set to true.
|
||||
When `local`, rebase is set to true for tracked branches of
|
||||
@ -696,9 +727,22 @@ branch.autosetuprebase::
|
||||
This option defaults to never.
|
||||
|
||||
branch.<name>.remote::
|
||||
When in branch <name>, it tells 'git fetch' and 'git push' which
|
||||
remote to fetch from/push to. It defaults to `origin` if no remote is
|
||||
configured. `origin` is also used if you are not on any branch.
|
||||
When on branch <name>, it tells 'git fetch' and 'git push'
|
||||
which remote to fetch from/push to. The remote to push to
|
||||
may be overridden with `remote.pushdefault` (for all branches).
|
||||
The remote to push to, for the current branch, may be further
|
||||
overridden by `branch.<name>.pushremote`. If no remote is
|
||||
configured, or if you are not on any branch, it defaults to
|
||||
`origin` for fetching and `remote.pushdefault` for pushing.
|
||||
|
||||
branch.<name>.pushremote::
|
||||
When on branch <name>, it overrides `branch.<name>.remote` for
|
||||
pushing. It also overrides `remote.pushdefault` for pushing
|
||||
from branch <name>. When you pull from one place (e.g. your
|
||||
upstream) and push to another place (e.g. your own publishing
|
||||
repository), you would want to set `remote.pushdefault` to
|
||||
specify the remote to push to for all branches, and use this
|
||||
option to override it for a specific branch.
|
||||
|
||||
branch.<name>.merge::
|
||||
Defines, together with branch.<name>.remote, the upstream branch
|
||||
@ -734,6 +778,12 @@ branch.<name>.rebase::
|
||||
it unless you understand the implications (see linkgit:git-rebase[1]
|
||||
for details).
|
||||
|
||||
branch.<name>.description::
|
||||
Branch description, can be edited with
|
||||
`git branch --edit-description`. Branch description is
|
||||
automatically added in the format-patch cover letter or
|
||||
request-pull summary.
|
||||
|
||||
browser.<tool>.cmd::
|
||||
Specify the command to invoke the specified browser. The
|
||||
specified command is evaluated in shell with the URLs passed
|
||||
@ -757,7 +807,8 @@ color.branch::
|
||||
color.branch.<slot>::
|
||||
Use customized color for branch coloration. `<slot>` is one of
|
||||
`current` (the current branch), `local` (a local branch),
|
||||
`remote` (a remote-tracking branch in refs/remotes/), `plain` (other
|
||||
`remote` (a remote-tracking branch in refs/remotes/),
|
||||
`upstream` (upstream tracking branch), `plain` (other
|
||||
refs).
|
||||
+
|
||||
The value for these configuration variables is a list of colors (at most
|
||||
@ -857,7 +908,7 @@ color.status.<slot>::
|
||||
one of `header` (the header text of the status message),
|
||||
`added` or `updated` (files which are added but not committed),
|
||||
`changed` (files which are changed but not added in the index),
|
||||
`untracked` (files which are not tracked by git),
|
||||
`untracked` (files which are not tracked by Git),
|
||||
`branch` (the current branch), or
|
||||
`nobranch` (the color the 'no branch' warning is shown in, defaulting
|
||||
to red). The values of these variables may be specified as in
|
||||
@ -871,7 +922,7 @@ color.ui::
|
||||
to `always` if you want all output not intended for machine
|
||||
consumption to use color, to `true` or `auto` if you want such
|
||||
output to use color when written to the terminal, or to `false` or
|
||||
`never` if you prefer git commands not to use color unless enabled
|
||||
`never` if you prefer Git commands not to use color unless enabled
|
||||
explicitly with some other configuration or the `--color` option.
|
||||
|
||||
column.ui::
|
||||
@ -912,6 +963,15 @@ column.tag::
|
||||
Specify whether to output tag listing in `git tag` in columns.
|
||||
See `column.ui` for details.
|
||||
|
||||
commit.cleanup::
|
||||
This setting overrides the default of the `--cleanup` option in
|
||||
`git commit`. See linkgit:git-commit[1] for details. Changing the
|
||||
default can be useful when you always want to keep lines that begin
|
||||
with comment character `#` in your log message, in which case you
|
||||
would do `git config commit.cleanup whitespace` (note that you will
|
||||
have to remove the help lines that begin with `#` in the commit log
|
||||
template yourself, if you do this).
|
||||
|
||||
commit.status::
|
||||
A boolean to enable/disable inclusion of status information in the
|
||||
commit message template when using an editor to prepare the commit
|
||||
@ -962,12 +1022,6 @@ difftool.<tool>.cmd::
|
||||
difftool.prompt::
|
||||
Prompt before each invocation of the diff tool.
|
||||
|
||||
diff.wordRegex::
|
||||
A POSIX Extended Regular Expression used to determine what is a "word"
|
||||
when performing word-by-word difference calculations. Character
|
||||
sequences that match the regular expression are "words", all other
|
||||
characters are *ignorable* whitespace.
|
||||
|
||||
fetch.recurseSubmodules::
|
||||
This option can be either set to a boolean value or to 'on-demand'.
|
||||
Setting it to a boolean changes the behavior of fetch and pull to
|
||||
@ -985,7 +1039,7 @@ fetch.fsckObjects::
|
||||
is used instead.
|
||||
|
||||
fetch.unpackLimit::
|
||||
If the number of objects fetched over the git native
|
||||
If the number of objects fetched over the Git native
|
||||
transfer is below this
|
||||
limit, then the objects will be unpacked into loose object
|
||||
files. However if the number of received objects equals or
|
||||
@ -1025,7 +1079,7 @@ format.subjectprefix::
|
||||
|
||||
format.signature::
|
||||
The default for format-patch is to output a signature containing
|
||||
the git version number. Use this variable to change that default.
|
||||
the Git version number. Use this variable to change that default.
|
||||
Set this variable to the empty string ("") to suppress
|
||||
signature generation.
|
||||
|
||||
@ -1050,11 +1104,16 @@ format.thread::
|
||||
value disables threading.
|
||||
|
||||
format.signoff::
|
||||
A boolean value which lets you enable the `-s/--signoff` option of
|
||||
format-patch by default. *Note:* Adding the Signed-off-by: line to a
|
||||
patch should be a conscious act and means that you certify you have
|
||||
the rights to submit this work under the same open source license.
|
||||
Please see the 'SubmittingPatches' document for further discussion.
|
||||
A boolean value which lets you enable the `-s/--signoff` option of
|
||||
format-patch by default. *Note:* Adding the Signed-off-by: line to a
|
||||
patch should be a conscious act and means that you certify you have
|
||||
the rights to submit this work under the same open source license.
|
||||
Please see the 'SubmittingPatches' document for further discussion.
|
||||
|
||||
format.coverLetter::
|
||||
A boolean that controls whether to generate a cover-letter when
|
||||
format-patch is invoked, but in addition can be set to "auto", to
|
||||
generate a cover-letter only when there's more than one patch.
|
||||
|
||||
filter.<driver>.clean::
|
||||
The command which is used to convert the content of a worktree
|
||||
@ -1138,7 +1197,7 @@ gitcvs.logfile::
|
||||
gitcvs.usecrlfattr::
|
||||
If true, the server will look up the end-of-line conversion
|
||||
attributes for files to determine the '-k' modes to use. If
|
||||
the attributes force git to treat a file as text,
|
||||
the attributes force Git to treat a file as text,
|
||||
the '-k' mode will be left blank so CVS clients will
|
||||
treat it as text. If they suppress text conversion, the file
|
||||
will be set with '-kb' mode, which suppresses any newline munging
|
||||
@ -1158,7 +1217,7 @@ gitcvs.allbinary::
|
||||
|
||||
gitcvs.dbname::
|
||||
Database used by git-cvsserver to cache revision information
|
||||
derived from the git repository. The exact meaning depends on the
|
||||
derived from the Git repository. The exact meaning depends on the
|
||||
used database driver, for SQLite (which is the default driver) this
|
||||
is a filename. Supports variable substitution (see
|
||||
linkgit:git-cvsserver[1] for details). May not contain semicolons (`;`).
|
||||
@ -1166,7 +1225,7 @@ gitcvs.dbname::
|
||||
|
||||
gitcvs.dbdriver::
|
||||
Used Perl DBI driver. You can specify any available driver
|
||||
for this here, but it might not work. git-cvsserver is tested
|
||||
for this here, but it might not work. git-cvsserver is tested
|
||||
with 'DBD::SQLite', reported to work with 'DBD::Pg', and
|
||||
reported *not* to work with 'DBD::mysql'. Experimental feature.
|
||||
May not contain double colons (`:`). Default: 'SQLite'.
|
||||
@ -1356,6 +1415,12 @@ help.autocorrect::
|
||||
value is 0 - the command will be just shown but not executed.
|
||||
This is the default.
|
||||
|
||||
help.htmlpath::
|
||||
Specify the path where the HTML documentation resides. File system paths
|
||||
and URLs are supported. HTML pages will be prefixed with this path when
|
||||
help is displayed in the 'web' format. This defaults to the documentation
|
||||
path of your Git installation.
|
||||
|
||||
http.proxy::
|
||||
Override the HTTP proxy, normally configured using the 'http_proxy',
|
||||
'https_proxy', and 'all_proxy' environment variables (see
|
||||
@ -1364,7 +1429,7 @@ http.proxy::
|
||||
|
||||
http.cookiefile::
|
||||
File containing previously stored cookie lines which should be used
|
||||
in the git http session, if they match the server. The file format
|
||||
in the Git http session, if they match the server. The file format
|
||||
of the file to read cookies from should be plain HTTP headers or
|
||||
the Netscape/Mozilla cookie file format (see linkgit:curl[1]).
|
||||
NOTE that the file specified with http.cookiefile is only used as
|
||||
@ -1386,7 +1451,7 @@ http.sslKey::
|
||||
variable.
|
||||
|
||||
http.sslCertPasswordProtected::
|
||||
Enable git's password prompt for the SSL certificate. Otherwise
|
||||
Enable Git's password prompt for the SSL certificate. Otherwise
|
||||
OpenSSL will prompt the user, possibly many times, if the
|
||||
certificate or private key is encrypted. Can be overridden by the
|
||||
'GIT_SSL_CERT_PASSWORD_PROTECTED' environment variable.
|
||||
@ -1401,6 +1466,14 @@ http.sslCAPath::
|
||||
with when fetching or pushing over HTTPS. Can be overridden
|
||||
by the 'GIT_SSL_CAPATH' environment variable.
|
||||
|
||||
http.sslTry::
|
||||
Attempt to use AUTH SSL/TLS and encrypted data transfers
|
||||
when connecting via regular FTP protocol. This might be needed
|
||||
if the FTP server requires it for security reasons or you wish
|
||||
to connect securely whenever remote FTP server supports it.
|
||||
Default is false since it might trigger certificate verification
|
||||
errors on misconfigured servers.
|
||||
|
||||
http.maxRequests::
|
||||
How many HTTP requests to launch in parallel. Can be overridden
|
||||
by the 'GIT_HTTP_MAX_REQUESTS' environment variable. Default is 5.
|
||||
@ -1433,7 +1506,7 @@ http.noEPSV::
|
||||
|
||||
http.useragent::
|
||||
The HTTP USER_AGENT string presented to an HTTP server. The default
|
||||
value represents the version of the client git such as git/1.7.1.
|
||||
value represents the version of the client Git such as git/1.7.1.
|
||||
This option allows you to override this value to a more common value
|
||||
such as Mozilla/4.0. This may be necessary, for instance, if
|
||||
connecting through a firewall that restricts HTTP connections to a set
|
||||
@ -1441,7 +1514,7 @@ http.useragent::
|
||||
Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
|
||||
|
||||
i18n.commitEncoding::
|
||||
Character encoding the commit messages are stored in; git itself
|
||||
Character encoding the commit messages are stored in; Git itself
|
||||
does not care per se, but this information is necessary e.g. when
|
||||
importing commits from emails or in the gitk graphical history
|
||||
browser (and possibly at other places in the future or in other
|
||||
@ -1514,6 +1587,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.mailmap::
|
||||
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
|
||||
linkgit:git-whatchanged[1] assume `--use-mailmap`.
|
||||
|
||||
mailmap.file::
|
||||
The location of an augmenting mailmap file. The default
|
||||
mailmap, located in the root of the repository, is loaded
|
||||
@ -1522,6 +1599,14 @@ mailmap.file::
|
||||
subdirectory, or somewhere outside of the repository itself.
|
||||
See linkgit:git-shortlog[1] and linkgit:git-blame[1].
|
||||
|
||||
mailmap.blob::
|
||||
Like `mailmap.file`, but consider the value as a reference to a
|
||||
blob in the repository. If both `mailmap.file` and
|
||||
`mailmap.blob` are given, both are parsed, with entries from
|
||||
`mailmap.file` taking precedence. In a bare repository, this
|
||||
defaults to `HEAD:.mailmap`. In a non-bare repository, it
|
||||
defaults to empty.
|
||||
|
||||
man.viewer::
|
||||
Specify the programs that may be used to display help in the
|
||||
'man' format. See linkgit:git-help[1].
|
||||
@ -1567,7 +1652,7 @@ mergetool.keepBackup::
|
||||
`true` (i.e. keep the backup files).
|
||||
|
||||
mergetool.keepTemporaries::
|
||||
When invoking a custom merge tool, git uses a set of temporary
|
||||
When invoking a custom merge tool, Git uses a set of temporary
|
||||
files to pass to the tool. If the tool returns an error and this
|
||||
variable is set to `true`, then these temporary files will be
|
||||
preserved, otherwise they will be removed after the tool has
|
||||
@ -1595,7 +1680,7 @@ displayed.
|
||||
|
||||
notes.rewrite.<command>::
|
||||
When rewriting commits with <command> (currently `amend` or
|
||||
`rebase`) and this variable is set to `true`, git
|
||||
`rebase`) and this variable is set to `true`, Git
|
||||
automatically copies your notes from the original to the
|
||||
rewritten commit. Defaults to `true`, but see
|
||||
"notes.rewriteRef" below.
|
||||
@ -1675,7 +1760,7 @@ pack.threads::
|
||||
warning. This is meant to reduce packing time on multiprocessor
|
||||
machines. The required amount of memory for the delta search window
|
||||
is however multiplied by the number of threads.
|
||||
Specifying 0 will cause git to auto-detect the number of CPU's
|
||||
Specifying 0 will cause Git to auto-detect the number of CPU's
|
||||
and set the number of threads accordingly.
|
||||
|
||||
pack.indexVersion::
|
||||
@ -1687,11 +1772,11 @@ pack.indexVersion::
|
||||
and this config option ignored whenever the corresponding pack is
|
||||
larger than 2 GB.
|
||||
+
|
||||
If you have an old git that does not understand the version 2 `*.idx` file,
|
||||
If you have an old Git that does not understand the version 2 `*.idx` file,
|
||||
cloning or fetching over a non native protocol (e.g. "http" and "rsync")
|
||||
that will copy both `*.pack` file and corresponding `*.idx` file from the
|
||||
other side may give you a repository that cannot be accessed with your
|
||||
older version of git. If the `*.pack` file is smaller than 2 GB, however,
|
||||
older version of Git. If the `*.pack` file is smaller than 2 GB, however,
|
||||
you can use linkgit:git-index-pack[1] on the *.pack file to regenerate
|
||||
the `*.idx` file.
|
||||
|
||||
@ -1706,7 +1791,7 @@ pack.packSizeLimit::
|
||||
|
||||
pager.<cmd>::
|
||||
If the value is boolean, turns on or off pagination of the
|
||||
output of a particular git subcommand when writing to a tty.
|
||||
output of a particular Git subcommand when writing to a tty.
|
||||
Otherwise, turns on pagination for the subcommand using the
|
||||
pager specified by the value of `pager.<cmd>`. If `--paginate`
|
||||
or `--no-pager` is specified on the command line, it takes
|
||||
@ -1741,7 +1826,7 @@ pull.twohead::
|
||||
The default merge strategy to use when pulling a single branch.
|
||||
|
||||
push.default::
|
||||
Defines the action git push should take if no refspec is given
|
||||
Defines the action `git push` should take if no refspec is given
|
||||
on the command line, no refspec is configured in the remote, and
|
||||
no refspec is implied by any of the options given on the command
|
||||
line. Possible values are:
|
||||
@ -1757,7 +1842,8 @@ push.default::
|
||||
+
|
||||
This is currently the default, but Git 2.0 will change the default
|
||||
to `simple`.
|
||||
* `upstream` - push the current branch to its upstream branch.
|
||||
* `upstream` - push the current branch to its upstream branch
|
||||
(`tracking` is a deprecated synonym for this).
|
||||
With this, `git push` will update the same remote ref as the one which
|
||||
is merged by `git pull`, making `push` and `pull` symmetrical.
|
||||
See "branch.<name>.merge" for how to configure the upstream branch.
|
||||
@ -1826,10 +1912,24 @@ receive.denyNonFastForwards::
|
||||
even if that push is forced. This configuration variable is
|
||||
set when initializing a shared repository.
|
||||
|
||||
receive.hiderefs::
|
||||
String(s) `receive-pack` uses to decide which refs to omit
|
||||
from its initial advertisement. Use more than one
|
||||
definitions to specify multiple prefix strings. A ref that
|
||||
are under the hierarchies listed on the value of this
|
||||
variable is excluded, and is hidden when responding to `git
|
||||
push`, and an attempt to update or delete a hidden ref by
|
||||
`git push` is rejected.
|
||||
|
||||
receive.updateserverinfo::
|
||||
If set to true, git-receive-pack will run git-update-server-info
|
||||
after receiving data from git-push and updating refs.
|
||||
|
||||
remote.pushdefault::
|
||||
The remote to push to by default. Overrides
|
||||
`branch.<name>.remote` for all branches, and is overridden by
|
||||
`branch.<name>.pushremote` for specific branches.
|
||||
|
||||
remote.<name>.url::
|
||||
The URL of a remote repository. See linkgit:git-fetch[1] or
|
||||
linkgit:git-push[1].
|
||||
@ -1881,7 +1981,7 @@ remote.<name>.tagopt::
|
||||
linkgit:git-fetch[1].
|
||||
|
||||
remote.<name>.vcs::
|
||||
Setting this to a value <vcs> will cause git to interact with
|
||||
Setting this to a value <vcs> will cause Git to interact with
|
||||
the remote with the git-remote-<vcs> helper.
|
||||
|
||||
remotes.<group>::
|
||||
@ -1891,9 +1991,9 @@ remotes.<group>::
|
||||
repack.usedeltabaseoffset::
|
||||
By default, linkgit:git-repack[1] creates packs that use
|
||||
delta-base offset. If you need to share your repository with
|
||||
git older than version 1.4.4, either directly or via a dumb
|
||||
Git older than version 1.4.4, either directly or via a dumb
|
||||
protocol such as http, then you need to set this option to
|
||||
"false" and repack. Access from old git versions over the
|
||||
"false" and repack. Access from old Git versions over the
|
||||
native protocol are unaffected by this option.
|
||||
|
||||
rerere.autoupdate::
|
||||
@ -1930,6 +2030,7 @@ sendemail.<identity>.*::
|
||||
|
||||
sendemail.aliasesfile::
|
||||
sendemail.aliasfiletype::
|
||||
sendemail.annotate::
|
||||
sendemail.bcc::
|
||||
sendemail.cc::
|
||||
sendemail.cccmd::
|
||||
@ -1962,7 +2063,7 @@ showbranch.default::
|
||||
status.relativePaths::
|
||||
By default, linkgit:git-status[1] shows paths relative to the
|
||||
current directory. Setting this variable to `false` shows paths
|
||||
relative to the repository root (this was the default for git
|
||||
relative to the repository root (this was the default for Git
|
||||
prior to v1.5.4).
|
||||
|
||||
status.showUntrackedFiles::
|
||||
@ -2000,6 +2101,12 @@ submodule.<name>.update::
|
||||
URL and other values found in the `.gitmodules` file. See
|
||||
linkgit:git-submodule[1] and linkgit:gitmodules[5] for details.
|
||||
|
||||
submodule.<name>.branch::
|
||||
The remote branch name for a submodule, used by `git submodule
|
||||
update --remote`. Set this option to override the value found in
|
||||
the `.gitmodules` file. See linkgit:git-submodule[1] and
|
||||
linkgit:gitmodules[5] for details.
|
||||
|
||||
submodule.<name>.fetchRecurseSubmodules::
|
||||
This option can be used to control recursive fetching of this
|
||||
submodule. It can be overridden by using the --[no-]recurse-submodules
|
||||
@ -2032,18 +2139,38 @@ transfer.fsckObjects::
|
||||
not set, the value of this variable is used instead.
|
||||
Defaults to false.
|
||||
|
||||
transfer.hiderefs::
|
||||
This variable can be used to set both `receive.hiderefs`
|
||||
and `uploadpack.hiderefs` at the same time to the same
|
||||
values. See entries for these other variables.
|
||||
|
||||
transfer.unpackLimit::
|
||||
When `fetch.unpackLimit` or `receive.unpackLimit` are
|
||||
not set, the value of this variable is used instead.
|
||||
The default value is 100.
|
||||
|
||||
uploadpack.hiderefs::
|
||||
String(s) `upload-pack` uses to decide which refs to omit
|
||||
from its initial advertisement. Use more than one
|
||||
definitions to specify multiple prefix strings. A ref that
|
||||
are under the hierarchies listed on the value of this
|
||||
variable is excluded, and is hidden from `git ls-remote`,
|
||||
`git fetch`, etc. An attempt to fetch a hidden ref by `git
|
||||
fetch` will fail. See also `uploadpack.allowtipsha1inwant`.
|
||||
|
||||
uploadpack.allowtipsha1inwant::
|
||||
When `uploadpack.hiderefs` is in effect, allow `upload-pack`
|
||||
to accept a fetch request that asks for an object at the tip
|
||||
of a hidden ref (by default, such a request is rejected).
|
||||
see also `uploadpack.hiderefs`.
|
||||
|
||||
url.<base>.insteadOf::
|
||||
Any URL that starts with this value will be rewritten to
|
||||
start, instead, with <base>. In cases where some site serves a
|
||||
large number of repositories, and serves them with multiple
|
||||
access methods, and some users need to use different access
|
||||
methods, this feature allows people to specify any of the
|
||||
equivalent URLs and have git automatically rewrite the URL to
|
||||
equivalent URLs and have Git automatically rewrite the URL to
|
||||
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.
|
||||
@ -2054,11 +2181,11 @@ url.<base>.pushInsteadOf::
|
||||
resulting URL will be pushed to. In cases where some site serves
|
||||
a large number of repositories, and serves them with multiple
|
||||
access methods, some of which do not allow push, this feature
|
||||
allows people to specify a pull-only URL and have git
|
||||
allows people to specify a pull-only URL and have Git
|
||||
automatically use an appropriate URL to push, even for a
|
||||
never-before-seen repository on the site. When more than one
|
||||
pushInsteadOf strings match a given URL, the longest match is
|
||||
used. If a remote has an explicit pushurl, git will ignore this
|
||||
used. If a remote has an explicit pushurl, Git will ignore this
|
||||
setting for that remote.
|
||||
|
||||
user.email::
|
||||
|
@ -56,6 +56,10 @@ diff.statGraphWidth::
|
||||
Limit the width of the graph part in --stat output. If set, applies
|
||||
to all commands generating --stat output except format-patch.
|
||||
|
||||
diff.context::
|
||||
Generate diffs with <n> lines of context instead of the default
|
||||
of 3. This value is overridden by the -U option.
|
||||
|
||||
diff.external::
|
||||
If this config variable is set, diff generation is not
|
||||
performed using the internal diff machinery, but using the
|
||||
@ -95,7 +99,7 @@ diff.renameLimit::
|
||||
detection; equivalent to the 'git diff' option '-l'.
|
||||
|
||||
diff.renames::
|
||||
Tells git to detect renames. If set to any boolean value, it
|
||||
Tells Git to detect renames. If set to any boolean value, it
|
||||
will enable basic rename detection. If set to "copies" or
|
||||
"copy", it will detect copies, as well.
|
||||
|
||||
@ -103,6 +107,19 @@ diff.suppressBlankEmpty::
|
||||
A boolean to inhibit the standard behavior of printing a space
|
||||
before each empty output line. Defaults to false.
|
||||
|
||||
diff.submodule::
|
||||
Specify the format in which differences in submodules are
|
||||
shown. The "log" format lists the commits in the range like
|
||||
linkgit:git-submodule[1] `summary` does. The "short" format
|
||||
format just shows the names of the commits at the beginning
|
||||
and end of the range. Defaults to short.
|
||||
|
||||
diff.wordRegex::
|
||||
A POSIX Extended Regular Expression used to determine what is a "word"
|
||||
when performing word-by-word difference calculations. Character
|
||||
sequences that match the regular expression are "words", all other
|
||||
characters are *ignorable* whitespace.
|
||||
|
||||
diff.<driver>.command::
|
||||
The custom diff driver command. See linkgit:gitattributes[5]
|
||||
for details.
|
||||
@ -132,9 +149,27 @@ diff.<driver>.cachetextconv::
|
||||
conversion outputs. See linkgit:gitattributes[5] for details.
|
||||
|
||||
diff.tool::
|
||||
The diff tool to be used by linkgit:git-difftool[1]. This
|
||||
option overrides `merge.tool`, and has the same valid built-in
|
||||
values as `merge.tool` minus "tortoisemerge" and plus
|
||||
"kompare". Any other value is treated as a custom diff tool,
|
||||
and there must be a corresponding `difftool.<tool>.cmd`
|
||||
option.
|
||||
Controls which diff tool is used by linkgit:git-difftool[1].
|
||||
This variable overrides the value configured in `merge.tool`.
|
||||
The list below shows the valid built-in values.
|
||||
Any other value is treated as a custom diff tool and requires
|
||||
that a corresponding difftool.<tool>.cmd variable is defined.
|
||||
|
||||
include::mergetools-diff.txt[]
|
||||
|
||||
diff.algorithm::
|
||||
Choose a diff algorithm. The variants are as follows:
|
||||
+
|
||||
--
|
||||
`default`, `myers`;;
|
||||
The basic greedy diff algorithm. Currently, this is the default.
|
||||
`minimal`;;
|
||||
Spend extra time to make sure the smallest possible diff is
|
||||
produced.
|
||||
`patience`;;
|
||||
Use "patience diff" algorithm when generating patches.
|
||||
`histogram`;;
|
||||
This algorithm extends the patience algorithm to "support
|
||||
low-occurrence common elements".
|
||||
--
|
||||
+
|
||||
|
@ -55,6 +55,26 @@ endif::git-format-patch[]
|
||||
--histogram::
|
||||
Generate a diff using the "histogram diff" algorithm.
|
||||
|
||||
--diff-algorithm={patience|minimal|histogram|myers}::
|
||||
Choose a diff algorithm. The variants are as follows:
|
||||
+
|
||||
--
|
||||
`default`, `myers`;;
|
||||
The basic greedy diff algorithm. Currently, this is the default.
|
||||
`minimal`;;
|
||||
Spend extra time to make sure the smallest possible diff is
|
||||
produced.
|
||||
`patience`;;
|
||||
Use "patience diff" algorithm when generating patches.
|
||||
`histogram`;;
|
||||
This algorithm extends the patience algorithm to "support
|
||||
low-occurrence common elements".
|
||||
--
|
||||
+
|
||||
For instance, if you configured diff.algorithm variable to a
|
||||
non-default value and want to use the default one, then you
|
||||
have to use `--diff-algorithm=default` option.
|
||||
|
||||
--stat[=<width>[,<name-width>[,<count>]]]::
|
||||
Generate a diffstat. By default, as much space as necessary
|
||||
will be used for the filename part, and the rest for the graph
|
||||
@ -170,12 +190,13 @@ any of those replacements occurred.
|
||||
the commits in the range like linkgit:git-submodule[1] `summary` does.
|
||||
Omitting the `--submodule` option or specifying `--submodule=short`,
|
||||
uses the 'short' format. This format just shows the names of the commits
|
||||
at the beginning and end of the range.
|
||||
at the beginning and end of the range. Can be tweaked via the
|
||||
`diff.submodule` configuration variable.
|
||||
|
||||
--color[=<when>]::
|
||||
Show colored diff.
|
||||
The value must be `always` (the default for `<when>`), `never`, or `auto`.
|
||||
The default value is `never`.
|
||||
`--color` (i.e. without '=<when>') is the same as `--color=always`.
|
||||
'<when>' can be one of `always`, `never`, or `auto`.
|
||||
ifdef::git-diff[]
|
||||
It can be changed by the `color.ui` and `color.diff`
|
||||
configuration settings.
|
||||
@ -282,7 +303,7 @@ few lines that happen to match textually as the context, but as a
|
||||
single deletion of everything old followed by a single insertion of
|
||||
everything new, and the number `m` controls this aspect of the -B
|
||||
option (defaults to 60%). `-B/70%` specifies that less than 30% of the
|
||||
original should remain in the result for git to consider it a total
|
||||
original should remain in the result for Git to consider it a total
|
||||
rewrite (i.e. otherwise the resulting patch will be a series of
|
||||
deletion and insertion mixed together with context lines).
|
||||
+
|
||||
@ -306,9 +327,13 @@ ifdef::git-log[]
|
||||
endif::git-log[]
|
||||
If `n` is specified, it is a threshold on the similarity
|
||||
index (i.e. amount of addition/deletions compared to the
|
||||
file's size). For example, `-M90%` means git should consider a
|
||||
file's size). For example, `-M90%` means Git should consider a
|
||||
delete/add pair to be a rename if more than 90% of the file
|
||||
hasn't changed.
|
||||
hasn't changed. Without a `%` sign, the number is to be read as
|
||||
a fraction, with a decimal point before it. I.e., `-M5` becomes
|
||||
0.5, and is thus the same as `-M50%`. Similarly, `-M05` is
|
||||
the same as `-M5%`. To limit detection to exact renames, use
|
||||
`-M100%`.
|
||||
|
||||
-C[<n>]::
|
||||
--find-copies[=<n>]::
|
||||
|
@ -1,4 +1,4 @@
|
||||
Everyday GIT With 20 Commands Or So
|
||||
Everyday Git With 20 Commands Or So
|
||||
===================================
|
||||
|
||||
<<Individual Developer (Standalone)>> commands are essential for
|
||||
@ -12,7 +12,7 @@ commands in addition to the above.
|
||||
|
||||
<<Repository Administration>> commands are for system
|
||||
administrators who are responsible for the care and feeding
|
||||
of git repositories.
|
||||
of Git repositories.
|
||||
|
||||
|
||||
Individual Developer (Standalone)[[Individual Developer (Standalone)]]
|
||||
@ -87,7 +87,7 @@ $ git log v2.43.. curses/ <12>
|
||||
+
|
||||
<1> create a new topic branch.
|
||||
<2> revert your botched changes in `curses/ux_audio_oss.c`.
|
||||
<3> you need to tell git if you added a new file; removal and
|
||||
<3> you need to tell Git if you added a new file; removal and
|
||||
modification will be caught if you do `git commit -a` later.
|
||||
<4> to see what changes you are committing.
|
||||
<5> commit everything as you have tested, with your sign-off.
|
||||
@ -229,7 +229,7 @@ commands in addition to the ones needed by participants.
|
||||
Examples
|
||||
~~~~~~~~
|
||||
|
||||
My typical GIT day.::
|
||||
My typical Git day.::
|
||||
+
|
||||
------------
|
||||
$ git status <1>
|
||||
@ -332,7 +332,7 @@ Run git-daemon to serve /pub/scm from xinetd.::
|
||||
------------
|
||||
$ cat /etc/xinetd.d/git-daemon
|
||||
# default: off
|
||||
# description: The git server offers access to git repositories
|
||||
# description: The Git server offers access to Git repositories
|
||||
service git
|
||||
{
|
||||
disable = no
|
||||
|
@ -8,11 +8,15 @@
|
||||
option old data in `.git/FETCH_HEAD` will be overwritten.
|
||||
|
||||
--depth=<depth>::
|
||||
Deepen the history of a 'shallow' repository created by
|
||||
Deepen or shorten the history of a 'shallow' repository created by
|
||||
`git clone` with `--depth=<depth>` option (see linkgit:git-clone[1])
|
||||
to the specified number of commits from the tip of each remote
|
||||
branch history. Tags for the deepened commits are not fetched.
|
||||
|
||||
--unshallow::
|
||||
Convert a shallow repository to a complete one, removing all
|
||||
the limitations imposed by shallow repositories.
|
||||
|
||||
ifndef::git-pull[]
|
||||
--dry-run::
|
||||
Show what would be done, without making any changes.
|
||||
@ -57,14 +61,11 @@ endif::git-pull[]
|
||||
ifndef::git-pull[]
|
||||
-t::
|
||||
--tags::
|
||||
Most of the tags are fetched automatically as branch
|
||||
heads are downloaded, but tags that do not point at
|
||||
objects reachable from the branch heads that are being
|
||||
tracked will not be fetched by this mechanism. This
|
||||
flag lets all tags and their associated objects be
|
||||
downloaded. The default behavior for a remote may be
|
||||
specified with the remote.<name>.tagopt setting. See
|
||||
linkgit:git-config[1].
|
||||
This is a short-hand for giving "refs/tags/*:refs/tags/*"
|
||||
refspec from the command line, to ask all tags to be fetched
|
||||
and stored locally. Because this acts as an explicit
|
||||
refspec, the default refspecs (configured with the
|
||||
remote.$name.fetch variable) are overridden and not used.
|
||||
|
||||
--recurse-submodules[=yes|on-demand|no]::
|
||||
This option controls if and under what conditions new commits of
|
||||
|
@ -9,9 +9,9 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
|
||||
[--edit | -e] [--all | [--update | -u]] [--intent-to-add | -N]
|
||||
[--refresh] [--ignore-errors] [--ignore-missing] [--]
|
||||
[<filepattern>...]
|
||||
[--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
|
||||
[--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]
|
||||
[--] [<pathspec>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -49,7 +49,7 @@ commit.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
<filepattern>...::
|
||||
<pathspec>...::
|
||||
Files to add content from. Fileglobs (e.g. `*.c`) can
|
||||
be given to add all matching files. Also a
|
||||
leading directory name (e.g. `dir` to add `dir/file1`
|
||||
@ -100,23 +100,40 @@ apply to the index. See EDITING PATCHES below.
|
||||
|
||||
-u::
|
||||
--update::
|
||||
Only match <filepattern> against already tracked files in
|
||||
the index rather than the working tree. That means that it
|
||||
will never stage new files, but that it will stage modified
|
||||
new contents of tracked files and that it will remove files
|
||||
from the index if the corresponding files in the working tree
|
||||
have been removed.
|
||||
Update the index just where it already has an entry matching
|
||||
<pathspec>. This removes as well as modifies index entries to
|
||||
match the working tree, but adds no new files.
|
||||
+
|
||||
If no <filepattern> is given, default to "."; in other words,
|
||||
update all tracked files in the current directory and its
|
||||
subdirectories.
|
||||
If no <pathspec> is given, the current version of Git defaults to
|
||||
"."; in other words, update all tracked files in the current directory
|
||||
and its subdirectories. This default will change in a future version
|
||||
of Git, hence the form without <pathspec> should not be used.
|
||||
|
||||
-A::
|
||||
--all::
|
||||
Like `-u`, but match <filepattern> against files in the
|
||||
working tree in addition to the index. That means that it
|
||||
will find new files as well as staging modified content and
|
||||
removing files that are no longer in the working tree.
|
||||
--no-ignore-removal::
|
||||
Update the index not only where the working tree has a file
|
||||
matching <pathspec> but also where the index already has an
|
||||
entry. This adds, modifies, and removes index entries to
|
||||
match the working tree.
|
||||
+
|
||||
If no <pathspec> is given, the current version of Git defaults to
|
||||
"."; in other words, update all files in the current directory
|
||||
and its subdirectories. This default will change in a future version
|
||||
of Git, hence the form without <pathspec> should not be used.
|
||||
|
||||
--no-all::
|
||||
--ignore-removal::
|
||||
Update the index by adding new files that are unknown to the
|
||||
index and files modified in the working tree, but ignore
|
||||
files that have been removed from the working tree. This
|
||||
option is a no-op when no <pathspec> is used.
|
||||
+
|
||||
This option is primarily to help the current users of Git, whose
|
||||
"git add <pathspec>..." ignores removed files. In future versions
|
||||
of Git, "git add <pathspec>..." will be a synonym to "git add -A
|
||||
<pathspec>..." and "git add --ignore-removal <pathspec>..." will behave like
|
||||
today's "git add <pathspec>...", ignoring removed files.
|
||||
|
||||
-N::
|
||||
--intent-to-add::
|
||||
|
@ -24,7 +24,7 @@ Reads the supplied diff output (i.e. "a patch") and applies it to files.
|
||||
With the `--index` option the patch is also applied to the index, and
|
||||
with the `--cached` option the patch is only applied to the index.
|
||||
Without these options, the command applies the patch only to files,
|
||||
and does not require them to be in a git repository.
|
||||
and does not require them to be in a Git repository.
|
||||
|
||||
This command applies the patch but does not create a commit. Use
|
||||
linkgit:git-am[1] to create commits from patches generated by
|
||||
@ -198,7 +198,7 @@ behavior:
|
||||
* `fix` outputs warnings for a few such errors, and applies the
|
||||
patch after fixing them (`strip` is a synonym --- the tool
|
||||
used to consider only trailing whitespace characters as errors, and the
|
||||
fix involved 'stripping' them, but modern gits do more).
|
||||
fix involved 'stripping' them, but modern Gits do more).
|
||||
* `error` outputs warnings for a few such errors, and refuses
|
||||
to apply the patch.
|
||||
* `error-all` is similar to `error` but shows all errors.
|
||||
|
@ -3,7 +3,7 @@ git-archimport(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-archimport - Import an Arch repository into git
|
||||
git-archimport - Import an Arch repository into Git
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
@ -40,13 +40,13 @@ directory. To follow the development of a project that uses Arch, rerun
|
||||
incremental imports.
|
||||
|
||||
While 'git archimport' will try to create sensible branch names for the
|
||||
archives that it imports, it is also possible to specify git branch names
|
||||
manually. To do so, write a git branch name after each <archive/branch>
|
||||
archives that it imports, it is also possible to specify Git branch names
|
||||
manually. To do so, write a Git branch name after each <archive/branch>
|
||||
parameter, separated by a colon. This way, you can shorten the Arch
|
||||
branch names and convert Arch jargon to git jargon, for example mapping a
|
||||
branch names and convert Arch jargon to Git jargon, for example mapping a
|
||||
"PROJECT{litdd}devo{litdd}VERSION" branch to "master".
|
||||
|
||||
Associating multiple Arch branches to one git branch is possible; the
|
||||
Associating multiple Arch branches to one Git branch is possible; the
|
||||
result will make the most sense only if no commits are made to the first
|
||||
branch, after the second branch is created. Still, this is useful to
|
||||
convert Arch repositories that had been rotated periodically.
|
||||
@ -54,14 +54,14 @@ convert Arch repositories that had been rotated periodically.
|
||||
|
||||
MERGES
|
||||
------
|
||||
Patch merge data from Arch is used to mark merges in git as well. git
|
||||
Patch merge data from Arch is used to mark merges in Git as well. Git
|
||||
does not care much about tracking patches, and only considers a merge when a
|
||||
branch incorporates all the commits since the point they forked. The end result
|
||||
is that git will have a good idea of how far branches have diverged. So the
|
||||
is that Git will have a good idea of how far branches have diverged. So the
|
||||
import process does lose some patch-trading metadata.
|
||||
|
||||
Fortunately, when you try and merge branches imported from Arch,
|
||||
git will find a good merge base, and it has a good chance of identifying
|
||||
Git will find a good merge base, and it has a good chance of identifying
|
||||
patches that have been traded out-of-sequence between the branches.
|
||||
|
||||
OPTIONS
|
||||
|
@ -56,7 +56,8 @@ OPTIONS
|
||||
Write the archive to <file> instead of stdout.
|
||||
|
||||
--worktree-attributes::
|
||||
Look for attributes in .gitattributes in working directory too.
|
||||
Look for attributes in .gitattributes files in the working tree
|
||||
as well (see <<ATTRIBUTES>>).
|
||||
|
||||
<extra>::
|
||||
This can be any options that the archiver backend understands.
|
||||
@ -120,6 +121,7 @@ tar.<format>.remote::
|
||||
user-defined formats, but true for the "tar.gz" and "tgz"
|
||||
formats.
|
||||
|
||||
[[ATTRIBUTES]]
|
||||
ATTRIBUTES
|
||||
----------
|
||||
|
||||
@ -128,7 +130,7 @@ export-ignore::
|
||||
added to archive files. See linkgit:gitattributes[5] for details.
|
||||
|
||||
export-subst::
|
||||
If the attribute export-subst is set for a file then git will
|
||||
If the attribute export-subst is set for a file then Git will
|
||||
expand several placeholders when adding this file to an archive.
|
||||
See linkgit:gitattributes[5] for details.
|
||||
|
||||
|
@ -224,7 +224,7 @@ Note that the example that we will use is really a toy example, we
|
||||
will be looking for the first commit that has a version like
|
||||
"2.6.26-something", that is the commit that has a "SUBLEVEL = 26" line
|
||||
in the top level Makefile. This is a toy example because there are
|
||||
better ways to find this commit with git than using "git bisect" (for
|
||||
better ways to find this commit with Git than using "git bisect" (for
|
||||
example "git blame" or "git log -S<string>").
|
||||
|
||||
Driving a bisection manually
|
||||
@ -257,7 +257,7 @@ Date: Sat May 3 11:59:44 2008 -0700
|
||||
|
||||
Linux 2.6.26-rc1
|
||||
|
||||
:100644 100644 5cf8258195331a4dbdddff08b8d68642638eea57 4492984efc09ab72ff6219a7bc21fb6a957c4cd5 M Makefile
|
||||
:100644 100644 5cf82581... 4492984e... M Makefile
|
||||
-------------
|
||||
|
||||
At this point we can see what the commit does, check it out (if it's
|
||||
@ -331,7 +331,7 @@ Date: Sat May 3 11:59:44 2008 -0700
|
||||
|
||||
Linux 2.6.26-rc1
|
||||
|
||||
:100644 100644 5cf8258195331a4dbdddff08b8d68642638eea57 4492984efc09ab72ff6219a7bc21fb6a957c4cd5 M Makefile
|
||||
:100644 100644 5cf82581... 4492984e... M Makefile
|
||||
bisect run success
|
||||
-------------
|
||||
|
||||
@ -455,7 +455,7 @@ So only the W and B commits will be kept. Because commits X and Y will
|
||||
have been removed by rules a) and b) respectively, and because commits
|
||||
G are removed by rule b) too.
|
||||
|
||||
Note for git users, that it is equivalent as keeping only the commit
|
||||
Note for Git users, that it is equivalent as keeping only the commit
|
||||
given by:
|
||||
|
||||
-------------
|
||||
@ -710,8 +710,8 @@ Skip algorithm discussed
|
||||
After step 7) (in the skip algorithm), we could check if the second
|
||||
commit has been skipped and return it if it is not the case. And in
|
||||
fact that was the algorithm we used from when "git bisect skip" was
|
||||
developed in git version 1.5.4 (released on February 1st 2008) until
|
||||
git version 1.6.4 (released July 29th 2009).
|
||||
developed in Git version 1.5.4 (released on February 1st 2008) until
|
||||
Git version 1.6.4 (released July 29th 2009).
|
||||
|
||||
But Ingo Molnar and H. Peter Anvin (another well known linux kernel
|
||||
developer) both complained that sometimes the best bisection points
|
||||
@ -1025,10 +1025,10 @@ And here is what Andreas said about this work-flow <<5>>:
|
||||
_____________
|
||||
To give some hard figures, we used to have an average report-to-fix
|
||||
cycle of 142.6 hours (according to our somewhat weird bug-tracker
|
||||
which just measures wall-clock time). Since we moved to git, we've
|
||||
which just measures wall-clock time). Since we moved to Git, we've
|
||||
lowered that to 16.2 hours. Primarily because we can stay on top of
|
||||
the bug fixing now, and because everyone's jockeying to get to fix
|
||||
bugs (we're quite proud of how lazy we are to let git find the bugs
|
||||
bugs (we're quite proud of how lazy we are to let Git find the bugs
|
||||
for us). Each new release results in ~40% fewer bugs (almost certainly
|
||||
due to how we now feel about writing tests).
|
||||
_____________
|
||||
@ -1228,9 +1228,9 @@ commits in already released history, for example to change the commit
|
||||
message or the author. And it can also be used instead of git "grafts"
|
||||
to link a repository with another old repository.
|
||||
|
||||
In fact it's this last feature that "sold" it to the git community, so
|
||||
it is now in the "master" branch of git's git repository and it should
|
||||
be released in git 1.6.5 in October or November 2009.
|
||||
In fact it's this last feature that "sold" it to the Git community, so
|
||||
it is now in the "master" branch of Git's Git repository and it should
|
||||
be released in Git 1.6.5 in October or November 2009.
|
||||
|
||||
One problem with "git replace" is that currently it stores all the
|
||||
replacements refs in "refs/replace/", but it would be perhaps better
|
||||
@ -1324,7 +1324,7 @@ Acknowledgements
|
||||
----------------
|
||||
|
||||
Many thanks to Junio Hamano for his help in reviewing this paper, for
|
||||
reviewing the patches I sent to the git mailing list, for discussing
|
||||
reviewing the patches I sent to the Git mailing list, for discussing
|
||||
some ideas and helping me improve them, for improving "git bisect" a
|
||||
lot and for his awesome work in maintaining and developing Git.
|
||||
|
||||
@ -1337,7 +1337,7 @@ Many thanks to Linus Torvalds for inventing, developing and
|
||||
evangelizing "git bisect", Git and Linux.
|
||||
|
||||
Many thanks to the many other great people who helped one way or
|
||||
another when I worked on git, especially to Andreas Ericsson, Johannes
|
||||
another when I worked on Git, especially to Andreas Ericsson, Johannes
|
||||
Schindelin, H. Peter Anvin, Daniel Barkalow, Bill Lear, John Hawley,
|
||||
Shawn O. Pierce, Jeff King, Sam Vilain, Jon Seymour.
|
||||
|
||||
|
@ -83,7 +83,7 @@ Bisect reset
|
||||
~~~~~~~~~~~~
|
||||
|
||||
After a bisect session, to clean up the bisection state and return to
|
||||
the original HEAD, issue the following command:
|
||||
the original HEAD (i.e., to quit bisecting), issue the following command:
|
||||
|
||||
------------------------------------------------
|
||||
$ git bisect reset
|
||||
@ -169,14 +169,14 @@ the revision as good or bad in the usual manner.
|
||||
Bisect skip
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Instead of choosing by yourself a nearby commit, you can ask git
|
||||
Instead of choosing by yourself a nearby commit, you can ask Git
|
||||
to do it for you by issuing the command:
|
||||
|
||||
------------
|
||||
$ git bisect skip # Current version cannot be tested
|
||||
------------
|
||||
|
||||
But git may eventually be unable to tell the first bad commit among
|
||||
But Git may eventually be unable to tell the first bad commit among
|
||||
a bad commit and one or more skipped commits.
|
||||
|
||||
You can even skip a range of commits, instead of just one commit,
|
||||
@ -284,6 +284,7 @@ EXAMPLES
|
||||
------------
|
||||
$ git bisect start HEAD v1.2 -- # HEAD is bad, v1.2 is good
|
||||
$ git bisect run make # "make" builds the app
|
||||
$ git bisect reset # quit the bisect session
|
||||
------------
|
||||
|
||||
* Automatically bisect a test failure between origin and HEAD:
|
||||
@ -291,6 +292,7 @@ $ git bisect run make # "make" builds the app
|
||||
------------
|
||||
$ git bisect start HEAD origin -- # HEAD is bad, origin is good
|
||||
$ git bisect run make test # "make test" builds and tests
|
||||
$ git bisect reset # quit the bisect session
|
||||
------------
|
||||
|
||||
* Automatically bisect a broken test case:
|
||||
@ -302,6 +304,7 @@ make || exit 125 # this skips broken builds
|
||||
~/check_test_case.sh # does the test case pass?
|
||||
$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10
|
||||
$ git bisect run ~/test.sh
|
||||
$ git bisect reset # quit the bisect session
|
||||
------------
|
||||
+
|
||||
Here we use a "test.sh" custom script. In this script, if "make"
|
||||
@ -351,6 +354,7 @@ use `git cherry-pick` instead of `git merge`.)
|
||||
------------
|
||||
$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10
|
||||
$ git bisect run sh -c "make || exit 125; ~/check_test_case.sh"
|
||||
$ git bisect reset # quit the bisect session
|
||||
------------
|
||||
+
|
||||
This shows that you can do without a run script if you write the test
|
||||
@ -368,6 +372,7 @@ $ git bisect run sh -c '
|
||||
rm -f tmp.$$
|
||||
test $rc = 0'
|
||||
|
||||
$ git bisect reset # quit the bisect session
|
||||
------------
|
||||
+
|
||||
In this case, when 'git bisect run' finishes, bisect/bad will refer to a commit that
|
||||
|
@ -30,7 +30,7 @@ The report does not tell you anything about lines which have been deleted or
|
||||
replaced; you need to use a tool such as 'git diff' or the "pickaxe"
|
||||
interface briefly mentioned in the following paragraph.
|
||||
|
||||
Apart from supporting file annotation, git also supports searching the
|
||||
Apart from supporting file annotation, Git also supports searching the
|
||||
development history for when a code snippet occurred in a change. This makes it
|
||||
possible to track when a code snippet was added to a file, moved or copied
|
||||
between files, and eventually deleted or replaced. It works by searching for
|
||||
|
@ -22,13 +22,15 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
With no arguments, existing branches are listed and the current branch will
|
||||
be highlighted with an asterisk. Option `-r` causes the remote-tracking
|
||||
branches to be listed, and option `-a` shows both. This list mode is also
|
||||
activated by the `--list` option (see below).
|
||||
<pattern> restricts the output to matching branches, the pattern is a shell
|
||||
wildcard (i.e., matched using fnmatch(3)).
|
||||
Multiple patterns may be given; if any of them matches, the branch is shown.
|
||||
If `--list` is given, or if there are no non-option arguments, existing
|
||||
branches are listed; the current branch will be highlighted with an
|
||||
asterisk. Option `-r` causes the remote-tracking branches to be listed,
|
||||
and option `-a` shows both local and remote branches. If a `<pattern>`
|
||||
is given, it is used as a shell wildcard to restrict the output to
|
||||
matching branches. If multiple patterns are given, a branch is shown if
|
||||
it matches any of the patterns. Note that when providing a
|
||||
`<pattern>`, you must use `--list`; otherwise the command is interpreted
|
||||
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
|
||||
@ -45,7 +47,7 @@ Note that this will create the new branch, but it will not switch the
|
||||
working tree to it; use "git checkout <newbranch>" to switch to the
|
||||
new branch.
|
||||
|
||||
When a local branch is started off a remote-tracking branch, git sets up the
|
||||
When a local branch is started off a remote-tracking branch, Git sets up the
|
||||
branch so that 'git pull' will appropriately merge from
|
||||
the remote-tracking branch. This behavior may be changed via the global
|
||||
`branch.autosetupmerge` configuration flag. That setting can be
|
||||
@ -193,15 +195,15 @@ start-point is either a local or remote-tracking branch.
|
||||
|
||||
--contains [<commit>]::
|
||||
Only list branches which contain the specified commit (HEAD
|
||||
if not specified).
|
||||
if not specified). Implies `--list`.
|
||||
|
||||
--merged [<commit>]::
|
||||
Only list branches whose tips are reachable from the
|
||||
specified commit (HEAD if not specified).
|
||||
specified commit (HEAD if not specified). Implies `--list`.
|
||||
|
||||
--no-merged [<commit>]::
|
||||
Only list branches whose tips are not reachable from the
|
||||
specified commit (HEAD if not specified).
|
||||
specified commit (HEAD if not specified). Implies `--list`.
|
||||
|
||||
<branchname>::
|
||||
The name of the branch to create or delete.
|
||||
|
@ -19,7 +19,7 @@ DESCRIPTION
|
||||
|
||||
Some workflows require that one or more branches of development on one
|
||||
machine be replicated on another machine, but the two machines cannot
|
||||
be directly connected, and therefore the interactive git protocols (git,
|
||||
be directly connected, and therefore the interactive Git protocols (git,
|
||||
ssh, rsync, http) cannot be used. This command provides support for
|
||||
'git fetch' and 'git pull' to operate by packaging objects and references
|
||||
in an archive at the originating machine, then importing those into
|
||||
@ -112,13 +112,12 @@ machineA$ git bundle create file.bundle master
|
||||
machineA$ git tag -f lastR2bundle master
|
||||
----------------
|
||||
|
||||
Then you transfer file.bundle to the target machine B. If you are creating
|
||||
the repository on machine B, then you can clone from the bundle as if it
|
||||
were a remote repository instead of creating an empty repository and then
|
||||
pulling or fetching objects from the bundle:
|
||||
Then you transfer file.bundle to the target machine B. Because this
|
||||
bundle does not require any existing object to be extracted, you can
|
||||
create a new repository on machine B by cloning from it:
|
||||
|
||||
----------------
|
||||
machineB$ git clone /home/me/tmp/file.bundle R2
|
||||
machineB$ git clone -b master /home/me/tmp/file.bundle R2
|
||||
----------------
|
||||
|
||||
This will define a remote called "origin" in the resulting repository that
|
||||
|
@ -20,7 +20,7 @@ object type, or '-s' is used to find the object size, or '--textconv' is used
|
||||
(which implies type "blob").
|
||||
|
||||
In the second form, a list of objects (separated by linefeeds) is provided on
|
||||
stdin, and the SHA1, type, and size of each object is printed on stdout.
|
||||
stdin, and the SHA-1, type, and size of each object is printed on stdout.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@ -58,11 +58,11 @@ OPTIONS
|
||||
to apply the filter to the content recorded in the index at <path>.
|
||||
|
||||
--batch::
|
||||
Print the SHA1, type, size, and contents of each object provided on
|
||||
Print the SHA-1, type, size, and contents of each object provided on
|
||||
stdin. May not be combined with any other options or arguments.
|
||||
|
||||
--batch-check::
|
||||
Print the SHA1, type, and size of each object provided on stdin. May not
|
||||
Print the SHA-1, type, and size of each object provided on stdin. May not
|
||||
be combined with any other options or arguments.
|
||||
|
||||
OUTPUT
|
||||
|
89
Documentation/git-check-ignore.txt
Normal file
89
Documentation/git-check-ignore.txt
Normal file
@ -0,0 +1,89 @@
|
||||
git-check-ignore(1)
|
||||
===================
|
||||
|
||||
NAME
|
||||
----
|
||||
git-check-ignore - Debug gitignore / exclude files
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git check-ignore' [options] pathname...
|
||||
'git check-ignore' [options] --stdin < <list-of-paths>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
For each pathname given via the command-line or from a file via
|
||||
`--stdin`, show the pattern from .gitignore (or other input files to
|
||||
the exclude mechanism) that decides if the pathname is excluded or
|
||||
included. Later patterns within a file take precedence over earlier
|
||||
ones.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-q, --quiet::
|
||||
Don't output anything, just set exit status. This is only
|
||||
valid with a single pathname.
|
||||
|
||||
-v, --verbose::
|
||||
Also output details about the matching pattern (if any)
|
||||
for each given pathname.
|
||||
|
||||
--stdin::
|
||||
Read file names from stdin instead of from the command-line.
|
||||
|
||||
-z::
|
||||
The output format is modified to be machine-parseable (see
|
||||
below). If `--stdin` is also given, input paths are separated
|
||||
with a NUL character instead of a linefeed character.
|
||||
|
||||
OUTPUT
|
||||
------
|
||||
|
||||
By default, any of the given pathnames which match an ignore pattern
|
||||
will be output, one per line. If no pattern matches a given path,
|
||||
nothing will be output for that path; this means that path will not be
|
||||
ignored.
|
||||
|
||||
If `--verbose` is specified, the output is a series of lines of the form:
|
||||
|
||||
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
|
||||
|
||||
<pathname> is the path of a file being queried, <pattern> is the
|
||||
matching pattern, <source> is the pattern's source file, and <linenum>
|
||||
is the line number of the pattern within that source. If the pattern
|
||||
contained a `!` prefix or `/` suffix, it will be preserved in the
|
||||
output. <source> will be an absolute path when referring to the file
|
||||
configured by `core.excludesfile`, or relative to the repository root
|
||||
when referring to `.git/info/exclude` or a per-directory exclude file.
|
||||
|
||||
If `-z` is specified, the pathnames in the output are delimited by the
|
||||
null character; if `--verbose` is also specified then null characters
|
||||
are also used instead of colons and hard tabs:
|
||||
|
||||
<source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>
|
||||
|
||||
|
||||
EXIT STATUS
|
||||
-----------
|
||||
|
||||
0::
|
||||
One or more of the provided paths is ignored.
|
||||
|
||||
1::
|
||||
None of the provided paths are ignored.
|
||||
|
||||
128::
|
||||
A fatal error was encountered.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitignore[5]
|
||||
linkgit:gitconfig[5]
|
||||
linkgit:git-ls-files[5]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
@ -18,14 +18,14 @@ DESCRIPTION
|
||||
Checks if a given 'refname' is acceptable, and exits with a non-zero
|
||||
status if it is not.
|
||||
|
||||
A reference is used in git to specify branches and tags. A
|
||||
A reference is used in Git to specify branches and tags. A
|
||||
branch head is stored in the `refs/heads` hierarchy, while
|
||||
a tag is stored in the `refs/tags` hierarchy of the ref namespace
|
||||
(typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
|
||||
directories or, as entries in file `$GIT_DIR/packed-refs`
|
||||
if refs are packed by `git gc`).
|
||||
|
||||
git imposes the following rules on how references are named:
|
||||
Git imposes the following rules on how references are named:
|
||||
|
||||
. They can include slash `/` for hierarchical (directory)
|
||||
grouping, but no slash-separated component can begin with a
|
||||
|
@ -21,18 +21,34 @@ or the specified tree. If no paths are given, 'git checkout' will
|
||||
also update `HEAD` to set the specified branch as the current
|
||||
branch.
|
||||
|
||||
'git checkout' [<branch>]::
|
||||
'git checkout' -b|-B <new_branch> [<start point>]::
|
||||
'git checkout' [--detach] [<commit>]::
|
||||
|
||||
This form switches branches by updating the index, working
|
||||
tree, and HEAD to reflect the specified branch or commit.
|
||||
'git checkout' <branch>::
|
||||
To prepare for working on <branch>, switch to it by updating
|
||||
the index and the files in the working tree, and by pointing
|
||||
HEAD at the branch. Local modifications to the files in the
|
||||
working tree are kept, so that they can be committed to the
|
||||
<branch>.
|
||||
+
|
||||
If `-b` is given, a new branch is created as if linkgit:git-branch[1]
|
||||
were called and then checked out; in this case you can
|
||||
use the `--track` or `--no-track` options, which will be passed to
|
||||
'git branch'. As a convenience, `--track` without `-b` implies branch
|
||||
creation; see the description of `--track` below.
|
||||
If <branch> is not found but there does exist a tracking branch in
|
||||
exactly one remote (call it <remote>) with a matching name, treat as
|
||||
equivalent to
|
||||
+
|
||||
------------
|
||||
$ 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
|
||||
rather expensive side-effects to show only the tracking information,
|
||||
if exists, for the current branch.
|
||||
|
||||
'git checkout' -b|-B <new_branch> [<start point>]::
|
||||
|
||||
Specifying `-b` causes a new branch to be created as if
|
||||
linkgit:git-branch[1] were called and then checked out. In
|
||||
this case you can use the `--track` or `--no-track` options,
|
||||
which will be passed to 'git branch'. As a convenience,
|
||||
`--track` without `-b` implies branch creation; see the
|
||||
description of `--track` below.
|
||||
+
|
||||
If `-B` is given, <new_branch> is created if it doesn't exist; otherwise, it
|
||||
is reset. This is the transactional equivalent of
|
||||
@ -45,6 +61,21 @@ $ git checkout <branch>
|
||||
that is to say, the branch is not reset/created unless "git checkout" is
|
||||
successful.
|
||||
|
||||
'git checkout' --detach [<branch>]::
|
||||
'git checkout' <commit>::
|
||||
|
||||
Prepare to work on top of <commit>, by detaching HEAD at it
|
||||
(see "DETACHED HEAD" section), and updating the index and the
|
||||
files in the working tree. Local modifications to the files
|
||||
in the working tree are kept, so that the resulting working
|
||||
tree will be the state recorded in the commit plus the local
|
||||
modifications.
|
||||
+
|
||||
Passing `--detach` forces this behavior in the case of a <branch> (without
|
||||
the option, giving a branch name to the command would check out the branch,
|
||||
instead of detaching HEAD at it), or the current commit,
|
||||
if no <branch> is specified.
|
||||
|
||||
'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>...::
|
||||
|
||||
When <paths> or `--patch` are given, 'git checkout' does *not*
|
||||
@ -149,6 +180,12 @@ branch by running "git rm -rf ." from the top level of the working tree.
|
||||
Afterwards you will be ready to prepare your new files, repopulating the
|
||||
working tree, by copying them from elsewhere, extracting a tarball, etc.
|
||||
|
||||
--ignore-skip-worktree-bits::
|
||||
In sparse checkout mode, `git checkout -- <paths>` would
|
||||
update only entries matched by <paths> and sparse patterns
|
||||
in $GIT_DIR/info/sparse-checkout. This option ignores
|
||||
the sparse patterns and adds back any files in <paths>.
|
||||
|
||||
-m::
|
||||
--merge::
|
||||
When switching branches,
|
||||
@ -302,7 +339,7 @@ a---b---c---d branch 'master' (refers to commit 'd')
|
||||
tag 'v2.0' (refers to commit 'b')
|
||||
------------
|
||||
|
||||
In fact, we can perform all the normal git operations. But, let's look
|
||||
In fact, we can perform all the normal Git operations. But, let's look
|
||||
at what happens when we then checkout master:
|
||||
|
||||
------------
|
||||
@ -319,7 +356,7 @@ a---b---c---d branch 'master' (refers to commit 'd')
|
||||
|
||||
It is important to realize that at this point nothing refers to commit
|
||||
'f'. Eventually commit 'f' (and by extension commit 'e') will be deleted
|
||||
by the routine git garbage collection process, unless we create a reference
|
||||
by the routine Git garbage collection process, unless we create a reference
|
||||
before that happens. If we have not yet moved away from commit 'f',
|
||||
any of these will create a reference to it:
|
||||
|
||||
|
@ -16,7 +16,7 @@ DESCRIPTION
|
||||
Cleans the working tree by recursively removing files that are not
|
||||
under version control, starting from the current directory.
|
||||
|
||||
Normally, only files unknown to git are removed, but if the '-x'
|
||||
Normally, only files unknown to Git are removed, but if the '-x'
|
||||
option is specified, ignored files are also removed. This can, for
|
||||
example, be useful to remove all build products.
|
||||
|
||||
@ -27,13 +27,13 @@ OPTIONS
|
||||
-------
|
||||
-d::
|
||||
Remove untracked directories in addition to untracked files.
|
||||
If an untracked directory is managed by a different git
|
||||
If an untracked directory is managed by a different Git
|
||||
repository, it is not removed by default. Use -f option twice
|
||||
if you really want to remove such a directory.
|
||||
|
||||
-f::
|
||||
--force::
|
||||
If the git configuration variable clean.requireForce is not set
|
||||
If the Git configuration variable clean.requireForce is not set
|
||||
to false, 'git clean' will refuse to run unless given -f or -n.
|
||||
|
||||
-n::
|
||||
@ -60,7 +60,7 @@ OPTIONS
|
||||
working directory to test a clean build.
|
||||
|
||||
-X::
|
||||
Remove only files ignored by git. This may be useful to rebuild
|
||||
Remove only files ignored by Git. This may be useful to rebuild
|
||||
everything from scratch, but keep manually created files.
|
||||
|
||||
SEE ALSO
|
||||
|
@ -43,7 +43,7 @@ OPTIONS
|
||||
--local::
|
||||
-l::
|
||||
When the repository to clone from is on a local machine,
|
||||
this flag bypasses the normal "git aware" transport
|
||||
this flag bypasses the normal "Git aware" transport
|
||||
mechanism and clones the repository by making a copy of
|
||||
HEAD and everything under objects and refs directories.
|
||||
The files under `.git/objects/` directory are hardlinked
|
||||
@ -54,11 +54,11 @@ this is the default, and --local is essentially a no-op. If the
|
||||
repository is specified as a URL, then this flag is ignored (and we
|
||||
never use the local optimizations). Specifying `--no-local` will
|
||||
override the default when `/path/to/repo` is given, using the regular
|
||||
git transport instead.
|
||||
Git transport instead.
|
||||
+
|
||||
To force copying instead of hardlinking (which may be desirable if you
|
||||
are trying to make a back-up of your repository), but still avoid the
|
||||
usual "git aware" transport mechanism, `--no-hardlinks` can be used.
|
||||
usual "Git aware" transport mechanism, `--no-hardlinks` can be used.
|
||||
|
||||
--no-hardlinks::
|
||||
Optimize the cloning process from a repository on a
|
||||
@ -76,9 +76,9 @@ usual "git aware" transport mechanism, `--no-hardlinks` can be used.
|
||||
*NOTE*: this is a possibly dangerous operation; do *not* use
|
||||
it unless you understand what it does. If you clone your
|
||||
repository using this option and then delete branches (or use any
|
||||
other git command that makes any existing commit unreferenced) in the
|
||||
other Git command that makes any existing commit unreferenced) in the
|
||||
source repository, some objects may become unreferenced (or dangling).
|
||||
These objects may be removed by normal git operations (such as `git commit`)
|
||||
These objects may be removed by normal Git operations (such as `git commit`)
|
||||
which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
|
||||
If these objects are removed and were referenced by the cloned repository,
|
||||
then the cloned repository will become corrupt.
|
||||
@ -125,7 +125,7 @@ objects from the source repository into a pack in the cloned repository.
|
||||
No checkout of HEAD is performed after the clone is complete.
|
||||
|
||||
--bare::
|
||||
Make a 'bare' GIT repository. That is, instead of
|
||||
Make a 'bare' Git repository. That is, instead of
|
||||
creating `<directory>` and placing the administrative
|
||||
files in `<directory>/.git`, make the `<directory>`
|
||||
itself the `$GIT_DIR`. This obviously implies the `-n`
|
||||
@ -196,9 +196,9 @@ objects from the source repository into a pack in the cloned repository.
|
||||
`--no-single-branch` is given to fetch the histories near the
|
||||
tips of all branches.
|
||||
Further fetches into the resulting repository will only update the
|
||||
remote tracking branch for the branch this option was used for the
|
||||
remote-tracking branch for the branch this option was used for the
|
||||
initial cloning. If the HEAD at the remote did not point at any
|
||||
branch when `--single-branch` clone was made, no remote tracking
|
||||
branch when `--single-branch` clone was made, no remote-tracking
|
||||
branch is created.
|
||||
|
||||
--recursive::
|
||||
@ -213,8 +213,8 @@ objects from the source repository into a pack in the cloned repository.
|
||||
--separate-git-dir=<git dir>::
|
||||
Instead of placing the cloned repository where it is supposed
|
||||
to be, place the cloned repository at the specified directory,
|
||||
then make a filesytem-agnostic git symbolic link to there.
|
||||
The result is git repository can be separated from working
|
||||
then make a filesytem-agnostic Git symbolic link to there.
|
||||
The result is Git repository can be separated from working
|
||||
tree.
|
||||
|
||||
|
||||
|
@ -10,7 +10,9 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git commit-tree' <tree> [(-p <parent>)...] < changelog
|
||||
'git commit-tree' [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...] <tree>
|
||||
'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]
|
||||
[(-F <file>)...] <tree>
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -30,7 +32,7 @@ While a tree represents a particular directory state of a working
|
||||
directory, a commit represents that state in "time", and explains how
|
||||
to get there.
|
||||
|
||||
Normally a commit would identify a new "HEAD" state, and while git
|
||||
Normally a commit would identify a new "HEAD" state, and while Git
|
||||
doesn't care where you save the note about that state, in practice we
|
||||
tend to just write the result to the file that is pointed at by
|
||||
`.git/HEAD`, so that we can always see what the last committed
|
||||
@ -52,6 +54,9 @@ OPTIONS
|
||||
Read the commit log message from the given file. Use `-` to read
|
||||
from the standard input.
|
||||
|
||||
-S[<keyid>]::
|
||||
GPG-sign commit.
|
||||
|
||||
|
||||
Commit Information
|
||||
------------------
|
||||
@ -72,13 +77,13 @@ if set:
|
||||
GIT_COMMITTER_NAME
|
||||
GIT_COMMITTER_EMAIL
|
||||
GIT_COMMITTER_DATE
|
||||
EMAIL
|
||||
|
||||
(nb "<", ">" and "\n"s are stripped)
|
||||
|
||||
In case (some of) these environment variables are not set, the information
|
||||
is taken from the configuration items user.name and user.email, or, if not
|
||||
present, system user name and the hostname used for outgoing mail (taken
|
||||
present, the environment variable EMAIL, or, if that is not set,
|
||||
system user name and the hostname used for outgoing mail (taken
|
||||
from `/etc/mailname` and falling back to the fully qualified hostname when
|
||||
that file does not exist).
|
||||
|
||||
|
@ -13,7 +13,7 @@ SYNOPSIS
|
||||
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
|
||||
[--allow-empty-message] [--no-verify] [-e] [--author=<author>]
|
||||
[--date=<date>] [--cleanup=<mode>] [--status | --no-status]
|
||||
[-i | -o] [--] [<file>...]
|
||||
[-i | -o] [-S[<keyid>]] [--] [<file>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -32,7 +32,7 @@ The content to be added can be specified in several ways:
|
||||
3. by listing files as arguments to the 'commit' command, in which
|
||||
case the commit will ignore changes staged in the index, and instead
|
||||
record the current content of the listed files (which must already
|
||||
be known to git);
|
||||
be known to Git);
|
||||
|
||||
4. by using the -a switch with the 'commit' command to automatically
|
||||
"add" changes from all known files (i.e. all files that are already
|
||||
@ -59,7 +59,7 @@ OPTIONS
|
||||
--all::
|
||||
Tell the command to automatically stage files that have
|
||||
been modified and deleted, but new files you have not
|
||||
told git about are not affected.
|
||||
told Git about are not affected.
|
||||
|
||||
-p::
|
||||
--patch::
|
||||
@ -109,6 +109,10 @@ OPTIONS
|
||||
format. See linkgit:git-status[1] for details. Implies
|
||||
`--dry-run`.
|
||||
|
||||
--long::
|
||||
When doing a dry-run, give the output in a the long-format.
|
||||
Implies `--dry-run`.
|
||||
|
||||
-z::
|
||||
--null::
|
||||
When showing `short` or `porcelain` status output, terminate
|
||||
@ -133,6 +137,8 @@ OPTIONS
|
||||
-m <msg>::
|
||||
--message=<msg>::
|
||||
Use the given <msg> as the commit message.
|
||||
If multiple `-m` options are given, their values are
|
||||
concatenated as separate paragraphs.
|
||||
|
||||
-t <file>::
|
||||
--template=<file>::
|
||||
@ -168,35 +174,48 @@ OPTIONS
|
||||
linkgit:git-commit-tree[1].
|
||||
|
||||
--cleanup=<mode>::
|
||||
This option sets how the commit message is cleaned up.
|
||||
The '<mode>' can be one of 'verbatim', 'whitespace', 'strip',
|
||||
and 'default'. The 'default' mode will strip leading and
|
||||
trailing empty lines and #commentary from the commit message
|
||||
only if the message is to be edited. Otherwise only whitespace
|
||||
removed. The 'verbatim' mode does not change message at all,
|
||||
'whitespace' removes just leading/trailing whitespace lines
|
||||
and 'strip' removes both whitespace and commentary.
|
||||
This option determines how the supplied commit message should be
|
||||
cleaned up before committing. The '<mode>' can be `strip`,
|
||||
`whitespace`, `verbatim`, or `default`.
|
||||
+
|
||||
--
|
||||
strip::
|
||||
Strip leading and trailing empty lines, trailing whitespace, and
|
||||
#commentary and collapse consecutive empty lines.
|
||||
whitespace::
|
||||
Same as `strip` except #commentary is not removed.
|
||||
verbatim::
|
||||
Do not change the message at all.
|
||||
default::
|
||||
Same as `strip` if the message is to be edited.
|
||||
Otherwise `whitespace`.
|
||||
--
|
||||
+
|
||||
The default can be changed by the 'commit.cleanup' configuration
|
||||
variable (see linkgit:git-config[1]).
|
||||
|
||||
-e::
|
||||
--edit::
|
||||
The message taken from file with `-F`, command line with
|
||||
`-m`, and from file with `-C` are usually used as the
|
||||
commit log message unmodified. This option lets you
|
||||
`-m`, and from commit object with `-C` are usually used as
|
||||
the commit log message unmodified. This option lets you
|
||||
further edit the message taken from these sources.
|
||||
|
||||
--no-edit::
|
||||
Use the selected commit message without launching an editor.
|
||||
For example, `git commit --amend --no-edit` amends a commit
|
||||
without changing its commit message.
|
||||
|
||||
--amend::
|
||||
Used to amend the tip of the current branch. Prepare the tree
|
||||
object you would want to replace the latest commit as usual
|
||||
(this includes the usual -i/-o and explicit paths), and the
|
||||
commit log editor is seeded with the commit message from the
|
||||
tip of the current branch. The commit you create replaces the
|
||||
current tip -- if it was a merge, it will have the parents of
|
||||
the current tip as parents -- so the current top commit is
|
||||
discarded.
|
||||
|
||||
--no-post-rewrite::
|
||||
Bypass the post-rewrite hook.
|
||||
|
||||
Replace the tip of the current branch by creating a new
|
||||
commit. The recorded tree is prepared as usual (including
|
||||
the effect of the `-i` and `-o` options and explicit
|
||||
pathspec), and the message from the original commit is used
|
||||
as the starting point, instead of an empty message, when no
|
||||
other message is specified from the command line via options
|
||||
such as `-m`, `-F`, `-c`, etc. The new commit has the same
|
||||
parents and author as the current one (the `--reset-author`
|
||||
option can countermand this).
|
||||
+
|
||||
--
|
||||
It is a rough equivalent for:
|
||||
@ -213,6 +232,9 @@ You should understand the implications of rewriting history if you
|
||||
amend a commit that has already been published. (See the "RECOVERING
|
||||
FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
|
||||
|
||||
--no-post-rewrite::
|
||||
Bypass the post-rewrite hook.
|
||||
|
||||
-i::
|
||||
--include::
|
||||
Before making a commit out of staged contents so far,
|
||||
@ -276,6 +298,10 @@ configuration variable documented in linkgit:git-config[1].
|
||||
commit message template when using an editor to prepare the
|
||||
default commit message.
|
||||
|
||||
-S[<keyid>]::
|
||||
--gpg-sign[=<keyid>]::
|
||||
GPG-sign commit.
|
||||
|
||||
\--::
|
||||
Do not interpret any more arguments as options.
|
||||
|
||||
@ -390,7 +416,7 @@ Though not required, it's a good idea to begin the commit message
|
||||
with a single short (less than 50 character) line summarizing the
|
||||
change, followed by a blank line and then a more thorough description.
|
||||
The text up to the first blank line in a commit message is treated
|
||||
as the commit title, and that title is used throughout git.
|
||||
as the commit title, and that title is used throughout Git.
|
||||
For example, linkgit:git-format-patch[1] turns a commit into email, and it uses
|
||||
the title on the Subject line and the rest of the commit in the body.
|
||||
|
||||
|
@ -240,6 +240,10 @@ GIT_CONFIG::
|
||||
Using the "--global" option forces this to ~/.gitconfig. Using the
|
||||
"--system" option forces this to $(prefix)/etc/gitconfig.
|
||||
|
||||
GIT_CONFIG_NOSYSTEM::
|
||||
Whether to skip reading settings from the system-wide
|
||||
$(prefix)/etc/gitconfig file. See linkgit:git[1] for details.
|
||||
|
||||
See also <<FILES>>.
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@ git-count-objects - Count unpacked number of objects and their disk consumption
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git count-objects' [-v]
|
||||
'git count-objects' [-v] [-H | --human-readable]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -20,11 +20,29 @@ OPTIONS
|
||||
-------
|
||||
-v::
|
||||
--verbose::
|
||||
In addition to the number of loose objects and disk
|
||||
space consumed, it reports the number of in-pack
|
||||
objects, number of packs, disk space consumed by those packs,
|
||||
and number of objects that can be removed by running
|
||||
`git prune-packed`.
|
||||
Report in more detail:
|
||||
+
|
||||
count: the number of loose objects
|
||||
+
|
||||
size: disk space consumed by loose objects, in KiB (unless -H is specified)
|
||||
+
|
||||
in-pack: the number of in-pack objects
|
||||
+
|
||||
size-pack: disk space consumed by the packs, in KiB (unless -H is specified)
|
||||
+
|
||||
prune-packable: the number of loose objects that are also present in
|
||||
the packs. These objects could be pruned using `git prune-packed`.
|
||||
+
|
||||
garbage: the number of files in object database that are not valid
|
||||
loose objects nor valid packs
|
||||
+
|
||||
size-garbage: disk space consumed by garbage files, in KiB (unless -H is
|
||||
specified)
|
||||
|
||||
-H::
|
||||
--human-readable::
|
||||
|
||||
Print sizes in human readable format
|
||||
|
||||
GIT
|
||||
---
|
||||
|
@ -14,13 +14,13 @@ git config credential.helper 'cache [options]'
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This command caches credentials in memory for use by future git
|
||||
This command caches credentials in memory for use by future Git
|
||||
programs. The stored credentials never touch the disk, and are forgotten
|
||||
after a configurable timeout. The cache is accessible over a Unix
|
||||
domain socket, restricted to the current user by filesystem permissions.
|
||||
|
||||
You probably don't want to invoke this command directly; it is meant to
|
||||
be used as a credential helper by other parts of git. See
|
||||
be used as a credential helper by other parts of Git. See
|
||||
linkgit:gitcredentials[7] or `EXAMPLES` below.
|
||||
|
||||
OPTIONS
|
||||
|
@ -20,7 +20,7 @@ security tradeoff, try linkgit:git-credential-cache[1], or find a helper
|
||||
that integrates with secure storage provided by your operating system.
|
||||
|
||||
This command stores credentials indefinitely on disk for use by future
|
||||
git programs.
|
||||
Git programs.
|
||||
|
||||
You probably don't want to invoke this command directly; it is meant to
|
||||
be used as a credential helper by other parts of git. See
|
||||
@ -63,11 +63,11 @@ stored on its own line as a URL like:
|
||||
https://user:pass@example.com
|
||||
------------------------------
|
||||
|
||||
When git needs authentication for a particular URL context,
|
||||
When Git needs authentication for a particular URL context,
|
||||
credential-store will consider that context a pattern to match against
|
||||
each entry in the credentials file. If the protocol, hostname, and
|
||||
username (if we already have one) match, then the password is returned
|
||||
to git. See the discussion of configuration in linkgit:gitcredentials[7]
|
||||
to Git. See the discussion of configuration in linkgit:gitcredentials[7]
|
||||
for more information.
|
||||
|
||||
GIT
|
||||
|
@ -18,9 +18,9 @@ Git has an internal interface for storing and retrieving credentials
|
||||
from system-specific helpers, as well as prompting the user for
|
||||
usernames and passwords. The git-credential command exposes this
|
||||
interface to scripts which may want to retrieve, store, or prompt for
|
||||
credentials in the same manner as git. The design of this scriptable
|
||||
credentials in the same manner as Git. The design of this scriptable
|
||||
interface models the internal C API; see
|
||||
link:technical/api-credentials.txt[the git credential API] for more
|
||||
link:technical/api-credentials.txt[the Git credential API] for more
|
||||
background on the concepts.
|
||||
|
||||
git-credential takes an "action" option on the command-line (one of
|
||||
@ -56,7 +56,7 @@ For example, if we want a password for
|
||||
`https://example.com/foo.git`, we might generate the following
|
||||
credential description (don't forget the blank line at the end; it
|
||||
tells `git credential` that the application finished feeding all the
|
||||
infomation it has):
|
||||
information it has):
|
||||
|
||||
protocol=https
|
||||
host=example.com
|
||||
@ -74,7 +74,7 @@ infomation it has):
|
||||
password=secr3t
|
||||
+
|
||||
In most cases, this means the attributes given in the input will be
|
||||
repeated in the output, but git may also modify the credential
|
||||
repeated in the output, but Git may also modify the credential
|
||||
description, for example by removing the `path` attribute when the
|
||||
protocol is HTTP(s) and `credential.useHttpPath` is false.
|
||||
+
|
||||
|
@ -15,8 +15,8 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Exports a commit from GIT to a CVS checkout, making it easier
|
||||
to merge patches from a git repository into a CVS repository.
|
||||
Exports a commit from Git to a CVS checkout, making it easier
|
||||
to merge patches from a Git repository into a CVS repository.
|
||||
|
||||
Specify the name of a CVS checkout using the -w switch or execute it
|
||||
from the root of the CVS working copy. In the latter case GIT_DIR must
|
||||
@ -71,7 +71,7 @@ OPTIONS
|
||||
-w::
|
||||
Specify the location of the CVS checkout to use for the export. This
|
||||
option does not require GIT_DIR to be set before execution if the
|
||||
current directory is within a git repository. The default is the
|
||||
current directory is within a Git repository. The default is the
|
||||
value of 'cvsexportcommit.cvsdir'.
|
||||
|
||||
-W::
|
||||
|
@ -18,7 +18,13 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Imports a CVS repository into git. It will either create a new
|
||||
*WARNING:* `git cvsimport` uses cvsps version 2, which is considered
|
||||
deprecated; it does not work with cvsps version 3 and later. If you are
|
||||
performing a one-shot import of a CVS repository consider using
|
||||
link:http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or
|
||||
link:https://github.com/BartMassey/parsecvs[parsecvs].
|
||||
|
||||
Imports a CVS repository into Git. It will either create a new
|
||||
repository, or incrementally import into an existing one.
|
||||
|
||||
Splitting the CVS log into patch sets is done by 'cvsps'.
|
||||
@ -59,18 +65,18 @@ OPTIONS
|
||||
`CVS/Repository`.
|
||||
|
||||
-C <target-dir>::
|
||||
The git repository to import to. If the directory doesn't
|
||||
The Git repository to import to. If the directory doesn't
|
||||
exist, it will be created. Default is the current directory.
|
||||
|
||||
-r <remote>::
|
||||
The git remote to import this CVS repository into.
|
||||
The Git remote to import this CVS repository into.
|
||||
Moves all CVS branches into remotes/<remote>/<branch>
|
||||
akin to the way 'git clone' uses 'origin' by default.
|
||||
|
||||
-o <branch-for-HEAD>::
|
||||
When no remote is specified (via -r) the 'HEAD' branch
|
||||
from CVS is imported to the 'origin' branch within the git
|
||||
repository, as 'HEAD' already has a special meaning for git.
|
||||
from CVS is imported to the 'origin' branch within the Git
|
||||
repository, as 'HEAD' already has a special meaning for Git.
|
||||
When a remote is specified the 'HEAD' branch is named
|
||||
remotes/<remote>/master mirroring 'git clone' behaviour.
|
||||
Use this option if you want to import into a different
|
||||
@ -137,17 +143,19 @@ This option can be used several times to provide several detection regexes.
|
||||
-A <author-conv-file>::
|
||||
CVS by default uses the Unix username when writing its
|
||||
commit logs. Using this option and an author-conv-file
|
||||
in this format
|
||||
maps the name recorded in CVS to author name, e-mail and
|
||||
optional timezone:
|
||||
+
|
||||
---------
|
||||
exon=Andreas Ericsson <ae@op5.se>
|
||||
spawn=Simon Pawn <spawn@frog-pond.org>
|
||||
spawn=Simon Pawn <spawn@frog-pond.org> America/Chicago
|
||||
|
||||
---------
|
||||
+
|
||||
'git cvsimport' will make it appear as those authors had
|
||||
their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly
|
||||
all along.
|
||||
all along. If a timezone is specified, GIT_AUTHOR_DATE will
|
||||
have the corresponding offset applied.
|
||||
+
|
||||
For convenience, this data is saved to `$GIT_DIR/cvs-authors`
|
||||
each time the '-A' option is provided and read from that same
|
||||
@ -211,11 +219,9 @@ Problems related to tags:
|
||||
* Multiple tags on the same revision are not imported.
|
||||
|
||||
If you suspect that any of these issues may apply to the repository you
|
||||
want to import consider using these alternative tools which proved to be
|
||||
more stable in practice:
|
||||
want to imort, consider using cvs2git:
|
||||
|
||||
* cvs2git (part of cvs2svn), `http://cvs2svn.tigris.org`
|
||||
* parsecvs, `http://cgit.freedesktop.org/~keithp/parsecvs`
|
||||
* cvs2git (part of cvs2svn), `http://subversion.apache.org/`
|
||||
|
||||
GIT
|
||||
---
|
||||
|
@ -3,7 +3,7 @@ git-cvsserver(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-cvsserver - A CVS server emulator for git
|
||||
git-cvsserver - A CVS server emulator for Git
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
@ -60,7 +60,7 @@ unless '--export-all' was given, too.
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This application is a CVS emulation layer for git.
|
||||
This application is a CVS emulation layer for Git.
|
||||
|
||||
It is highly functional. However, not all methods are implemented,
|
||||
and for those methods that are implemented,
|
||||
@ -72,9 +72,9 @@ plugin. Most functionality works fine with both of these clients.
|
||||
LIMITATIONS
|
||||
-----------
|
||||
|
||||
CVS clients cannot tag, branch or perform GIT merges.
|
||||
CVS clients cannot tag, branch or perform Git merges.
|
||||
|
||||
'git-cvsserver' maps GIT branches to CVS modules. This is very different
|
||||
'git-cvsserver' maps Git branches to CVS modules. This is very different
|
||||
from what most CVS users would expect since in CVS modules usually represent
|
||||
one or more directories.
|
||||
|
||||
@ -130,7 +130,7 @@ Then provide your password via the pserver method, for example:
|
||||
------
|
||||
cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co <HEAD_name>
|
||||
------
|
||||
No special setup is needed for SSH access, other than having GIT tools
|
||||
No special setup is needed for SSH access, other than having Git tools
|
||||
in the PATH. If you have clients that do not accept the CVS_SERVER
|
||||
environment variable, you can rename 'git-cvsserver' to `cvs`.
|
||||
|
||||
@ -160,9 +160,9 @@ with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to mean
|
||||
Note: you need to ensure each user that is going to invoke 'git-cvsserver' has
|
||||
write access to the log file and to the database (see
|
||||
<<dbbackend,Database Backend>>. If you want to offer write access over
|
||||
SSH, the users of course also need write access to the git repository itself.
|
||||
SSH, the users of course also need write access to the Git repository itself.
|
||||
|
||||
You also need to ensure that each repository is "bare" (without a git index
|
||||
You also need to ensure that each repository is "bare" (without a Git index
|
||||
file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].
|
||||
|
||||
[[configaccessmethod]]
|
||||
@ -181,7 +181,7 @@ allowing access over SSH.
|
||||
3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,
|
||||
automatically saving it in your 'CVS/Root' files, then you need to set them
|
||||
explicitly in your environment. CVSROOT should be set as per normal, but the
|
||||
directory should point at the appropriate git repo. As above, for SSH clients
|
||||
directory should point at the appropriate Git repo. As above, for SSH clients
|
||||
_not_ restricted to 'git-shell', CVS_SERVER should be set to 'git-cvsserver'.
|
||||
+
|
||||
--
|
||||
@ -197,7 +197,7 @@ allowing access over SSH.
|
||||
shell is bash, .bashrc may be a reasonable alternative.
|
||||
|
||||
5. Clients should now be able to check out the project. Use the CVS 'module'
|
||||
name to indicate what GIT 'head' you want to check out. This also sets the
|
||||
name to indicate what Git 'head' you want to check out. This also sets the
|
||||
name of your newly checked-out directory, unless you tell it otherwise with
|
||||
`-d <dir_name>`. For example, this checks out 'master' branch to the
|
||||
`project-master` directory:
|
||||
@ -210,7 +210,7 @@ allowing access over SSH.
|
||||
Database Backend
|
||||
----------------
|
||||
|
||||
'git-cvsserver' uses one database per git head (i.e. CVS module) to
|
||||
'git-cvsserver' uses one database per Git head (i.e. CVS module) to
|
||||
store information about the repository to maintain consistent
|
||||
CVS revision numbers. The database needs to be
|
||||
updated (i.e. written to) after every commit.
|
||||
@ -225,7 +225,7 @@ 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).
|
||||
|
||||
By default it uses SQLite databases in the git directory, named
|
||||
By default it uses SQLite databases in the Git directory, named
|
||||
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
|
||||
temporary files in the same directory as the database file on
|
||||
write so it might not be enough to grant the users using
|
||||
@ -291,14 +291,14 @@ Variable substitution
|
||||
In `dbdriver` and `dbuser` you can use the following variables:
|
||||
|
||||
%G::
|
||||
git directory name
|
||||
Git directory name
|
||||
%g::
|
||||
git directory name, where all characters except for
|
||||
Git directory name, where all characters except for
|
||||
alpha-numeric ones, `.`, and `-` are replaced with
|
||||
`_` (this should make it easier to use the directory
|
||||
name in a filename if wanted)
|
||||
%m::
|
||||
CVS module/git head name
|
||||
CVS module/Git head name
|
||||
%a::
|
||||
access method (one of "ext" or "pserver")
|
||||
%u::
|
||||
@ -359,6 +359,43 @@ Operations supported
|
||||
|
||||
All the operations required for normal use are supported, including
|
||||
checkout, diff, status, update, log, add, remove, commit.
|
||||
|
||||
Most CVS command arguments that read CVS tags or revision numbers
|
||||
(typically -r) work, and also support any git refspec
|
||||
(tag, branch, commit ID, etc).
|
||||
However, CVS revision numbers for non-default branches are not well
|
||||
emulated, and cvs log does not show tags or branches at
|
||||
all. (Non-main-branch CVS revision numbers superficially resemble CVS
|
||||
revision numbers, but they actually encode a git commit ID directly,
|
||||
rather than represent the number of revisions since the branch point.)
|
||||
|
||||
Note that there are two ways to checkout a particular branch.
|
||||
As described elsewhere on this page, the "module" parameter
|
||||
of cvs checkout is interpreted as a branch name, and it becomes
|
||||
the main branch. It remains the main branch for a given sandbox
|
||||
even if you temporarily make another branch sticky with
|
||||
cvs update -r. Alternatively, the -r argument can indicate
|
||||
some other branch to actually checkout, even though the module
|
||||
is still the "main" branch. Tradeoffs (as currently
|
||||
implemented): Each new "module" creates a new database on disk with
|
||||
a history for the given module, and after the database is created,
|
||||
operations against that main branch are fast. Or alternatively,
|
||||
-r doesn't take any extra disk space, but may be significantly slower for
|
||||
many operations, like cvs update.
|
||||
|
||||
If you want to refer to a git refspec that has characters that are
|
||||
not allowed by CVS, you have two options. First, it may just work
|
||||
to supply the git refspec directly to the appropriate CVS -r argument;
|
||||
some CVS clients don't seem to do much sanity checking of the argument.
|
||||
Second, if that fails, you can use a special character escape mechanism
|
||||
that only uses characters that are valid in CVS tags. A sequence
|
||||
of 4 or 5 characters of the form (underscore (`"_"`), dash (`"-"`),
|
||||
one or two characters, and dash (`"-"`)) can encode various characters based
|
||||
on the one or two letters: `"s"` for slash (`"/"`), `"p"` for
|
||||
period (`"."`), `"u"` for underscore (`"_"`), or two hexadecimal digits
|
||||
for any byte value at all (typically an ASCII number, or perhaps a part
|
||||
of a UTF-8 encoded character).
|
||||
|
||||
Legacy monitoring operations are not supported (edit, watch and related).
|
||||
Exports and tagging (tags and branches) are not supported at this stage.
|
||||
|
||||
|
@ -3,7 +3,7 @@ git-daemon(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-daemon - A really simple server for git repositories
|
||||
git-daemon - A really simple server for Git repositories
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
@ -22,12 +22,12 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT"
|
||||
A really simple TCP Git daemon that normally listens on port "DEFAULT_GIT_PORT"
|
||||
aka 9418. It waits for a connection asking for a service, and will serve
|
||||
that service if it is enabled.
|
||||
|
||||
It verifies that the directory has the magic file "git-daemon-export-ok", and
|
||||
it will refuse to export any git directory that hasn't explicitly been marked
|
||||
it will refuse to export any Git directory that hasn't explicitly been marked
|
||||
for export this way (unless the '--export-all' parameter is specified). If you
|
||||
pass some directory paths as 'git daemon' arguments, you can further restrict
|
||||
the offers to a whitelist comprising of those.
|
||||
@ -37,7 +37,7 @@ By default, only `upload-pack` service is enabled, which serves
|
||||
from 'git fetch', 'git pull', and 'git clone'.
|
||||
|
||||
This is ideally suited for read-only updates, i.e., pulling from
|
||||
git repositories.
|
||||
Git repositories.
|
||||
|
||||
An `upload-archive` also exists to serve 'git archive'.
|
||||
|
||||
@ -51,7 +51,7 @@ OPTIONS
|
||||
|
||||
--base-path=<path>::
|
||||
Remap all the path requests as relative to the given path.
|
||||
This is sort of "GIT root" - if you run 'git daemon' with
|
||||
This is sort of "Git root" - if you run 'git daemon' with
|
||||
'--base-path=/srv/git' on example.com, then if you later try to pull
|
||||
'git://example.com/hello.git', 'git daemon' will interpret the path
|
||||
as '/srv/git/hello.git'.
|
||||
@ -73,7 +73,7 @@ OPTIONS
|
||||
whitelist.
|
||||
|
||||
--export-all::
|
||||
Allow pulling from all directories that look like GIT repositories
|
||||
Allow pulling from all directories that look like Git repositories
|
||||
(have the 'objects' and 'refs' subdirectories), even if they
|
||||
do not have the 'git-daemon-export-ok' file.
|
||||
|
||||
@ -147,6 +147,13 @@ OPTIONS
|
||||
Giving these options is an error when used with `--inetd`; use
|
||||
the facility of inet daemon to achieve the same before spawning
|
||||
'git daemon' if needed.
|
||||
+
|
||||
Like many programs that switch user id, the daemon does not reset
|
||||
environment variables such as `$HOME` when it runs git programs,
|
||||
e.g. `upload-pack` and `receive-pack`. When using this option, you
|
||||
may also want to set and export `HOME` to point at the home
|
||||
directory of `<user>` before starting the daemon, and make sure any
|
||||
Git configuration files in that directory are readable by `<user>`.
|
||||
|
||||
--enable=<service>::
|
||||
--disable=<service>::
|
||||
|
@ -81,8 +81,9 @@ OPTIONS
|
||||
that points at object deadbee....).
|
||||
|
||||
--match <pattern>::
|
||||
Only consider tags matching the given pattern (can be used to avoid
|
||||
leaking private tags made from the repository).
|
||||
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.
|
||||
|
||||
--always::
|
||||
Show uniquely abbreviated commit object as fallback.
|
||||
@ -131,7 +132,7 @@ closest tagname without any suffix:
|
||||
|
||||
Note that the suffix you get if you type these commands today may be
|
||||
longer than what Linus saw above when he ran these commands, as your
|
||||
git repository may have new commits whose object names begin with
|
||||
Git repository may have new commits whose object names begin with
|
||||
975b that did not exist back then, and "-g975b" suffix alone may not
|
||||
be sufficient to disambiguate these commits.
|
||||
|
||||
@ -148,7 +149,7 @@ is found, its name will be output and searching will stop.
|
||||
If an exact match was not found, 'git describe' will walk back
|
||||
through the commit history to locate an ancestor commit which
|
||||
has been tagged. The ancestor's tag will be output along with an
|
||||
abbreviation of the input committish's SHA1.
|
||||
abbreviation of the input committish's SHA-1.
|
||||
|
||||
If multiple tags were found during the walk then the tag which
|
||||
has the fewest commits different from the input committish will be
|
||||
|
@ -12,6 +12,7 @@ SYNOPSIS
|
||||
'git diff' [options] [<commit>] [--] [<path>...]
|
||||
'git diff' [options] --cached [<commit>] [--] [<path>...]
|
||||
'git diff' [options] <commit> <commit> [--] [<path>...]
|
||||
'git diff' [options] <blob> <blob>
|
||||
'git diff' [options] [--no-index] [--] <path> <path>
|
||||
|
||||
DESCRIPTION
|
||||
@ -24,7 +25,7 @@ between two files on disk.
|
||||
|
||||
This form is to view the changes you made relative to
|
||||
the index (staging area for the next commit). In other
|
||||
words, the differences are what you _could_ tell git to
|
||||
words, the differences are what you _could_ tell Git to
|
||||
further add to the index but you still haven't. You can
|
||||
stage these changes by using linkgit:git-add[1].
|
||||
+
|
||||
@ -55,6 +56,11 @@ directories. This behavior can be forced by --no-index.
|
||||
This is to view the changes between two arbitrary
|
||||
<commit>.
|
||||
|
||||
'git diff' [options] <blob> <blob>::
|
||||
|
||||
This form is to view the differences between the raw
|
||||
contents of two blob objects.
|
||||
|
||||
'git diff' [--options] <commit>..<commit> [--] [<path>...]::
|
||||
|
||||
This is synonymous to the previous form. If <commit> on
|
||||
@ -72,8 +78,7 @@ directories. This behavior can be forced by --no-index.
|
||||
Just in case if you are doing something exotic, it should be
|
||||
noted that all of the <commit> in the above description, except
|
||||
in the last two forms that use ".." notations, can be any
|
||||
<tree>. The third form ('git diff <commit> <commit>') can also
|
||||
be used to compare two <blob> objects.
|
||||
<tree>.
|
||||
|
||||
For a more complete list of ways to spell <commit>, see
|
||||
"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
|
||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
'git difftool' is a git command that allows you to compare and edit files
|
||||
'git difftool' is a Git command that allows you to compare and edit files
|
||||
between revisions using common diff tools. 'git difftool' is a frontend
|
||||
to 'git diff' and accepts the same options and arguments. See
|
||||
linkgit:git-diff[1].
|
||||
@ -72,10 +72,12 @@ with custom merge tool commands and has the same value as `$MERGED`.
|
||||
--symlinks::
|
||||
--no-symlinks::
|
||||
'git difftool''s default behavior is create symlinks to the
|
||||
working tree when run in `--dir-diff` mode.
|
||||
working tree when run in `--dir-diff` mode and the right-hand
|
||||
side of the comparison yields the same content as the file in
|
||||
the working tree.
|
||||
+
|
||||
Specifying `--no-symlinks` instructs 'git difftool' to create
|
||||
copies instead. `--no-symlinks` is the default on Windows.
|
||||
Specifying `--no-symlinks` instructs 'git difftool' to create copies
|
||||
instead. `--no-symlinks` is the default on Windows.
|
||||
|
||||
-x <command>::
|
||||
--extcmd=<command>::
|
||||
|
@ -27,15 +27,17 @@ OPTIONS
|
||||
Insert 'progress' statements every <n> objects, to be shown by
|
||||
'git fast-import' during import.
|
||||
|
||||
--signed-tags=(verbatim|warn|strip|abort)::
|
||||
--signed-tags=(verbatim|warn|warn-strip|strip|abort)::
|
||||
Specify how to handle signed tags. Since any transformation
|
||||
after the export can change the tag names (which can also happen
|
||||
when excluding revisions) the signatures will not match.
|
||||
+
|
||||
When asking to 'abort' (which is the default), this program will die
|
||||
when encountering a signed tag. With 'strip', the tags will be made
|
||||
unsigned, with 'verbatim', they will be silently exported
|
||||
and with 'warn', they will be exported, but you will see a warning.
|
||||
when encountering a signed tag. With 'strip', the tags will silently
|
||||
be made unsigned, with 'warn-strip' they will be made unsigned but a
|
||||
warning will be displayed, with 'verbatim', they will be silently
|
||||
exported and with 'warn', they will be exported, but you will see a
|
||||
warning.
|
||||
|
||||
--tag-of-filtered-object=(abort|drop|rewrite)::
|
||||
Specify how to handle tags whose tagged object is filtered out.
|
||||
@ -66,6 +68,8 @@ produced incorrect results if you gave these options.
|
||||
incremental runs. As <file> is only opened and truncated
|
||||
at completion, the same path can also be safely given to
|
||||
\--import-marks.
|
||||
The file will not be written if no new object has been
|
||||
marked/exported.
|
||||
|
||||
--import-marks=<file>::
|
||||
Before processing any input, load the marks specified in
|
||||
|
@ -33,38 +33,46 @@ the frontend program in use.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
--date-format=<fmt>::
|
||||
Specify the type of dates the frontend will supply to
|
||||
fast-import within `author`, `committer` and `tagger` commands.
|
||||
See ``Date Formats'' below for details about which formats
|
||||
are supported, and their syntax.
|
||||
|
||||
-- done::
|
||||
Terminate with error if there is no 'done' command at the
|
||||
end of the stream.
|
||||
|
||||
--force::
|
||||
Force updating modified existing branches, even if doing
|
||||
so would cause commits to be lost (as the new commit does
|
||||
not contain the old commit).
|
||||
|
||||
--max-pack-size=<n>::
|
||||
Maximum size of each output packfile.
|
||||
The default is unlimited.
|
||||
--quiet::
|
||||
Disable all non-fatal output, making fast-import silent when it
|
||||
is successful. This option disables the output shown by
|
||||
\--stats.
|
||||
|
||||
--big-file-threshold=<n>::
|
||||
Maximum size of a blob that fast-import will attempt to
|
||||
create a delta for, expressed in bytes. The default is 512m
|
||||
(512 MiB). Some importers may wish to lower this on systems
|
||||
with constrained memory.
|
||||
--stats::
|
||||
Display some basic statistics about the objects fast-import has
|
||||
created, the packfiles they were stored into, and the
|
||||
memory used by fast-import during this run. Showing this output
|
||||
is currently the default, but can be disabled with \--quiet.
|
||||
|
||||
--depth=<n>::
|
||||
Maximum delta depth, for blob and tree deltification.
|
||||
Default is 10.
|
||||
Options for Frontends
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
--active-branches=<n>::
|
||||
Maximum number of branches to maintain active at once.
|
||||
See ``Memory Utilization'' below for details. Default is 5.
|
||||
--cat-blob-fd=<fd>::
|
||||
Write responses to `cat-blob` and `ls` queries to the
|
||||
file descriptor <fd> instead of `stdout`. Allows `progress`
|
||||
output intended for the end-user to be separated from other
|
||||
output.
|
||||
|
||||
--date-format=<fmt>::
|
||||
Specify the type of dates the frontend will supply to
|
||||
fast-import within `author`, `committer` and `tagger` commands.
|
||||
See ``Date Formats'' below for details about which formats
|
||||
are supported, and their syntax.
|
||||
|
||||
--done::
|
||||
Terminate with error if there is no `done` command at the end of
|
||||
the stream. This option might be useful for detecting errors
|
||||
that cause the frontend to terminate before it has started to
|
||||
write a stream.
|
||||
|
||||
Locations of Marks Files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
--export-marks=<file>::
|
||||
Dumps the internal marks table to <file> when complete.
|
||||
@ -87,31 +95,33 @@ OPTIONS
|
||||
Like --import-marks but instead of erroring out, silently
|
||||
skips the file if it does not exist.
|
||||
|
||||
--relative-marks::
|
||||
--[no-]relative-marks::
|
||||
After specifying --relative-marks the paths specified
|
||||
with --import-marks= and --export-marks= are relative
|
||||
to an internal directory in the current repository.
|
||||
In git-fast-import this means that the paths are relative
|
||||
to the .git/info/fast-import directory. However, other
|
||||
importers may use a different location.
|
||||
+
|
||||
Relative and non-relative marks may be combined by interweaving
|
||||
--(no-)-relative-marks with the --(import|export)-marks= options.
|
||||
|
||||
--no-relative-marks::
|
||||
Negates a previous --relative-marks. Allows for combining
|
||||
relative and non-relative marks by interweaving
|
||||
--(no-)-relative-marks with the --(import|export)-marks=
|
||||
options.
|
||||
Performance and Compression Tuning
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
--cat-blob-fd=<fd>::
|
||||
Write responses to `cat-blob` and `ls` queries to the
|
||||
file descriptor <fd> instead of `stdout`. Allows `progress`
|
||||
output intended for the end-user to be separated from other
|
||||
output.
|
||||
--active-branches=<n>::
|
||||
Maximum number of branches to maintain active at once.
|
||||
See ``Memory Utilization'' below for details. Default is 5.
|
||||
|
||||
--done::
|
||||
Require a `done` command at the end of the stream.
|
||||
This option might be useful for detecting errors that
|
||||
cause the frontend to terminate before it has started to
|
||||
write a stream.
|
||||
--big-file-threshold=<n>::
|
||||
Maximum size of a blob that fast-import will attempt to
|
||||
create a delta for, expressed in bytes. The default is 512m
|
||||
(512 MiB). Some importers may wish to lower this on systems
|
||||
with constrained memory.
|
||||
|
||||
--depth=<n>::
|
||||
Maximum delta depth, for blob and tree deltification.
|
||||
Default is 10.
|
||||
|
||||
--export-pack-edges=<file>::
|
||||
After creating a packfile, print a line of data to
|
||||
@ -122,16 +132,9 @@ OPTIONS
|
||||
as these commits can be used as edge points during calls
|
||||
to 'git pack-objects'.
|
||||
|
||||
--quiet::
|
||||
Disable all non-fatal output, making fast-import silent when it
|
||||
is successful. This option disables the output shown by
|
||||
\--stats.
|
||||
|
||||
--stats::
|
||||
Display some basic statistics about the objects fast-import has
|
||||
created, the packfiles they were stored into, and the
|
||||
memory used by fast-import during this run. Showing this output
|
||||
is currently the default, but can be disabled with \--quiet.
|
||||
--max-pack-size=<n>::
|
||||
Maximum size of each output packfile.
|
||||
The default is unlimited.
|
||||
|
||||
|
||||
Performance
|
||||
@ -427,7 +430,7 @@ they made it.
|
||||
|
||||
Here `<name>` is the person's display name (for example
|
||||
``Com M Itter'') and `<email>` is the person's email address
|
||||
(``cm@example.com''). `LT` and `GT` are the literal less-than (\x3c)
|
||||
(``\cm@example.com''). `LT` and `GT` are the literal less-than (\x3c)
|
||||
and greater-than (\x3e) symbols. These are required to delimit
|
||||
the email address from the other fields in the line. Note that
|
||||
`<name>` and `<email>` are free-form and may contain any sequence
|
||||
@ -442,7 +445,9 @@ their syntax.
|
||||
^^^^^^
|
||||
The `from` command is used to specify the commit to initialize
|
||||
this branch from. This revision will be the first ancestor of the
|
||||
new commit.
|
||||
new commit. The state of the tree built at this commit will begin
|
||||
with the state at the `from` commit, and be altered by the content
|
||||
modifications in this commit.
|
||||
|
||||
Omitting the `from` command in the first commit of a new branch
|
||||
will cause fast-import to create that commit with no ancestor. This
|
||||
@ -492,7 +497,9 @@ existing value of the branch.
|
||||
|
||||
`merge`
|
||||
^^^^^^^
|
||||
Includes one additional ancestor commit. If the `from` command is
|
||||
Includes one additional ancestor commit. The additional ancestry
|
||||
link does not change the way the tree state is built at this commit.
|
||||
If the `from` command is
|
||||
omitted when creating a new branch, the first `merge` commit will be
|
||||
the first ancestor of the current commit, and the branch will start
|
||||
out with no files. An unlimited number of `merge` commands per
|
||||
@ -558,8 +565,12 @@ A `<path>` string must use UNIX-style directory separators (forward
|
||||
slash `/`), may contain any byte other than `LF`, and must not
|
||||
start with double quote (`"`).
|
||||
|
||||
If an `LF` or double quote must be encoded into `<path>` shell-style
|
||||
quoting should be used, e.g. `"path/with\n and \" in it"`.
|
||||
A path can use C-style string quoting; this is accepted in all cases
|
||||
and mandatory if the filename starts with double quote or contains
|
||||
`LF`. In C-style quoting, the complete name should be surrounded with
|
||||
double quotes, and any `LF`, backslash, or double quote characters
|
||||
must be escaped by preceding them with a backslash (e.g.,
|
||||
`"path/with\n, \\ and \" in it"`).
|
||||
|
||||
The value of `<path>` must be in canonical form. That is it must not:
|
||||
|
||||
|
@ -9,7 +9,10 @@ git-fetch-pack - Receive missing objects from another repository
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>...]
|
||||
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
|
||||
[--upload-pack=<git-upload-pack>]
|
||||
[--depth=<n>] [--no-progress]
|
||||
[-v] [<host>:]<directory> [<refs>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -81,6 +84,8 @@ be in a separate packet, and the list must end with a flush packet.
|
||||
|
||||
--depth=<n>::
|
||||
Limit fetching to ancestor-chains not longer than n.
|
||||
'git-upload-pack' treats the special depth 2147483647 as
|
||||
infinite even if there is an ancestor-chain that long.
|
||||
|
||||
--no-progress::
|
||||
Do not show the progress.
|
||||
|
@ -80,7 +80,7 @@ Using --recurse-submodules can only fetch new commits in already checked
|
||||
out submodules right now. When e.g. upstream added a new submodule in the
|
||||
just fetched commits of the superproject the submodule itself can not be
|
||||
fetched, making it impossible to check out that submodule later without
|
||||
having to do a fetch again. This is expected to be fixed in a future git
|
||||
having to do a fetch again. This is expected to be fixed in a future Git
|
||||
version.
|
||||
|
||||
SEE ALSO
|
||||
|
@ -18,7 +18,7 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Lets you rewrite git revision history by rewriting the branches mentioned
|
||||
Lets you rewrite Git revision history by rewriting the branches mentioned
|
||||
in the <rev-list options>, applying custom filters on each revision.
|
||||
Those filters can modify each tree (e.g. removing a file or running
|
||||
a perl rewrite on all files) or information about each commit.
|
||||
@ -29,7 +29,7 @@ The command will only rewrite the _positive_ refs mentioned in the
|
||||
command line (e.g. if you pass 'a..b', only 'b' will be rewritten).
|
||||
If you specify no filters, the commits will be recommitted without any
|
||||
changes, which would normally have no effect. Nevertheless, this may be
|
||||
useful in the future for compensating for some git bugs or such,
|
||||
useful in the future for compensating for some Git bugs or such,
|
||||
therefore such a usage is permitted.
|
||||
|
||||
*NOTE*: This command honors `.git/info/grafts` file and refs in
|
||||
@ -64,8 +64,11 @@ argument is always evaluated in the shell context using the 'eval' command
|
||||
Prior to that, the $GIT_COMMIT environment variable will be set to contain
|
||||
the id of the commit being rewritten. Also, GIT_AUTHOR_NAME,
|
||||
GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL,
|
||||
and GIT_COMMITTER_DATE are set according to the current commit. The values
|
||||
of these variables after the filters have run, are used for the new commit.
|
||||
and GIT_COMMITTER_DATE are taken from the current commit and exported to
|
||||
the environment, in order to affect the author and committer identities of
|
||||
the replacement commit created by linkgit:git-commit-tree[1] after the
|
||||
filters have run.
|
||||
|
||||
If any evaluation of <command> returns a non-zero exit status, the whole
|
||||
operation will be aborted.
|
||||
|
||||
@ -329,6 +332,26 @@ git filter-branch --msg-filter '
|
||||
' HEAD~10..HEAD
|
||||
--------------------------------------------------------
|
||||
|
||||
The `--env-filter` option can be used to modify committer and/or author
|
||||
identity. For example, if you found out that your commits have the wrong
|
||||
identity due to a misconfigured user.email, you can make a correction,
|
||||
before publishing the project, like this:
|
||||
|
||||
--------------------------------------------------------
|
||||
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
|
||||
--------------------------------------------------------
|
||||
|
||||
To restrict rewriting to only part of the history, specify a revision
|
||||
range in addition to the new branch name. The new branch name will
|
||||
point to the top-most revision that a 'git rev-list' of this range
|
||||
@ -374,7 +397,7 @@ git-filter-branch is often used to get rid of a subset of files,
|
||||
usually with some combination of `--index-filter` and
|
||||
`--subdirectory-filter`. People expect the resulting repository to
|
||||
be smaller than the original, but you need a few more steps to
|
||||
actually make it smaller, because git tries hard not to lose your
|
||||
actually make it smaller, because Git tries hard not to lose your
|
||||
objects until you tell it to. First make sure that:
|
||||
|
||||
* You really removed all variants of a filename, if a blob was moved
|
||||
|
@ -117,7 +117,7 @@ returns an empty string instead.
|
||||
|
||||
As a special case for the date-type fields, you may specify a format for
|
||||
the date by adding one of `:default`, `:relative`, `:short`, `:local`,
|
||||
`:iso8601` or `:rfc2822` to the end of the fieldname; e.g.
|
||||
`:iso8601`, `:rfc2822` or `:raw` to the end of the fieldname; e.g.
|
||||
`%(taggerdate:relative)`.
|
||||
|
||||
|
||||
|
@ -18,9 +18,9 @@ SYNOPSIS
|
||||
[--start-number <n>] [--numbered-files]
|
||||
[--in-reply-to=Message-Id] [--suffix=.<sfx>]
|
||||
[--ignore-if-in-upstream]
|
||||
[--subject-prefix=Subject-Prefix]
|
||||
[--subject-prefix=Subject-Prefix] [(--reroll-count|-v) <n>]
|
||||
[--to=<email>] [--cc=<email>]
|
||||
[--cover-letter] [--quiet]
|
||||
[--[no-]cover-letter] [--quiet] [--notes[=<ref>]]
|
||||
[<common diff options>]
|
||||
[ <since> | <revision range> ]
|
||||
|
||||
@ -166,6 +166,15 @@ will want to ensure that threading is disabled for `git send-email`.
|
||||
allows for useful naming of a patch series, and can be
|
||||
combined with the `--numbered` option.
|
||||
|
||||
-v <n>::
|
||||
--reroll-count=<n>::
|
||||
Mark the series as the <n>-th iteration of the topic. The
|
||||
output filenames have `v<n>` pretended to them, and the
|
||||
subject prefix ("PATCH" by default, but configurable via the
|
||||
`--subject-prefix` option) has ` v<n>` appended to it. E.g.
|
||||
`--reroll-count=4` may produce `v4-0001-add-makefile.patch`
|
||||
file that has "Subject: [PATCH v4 1/20] Add makefile" in it.
|
||||
|
||||
--to=<email>::
|
||||
Add a `To:` header to the email headers. This is in addition
|
||||
to any configured headers, and may be used multiple times.
|
||||
@ -186,15 +195,27 @@ will want to ensure that threading is disabled for `git send-email`.
|
||||
`Cc:`, and custom) headers added so far from config or command
|
||||
line.
|
||||
|
||||
--cover-letter::
|
||||
--[no-]cover-letter::
|
||||
In addition to the patches, generate a cover letter file
|
||||
containing the shortlog and the overall diffstat. You can
|
||||
fill in a description in the file before sending it out.
|
||||
|
||||
--notes[=<ref>]::
|
||||
Append the notes (see linkgit:git-notes[1]) for the commit
|
||||
after the three-dash line.
|
||||
+
|
||||
The expected use case of this is to write supporting explanation for
|
||||
the commit that does not belong to the commit log message proper,
|
||||
and include it with the patch submission. While one can simply write
|
||||
these explanations after `format-patch` has run but before sending,
|
||||
keeping them as Git notes allows them to be maintained between versions
|
||||
of the patch series (but see the discussion of the `notes.rewrite`
|
||||
configuration options in linkgit:git-notes[1] to use this workflow).
|
||||
|
||||
--[no]-signature=<signature>::
|
||||
Add a signature to each message produced. Per RFC 3676 the signature
|
||||
is separated from the body by a line with '-- ' on it. If the
|
||||
signature option is omitted the signature defaults to the git version
|
||||
signature option is omitted the signature defaults to the Git version
|
||||
number.
|
||||
|
||||
--suffix=.<sfx>::
|
||||
@ -239,6 +260,7 @@ attachments, and sign off patches with configuration variables.
|
||||
cc = <email>
|
||||
attach [ = mime-boundary-string ]
|
||||
signoff = true
|
||||
coverletter = auto
|
||||
------------
|
||||
|
||||
|
||||
@ -368,7 +390,7 @@ Thunderbird
|
||||
~~~~~~~~~~~
|
||||
By default, Thunderbird will both wrap emails as well as flag
|
||||
them as being 'format=flowed', both of which will make the
|
||||
resulting email unusable by git.
|
||||
resulting email unusable by Git.
|
||||
|
||||
There are three different approaches: use an add-on to turn off line wraps,
|
||||
configure Thunderbird to not mangle patches, or use
|
||||
@ -504,8 +526,8 @@ $ git format-patch -M -B origin
|
||||
Additionally, it detects and handles renames and complete rewrites
|
||||
intelligently to produce a renaming patch. A renaming patch reduces
|
||||
the amount of text output, and generally makes it easier to review.
|
||||
Note that non-git "patch" programs won't understand renaming patches, so
|
||||
use it only when you know the recipient uses git to apply your patch.
|
||||
Note that non-Git "patch" programs won't understand renaming patches, so
|
||||
use it only when you know the recipient uses Git to apply your patch.
|
||||
|
||||
* Extract three topmost commits from the current branch and format them
|
||||
as e-mailable patches:
|
||||
|
@ -23,7 +23,7 @@ OPTIONS
|
||||
An object to treat as the head of an unreachability trace.
|
||||
+
|
||||
If no objects are given, 'git fsck' defaults to using the
|
||||
index file, all SHA1 references in `refs` namespace, and all reflogs
|
||||
index file, all SHA-1 references in `refs` namespace, and all reflogs
|
||||
(unless --no-reflogs is given) as heads.
|
||||
|
||||
--unreachable::
|
||||
@ -56,7 +56,7 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
||||
($GIT_DIR/objects), but also the ones found in alternate
|
||||
object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
|
||||
or $GIT_DIR/objects/info/alternates,
|
||||
and in packed git archives found in $GIT_DIR/objects/pack
|
||||
and in packed Git archives found in $GIT_DIR/objects/pack
|
||||
and corresponding pack subdirectories in alternate
|
||||
object pools. This is now default; you can turn it off
|
||||
with --no-full.
|
||||
@ -64,8 +64,8 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
||||
--strict::
|
||||
Enable more strict checking, namely to catch a file mode
|
||||
recorded with g+w bit set, which was created by older
|
||||
versions of git. Existing repositories, including the
|
||||
Linux kernel, git itself, and sparse repository have old
|
||||
versions of Git. Existing repositories, including the
|
||||
Linux kernel, Git itself, and sparse repository have old
|
||||
objects that triggers this check, but it is recommended
|
||||
to check new projects with this flag.
|
||||
|
||||
@ -89,7 +89,7 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
||||
DISCUSSION
|
||||
----------
|
||||
|
||||
git-fsck tests SHA1 and general object sanity, and it does full tracking
|
||||
git-fsck tests SHA-1 and general object sanity, and it does full tracking
|
||||
of the resulting reachability and everything else. It prints out any
|
||||
corruption it finds (missing or bad objects), and if you use the
|
||||
'--unreachable' flag it will also print out objects that exist but that
|
||||
|
@ -61,7 +61,7 @@ OPTIONS
|
||||
blobs registered in the index file.
|
||||
|
||||
--no-index::
|
||||
Search files in the current directory that is not managed by git.
|
||||
Search files in the current directory that is not managed by Git.
|
||||
|
||||
--untracked::
|
||||
In addition to searching in the tracked files in the working
|
||||
|
@ -102,7 +102,7 @@ Examples
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitk[1]::
|
||||
The git repository browser. Shows branches, commit history
|
||||
The Git repository browser. Shows branches, commit history
|
||||
and file differences. gitk is the utility started by
|
||||
'git gui''s Repository Visualize actions.
|
||||
|
||||
|
@ -40,7 +40,7 @@ OPTIONS
|
||||
--path::
|
||||
Hash object as it were located at the given path. The location of
|
||||
file does not directly influence on the hash value, but path is
|
||||
used to determine what git filters should be applied to the object
|
||||
used to determine what Git filters should be applied to the object
|
||||
before it can be placed to the object database, and, as result of
|
||||
applying filters, the actual blob put into the object database may
|
||||
differ from the given file. This option is mainly useful for hashing
|
||||
|
@ -3,36 +3,50 @@ git-help(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-help - display help information about git
|
||||
git-help - Display help information about Git
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git help' [-a|--all|-i|--info|-m|--man|-w|--web] [COMMAND]
|
||||
'git help' [-a|--all] [-g|--guide]
|
||||
[-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
With no options and no COMMAND given, the synopsis of the 'git'
|
||||
command and a list of the most commonly used git commands are printed
|
||||
With no options and no COMMAND or GUIDE given, the synopsis of the 'git'
|
||||
command and a list of the most commonly used Git commands are printed
|
||||
on the standard output.
|
||||
|
||||
If the option '--all' or '-a' is given, then all available commands are
|
||||
If the option '--all' or '-a' is given, all available commands are
|
||||
printed on the standard output.
|
||||
|
||||
If a git command is named, a manual page for that command is brought
|
||||
up. The 'man' program is used by default for this purpose, but this
|
||||
can be overridden by other options or configuration variables.
|
||||
If the option '--guide' or '-g' is given, a list of the useful
|
||||
Git guides is also printed on the standard output.
|
||||
|
||||
If a command, or a guide, is given, a manual page for that command or
|
||||
guide is brought up. The 'man' program is used by default for this
|
||||
purpose, but this can be overridden by other options or configuration
|
||||
variables.
|
||||
|
||||
Note that `git --help ...` is identical to `git help ...` because the
|
||||
former is internally converted into the latter.
|
||||
|
||||
To display the linkgit:git[1] man page, use `git help git`.
|
||||
|
||||
This page can be displayed with 'git help help' or `git help --help`
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-a::
|
||||
--all::
|
||||
Prints all the available commands on the standard output. This
|
||||
option supersedes any other option.
|
||||
option overrides any given command or guide name.
|
||||
|
||||
-g::
|
||||
--guides::
|
||||
Prints a list of useful guides on the standard output. This
|
||||
option overrides any given command or guide name.
|
||||
|
||||
-i::
|
||||
--info::
|
||||
|
@ -19,7 +19,7 @@ and the backwards-compatible dumb HTTP protocol, as well as clients
|
||||
pushing using the smart HTTP protocol.
|
||||
|
||||
It verifies that the directory has the magic file
|
||||
"git-daemon-export-ok", and it will refuse to export any git directory
|
||||
"git-daemon-export-ok", and it will refuse to export any Git directory
|
||||
that hasn't explicitly been marked for export this way (unless the
|
||||
GIT_HTTP_EXPORT_ALL environmental variable is set).
|
||||
|
||||
@ -80,7 +80,30 @@ ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
|
||||
----------------------------------------------------------------
|
||||
+
|
||||
To enable anonymous read access but authenticated write access,
|
||||
require authorization with a LocationMatch directive:
|
||||
require authorization for both the initial ref advertisement (which we
|
||||
detect as a push via the service parameter in the query string), and the
|
||||
receive-pack invocation itself:
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]
|
||||
RewriteCond %{REQUEST_URI} /git-receive-pack$
|
||||
RewriteRule ^/git/ - [E=AUTHREQUIRED:yes]
|
||||
|
||||
<LocationMatch "^/git/">
|
||||
Order Deny,Allow
|
||||
Deny from env=AUTHREQUIRED
|
||||
|
||||
AuthType Basic
|
||||
AuthName "Git Access"
|
||||
Require group committers
|
||||
Satisfy Any
|
||||
...
|
||||
</LocationMatch>
|
||||
----------------------------------------------------------------
|
||||
+
|
||||
If you do not have `mod_rewrite` available to match against the query
|
||||
string, it is sufficient to just protect `git-receive-pack` itself,
|
||||
like:
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
<LocationMatch "^/git/.*/git-receive-pack$">
|
||||
@ -91,6 +114,15 @@ require authorization with a LocationMatch directive:
|
||||
</LocationMatch>
|
||||
----------------------------------------------------------------
|
||||
+
|
||||
In this mode, the server will not request authentication until the
|
||||
client actually starts the object negotiation phase of the push, rather
|
||||
than during the initial contact. For this reason, you must also enable
|
||||
the `http.receivepack` config option in any repositories that should
|
||||
accept a push. The default behavior, if `http.receivepack` is not set,
|
||||
is to reject any pushes by unauthenticated users; the initial request
|
||||
will therefore report `403 Forbidden` to the client, without even giving
|
||||
an opportunity for authentication.
|
||||
+
|
||||
To require authentication for both reads and writes, use a Location
|
||||
directive around the repository, or one of its parent directories:
|
||||
+
|
||||
@ -158,6 +190,54 @@ ScriptAliasMatch \
|
||||
ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/
|
||||
----------------------------------------------------------------
|
||||
|
||||
Lighttpd::
|
||||
Ensure that `mod_cgi`, `mod_alias, `mod_auth`, `mod_setenv` are
|
||||
loaded, then set `GIT_PROJECT_ROOT` appropriately and redirect
|
||||
all requests to the CGI:
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
alias.url += ( "/git" => "/usr/lib/git-core/git-http-backend" )
|
||||
$HTTP["url"] =~ "^/git" {
|
||||
cgi.assign = ("" => "")
|
||||
setenv.add-environment = (
|
||||
"GIT_PROJECT_ROOT" => "/var/www/git",
|
||||
"GIT_HTTP_EXPORT_ALL" => ""
|
||||
)
|
||||
}
|
||||
----------------------------------------------------------------
|
||||
+
|
||||
To enable anonymous read access but authenticated write access:
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
$HTTP["querystring"] =~ "service=git-receive-pack" {
|
||||
include "git-auth.conf"
|
||||
}
|
||||
$HTTP["url"] =~ "^/git/.*/git-receive-pack$" {
|
||||
include "git-auth.conf"
|
||||
}
|
||||
----------------------------------------------------------------
|
||||
+
|
||||
where `git-auth.conf` looks something like:
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
auth.require = (
|
||||
"/" => (
|
||||
"method" => "basic",
|
||||
"realm" => "Git Access",
|
||||
"require" => "valid-user"
|
||||
)
|
||||
)
|
||||
# ...and set up auth.backend here
|
||||
----------------------------------------------------------------
|
||||
+
|
||||
To require authentication for both reads and writes:
|
||||
+
|
||||
----------------------------------------------------------------
|
||||
$HTTP["url"] =~ "^/git/private" {
|
||||
include "git-auth.conf"
|
||||
}
|
||||
----------------------------------------------------------------
|
||||
|
||||
|
||||
ENVIRONMENT
|
||||
-----------
|
||||
|
@ -3,7 +3,7 @@ git-http-fetch(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-http-fetch - Download from a remote git repository via HTTP
|
||||
git-http-fetch - Download from a remote Git repository via HTTP
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
@ -13,7 +13,7 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Downloads a remote git repository via HTTP.
|
||||
Downloads a remote Git repository via HTTP.
|
||||
|
||||
*NOTE*: use of this command without -a is deprecated. The -a
|
||||
behaviour will become the default in a future release.
|
||||
|
@ -19,7 +19,7 @@ DESCRIPTION
|
||||
Reads a packed archive (.pack) from the specified file, and
|
||||
builds a pack index file (.idx) for it. The packed archive
|
||||
together with the pack index can then be placed in the
|
||||
objects/pack/ directory of a git repository.
|
||||
objects/pack/ directory of a Git repository.
|
||||
|
||||
|
||||
OPTIONS
|
||||
@ -39,7 +39,7 @@ OPTIONS
|
||||
When this flag is provided, the pack is read from stdin
|
||||
instead and a copy is then written to <pack-file>. If
|
||||
<pack-file> is not specified, the pack is written to
|
||||
objects/pack/ directory of the current git repository with
|
||||
objects/pack/ directory of the current Git repository with
|
||||
a default name determined from the pack content. If
|
||||
<pack-file> is not specified consider using --keep to
|
||||
prevent a race condition between this process and
|
||||
@ -81,7 +81,7 @@ OPTIONS
|
||||
This is meant to reduce packing time on multiprocessor
|
||||
machines. The required amount of memory for the delta search
|
||||
window is however multiplied by the number of threads.
|
||||
Specifying 0 will cause git to auto-detect the number of CPU's
|
||||
Specifying 0 will cause Git to auto-detect the number of CPU's
|
||||
and use maximum 3 threads.
|
||||
|
||||
|
||||
@ -89,7 +89,7 @@ Note
|
||||
----
|
||||
|
||||
Once the index has been created, the list of object names is sorted
|
||||
and the SHA1 hash of that list is printed to stdout. If --stdin was
|
||||
and the SHA-1 hash of that list is printed to stdout. If --stdin was
|
||||
also used then this is prefixed by either "pack\t", or "keep\t" if a
|
||||
new .keep file was successfully created. This is useful to remove a
|
||||
.keep file used as a lock to prevent the race with 'git repack'
|
||||
|
@ -3,7 +3,7 @@ git-init-db(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-init-db - Creates an empty git repository
|
||||
git-init-db - Creates an empty Git repository
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
@ -3,7 +3,7 @@ git-init(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-init - Create an empty git repository or reinitialize an existing one
|
||||
git-init - Create an empty Git repository or reinitialize an existing one
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
@ -17,7 +17,7 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This command creates an empty git repository - basically a `.git`
|
||||
This command creates an empty Git repository - basically a `.git`
|
||||
directory with subdirectories for `objects`, `refs/heads`,
|
||||
`refs/tags`, and template files. An initial `HEAD` file that
|
||||
references the HEAD of the master branch is also created.
|
||||
@ -58,19 +58,19 @@ DIRECTORY" section below.)
|
||||
--separate-git-dir=<git dir>::
|
||||
|
||||
Instead of initializing the repository where it is supposed to be,
|
||||
place a filesytem-agnostic git symbolic link there, pointing to the
|
||||
specified git path, and initialize a git repository at the path. The
|
||||
result is git repository can be separated from working tree. If this
|
||||
place a filesytem-agnostic Git symbolic link there, pointing to the
|
||||
specified path, and initialize a Git repository at the path. The
|
||||
result is Git repository can be separated from working tree. If this
|
||||
is reinitialization, the repository will be moved to the specified
|
||||
path.
|
||||
|
||||
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]::
|
||||
|
||||
Specify that the git repository is to be shared amongst several users. This
|
||||
Specify that the Git repository is to be shared amongst several users. This
|
||||
allows users belonging to the same group to push into that
|
||||
repository. When specified, the config variable "core.sharedRepository" is
|
||||
set so that files and directories under `$GIT_DIR` are created with the
|
||||
requested permissions. When not specified, git will use permissions reported
|
||||
requested permissions. When not specified, Git will use permissions reported
|
||||
by umask(2).
|
||||
|
||||
The option can have the following values, defaulting to 'group' if no value
|
||||
@ -130,7 +130,7 @@ The suggested patterns and hook files are all modifiable and extensible.
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
Start a new git repository for an existing code base::
|
||||
Start a new Git repository for an existing code base::
|
||||
+
|
||||
----------------
|
||||
$ cd /path/to/my/codebase
|
||||
|
@ -9,7 +9,7 @@ git-log - Show commit logs
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git log' [<options>] [<since>..<until>] [[\--] <path>...]
|
||||
'git log' [<options>] [<revision range>] [[\--] <path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -24,13 +24,6 @@ each commit introduces are shown.
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
<since>..<until>::
|
||||
Show only commits between the named two commits. When
|
||||
either <since> or <until> is omitted, it defaults to
|
||||
`HEAD`, i.e. the tip of the current branch.
|
||||
For a more complete list of ways to spell <since>
|
||||
and <until>, see linkgit:gitrevisions[7].
|
||||
|
||||
--follow::
|
||||
Continue listing the history of a file beyond renames
|
||||
(works only for a single file).
|
||||
@ -47,6 +40,11 @@ OPTIONS
|
||||
Print out the ref name given on the command line by which each
|
||||
commit was reached.
|
||||
|
||||
--use-mailmap::
|
||||
Use mailmap file to map author and committer names and email
|
||||
to canonical real names and email addresses. See
|
||||
linkgit:git-shortlog[1].
|
||||
|
||||
--full-diff::
|
||||
Without this flag, "git log -p <path>..." shows commits that
|
||||
touch the specified paths, and diffs about the same specified
|
||||
@ -59,19 +57,28 @@ produced by --stat etc.
|
||||
|
||||
--log-size::
|
||||
Before the log message print out its size in bytes. Intended
|
||||
mainly for porcelain tools consumption. If git is unable to
|
||||
mainly for porcelain tools consumption. If Git is unable to
|
||||
produce a valid value size is set to zero.
|
||||
Note that only message is considered, if also a diff is shown
|
||||
its size is not included.
|
||||
|
||||
<revision range>::
|
||||
Show only commits in the specified revision range. When no
|
||||
<revision range> is specified, it defaults to `HEAD` (i.e. the
|
||||
whole history leading to the current commit). `origin..HEAD`
|
||||
specifies all the commits reachable from the current commit
|
||||
(i.e. `HEAD`), but not from `origin`. For a complete list of
|
||||
ways to spell <revision range>, see the "Specifying Ranges"
|
||||
section of linkgit:gitrevisions[7].
|
||||
|
||||
[\--] <path>...::
|
||||
Show only commits that are enough to explain how the files
|
||||
that match the specified paths came to be. See "History
|
||||
Simplification" below for details and other simplification
|
||||
modes.
|
||||
+
|
||||
To prevent confusion with options and branch names, paths may need to
|
||||
be prefixed with "\-- " to separate them from options or refnames.
|
||||
Paths may need to be prefixed with "\-- " to separate them from
|
||||
options or the revision range, when confusion arises.
|
||||
|
||||
include::rev-list-options.txt[]
|
||||
|
||||
@ -167,7 +174,7 @@ log.showroot::
|
||||
`git log -p` output would be shown without a diff attached.
|
||||
The default is `true`.
|
||||
|
||||
mailmap.file::
|
||||
mailmap.*::
|
||||
See linkgit:git-shortlog[1].
|
||||
|
||||
notes.displayRef::
|
||||
|
@ -92,7 +92,7 @@ OPTIONS
|
||||
directory and its subdirectories in <file>.
|
||||
|
||||
--exclude-standard::
|
||||
Add the standard git exclusions: .git/info/exclude, .gitignore
|
||||
Add the standard Git exclusions: .git/info/exclude, .gitignore
|
||||
in each directory, and the user's global exclusion file.
|
||||
|
||||
--error-unmatch::
|
||||
@ -164,7 +164,7 @@ which case it outputs:
|
||||
'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine
|
||||
detailed information on unmerged paths.
|
||||
|
||||
For an unmerged path, instead of recording a single mode/SHA1 pair,
|
||||
For an unmerged path, instead of recording a single mode/SHA-1 pair,
|
||||
the index records up to three such pairs; one from tree O in stage
|
||||
1, A in stage 2, and B in stage 3. This information can be used by
|
||||
the user (or the porcelain) to see what should eventually be recorded at the
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This looks up the <file>(s) in the index and, if there are any merge
|
||||
entries, passes the SHA1 hash for those files as arguments 1, 2, 3 (empty
|
||||
entries, passes the SHA-1 hash for those files as arguments 1, 2, 3 (empty
|
||||
argument if no file), and <file> as argument 4. File modes for the three
|
||||
files are passed as arguments 5, 6 and 7.
|
||||
|
||||
@ -41,13 +41,13 @@ If 'git merge-index' is called with multiple <file>s (or -a) then it
|
||||
processes them in turn only stopping if merge returns a non-zero exit
|
||||
code.
|
||||
|
||||
Typically this is run with a script calling git's imitation of
|
||||
Typically this is run with a script calling Git's imitation of
|
||||
the 'merge' command from the RCS package.
|
||||
|
||||
A sample script called 'git merge-one-file' is included in the
|
||||
distribution.
|
||||
|
||||
ALERT ALERT ALERT! The git "merge object order" is different from the
|
||||
ALERT ALERT ALERT! The Git "merge object order" is different from the
|
||||
RCS 'merge' program merge object order. In the above ordering, the
|
||||
original is first. But the argument order to the 3-way merge program
|
||||
'merge' is to have the original in the middle. Don't ask me why.
|
||||
|
@ -99,7 +99,7 @@ commit or stash your changes before running 'git merge'.
|
||||
more than two parents (affectionately called an Octopus merge).
|
||||
+
|
||||
If no commit is given from the command line, and if `merge.defaultToUpstream`
|
||||
configuration variable is set, merge the remote tracking branches
|
||||
configuration variable is set, merge the remote-tracking branches
|
||||
that the current branch is configured to use as its upstream.
|
||||
See also the configuration section of this manual page.
|
||||
|
||||
@ -170,6 +170,30 @@ happens:
|
||||
If you tried a merge which resulted in complex conflicts and
|
||||
want to start over, you can recover with `git merge --abort`.
|
||||
|
||||
MERGING TAG
|
||||
-----------
|
||||
|
||||
When merging an annotated (and possibly signed) tag, Git always
|
||||
creates a merge commit even if a fast-forward merge is possible, and
|
||||
the commit message template is prepared with the tag message.
|
||||
Additionally, if the tag is signed, the signature check is reported
|
||||
as a comment in the message template. See also linkgit:git-tag[1].
|
||||
|
||||
When you want to just integrate with the work leading to the commit
|
||||
that happens to be tagged, e.g. synchronizing with an upstream
|
||||
release point, you may not want to make an unnecessary merge commit.
|
||||
|
||||
In such a case, you can "unwrap" the tag yourself before feeding it
|
||||
to `git merge`, or pass `--ff-only` when you do not have any work on
|
||||
your own. e.g.
|
||||
|
||||
---
|
||||
git fetch origin
|
||||
git merge v1.2.3^0
|
||||
git merge --ff-only v1.2.3
|
||||
---
|
||||
|
||||
|
||||
HOW CONFLICTS ARE PRESENTED
|
||||
---------------------------
|
||||
|
||||
@ -178,10 +202,10 @@ of the merge. Among the changes made to the common ancestor's version,
|
||||
non-overlapping ones (that is, you changed an area of the file while the
|
||||
other side left that area intact, or vice versa) are incorporated in the
|
||||
final result verbatim. When both sides made changes to the same area,
|
||||
however, git cannot randomly pick one side over the other, and asks you to
|
||||
however, Git cannot randomly pick one side over the other, and asks you to
|
||||
resolve it by leaving what both sides did to that area.
|
||||
|
||||
By default, git uses the same style as the one used by the "merge" program
|
||||
By default, Git uses the same style as the one used by the "merge" program
|
||||
from the RCS suite to present such a conflicted hunk, like this:
|
||||
|
||||
------------
|
||||
|
@ -3,7 +3,7 @@ git-mergetool{litdd}lib(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-mergetool--lib - Common git merge tool shell scriptlets
|
||||
git-mergetool--lib - Common Git merge tool shell scriptlets
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
@ -19,7 +19,7 @@ Porcelain-ish scripts and/or are writing new ones.
|
||||
|
||||
The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using
|
||||
`.`) by other shell scripts to set up functions for working
|
||||
with git merge tools.
|
||||
with Git merge tools.
|
||||
|
||||
Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE`
|
||||
to define the operation mode for the functions listed below.
|
||||
|
@ -28,9 +28,9 @@ A tag signature file has a very simple fixed format: four lines of
|
||||
tagger <tagger>
|
||||
|
||||
followed by some 'optional' free-form message (some tags created
|
||||
by older git may not have `tagger` line). The message, when
|
||||
by older Git may not have `tagger` line). The message, when
|
||||
exists, is separated by a blank line from the header. The
|
||||
message part may contain a signature that git itself doesn't
|
||||
message part may contain a signature that Git itself doesn't
|
||||
care about, but that can be verified with gpg.
|
||||
|
||||
GIT
|
||||
|
@ -34,7 +34,7 @@ OPTIONS
|
||||
-k::
|
||||
Skip move or rename actions which would lead to an error
|
||||
condition. An error happens when a source is neither existing nor
|
||||
controlled by GIT, or when it would overwrite an existing
|
||||
controlled by Git, or when it would overwrite an existing
|
||||
file unless '-f' is given.
|
||||
-n::
|
||||
--dry-run::
|
||||
|
@ -39,6 +39,10 @@ message stored in the commit object, the notes are indented like the
|
||||
message, after an unindented line saying "Notes (<refname>):" (or
|
||||
"Notes:" for `refs/notes/commits`).
|
||||
|
||||
Notes can also be added to patches prepared with `git format-patch` by
|
||||
using the `--notes` option. Such notes are added as a patch commentary
|
||||
after a three dash separator line.
|
||||
|
||||
To change which notes are shown by 'git log', see the
|
||||
"notes.displayRef" configuration in linkgit:git-log[1].
|
||||
|
||||
|
@ -18,13 +18,13 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This command provides a way to interact with p4 repositories
|
||||
using git.
|
||||
using Git.
|
||||
|
||||
Create a new git repository from an existing p4 repository using
|
||||
Create a new Git repository from an existing p4 repository using
|
||||
'git p4 clone', giving it one or more p4 depot paths. Incorporate
|
||||
new commits from p4 changes with 'git p4 sync'. The 'sync' command
|
||||
is also used to include new branches from other p4 depot paths.
|
||||
Submit git changes back to p4 using 'git p4 submit'. The command
|
||||
Submit Git changes back to p4 using 'git p4 submit'. The command
|
||||
'git p4 rebase' does a sync plus rebases the current branch onto
|
||||
the updated p4 remote branch.
|
||||
|
||||
@ -37,7 +37,7 @@ EXAMPLE
|
||||
$ git p4 clone //depot/path/project
|
||||
------------
|
||||
|
||||
* Do some work in the newly created git repository:
|
||||
* Do some work in the newly created Git repository:
|
||||
+
|
||||
------------
|
||||
$ cd project
|
||||
@ -45,7 +45,7 @@ $ vi foo.h
|
||||
$ git commit -a -m "edited foo.h"
|
||||
------------
|
||||
|
||||
* Update the git repository with recent changes from p4, rebasing your
|
||||
* Update the Git repository with recent changes from p4, rebasing your
|
||||
work on top:
|
||||
+
|
||||
------------
|
||||
@ -64,21 +64,21 @@ COMMANDS
|
||||
|
||||
Clone
|
||||
~~~~~
|
||||
Generally, 'git p4 clone' is used to create a new git directory
|
||||
Generally, 'git p4 clone' is used to create a new Git directory
|
||||
from an existing p4 repository:
|
||||
------------
|
||||
$ git p4 clone //depot/path/project
|
||||
------------
|
||||
This:
|
||||
|
||||
1. Creates an empty git repository in a subdirectory called 'project'.
|
||||
1. Creates an empty Git repository in a subdirectory called 'project'.
|
||||
+
|
||||
2. Imports the full contents of the head revision from the given p4
|
||||
depot path into a single commit in the git branch 'refs/remotes/p4/master'.
|
||||
depot path into a single commit in the Git branch 'refs/remotes/p4/master'.
|
||||
+
|
||||
3. Creates a local branch, 'master' from this remote and checks it out.
|
||||
|
||||
To reproduce the entire p4 history in git, use the '@all' modifier on
|
||||
To reproduce the entire p4 history in Git, use the '@all' modifier on
|
||||
the depot path:
|
||||
------------
|
||||
$ git p4 clone //depot/path/project@all
|
||||
@ -88,13 +88,13 @@ $ git p4 clone //depot/path/project@all
|
||||
Sync
|
||||
~~~~
|
||||
As development continues in the p4 repository, those changes can
|
||||
be included in the git repository using:
|
||||
be included in the Git repository using:
|
||||
------------
|
||||
$ git p4 sync
|
||||
------------
|
||||
This command finds new changes in p4 and imports them as git commits.
|
||||
This command finds new changes in p4 and imports them as Git commits.
|
||||
|
||||
P4 repositories can be added to an existing git repository using
|
||||
P4 repositories can be added to an existing Git repository using
|
||||
'git p4 sync' too:
|
||||
------------
|
||||
$ mkdir repo-git
|
||||
@ -103,14 +103,19 @@ $ git init
|
||||
$ git p4 sync //path/in/your/perforce/depot
|
||||
------------
|
||||
This imports the specified depot into
|
||||
'refs/remotes/p4/master' in an existing git repository. The
|
||||
'refs/remotes/p4/master' in an existing Git repository. The
|
||||
'--branch' option can be used to specify a different branch to
|
||||
be used for the p4 content.
|
||||
|
||||
If a git repository includes branches 'refs/remotes/origin/p4', these
|
||||
If a Git repository includes branches 'refs/remotes/origin/p4', these
|
||||
will be fetched and consulted first during a 'git p4 sync'. Since
|
||||
importing directly from p4 is considerably slower than pulling changes
|
||||
from a git remote, this can be useful in a multi-developer environment.
|
||||
from a Git remote, this can be useful in a multi-developer environment.
|
||||
|
||||
If there are multiple branches, doing 'git p4 sync' will automatically
|
||||
use the "BRANCH DETECTION" algorithm to try to partition new changes
|
||||
into the right branch. This can be overridden with the '--branch'
|
||||
option to specify just a single branch to update.
|
||||
|
||||
|
||||
Rebase
|
||||
@ -127,13 +132,13 @@ $ git p4 rebase
|
||||
|
||||
Submit
|
||||
~~~~~~
|
||||
Submitting changes from a git repository back to the p4 repository
|
||||
Submitting changes from a Git repository back to the p4 repository
|
||||
requires a separate p4 client workspace. This should be specified
|
||||
using the 'P4CLIENT' environment variable or the git configuration
|
||||
using the 'P4CLIENT' environment variable or the Git configuration
|
||||
variable 'git-p4.client'. The p4 client must exist, but the client root
|
||||
will be created and populated if it does not already exist.
|
||||
|
||||
To submit all changes that are in the current git branch but not in
|
||||
To submit all changes that are in the current Git branch but not in
|
||||
the 'p4/master' branch, use:
|
||||
------------
|
||||
$ git p4 submit
|
||||
@ -149,7 +154,7 @@ be overridden using the '--origin=' command-line option.
|
||||
|
||||
The p4 changes will be created as the user invoking 'git p4 submit'. The
|
||||
'--preserve-user' option will cause ownership to be modified
|
||||
according to the author of the git commit. This option requires admin
|
||||
according to the author of the Git commit. This option requires admin
|
||||
privileges in p4, which can be granted using 'p4 protect'.
|
||||
|
||||
|
||||
@ -173,12 +178,14 @@ subsequent 'sync' operations.
|
||||
|
||||
--branch <branch>::
|
||||
Import changes into given branch. If the branch starts with
|
||||
'refs/', it will be used as is, otherwise the path 'refs/heads/'
|
||||
will be prepended. The default branch is 'master'. If used
|
||||
with an initial clone, no HEAD will be checked out.
|
||||
'refs/', it will be used as is. Otherwise if it does not start
|
||||
with 'p4/', that prefix is added. The branch is assumed to
|
||||
name a remote tracking, but this can be modified using
|
||||
'--import-local', or by giving a full ref name. The default
|
||||
branch is 'master'.
|
||||
+
|
||||
This example imports a new remote "p4/proj2" into an existing
|
||||
git repository:
|
||||
Git repository:
|
||||
+
|
||||
----
|
||||
$ git init
|
||||
@ -199,11 +206,11 @@ git repository:
|
||||
|
||||
--detect-labels::
|
||||
Query p4 for labels associated with the depot paths, and add
|
||||
them as tags in git. Limited usefulness as only imports labels
|
||||
them as tags in Git. Limited usefulness as only imports labels
|
||||
associated with new changelists. Deprecated.
|
||||
|
||||
--import-labels::
|
||||
Import labels from p4 into git.
|
||||
Import labels from p4 into Git.
|
||||
|
||||
--import-local::
|
||||
By default, p4 branches are stored in 'refs/remotes/p4/',
|
||||
@ -219,12 +226,12 @@ git repository:
|
||||
specifier.
|
||||
|
||||
--keep-path::
|
||||
The mapping of file names from the p4 depot path to git, by
|
||||
The mapping of file names from the p4 depot path to Git, by
|
||||
default, involves removing the entire depot path. With this
|
||||
option, the full p4 depot path is retained in git. For example,
|
||||
option, the full p4 depot path is retained in Git. For example,
|
||||
path '//depot/main/foo/bar.c', when imported from
|
||||
'//depot/main/', becomes 'foo/bar.c'. With '--keep-path', the
|
||||
git path is instead 'depot/main/foo/bar.c'.
|
||||
Git path is instead 'depot/main/foo/bar.c'.
|
||||
|
||||
--use-client-spec::
|
||||
Use a client spec to find the list of interesting files in p4.
|
||||
@ -236,7 +243,7 @@ These options can be used in an initial 'clone', along with the 'sync'
|
||||
options described above.
|
||||
|
||||
--destination <directory>::
|
||||
Where to create the git repository. If not provided, the last
|
||||
Where to create the Git repository. If not provided, the last
|
||||
component in the p4 depot path is used to create a new
|
||||
directory.
|
||||
|
||||
@ -266,12 +273,12 @@ These options can be used to modify 'git p4 submit' behavior.
|
||||
requires p4 admin privileges.
|
||||
|
||||
--export-labels::
|
||||
Export tags from git as p4 labels. Tags found in git are applied
|
||||
Export tags from Git as p4 labels. Tags found in Git are applied
|
||||
to the perforce working directory.
|
||||
|
||||
--dry-run, -n::
|
||||
Show just what commits would be submitted to p4; do not change
|
||||
state in git or p4.
|
||||
state in Git or p4.
|
||||
|
||||
--prepare-p4-only::
|
||||
Apply a commit to the p4 workspace, opening, adding and deleting
|
||||
@ -287,6 +294,11 @@ These options can be used to modify 'git p4 submit' behavior.
|
||||
to bypass the prompt, causing conflicting commits to be automatically
|
||||
skipped, or to quit trying to apply commits, without prompting.
|
||||
|
||||
--branch <branch>::
|
||||
After submitting, sync this named branch instead of the default
|
||||
p4/master. See the "Sync options" section above for more
|
||||
information.
|
||||
|
||||
Rebase options
|
||||
~~~~~~~~~~~~~~
|
||||
These options can be used to modify 'git p4 rebase' behavior.
|
||||
@ -312,12 +324,12 @@ p4 revision specifier on the end:
|
||||
"//depot/proj1@all //depot/proj2@all"::
|
||||
Import all changes from both named depot paths into a single
|
||||
repository. Only files below these directories are included.
|
||||
There is not a subdirectory in git for each "proj1" and "proj2".
|
||||
There is not a subdirectory in Git for each "proj1" and "proj2".
|
||||
You must use the '--destination' option when specifying more
|
||||
than one depot path. The revision specifier must be specified
|
||||
identically on each depot path. If there are files in the
|
||||
depot paths with the same name, the path with the most recently
|
||||
updated version of the file is the one that appears in git.
|
||||
updated version of the file is the one that appears in Git.
|
||||
|
||||
See 'p4 help revisions' for the full syntax of p4 revision specifiers.
|
||||
|
||||
@ -334,11 +346,11 @@ configuration file. This allows future 'git p4 submit' commands to
|
||||
work properly; the submit command looks only at the variable and does
|
||||
not have a command-line option.
|
||||
|
||||
The full syntax for a p4 view is documented in 'p4 help views'. 'Git p4'
|
||||
The full syntax for a p4 view is documented in 'p4 help views'. 'git p4'
|
||||
knows only a subset of the view syntax. It understands multi-line
|
||||
mappings, overlays with '+', exclusions with '-' and double-quotes
|
||||
around whitespace. Of the possible wildcards, 'git p4' only handles
|
||||
'...', and only when it is at the end of the path. 'Git p4' will complain
|
||||
'...', and only when it is at the end of the path. 'git p4' will complain
|
||||
if it encounters an unhandled wildcard.
|
||||
|
||||
Bugs in the implementation of overlap mappings exist. If multiple depot
|
||||
@ -354,7 +366,7 @@ variable P4CLIENT, a file referenced by P4CONFIG, or the local host name.
|
||||
|
||||
BRANCH DETECTION
|
||||
----------------
|
||||
P4 does not have the same concept of a branch as git. Instead,
|
||||
P4 does not have the same concept of a branch as Git. Instead,
|
||||
p4 organizes its content as a directory tree, where by convention
|
||||
different logical branches are in different locations in the tree.
|
||||
The 'p4 branch' command is used to maintain mappings between
|
||||
@ -364,7 +376,7 @@ can use these mappings to determine branch relationships.
|
||||
If you have a repository where all the branches of interest exist as
|
||||
subdirectories of a single depot path, you can use '--detect-branches'
|
||||
when cloning or syncing to have 'git p4' automatically find
|
||||
subdirectories in p4, and to generate these as branches in git.
|
||||
subdirectories in p4, and to generate these as branches in Git.
|
||||
|
||||
For example, if the P4 repository structure is:
|
||||
----
|
||||
@ -386,7 +398,7 @@ called 'master', and one for //depot/branch1 called 'depot/branch1'.
|
||||
|
||||
However, it is not necessary to create branches in p4 to be able to use
|
||||
them like branches. Because it is difficult to infer branch
|
||||
relationships automatically, a git configuration setting
|
||||
relationships automatically, a Git configuration setting
|
||||
'git-p4.branchList' can be used to explicitly identify branch
|
||||
relationships. It is a list of "source:destination" pairs, like a
|
||||
simple p4 branch specification, where the "source" and "destination" are
|
||||
@ -394,15 +406,17 @@ the path elements in the p4 repository. The example above relied on the
|
||||
presence of the p4 branch. Without p4 branches, the same result will
|
||||
occur with:
|
||||
----
|
||||
git init depot
|
||||
cd depot
|
||||
git config git-p4.branchList main:branch1
|
||||
git p4 clone --detect-branches //depot@all
|
||||
git p4 clone --detect-branches //depot@all .
|
||||
----
|
||||
|
||||
|
||||
PERFORMANCE
|
||||
-----------
|
||||
The fast-import mechanism used by 'git p4' creates one pack file for
|
||||
each invocation of 'git p4 sync'. Normally, git garbage compression
|
||||
each invocation of 'git p4 sync'. Normally, Git garbage compression
|
||||
(linkgit:git-gc[1]) automatically compresses these to fewer pack files,
|
||||
but explicit invocation of 'git repack -adf' may improve performance.
|
||||
|
||||
@ -440,9 +454,9 @@ git-p4.client::
|
||||
Clone and sync variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
git-p4.syncFromOrigin::
|
||||
Because importing commits from other git repositories is much faster
|
||||
Because importing commits from other Git repositories is much faster
|
||||
than importing them from p4, a mechanism exists to find p4 changes
|
||||
first in git remotes. If branches exist under 'refs/remote/origin/p4',
|
||||
first in Git remotes. If branches exist under 'refs/remote/origin/p4',
|
||||
those will be fetched and used when syncing from p4. This
|
||||
variable can be set to 'false' to disable this behavior.
|
||||
|
||||
@ -494,7 +508,7 @@ git-p4.detectCopiesHarder::
|
||||
Detect copies harder. See linkgit:git-diff[1]. A boolean.
|
||||
|
||||
git-p4.preserveUser::
|
||||
On submit, re-author changes to reflect the git author,
|
||||
On submit, re-author changes to reflect the Git author,
|
||||
regardless of who invokes 'git p4 submit'.
|
||||
|
||||
git-p4.allowMissingP4Users::
|
||||
@ -531,7 +545,7 @@ git-p4.attemptRCSCleanup::
|
||||
present.
|
||||
|
||||
git-p4.exportLabels::
|
||||
Export git tags to p4 labels, as per --export-labels.
|
||||
Export Git tags to p4 labels, as per --export-labels.
|
||||
|
||||
git-p4.labelExportRegexp::
|
||||
Only p4 labels matching this regular expression will be exported. The
|
||||
@ -543,11 +557,11 @@ git-p4.conflict::
|
||||
|
||||
IMPLEMENTATION DETAILS
|
||||
----------------------
|
||||
* Changesets from p4 are imported using git fast-import.
|
||||
* Changesets from p4 are imported using Git fast-import.
|
||||
* Cloning or syncing does not require a p4 client; file contents are
|
||||
collected using 'p4 print'.
|
||||
* Submitting requires a p4 client, which is not in the same location
|
||||
as the git repository. Patches are applied, one at a time, to
|
||||
as the Git repository. Patches are applied, one at a time, to
|
||||
this p4 client and submitted from there.
|
||||
* Each commit imported by 'git p4' has a line at the end of the log
|
||||
message indicating the p4 depot location and change number. This
|
||||
|
@ -35,7 +35,7 @@ A pack index file (.idx) is generated for fast, random access to the
|
||||
objects in the pack. Placing both the index file (.idx) and the packed
|
||||
archive (.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
|
||||
any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
|
||||
enables git to read from the pack archive.
|
||||
enables Git to read from the pack archive.
|
||||
|
||||
The 'git unpack-objects' command can read the packed archive and
|
||||
expand the objects contained in the pack into "one-file
|
||||
@ -50,7 +50,7 @@ base-name::
|
||||
Write into a pair 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
|
||||
<base-name>-<SHA1>.{pack,idx} files. <SHA1> is a hash
|
||||
<base-name>-<SHA-1>.{pack,idx} files. <SHA-1> is a hash
|
||||
of the sorted object names to make the resulting filename
|
||||
based on the pack content, and written to the standard
|
||||
output of the command.
|
||||
@ -80,7 +80,7 @@ base-name::
|
||||
--include-tag::
|
||||
Include unasked-for annotated tags if the object they
|
||||
reference was included in the resulting packfile. This
|
||||
can be useful to send new tags to native git clients.
|
||||
can be useful to send new tags to native Git clients.
|
||||
|
||||
--window=<n>::
|
||||
--depth=<n>::
|
||||
@ -185,14 +185,14 @@ base-name::
|
||||
option only makes sense in conjunction with --stdout.
|
||||
+
|
||||
Note: A thin pack violates the packed archive format by omitting
|
||||
required objects and is thus unusable by git without making it
|
||||
required objects and is thus unusable by Git without making it
|
||||
self-contained. Use `git index-pack --fix-thin`
|
||||
(see linkgit:git-index-pack[1]) to restore the self-contained property.
|
||||
|
||||
--delta-base-offset::
|
||||
A packed archive can express the base object of a delta as
|
||||
either a 20-byte object name or as an offset in the
|
||||
stream, but ancient versions of git don't understand the
|
||||
stream, but ancient versions of Git don't understand the
|
||||
latter. By default, 'git pack-objects' only uses the
|
||||
former format for better compatibility. This option
|
||||
allows the command to use the latter format for
|
||||
@ -202,7 +202,7 @@ self-contained. Use `git index-pack --fix-thin`
|
||||
+
|
||||
Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]),
|
||||
`git repack` (see linkgit:git-repack[1]) pass this option by default
|
||||
in modern git when they put objects in your repository into pack files.
|
||||
in modern Git when they put objects in your repository into pack files.
|
||||
So does `git bundle` (see linkgit:git-bundle[1]) when it creates a bundle.
|
||||
|
||||
--threads=<n>::
|
||||
@ -212,7 +212,7 @@ So does `git bundle` (see linkgit:git-bundle[1]) when it creates a bundle.
|
||||
This is meant to reduce packing time on multiprocessor machines.
|
||||
The required amount of memory for the delta search window is
|
||||
however multiplied by the number of threads.
|
||||
Specifying 0 will cause git to auto-detect the number of CPU's
|
||||
Specifying 0 will cause Git to auto-detect the number of CPU's
|
||||
and set the number of threads accordingly.
|
||||
|
||||
--index-version=<version>[,<offset>]::
|
||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
A "patch ID" is nothing but a SHA1 of the diff associated with a patch, with
|
||||
A "patch ID" is nothing but a SHA-1 of the diff associated with a patch, with
|
||||
whitespace and line numbers ignored. As such, it's "reasonably stable", but at
|
||||
the same time also reasonably unique, i.e., two patches that have the same "patch
|
||||
ID" are almost guaranteed to be the same thing.
|
||||
|
@ -59,8 +59,8 @@ and a log message from the user describing the changes.
|
||||
See linkgit:git-merge[1] for details, including how conflicts
|
||||
are presented and handled.
|
||||
|
||||
In git 1.7.0 or later, to cancel a conflicting merge, use
|
||||
`git reset --merge`. *Warning*: In older versions of git, running 'git pull'
|
||||
In Git 1.7.0 or later, to cancel a conflicting merge, use
|
||||
`git reset --merge`. *Warning*: In older versions of Git, running 'git pull'
|
||||
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.
|
||||
|
||||
@ -89,7 +89,7 @@ must be given before the options meant for 'git fetch'.
|
||||
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
|
||||
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.
|
||||
@ -218,7 +218,7 @@ $ git merge origin/next
|
||||
------------------------------------------------
|
||||
|
||||
|
||||
If you tried a pull which resulted in a complex conflicts and
|
||||
If you tried a pull which resulted in complex conflicts and
|
||||
would want to start over, you can recover with 'git reset'.
|
||||
|
||||
|
||||
@ -228,7 +228,7 @@ Using --recurse-submodules can only fetch new commits in already checked
|
||||
out submodules right now. When e.g. upstream added a new submodule in the
|
||||
just fetched commits of the superproject the submodule itself can not be
|
||||
fetched, making it impossible to check out that submodule later without
|
||||
having to do a fetch again. This is expected to be fixed in a future git
|
||||
having to do a fetch again. This is expected to be fixed in a future Git
|
||||
version.
|
||||
|
||||
SEE ALSO
|
||||
|
@ -9,7 +9,7 @@ git-push - Update remote refs along with associated objects
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git push' [--all | --mirror | --tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
|
||||
'git push' [--all | --mirror | --tags] [--follow-tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
|
||||
[--repo=<repository>] [-f | --force] [--prune] [-v | --verbose] [-u | --set-upstream]
|
||||
[<repository> [<refspec>...]]
|
||||
|
||||
@ -23,6 +23,17 @@ You can make interesting things happen to a repository
|
||||
every time you push into it, by setting up 'hooks' there. See
|
||||
documentation for linkgit:git-receive-pack[1].
|
||||
|
||||
When the command line does not specify where to push with the
|
||||
`<repository>` argument, `branch.*.remote` configuration for the
|
||||
current branch is consulted to determine where to push. If the
|
||||
configuration is missing, it defaults to 'origin'.
|
||||
|
||||
When the command line does not specify what to push with `<refspec>...`
|
||||
arguments or `--all`, `--mirror`, `--tags` options, the command finds
|
||||
the default `<refspec>` by consulting `remote.*.push` configuration,
|
||||
and if it is not found, honors `push.default` configuration to decide
|
||||
what to push (See gitlink:git-config[1] for the meaning of `push.default`).
|
||||
|
||||
|
||||
OPTIONS[[OPTIONS]]
|
||||
------------------
|
||||
@ -33,13 +44,10 @@ OPTIONS[[OPTIONS]]
|
||||
of a remote (see the section <<REMOTES,REMOTES>> below).
|
||||
|
||||
<refspec>...::
|
||||
Specify what destination ref to update with what source object.
|
||||
The format of a <refspec> parameter is an optional plus
|
||||
`+`, followed by the source ref <src>, followed
|
||||
`+`, followed by the source object <src>, followed
|
||||
by a colon `:`, followed by the destination ref <dst>.
|
||||
It is used to specify with what <src> object the <dst> ref
|
||||
in the remote repository is to be updated. If not specified,
|
||||
the behavior of the command is controlled by the `push.default`
|
||||
configuration variable.
|
||||
+
|
||||
The <src> is often the name of the branch you would want to push, but
|
||||
it can be any arbitrary "SHA-1 expression", such as `master~4` or
|
||||
@ -51,10 +59,11 @@ be named. If `:`<dst> is omitted, the same ref as <src> will be
|
||||
updated.
|
||||
+
|
||||
The object referenced by <src> is used to update the <dst> reference
|
||||
on the remote side, but by default this is only allowed if the
|
||||
update can fast-forward <dst>. By having the optional leading `+`,
|
||||
you can tell git to update the <dst> ref even when the update is not a
|
||||
fast-forward. This does *not* attempt to merge <src> into <dst>. See
|
||||
on the remote side. By default this is only allowed if <dst> is not
|
||||
a tag (annotated or lightweight), and then only if it can fast-forward
|
||||
<dst>. By having the optional leading `+`, you can tell Git to update
|
||||
the <dst> ref even if it is not allowed by default (e.g., it is not a
|
||||
fast-forward.) This does *not* attempt to merge <src> into <dst>. See
|
||||
EXAMPLES below for details.
|
||||
+
|
||||
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
|
||||
@ -63,12 +72,9 @@ Pushing an empty <src> allows you to delete the <dst> ref from
|
||||
the remote repository.
|
||||
+
|
||||
The special refspec `:` (or `+:` to allow non-fast-forward updates)
|
||||
directs git to push "matching" branches: for every branch that exists on
|
||||
directs Git to push "matching" branches: for every branch that exists on
|
||||
the local side, the remote side is updated if a branch of the same name
|
||||
already exists on the remote side. This is the default operation mode
|
||||
if no explicit refspec is found (that is neither on the command line
|
||||
nor in any Push line of the corresponding remotes file---see below) and
|
||||
no `push.default` configuration variable is set.
|
||||
already exists on the remote side.
|
||||
|
||||
--all::
|
||||
Instead of naming each ref to push, specifies that all
|
||||
@ -111,6 +117,12 @@ no `push.default` configuration variable is set.
|
||||
addition to refspecs explicitly listed on the command
|
||||
line.
|
||||
|
||||
--follow-tags::
|
||||
Push all the refs that would be pushed without this option,
|
||||
and also push annotated tags in `refs/tags` that are missing
|
||||
from the remote but are pointing at committish that are
|
||||
reachable from the refs being pushed.
|
||||
|
||||
--receive-pack=<git-receive-pack>::
|
||||
--exec=<git-receive-pack>::
|
||||
Path to the 'git-receive-pack' program on the remote
|
||||
@ -175,8 +187,8 @@ useful if you write an alias or script around 'git push'.
|
||||
|
||||
--recurse-submodules=check|on-demand::
|
||||
Make sure all submodule commits used by the revisions to be
|
||||
pushed are available on a remote tracking branch. If 'check' is
|
||||
used git will verify that all submodule commits that changed in
|
||||
pushed are available on a remote-tracking branch. If 'check' is
|
||||
used Git will verify that all submodule commits that changed in
|
||||
the revisions to be pushed are available on at least one remote
|
||||
of the submodule. If any commits are missing the push will be
|
||||
aborted and exit with non-zero status. If 'on-demand' is used
|
||||
@ -191,7 +203,7 @@ OUTPUT
|
||||
------
|
||||
|
||||
The output of "git push" depends on the transport method used; this
|
||||
section describes the output when pushing over the git protocol (either
|
||||
section describes the output when pushing over the Git protocol (either
|
||||
locally or via ssh).
|
||||
|
||||
The status of the push is output in tabular form, with each line
|
||||
@ -286,7 +298,8 @@ leading to commit A. The history looks like this:
|
||||
----------------
|
||||
|
||||
Further suppose that the other person already pushed changes leading to A
|
||||
back to the original repository you two obtained the original commit X.
|
||||
back to the original repository from which you two obtained the original
|
||||
commit X.
|
||||
|
||||
The push done by the other person updated the branch that used to point at
|
||||
commit X to point at commit A. It is a fast-forward.
|
||||
@ -384,11 +397,23 @@ the ones in the examples below) can be configured as the default for
|
||||
A handy way to push the current branch to the same name on the
|
||||
remote.
|
||||
|
||||
`git push origin master:satellite/master dev:satellite/dev`::
|
||||
`git push mothership master:satellite/master dev:satellite/dev`::
|
||||
Use the source ref that matches `master` (e.g. `refs/heads/master`)
|
||||
to update the ref that matches `satellite/master` (most probably
|
||||
`refs/remotes/satellite/master`) in the `origin` repository, then
|
||||
`refs/remotes/satellite/master`) in the `mothership` repository;
|
||||
do the same for `dev` and `satellite/dev`.
|
||||
+
|
||||
This is to emulate `git fetch` run on the `mothership` using `git
|
||||
push` that is run in the opposite direction in order to integrate
|
||||
the work done on `satellite`, and is often necessary when you can
|
||||
only make connection in one way (i.e. satellite can ssh into
|
||||
mothership but mothership cannot initiate connection to satellite
|
||||
because the latter is behind a firewall or does not run sshd).
|
||||
+
|
||||
After running this `git push` on the `satellite` machine, you would
|
||||
ssh into the `mothership` and run `git merge` there to complete the
|
||||
emulation of `git pull` that were run on `mothership` to pull changes
|
||||
made on `satellite`.
|
||||
|
||||
`git push origin HEAD:master`::
|
||||
Push the current branch to the remote ref matching `master` in the
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Applies a quilt patchset onto the current git branch, preserving
|
||||
Applies a quilt patchset onto the current Git branch, preserving
|
||||
the patch boundaries, patch order, and patch descriptions present
|
||||
in the quilt patchset.
|
||||
|
||||
@ -25,7 +25,7 @@ the patch description is displayed and the user is asked to
|
||||
interactively enter the author of the patch.
|
||||
|
||||
If a subject is not found in the patch description the patch name is
|
||||
preserved as the 1 line subject in the git description.
|
||||
preserved as the 1 line subject in the Git description.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
@ -179,7 +179,7 @@ parameter can be any valid commit-ish.
|
||||
In case of conflict, 'git rebase' will stop at the first problematic commit
|
||||
and leave conflict markers in the tree. You can use 'git diff' to locate
|
||||
the markers (<<<<<<) and make edits to resolve the conflict. For each
|
||||
file you edit, you need to tell git that the conflict has been resolved,
|
||||
file you edit, you need to tell Git that the conflict has been resolved,
|
||||
typically this would be done with
|
||||
|
||||
|
||||
|
@ -38,7 +38,7 @@ The reflog will cover all recent actions (HEAD reflog records branch switching
|
||||
as well). It is an alias for `git log -g --abbrev-commit --pretty=oneline`;
|
||||
see linkgit:git-log[1].
|
||||
|
||||
The reflog is useful in various git commands, to specify the old value
|
||||
The reflog is useful in various Git commands, to specify the old value
|
||||
of a reference. For example, `HEAD@{2}` means "where HEAD used to be
|
||||
two moves ago", `master@{one.week.ago}` means "where master used to
|
||||
point to one week ago", and so on. See linkgit:gitrevisions[7] for
|
||||
|
@ -13,7 +13,7 @@ git remote add <nick> "ext::<command>[ <arguments>...]"
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This remote helper uses the specified '<command>' to connect
|
||||
to a remote git server.
|
||||
to a remote Git server.
|
||||
|
||||
Data written to stdin of the specified '<command>' is assumed
|
||||
to be sent to a git:// server, git-upload-pack, git-receive-pack
|
||||
@ -33,12 +33,12 @@ The following sequences have a special meaning:
|
||||
|
||||
'%s'::
|
||||
Replaced with name (receive-pack, upload-pack, or
|
||||
upload-archive) of the service git wants to invoke.
|
||||
upload-archive) of the service Git wants to invoke.
|
||||
|
||||
'%S'::
|
||||
Replaced with long name (git-receive-pack,
|
||||
git-upload-pack, or git-upload-archive) of the service
|
||||
git wants to invoke.
|
||||
Git wants to invoke.
|
||||
|
||||
'%G' (must be the first characters in an argument)::
|
||||
This argument will not be passed to '<command>'. Instead, it
|
||||
@ -75,7 +75,7 @@ GIT_EXT_SERVICE_NOPREFIX::
|
||||
|
||||
EXAMPLES:
|
||||
---------
|
||||
This remote helper is transparently used by git when
|
||||
This remote helper is transparently used by Git when
|
||||
you use commands such as "git fetch <URL>", "git clone <URL>",
|
||||
, "git push <URL>" or "git remote add <nick> <URL>", where <URL>
|
||||
begins with `ext::`. Examples:
|
||||
@ -86,7 +86,7 @@ begins with `ext::`. Examples:
|
||||
edit .ssh/config.
|
||||
|
||||
"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo"::
|
||||
Represents repository with path /somerepo accessable over
|
||||
Represents repository with path /somerepo accessible over
|
||||
git protocol at abstract namespace address /git-server.
|
||||
|
||||
"ext::git-server-alias foo %G/repo"::
|
||||
@ -100,14 +100,14 @@ begins with `ext::`. Examples:
|
||||
Represents a repository with path /repo accessed using the
|
||||
helper program "git-server-alias foo". The hostname for the
|
||||
remote server passed in the protocol stream will be "foo"
|
||||
(this allows multiple virtual git servers to share a
|
||||
(this allows multiple virtual Git servers to share a
|
||||
link-level address).
|
||||
|
||||
"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"::
|
||||
Represents a repository with path '/repo with spaces' accessed
|
||||
using the helper program "git-server-alias foo". The hostname for
|
||||
the remote server passed in the protocol stream will be "foo"
|
||||
(this allows multiple virtual git servers to share a
|
||||
(this allows multiple virtual Git servers to share a
|
||||
link-level address).
|
||||
|
||||
"ext::git-ssl foo.example /bar"::
|
||||
@ -118,7 +118,7 @@ begins with `ext::`. Examples:
|
||||
|
||||
Documentation
|
||||
--------------
|
||||
Documentation by Ilari Liusvaara, Jonathan Nieder and the git list
|
||||
Documentation by Ilari Liusvaara, Jonathan Nieder and the Git list
|
||||
<git@vger.kernel.org>
|
||||
|
||||
GIT
|
||||
|
@ -11,14 +11,14 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This helper uses specified file descriptors to connect to a remote git server.
|
||||
This helper uses specified file descriptors to connect to a remote Git server.
|
||||
This is not meant for end users but for programs and scripts calling git
|
||||
fetch, push or archive.
|
||||
|
||||
If only <infd> is given, it is assumed to be a bidirectional socket connected
|
||||
to remote git server (git-upload-pack, git-receive-pack or
|
||||
to remote Git server (git-upload-pack, git-receive-pack or
|
||||
git-upload-achive). If both <infd> and <outfd> are given, they are assumed
|
||||
to be pipes connected to a remote git server (<infd> being the inbound pipe
|
||||
to be pipes connected to a remote Git server (<infd> being the inbound pipe
|
||||
and <outfd> being the outbound pipe.
|
||||
|
||||
It is assumed that any handshaking procedures have already been completed
|
||||
@ -52,7 +52,7 @@ EXAMPLES
|
||||
|
||||
Documentation
|
||||
--------------
|
||||
Documentation by Ilari Liusvaara and the git list <git@vger.kernel.org>
|
||||
Documentation by Ilari Liusvaara and the Git list <git@vger.kernel.org>
|
||||
|
||||
GIT
|
||||
---
|
||||
|
9
Documentation/git-remote-helpers.txto
Normal file
9
Documentation/git-remote-helpers.txto
Normal file
@ -0,0 +1,9 @@
|
||||
git-remote-helpers
|
||||
==================
|
||||
|
||||
This document has been moved to linkgit:gitremote-helpers[1].
|
||||
|
||||
Please let the owners of the referring site know so that they can update the
|
||||
link you clicked to get here.
|
||||
|
||||
Thanks.
|
@ -19,11 +19,11 @@ testcase for the remote-helper functionality, and as an example to
|
||||
show remote-helper authors one possible implementation.
|
||||
|
||||
The best way to learn more is to read the comments and source code in
|
||||
'git-remote-testgit.py'.
|
||||
'git-remote-testgit'.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-remote-helpers[1]
|
||||
linkgit:gitremote-helpers[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
|
@ -18,8 +18,8 @@ SYNOPSIS
|
||||
'git remote set-url' [--push] <name> <newurl> [<oldurl>]
|
||||
'git remote set-url --add' [--push] <name> <newurl>
|
||||
'git remote set-url --delete' [--push] <name> <url>
|
||||
'git remote' [-v | --verbose] 'show' [-n] <name>
|
||||
'git remote prune' [-n | --dry-run] <name>
|
||||
'git remote' [-v | --verbose] 'show' [-n] <name>...
|
||||
'git remote prune' [-n | --dry-run] <name>...
|
||||
'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]
|
||||
|
||||
DESCRIPTION
|
||||
|
@ -16,13 +16,13 @@ DESCRIPTION
|
||||
-----------
|
||||
Adds a 'replace' reference in `refs/replace/` namespace.
|
||||
|
||||
The name of the 'replace' reference is the SHA1 of the object that is
|
||||
replaced. The content of the 'replace' reference is the SHA1 of the
|
||||
The name of the 'replace' reference is the SHA-1 of the object that is
|
||||
replaced. The content of the 'replace' reference is the SHA-1 of the
|
||||
replacement object.
|
||||
|
||||
Unless `-f` is given, the 'replace' reference must not yet exist.
|
||||
|
||||
Replacement references will be used by default by all git commands
|
||||
Replacement references will be used by default by all Git commands
|
||||
except those doing reachability traversal (prune, pack transfer and
|
||||
fsck).
|
||||
|
||||
|
@ -8,20 +8,20 @@ git-reset - Reset current HEAD to the specified state
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git reset' [-q] [<commit>] [--] <paths>...
|
||||
'git reset' (--patch | -p) [<commit>] [--] [<paths>...]
|
||||
'git reset' (--soft | --mixed | --hard | --merge | --keep) [-q] [<commit>]
|
||||
'git reset' [-q] [<tree-ish>] [--] <paths>...
|
||||
'git reset' (--patch | -p) [<tree-sh>] [--] [<paths>...]
|
||||
'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
In the first and second form, copy entries from <commit> to the index.
|
||||
In the first and second form, copy entries from <tree-ish> to the index.
|
||||
In the third form, set the current branch head (HEAD) to <commit>, optionally
|
||||
modifying index and working tree to match. The <commit> defaults to HEAD
|
||||
in all forms.
|
||||
modifying index and working tree to match. The <tree-ish>/<commit> defaults
|
||||
to HEAD in all forms.
|
||||
|
||||
'git reset' [-q] [<commit>] [--] <paths>...::
|
||||
'git reset' [-q] [<tree-ish>] [--] <paths>...::
|
||||
This form resets the index entries for all <paths> to their
|
||||
state at <commit>. (It does not affect the working tree, nor
|
||||
state at <tree-ish>. (It does not affect the working tree, nor
|
||||
the current branch.)
|
||||
+
|
||||
This means that `git reset <paths>` is the opposite of `git add
|
||||
@ -34,20 +34,20 @@ Alternatively, using linkgit:git-checkout[1] and specifying a commit, you
|
||||
can copy the contents of a path out of a commit to the index and to the
|
||||
working tree in one go.
|
||||
|
||||
'git reset' (--patch | -p) [<commit>] [--] [<paths>...]::
|
||||
'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]::
|
||||
Interactively select hunks in the difference between the index
|
||||
and <commit> (defaults to HEAD). The chosen hunks are applied
|
||||
and <tree-ish> (defaults to HEAD). The chosen hunks are applied
|
||||
in reverse to the index.
|
||||
+
|
||||
This means that `git reset -p` is the opposite of `git add -p`, i.e.
|
||||
you can use it to selectively reset hunks. See the ``Interactive Mode''
|
||||
section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
|
||||
|
||||
'git reset' --<mode> [<commit>]::
|
||||
'git reset' [<mode>] [<commit>]::
|
||||
This form resets the current branch head to <commit> and
|
||||
possibly updates the index (resetting it to the tree of <commit>) and
|
||||
the working tree depending on <mode>, which
|
||||
must be one of the following:
|
||||
the working tree depending on <mode>. If <mode> is omitted,
|
||||
defaults to "--mixed". The <mode> must be one of the following:
|
||||
+
|
||||
--
|
||||
--soft::
|
||||
|
@ -99,7 +99,7 @@ between the two operands. The following two commands are equivalent:
|
||||
$ git rev-list A...B
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
'rev-list' is a very essential git command, since it
|
||||
'rev-list' is a very essential Git command, since it
|
||||
provides the ability to build and traverse commit ancestry graphs. For
|
||||
this reason, it has a lot of different options that enables it to be
|
||||
used by commands as different as 'git bisect' and
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Many git porcelainish commands take mixture of flags
|
||||
Many Git porcelainish commands take mixture of flags
|
||||
(i.e. parameters that begin with a dash '-') and parameters
|
||||
meant for the underlying 'git rev-list' command they use internally
|
||||
and flags and parameters for the other commands they use
|
||||
@ -60,8 +60,19 @@ OPTIONS
|
||||
instead.
|
||||
|
||||
--verify::
|
||||
The parameter given must be usable as a single, valid
|
||||
object name. Otherwise barf and abort.
|
||||
Verify that exactly one parameter is provided, and that it
|
||||
can be turned into a raw 20-byte SHA-1 that can be used to
|
||||
access the object database. If so, emit it to the standard
|
||||
output; otherwise, error out.
|
||||
+
|
||||
If you want to make sure that the output actually names an object in
|
||||
your object database and/or can be used as a specific type of object
|
||||
you require, you can add "^{type}" peeling operator to the parmeter.
|
||||
For example, `git rev-parse "$VAR^{commit}"` will make sure `$VAR`
|
||||
names an existing object that is a commit-ish (i.e. a commit, or an
|
||||
annotated tag that points at a commit). To make sure that `$VAR`
|
||||
names an existing object of any type, `git rev-parse "$VAR^{object}"`
|
||||
can be used.
|
||||
|
||||
-q::
|
||||
--quiet::
|
||||
@ -84,7 +95,7 @@ OPTIONS
|
||||
one.
|
||||
|
||||
--symbolic::
|
||||
Usually the object names are output in SHA1 form (with
|
||||
Usually the object names are output in SHA-1 form (with
|
||||
possible '{caret}' prefix); this option makes them output in a
|
||||
form as close to the original input as possible.
|
||||
|
||||
@ -147,7 +158,7 @@ shown. If the pattern does not contain a globbing character (`?`,
|
||||
relative to the current working directory.
|
||||
+
|
||||
If `$GIT_DIR` is not defined and the current directory
|
||||
is not detected to lie in a git repository or work tree
|
||||
is not detected to lie in a Git repository or work tree
|
||||
print a message to stderr and exit with nonzero status.
|
||||
|
||||
--is-inside-git-dir::
|
||||
@ -169,7 +180,7 @@ print a message to stderr and exit with nonzero status.
|
||||
|
||||
--short::
|
||||
--short=number::
|
||||
Instead of outputting the full SHA1 values of object names try to
|
||||
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.
|
||||
|
||||
@ -187,9 +198,11 @@ print a message to stderr and exit with nonzero status.
|
||||
Flags and parameters to be parsed.
|
||||
|
||||
--resolve-git-dir <path>::
|
||||
Check if <path> is a valid git-dir or a git-file pointing to a valid
|
||||
git-dir. If <path> is a valid git-dir the resolved path to git-dir will
|
||||
be printed.
|
||||
Check if <path> is a valid repository or a gitfile that
|
||||
points at a valid repository, and print the location of the
|
||||
repository. If <path> is a gitfile then the resolved path
|
||||
to the real repository is printed.
|
||||
|
||||
|
||||
include::revisions.txt[]
|
||||
|
||||
@ -306,12 +319,12 @@ $ git rev-parse --verify HEAD
|
||||
* Print the commit object name from the revision in the $REV shell variable:
|
||||
+
|
||||
------------
|
||||
$ git rev-parse --verify $REV
|
||||
$ git rev-parse --verify $REV^{commit}
|
||||
------------
|
||||
+
|
||||
This will error out if $REV is empty or not a valid revision.
|
||||
|
||||
* Same as above:
|
||||
* Similar to above:
|
||||
+
|
||||
------------
|
||||
$ git rev-parse --default master --verify $REV
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user