Compare commits
1871 Commits
Author | SHA1 | Date | |
---|---|---|---|
5addd1c753 | |||
90360c710c | |||
29b2f0565a | |||
d2db8f78c4 | |||
1f101bf650 | |||
1b790212ef | |||
8ca36db013 | |||
531c8dd4fb | |||
81a199bb1c | |||
4efd16543f | |||
213d25648a | |||
ac5611a1cc | |||
a256a58081 | |||
8dbc03933d | |||
0bdae5ff7d | |||
e9fee67fac | |||
250ee16c14 | |||
15afe9596c | |||
c9d9a2d6b6 | |||
897175f107 | |||
4b0d73f33d | |||
318e758f32 | |||
b3bf469bf8 | |||
dfc6b040d0 | |||
f59bebb78e | |||
62e91efafd | |||
f66d000b0d | |||
296fa99334 | |||
43d11f4492 | |||
c6c4250eb6 | |||
91863750cd | |||
5a87e92232 | |||
5155c7f37a | |||
3a461832c5 | |||
94b540479a | |||
6653aa9ecd | |||
e2652c0bcf | |||
88f90f8286 | |||
6be17ec582 | |||
c9cae1e28a | |||
f79467ef36 | |||
fc78791b7c | |||
1ec379fff8 | |||
ee1a1ddf38 | |||
872f5bfb08 | |||
a0bf40ddc9 | |||
81de16a5d5 | |||
7f3447cce8 | |||
0fb2c97c20 | |||
11fbc0b1e1 | |||
c0add3073a | |||
212eb96a96 | |||
b4dc085a8d | |||
9f48f2bd9a | |||
bed9470489 | |||
4cb46bddeb | |||
f07075c297 | |||
a94cf2cb7e | |||
74671241fd | |||
f2b4626d9e | |||
b3b8ceb48b | |||
3ea59412e8 | |||
362de916c0 | |||
a45406585b | |||
b1c418e155 | |||
fd50030209 | |||
467b8fe1bb | |||
26f8f32a20 | |||
ca7a5dcfd3 | |||
706728a37c | |||
14952666d1 | |||
4b45bcf7b1 | |||
dd29f0b4dc | |||
da18759e86 | |||
d6ee44568c | |||
5e3ee39df2 | |||
f445500e4d | |||
c8d1351deb | |||
5bc3f0b567 | |||
276b22d333 | |||
a758a3499f | |||
4b8f772ce4 | |||
c4aa3167fe | |||
582eb8536b | |||
5adcf2c699 | |||
c3c327deea | |||
b79c0c3755 | |||
305ebea06d | |||
0f075b2208 | |||
7b2ecd8108 | |||
fada522129 | |||
a717d9e1d3 | |||
32eaf1de7f | |||
35ee69c0f6 | |||
1306321ebe | |||
b1d04bfcf8 | |||
25206778aa | |||
46ec510ac0 | |||
6035d6aad8 | |||
edca415256 | |||
4c32e361f6 | |||
90d32d1ffa | |||
17bf4ff3cd | |||
d0583da838 | |||
be4c828b76 | |||
5e49f30c85 | |||
92c4369907 | |||
737044517f | |||
6912ea952b | |||
9134a460e3 | |||
b3d6e6e707 | |||
f4f4c7fc00 | |||
7d82b4af1c | |||
eff714bdda | |||
5dbe064d8c | |||
61067954ce | |||
4dcd7732db | |||
de3a5c6da1 | |||
680ed3eeb6 | |||
8639f3e49f | |||
6c642a8786 | |||
0460ed2c93 | |||
e86d0a37b4 | |||
1f197a1de4 | |||
31eb360b43 | |||
a70ae5873d | |||
66fa1b2c35 | |||
9aa66a040f | |||
629b60a77d | |||
84cf246670 | |||
3244eb9b5a | |||
a765499a08 | |||
4f4e7e9b62 | |||
0c2b1cf812 | |||
24317ef32a | |||
9ed920a680 | |||
06f4213355 | |||
637333673a | |||
760ee1c70a | |||
679e87c02b | |||
557399e9bd | |||
eb7976e7dd | |||
aac385717a | |||
6a3ac18ba3 | |||
ab84621754 | |||
f659031c1c | |||
f74455ab21 | |||
76bf6ff93e | |||
c33cb9083e | |||
5e2c7cd2c1 | |||
8d97506e4b | |||
9249175291 | |||
29de20504e | |||
0781aa4766 | |||
8f3ff9339f | |||
2c8cd905d1 | |||
685316c419 | |||
39c126914b | |||
48bc1755b6 | |||
b387c77b12 | |||
92758dd2a2 | |||
faf8fde514 | |||
7c0b0d8dea | |||
07e03d4665 | |||
ea2d20d4c2 | |||
56ee96572a | |||
71a19a3744 | |||
abdb9b2e4f | |||
e2161bc385 | |||
b120ef3eac | |||
a7b102302a | |||
d301f18160 | |||
e234ac9d47 | |||
f3f8af0e54 | |||
e56181060e | |||
9b795193a6 | |||
0df860383e | |||
435f39a3e8 | |||
3b892dc828 | |||
4dcdc3d8cc | |||
a09ab03a5b | |||
6f4dd60d07 | |||
423ecb0bb6 | |||
94883b4302 | |||
bba5367183 | |||
4c00819910 | |||
081811216e | |||
2be2eb970c | |||
b056620f6f | |||
7d3ccdffb5 | |||
7c2e8fc684 | |||
1c937682c2 | |||
571cdfd4e0 | |||
49010c354f | |||
6606a69f45 | |||
9a3e36cd67 | |||
71d5f93891 | |||
de0977d528 | |||
e7a3c902a6 | |||
c7e2be6e88 | |||
d9291ecf4f | |||
c259a1a927 | |||
b9347eb224 | |||
3212d56ce5 | |||
674c502f52 | |||
efc90c7810 | |||
d421c02b41 | |||
747c9a377f | |||
38cecbdf52 | |||
a397699950 | |||
248663c4ff | |||
850dd25c9a | |||
3f6e7c0af1 | |||
c95c35f4b8 | |||
42b48ef25d | |||
95b0c60831 | |||
5df4fad319 | |||
b25df87fad | |||
38e7167e9b | |||
f38dfc4c32 | |||
715d64fe99 | |||
aa12a431f3 | |||
1816620800 | |||
c80f4c7763 | |||
756a042600 | |||
cc7ca63c04 | |||
c6bc7d435b | |||
7e6a0cc47d | |||
72f7507710 | |||
01449e314f | |||
8301b976ed | |||
4911589bd1 | |||
1ca6d4bc42 | |||
a05490edbf | |||
2651baaea9 | |||
de7c201a10 | |||
eafc2dd59f | |||
af04fa2a78 | |||
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 | |||
229177aaea | |||
41c21f22d0 | |||
983b17d4bb | |||
88a9f72fe0 | |||
9c9cd39a0c | |||
fa83a33b22 | |||
ec2764ee8f | |||
399e4a1c56 | |||
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 | |||
4698c8feb1 | |||
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 | |||
252c52df9d | |||
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 | |||
c527acebc2 | |||
55d9bf0aa8 | |||
c19387e799 | |||
9148673377 | |||
ae6ef554c8 | |||
6c26bf4d4e | |||
46fbf75364 | |||
6866654627 | |||
a24a41ea9a | |||
5b012c80a1 | |||
67dabab058 | |||
2afd3ef728 | |||
1415174ad5 | |||
63af42fe30 | |||
235537a07e | |||
20a599e2c1 | |||
48050fbe15 | |||
ce209d0c72 | |||
31e6a4e613 | |||
50995edda6 | |||
4cb8a83bb8 | |||
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 | |||
b141a47801 | |||
081fd8d093 | |||
04deccda11 | |||
c082196575 | |||
c787a45452 | |||
aa3982890f | |||
e1ebf21237 | |||
271cd23527 | |||
d272c8497c | |||
2a9ccfff55 | |||
48c9162857 | |||
75f7b5dfc4 | |||
68868ff573 | |||
b3310b5e2f | |||
4dd7c77d19 | |||
ecf6778e8e | |||
d03d820a8c | |||
d931e2fb25 | |||
1d321b5ab3 | |||
59cf706b23 | |||
1bbe7c3c12 | |||
d4c6552719 | |||
cad5d26909 | |||
0bdaa12169 | |||
1986768f9c | |||
4c06b41888 | |||
07432cef2c | |||
9798f7e5f9 | |||
a923c314aa | |||
c86223b272 | |||
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 | |||
c6929ff239 | |||
d8cf908cb6 | |||
afcb6ac83d | |||
7766705198 | |||
f35ec54600 | |||
665682c9fd | |||
17a1f1c5b7 | |||
fc1c5415d6 | |||
81ed7b9581 | |||
bd4a3d6168 | |||
939296c4a4 | |||
afeef30c34 | |||
7a7d05b62e | |||
19b4d3d4ff | |||
0859c969db | |||
2de9b71138 | |||
48a8c26c62 | |||
bcd45b4085 | |||
d3c0f7773f | |||
4acfff9dda | |||
97fbc23ad7 | |||
a14daf8b91 | |||
67d9c41c4a | |||
51a1d232a7 | |||
d8dc823e32 | |||
ba96aa67be | |||
2532d891a4 | |||
a617578d37 | |||
fa23348e95 | |||
d040350813 | |||
de90ff81f3 | |||
4c9a418227 | |||
9a6c84e6e9 | |||
9ef43dd7ad | |||
ae6037bc71 | |||
045e3884bc | |||
35484d4acd | |||
43722c4d9e | |||
640d0401be | |||
070c57df42 | |||
7b5196909c | |||
b596574ed3 | |||
a8b38d9571 | |||
5338a6a924 | |||
80ff2b68f2 | |||
3f1da57fff | |||
073678b8e6 | |||
574855814f | |||
08c0e7fd4a | |||
0fdd7f5d73 | |||
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 | |||
be5c9fb904 | |||
dd0d388c44 | |||
200ebe362c | |||
50a6b54c03 | |||
3587b513ba | |||
9ecd9f5dc3 | |||
bb9aa109fd | |||
abaf175cdf | |||
62b6f7e021 | |||
26daa842dc | |||
4a8273a3ed | |||
b4cf8db275 | |||
7746f2e319 | |||
bbb80494e0 | |||
46bc4039a9 | |||
f9640ac26c | |||
d04c94a2ea | |||
0846b0c905 | |||
cadbf5c7ed | |||
62c814b6b6 | |||
fadf8c7151 | |||
75e5c0dc55 | |||
0f4d498dbe | |||
5ece083fc7 | |||
8b66f7857d | |||
bc93ceb7c5 | |||
1b67bef256 | |||
bb9a69694f | |||
86db746449 | |||
a39b15b4f6 | |||
f12e49ae87 | |||
fa2f83c654 | |||
d82dd26964 | |||
a29e711814 | |||
6a3d05da55 | |||
f55cb042bd | |||
b3873c336c | |||
4d5c6cefd5 | |||
6bfe19ee16 | |||
9edbb8b1c1 | |||
07fd82d3a7 | |||
0a5987fe5e | |||
d731f0ade1 | |||
785a042981 | |||
1b86bbb0ad | |||
ec3ae6ec46 | |||
9591fcc6d6 | |||
c4ada6283e | |||
772f811398 | |||
9a9f243f64 | |||
c08e4d5b5c | |||
801cbd7c71 | |||
864b5c41e4 | |||
9a69ef1e70 | |||
aa0ae51048 | |||
51c6de2bab | |||
68434e2879 | |||
e9abef6289 | |||
0b0ecaac2a | |||
4db86e8b6e | |||
fe73786b48 | |||
57a011197e | |||
a8033dfa6e | |||
28f04f3463 | |||
577f63e781 | |||
29cf0d3873 | |||
a894ba17e6 | |||
cc3046271d | |||
cbbe50db76 | |||
02f55e660c | |||
bbc6f64b4e | |||
264238f7bd | |||
55599ac104 | |||
3a39fa750d | |||
3ab4c543e3 | |||
7829253684 | |||
bd2734ae0d | |||
e928b70f89 | |||
3a1bba7e38 | |||
87c86dd14a | |||
ec55559f93 | |||
2934a484fd | |||
9012f571b4 | |||
47263f5875 | |||
4b7f53da76 | |||
7811aabbe7 | |||
256b9d70a4 | |||
bf44142f54 | |||
eff80a9fd9 | |||
5ded807f7c | |||
c971ddfdcd | |||
72aeb18772 | |||
07924d4d50 | |||
07ab4dec80 | |||
3691031cb3 | |||
636fd66bc1 | |||
9a08cbb7cd | |||
fe47e1df24 | |||
c197454da6 | |||
3648b4d996 | |||
15f4ad19d6 | |||
81b38947c1 | |||
1efee7ffce | |||
e6de375139 | |||
2fbd211746 | |||
75b24bdf3c | |||
cbc607614d | |||
719125c522 | |||
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 | |||
216120ab83 | |||
8a692d2777 | |||
5a7da2dca1 | |||
f538a91e3c | |||
eacf011775 | |||
77d07f51df | |||
90d0b8a9f0 | |||
6f3f710127 | |||
e43171a4a7 | |||
0a9a787fca | |||
94383a8135 | |||
cdbada79f2 | |||
94702dd1ac | |||
a96e8078a9 | |||
79637a44f7 | |||
d9f85f50ca | |||
bf3f167d65 | |||
1eba20c045 | |||
edb6ad5b0a | |||
c566ea13fd | |||
98294e9875 | |||
06fb494474 | |||
3f4f4cc0da | |||
fea16b47b6 | |||
cfb70e1fa5 | |||
682c7d2f1a | |||
4dcb167fc3 | |||
95b63f1ebb | |||
6f53feac95 | |||
a27d83aee9 | |||
99621af877 | |||
5f35dfef25 | |||
52f6eec305 | |||
f12f3af726 | |||
63d1cf6526 | |||
d912b0e44f | |||
20e47e50a1 | |||
2adf7247ec | |||
4249d850cf | |||
6a37cee10a | |||
377bf8df26 | |||
cf6c52fce8 | |||
df874fa82e | |||
e6bb5f78fb | |||
d72fbe8111 | |||
d20743433e | |||
ea57bc0d41 | |||
dffd325f37 | |||
0e2913b042 | |||
ea02ffa385 | |||
388c7f8a27 | |||
51fb3a3dfa | |||
44fe83502e | |||
2cd14f6908 | |||
3a2ce79981 | |||
7f27ac56a5 | |||
ea12a7d696 | |||
a70472f4d6 | |||
85ab3431e6 | |||
fd6db678a1 | |||
85f2697048 | |||
48b7f52455 | |||
00f1a867b4 | |||
414c78ccff | |||
69637e5e6d | |||
8d1b1a0249 | |||
f4de0de8d5 | |||
b4239f02be | |||
15f1f9a6eb | |||
572b528217 | |||
7e7d71e7ce | |||
2fa3335a26 | |||
6293ded348 | |||
3c020bd528 | |||
8dd5afc926 | |||
12a097fc42 | |||
2d0029e38f | |||
1fd365d5ef | |||
4f43e9726a | |||
1965f8cdbd | |||
368aa52952 | |||
1794e6e097 | |||
512aaf9453 | |||
9d67b61f73 | |||
4b78d7bccd | |||
6f525e7100 | |||
f8a1113b47 | |||
52ed1894b0 | |||
270be81604 | |||
c04318e46a | |||
c082df2453 | |||
6af95e8cbe | |||
32238aeb73 | |||
902f2f4f0a | |||
971e829cd8 | |||
29fb151525 | |||
946a5aee3e | |||
d2638e1561 | |||
f7b3652bc9 | |||
3a3100a889 | |||
245d6d0064 | |||
9a2c83d24c | |||
76523cac26 | |||
be7baf913a | |||
990a4fea96 | |||
d65d991b65 | |||
e9326df9b1 | |||
e2a83b21d1 | |||
a1c54d7b8d | |||
ae74f7d289 | |||
43eb920210 | |||
f3258d3d95 | |||
93912fdd5e | |||
0a42ac0331 | |||
f10b7fcca6 | |||
2f9ae5fc44 | |||
7952ea66e7 | |||
e1b6dbb554 | |||
3e293fba62 | |||
894610af58 | |||
b81827b6b6 | |||
6fedcd8188 | |||
fbe8aa792b | |||
d5b95853c2 | |||
5f07937329 | |||
8cabd200d2 | |||
324dfac8c9 | |||
0266f4688c | |||
cd46f2e59d | |||
5ee29aefac | |||
20b630aae9 | |||
e216cc48da | |||
4b5553b5f3 | |||
073c3ffa58 | |||
570e7ecd4a | |||
7edea5c958 | |||
bdeeb809d7 | |||
77b71edfb5 | |||
c7ce70ace9 | |||
4aad08e061 | |||
298caa7e9e | |||
8f98074c6a | |||
2e3c1f7a31 | |||
71288e15df | |||
b05d8c62d3 | |||
f97335b132 | |||
229096a591 | |||
77a5efb4eb | |||
4b32367ddc | |||
77ecfd02de | |||
9316f910f7 | |||
3fce9a1edd | |||
3792a75604 | |||
f470e901f2 | |||
386befb773 | |||
cebcab189a | |||
6f1a31f0aa | |||
46983441ae | |||
1b25892636 | |||
c41244e702 | |||
b6a3d3353f | |||
0c528168da | |||
889316d252 | |||
9b3497cab9 | |||
3a078dec33 | |||
a5ba2cbe14 | |||
d34835c939 | |||
d809fb17b0 | |||
f619881251 | |||
a35341a86e | |||
f4cd69a674 | |||
578cd7c3ea | |||
6d24e7a807 | |||
0795805053 | |||
9013089c4a | |||
840fc334e9 | |||
95a68344af | |||
f1a7082f2a | |||
a33faf2827 | |||
950b5680bd | |||
5fe10fe80a | |||
d28b5d47ab | |||
38ec23ac89 | |||
021f2f4c1a | |||
68cb7b6f85 | |||
ce37596c13 | |||
25a751f198 | |||
b73d9a2363 | |||
5ebf89e886 | |||
565b6fa87b | |||
0a6d4751da | |||
b8fc855a78 | |||
e8e5195573 | |||
686b2de0ce | |||
40036bedb9 | |||
9dacffc040 | |||
b2d05e0653 | |||
823ab40fd4 | |||
b928922727 | |||
06b1abb5bd | |||
1a59d881de | |||
96a4647fca | |||
8f26aa44af | |||
30825178fb | |||
2581ad5e85 | |||
5e5c006eb7 | |||
d5d80e12bd | |||
a469a10193 | |||
e208f9cc75 | |||
b3e103dabe | |||
110d698546 | |||
6ede720529 | |||
adec972e52 | |||
8c473cecfd | |||
d5422b0c0b | |||
938a60d64f | |||
086109006f | |||
7c8ce308d3 | |||
88ce00c378 | |||
828eff76b0 | |||
eacdd428bc | |||
941c1e0402 | |||
bd6f62c3ff | |||
0684371844 | |||
341bf11245 | |||
1735814128 | |||
76095f6d60 | |||
f28e7c904a | |||
49266e8a11 | |||
b450568209 | |||
1184564eac | |||
a272b2896d | |||
80054cf9d5 | |||
40eff17999 | |||
dbfeddb12e | |||
8c5f6f717d | |||
ffe81ef2ac | |||
b24e6047a8 | |||
10643d4ec3 | |||
118a68f9dd | |||
3c64063558 | |||
f035ab6205 | |||
9ff10fc869 | |||
2d242de4fd | |||
1d3f9a3093 | |||
93b5cf9cd1 | |||
ee10fbf90c | |||
3808b8515b | |||
0803d35940 | |||
984f37681c | |||
fc407f9821 | |||
d0ac3ffd9d | |||
5c17f51270 | |||
5d34a4359d | |||
dc2177c21c | |||
f04977168f | |||
bee118ec04 | |||
6360bee4cd | |||
3a34e62684 | |||
32a8569ecf | |||
37141f27d8 | |||
5963c0367f | |||
c904cd89e4 | |||
8c6abbcd27 | |||
5d74762d87 | |||
24a1ea5360 | |||
3b705268f5 | |||
5d3698ffb4 | |||
ef49841ddf | |||
170260ae90 | |||
6c32332268 | |||
c0d92c2221 | |||
978904bf16 | |||
ce837c9de5 | |||
62e9ac5edf | |||
ebb91db8df | |||
69ecfcd6eb | |||
96bc8f66f9 | |||
aa7aab3b0b | |||
61717661e6 | |||
d66e8f8cf3 | |||
bfdafa099e | |||
eb5dcb2c02 | |||
658b57ad52 | |||
51a7e6dbc9 | |||
1899cbc5b2 | |||
2c3af7e748 | |||
237ec6e40d | |||
4c251e5cb5 | |||
40bbee0ab0 | |||
164bf83af6 | |||
9b4edc0a49 | |||
3ae5396cf7 | |||
f1cf7b7983 | |||
feabcc173b | |||
327f2f3ebb | |||
b0e0287626 | |||
5230f605e1 | |||
1c149ab2dd | |||
ca5ab7d1e8 | |||
e481af06be | |||
f062e50fe6 | |||
30441a6f2d | |||
c46149942a | |||
b967135d89 | |||
3d1aa56671 | |||
aebbcf5797 |
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,7 +1,6 @@
|
|||||||
/GIT-BUILD-OPTIONS
|
/GIT-BUILD-OPTIONS
|
||||||
/GIT-CFLAGS
|
/GIT-CFLAGS
|
||||||
/GIT-LDFLAGS
|
/GIT-LDFLAGS
|
||||||
/GIT-GUI-VARS
|
|
||||||
/GIT-PREFIX
|
/GIT-PREFIX
|
||||||
/GIT-PYTHON-VARS
|
/GIT-PYTHON-VARS
|
||||||
/GIT-SCRIPT-DEFINES
|
/GIT-SCRIPT-DEFINES
|
||||||
@ -23,6 +22,7 @@
|
|||||||
/git-bundle
|
/git-bundle
|
||||||
/git-cat-file
|
/git-cat-file
|
||||||
/git-check-attr
|
/git-check-attr
|
||||||
|
/git-check-ignore
|
||||||
/git-check-ref-format
|
/git-check-ref-format
|
||||||
/git-checkout
|
/git-checkout
|
||||||
/git-checkout-index
|
/git-checkout-index
|
||||||
@ -125,7 +125,7 @@
|
|||||||
/git-remote-ftps
|
/git-remote-ftps
|
||||||
/git-remote-fd
|
/git-remote-fd
|
||||||
/git-remote-ext
|
/git-remote-ext
|
||||||
/git-remote-testgit
|
/git-remote-testpy
|
||||||
/git-remote-testsvn
|
/git-remote-testsvn
|
||||||
/git-repack
|
/git-repack
|
||||||
/git-replace
|
/git-replace
|
||||||
@ -172,7 +172,6 @@
|
|||||||
/git-whatchanged
|
/git-whatchanged
|
||||||
/git-write-tree
|
/git-write-tree
|
||||||
/git-core-*/?*
|
/git-core-*/?*
|
||||||
/gitk-git/gitk-wish
|
|
||||||
/gitweb/GITWEB-BUILD-OPTIONS
|
/gitweb/GITWEB-BUILD-OPTIONS
|
||||||
/gitweb/gitweb.cgi
|
/gitweb/gitweb.cgi
|
||||||
/gitweb/static/gitweb.js
|
/gitweb/static/gitweb.js
|
||||||
@ -199,6 +198,7 @@
|
|||||||
/test-string-list
|
/test-string-list
|
||||||
/test-subprocess
|
/test-subprocess
|
||||||
/test-svn-fe
|
/test-svn-fe
|
||||||
|
/test-wildmatch
|
||||||
/common-cmds.h
|
/common-cmds.h
|
||||||
*.tar.gz
|
*.tar.gz
|
||||||
*.dsc
|
*.dsc
|
||||||
|
1
.mailmap
1
.mailmap
@ -73,6 +73,7 @@ Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
|
|||||||
<nico@fluxnic.net> <nico@cam.org>
|
<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@svarten.intern.softwolves.pp.se>
|
||||||
Peter Krefting <peter@softwolves.pp.se> <peter@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>
|
Philippe Bruhat <book@cpan.org>
|
||||||
Ralf Thielow <ralf.thielow@gmail.com> <ralf.thielow@googlemail.com>
|
Ralf Thielow <ralf.thielow@gmail.com> <ralf.thielow@googlemail.com>
|
||||||
Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
|
Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
|
||||||
|
1
Documentation/.gitignore
vendored
1
Documentation/.gitignore
vendored
@ -9,4 +9,5 @@ gitman.info
|
|||||||
howto-index.txt
|
howto-index.txt
|
||||||
doc.dep
|
doc.dep
|
||||||
cmds-*.txt
|
cmds-*.txt
|
||||||
|
mergetools-*.txt
|
||||||
manpage-base-url.xsl
|
manpage-base-url.xsl
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Like other projects, we also have some guidelines to keep to the
|
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
|
- Most importantly, we never say "It's in POSIX; we'll happily
|
||||||
ignore your needs should your system not conform to it."
|
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
|
judgement call, the decision based more on real world
|
||||||
constraints people face than what the paper standard says.
|
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
|
As for more concrete guidelines, just imitate the existing code
|
||||||
(this is a good guideline, no matter which project you are
|
(this is a good guideline, no matter which project you are
|
||||||
contributing to). It is always preferable to match the _local_
|
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
|
the overall style of existing code. Modifications to existing
|
||||||
code is expected to match the style the surrounding code already
|
code is expected to match the style the surrounding code already
|
||||||
uses (even if it doesn't match the overall style of existing code).
|
uses (even if it doesn't match the overall style of existing code).
|
||||||
@ -112,7 +113,7 @@ For C programs:
|
|||||||
|
|
||||||
- We try to keep to at most 80 characters per line.
|
- 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,
|
- 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
|
including old ones. That means that you should not use C99
|
||||||
initializers, even if a lot of compilers grok it.
|
initializers, even if a lot of compilers grok it.
|
||||||
|
|
||||||
@ -164,14 +165,14 @@ For C programs:
|
|||||||
|
|
||||||
- If you are planning a new command, consider writing it in shell
|
- If you are planning a new command, consider writing it in shell
|
||||||
or perl first, so that changes in semantics can be easily
|
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.
|
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
|
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
|
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
|
- When we pass <string, length> pair to functions, we should try to
|
||||||
pass them in that order.
|
pass them in that order.
|
||||||
@ -179,8 +180,68 @@ For C programs:
|
|||||||
- Use Git's gettext wrappers to make the user interface
|
- Use Git's gettext wrappers to make the user interface
|
||||||
translatable. See "Marking strings for translation" in po/README.
|
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:
|
Writing Documentation:
|
||||||
|
|
||||||
|
Most (if not all) of the documentation pages are written in the
|
||||||
|
AsciiDoc format in *.txt files (e.g. Documentation/git.txt), and
|
||||||
|
processed into HTML and manpages (e.g. git.html and git.1 in the
|
||||||
|
same directory).
|
||||||
|
|
||||||
Every user-visible change should be reflected in the documentation.
|
Every user-visible change should be reflected in the documentation.
|
||||||
The same general rule as for code applies -- imitate the existing
|
The same general rule as for code applies -- imitate the existing
|
||||||
conventions. A few commented examples follow to provide reference
|
conventions. A few commented examples follow to provide reference
|
||||||
@ -230,3 +291,8 @@ Writing Documentation:
|
|||||||
valid usage. "*" has its own pair of brackets, because it can
|
valid usage. "*" has its own pair of brackets, because it can
|
||||||
(optionally) be specified only when one or more of the letters is
|
(optionally) be specified only when one or more of the letters is
|
||||||
also provided.
|
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= \
|
# Guard against environment variables
|
||||||
$(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
|
MAN1_TXT =
|
||||||
$(wildcard git-*.txt)) \
|
MAN5_TXT =
|
||||||
gitk.txt gitweb.txt git.txt
|
MAN7_TXT =
|
||||||
MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt \
|
|
||||||
gitrepository-layout.txt gitweb.conf.txt
|
MAN1_TXT += $(filter-out \
|
||||||
MAN7_TXT=gitcli.txt gittutorial.txt gittutorial-2.txt \
|
$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
|
||||||
gitcvs-migration.txt gitcore-tutorial.txt gitglossary.txt \
|
$(wildcard git-*.txt))
|
||||||
gitdiffcore.txt gitnamespaces.txt gitrevisions.txt gitworkflows.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 += 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_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)
|
||||||
MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT))
|
MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT))
|
||||||
MAN_HTML=$(patsubst %.txt,%.html,$(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 = howto-index
|
||||||
ARTICLES += everyday
|
ARTICLES += everyday
|
||||||
@ -222,7 +244,11 @@ install-html: html
|
|||||||
#
|
#
|
||||||
# Determine "include::" file references in asciidoc files.
|
# 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) $@+ $@ && \
|
$(QUIET_GEN)$(RM) $@+ $@ && \
|
||||||
$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
|
$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
@ -246,13 +272,27 @@ cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
|
|||||||
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
|
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
|
||||||
date >$@
|
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:
|
clean:
|
||||||
$(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
|
$(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7
|
||||||
$(RM) *.texi *.texi+ *.texi++ git.info gitman.info
|
$(RM) *.texi *.texi+ *.texi++ git.info gitman.info
|
||||||
$(RM) *.pdf
|
$(RM) *.pdf
|
||||||
$(RM) howto-index.txt howto/*.html doc.dep
|
$(RM) howto-index.txt howto/*.html doc.dep
|
||||||
$(RM) technical/*.html technical/api-index.txt
|
$(RM) technical/*.html technical/api-index.txt
|
||||||
$(RM) $(cmds_txt) *.made
|
$(RM) $(cmds_txt) $(mergetools_txt) *.made
|
||||||
$(RM) manpage-base-url.xsl
|
$(RM) manpage-base-url.xsl
|
||||||
|
|
||||||
$(MAN_HTML): %.html : %.txt asciidoc.conf
|
$(MAN_HTML): %.html : %.txt asciidoc.conf
|
||||||
@ -261,6 +301,12 @@ $(MAN_HTML): %.html : %.txt asciidoc.conf
|
|||||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||||
mv $@+ $@
|
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
|
manpage-base-url.xsl: manpage-base-url.xsl.in
|
||||||
sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
|
sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@
|
||||||
|
|
||||||
@ -346,8 +392,8 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
|
|||||||
install-webdoc : html
|
install-webdoc : html
|
||||||
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
|
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
|
||||||
|
|
||||||
# You must have a clone of git-htmldocs and git-manpages repositories
|
# You must have a clone of 'git-htmldocs' and 'git-manpages' repositories
|
||||||
# next to the git repository itself for the following to work.
|
# next to the 'git' repository itself for the following to work.
|
||||||
|
|
||||||
quick-install: quick-install-man
|
quick-install: quick-install-man
|
||||||
|
|
||||||
|
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.
|
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.
|
19
Documentation/RelNotes/1.8.2.3.txt
Normal file
19
Documentation/RelNotes/1.8.2.3.txt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Git v1.8.2.3 Release Notes
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Fixes since v1.8.2.2
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* "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.
|
||||||
|
|
||||||
|
* When "git difftool" drove "kdiff3", it mistakenly passed --auto
|
||||||
|
option that was meant while resolving merge conflicts.
|
||||||
|
|
||||||
|
* "git remote add" command did not diagnose extra command line
|
||||||
|
arguments as an error and silently ignored them.
|
||||||
|
|
||||||
|
Also contains a handful of trivial code clean-ups, documentation
|
||||||
|
updates, updates to the test suite, etc.
|
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).
|
14
Documentation/RelNotes/1.8.3.1.txt
Normal file
14
Documentation/RelNotes/1.8.3.1.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Git v1.8.3.1 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v1.8.3
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* When $HOME is misconfigured to point at an unreadable directory, we
|
||||||
|
used to complain and die. The check has been loosened.
|
||||||
|
|
||||||
|
* Handling of negative exclude pattern for directories "!dir" was
|
||||||
|
broken in the update to v1.8.3.
|
||||||
|
|
||||||
|
Also contains a handful of trivial code clean-ups, documentation
|
||||||
|
updates, updates to the test suite, etc.
|
59
Documentation/RelNotes/1.8.3.2.txt
Normal file
59
Documentation/RelNotes/1.8.3.2.txt
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
Git v1.8.3.2 Release Notes
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Fixes since v1.8.3.1
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* Cloning with "git clone --depth N" while fetch.fsckobjects (or
|
||||||
|
transfer.fsckobjects) is set to true did not tell the cut-off
|
||||||
|
points of the shallow history to the process that validates the
|
||||||
|
objects and the history received, causing the validation to fail.
|
||||||
|
|
||||||
|
* "git checkout foo" DWIMs the intended "upstream" and turns it into
|
||||||
|
"git checkout -t -b foo remotes/origin/foo". This codepath has been
|
||||||
|
updated to correctly take existing remote definitions into account.
|
||||||
|
|
||||||
|
* "git fetch" into a shallow repository from a repository that does
|
||||||
|
not know about the shallow boundary commits (e.g. a different fork
|
||||||
|
from the repository the current shallow repository was cloned from)
|
||||||
|
did not work correctly.
|
||||||
|
|
||||||
|
* "git subtree" (in contrib/) had one codepath with loose error
|
||||||
|
checks to lose data at the remote side.
|
||||||
|
|
||||||
|
* "git log --ancestry-path A...B" did not work as expected, as it did
|
||||||
|
not pay attention to the fact that the merge base between A and B
|
||||||
|
was the bottom of the range being specified.
|
||||||
|
|
||||||
|
* "git diff -c -p" was not showing a deleted line from a hunk when
|
||||||
|
another hunk immediately begins where the earlier one ends.
|
||||||
|
|
||||||
|
* "git merge @{-1}~22" was rewritten to "git merge frotz@{1}~22"
|
||||||
|
incorrectly when your previous branch was "frotz" (it should be
|
||||||
|
rewritten to "git merge frotz~22" instead).
|
||||||
|
|
||||||
|
* "git commit --allow-empty-message -m ''" should not start an
|
||||||
|
editor.
|
||||||
|
|
||||||
|
* "git push --[no-]verify" was not documented.
|
||||||
|
|
||||||
|
* An entry for "file://" scheme in the enumeration of URL types Git
|
||||||
|
can take in the HTML documentation was made into a clickable link
|
||||||
|
by mistake.
|
||||||
|
|
||||||
|
* zsh prompt script that borrowed from bash prompt script did not
|
||||||
|
work due to slight differences in array variable notation between
|
||||||
|
these two shells.
|
||||||
|
|
||||||
|
* The bash prompt code (in contrib/) displayed the name of the branch
|
||||||
|
being rebased when "rebase -i/-m/-p" modes are in use, but not the
|
||||||
|
plain vanilla "rebase".
|
||||||
|
|
||||||
|
* "git push $there HEAD:branch" did not resolve HEAD early enough, so
|
||||||
|
it was easy to flip it around while push is still going on and push
|
||||||
|
out a branch that the user did not originally intended when the
|
||||||
|
command was started.
|
||||||
|
|
||||||
|
* "difftool --dir-diff" did not copy back changes made by the
|
||||||
|
end-user in the diff tool backend to the working tree in some
|
||||||
|
cases.
|
47
Documentation/RelNotes/1.8.3.3.txt
Normal file
47
Documentation/RelNotes/1.8.3.3.txt
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
Git v1.8.3.3 Release Notes
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Fixes since v1.8.3.2
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* "git apply" parsed patches that add new files, generated by programs
|
||||||
|
other than Git, incorrectly. This is an old breakage in v1.7.11.
|
||||||
|
|
||||||
|
* Older cURL wanted piece of memory we call it with to be stable, but
|
||||||
|
we updated the auth material after handing it to a call.
|
||||||
|
|
||||||
|
* "git pull" into nothing trashed "local changes" that were in the
|
||||||
|
index.
|
||||||
|
|
||||||
|
* Many "git submodule" operations did not work on a submodule at a
|
||||||
|
path whose name is not in ASCII.
|
||||||
|
|
||||||
|
* "cherry-pick" had a small leak in its error codepath.
|
||||||
|
|
||||||
|
* Logic used by git-send-email to suppress cc mishandled names like
|
||||||
|
"A U. Thor" <author@example.xz>, where the human readable part
|
||||||
|
needs to be quoted (the user input may not have the double quotes
|
||||||
|
around the name, and comparison was done between quoted and
|
||||||
|
unquoted strings). It also mishandled names that need RFC2047
|
||||||
|
quoting.
|
||||||
|
|
||||||
|
* "gitweb" forgot to clear a global variable $search_regexp upon each
|
||||||
|
request, mistakenly carrying over the previous search to a new one
|
||||||
|
when used as a persistent CGI.
|
||||||
|
|
||||||
|
* The wildmatch engine did not honor WM_CASEFOLD option correctly.
|
||||||
|
|
||||||
|
* "git log -c --follow $path" segfaulted upon hitting the commit that
|
||||||
|
renamed the $path being followed.
|
||||||
|
|
||||||
|
* When a reflog notation is used for implicit "current branch",
|
||||||
|
e.g. "git log @{u}", we did not say which branch and worse said
|
||||||
|
"branch ''" in the error messages.
|
||||||
|
|
||||||
|
* Mac OS X does not like to write(2) more than INT_MAX number of
|
||||||
|
bytes; work it around by chopping write(2) into smaller pieces.
|
||||||
|
|
||||||
|
* Newer MacOS X encourages the programs to compile and link with
|
||||||
|
their CommonCrypto, not with OpenSSL.
|
||||||
|
|
||||||
|
Also contains various minor documentation updates.
|
436
Documentation/RelNotes/1.8.3.txt
Normal file
436
Documentation/RelNotes/1.8.3.txt
Normal file
@ -0,0 +1,436 @@
|
|||||||
|
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/ since v1.8.2) have
|
||||||
|
been updated; especially, the latter has been done in an
|
||||||
|
accelerated schedule (read: we may not have merged to this release
|
||||||
|
if we were following the usual "cook sufficiently in next before
|
||||||
|
unleashing it to the world" workflow) in order to help Emacs folks,
|
||||||
|
whose primary SCM seems to be stagnating.
|
||||||
|
|
||||||
|
|
||||||
|
UI, Workflows & Features
|
||||||
|
|
||||||
|
* A handful of updates applied to gitk, including an addition of
|
||||||
|
"revert" action, showing dates in tags in a nicer way, making
|
||||||
|
colors configurable, and support for -G'pickaxe' search.
|
||||||
|
|
||||||
|
* 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 has been added to issue custom messages to refuse an
|
||||||
|
access over the network to help the end users who connect to the
|
||||||
|
service expecting an interactive shell.
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
* 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".
|
||||||
|
|
||||||
|
* "git apply --whitespace=fix" was not prepared to see a line getting
|
||||||
|
longer after fixing whitespaces (e.g. tab-in-indent aka Python).
|
||||||
|
|
||||||
|
* 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.
|
@ -103,9 +103,9 @@ without external resources. Instead of giving a URL to a mailing list
|
|||||||
archive, summarize the relevant points of the discussion.
|
archive, summarize the relevant points of the discussion.
|
||||||
|
|
||||||
|
|
||||||
(3) 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
|
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
|
"git format-patch", if your patch involves file renames. The
|
||||||
@ -122,7 +122,7 @@ that is fine, but please mark it as such.
|
|||||||
|
|
||||||
(4) 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
|
comment on the changes you are submitting. It is important for
|
||||||
a developer to be able to "quote" your changes, using standard
|
a developer to be able to "quote" your changes, using standard
|
||||||
e-mail tools, so that they may comment on specific portions of
|
e-mail tools, so that they may comment on specific portions of
|
||||||
@ -206,7 +206,7 @@ patch.
|
|||||||
|
|
||||||
To improve tracking of who did what, we've borrowed the
|
To improve tracking of who did what, we've borrowed the
|
||||||
"sign-off" procedure from the Linux kernel project on patches
|
"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.
|
smaller project it is a good discipline to follow it.
|
||||||
|
|
||||||
The sign-off is a simple line at the end of the explanation for
|
The sign-off is a simple line at the end of the explanation for
|
||||||
@ -244,7 +244,7 @@ then you just add a line saying
|
|||||||
|
|
||||||
Signed-off-by: Random J Developer <random@developer.example.org>
|
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.
|
command with the -s option.
|
||||||
|
|
||||||
Notice that you can place your own Signed-off-by: line when
|
Notice that you can place your own Signed-off-by: line when
|
||||||
@ -337,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
|
tell you if your patch is merged in pu if you rebase on top of
|
||||||
master).
|
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
|
entitled "What's cooking in git.git" and "What's in git.git" giving
|
||||||
the status of various proposed changes.
|
the status of various proposed changes.
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
# Note, {0} is the manpage section, while {target} is the command.
|
# 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.
|
# the command.
|
||||||
|
|
||||||
[macros]
|
[macros]
|
||||||
|
@ -95,7 +95,7 @@ of lines before or after the line given by <start>.
|
|||||||
running extra passes of inspection.
|
running extra passes of inspection.
|
||||||
+
|
+
|
||||||
<num> is optional but it is the lower bound on the number of
|
<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
|
within a file for it to associate those lines with the parent
|
||||||
commit. The default value is 20.
|
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.
|
looks for copies from other files in any commit.
|
||||||
+
|
+
|
||||||
<num> is optional but it is the lower bound on the number of
|
<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
|
between files for it to associate those lines with the parent
|
||||||
commit. And the default value is 40. If there are more than one
|
commit. And the default value is 40. If there are more than one
|
||||||
`-C` options given, the <num> argument of the last `-C` will
|
`-C` options given, the <num> argument of the last `-C` will
|
||||||
|
@ -12,6 +12,7 @@ while (<STDIN>) {
|
|||||||
push @menu, $1;
|
push @menu, $1;
|
||||||
}
|
}
|
||||||
s/\(\@pxref{\[(URLS|REMOTES)\]}\)//;
|
s/\(\@pxref{\[(URLS|REMOTES)\]}\)//;
|
||||||
|
s/\@anchor\{[^{}]*\}//g;
|
||||||
print TMP;
|
print TMP;
|
||||||
}
|
}
|
||||||
close TMP;
|
close TMP;
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
CONFIGURATION FILE
|
CONFIGURATION FILE
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
The git configuration file contains a number of variables that affect
|
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 commands' behavior. The `.git/config` file in each repository
|
||||||
is used to store the configuration for that repository, and
|
is used to store the configuration for that repository, and
|
||||||
`$HOME/.gitconfig` is used to store a per-user configuration as
|
`$HOME/.gitconfig` is used to store a per-user configuration as
|
||||||
fallback values for the `.git/config` file. The file `/etc/gitconfig`
|
fallback values for the `.git/config` file. The file `/etc/gitconfig`
|
||||||
can be used to store a system-wide default configuration.
|
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
|
and the porcelains. The variables are divided into sections, wherein
|
||||||
the fully qualified variable name of the variable itself is the last
|
the fully qualified variable name of the variable itself is the last
|
||||||
dot-separated segment and the section name is everything before 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':
|
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
|
Set this variable to 'false' if you want to disable
|
||||||
'pushNonFFCurrent', 'pushNonFFDefault', and
|
'pushNonFFCurrent', 'pushNonFFDefault',
|
||||||
'pushNonFFMatching' simultaneously.
|
'pushNonFFMatching', 'pushAlreadyExists',
|
||||||
|
'pushFetchFirst', and 'pushNeedsForce'
|
||||||
|
simultaneously.
|
||||||
pushNonFFCurrent::
|
pushNonFFCurrent::
|
||||||
Advice shown when linkgit:git-push[1] fails due to a
|
Advice shown when linkgit:git-push[1] fails due to a
|
||||||
non-fast-forward update to the current branch.
|
non-fast-forward update to the current branch.
|
||||||
@ -158,17 +160,33 @@ advice.*::
|
|||||||
'matching refs' explicitly (i.e. you used ':', or
|
'matching refs' explicitly (i.e. you used ':', or
|
||||||
specified a refspec that isn't your current branch) and
|
specified a refspec that isn't your current branch) and
|
||||||
it resulted in a non-fast-forward error.
|
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::
|
statusHints::
|
||||||
Show directions on how to proceed from the current
|
Show directions on how to proceed from the current
|
||||||
state in the output of linkgit:git-status[1], in
|
state in the output of linkgit:git-status[1], in
|
||||||
the template shown when writing commit messages in
|
the template shown when writing commit messages in
|
||||||
linkgit:git-commit[1], and in the help message shown
|
linkgit:git-commit[1], and in the help message shown
|
||||||
by linkgit:git-checkout[1] when switching branch.
|
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::
|
commitBeforeMerge::
|
||||||
Advice shown when linkgit:git-merge[1] refuses to
|
Advice shown when linkgit:git-merge[1] refuses to
|
||||||
merge to avoid overwriting local changes.
|
merge to avoid overwriting local changes.
|
||||||
resolveConflict::
|
resolveConflict::
|
||||||
Advices shown by various commands when conflicts
|
Advice shown by various commands when conflicts
|
||||||
prevent the operation from being performed.
|
prevent the operation from being performed.
|
||||||
implicitIdentity::
|
implicitIdentity::
|
||||||
Advice on how to set your identity configuration when
|
Advice on how to set your identity configuration when
|
||||||
@ -205,9 +223,9 @@ core.ignoreCygwinFSTricks::
|
|||||||
|
|
||||||
core.ignorecase::
|
core.ignorecase::
|
||||||
If true, this option enables various workarounds to enable
|
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
|
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
|
it is really the same file, and continue to remember it as
|
||||||
"Makefile".
|
"Makefile".
|
||||||
+
|
+
|
||||||
@ -216,13 +234,13 @@ will probe and set core.ignorecase true if appropriate when the repository
|
|||||||
is created.
|
is created.
|
||||||
|
|
||||||
core.precomposeunicode::
|
core.precomposeunicode::
|
||||||
This option is only used by Mac OS implementation of git.
|
This option is only used by Mac OS implementation of Git.
|
||||||
When core.precomposeunicode=true, git reverts the unicode decomposition
|
When core.precomposeunicode=true, Git reverts the unicode decomposition
|
||||||
of filenames done by Mac OS. This is useful when sharing a repository
|
of filenames done by Mac OS. This is useful when sharing a repository
|
||||||
between Mac OS and Linux or Windows.
|
between Mac OS and Linux or Windows.
|
||||||
(Git for Windows 1.7.10 or higher is needed, or git under cygwin 1.7).
|
(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,
|
When false, file names are handled fully transparent by Git,
|
||||||
which is backward compatible with older versions of git.
|
which is backward compatible with older versions of Git.
|
||||||
|
|
||||||
core.trustctime::
|
core.trustctime::
|
||||||
If false, the ctime differences between the index and the
|
If false, the ctime differences between the index and the
|
||||||
@ -231,6 +249,12 @@ core.trustctime::
|
|||||||
crawlers and some backup systems).
|
crawlers and some backup systems).
|
||||||
See linkgit:git-update-index[1]. True by default.
|
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::
|
core.quotepath::
|
||||||
The commands that output paths (e.g. 'ls-files',
|
The commands that output paths (e.g. 'ls-files',
|
||||||
'diff'), when not given the `-z` option, will quote
|
'diff'), when not given the `-z` option, will quote
|
||||||
@ -252,20 +276,20 @@ core.eol::
|
|||||||
conversion.
|
conversion.
|
||||||
|
|
||||||
core.safecrlf::
|
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
|
end-of-line conversion is active. Git will verify if a command
|
||||||
modifies a file in the work tree either directly or indirectly.
|
modifies a file in the work tree either directly or indirectly.
|
||||||
For example, committing a file followed by checking out the
|
For example, committing a file followed by checking out the
|
||||||
same file should yield the original file in the work tree. If
|
same file should yield the original file in the work tree. If
|
||||||
this is not the case for the current setting of
|
this is not the case for the current setting of
|
||||||
`core.autocrlf`, git will reject the file. The variable can
|
`core.autocrlf`, Git will reject the file. The variable can
|
||||||
be set to "warn", in which case git will only warn about an
|
be set to "warn", in which case Git will only warn about an
|
||||||
irreversible conversion but continue the operation.
|
irreversible conversion but continue the operation.
|
||||||
+
|
+
|
||||||
CRLF conversion bears a slight chance of corrupting data.
|
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 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
|
files this is the right thing to do: it corrects line endings
|
||||||
such that we have only LF line endings in the repository.
|
such that we have only LF line endings in the repository.
|
||||||
But for binary files that are accidentally classified as text the
|
But for binary files that are accidentally classified as text the
|
||||||
@ -275,7 +299,7 @@ If you recognize such corruption early you can easily fix it by
|
|||||||
setting the conversion type explicitly in .gitattributes. Right
|
setting the conversion type explicitly in .gitattributes. Right
|
||||||
after committing you still have the original file in your work
|
after committing you still have the original file in your work
|
||||||
tree and this file is not yet corrupted. You can explicitly tell
|
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.
|
appropriately.
|
||||||
+
|
+
|
||||||
Unfortunately, the desired effect of cleaning up text files with
|
Unfortunately, the desired effect of cleaning up text files with
|
||||||
@ -320,7 +344,7 @@ is created.
|
|||||||
core.gitProxy::
|
core.gitProxy::
|
||||||
A "proxy command" to execute (as 'command host port') instead
|
A "proxy command" to execute (as 'command host port') instead
|
||||||
of establishing direct connection to the remote server when
|
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
|
in the "COMMAND for DOMAIN" format, the command is applied only
|
||||||
on hostnames ending with the specified domain string. This variable
|
on hostnames ending with the specified domain string. This variable
|
||||||
may be set multiple times and is matched in the given order;
|
may be set multiple times and is matched in the given order;
|
||||||
@ -379,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
|
file in a ".git" subdirectory of a directory and its value differs
|
||||||
from the latter directory (e.g. "/path/to/.git/config" has
|
from the latter directory (e.g. "/path/to/.git/config" has
|
||||||
core.worktree set to "/different/path"), which is most likely a
|
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
|
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
|
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
|
read-only snapshot of the same index to a location different from the
|
||||||
@ -388,7 +412,7 @@ repository's usual working tree).
|
|||||||
core.logAllRefUpdates::
|
core.logAllRefUpdates::
|
||||||
Enable the reflog. Updates to a ref <ref> is logged to the file
|
Enable the reflog. Updates to a ref <ref> is logged to the file
|
||||||
"$GIT_DIR/logs/<ref>", by appending the new and old
|
"$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
|
only when the file exists. If this configuration
|
||||||
variable is set to true, missing "$GIT_DIR/logs/<ref>"
|
variable is set to true, missing "$GIT_DIR/logs/<ref>"
|
||||||
file is automatically created for branch heads (i.e. under
|
file is automatically created for branch heads (i.e. under
|
||||||
@ -411,7 +435,7 @@ core.sharedRepository::
|
|||||||
several users in a group (making sure all the files and objects are
|
several users in a group (making sure all the files and objects are
|
||||||
group-writable). When 'all' (or 'world' or 'everybody'), the
|
group-writable). When 'all' (or 'world' or 'everybody'), the
|
||||||
repository will be readable by all users, additionally to being
|
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,
|
reported by umask(2). When '0xxx', where '0xxx' is an octal number,
|
||||||
files in the repository will have this mode value. '0xxx' will override
|
files in the repository will have this mode value. '0xxx' will override
|
||||||
user's umask value (whereas the other options will only override
|
user's umask value (whereas the other options will only override
|
||||||
@ -422,8 +446,8 @@ core.sharedRepository::
|
|||||||
See linkgit:git-init[1]. False by default.
|
See linkgit:git-init[1]. False by default.
|
||||||
|
|
||||||
core.warnAmbiguousRefs::
|
core.warnAmbiguousRefs::
|
||||||
If true, git will warn you if the ref name you passed it is ambiguous
|
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.
|
and might match multiple refs in the repository. True by default.
|
||||||
|
|
||||||
core.compression::
|
core.compression::
|
||||||
An integer -1..9, indicating a default compression level.
|
An integer -1..9, indicating a default compression level.
|
||||||
@ -494,7 +518,7 @@ Common unit suffixes of 'k', 'm', or 'g' are supported.
|
|||||||
|
|
||||||
core.excludesfile::
|
core.excludesfile::
|
||||||
In addition to '.gitignore' (per-directory) and
|
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
|
of files which are not meant to be tracked. "`~/`" is expanded
|
||||||
to the value of `$HOME` and "`~user/`" to the specified user's
|
to the value of `$HOME` and "`~user/`" to the specified user's
|
||||||
home directory. Its default value is $XDG_CONFIG_HOME/git/ignore.
|
home directory. Its default value is $XDG_CONFIG_HOME/git/ignore.
|
||||||
@ -512,7 +536,7 @@ core.askpass::
|
|||||||
|
|
||||||
core.attributesfile::
|
core.attributesfile::
|
||||||
In addition to '.gitattributes' (per-directory) and
|
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
|
(see linkgit:gitattributes[5]). Path expansions are made the same
|
||||||
way as for `core.excludesfile`. Its default value is
|
way as for `core.excludesfile`. Its default value is
|
||||||
$XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not
|
$XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not
|
||||||
@ -524,16 +548,22 @@ core.editor::
|
|||||||
variable when it is set, and the environment variable
|
variable when it is set, and the environment variable
|
||||||
`GIT_EDITOR` is not set. See linkgit:git-var[1].
|
`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::
|
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.
|
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.
|
It can be overridden by the `GIT_SEQUENCE_EDITOR` environment variable.
|
||||||
When not configured the default commit message editor is used instead.
|
When not configured the default commit message editor is used instead.
|
||||||
|
|
||||||
core.pager::
|
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
|
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
|
variable to `FRSX` if it is unset when it runs the
|
||||||
pager. One can change these settings by setting the
|
pager. One can change these settings by setting the
|
||||||
`LESS` variable to some other value. Alternately,
|
`LESS` variable to some other value. Alternately,
|
||||||
@ -541,11 +571,11 @@ core.pager::
|
|||||||
global basis by setting the `core.pager` option.
|
global basis by setting the `core.pager` option.
|
||||||
Setting `core.pager` has no effect on the `LESS`
|
Setting `core.pager` has no effect on the `LESS`
|
||||||
environment variable behaviour above, so if you want
|
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
|
to be explicit. For example, to disable the S option
|
||||||
in a backward compatible manner, set `core.pager`
|
in a backward compatible manner, set `core.pager`
|
||||||
to `less -+S`. This will be passed to the shell by
|
to `less -+S`. This will be passed to the shell by
|
||||||
git, which will translate the final command to
|
Git, which will translate the final command to
|
||||||
`LESS=FRSX less -+S`.
|
`LESS=FRSX less -+S`.
|
||||||
|
|
||||||
core.whitespace::
|
core.whitespace::
|
||||||
@ -574,7 +604,7 @@ core.whitespace::
|
|||||||
does not trigger if the character before such a carriage-return
|
does not trigger if the character before such a carriage-return
|
||||||
is not a whitespace (not enabled by default).
|
is not a whitespace (not enabled by default).
|
||||||
* `tabwidth=<n>` tells how many character positions a tab occupies; this
|
* `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.
|
errors. The default tab width is 8. Allowed values are 1 to 63.
|
||||||
|
|
||||||
core.fsyncobjectfiles::
|
core.fsyncobjectfiles::
|
||||||
@ -590,7 +620,7 @@ core.preloadindex::
|
|||||||
+
|
+
|
||||||
This can speed up operations like 'git diff' and 'git status' especially
|
This can speed up operations like 'git diff' and 'git status' especially
|
||||||
on filesystems like NFS that have weak caching semantics and thus
|
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
|
index comparison to the filesystem data in parallel, allowing
|
||||||
overlapping IO's.
|
overlapping IO's.
|
||||||
|
|
||||||
@ -626,9 +656,9 @@ add.ignore-errors::
|
|||||||
add.ignoreErrors::
|
add.ignoreErrors::
|
||||||
Tells 'git add' to continue adding files when some files cannot be
|
Tells 'git add' to continue adding files when some files cannot be
|
||||||
added due to indexing errors. Equivalent to the '--ignore-errors'
|
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
|
`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.
|
honor `add.ignoreErrors` as well.
|
||||||
|
|
||||||
alias.*::
|
alias.*::
|
||||||
@ -636,7 +666,7 @@ alias.*::
|
|||||||
after defining "alias.last = cat-file commit HEAD", the invocation
|
after defining "alias.last = cat-file commit HEAD", the invocation
|
||||||
"git last" is equivalent to "git cat-file commit HEAD". To avoid
|
"git last" is equivalent to "git cat-file commit HEAD". To avoid
|
||||||
confusion and troubles with script usage, aliases that
|
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.
|
spaces, the usual shell quoting and escaping is supported.
|
||||||
quote pair and a backslash can be used to quote them.
|
quote pair and a backslash can be used to quote them.
|
||||||
+
|
+
|
||||||
@ -683,7 +713,7 @@ branch.autosetupmerge::
|
|||||||
|
|
||||||
branch.autosetuprebase::
|
branch.autosetuprebase::
|
||||||
When a new branch is created with 'git branch' or 'git checkout'
|
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").
|
up pull to rebase instead of merge (see "branch.<name>.rebase").
|
||||||
When `never`, rebase is never automatically set to true.
|
When `never`, rebase is never automatically set to true.
|
||||||
When `local`, rebase is set to true for tracked branches of
|
When `local`, rebase is set to true for tracked branches of
|
||||||
@ -697,9 +727,22 @@ branch.autosetuprebase::
|
|||||||
This option defaults to never.
|
This option defaults to never.
|
||||||
|
|
||||||
branch.<name>.remote::
|
branch.<name>.remote::
|
||||||
When in branch <name>, it tells 'git fetch' and 'git push' which
|
When on branch <name>, it tells 'git fetch' and 'git push'
|
||||||
remote to fetch from/push to. It defaults to `origin` if no remote is
|
which remote to fetch from/push to. The remote to push to
|
||||||
configured. `origin` is also used if you are not on any branch.
|
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::
|
branch.<name>.merge::
|
||||||
Defines, together with branch.<name>.remote, the upstream branch
|
Defines, together with branch.<name>.remote, the upstream branch
|
||||||
@ -735,6 +778,12 @@ branch.<name>.rebase::
|
|||||||
it unless you understand the implications (see linkgit:git-rebase[1]
|
it unless you understand the implications (see linkgit:git-rebase[1]
|
||||||
for details).
|
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::
|
browser.<tool>.cmd::
|
||||||
Specify the command to invoke the specified browser. The
|
Specify the command to invoke the specified browser. The
|
||||||
specified command is evaluated in shell with the URLs passed
|
specified command is evaluated in shell with the URLs passed
|
||||||
@ -758,7 +807,8 @@ color.branch::
|
|||||||
color.branch.<slot>::
|
color.branch.<slot>::
|
||||||
Use customized color for branch coloration. `<slot>` is one of
|
Use customized color for branch coloration. `<slot>` is one of
|
||||||
`current` (the current branch), `local` (a local branch),
|
`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).
|
refs).
|
||||||
+
|
+
|
||||||
The value for these configuration variables is a list of colors (at most
|
The value for these configuration variables is a list of colors (at most
|
||||||
@ -858,7 +908,7 @@ color.status.<slot>::
|
|||||||
one of `header` (the header text of the status message),
|
one of `header` (the header text of the status message),
|
||||||
`added` or `updated` (files which are added but not committed),
|
`added` or `updated` (files which are added but not committed),
|
||||||
`changed` (files which are changed but not added in the index),
|
`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
|
`branch` (the current branch), or
|
||||||
`nobranch` (the color the 'no branch' warning is shown in, defaulting
|
`nobranch` (the color the 'no branch' warning is shown in, defaulting
|
||||||
to red). The values of these variables may be specified as in
|
to red). The values of these variables may be specified as in
|
||||||
@ -872,7 +922,7 @@ color.ui::
|
|||||||
to `always` if you want all output not intended for machine
|
to `always` if you want all output not intended for machine
|
||||||
consumption to use color, to `true` or `auto` if you want such
|
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
|
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.
|
explicitly with some other configuration or the `--color` option.
|
||||||
|
|
||||||
column.ui::
|
column.ui::
|
||||||
@ -913,6 +963,15 @@ column.tag::
|
|||||||
Specify whether to output tag listing in `git tag` in columns.
|
Specify whether to output tag listing in `git tag` in columns.
|
||||||
See `column.ui` for details.
|
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::
|
commit.status::
|
||||||
A boolean to enable/disable inclusion of status information in the
|
A boolean to enable/disable inclusion of status information in the
|
||||||
commit message template when using an editor to prepare the commit
|
commit message template when using an editor to prepare the commit
|
||||||
@ -980,7 +1039,7 @@ fetch.fsckObjects::
|
|||||||
is used instead.
|
is used instead.
|
||||||
|
|
||||||
fetch.unpackLimit::
|
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
|
transfer is below this
|
||||||
limit, then the objects will be unpacked into loose object
|
limit, then the objects will be unpacked into loose object
|
||||||
files. However if the number of received objects equals or
|
files. However if the number of received objects equals or
|
||||||
@ -1020,7 +1079,7 @@ format.subjectprefix::
|
|||||||
|
|
||||||
format.signature::
|
format.signature::
|
||||||
The default for format-patch is to output a signature containing
|
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
|
Set this variable to the empty string ("") to suppress
|
||||||
signature generation.
|
signature generation.
|
||||||
|
|
||||||
@ -1045,11 +1104,16 @@ format.thread::
|
|||||||
value disables threading.
|
value disables threading.
|
||||||
|
|
||||||
format.signoff::
|
format.signoff::
|
||||||
A boolean value which lets you enable the `-s/--signoff` option of
|
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
|
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
|
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.
|
the rights to submit this work under the same open source license.
|
||||||
Please see the 'SubmittingPatches' document for further discussion.
|
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::
|
filter.<driver>.clean::
|
||||||
The command which is used to convert the content of a worktree
|
The command which is used to convert the content of a worktree
|
||||||
@ -1133,7 +1197,7 @@ gitcvs.logfile::
|
|||||||
gitcvs.usecrlfattr::
|
gitcvs.usecrlfattr::
|
||||||
If true, the server will look up the end-of-line conversion
|
If true, the server will look up the end-of-line conversion
|
||||||
attributes for files to determine the '-k' modes to use. If
|
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
|
the '-k' mode will be left blank so CVS clients will
|
||||||
treat it as text. If they suppress text conversion, the file
|
treat it as text. If they suppress text conversion, the file
|
||||||
will be set with '-kb' mode, which suppresses any newline munging
|
will be set with '-kb' mode, which suppresses any newline munging
|
||||||
@ -1153,7 +1217,7 @@ gitcvs.allbinary::
|
|||||||
|
|
||||||
gitcvs.dbname::
|
gitcvs.dbname::
|
||||||
Database used by git-cvsserver to cache revision information
|
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
|
used database driver, for SQLite (which is the default driver) this
|
||||||
is a filename. Supports variable substitution (see
|
is a filename. Supports variable substitution (see
|
||||||
linkgit:git-cvsserver[1] for details). May not contain semicolons (`;`).
|
linkgit:git-cvsserver[1] for details). May not contain semicolons (`;`).
|
||||||
@ -1161,7 +1225,7 @@ gitcvs.dbname::
|
|||||||
|
|
||||||
gitcvs.dbdriver::
|
gitcvs.dbdriver::
|
||||||
Used Perl DBI driver. You can specify any available driver
|
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
|
with 'DBD::SQLite', reported to work with 'DBD::Pg', and
|
||||||
reported *not* to work with 'DBD::mysql'. Experimental feature.
|
reported *not* to work with 'DBD::mysql'. Experimental feature.
|
||||||
May not contain double colons (`:`). Default: 'SQLite'.
|
May not contain double colons (`:`). Default: 'SQLite'.
|
||||||
@ -1365,7 +1429,7 @@ http.proxy::
|
|||||||
|
|
||||||
http.cookiefile::
|
http.cookiefile::
|
||||||
File containing previously stored cookie lines which should be used
|
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
|
of the file to read cookies from should be plain HTTP headers or
|
||||||
the Netscape/Mozilla cookie file format (see linkgit:curl[1]).
|
the Netscape/Mozilla cookie file format (see linkgit:curl[1]).
|
||||||
NOTE that the file specified with http.cookiefile is only used as
|
NOTE that the file specified with http.cookiefile is only used as
|
||||||
@ -1387,7 +1451,7 @@ http.sslKey::
|
|||||||
variable.
|
variable.
|
||||||
|
|
||||||
http.sslCertPasswordProtected::
|
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
|
OpenSSL will prompt the user, possibly many times, if the
|
||||||
certificate or private key is encrypted. Can be overridden by the
|
certificate or private key is encrypted. Can be overridden by the
|
||||||
'GIT_SSL_CERT_PASSWORD_PROTECTED' environment variable.
|
'GIT_SSL_CERT_PASSWORD_PROTECTED' environment variable.
|
||||||
@ -1402,6 +1466,14 @@ http.sslCAPath::
|
|||||||
with when fetching or pushing over HTTPS. Can be overridden
|
with when fetching or pushing over HTTPS. Can be overridden
|
||||||
by the 'GIT_SSL_CAPATH' environment variable.
|
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::
|
http.maxRequests::
|
||||||
How many HTTP requests to launch in parallel. Can be overridden
|
How many HTTP requests to launch in parallel. Can be overridden
|
||||||
by the 'GIT_HTTP_MAX_REQUESTS' environment variable. Default is 5.
|
by the 'GIT_HTTP_MAX_REQUESTS' environment variable. Default is 5.
|
||||||
@ -1434,7 +1506,7 @@ http.noEPSV::
|
|||||||
|
|
||||||
http.useragent::
|
http.useragent::
|
||||||
The HTTP USER_AGENT string presented to an HTTP server. The default
|
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
|
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
|
such as Mozilla/4.0. This may be necessary, for instance, if
|
||||||
connecting through a firewall that restricts HTTP connections to a set
|
connecting through a firewall that restricts HTTP connections to a set
|
||||||
@ -1442,7 +1514,7 @@ http.useragent::
|
|||||||
Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
|
Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
|
||||||
|
|
||||||
i18n.commitEncoding::
|
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
|
does not care per se, but this information is necessary e.g. when
|
||||||
importing commits from emails or in the gitk graphical history
|
importing commits from emails or in the gitk graphical history
|
||||||
browser (and possibly at other places in the future or in other
|
browser (and possibly at other places in the future or in other
|
||||||
@ -1515,6 +1587,10 @@ log.showroot::
|
|||||||
Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which
|
Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which
|
||||||
normally hide the root commit will now show it. True by default.
|
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::
|
mailmap.file::
|
||||||
The location of an augmenting mailmap file. The default
|
The location of an augmenting mailmap file. The default
|
||||||
mailmap, located in the root of the repository, is loaded
|
mailmap, located in the root of the repository, is loaded
|
||||||
@ -1523,6 +1599,14 @@ mailmap.file::
|
|||||||
subdirectory, or somewhere outside of the repository itself.
|
subdirectory, or somewhere outside of the repository itself.
|
||||||
See linkgit:git-shortlog[1] and linkgit:git-blame[1].
|
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::
|
man.viewer::
|
||||||
Specify the programs that may be used to display help in the
|
Specify the programs that may be used to display help in the
|
||||||
'man' format. See linkgit:git-help[1].
|
'man' format. See linkgit:git-help[1].
|
||||||
@ -1568,7 +1652,7 @@ mergetool.keepBackup::
|
|||||||
`true` (i.e. keep the backup files).
|
`true` (i.e. keep the backup files).
|
||||||
|
|
||||||
mergetool.keepTemporaries::
|
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
|
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
|
variable is set to `true`, then these temporary files will be
|
||||||
preserved, otherwise they will be removed after the tool has
|
preserved, otherwise they will be removed after the tool has
|
||||||
@ -1596,7 +1680,7 @@ displayed.
|
|||||||
|
|
||||||
notes.rewrite.<command>::
|
notes.rewrite.<command>::
|
||||||
When rewriting commits with <command> (currently `amend` or
|
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
|
automatically copies your notes from the original to the
|
||||||
rewritten commit. Defaults to `true`, but see
|
rewritten commit. Defaults to `true`, but see
|
||||||
"notes.rewriteRef" below.
|
"notes.rewriteRef" below.
|
||||||
@ -1676,7 +1760,7 @@ pack.threads::
|
|||||||
warning. This is meant to reduce packing time on multiprocessor
|
warning. This is meant to reduce packing time on multiprocessor
|
||||||
machines. The required amount of memory for the delta search window
|
machines. The required amount of memory for the delta search window
|
||||||
is however multiplied by the number of threads.
|
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.
|
and set the number of threads accordingly.
|
||||||
|
|
||||||
pack.indexVersion::
|
pack.indexVersion::
|
||||||
@ -1688,11 +1772,11 @@ pack.indexVersion::
|
|||||||
and this config option ignored whenever the corresponding pack is
|
and this config option ignored whenever the corresponding pack is
|
||||||
larger than 2 GB.
|
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")
|
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
|
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
|
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
|
you can use linkgit:git-index-pack[1] on the *.pack file to regenerate
|
||||||
the `*.idx` file.
|
the `*.idx` file.
|
||||||
|
|
||||||
@ -1707,7 +1791,7 @@ pack.packSizeLimit::
|
|||||||
|
|
||||||
pager.<cmd>::
|
pager.<cmd>::
|
||||||
If the value is boolean, turns on or off pagination of the
|
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
|
Otherwise, turns on pagination for the subcommand using the
|
||||||
pager specified by the value of `pager.<cmd>`. If `--paginate`
|
pager specified by the value of `pager.<cmd>`. If `--paginate`
|
||||||
or `--no-pager` is specified on the command line, it takes
|
or `--no-pager` is specified on the command line, it takes
|
||||||
@ -1742,7 +1826,7 @@ pull.twohead::
|
|||||||
The default merge strategy to use when pulling a single branch.
|
The default merge strategy to use when pulling a single branch.
|
||||||
|
|
||||||
push.default::
|
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
|
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
|
no refspec is implied by any of the options given on the command
|
||||||
line. Possible values are:
|
line. Possible values are:
|
||||||
@ -1758,7 +1842,8 @@ push.default::
|
|||||||
+
|
+
|
||||||
This is currently the default, but Git 2.0 will change the default
|
This is currently the default, but Git 2.0 will change the default
|
||||||
to `simple`.
|
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
|
With this, `git push` will update the same remote ref as the one which
|
||||||
is merged by `git pull`, making `push` and `pull` symmetrical.
|
is merged by `git pull`, making `push` and `pull` symmetrical.
|
||||||
See "branch.<name>.merge" for how to configure the upstream branch.
|
See "branch.<name>.merge" for how to configure the upstream branch.
|
||||||
@ -1827,10 +1912,24 @@ receive.denyNonFastForwards::
|
|||||||
even if that push is forced. This configuration variable is
|
even if that push is forced. This configuration variable is
|
||||||
set when initializing a shared repository.
|
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::
|
receive.updateserverinfo::
|
||||||
If set to true, git-receive-pack will run git-update-server-info
|
If set to true, git-receive-pack will run git-update-server-info
|
||||||
after receiving data from git-push and updating refs.
|
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::
|
remote.<name>.url::
|
||||||
The URL of a remote repository. See linkgit:git-fetch[1] or
|
The URL of a remote repository. See linkgit:git-fetch[1] or
|
||||||
linkgit:git-push[1].
|
linkgit:git-push[1].
|
||||||
@ -1882,7 +1981,7 @@ remote.<name>.tagopt::
|
|||||||
linkgit:git-fetch[1].
|
linkgit:git-fetch[1].
|
||||||
|
|
||||||
remote.<name>.vcs::
|
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.
|
the remote with the git-remote-<vcs> helper.
|
||||||
|
|
||||||
remotes.<group>::
|
remotes.<group>::
|
||||||
@ -1892,9 +1991,9 @@ remotes.<group>::
|
|||||||
repack.usedeltabaseoffset::
|
repack.usedeltabaseoffset::
|
||||||
By default, linkgit:git-repack[1] creates packs that use
|
By default, linkgit:git-repack[1] creates packs that use
|
||||||
delta-base offset. If you need to share your repository with
|
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
|
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.
|
native protocol are unaffected by this option.
|
||||||
|
|
||||||
rerere.autoupdate::
|
rerere.autoupdate::
|
||||||
@ -1931,6 +2030,7 @@ sendemail.<identity>.*::
|
|||||||
|
|
||||||
sendemail.aliasesfile::
|
sendemail.aliasesfile::
|
||||||
sendemail.aliasfiletype::
|
sendemail.aliasfiletype::
|
||||||
|
sendemail.annotate::
|
||||||
sendemail.bcc::
|
sendemail.bcc::
|
||||||
sendemail.cc::
|
sendemail.cc::
|
||||||
sendemail.cccmd::
|
sendemail.cccmd::
|
||||||
@ -1963,7 +2063,7 @@ showbranch.default::
|
|||||||
status.relativePaths::
|
status.relativePaths::
|
||||||
By default, linkgit:git-status[1] shows paths relative to the
|
By default, linkgit:git-status[1] shows paths relative to the
|
||||||
current directory. Setting this variable to `false` shows paths
|
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).
|
prior to v1.5.4).
|
||||||
|
|
||||||
status.showUntrackedFiles::
|
status.showUntrackedFiles::
|
||||||
@ -2001,6 +2101,12 @@ submodule.<name>.update::
|
|||||||
URL and other values found in the `.gitmodules` file. See
|
URL and other values found in the `.gitmodules` file. See
|
||||||
linkgit:git-submodule[1] and linkgit:gitmodules[5] for details.
|
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::
|
submodule.<name>.fetchRecurseSubmodules::
|
||||||
This option can be used to control recursive fetching of this
|
This option can be used to control recursive fetching of this
|
||||||
submodule. It can be overridden by using the --[no-]recurse-submodules
|
submodule. It can be overridden by using the --[no-]recurse-submodules
|
||||||
@ -2033,18 +2139,38 @@ transfer.fsckObjects::
|
|||||||
not set, the value of this variable is used instead.
|
not set, the value of this variable is used instead.
|
||||||
Defaults to false.
|
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::
|
transfer.unpackLimit::
|
||||||
When `fetch.unpackLimit` or `receive.unpackLimit` are
|
When `fetch.unpackLimit` or `receive.unpackLimit` are
|
||||||
not set, the value of this variable is used instead.
|
not set, the value of this variable is used instead.
|
||||||
The default value is 100.
|
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::
|
url.<base>.insteadOf::
|
||||||
Any URL that starts with this value will be rewritten to
|
Any URL that starts with this value will be rewritten to
|
||||||
start, instead, with <base>. In cases where some site serves a
|
start, instead, with <base>. In cases where some site serves a
|
||||||
large number of repositories, and serves them with multiple
|
large number of repositories, and serves them with multiple
|
||||||
access methods, and some users need to use different access
|
access methods, and some users need to use different access
|
||||||
methods, this feature allows people to specify any of the
|
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
|
the best alternative for the particular user, even for a
|
||||||
never-before-seen repository on the site. When more than one
|
never-before-seen repository on the site. When more than one
|
||||||
insteadOf strings match a given URL, the longest match is used.
|
insteadOf strings match a given URL, the longest match is used.
|
||||||
@ -2055,11 +2181,11 @@ url.<base>.pushInsteadOf::
|
|||||||
resulting URL will be pushed to. In cases where some site serves
|
resulting URL will be pushed to. In cases where some site serves
|
||||||
a large number of repositories, and serves them with multiple
|
a large number of repositories, and serves them with multiple
|
||||||
access methods, some of which do not allow push, this feature
|
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
|
automatically use an appropriate URL to push, even for a
|
||||||
never-before-seen repository on the site. When more than one
|
never-before-seen repository on the site. When more than one
|
||||||
pushInsteadOf strings match a given URL, the longest match is
|
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.
|
setting for that remote.
|
||||||
|
|
||||||
user.email::
|
user.email::
|
||||||
|
@ -99,7 +99,7 @@ diff.renameLimit::
|
|||||||
detection; equivalent to the 'git diff' option '-l'.
|
detection; equivalent to the 'git diff' option '-l'.
|
||||||
|
|
||||||
diff.renames::
|
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
|
will enable basic rename detection. If set to "copies" or
|
||||||
"copy", it will detect copies, as well.
|
"copy", it will detect copies, as well.
|
||||||
|
|
||||||
@ -149,9 +149,27 @@ diff.<driver>.cachetextconv::
|
|||||||
conversion outputs. See linkgit:gitattributes[5] for details.
|
conversion outputs. See linkgit:gitattributes[5] for details.
|
||||||
|
|
||||||
diff.tool::
|
diff.tool::
|
||||||
The diff tool to be used by linkgit:git-difftool[1]. This
|
Controls which diff tool is used by linkgit:git-difftool[1].
|
||||||
option overrides `merge.tool`, and has the same valid built-in
|
This variable overrides the value configured in `merge.tool`.
|
||||||
values as `merge.tool` minus "tortoisemerge" and plus
|
The list below shows the valid built-in values.
|
||||||
"kompare". Any other value is treated as a custom diff tool,
|
Any other value is treated as a custom diff tool and requires
|
||||||
and there must be a corresponding `difftool.<tool>.cmd`
|
that a corresponding difftool.<tool>.cmd variable is defined.
|
||||||
option.
|
|
||||||
|
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::
|
--histogram::
|
||||||
Generate a diff using the "histogram diff" algorithm.
|
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>]]]::
|
--stat[=<width>[,<name-width>[,<count>]]]::
|
||||||
Generate a diffstat. By default, as much space as necessary
|
Generate a diffstat. By default, as much space as necessary
|
||||||
will be used for the filename part, and the rest for the graph
|
will be used for the filename part, and the rest for the graph
|
||||||
@ -175,8 +195,8 @@ any of those replacements occurred.
|
|||||||
|
|
||||||
--color[=<when>]::
|
--color[=<when>]::
|
||||||
Show colored diff.
|
Show colored diff.
|
||||||
The value must be `always` (the default for `<when>`), `never`, or `auto`.
|
`--color` (i.e. without '=<when>') is the same as `--color=always`.
|
||||||
The default value is `never`.
|
'<when>' can be one of `always`, `never`, or `auto`.
|
||||||
ifdef::git-diff[]
|
ifdef::git-diff[]
|
||||||
It can be changed by the `color.ui` and `color.diff`
|
It can be changed by the `color.ui` and `color.diff`
|
||||||
configuration settings.
|
configuration settings.
|
||||||
@ -283,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
|
single deletion of everything old followed by a single insertion of
|
||||||
everything new, and the number `m` controls this aspect of the -B
|
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
|
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
|
rewrite (i.e. otherwise the resulting patch will be a series of
|
||||||
deletion and insertion mixed together with context lines).
|
deletion and insertion mixed together with context lines).
|
||||||
+
|
+
|
||||||
@ -307,7 +327,7 @@ ifdef::git-log[]
|
|||||||
endif::git-log[]
|
endif::git-log[]
|
||||||
If `n` is specified, it is a threshold on the similarity
|
If `n` is specified, it is a threshold on the similarity
|
||||||
index (i.e. amount of addition/deletions compared to the
|
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
|
delete/add pair to be a rename if more than 90% of the file
|
||||||
hasn't changed. Without a `%` sign, the number is to be read as
|
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
|
a fraction, with a decimal point before it. I.e., `-M5` becomes
|
||||||
@ -363,14 +383,36 @@ ifndef::git-format-patch[]
|
|||||||
that matches other criteria, nothing is selected.
|
that matches other criteria, nothing is selected.
|
||||||
|
|
||||||
-S<string>::
|
-S<string>::
|
||||||
Look for differences that introduce or remove an instance of
|
Look for differences that change the number of occurrences of
|
||||||
<string>. Note that this is different than the string simply
|
the specified string (i.e. addition/deletion) in a file.
|
||||||
appearing in diff output; see the 'pickaxe' entry in
|
Intended for the scripter's use.
|
||||||
linkgit:gitdiffcore[7] for more details.
|
+
|
||||||
|
It is useful when you're looking for an exact block of code (like a
|
||||||
|
struct), and want to know the history of that block since it first
|
||||||
|
came into being: use the feature iteratively to feed the interesting
|
||||||
|
block in the preimage back into `-S`, and keep going until you get the
|
||||||
|
very first version of the block.
|
||||||
|
|
||||||
-G<regex>::
|
-G<regex>::
|
||||||
Look for differences whose added or removed line matches
|
Look for differences whose patch text contains added/removed
|
||||||
the given <regex>.
|
lines that match <regex>.
|
||||||
|
+
|
||||||
|
To illustrate the difference between `-S<regex> --pickaxe-regex` and
|
||||||
|
`-G<regex>`, consider a commit with the following diff in the same
|
||||||
|
file:
|
||||||
|
+
|
||||||
|
----
|
||||||
|
+ return !regexec(regexp, two->ptr, 1, ®match, 0);
|
||||||
|
...
|
||||||
|
- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);
|
||||||
|
----
|
||||||
|
+
|
||||||
|
While `git log -G"regexec\(regexp"` will show this commit, `git log
|
||||||
|
-S"regexec\(regexp" --pickaxe-regex` will not (because the number of
|
||||||
|
occurrences of that string did not change).
|
||||||
|
+
|
||||||
|
See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more
|
||||||
|
information.
|
||||||
|
|
||||||
--pickaxe-all::
|
--pickaxe-all::
|
||||||
When `-S` or `-G` finds a change, show all the changes in that
|
When `-S` or `-G` finds a change, show all the changes in that
|
||||||
@ -378,8 +420,8 @@ ifndef::git-format-patch[]
|
|||||||
in <string>.
|
in <string>.
|
||||||
|
|
||||||
--pickaxe-regex::
|
--pickaxe-regex::
|
||||||
Make the <string> not a plain string but an extended POSIX
|
Treat the <string> given to `-S` as an extended POSIX regular
|
||||||
regex to match.
|
expression to match.
|
||||||
endif::git-format-patch[]
|
endif::git-format-patch[]
|
||||||
|
|
||||||
-O<orderfile>::
|
-O<orderfile>::
|
||||||
@ -460,7 +502,7 @@ endif::git-format-patch[]
|
|||||||
|
|
||||||
--ignore-submodules[=<when>]::
|
--ignore-submodules[=<when>]::
|
||||||
Ignore changes to submodules in the diff generation. <when> can be
|
Ignore changes to submodules in the diff generation. <when> can be
|
||||||
either "none", "untracked", "dirty" or "all", which is the default
|
either "none", "untracked", "dirty" or "all", which is the default.
|
||||||
Using "none" will consider the submodule modified when it either contains
|
Using "none" will consider the submodule modified when it either contains
|
||||||
untracked or modified files or its HEAD differs from the commit recorded
|
untracked or modified files or its HEAD differs from the commit recorded
|
||||||
in the superproject and can be used to override any settings of the
|
in the superproject and can be used to override any settings of the
|
||||||
|
@ -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
|
<<Individual Developer (Standalone)>> commands are essential for
|
||||||
@ -12,7 +12,7 @@ commands in addition to the above.
|
|||||||
|
|
||||||
<<Repository Administration>> commands are for system
|
<<Repository Administration>> commands are for system
|
||||||
administrators who are responsible for the care and feeding
|
administrators who are responsible for the care and feeding
|
||||||
of git repositories.
|
of Git repositories.
|
||||||
|
|
||||||
|
|
||||||
Individual Developer (Standalone)[[Individual Developer (Standalone)]]
|
Individual Developer (Standalone)[[Individual Developer (Standalone)]]
|
||||||
@ -87,7 +87,7 @@ $ git log v2.43.. curses/ <12>
|
|||||||
+
|
+
|
||||||
<1> create a new topic branch.
|
<1> create a new topic branch.
|
||||||
<2> revert your botched changes in `curses/ux_audio_oss.c`.
|
<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.
|
modification will be caught if you do `git commit -a` later.
|
||||||
<4> to see what changes you are committing.
|
<4> to see what changes you are committing.
|
||||||
<5> commit everything as you have tested, with your sign-off.
|
<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
|
Examples
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
My typical GIT day.::
|
My typical Git day.::
|
||||||
+
|
+
|
||||||
------------
|
------------
|
||||||
$ git status <1>
|
$ git status <1>
|
||||||
@ -332,7 +332,7 @@ Run git-daemon to serve /pub/scm from xinetd.::
|
|||||||
------------
|
------------
|
||||||
$ cat /etc/xinetd.d/git-daemon
|
$ cat /etc/xinetd.d/git-daemon
|
||||||
# default: off
|
# default: off
|
||||||
# description: The git server offers access to git repositories
|
# description: The Git server offers access to Git repositories
|
||||||
service git
|
service git
|
||||||
{
|
{
|
||||||
disable = no
|
disable = no
|
||||||
|
@ -8,11 +8,15 @@
|
|||||||
option old data in `.git/FETCH_HEAD` will be overwritten.
|
option old data in `.git/FETCH_HEAD` will be overwritten.
|
||||||
|
|
||||||
--depth=<depth>::
|
--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])
|
`git clone` with `--depth=<depth>` option (see linkgit:git-clone[1])
|
||||||
to the specified number of commits from the tip of each remote
|
to the specified number of commits from the tip of each remote
|
||||||
branch history. Tags for the deepened commits are not fetched.
|
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[]
|
ifndef::git-pull[]
|
||||||
--dry-run::
|
--dry-run::
|
||||||
Show what would be done, without making any changes.
|
Show what would be done, without making any changes.
|
||||||
|
@ -9,9 +9,9 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
|
'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
|
||||||
[--edit | -e] [--all | [--update | -u]] [--intent-to-add | -N]
|
[--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
|
||||||
[--refresh] [--ignore-errors] [--ignore-missing] [--]
|
[--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]
|
||||||
[<pathspec>...]
|
[--] [<pathspec>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -100,23 +100,40 @@ apply to the index. See EDITING PATCHES below.
|
|||||||
|
|
||||||
-u::
|
-u::
|
||||||
--update::
|
--update::
|
||||||
Only match <pathspec> against already tracked files in
|
Update the index just where it already has an entry matching
|
||||||
the index rather than the working tree. That means that it
|
<pathspec>. This removes as well as modifies index entries to
|
||||||
will never stage new files, but that it will stage modified
|
match the working tree, but adds no new files.
|
||||||
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.
|
|
||||||
+
|
+
|
||||||
If no <pathspec> is given, default to "."; in other words,
|
If no <pathspec> is given, the current version of Git defaults to
|
||||||
update all tracked files in the current directory and its
|
"."; in other words, update all tracked files in the current directory
|
||||||
subdirectories.
|
and its subdirectories. This default will change in a future version
|
||||||
|
of Git, hence the form without <pathspec> should not be used.
|
||||||
|
|
||||||
-A::
|
-A::
|
||||||
--all::
|
--all::
|
||||||
Like `-u`, but match <pathspec> against files in the
|
--no-ignore-removal::
|
||||||
working tree in addition to the index. That means that it
|
Update the index not only where the working tree has a file
|
||||||
will find new files as well as staging modified content and
|
matching <pathspec> but also where the index already has an
|
||||||
removing files that are no longer in the working tree.
|
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::
|
-N::
|
||||||
--intent-to-add::
|
--intent-to-add::
|
||||||
|
@ -9,12 +9,12 @@ git-am - Apply a series of patches from a mailbox
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git am' [--signoff] [--keep] [--keep-cr | --no-keep-cr] [--utf8 | --no-utf8]
|
'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
|
||||||
[--3way] [--interactive] [--committer-date-is-author-date]
|
[--3way] [--interactive] [--committer-date-is-author-date]
|
||||||
[--ignore-date] [--ignore-space-change | --ignore-whitespace]
|
[--ignore-date] [--ignore-space-change | --ignore-whitespace]
|
||||||
[--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
|
[--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
|
||||||
[--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
|
[--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
|
||||||
[--scissors | --no-scissors]
|
[--[no-]scissors]
|
||||||
[(<mbox> | <Maildir>)...]
|
[(<mbox> | <Maildir>)...]
|
||||||
'git am' (--continue | --skip | --abort)
|
'git am' (--continue | --skip | --abort)
|
||||||
|
|
||||||
@ -43,8 +43,7 @@ OPTIONS
|
|||||||
--keep-non-patch::
|
--keep-non-patch::
|
||||||
Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
|
Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
|
||||||
|
|
||||||
--keep-cr::
|
--[no-]keep-cr::
|
||||||
--no-keep-cr::
|
|
||||||
With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1])
|
With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1])
|
||||||
with the same option, to prevent it from stripping CR at the end of
|
with the same option, to prevent it from stripping CR at the end of
|
||||||
lines. `am.keepcr` configuration variable can be used to specify the
|
lines. `am.keepcr` configuration variable can be used to specify the
|
||||||
|
@ -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 `--index` option the patch is also applied to the index, and
|
||||||
with the `--cached` option the patch is only applied to the index.
|
with the `--cached` option the patch is only applied to the index.
|
||||||
Without these options, the command applies the patch only to files,
|
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
|
This command applies the patch but does not create a commit. Use
|
||||||
linkgit:git-am[1] to create commits from patches generated by
|
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
|
* `fix` outputs warnings for a few such errors, and applies the
|
||||||
patch after fixing them (`strip` is a synonym --- the tool
|
patch after fixing them (`strip` is a synonym --- the tool
|
||||||
used to consider only trailing whitespace characters as errors, and the
|
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
|
* `error` outputs warnings for a few such errors, and refuses
|
||||||
to apply the patch.
|
to apply the patch.
|
||||||
* `error-all` is similar to `error` but shows all errors.
|
* `error-all` is similar to `error` but shows all errors.
|
||||||
|
@ -3,7 +3,7 @@ git-archimport(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-archimport - Import an Arch repository into git
|
git-archimport - Import an Arch repository into Git
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
@ -40,13 +40,13 @@ directory. To follow the development of a project that uses Arch, rerun
|
|||||||
incremental imports.
|
incremental imports.
|
||||||
|
|
||||||
While 'git archimport' will try to create sensible branch names for the
|
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
|
archives that it imports, it is also possible to specify Git branch names
|
||||||
manually. To do so, write a git branch name after each <archive/branch>
|
manually. To do so, write a Git branch name after each <archive/branch>
|
||||||
parameter, separated by a colon. This way, you can shorten the Arch
|
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".
|
"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
|
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
|
branch, after the second branch is created. Still, this is useful to
|
||||||
convert Arch repositories that had been rotated periodically.
|
convert Arch repositories that had been rotated periodically.
|
||||||
@ -54,14 +54,14 @@ convert Arch repositories that had been rotated periodically.
|
|||||||
|
|
||||||
MERGES
|
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
|
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
|
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.
|
import process does lose some patch-trading metadata.
|
||||||
|
|
||||||
Fortunately, when you try and merge branches imported from Arch,
|
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.
|
patches that have been traded out-of-sequence between the branches.
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
|
@ -10,7 +10,7 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
|
'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
|
||||||
[-o | --output=<file>] [--worktree-attributes]
|
[-o <file> | --output=<file>] [--worktree-attributes]
|
||||||
[--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
|
[--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
|
||||||
[<path>...]
|
[<path>...]
|
||||||
|
|
||||||
@ -56,7 +56,8 @@ OPTIONS
|
|||||||
Write the archive to <file> instead of stdout.
|
Write the archive to <file> instead of stdout.
|
||||||
|
|
||||||
--worktree-attributes::
|
--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>::
|
<extra>::
|
||||||
This can be any options that the archiver backend understands.
|
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"
|
user-defined formats, but true for the "tar.gz" and "tgz"
|
||||||
formats.
|
formats.
|
||||||
|
|
||||||
|
[[ATTRIBUTES]]
|
||||||
ATTRIBUTES
|
ATTRIBUTES
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -128,7 +130,7 @@ export-ignore::
|
|||||||
added to archive files. See linkgit:gitattributes[5] for details.
|
added to archive files. See linkgit:gitattributes[5] for details.
|
||||||
|
|
||||||
export-subst::
|
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.
|
expand several placeholders when adding this file to an archive.
|
||||||
See linkgit:gitattributes[5] for details.
|
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
|
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
|
"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
|
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>").
|
example "git blame" or "git log -S<string>").
|
||||||
|
|
||||||
Driving a bisection manually
|
Driving a bisection manually
|
||||||
@ -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
|
have been removed by rules a) and b) respectively, and because commits
|
||||||
G are removed by rule b) too.
|
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:
|
given by:
|
||||||
|
|
||||||
-------------
|
-------------
|
||||||
@ -710,8 +710,8 @@ Skip algorithm discussed
|
|||||||
After step 7) (in the skip algorithm), we could check if the second
|
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
|
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
|
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
|
developed in Git version 1.5.4 (released on February 1st 2008) until
|
||||||
git version 1.6.4 (released July 29th 2009).
|
Git version 1.6.4 (released July 29th 2009).
|
||||||
|
|
||||||
But Ingo Molnar and H. Peter Anvin (another well known linux kernel
|
But Ingo Molnar and H. Peter Anvin (another well known linux kernel
|
||||||
developer) both complained that sometimes the best bisection points
|
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
|
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
|
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
|
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
|
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
|
for us). Each new release results in ~40% fewer bugs (almost certainly
|
||||||
due to how we now feel about writing tests).
|
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"
|
message or the author. And it can also be used instead of git "grafts"
|
||||||
to link a repository with another old repository.
|
to link a repository with another old repository.
|
||||||
|
|
||||||
In fact it's this last feature that "sold" it to the git community, so
|
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
|
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.
|
be released in Git 1.6.5 in October or November 2009.
|
||||||
|
|
||||||
One problem with "git replace" is that currently it stores all the
|
One problem with "git replace" is that currently it stores all the
|
||||||
replacements refs in "refs/replace/", but it would be perhaps better
|
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
|
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
|
some ideas and helping me improve them, for improving "git bisect" a
|
||||||
lot and for his awesome work in maintaining and developing Git.
|
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.
|
evangelizing "git bisect", Git and Linux.
|
||||||
|
|
||||||
Many thanks to the many other great people who helped one way or
|
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,
|
Schindelin, H. Peter Anvin, Daniel Barkalow, Bill Lear, John Hawley,
|
||||||
Shawn O. Pierce, Jeff King, Sam Vilain, Jon Seymour.
|
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
|
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
|
$ git bisect reset
|
||||||
@ -169,14 +169,14 @@ the revision as good or bad in the usual manner.
|
|||||||
Bisect skip
|
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:
|
to do it for you by issuing the command:
|
||||||
|
|
||||||
------------
|
------------
|
||||||
$ git bisect skip # Current version cannot be tested
|
$ 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.
|
a bad commit and one or more skipped commits.
|
||||||
|
|
||||||
You can even skip a range of commits, instead of just one commit,
|
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 start HEAD v1.2 -- # HEAD is bad, v1.2 is good
|
||||||
$ git bisect run make # "make" builds the app
|
$ git bisect run make # "make" builds the app
|
||||||
|
$ git bisect reset # quit the bisect session
|
||||||
------------
|
------------
|
||||||
|
|
||||||
* Automatically bisect a test failure between origin and HEAD:
|
* 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 start HEAD origin -- # HEAD is bad, origin is good
|
||||||
$ git bisect run make test # "make test" builds and tests
|
$ git bisect run make test # "make test" builds and tests
|
||||||
|
$ git bisect reset # quit the bisect session
|
||||||
------------
|
------------
|
||||||
|
|
||||||
* Automatically bisect a broken test case:
|
* 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?
|
~/check_test_case.sh # does the test case pass?
|
||||||
$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10
|
$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10
|
||||||
$ git bisect run ~/test.sh
|
$ 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"
|
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 start HEAD HEAD~10 -- # culprit is among the last 10
|
||||||
$ git bisect run sh -c "make || exit 125; ~/check_test_case.sh"
|
$ 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
|
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.$$
|
rm -f tmp.$$
|
||||||
test $rc = 0'
|
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
|
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"
|
replaced; you need to use a tool such as 'git diff' or the "pickaxe"
|
||||||
interface briefly mentioned in the following paragraph.
|
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
|
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
|
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
|
between files, and eventually deleted or replaced. It works by searching for
|
||||||
|
@ -22,13 +22,15 @@ SYNOPSIS
|
|||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
With no arguments, existing branches are listed and the current branch will
|
If `--list` is given, or if there are no non-option arguments, existing
|
||||||
be highlighted with an asterisk. Option `-r` causes the remote-tracking
|
branches are listed; the current branch will be highlighted with an
|
||||||
branches to be listed, and option `-a` shows both. This list mode is also
|
asterisk. Option `-r` causes the remote-tracking branches to be listed,
|
||||||
activated by the `--list` option (see below).
|
and option `-a` shows both local and remote branches. If a `<pattern>`
|
||||||
<pattern> restricts the output to matching branches, the pattern is a shell
|
is given, it is used as a shell wildcard to restrict the output to
|
||||||
wildcard (i.e., matched using fnmatch(3)).
|
matching branches. If multiple patterns are given, a branch is shown if
|
||||||
Multiple patterns may be given; if any of them matches, the branch is shown.
|
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
|
With `--contains`, shows only the branches that contain the named commit
|
||||||
(in other words, the branches whose tip commits are descendants of the
|
(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
|
working tree to it; use "git checkout <newbranch>" to switch to the
|
||||||
new branch.
|
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
|
branch so that 'git pull' will appropriately merge from
|
||||||
the remote-tracking branch. This behavior may be changed via the global
|
the remote-tracking branch. This behavior may be changed via the global
|
||||||
`branch.autosetupmerge` configuration flag. That setting can be
|
`branch.autosetupmerge` configuration flag. That setting can be
|
||||||
@ -193,15 +195,15 @@ start-point is either a local or remote-tracking branch.
|
|||||||
|
|
||||||
--contains [<commit>]::
|
--contains [<commit>]::
|
||||||
Only list branches which contain the specified commit (HEAD
|
Only list branches which contain the specified commit (HEAD
|
||||||
if not specified).
|
if not specified). Implies `--list`.
|
||||||
|
|
||||||
--merged [<commit>]::
|
--merged [<commit>]::
|
||||||
Only list branches whose tips are reachable from the
|
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>]::
|
--no-merged [<commit>]::
|
||||||
Only list branches whose tips are not reachable from the
|
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>::
|
<branchname>::
|
||||||
The name of the branch to create or delete.
|
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
|
Some workflows require that one or more branches of development on one
|
||||||
machine be replicated on another machine, but the two machines cannot
|
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
|
ssh, rsync, http) cannot be used. This command provides support for
|
||||||
'git fetch' and 'git pull' to operate by packaging objects and references
|
'git fetch' and 'git pull' to operate by packaging objects and references
|
||||||
in an archive at the originating machine, then importing those into
|
in an archive at the originating machine, then importing those into
|
||||||
|
@ -20,7 +20,7 @@ object type, or '-s' is used to find the object size, or '--textconv' is used
|
|||||||
(which implies type "blob").
|
(which implies type "blob").
|
||||||
|
|
||||||
In the second form, a list of objects (separated by linefeeds) is provided on
|
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
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
@ -58,11 +58,11 @@ OPTIONS
|
|||||||
to apply the filter to the content recorded in the index at <path>.
|
to apply the filter to the content recorded in the index at <path>.
|
||||||
|
|
||||||
--batch::
|
--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.
|
stdin. May not be combined with any other options or arguments.
|
||||||
|
|
||||||
--batch-check::
|
--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.
|
be combined with any other options or arguments.
|
||||||
|
|
||||||
OUTPUT
|
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[1]
|
||||||
|
|
||||||
|
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
|
Checks if a given 'refname' is acceptable, and exits with a non-zero
|
||||||
status if it is not.
|
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
|
branch head is stored in the `refs/heads` hierarchy, while
|
||||||
a tag is stored in the `refs/tags` hierarchy of the ref namespace
|
a tag is stored in the `refs/tags` hierarchy of the ref namespace
|
||||||
(typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
|
(typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
|
||||||
directories or, as entries in file `$GIT_DIR/packed-refs`
|
directories or, as entries in file `$GIT_DIR/packed-refs`
|
||||||
if refs are packed by `git gc`).
|
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)
|
. They can include slash `/` for hierarchical (directory)
|
||||||
grouping, but no slash-separated component can begin with a
|
grouping, but no slash-separated component can begin with a
|
||||||
@ -83,8 +83,7 @@ typed the branch name.
|
|||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
--allow-onelevel::
|
--[no-]allow-onelevel::
|
||||||
--no-allow-onelevel::
|
|
||||||
Controls whether one-level refnames are accepted (i.e.,
|
Controls whether one-level refnames are accepted (i.e.,
|
||||||
refnames that do not contain multiple `/`-separated
|
refnames that do not contain multiple `/`-separated
|
||||||
components). The default is `--no-allow-onelevel`.
|
components). The default is `--no-allow-onelevel`.
|
||||||
|
@ -131,9 +131,9 @@ entries; instead, unmerged entries are ignored.
|
|||||||
"--track" in linkgit:git-branch[1] for details.
|
"--track" in linkgit:git-branch[1] for details.
|
||||||
+
|
+
|
||||||
If no '-b' option is given, the name of the new branch will be
|
If no '-b' option is given, the name of the new branch will be
|
||||||
derived from the remote-tracking branch. If "remotes/" or "refs/remotes/"
|
derived from the remote-tracking branch, by looking at the local part of
|
||||||
is prefixed it is stripped away, and then the part up to the
|
the refspec configured for the corresponding remote, and then stripping
|
||||||
next slash (which would be the nickname of the remote) is removed.
|
the initial part up to the "*".
|
||||||
This would tell us to use "hack" as the local branch when branching
|
This would tell us to use "hack" as the local branch when branching
|
||||||
off of "origin/hack" (or "remotes/origin/hack", or even
|
off of "origin/hack" (or "remotes/origin/hack", or even
|
||||||
"refs/remotes/origin/hack"). If the given name has no slash, or the above
|
"refs/remotes/origin/hack"). If the given name has no slash, or the above
|
||||||
@ -180,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
|
Afterwards you will be ready to prepare your new files, repopulating the
|
||||||
working tree, by copying them from elsewhere, extracting a tarball, etc.
|
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::
|
-m::
|
||||||
--merge::
|
--merge::
|
||||||
When switching branches,
|
When switching branches,
|
||||||
@ -333,7 +339,7 @@ a---b---c---d branch 'master' (refers to commit 'd')
|
|||||||
tag 'v2.0' (refers to commit 'b')
|
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:
|
at what happens when we then checkout master:
|
||||||
|
|
||||||
------------
|
------------
|
||||||
@ -350,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
|
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
|
'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',
|
before that happens. If we have not yet moved away from commit 'f',
|
||||||
any of these will create a reference to it:
|
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
|
Cleans the working tree by recursively removing files that are not
|
||||||
under version control, starting from the current directory.
|
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
|
option is specified, ignored files are also removed. This can, for
|
||||||
example, be useful to remove all build products.
|
example, be useful to remove all build products.
|
||||||
|
|
||||||
@ -27,13 +27,13 @@ OPTIONS
|
|||||||
-------
|
-------
|
||||||
-d::
|
-d::
|
||||||
Remove untracked directories in addition to untracked files.
|
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
|
repository, it is not removed by default. Use -f option twice
|
||||||
if you really want to remove such a directory.
|
if you really want to remove such a directory.
|
||||||
|
|
||||||
-f::
|
-f::
|
||||||
--force::
|
--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.
|
to false, 'git clean' will refuse to run unless given -f or -n.
|
||||||
|
|
||||||
-n::
|
-n::
|
||||||
@ -60,7 +60,7 @@ OPTIONS
|
|||||||
working directory to test a clean build.
|
working directory to test a clean build.
|
||||||
|
|
||||||
-X::
|
-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.
|
everything from scratch, but keep manually created files.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||||||
[-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
|
[-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
|
||||||
[--separate-git-dir <git dir>]
|
[--separate-git-dir <git dir>]
|
||||||
[--depth <depth>] [--[no-]single-branch]
|
[--depth <depth>] [--[no-]single-branch]
|
||||||
[--recursive|--recurse-submodules] [--] <repository>
|
[--recursive | --recurse-submodules] [--] <repository>
|
||||||
[<directory>]
|
[<directory>]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
@ -43,7 +43,7 @@ OPTIONS
|
|||||||
--local::
|
--local::
|
||||||
-l::
|
-l::
|
||||||
When the repository to clone from is on a local machine,
|
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
|
mechanism and clones the repository by making a copy of
|
||||||
HEAD and everything under objects and refs directories.
|
HEAD and everything under objects and refs directories.
|
||||||
The files under `.git/objects/` directory are hardlinked
|
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
|
repository is specified as a URL, then this flag is ignored (and we
|
||||||
never use the local optimizations). Specifying `--no-local` will
|
never use the local optimizations). Specifying `--no-local` will
|
||||||
override the default when `/path/to/repo` is given, using the regular
|
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
|
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
|
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::
|
--no-hardlinks::
|
||||||
Optimize the cloning process from a repository on a
|
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
|
*NOTE*: this is a possibly dangerous operation; do *not* use
|
||||||
it unless you understand what it does. If you clone your
|
it unless you understand what it does. If you clone your
|
||||||
repository using this option and then delete branches (or use any
|
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).
|
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].)
|
which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
|
||||||
If these objects are removed and were referenced by the cloned repository,
|
If these objects are removed and were referenced by the cloned repository,
|
||||||
then the cloned repository will become corrupt.
|
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.
|
No checkout of HEAD is performed after the clone is complete.
|
||||||
|
|
||||||
--bare::
|
--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
|
creating `<directory>` and placing the administrative
|
||||||
files in `<directory>/.git`, make the `<directory>`
|
files in `<directory>/.git`, make the `<directory>`
|
||||||
itself the `$GIT_DIR`. This obviously implies the `-n`
|
itself the `$GIT_DIR`. This obviously implies the `-n`
|
||||||
@ -188,7 +188,7 @@ objects from the source repository into a pack in the cloned repository.
|
|||||||
with a long history, and would want to send in fixes
|
with a long history, and would want to send in fixes
|
||||||
as patches.
|
as patches.
|
||||||
|
|
||||||
--single-branch::
|
--[no-]single-branch::
|
||||||
Clone only the history leading to the tip of a single branch,
|
Clone only the history leading to the tip of a single branch,
|
||||||
either specified by the `--branch` option or the primary
|
either specified by the `--branch` option or the primary
|
||||||
branch remote's `HEAD` points at. When creating a shallow
|
branch remote's `HEAD` points at. When creating a shallow
|
||||||
@ -213,8 +213,8 @@ objects from the source repository into a pack in the cloned repository.
|
|||||||
--separate-git-dir=<git dir>::
|
--separate-git-dir=<git dir>::
|
||||||
Instead of placing the cloned repository where it is supposed
|
Instead of placing the cloned repository where it is supposed
|
||||||
to be, place the cloned repository at the specified directory,
|
to be, place the cloned repository at the specified directory,
|
||||||
then make a filesytem-agnostic git symbolic link to there.
|
then make a filesytem-agnostic Git symbolic link to there.
|
||||||
The result is git repository can be separated from working
|
The result is Git repository can be separated from working
|
||||||
tree.
|
tree.
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,9 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git commit-tree' <tree> [(-p <parent>)...] < changelog
|
'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
|
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
|
directory, a commit represents that state in "time", and explains how
|
||||||
to get there.
|
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
|
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
|
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
|
`.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
|
Read the commit log message from the given file. Use `-` to read
|
||||||
from the standard input.
|
from the standard input.
|
||||||
|
|
||||||
|
-S[<keyid>]::
|
||||||
|
GPG-sign commit.
|
||||||
|
|
||||||
|
|
||||||
Commit Information
|
Commit Information
|
||||||
------------------
|
------------------
|
||||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
|||||||
[--dry-run] [(-c | -C | --fixup | --squash) <commit>]
|
[--dry-run] [(-c | -C | --fixup | --squash) <commit>]
|
||||||
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
|
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
|
||||||
[--allow-empty-message] [--no-verify] [-e] [--author=<author>]
|
[--allow-empty-message] [--no-verify] [-e] [--author=<author>]
|
||||||
[--date=<date>] [--cleanup=<mode>] [--status | --no-status]
|
[--date=<date>] [--cleanup=<mode>] [--[no-]status]
|
||||||
[-i | -o] [-S[<keyid>]] [--] [<file>...]
|
[-i | -o] [-S[<keyid>]] [--] [<file>...]
|
||||||
|
|
||||||
DESCRIPTION
|
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
|
3. by listing files as arguments to the 'commit' command, in which
|
||||||
case the commit will ignore changes staged in the index, and instead
|
case the commit will ignore changes staged in the index, and instead
|
||||||
record the current content of the listed files (which must already
|
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
|
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
|
"add" changes from all known files (i.e. all files that are already
|
||||||
@ -59,7 +59,7 @@ OPTIONS
|
|||||||
--all::
|
--all::
|
||||||
Tell the command to automatically stage files that have
|
Tell the command to automatically stage files that have
|
||||||
been modified and deleted, but new files you have not
|
been modified and deleted, but new files you have not
|
||||||
told git about are not affected.
|
told Git about are not affected.
|
||||||
|
|
||||||
-p::
|
-p::
|
||||||
--patch::
|
--patch::
|
||||||
@ -137,6 +137,8 @@ OPTIONS
|
|||||||
-m <msg>::
|
-m <msg>::
|
||||||
--message=<msg>::
|
--message=<msg>::
|
||||||
Use the given <msg> as the commit message.
|
Use the given <msg> as the commit message.
|
||||||
|
If multiple `-m` options are given, their values are
|
||||||
|
concatenated as separate paragraphs.
|
||||||
|
|
||||||
-t <file>::
|
-t <file>::
|
||||||
--template=<file>::
|
--template=<file>::
|
||||||
@ -172,20 +174,31 @@ OPTIONS
|
|||||||
linkgit:git-commit-tree[1].
|
linkgit:git-commit-tree[1].
|
||||||
|
|
||||||
--cleanup=<mode>::
|
--cleanup=<mode>::
|
||||||
This option sets how the commit message is cleaned up.
|
This option determines how the supplied commit message should be
|
||||||
The '<mode>' can be one of 'verbatim', 'whitespace', 'strip',
|
cleaned up before committing. The '<mode>' can be `strip`,
|
||||||
and 'default'. The 'default' mode will strip leading and
|
`whitespace`, `verbatim`, or `default`.
|
||||||
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,
|
strip::
|
||||||
'whitespace' removes just leading/trailing whitespace lines
|
Strip leading and trailing empty lines, trailing whitespace, and
|
||||||
and 'strip' removes both whitespace and commentary.
|
#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::
|
-e::
|
||||||
--edit::
|
--edit::
|
||||||
The message taken from file with `-F`, command line with
|
The message taken from file with `-F`, command line with
|
||||||
`-m`, and from file with `-C` are usually used as the
|
`-m`, and from commit object with `-C` are usually used as
|
||||||
commit log message unmodified. This option lets you
|
the commit log message unmodified. This option lets you
|
||||||
further edit the message taken from these sources.
|
further edit the message taken from these sources.
|
||||||
|
|
||||||
--no-edit::
|
--no-edit::
|
||||||
@ -194,14 +207,15 @@ OPTIONS
|
|||||||
without changing its commit message.
|
without changing its commit message.
|
||||||
|
|
||||||
--amend::
|
--amend::
|
||||||
Used to amend the tip of the current branch. Prepare the tree
|
Replace the tip of the current branch by creating a new
|
||||||
object you would want to replace the latest commit as usual
|
commit. The recorded tree is prepared as usual (including
|
||||||
(this includes the usual -i/-o and explicit paths), and the
|
the effect of the `-i` and `-o` options and explicit
|
||||||
commit log editor is seeded with the commit message from the
|
pathspec), and the message from the original commit is used
|
||||||
tip of the current branch. The commit you create replaces the
|
as the starting point, instead of an empty message, when no
|
||||||
current tip -- if it was a merge, it will have the parents of
|
other message is specified from the command line via options
|
||||||
the current tip as parents -- so the current top commit is
|
such as `-m`, `-F`, `-c`, etc. The new commit has the same
|
||||||
discarded.
|
parents and author as the current one (the `--reset-author`
|
||||||
|
option can countermand this).
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
It is a rough equivalent for:
|
It is a rough equivalent for:
|
||||||
@ -402,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
|
with a single short (less than 50 character) line summarizing the
|
||||||
change, followed by a blank line and then a more thorough description.
|
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
|
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
|
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.
|
the title on the Subject line and the rest of the commit in the body.
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ OPTIONS
|
|||||||
--get::
|
--get::
|
||||||
Get the value for a given key (optionally filtered by a regex
|
Get the value for a given key (optionally filtered by a regex
|
||||||
matching the value). Returns error code 1 if the key was not
|
matching the value). Returns error code 1 if the key was not
|
||||||
found and error code 2 if multiple key values were found.
|
found and the last value if multiple key values were found.
|
||||||
|
|
||||||
--get-all::
|
--get-all::
|
||||||
Like get, but does not fail if the number of values for the key
|
Like get, but does not fail if the number of values for the key
|
||||||
@ -186,8 +186,7 @@ See also <<FILES>>.
|
|||||||
Opens an editor to modify the specified config file; either
|
Opens an editor to modify the specified config file; either
|
||||||
'--system', '--global', or repository (default).
|
'--system', '--global', or repository (default).
|
||||||
|
|
||||||
--includes::
|
--[no-]includes::
|
||||||
--no-includes::
|
|
||||||
Respect `include.*` directives in config files when looking up
|
Respect `include.*` directives in config files when looking up
|
||||||
values. Defaults to on.
|
values. Defaults to on.
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ git-count-objects - Count unpacked number of objects and their disk consumption
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git count-objects' [-v]
|
'git count-objects' [-v] [-H | --human-readable]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -20,11 +20,29 @@ OPTIONS
|
|||||||
-------
|
-------
|
||||||
-v::
|
-v::
|
||||||
--verbose::
|
--verbose::
|
||||||
In addition to the number of loose objects and disk
|
Report in more detail:
|
||||||
space consumed, it reports the number of in-pack
|
+
|
||||||
objects, number of packs, disk space consumed by those packs,
|
count: the number of loose objects
|
||||||
and number of objects that can be removed by running
|
+
|
||||||
`git prune-packed`.
|
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
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -14,13 +14,13 @@ git config credential.helper 'cache [options]'
|
|||||||
DESCRIPTION
|
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
|
programs. The stored credentials never touch the disk, and are forgotten
|
||||||
after a configurable timeout. The cache is accessible over a Unix
|
after a configurable timeout. The cache is accessible over a Unix
|
||||||
domain socket, restricted to the current user by filesystem permissions.
|
domain socket, restricted to the current user by filesystem permissions.
|
||||||
|
|
||||||
You probably don't want to invoke this command directly; it is meant to
|
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.
|
linkgit:gitcredentials[7] or `EXAMPLES` below.
|
||||||
|
|
||||||
OPTIONS
|
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.
|
that integrates with secure storage provided by your operating system.
|
||||||
|
|
||||||
This command stores credentials indefinitely on disk for use by future
|
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
|
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
|
||||||
@ -63,11 +63,11 @@ stored on its own line as a URL like:
|
|||||||
https://user:pass@example.com
|
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
|
credential-store will consider that context a pattern to match against
|
||||||
each entry in the credentials file. If the protocol, hostname, and
|
each entry in the credentials file. If the protocol, hostname, and
|
||||||
username (if we already have one) match, then the password is returned
|
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.
|
for more information.
|
||||||
|
|
||||||
GIT
|
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
|
from system-specific helpers, as well as prompting the user for
|
||||||
usernames and passwords. The git-credential command exposes this
|
usernames and passwords. The git-credential command exposes this
|
||||||
interface to scripts which may want to retrieve, store, or prompt for
|
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
|
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.
|
background on the concepts.
|
||||||
|
|
||||||
git-credential takes an "action" option on the command-line (one of
|
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
|
`https://example.com/foo.git`, we might generate the following
|
||||||
credential description (don't forget the blank line at the end; it
|
credential description (don't forget the blank line at the end; it
|
||||||
tells `git credential` that the application finished feeding all the
|
tells `git credential` that the application finished feeding all the
|
||||||
infomation it has):
|
information it has):
|
||||||
|
|
||||||
protocol=https
|
protocol=https
|
||||||
host=example.com
|
host=example.com
|
||||||
@ -74,7 +74,7 @@ infomation it has):
|
|||||||
password=secr3t
|
password=secr3t
|
||||||
+
|
+
|
||||||
In most cases, this means the attributes given in the input will be
|
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
|
description, for example by removing the `path` attribute when the
|
||||||
protocol is HTTP(s) and `credential.useHttpPath` is false.
|
protocol is HTTP(s) and `credential.useHttpPath` is false.
|
||||||
+
|
+
|
||||||
|
@ -15,8 +15,8 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
Exports a commit from GIT to a CVS checkout, making it easier
|
Exports a commit from Git to a CVS checkout, making it easier
|
||||||
to merge patches from a git repository into a CVS repository.
|
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
|
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
|
from the root of the CVS working copy. In the latter case GIT_DIR must
|
||||||
@ -71,7 +71,7 @@ OPTIONS
|
|||||||
-w::
|
-w::
|
||||||
Specify the location of the CVS checkout to use for the export. This
|
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
|
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'.
|
value of 'cvsexportcommit.cvsdir'.
|
||||||
|
|
||||||
-W::
|
-W::
|
||||||
|
@ -24,7 +24,7 @@ performing a one-shot import of a CVS repository consider using
|
|||||||
link:http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or
|
link:http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or
|
||||||
link:https://github.com/BartMassey/parsecvs[parsecvs].
|
link:https://github.com/BartMassey/parsecvs[parsecvs].
|
||||||
|
|
||||||
Imports a CVS repository into git. It will either create a new
|
Imports a CVS repository into Git. It will either create a new
|
||||||
repository, or incrementally import into an existing one.
|
repository, or incrementally import into an existing one.
|
||||||
|
|
||||||
Splitting the CVS log into patch sets is done by 'cvsps'.
|
Splitting the CVS log into patch sets is done by 'cvsps'.
|
||||||
@ -65,18 +65,18 @@ OPTIONS
|
|||||||
`CVS/Repository`.
|
`CVS/Repository`.
|
||||||
|
|
||||||
-C <target-dir>::
|
-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.
|
exist, it will be created. Default is the current directory.
|
||||||
|
|
||||||
-r <remote>::
|
-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>
|
Moves all CVS branches into remotes/<remote>/<branch>
|
||||||
akin to the way 'git clone' uses 'origin' by default.
|
akin to the way 'git clone' uses 'origin' by default.
|
||||||
|
|
||||||
-o <branch-for-HEAD>::
|
-o <branch-for-HEAD>::
|
||||||
When no remote is specified (via -r) the 'HEAD' branch
|
When no remote is specified (via -r) the 'HEAD' branch
|
||||||
from CVS is imported to the 'origin' branch within the git
|
from CVS is imported to the 'origin' branch within the Git
|
||||||
repository, as 'HEAD' already has a special meaning for git.
|
repository, as 'HEAD' already has a special meaning for Git.
|
||||||
When a remote is specified the 'HEAD' branch is named
|
When a remote is specified the 'HEAD' branch is named
|
||||||
remotes/<remote>/master mirroring 'git clone' behaviour.
|
remotes/<remote>/master mirroring 'git clone' behaviour.
|
||||||
Use this option if you want to import into a different
|
Use this option if you want to import into a different
|
||||||
|
@ -3,7 +3,7 @@ git-cvsserver(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-cvsserver - A CVS server emulator for git
|
git-cvsserver - A CVS server emulator for Git
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
@ -60,7 +60,7 @@ unless '--export-all' was given, too.
|
|||||||
DESCRIPTION
|
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,
|
It is highly functional. However, not all methods are implemented,
|
||||||
and for those methods that are implemented,
|
and for those methods that are implemented,
|
||||||
@ -72,9 +72,9 @@ plugin. Most functionality works fine with both of these clients.
|
|||||||
LIMITATIONS
|
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
|
from what most CVS users would expect since in CVS modules usually represent
|
||||||
one or more directories.
|
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>
|
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
|
in the PATH. If you have clients that do not accept the CVS_SERVER
|
||||||
environment variable, you can rename 'git-cvsserver' to `cvs`.
|
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
|
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
|
write access to the log file and to the database (see
|
||||||
<<dbbackend,Database Backend>>. If you want to offer write access over
|
<<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].
|
file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].
|
||||||
|
|
||||||
[[configaccessmethod]]
|
[[configaccessmethod]]
|
||||||
@ -181,7 +181,7 @@ allowing access over SSH.
|
|||||||
3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,
|
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
|
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
|
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'.
|
_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.
|
shell is bash, .bashrc may be a reasonable alternative.
|
||||||
|
|
||||||
5. Clients should now be able to check out the project. Use the CVS 'module'
|
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
|
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
|
`-d <dir_name>`. For example, this checks out 'master' branch to the
|
||||||
`project-master` directory:
|
`project-master` directory:
|
||||||
@ -210,7 +210,7 @@ allowing access over SSH.
|
|||||||
Database Backend
|
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
|
store information about the repository to maintain consistent
|
||||||
CVS revision numbers. The database needs to be
|
CVS revision numbers. The database needs to be
|
||||||
updated (i.e. written to) after every commit.
|
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
|
the database to work reliably (otherwise you need to make sure
|
||||||
that the database is up-to-date any time 'git-cvsserver' is executed).
|
that the database is up-to-date any time 'git-cvsserver' is executed).
|
||||||
|
|
||||||
By default it uses SQLite databases in the git directory, named
|
By default it uses SQLite databases in the Git directory, named
|
||||||
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
|
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
|
||||||
temporary files in the same directory as the database file on
|
temporary files in the same directory as the database file on
|
||||||
write so it might not be enough to grant the users using
|
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:
|
In `dbdriver` and `dbuser` you can use the following variables:
|
||||||
|
|
||||||
%G::
|
%G::
|
||||||
git directory name
|
Git directory name
|
||||||
%g::
|
%g::
|
||||||
git directory name, where all characters except for
|
Git directory name, where all characters except for
|
||||||
alpha-numeric ones, `.`, and `-` are replaced with
|
alpha-numeric ones, `.`, and `-` are replaced with
|
||||||
`_` (this should make it easier to use the directory
|
`_` (this should make it easier to use the directory
|
||||||
name in a filename if wanted)
|
name in a filename if wanted)
|
||||||
%m::
|
%m::
|
||||||
CVS module/git head name
|
CVS module/Git head name
|
||||||
%a::
|
%a::
|
||||||
access method (one of "ext" or "pserver")
|
access method (one of "ext" or "pserver")
|
||||||
%u::
|
%u::
|
||||||
@ -359,6 +359,43 @@ Operations supported
|
|||||||
|
|
||||||
All the operations required for normal use are supported, including
|
All the operations required for normal use are supported, including
|
||||||
checkout, diff, status, update, log, add, remove, commit.
|
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).
|
Legacy monitoring operations are not supported (edit, watch and related).
|
||||||
Exports and tagging (tags and branches) are not supported at this stage.
|
Exports and tagging (tags and branches) are not supported at this stage.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ git-daemon(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-daemon - A really simple server for git repositories
|
git-daemon - A really simple server for Git repositories
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
@ -16,18 +16,20 @@ SYNOPSIS
|
|||||||
[--reuseaddr] [--detach] [--pid-file=<file>]
|
[--reuseaddr] [--detach] [--pid-file=<file>]
|
||||||
[--enable=<service>] [--disable=<service>]
|
[--enable=<service>] [--disable=<service>]
|
||||||
[--allow-override=<service>] [--forbid-override=<service>]
|
[--allow-override=<service>] [--forbid-override=<service>]
|
||||||
[--access-hook=<path>]
|
[--access-hook=<path>] [--[no-]informative-errors]
|
||||||
[--inetd | [--listen=<host_or_ipaddr>] [--port=<n>] [--user=<user> [--group=<group>]]
|
[--inetd |
|
||||||
|
[--listen=<host_or_ipaddr>] [--port=<n>]
|
||||||
|
[--user=<user> [--group=<group>]]]
|
||||||
[<directory>...]
|
[<directory>...]
|
||||||
|
|
||||||
DESCRIPTION
|
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
|
aka 9418. It waits for a connection asking for a service, and will serve
|
||||||
that service if it is enabled.
|
that service if it is enabled.
|
||||||
|
|
||||||
It verifies that the directory has the magic file "git-daemon-export-ok", and
|
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
|
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
|
pass some directory paths as 'git daemon' arguments, you can further restrict
|
||||||
the offers to a whitelist comprising of those.
|
the offers to a whitelist comprising of those.
|
||||||
@ -37,7 +39,7 @@ By default, only `upload-pack` service is enabled, which serves
|
|||||||
from 'git fetch', 'git pull', and 'git clone'.
|
from 'git fetch', 'git pull', and 'git clone'.
|
||||||
|
|
||||||
This is ideally suited for read-only updates, i.e., pulling from
|
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'.
|
An `upload-archive` also exists to serve 'git archive'.
|
||||||
|
|
||||||
@ -51,7 +53,7 @@ OPTIONS
|
|||||||
|
|
||||||
--base-path=<path>::
|
--base-path=<path>::
|
||||||
Remap all the path requests as relative to the given 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
|
'--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
|
'git://example.com/hello.git', 'git daemon' will interpret the path
|
||||||
as '/srv/git/hello.git'.
|
as '/srv/git/hello.git'.
|
||||||
@ -73,7 +75,7 @@ OPTIONS
|
|||||||
whitelist.
|
whitelist.
|
||||||
|
|
||||||
--export-all::
|
--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
|
(have the 'objects' and 'refs' subdirectories), even if they
|
||||||
do not have the 'git-daemon-export-ok' file.
|
do not have the 'git-daemon-export-ok' file.
|
||||||
|
|
||||||
@ -147,6 +149,13 @@ OPTIONS
|
|||||||
Giving these options is an error when used with `--inetd`; use
|
Giving these options is an error when used with `--inetd`; use
|
||||||
the facility of inet daemon to achieve the same before spawning
|
the facility of inet daemon to achieve the same before spawning
|
||||||
'git daemon' if needed.
|
'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>::
|
--enable=<service>::
|
||||||
--disable=<service>::
|
--disable=<service>::
|
||||||
@ -162,8 +171,7 @@ the facility of inet daemon to achieve the same before spawning
|
|||||||
repository configuration. By default, all the services
|
repository configuration. By default, all the services
|
||||||
are overridable.
|
are overridable.
|
||||||
|
|
||||||
--informative-errors::
|
--[no-]informative-errors::
|
||||||
--no-informative-errors::
|
|
||||||
When informative errors are turned on, git-daemon will report
|
When informative errors are turned on, git-daemon will report
|
||||||
more verbose errors to the client, differentiating conditions
|
more verbose errors to the client, differentiating conditions
|
||||||
like "no such repository" from "repository not exported". This
|
like "no such repository" from "repository not exported". This
|
||||||
|
@ -81,8 +81,9 @@ OPTIONS
|
|||||||
that points at object deadbee....).
|
that points at object deadbee....).
|
||||||
|
|
||||||
--match <pattern>::
|
--match <pattern>::
|
||||||
Only consider tags matching the given pattern (can be used to avoid
|
Only consider tags matching the given `glob(7)` pattern,
|
||||||
leaking private tags made from the repository).
|
excluding the "refs/tags/" prefix. This can be used to avoid
|
||||||
|
leaking private tags from the repository.
|
||||||
|
|
||||||
--always::
|
--always::
|
||||||
Show uniquely abbreviated commit object as fallback.
|
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
|
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
|
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
|
975b that did not exist back then, and "-g975b" suffix alone may not
|
||||||
be sufficient to disambiguate these commits.
|
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
|
If an exact match was not found, 'git describe' will walk back
|
||||||
through the commit history to locate an ancestor commit which
|
through the commit history to locate an ancestor commit which
|
||||||
has been tagged. The ancestor's tag will be output along with an
|
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
|
If multiple tags were found during the walk then the tag which
|
||||||
has the fewest commits different from the input committish will be
|
has the fewest commits different from the input committish will be
|
||||||
|
@ -3,7 +3,7 @@ git-diff-index(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-diff-index - Compares content and mode of blobs between the index and repository
|
git-diff-index - Compare a tree to the working tree or index
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
@ -13,11 +13,11 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
Compares the content and mode of the blobs found via a tree
|
Compares the content and mode of the blobs found in a tree object
|
||||||
object with the content of the current index and, optionally
|
with the corresponding tracked files in the working tree, or with the
|
||||||
ignoring the stat state of the file on disk. When paths are
|
corresponding paths in the index. When <path> arguments are present,
|
||||||
specified, compares only those named paths. Otherwise all
|
compares only paths matching those patterns. Otherwise all tracked
|
||||||
entries in the index are compared.
|
files are compared.
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
|
@ -25,7 +25,7 @@ between two files on disk.
|
|||||||
|
|
||||||
This form is to view the changes you made relative to
|
This form is to view the changes you made relative to
|
||||||
the index (staging area for the next commit). In other
|
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
|
further add to the index but you still haven't. You can
|
||||||
stage these changes by using linkgit:git-add[1].
|
stage these changes by using linkgit:git-add[1].
|
||||||
+
|
+
|
||||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
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
|
between revisions using common diff tools. 'git difftool' is a frontend
|
||||||
to 'git diff' and accepts the same options and arguments. See
|
to 'git diff' and accepts the same options and arguments. See
|
||||||
linkgit:git-diff[1].
|
linkgit:git-diff[1].
|
||||||
@ -69,13 +69,14 @@ with custom merge tool commands and has the same value as `$MERGED`.
|
|||||||
--tool-help::
|
--tool-help::
|
||||||
Print a list of diff tools that may be used with `--tool`.
|
Print a list of diff tools that may be used with `--tool`.
|
||||||
|
|
||||||
--symlinks::
|
--[no-]symlinks::
|
||||||
--no-symlinks::
|
|
||||||
'git difftool''s default behavior is create symlinks to the
|
'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
|
Specifying `--no-symlinks` instructs 'git difftool' to create copies
|
||||||
copies instead. `--no-symlinks` is the default on Windows.
|
instead. `--no-symlinks` is the default on Windows.
|
||||||
|
|
||||||
-x <command>::
|
-x <command>::
|
||||||
--extcmd=<command>::
|
--extcmd=<command>::
|
||||||
|
@ -27,15 +27,17 @@ OPTIONS
|
|||||||
Insert 'progress' statements every <n> objects, to be shown by
|
Insert 'progress' statements every <n> objects, to be shown by
|
||||||
'git fast-import' during import.
|
'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
|
Specify how to handle signed tags. Since any transformation
|
||||||
after the export can change the tag names (which can also happen
|
after the export can change the tag names (which can also happen
|
||||||
when excluding revisions) the signatures will not match.
|
when excluding revisions) the signatures will not match.
|
||||||
+
|
+
|
||||||
When asking to 'abort' (which is the default), this program will die
|
When asking to 'abort' (which is the default), this program will die
|
||||||
when encountering a signed tag. With 'strip', the tags will be made
|
when encountering a signed tag. With 'strip', the tags will silently
|
||||||
unsigned, with 'verbatim', they will be silently exported
|
be made unsigned, with 'warn-strip' they will be made unsigned but a
|
||||||
and with 'warn', they will be exported, but you will see a warning.
|
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)::
|
--tag-of-filtered-object=(abort|drop|rewrite)::
|
||||||
Specify how to handle tags whose tagged object is filtered out.
|
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
|
incremental runs. As <file> is only opened and truncated
|
||||||
at completion, the same path can also be safely given to
|
at completion, the same path can also be safely given to
|
||||||
\--import-marks.
|
\--import-marks.
|
||||||
|
The file will not be written if no new object has been
|
||||||
|
marked/exported.
|
||||||
|
|
||||||
--import-marks=<file>::
|
--import-marks=<file>::
|
||||||
Before processing any input, load the marks specified in
|
Before processing any input, load the marks specified in
|
||||||
@ -102,11 +106,11 @@ marks the same across runs.
|
|||||||
different from the commit's first parent).
|
different from the commit's first parent).
|
||||||
|
|
||||||
[<git-rev-list-args>...]::
|
[<git-rev-list-args>...]::
|
||||||
A list of arguments, acceptable to 'git rev-parse' and
|
A list of arguments, acceptable to 'git rev-parse' and
|
||||||
'git rev-list', that specifies the specific objects and references
|
'git rev-list', that specifies the specific objects and references
|
||||||
to export. For example, `master~10..master` causes the
|
to export. For example, `master~10..master` causes the
|
||||||
current master reference to be exported along with all objects
|
current master reference to be exported along with all objects
|
||||||
added since its 10th ancestor commit.
|
added since its 10th ancestor commit.
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
|
@ -10,9 +10,9 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
|
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
|
||||||
[--upload-pack=<git-upload-pack>]
|
[--upload-pack=<git-upload-pack>]
|
||||||
[--depth=<n>] [--no-progress]
|
[--depth=<n>] [--no-progress]
|
||||||
[-v] [<host>:]<directory> [<refs>...]
|
[-v] [<host>:]<directory> [<refs>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -84,6 +84,8 @@ be in a separate packet, and the list must end with a flush packet.
|
|||||||
|
|
||||||
--depth=<n>::
|
--depth=<n>::
|
||||||
Limit fetching to ancestor-chains not longer than 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::
|
--no-progress::
|
||||||
Do not show the 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
|
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
|
just fetched commits of the superproject the submodule itself can not be
|
||||||
fetched, making it impossible to check out that submodule later without
|
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.
|
version.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
|
@ -18,7 +18,7 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
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.
|
in the <rev-list options>, applying custom filters on each revision.
|
||||||
Those filters can modify each tree (e.g. removing a file or running
|
Those filters can modify each tree (e.g. removing a file or running
|
||||||
a perl rewrite on all files) or information about each commit.
|
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).
|
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
|
If you specify no filters, the commits will be recommitted without any
|
||||||
changes, which would normally have no effect. Nevertheless, this may be
|
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.
|
therefore such a usage is permitted.
|
||||||
|
|
||||||
*NOTE*: This command honors `.git/info/grafts` file and refs in
|
*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
|
Prior to that, the $GIT_COMMIT environment variable will be set to contain
|
||||||
the id of the commit being rewritten. Also, GIT_AUTHOR_NAME,
|
the id of the commit being rewritten. Also, GIT_AUTHOR_NAME,
|
||||||
GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL,
|
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
|
and GIT_COMMITTER_DATE are taken from the current commit and exported to
|
||||||
of these variables after the filters have run, are used for the new commit.
|
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
|
If any evaluation of <command> returns a non-zero exit status, the whole
|
||||||
operation will be aborted.
|
operation will be aborted.
|
||||||
|
|
||||||
@ -329,6 +332,26 @@ git filter-branch --msg-filter '
|
|||||||
' HEAD~10..HEAD
|
' 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
|
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
|
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
|
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
|
usually with some combination of `--index-filter` and
|
||||||
`--subdirectory-filter`. People expect the resulting repository to
|
`--subdirectory-filter`. People expect the resulting repository to
|
||||||
be smaller than the original, but you need a few more steps 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:
|
objects until you tell it to. First make sure that:
|
||||||
|
|
||||||
* You really removed all variants of a filename, if a blob was moved
|
* You really removed all variants of a filename, if a blob was moved
|
||||||
|
@ -35,8 +35,7 @@ OPTIONS
|
|||||||
Do not list one-line descriptions from the actual commits being
|
Do not list one-line descriptions from the actual commits being
|
||||||
merged.
|
merged.
|
||||||
|
|
||||||
--summary::
|
--[no-]summary::
|
||||||
--no-summary::
|
|
||||||
Synonyms to --log and --no-log; these are deprecated and will be
|
Synonyms to --log and --no-log; these are deprecated and will be
|
||||||
removed in the future.
|
removed in the future.
|
||||||
|
|
||||||
|
@ -18,9 +18,9 @@ SYNOPSIS
|
|||||||
[--start-number <n>] [--numbered-files]
|
[--start-number <n>] [--numbered-files]
|
||||||
[--in-reply-to=Message-Id] [--suffix=.<sfx>]
|
[--in-reply-to=Message-Id] [--suffix=.<sfx>]
|
||||||
[--ignore-if-in-upstream]
|
[--ignore-if-in-upstream]
|
||||||
[--subject-prefix=Subject-Prefix]
|
[--subject-prefix=Subject-Prefix] [(--reroll-count|-v) <n>]
|
||||||
[--to=<email>] [--cc=<email>]
|
[--to=<email>] [--cc=<email>]
|
||||||
[--cover-letter] [--quiet] [--notes[=<ref>]]
|
[--[no-]cover-letter] [--quiet] [--notes[=<ref>]]
|
||||||
[<common diff options>]
|
[<common diff options>]
|
||||||
[ <since> | <revision range> ]
|
[ <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
|
allows for useful naming of a patch series, and can be
|
||||||
combined with the `--numbered` option.
|
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>::
|
--to=<email>::
|
||||||
Add a `To:` header to the email headers. This is in addition
|
Add a `To:` header to the email headers. This is in addition
|
||||||
to any configured headers, and may be used multiple times.
|
to any configured headers, and may be used multiple times.
|
||||||
@ -186,7 +195,7 @@ will want to ensure that threading is disabled for `git send-email`.
|
|||||||
`Cc:`, and custom) headers added so far from config or command
|
`Cc:`, and custom) headers added so far from config or command
|
||||||
line.
|
line.
|
||||||
|
|
||||||
--cover-letter::
|
--[no-]cover-letter::
|
||||||
In addition to the patches, generate a cover letter file
|
In addition to the patches, generate a cover letter file
|
||||||
containing the shortlog and the overall diffstat. You can
|
containing the shortlog and the overall diffstat. You can
|
||||||
fill in a description in the file before sending it out.
|
fill in a description in the file before sending it out.
|
||||||
@ -199,14 +208,14 @@ The expected use case of this is to write supporting explanation for
|
|||||||
the commit that does not belong to the commit log message proper,
|
the commit that does not belong to the commit log message proper,
|
||||||
and include it with the patch submission. While one can simply write
|
and include it with the patch submission. While one can simply write
|
||||||
these explanations after `format-patch` has run but before sending,
|
these explanations after `format-patch` has run but before sending,
|
||||||
keeping them as git notes allows them to be maintained between versions
|
keeping them as Git notes allows them to be maintained between versions
|
||||||
of the patch series (but see the discussion of the `notes.rewrite`
|
of the patch series (but see the discussion of the `notes.rewrite`
|
||||||
configuration options in linkgit:git-notes[1] to use this workflow).
|
configuration options in linkgit:git-notes[1] to use this workflow).
|
||||||
|
|
||||||
--[no]-signature=<signature>::
|
--[no]-signature=<signature>::
|
||||||
Add a signature to each message produced. Per RFC 3676 the 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
|
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.
|
number.
|
||||||
|
|
||||||
--suffix=.<sfx>::
|
--suffix=.<sfx>::
|
||||||
@ -251,6 +260,7 @@ attachments, and sign off patches with configuration variables.
|
|||||||
cc = <email>
|
cc = <email>
|
||||||
attach [ = mime-boundary-string ]
|
attach [ = mime-boundary-string ]
|
||||||
signoff = true
|
signoff = true
|
||||||
|
coverletter = auto
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|
||||||
@ -380,7 +390,7 @@ Thunderbird
|
|||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
By default, Thunderbird will both wrap emails as well as flag
|
By default, Thunderbird will both wrap emails as well as flag
|
||||||
them as being 'format=flowed', both of which will make the
|
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,
|
There are three different approaches: use an add-on to turn off line wraps,
|
||||||
configure Thunderbird to not mangle patches, or use
|
configure Thunderbird to not mangle patches, or use
|
||||||
@ -516,8 +526,8 @@ $ git format-patch -M -B origin
|
|||||||
Additionally, it detects and handles renames and complete rewrites
|
Additionally, it detects and handles renames and complete rewrites
|
||||||
intelligently to produce a renaming patch. A renaming patch reduces
|
intelligently to produce a renaming patch. A renaming patch reduces
|
||||||
the amount of text output, and generally makes it easier to review.
|
the amount of text output, and generally makes it easier to review.
|
||||||
Note that non-git "patch" programs won't understand renaming patches, so
|
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.
|
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
|
* Extract three topmost commits from the current branch and format them
|
||||||
as e-mailable patches:
|
as e-mailable patches:
|
||||||
|
@ -23,15 +23,14 @@ OPTIONS
|
|||||||
An object to treat as the head of an unreachability trace.
|
An object to treat as the head of an unreachability trace.
|
||||||
+
|
+
|
||||||
If no objects are given, 'git fsck' defaults to using the
|
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.
|
(unless --no-reflogs is given) as heads.
|
||||||
|
|
||||||
--unreachable::
|
--unreachable::
|
||||||
Print out objects that exist but that aren't reachable from any
|
Print out objects that exist but that aren't reachable from any
|
||||||
of the reference nodes.
|
of the reference nodes.
|
||||||
|
|
||||||
--dangling::
|
--[no-]dangling::
|
||||||
--no-dangling::
|
|
||||||
Print objects that exist but that are never 'directly' used (default).
|
Print objects that exist but that are never 'directly' used (default).
|
||||||
`--no-dangling` can be used to omit this information from the output.
|
`--no-dangling` can be used to omit this information from the output.
|
||||||
|
|
||||||
@ -56,7 +55,7 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
|||||||
($GIT_DIR/objects), but also the ones found in alternate
|
($GIT_DIR/objects), but also the ones found in alternate
|
||||||
object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
|
object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
|
||||||
or $GIT_DIR/objects/info/alternates,
|
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
|
and corresponding pack subdirectories in alternate
|
||||||
object pools. This is now default; you can turn it off
|
object pools. This is now default; you can turn it off
|
||||||
with --no-full.
|
with --no-full.
|
||||||
@ -64,8 +63,8 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
|||||||
--strict::
|
--strict::
|
||||||
Enable more strict checking, namely to catch a file mode
|
Enable more strict checking, namely to catch a file mode
|
||||||
recorded with g+w bit set, which was created by older
|
recorded with g+w bit set, which was created by older
|
||||||
versions of git. Existing repositories, including the
|
versions of Git. Existing repositories, including the
|
||||||
Linux kernel, git itself, and sparse repository have old
|
Linux kernel, Git itself, and sparse repository have old
|
||||||
objects that triggers this check, but it is recommended
|
objects that triggers this check, but it is recommended
|
||||||
to check new projects with this flag.
|
to check new projects with this flag.
|
||||||
|
|
||||||
@ -78,8 +77,7 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
|||||||
a blob, the contents are written into the file, rather than
|
a blob, the contents are written into the file, rather than
|
||||||
its object name.
|
its object name.
|
||||||
|
|
||||||
--progress::
|
--[no-]progress::
|
||||||
--no-progress::
|
|
||||||
Progress status is reported on the standard error stream by
|
Progress status is reported on the standard error stream by
|
||||||
default when it is attached to a terminal, unless
|
default when it is attached to a terminal, unless
|
||||||
--no-progress or --verbose is specified. --progress forces
|
--no-progress or --verbose is specified. --progress forces
|
||||||
@ -89,7 +87,7 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
|||||||
DISCUSSION
|
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
|
of the resulting reachability and everything else. It prints out any
|
||||||
corruption it finds (missing or bad objects), and if you use the
|
corruption it finds (missing or bad objects), and if you use the
|
||||||
'--unreachable' flag it will also print out objects that exist but that
|
'--unreachable' flag it will also print out objects that exist but that
|
||||||
|
@ -25,7 +25,7 @@ SYNOPSIS
|
|||||||
[-W | --function-context]
|
[-W | --function-context]
|
||||||
[-f <file>] [-e] <pattern>
|
[-f <file>] [-e] <pattern>
|
||||||
[--and|--or|--not|(|)|-e <pattern>...]
|
[--and|--or|--not|(|)|-e <pattern>...]
|
||||||
[ [--exclude-standard] [--cached | --no-index | --untracked] | <tree>...]
|
[ [--[no-]exclude-standard] [--cached | --no-index | --untracked] | <tree>...]
|
||||||
[--] [<pathspec>...]
|
[--] [<pathspec>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
@ -61,7 +61,7 @@ OPTIONS
|
|||||||
blobs registered in the index file.
|
blobs registered in the index file.
|
||||||
|
|
||||||
--no-index::
|
--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::
|
--untracked::
|
||||||
In addition to searching in the tracked files in the working
|
In addition to searching in the tracked files in the working
|
||||||
|
@ -102,7 +102,7 @@ Examples
|
|||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:gitk[1]::
|
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
|
and file differences. gitk is the utility started by
|
||||||
'git gui''s Repository Visualize actions.
|
'git gui''s Repository Visualize actions.
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ OPTIONS
|
|||||||
--path::
|
--path::
|
||||||
Hash object as it were located at the given path. The location of
|
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
|
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
|
before it can be placed to the object database, and, as result of
|
||||||
applying filters, the actual blob put into the object database may
|
applying filters, the actual blob put into the object database may
|
||||||
differ from the given file. This option is mainly useful for hashing
|
differ from the given file. This option is mainly useful for hashing
|
||||||
|
@ -3,36 +3,50 @@ git-help(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-help - display help information about git
|
git-help - Display help information about Git
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[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
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
With no options and no COMMAND given, the synopsis of the 'git'
|
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
|
command and a list of the most commonly used Git commands are printed
|
||||||
on the standard output.
|
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.
|
printed on the standard output.
|
||||||
|
|
||||||
If a git command is named, a manual page for that command is brought
|
If the option '--guide' or '-g' is given, a list of the useful
|
||||||
up. The 'man' program is used by default for this purpose, but this
|
Git guides is also printed on the standard output.
|
||||||
can be overridden by other options or configuration variables.
|
|
||||||
|
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
|
Note that `git --help ...` is identical to `git help ...` because the
|
||||||
former is internally converted into the latter.
|
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
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
-a::
|
-a::
|
||||||
--all::
|
--all::
|
||||||
Prints all the available commands on the standard output. This
|
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::
|
-i::
|
||||||
--info::
|
--info::
|
||||||
|
@ -19,7 +19,7 @@ and the backwards-compatible dumb HTTP protocol, as well as clients
|
|||||||
pushing using the smart HTTP protocol.
|
pushing using the smart HTTP protocol.
|
||||||
|
|
||||||
It verifies that the directory has the magic file
|
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
|
that hasn't explicitly been marked for export this way (unless the
|
||||||
GIT_HTTP_EXPORT_ALL environmental variable is set).
|
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,
|
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$">
|
<LocationMatch "^/git/.*/git-receive-pack$">
|
||||||
@ -91,6 +114,15 @@ require authorization with a LocationMatch directive:
|
|||||||
</LocationMatch>
|
</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
|
To require authentication for both reads and writes, use a Location
|
||||||
directive around the repository, or one of its parent directories:
|
directive around the repository, or one of its parent directories:
|
||||||
+
|
+
|
||||||
@ -158,6 +190,54 @@ ScriptAliasMatch \
|
|||||||
ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/
|
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
|
ENVIRONMENT
|
||||||
-----------
|
-----------
|
||||||
|
@ -3,7 +3,7 @@ git-http-fetch(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-http-fetch - Download from a remote git repository via HTTP
|
git-http-fetch - Download from a remote Git repository via HTTP
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
@ -13,7 +13,7 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
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
|
*NOTE*: use of this command without -a is deprecated. The -a
|
||||||
behaviour will become the default in a future release.
|
behaviour will become the default in a future release.
|
||||||
|
@ -19,7 +19,7 @@ DESCRIPTION
|
|||||||
Reads a packed archive (.pack) from the specified file, and
|
Reads a packed archive (.pack) from the specified file, and
|
||||||
builds a pack index file (.idx) for it. The packed archive
|
builds a pack index file (.idx) for it. The packed archive
|
||||||
together with the pack index can then be placed in the
|
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
|
OPTIONS
|
||||||
@ -39,7 +39,7 @@ OPTIONS
|
|||||||
When this flag is provided, the pack is read from stdin
|
When this flag is provided, the pack is read from stdin
|
||||||
instead and a copy is then written to <pack-file>. If
|
instead and a copy is then written to <pack-file>. If
|
||||||
<pack-file> is not specified, the pack is written to
|
<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
|
a default name determined from the pack content. If
|
||||||
<pack-file> is not specified consider using --keep to
|
<pack-file> is not specified consider using --keep to
|
||||||
prevent a race condition between this process and
|
prevent a race condition between this process and
|
||||||
@ -81,7 +81,7 @@ OPTIONS
|
|||||||
This is meant to reduce packing time on multiprocessor
|
This is meant to reduce packing time on multiprocessor
|
||||||
machines. The required amount of memory for the delta search
|
machines. The required amount of memory for the delta search
|
||||||
window is however multiplied by the number of threads.
|
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.
|
and use maximum 3 threads.
|
||||||
|
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ Note
|
|||||||
----
|
----
|
||||||
|
|
||||||
Once the index has been created, the list of object names is sorted
|
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
|
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
|
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'
|
.keep file used as a lock to prevent the race with 'git repack'
|
||||||
|
@ -3,7 +3,7 @@ git-init-db(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-init-db - Creates an empty git repository
|
git-init-db - Creates an empty Git repository
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
|
@ -3,7 +3,7 @@ git-init(1)
|
|||||||
|
|
||||||
NAME
|
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
|
SYNOPSIS
|
||||||
@ -17,7 +17,7 @@ SYNOPSIS
|
|||||||
DESCRIPTION
|
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`,
|
directory with subdirectories for `objects`, `refs/heads`,
|
||||||
`refs/tags`, and template files. An initial `HEAD` file that
|
`refs/tags`, and template files. An initial `HEAD` file that
|
||||||
references the HEAD of the master branch is also created.
|
references the HEAD of the master branch is also created.
|
||||||
@ -58,19 +58,19 @@ DIRECTORY" section below.)
|
|||||||
--separate-git-dir=<git dir>::
|
--separate-git-dir=<git dir>::
|
||||||
|
|
||||||
Instead of initializing the repository where it is supposed to be,
|
Instead of initializing the repository where it is supposed to be,
|
||||||
place a filesytem-agnostic git symbolic link there, pointing to the
|
place a filesytem-agnostic Git symbolic link there, pointing to the
|
||||||
specified git path, and initialize a git repository at the path. The
|
specified path, and initialize a Git repository at the path. The
|
||||||
result is git repository can be separated from working tree. If this
|
result is Git repository can be separated from working tree. If this
|
||||||
is reinitialization, the repository will be moved to the specified
|
is reinitialization, the repository will be moved to the specified
|
||||||
path.
|
path.
|
||||||
|
|
||||||
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]::
|
--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
|
allows users belonging to the same group to push into that
|
||||||
repository. When specified, the config variable "core.sharedRepository" is
|
repository. When specified, the config variable "core.sharedRepository" is
|
||||||
set so that files and directories under `$GIT_DIR` are created with the
|
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).
|
by umask(2).
|
||||||
|
|
||||||
The option can have the following values, defaulting to 'group' if no value
|
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
|
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
|
$ cd /path/to/my/codebase
|
||||||
|
@ -9,7 +9,7 @@ git-log - Show commit logs
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git log' [<options>] [<since>..<until>] [[\--] <path>...]
|
'git log' [<options>] [<revision range>] [[\--] <path>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -24,13 +24,6 @@ each commit introduces are shown.
|
|||||||
OPTIONS
|
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::
|
--follow::
|
||||||
Continue listing the history of a file beyond renames
|
Continue listing the history of a file beyond renames
|
||||||
(works only for a single file).
|
(works only for a single file).
|
||||||
@ -47,6 +40,11 @@ OPTIONS
|
|||||||
Print out the ref name given on the command line by which each
|
Print out the ref name given on the command line by which each
|
||||||
commit was reached.
|
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::
|
--full-diff::
|
||||||
Without this flag, "git log -p <path>..." shows commits that
|
Without this flag, "git log -p <path>..." shows commits that
|
||||||
touch the specified paths, and diffs about the same specified
|
touch the specified paths, and diffs about the same specified
|
||||||
@ -59,19 +57,28 @@ produced by --stat etc.
|
|||||||
|
|
||||||
--log-size::
|
--log-size::
|
||||||
Before the log message print out its size in bytes. Intended
|
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.
|
produce a valid value size is set to zero.
|
||||||
Note that only message is considered, if also a diff is shown
|
Note that only message is considered, if also a diff is shown
|
||||||
its size is not included.
|
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>...::
|
[\--] <path>...::
|
||||||
Show only commits that are enough to explain how the files
|
Show only commits that are enough to explain how the files
|
||||||
that match the specified paths came to be. See "History
|
that match the specified paths came to be. See "History
|
||||||
Simplification" below for details and other simplification
|
Simplification" below for details and other simplification
|
||||||
modes.
|
modes.
|
||||||
+
|
+
|
||||||
To prevent confusion with options and branch names, paths may need to
|
Paths may need to be prefixed with "\-- " to separate them from
|
||||||
be prefixed with "\-- " to separate them from options or refnames.
|
options or the revision range, when confusion arises.
|
||||||
|
|
||||||
include::rev-list-options.txt[]
|
include::rev-list-options.txt[]
|
||||||
|
|
||||||
@ -167,7 +174,7 @@ log.showroot::
|
|||||||
`git log -p` output would be shown without a diff attached.
|
`git log -p` output would be shown without a diff attached.
|
||||||
The default is `true`.
|
The default is `true`.
|
||||||
|
|
||||||
mailmap.file::
|
mailmap.*::
|
||||||
See linkgit:git-shortlog[1].
|
See linkgit:git-shortlog[1].
|
||||||
|
|
||||||
notes.displayRef::
|
notes.displayRef::
|
||||||
|
@ -92,7 +92,7 @@ OPTIONS
|
|||||||
directory and its subdirectories in <file>.
|
directory and its subdirectories in <file>.
|
||||||
|
|
||||||
--exclude-standard::
|
--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.
|
in each directory, and the user's global exclusion file.
|
||||||
|
|
||||||
--error-unmatch::
|
--error-unmatch::
|
||||||
@ -164,7 +164,7 @@ which case it outputs:
|
|||||||
'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine
|
'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine
|
||||||
detailed information on unmerged paths.
|
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
|
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
|
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
|
the user (or the porcelain) to see what should eventually be recorded at the
|
||||||
|
@ -9,7 +9,7 @@ git-mailinfo - Extracts patch and authorship from a single e-mail message
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--scissors] <msg> <patch>
|
'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] <msg> <patch>
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
This looks up the <file>(s) in the index and, if there are any merge
|
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
|
argument if no file), and <file> as argument 4. File modes for the three
|
||||||
files are passed as arguments 5, 6 and 7.
|
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
|
processes them in turn only stopping if merge returns a non-zero exit
|
||||||
code.
|
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.
|
the 'merge' command from the RCS package.
|
||||||
|
|
||||||
A sample script called 'git merge-one-file' is included in the
|
A sample script called 'git merge-one-file' is included in the
|
||||||
distribution.
|
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
|
RCS 'merge' program merge object order. In the above ordering, the
|
||||||
original is first. But the argument order to the 3-way merge program
|
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.
|
'merge' is to have the original in the middle. Don't ask me why.
|
||||||
|
@ -76,8 +76,7 @@ The 'git fmt-merge-msg' command can be
|
|||||||
used to give a good default for automated 'git merge'
|
used to give a good default for automated 'git merge'
|
||||||
invocations.
|
invocations.
|
||||||
|
|
||||||
--rerere-autoupdate::
|
--[no-]rerere-autoupdate::
|
||||||
--no-rerere-autoupdate::
|
|
||||||
Allow the rerere mechanism to update the index with the
|
Allow the rerere mechanism to update the index with the
|
||||||
result of auto-conflict resolution if possible.
|
result of auto-conflict resolution if possible.
|
||||||
|
|
||||||
@ -170,6 +169,30 @@ happens:
|
|||||||
If you tried a merge which resulted in complex conflicts and
|
If you tried a merge which resulted in complex conflicts and
|
||||||
want to start over, you can recover with `git merge --abort`.
|
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
|
HOW CONFLICTS ARE PRESENTED
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
@ -178,10 +201,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
|
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
|
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,
|
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.
|
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:
|
from the RCS suite to present such a conflicted hunk, like this:
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
@ -3,7 +3,7 @@ git-mergetool{litdd}lib(1)
|
|||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-mergetool--lib - Common git merge tool shell scriptlets
|
git-mergetool--lib - Common Git merge tool shell scriptlets
|
||||||
|
|
||||||
SYNOPSIS
|
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
|
The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using
|
||||||
`.`) by other shell scripts to set up functions for working
|
`.`) 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`
|
Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE`
|
||||||
to define the operation mode for the functions listed below.
|
to define the operation mode for the functions listed below.
|
||||||
|
@ -8,7 +8,7 @@ git-mergetool - Run merge conflict resolution tools to resolve merge conflicts
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git mergetool' [--tool=<tool>] [-y|--no-prompt|--prompt] [<file>...]
|
'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -28,9 +28,9 @@ A tag signature file has a very simple fixed format: four lines of
|
|||||||
tagger <tagger>
|
tagger <tagger>
|
||||||
|
|
||||||
followed by some 'optional' free-form message (some tags created
|
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
|
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.
|
care about, but that can be verified with gpg.
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
|
@ -34,7 +34,7 @@ OPTIONS
|
|||||||
-k::
|
-k::
|
||||||
Skip move or rename actions which would lead to an error
|
Skip move or rename actions which would lead to an error
|
||||||
condition. An error happens when a source is neither existing nor
|
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.
|
file unless '-f' is given.
|
||||||
-n::
|
-n::
|
||||||
--dry-run::
|
--dry-run::
|
||||||
|
@ -18,13 +18,13 @@ SYNOPSIS
|
|||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
This command provides a way to interact with p4 repositories
|
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
|
'git p4 clone', giving it one or more p4 depot paths. Incorporate
|
||||||
new commits from p4 changes with 'git p4 sync'. The 'sync' command
|
new commits from p4 changes with 'git p4 sync'. The 'sync' command
|
||||||
is also used to include new branches from other p4 depot paths.
|
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
|
'git p4 rebase' does a sync plus rebases the current branch onto
|
||||||
the updated p4 remote branch.
|
the updated p4 remote branch.
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ EXAMPLE
|
|||||||
$ git p4 clone //depot/path/project
|
$ 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
|
$ cd project
|
||||||
@ -45,7 +45,7 @@ $ vi foo.h
|
|||||||
$ git commit -a -m "edited 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:
|
work on top:
|
||||||
+
|
+
|
||||||
------------
|
------------
|
||||||
@ -64,21 +64,21 @@ COMMANDS
|
|||||||
|
|
||||||
Clone
|
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:
|
from an existing p4 repository:
|
||||||
------------
|
------------
|
||||||
$ git p4 clone //depot/path/project
|
$ git p4 clone //depot/path/project
|
||||||
------------
|
------------
|
||||||
This:
|
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
|
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.
|
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:
|
the depot path:
|
||||||
------------
|
------------
|
||||||
$ git p4 clone //depot/path/project@all
|
$ git p4 clone //depot/path/project@all
|
||||||
@ -88,13 +88,13 @@ $ git p4 clone //depot/path/project@all
|
|||||||
Sync
|
Sync
|
||||||
~~~~
|
~~~~
|
||||||
As development continues in the p4 repository, those changes can
|
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
|
$ 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:
|
'git p4 sync' too:
|
||||||
------------
|
------------
|
||||||
$ mkdir repo-git
|
$ mkdir repo-git
|
||||||
@ -103,14 +103,19 @@ $ git init
|
|||||||
$ git p4 sync //path/in/your/perforce/depot
|
$ git p4 sync //path/in/your/perforce/depot
|
||||||
------------
|
------------
|
||||||
This imports the specified depot into
|
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
|
'--branch' option can be used to specify a different branch to
|
||||||
be used for the p4 content.
|
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
|
will be fetched and consulted first during a 'git p4 sync'. Since
|
||||||
importing directly from p4 is considerably slower than pulling changes
|
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
|
Rebase
|
||||||
@ -127,13 +132,13 @@ $ git p4 rebase
|
|||||||
|
|
||||||
Submit
|
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
|
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
|
variable 'git-p4.client'. The p4 client must exist, but the client root
|
||||||
will be created and populated if it does not already exist.
|
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:
|
the 'p4/master' branch, use:
|
||||||
------------
|
------------
|
||||||
$ git p4 submit
|
$ 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
|
The p4 changes will be created as the user invoking 'git p4 submit'. The
|
||||||
'--preserve-user' option will cause ownership to be modified
|
'--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'.
|
privileges in p4, which can be granted using 'p4 protect'.
|
||||||
|
|
||||||
|
|
||||||
@ -173,12 +178,14 @@ subsequent 'sync' operations.
|
|||||||
|
|
||||||
--branch <branch>::
|
--branch <branch>::
|
||||||
Import changes into given branch. If the branch starts with
|
Import changes into given branch. If the branch starts with
|
||||||
'refs/', it will be used as is, otherwise the path 'refs/heads/'
|
'refs/', it will be used as is. Otherwise if it does not start
|
||||||
will be prepended. The default branch is 'master'. If used
|
with 'p4/', that prefix is added. The branch is assumed to
|
||||||
with an initial clone, no HEAD will be checked out.
|
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
|
This example imports a new remote "p4/proj2" into an existing
|
||||||
git repository:
|
Git repository:
|
||||||
+
|
+
|
||||||
----
|
----
|
||||||
$ git init
|
$ git init
|
||||||
@ -199,11 +206,11 @@ git repository:
|
|||||||
|
|
||||||
--detect-labels::
|
--detect-labels::
|
||||||
Query p4 for labels associated with the depot paths, and add
|
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.
|
associated with new changelists. Deprecated.
|
||||||
|
|
||||||
--import-labels::
|
--import-labels::
|
||||||
Import labels from p4 into git.
|
Import labels from p4 into Git.
|
||||||
|
|
||||||
--import-local::
|
--import-local::
|
||||||
By default, p4 branches are stored in 'refs/remotes/p4/',
|
By default, p4 branches are stored in 'refs/remotes/p4/',
|
||||||
@ -219,12 +226,12 @@ git repository:
|
|||||||
specifier.
|
specifier.
|
||||||
|
|
||||||
--keep-path::
|
--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
|
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
|
path '//depot/main/foo/bar.c', when imported from
|
||||||
'//depot/main/', becomes 'foo/bar.c'. With '--keep-path', the
|
'//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-client-spec::
|
||||||
Use a client spec to find the list of interesting files in p4.
|
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.
|
options described above.
|
||||||
|
|
||||||
--destination <directory>::
|
--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
|
component in the p4 depot path is used to create a new
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
@ -266,12 +273,12 @@ These options can be used to modify 'git p4 submit' behavior.
|
|||||||
requires p4 admin privileges.
|
requires p4 admin privileges.
|
||||||
|
|
||||||
--export-labels::
|
--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.
|
to the perforce working directory.
|
||||||
|
|
||||||
--dry-run, -n::
|
--dry-run, -n::
|
||||||
Show just what commits would be submitted to p4; do not change
|
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::
|
--prepare-p4-only::
|
||||||
Apply a commit to the p4 workspace, opening, adding and deleting
|
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
|
to bypass the prompt, causing conflicting commits to be automatically
|
||||||
skipped, or to quit trying to apply commits, without prompting.
|
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
|
Rebase options
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
These options can be used to modify 'git p4 rebase' behavior.
|
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"::
|
"//depot/proj1@all //depot/proj2@all"::
|
||||||
Import all changes from both named depot paths into a single
|
Import all changes from both named depot paths into a single
|
||||||
repository. Only files below these directories are included.
|
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
|
You must use the '--destination' option when specifying more
|
||||||
than one depot path. The revision specifier must be specified
|
than one depot path. The revision specifier must be specified
|
||||||
identically on each depot path. If there are files in the
|
identically on each depot path. If there are files in the
|
||||||
depot paths with the same name, the path with the most recently
|
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.
|
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
|
work properly; the submit command looks only at the variable and does
|
||||||
not have a command-line option.
|
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
|
knows only a subset of the view syntax. It understands multi-line
|
||||||
mappings, overlays with '+', exclusions with '-' and double-quotes
|
mappings, overlays with '+', exclusions with '-' and double-quotes
|
||||||
around whitespace. Of the possible wildcards, 'git p4' only handles
|
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.
|
if it encounters an unhandled wildcard.
|
||||||
|
|
||||||
Bugs in the implementation of overlap mappings exist. If multiple depot
|
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
|
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
|
p4 organizes its content as a directory tree, where by convention
|
||||||
different logical branches are in different locations in the tree.
|
different logical branches are in different locations in the tree.
|
||||||
The 'p4 branch' command is used to maintain mappings between
|
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
|
If you have a repository where all the branches of interest exist as
|
||||||
subdirectories of a single depot path, you can use '--detect-branches'
|
subdirectories of a single depot path, you can use '--detect-branches'
|
||||||
when cloning or syncing to have 'git p4' automatically find
|
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:
|
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
|
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
|
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
|
'git-p4.branchList' can be used to explicitly identify branch
|
||||||
relationships. It is a list of "source:destination" pairs, like a
|
relationships. It is a list of "source:destination" pairs, like a
|
||||||
simple p4 branch specification, where the "source" and "destination" are
|
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
|
presence of the p4 branch. Without p4 branches, the same result will
|
||||||
occur with:
|
occur with:
|
||||||
----
|
----
|
||||||
|
git init depot
|
||||||
|
cd depot
|
||||||
git config git-p4.branchList main:branch1
|
git config git-p4.branchList main:branch1
|
||||||
git p4 clone --detect-branches //depot@all
|
git p4 clone --detect-branches //depot@all .
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
PERFORMANCE
|
PERFORMANCE
|
||||||
-----------
|
-----------
|
||||||
The fast-import mechanism used by 'git p4' creates one pack file for
|
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,
|
(linkgit:git-gc[1]) automatically compresses these to fewer pack files,
|
||||||
but explicit invocation of 'git repack -adf' may improve performance.
|
but explicit invocation of 'git repack -adf' may improve performance.
|
||||||
|
|
||||||
@ -440,9 +454,9 @@ git-p4.client::
|
|||||||
Clone and sync variables
|
Clone and sync variables
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
git-p4.syncFromOrigin::
|
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
|
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
|
those will be fetched and used when syncing from p4. This
|
||||||
variable can be set to 'false' to disable this behavior.
|
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.
|
Detect copies harder. See linkgit:git-diff[1]. A boolean.
|
||||||
|
|
||||||
git-p4.preserveUser::
|
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'.
|
regardless of who invokes 'git p4 submit'.
|
||||||
|
|
||||||
git-p4.allowMissingP4Users::
|
git-p4.allowMissingP4Users::
|
||||||
@ -531,7 +545,7 @@ git-p4.attemptRCSCleanup::
|
|||||||
present.
|
present.
|
||||||
|
|
||||||
git-p4.exportLabels::
|
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::
|
git-p4.labelExportRegexp::
|
||||||
Only p4 labels matching this regular expression will be exported. The
|
Only p4 labels matching this regular expression will be exported. The
|
||||||
@ -543,11 +557,11 @@ git-p4.conflict::
|
|||||||
|
|
||||||
IMPLEMENTATION DETAILS
|
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
|
* Cloning or syncing does not require a p4 client; file contents are
|
||||||
collected using 'p4 print'.
|
collected using 'p4 print'.
|
||||||
* Submitting requires a p4 client, which is not in the same location
|
* 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.
|
this p4 client and submitted from there.
|
||||||
* Each commit imported by 'git p4' has a line at the end of the log
|
* 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
|
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
|
objects in the pack. Placing both the index file (.idx) and the packed
|
||||||
archive (.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
|
archive (.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
|
||||||
any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
|
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
|
The 'git unpack-objects' command can read the packed archive and
|
||||||
expand the objects contained in the pack into "one-file
|
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
|
Write into a pair of files (.pack and .idx), using
|
||||||
<base-name> to determine the name of the created file.
|
<base-name> to determine the name of the created file.
|
||||||
When this option is used, the two files are written in
|
When this option is used, the two files 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
|
of the sorted object names to make the resulting filename
|
||||||
based on the pack content, and written to the standard
|
based on the pack content, and written to the standard
|
||||||
output of the command.
|
output of the command.
|
||||||
@ -80,7 +80,7 @@ base-name::
|
|||||||
--include-tag::
|
--include-tag::
|
||||||
Include unasked-for annotated tags if the object they
|
Include unasked-for annotated tags if the object they
|
||||||
reference was included in the resulting packfile. This
|
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>::
|
--window=<n>::
|
||||||
--depth=<n>::
|
--depth=<n>::
|
||||||
@ -185,14 +185,14 @@ base-name::
|
|||||||
option only makes sense in conjunction with --stdout.
|
option only makes sense in conjunction with --stdout.
|
||||||
+
|
+
|
||||||
Note: A thin pack violates the packed archive format by omitting
|
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`
|
self-contained. Use `git index-pack --fix-thin`
|
||||||
(see linkgit:git-index-pack[1]) to restore the self-contained property.
|
(see linkgit:git-index-pack[1]) to restore the self-contained property.
|
||||||
|
|
||||||
--delta-base-offset::
|
--delta-base-offset::
|
||||||
A packed archive can express the base object of a delta as
|
A packed archive can express the base object of a delta as
|
||||||
either a 20-byte object name or as an offset in the
|
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
|
latter. By default, 'git pack-objects' only uses the
|
||||||
former format for better compatibility. This option
|
former format for better compatibility. This option
|
||||||
allows the command to use the latter format for
|
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]),
|
Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]),
|
||||||
`git repack` (see linkgit:git-repack[1]) pass this option by default
|
`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.
|
So does `git bundle` (see linkgit:git-bundle[1]) when it creates a bundle.
|
||||||
|
|
||||||
--threads=<n>::
|
--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.
|
This is meant to reduce packing time on multiprocessor machines.
|
||||||
The required amount of memory for the delta search window is
|
The required amount of memory for the delta search window is
|
||||||
however multiplied by the number of threads.
|
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.
|
and set the number of threads accordingly.
|
||||||
|
|
||||||
--index-version=<version>[,<offset>]::
|
--index-version=<version>[,<offset>]::
|
||||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
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
|
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
|
the same time also reasonably unique, i.e., two patches that have the same "patch
|
||||||
ID" are almost guaranteed to be the same thing.
|
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
|
See linkgit:git-merge[1] for details, including how conflicts
|
||||||
are presented and handled.
|
are presented and handled.
|
||||||
|
|
||||||
In git 1.7.0 or later, to cancel a conflicting merge, use
|
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'
|
`git reset --merge`. *Warning*: In older versions of Git, running 'git pull'
|
||||||
with uncommitted changes is discouraged: while possible, it leaves you
|
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.
|
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
|
This option controls if new commits of all populated submodules should
|
||||||
be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
|
be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
|
||||||
That might be necessary to get the data needed for merging submodule
|
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"
|
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
|
has to be called afterwards to bring the work tree up to date with the
|
||||||
merge result.
|
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'.
|
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
|
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
|
just fetched commits of the superproject the submodule itself can not be
|
||||||
fetched, making it impossible to check out that submodule later without
|
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.
|
version.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
|
@ -9,9 +9,9 @@ git-push - Update remote refs along with associated objects
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[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]
|
[--repo=<repository>] [-f | --force] [--prune] [-v | --verbose] [-u | --set-upstream]
|
||||||
[<repository> [<refspec>...]]
|
[--no-verify] [<repository> [<refspec>...]]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -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
|
every time you push into it, by setting up 'hooks' there. See
|
||||||
documentation for linkgit:git-receive-pack[1].
|
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]]
|
OPTIONS[[OPTIONS]]
|
||||||
------------------
|
------------------
|
||||||
@ -33,13 +44,10 @@ OPTIONS[[OPTIONS]]
|
|||||||
of a remote (see the section <<REMOTES,REMOTES>> below).
|
of a remote (see the section <<REMOTES,REMOTES>> below).
|
||||||
|
|
||||||
<refspec>...::
|
<refspec>...::
|
||||||
|
Specify what destination ref to update with what source object.
|
||||||
The format of a <refspec> parameter is an optional plus
|
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>.
|
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
|
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
|
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.
|
updated.
|
||||||
+
|
+
|
||||||
The object referenced by <src> is used to update the <dst> reference
|
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
|
on the remote side. By default this is only allowed if <dst> is not
|
||||||
update can fast-forward <dst>. By having the optional leading `+`,
|
a tag (annotated or lightweight), and then only if it can fast-forward
|
||||||
you can tell git to update the <dst> ref even when the update is not a
|
<dst>. By having the optional leading `+`, you can tell Git to update
|
||||||
fast-forward. This does *not* attempt to merge <src> into <dst>. See
|
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.
|
EXAMPLES below for details.
|
||||||
+
|
+
|
||||||
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
|
`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 remote repository.
|
||||||
+
|
+
|
||||||
The special refspec `:` (or `+:` to allow non-fast-forward updates)
|
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
|
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
|
already exists on the remote side.
|
||||||
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.
|
|
||||||
|
|
||||||
--all::
|
--all::
|
||||||
Instead of naming each ref to push, specifies that 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
|
addition to refspecs explicitly listed on the command
|
||||||
line.
|
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>::
|
--receive-pack=<git-receive-pack>::
|
||||||
--exec=<git-receive-pack>::
|
--exec=<git-receive-pack>::
|
||||||
Path to the 'git-receive-pack' program on the remote
|
Path to the 'git-receive-pack' program on the remote
|
||||||
@ -150,8 +162,7 @@ useful if you write an alias or script around 'git push'.
|
|||||||
linkgit:git-pull[1] and other commands. For more information,
|
linkgit:git-pull[1] and other commands. For more information,
|
||||||
see 'branch.<name>.merge' in linkgit:git-config[1].
|
see 'branch.<name>.merge' in linkgit:git-config[1].
|
||||||
|
|
||||||
--thin::
|
--[no-]thin::
|
||||||
--no-thin::
|
|
||||||
These options are passed to linkgit:git-send-pack[1]. A thin transfer
|
These options are passed to linkgit:git-send-pack[1]. A thin transfer
|
||||||
significantly reduces the amount of sent data when the sender and
|
significantly reduces the amount of sent data when the sender and
|
||||||
receiver share many of the same objects in common. The default is
|
receiver share many of the same objects in common. The default is
|
||||||
@ -176,7 +187,7 @@ useful if you write an alias or script around 'git push'.
|
|||||||
--recurse-submodules=check|on-demand::
|
--recurse-submodules=check|on-demand::
|
||||||
Make sure all submodule commits used by the revisions to be
|
Make sure all submodule commits used by the revisions to be
|
||||||
pushed are available on a remote-tracking branch. If 'check' is
|
pushed are available on a remote-tracking branch. If 'check' is
|
||||||
used git will verify that all submodule commits that changed in
|
used Git will verify that all submodule commits that changed in
|
||||||
the revisions to be pushed are available on at least one remote
|
the revisions to be pushed are available on at least one remote
|
||||||
of the submodule. If any commits are missing the push will be
|
of the submodule. If any commits are missing the push will be
|
||||||
aborted and exit with non-zero status. If 'on-demand' is used
|
aborted and exit with non-zero status. If 'on-demand' is used
|
||||||
@ -184,6 +195,11 @@ useful if you write an alias or script around 'git push'.
|
|||||||
be pushed. If on-demand was not able to push all necessary
|
be pushed. If on-demand was not able to push all necessary
|
||||||
revisions it will also be aborted and exit with non-zero status.
|
revisions it will also be aborted and exit with non-zero status.
|
||||||
|
|
||||||
|
--[no-]verify::
|
||||||
|
Toggle the pre-push hook (see linkgit:githooks[5]). The
|
||||||
|
default is \--verify, giving the hook a chance to prevent the
|
||||||
|
push. With \--no-verify, the hook is bypassed completely.
|
||||||
|
|
||||||
|
|
||||||
include::urls-remotes.txt[]
|
include::urls-remotes.txt[]
|
||||||
|
|
||||||
@ -191,7 +207,7 @@ OUTPUT
|
|||||||
------
|
------
|
||||||
|
|
||||||
The output of "git push" depends on the transport method used; this
|
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).
|
locally or via ssh).
|
||||||
|
|
||||||
The status of the push is output in tabular form, with each line
|
The status of the push is output in tabular form, with each line
|
||||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
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
|
the patch boundaries, patch order, and patch descriptions present
|
||||||
in the quilt patchset.
|
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.
|
interactively enter the author of the patch.
|
||||||
|
|
||||||
If a subject is not found in the patch description the patch name is
|
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
|
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
|
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
|
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
|
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
|
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`;
|
as well). It is an alias for `git log -g --abbrev-commit --pretty=oneline`;
|
||||||
see linkgit:git-log[1].
|
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
|
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
|
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
|
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
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
This remote helper uses the specified '<command>' to connect
|
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
|
Data written to stdin of the specified '<command>' is assumed
|
||||||
to be sent to a git:// server, git-upload-pack, git-receive-pack
|
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'::
|
'%s'::
|
||||||
Replaced with name (receive-pack, upload-pack, or
|
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'::
|
'%S'::
|
||||||
Replaced with long name (git-receive-pack,
|
Replaced with long name (git-receive-pack,
|
||||||
git-upload-pack, or git-upload-archive) of the service
|
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)::
|
'%G' (must be the first characters in an argument)::
|
||||||
This argument will not be passed to '<command>'. Instead, it
|
This argument will not be passed to '<command>'. Instead, it
|
||||||
@ -75,7 +75,7 @@ GIT_EXT_SERVICE_NOPREFIX::
|
|||||||
|
|
||||||
EXAMPLES:
|
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>",
|
you use commands such as "git fetch <URL>", "git clone <URL>",
|
||||||
, "git push <URL>" or "git remote add <nick> <URL>", where <URL>
|
, "git push <URL>" or "git remote add <nick> <URL>", where <URL>
|
||||||
begins with `ext::`. Examples:
|
begins with `ext::`. Examples:
|
||||||
@ -86,7 +86,7 @@ begins with `ext::`. Examples:
|
|||||||
edit .ssh/config.
|
edit .ssh/config.
|
||||||
|
|
||||||
"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo"::
|
"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.
|
git protocol at abstract namespace address /git-server.
|
||||||
|
|
||||||
"ext::git-server-alias foo %G/repo"::
|
"ext::git-server-alias foo %G/repo"::
|
||||||
@ -100,14 +100,14 @@ begins with `ext::`. Examples:
|
|||||||
Represents a repository with path /repo accessed using the
|
Represents a repository with path /repo accessed using the
|
||||||
helper program "git-server-alias foo". The hostname for the
|
helper program "git-server-alias foo". The hostname for the
|
||||||
remote server passed in the protocol stream will be "foo"
|
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).
|
link-level address).
|
||||||
|
|
||||||
"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"::
|
"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"::
|
||||||
Represents a repository with path '/repo with spaces' accessed
|
Represents a repository with path '/repo with spaces' accessed
|
||||||
using the helper program "git-server-alias foo". The hostname for
|
using the helper program "git-server-alias foo". The hostname for
|
||||||
the remote server passed in the protocol stream will be "foo"
|
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).
|
link-level address).
|
||||||
|
|
||||||
"ext::git-ssl foo.example /bar"::
|
"ext::git-ssl foo.example /bar"::
|
||||||
@ -118,7 +118,7 @@ begins with `ext::`. Examples:
|
|||||||
|
|
||||||
Documentation
|
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@vger.kernel.org>
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
|
@ -11,14 +11,14 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
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
|
This is not meant for end users but for programs and scripts calling git
|
||||||
fetch, push or archive.
|
fetch, push or archive.
|
||||||
|
|
||||||
If only <infd> is given, it is assumed to be a bidirectional socket connected
|
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
|
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.
|
and <outfd> being the outbound pipe.
|
||||||
|
|
||||||
It is assumed that any handshaking procedures have already been completed
|
It is assumed that any handshaking procedures have already been completed
|
||||||
@ -52,7 +52,7 @@ EXAMPLES
|
|||||||
|
|
||||||
Documentation
|
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
|
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.
|
show remote-helper authors one possible implementation.
|
||||||
|
|
||||||
The best way to learn more is to read the comments and source code in
|
The best way to learn more is to read the comments and source code in
|
||||||
'git-remote-testgit.py'.
|
'git-remote-testgit'.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-remote-helpers[1]
|
linkgit:gitremote-helpers[1]
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -10,7 +10,7 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git remote' [-v | --verbose]
|
'git remote' [-v | --verbose]
|
||||||
'git remote add' [-t <branch>] [-m <master>] [-f] [--tags|--no-tags] [--mirror=<fetch|push>] <name> <url>
|
'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
|
||||||
'git remote rename' <old> <new>
|
'git remote rename' <old> <new>
|
||||||
'git remote remove' <name>
|
'git remote remove' <name>
|
||||||
'git remote set-head' <name> (-a | -d | <branch>)
|
'git remote set-head' <name> (-a | -d | <branch>)
|
||||||
@ -18,8 +18,8 @@ SYNOPSIS
|
|||||||
'git remote set-url' [--push] <name> <newurl> [<oldurl>]
|
'git remote set-url' [--push] <name> <newurl> [<oldurl>]
|
||||||
'git remote set-url --add' [--push] <name> <newurl>
|
'git remote set-url --add' [--push] <name> <newurl>
|
||||||
'git remote set-url --delete' [--push] <name> <url>
|
'git remote set-url --delete' [--push] <name> <url>
|
||||||
'git remote' [-v | --verbose] 'show' [-n] <name>
|
'git remote' [-v | --verbose] 'show' [-n] <name>...
|
||||||
'git remote prune' [-n | --dry-run] <name>
|
'git remote prune' [-n | --dry-run] <name>...
|
||||||
'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]
|
'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
@ -16,13 +16,13 @@ DESCRIPTION
|
|||||||
-----------
|
-----------
|
||||||
Adds a 'replace' reference in `refs/replace/` namespace.
|
Adds a 'replace' reference in `refs/replace/` namespace.
|
||||||
|
|
||||||
The name of the 'replace' reference is the SHA1 of the object that is
|
The name of the 'replace' reference is the SHA-1 of the object that is
|
||||||
replaced. The content of the 'replace' reference is the SHA1 of the
|
replaced. The content of the 'replace' reference is the SHA-1 of the
|
||||||
replacement object.
|
replacement object.
|
||||||
|
|
||||||
Unless `-f` is given, the 'replace' reference must not yet exist.
|
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
|
except those doing reachability traversal (prune, pack transfer and
|
||||||
fsck).
|
fsck).
|
||||||
|
|
||||||
|
@ -8,20 +8,20 @@ git-reset - Reset current HEAD to the specified state
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git reset' [-q] [<commit>] [--] <paths>...
|
'git reset' [-q] [<tree-ish>] [--] <paths>...
|
||||||
'git reset' (--patch | -p) [<commit>] [--] [<paths>...]
|
'git reset' (--patch | -p) [<tree-sh>] [--] [<paths>...]
|
||||||
'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
|
'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
|
||||||
|
|
||||||
DESCRIPTION
|
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
|
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
|
modifying index and working tree to match. The <tree-ish>/<commit> defaults
|
||||||
in all forms.
|
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
|
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.)
|
the current branch.)
|
||||||
+
|
+
|
||||||
This means that `git reset <paths>` is the opposite of `git add
|
This means that `git reset <paths>` is the opposite of `git add
|
||||||
@ -34,9 +34,9 @@ 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
|
can copy the contents of a path out of a commit to the index and to the
|
||||||
working tree in one go.
|
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
|
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.
|
in reverse to the index.
|
||||||
+
|
+
|
||||||
This means that `git reset -p` is the opposite of `git add -p`, i.e.
|
This means that `git reset -p` is the opposite of `git add -p`, i.e.
|
||||||
|
@ -99,7 +99,7 @@ between the two operands. The following two commands are equivalent:
|
|||||||
$ git rev-list A...B
|
$ 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
|
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
|
this reason, it has a lot of different options that enables it to be
|
||||||
used by commands as different as 'git bisect' and
|
used by commands as different as 'git bisect' and
|
||||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||||||
DESCRIPTION
|
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
|
(i.e. parameters that begin with a dash '-') and parameters
|
||||||
meant for the underlying 'git rev-list' command they use internally
|
meant for the underlying 'git rev-list' command they use internally
|
||||||
and flags and parameters for the other commands they use
|
and flags and parameters for the other commands they use
|
||||||
@ -60,8 +60,19 @@ OPTIONS
|
|||||||
instead.
|
instead.
|
||||||
|
|
||||||
--verify::
|
--verify::
|
||||||
The parameter given must be usable as a single, valid
|
Verify that exactly one parameter is provided, and that it
|
||||||
object name. Otherwise barf and abort.
|
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::
|
-q::
|
||||||
--quiet::
|
--quiet::
|
||||||
@ -84,7 +95,7 @@ OPTIONS
|
|||||||
one.
|
one.
|
||||||
|
|
||||||
--symbolic::
|
--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
|
possible '{caret}' prefix); this option makes them output in a
|
||||||
form as close to the original input as possible.
|
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.
|
relative to the current working directory.
|
||||||
+
|
+
|
||||||
If `$GIT_DIR` is not defined and the current 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.
|
print a message to stderr and exit with nonzero status.
|
||||||
|
|
||||||
--is-inside-git-dir::
|
--is-inside-git-dir::
|
||||||
@ -169,7 +180,7 @@ print a message to stderr and exit with nonzero status.
|
|||||||
|
|
||||||
--short::
|
--short::
|
||||||
--short=number::
|
--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
|
abbreviate them to a shorter unique name. When no length is specified
|
||||||
7 is used. The minimum length is 4.
|
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.
|
Flags and parameters to be parsed.
|
||||||
|
|
||||||
--resolve-git-dir <path>::
|
--resolve-git-dir <path>::
|
||||||
Check if <path> is a valid git-dir or a git-file pointing to a valid
|
Check if <path> is a valid repository or a gitfile that
|
||||||
git-dir. If <path> is a valid git-dir the resolved path to git-dir will
|
points at a valid repository, and print the location of the
|
||||||
be printed.
|
repository. If <path> is a gitfile then the resolved path
|
||||||
|
to the real repository is printed.
|
||||||
|
|
||||||
|
|
||||||
include::revisions.txt[]
|
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:
|
* 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.
|
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
|
$ git rev-parse --default master --verify $REV
|
||||||
|
@ -8,7 +8,7 @@ git-revert - Revert some existing commits
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git revert' [--edit | --no-edit] [-n] [-m parent-number] [-s] <commit>...
|
'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] <commit>...
|
||||||
'git revert' --continue
|
'git revert' --continue
|
||||||
'git revert' --quit
|
'git revert' --quit
|
||||||
'git revert' --abort
|
'git revert' --abort
|
||||||
|
@ -28,7 +28,7 @@ OPTIONS
|
|||||||
-------
|
-------
|
||||||
<file>...::
|
<file>...::
|
||||||
Files to remove. Fileglobs (e.g. `*.c`) can be given to
|
Files to remove. Fileglobs (e.g. `*.c`) can be given to
|
||||||
remove all matching files. If you want git to expand
|
remove all matching files. If you want Git to expand
|
||||||
file glob characters, you may need to shell-escape them.
|
file glob characters, you may need to shell-escape them.
|
||||||
A leading directory name
|
A leading directory name
|
||||||
(e.g. `dir` to remove `dir/file1` and `dir/file2`) can be
|
(e.g. `dir` to remove `dir/file1` and `dir/file2`) can be
|
||||||
@ -74,8 +74,8 @@ DISCUSSION
|
|||||||
|
|
||||||
The <file> list given to the command can be exact pathnames,
|
The <file> list given to the command can be exact pathnames,
|
||||||
file glob patterns, or leading directory names. The command
|
file glob patterns, or leading directory names. The command
|
||||||
removes only the paths that are known to git. Giving the name of
|
removes only the paths that are known to Git. Giving the name of
|
||||||
a file that you have not told git about does not remove that file.
|
a file that you have not told Git about does not remove that file.
|
||||||
|
|
||||||
File globbing matches across directory boundaries. Thus, given
|
File globbing matches across directory boundaries. Thus, given
|
||||||
two directories `d` and `d2`, there is a difference between
|
two directories `d` and `d2`, there is a difference between
|
||||||
@ -137,7 +137,7 @@ git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
|
|||||||
Submodules
|
Submodules
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
Only submodules using a gitfile (which means they were cloned
|
Only submodules using a gitfile (which means they were cloned
|
||||||
with a git version 1.7.8 or newer) will be removed from the work
|
with a Git version 1.7.8 or newer) will be removed from the work
|
||||||
tree, as their repository lives inside the .git directory of the
|
tree, as their repository lives inside the .git directory of the
|
||||||
superproject. If a submodule (or one of those nested inside it)
|
superproject. If a submodule (or one of those nested inside it)
|
||||||
still uses a .git directory, `git rm` will fail - no matter if forced
|
still uses a .git directory, `git rm` will fail - no matter if forced
|
||||||
@ -149,6 +149,10 @@ files that aren't ignored are present in the submodules work tree.
|
|||||||
Ignored files are deemed expendable and won't stop a submodule's work
|
Ignored files are deemed expendable and won't stop a submodule's work
|
||||||
tree from being removed.
|
tree from being removed.
|
||||||
|
|
||||||
|
If you only want to remove the local checkout of a submodule from your
|
||||||
|
work tree without committing the removal,
|
||||||
|
use linkgit:git-submodule[1] `deinit` instead.
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
`git rm Documentation/\*.txt`::
|
`git rm Documentation/\*.txt`::
|
||||||
@ -156,7 +160,7 @@ EXAMPLES
|
|||||||
`Documentation` directory and any of its subdirectories.
|
`Documentation` directory and any of its subdirectories.
|
||||||
+
|
+
|
||||||
Note that the asterisk `*` is quoted from the shell in this
|
Note that the asterisk `*` is quoted from the shell in this
|
||||||
example; this lets git, and not the shell, expand the pathnames
|
example; this lets Git, and not the shell, expand the pathnames
|
||||||
of files and subdirectories under the `Documentation/` directory.
|
of files and subdirectories under the `Documentation/` directory.
|
||||||
|
|
||||||
`git rm -f git-*.sh`::
|
`git rm -f git-*.sh`::
|
||||||
|
@ -45,8 +45,9 @@ Composing
|
|||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
|
|
||||||
--annotate::
|
--annotate::
|
||||||
Review and edit each patch you're about to send. See the
|
Review and edit each patch you're about to send. Default is the value
|
||||||
CONFIGURATION section for 'sendemail.multiedit'.
|
of 'sendemail.annotate'. See the CONFIGURATION section for
|
||||||
|
'sendemail.multiedit'.
|
||||||
|
|
||||||
--bcc=<address>::
|
--bcc=<address>::
|
||||||
Specify a "Bcc:" value for each email. Default is the value of
|
Specify a "Bcc:" value for each email. Default is the value of
|
||||||
@ -67,7 +68,7 @@ The --cc option must be repeated for each user you want on the cc list.
|
|||||||
When '--compose' is used, git send-email will use the From, Subject, and
|
When '--compose' is used, git send-email will use the From, Subject, and
|
||||||
In-Reply-To headers specified in the message. If the body of the message
|
In-Reply-To headers specified in the message. If the body of the message
|
||||||
(what you type after the headers and a blank line) only contains blank
|
(what you type after the headers and a blank line) only contains blank
|
||||||
(or GIT: prefixed) lines the summary won't be sent, but From, Subject,
|
(or Git: prefixed) lines the summary won't be sent, but From, Subject,
|
||||||
and In-Reply-To headers will be used unless they are removed.
|
and In-Reply-To headers will be used unless they are removed.
|
||||||
+
|
+
|
||||||
Missing From or In-Reply-To headers will be prompted for.
|
Missing From or In-Reply-To headers will be prompted for.
|
||||||
@ -164,8 +165,8 @@ Sending
|
|||||||
Furthermore, passwords need not be specified in configuration files
|
Furthermore, passwords need not be specified in configuration files
|
||||||
or on the command line. If a username has been specified (with
|
or on the command line. If a username has been specified (with
|
||||||
'--smtp-user' or a 'sendemail.smtpuser'), but no password has been
|
'--smtp-user' or a 'sendemail.smtpuser'), but no password has been
|
||||||
specified (with '--smtp-pass' or 'sendemail.smtppass'), then the
|
specified (with '--smtp-pass' or 'sendemail.smtppass'), then
|
||||||
user is prompted for a password while the input is masked for privacy.
|
a password is obtained using 'git-credential'.
|
||||||
|
|
||||||
--smtp-server=<host>::
|
--smtp-server=<host>::
|
||||||
If set, specifies the outgoing SMTP server to use (e.g.
|
If set, specifies the outgoing SMTP server to use (e.g.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user