Compare commits
2670 Commits
Author | SHA1 | Date | |
---|---|---|---|
3d4a3ffe64 | |||
0ab00b9464 | |||
3f5872603d | |||
b7990520bc | |||
5b9496768f | |||
36bf6d4697 | |||
fb3e7d5515 | |||
16018ae5fb | |||
ad34ad614d | |||
89ba311df3 | |||
631f6f1d47 | |||
9c589d971e | |||
6eb1401375 | |||
2eac0356b0 | |||
37f4bed11b | |||
64f7a26494 | |||
564705c7f0 | |||
fb896362cc | |||
ba63bfaa59 | |||
d544696afa | |||
d3115a35fc | |||
42b2f894a0 | |||
1c30f8efa4 | |||
c809f4258f | |||
c84364abe3 | |||
e8281f0164 | |||
2e0aabe602 | |||
e9ab76da8f | |||
ef05a39fa0 | |||
7c597ef345 | |||
7ff140202a | |||
9718c7c0c2 | |||
a59ac46ba4 | |||
268d5bc2b2 | |||
6b1258b07b | |||
1eb0545cce | |||
4498b3a50a | |||
5a5c11f19d | |||
de18648212 | |||
7348cdeb6c | |||
3d6bc9a763 | |||
e46fe3df01 | |||
7a1aa0c288 | |||
3cdff83fb0 | |||
f8e593e9a7 | |||
fa9aaa8f10 | |||
d2ae751b1c | |||
0cb7054e75 | |||
011cb58bfb | |||
bf2cfcaabf | |||
03571fda77 | |||
5a69705968 | |||
1d058dc6e5 | |||
638cbf5f0f | |||
6c3b2afe6f | |||
5dcd1b1577 | |||
852ff1c362 | |||
f1f4c84dcc | |||
ecc46a1780 | |||
6b6c5f7a2f | |||
44cc742a8c | |||
689664ae94 | |||
c888305e1e | |||
f88c11346c | |||
9386878f69 | |||
ddc7d46d9e | |||
8d00662d7d | |||
fa54b52432 | |||
9af95af05f | |||
a4acd09bd9 | |||
44f518e68e | |||
6eebb35ec0 | |||
bfcfc7d273 | |||
2bf15a3330 | |||
6ae0d97266 | |||
3c6151dad3 | |||
afcb6ee30a | |||
c8b8f22aa9 | |||
918de7523d | |||
668fa6c951 | |||
1c8f034ddb | |||
c9f0dbf143 | |||
2b8bd44aab | |||
1a51b52422 | |||
9585cb8d96 | |||
cf8a8c6bd5 | |||
52735a6892 | |||
ad00aebfe9 | |||
ab0fb57aac | |||
a78fc4af82 | |||
d7bfb9ee97 | |||
9ce4ad3e0e | |||
c8c3f1d087 | |||
0e32d4b31f | |||
f907282faf | |||
02507f42a0 | |||
814ff3141e | |||
d0cec149b2 | |||
d50d31e880 | |||
7298ca7b2e | |||
d3c0811467 | |||
d03ead9836 | |||
a3b75b3ccb | |||
9e4ab3a4f5 | |||
31137f54db | |||
3a183520b2 | |||
2c97724d5e | |||
4eea8e3fa0 | |||
a070d621ed | |||
b265061937 | |||
2217579cde | |||
245dd15aa9 | |||
b70cec0a2e | |||
a5d3154854 | |||
73d8bfde32 | |||
591a1daa7c | |||
07e3f27f48 | |||
9f389aa492 | |||
b37996e251 | |||
cf98c423b5 | |||
39d5bef5c1 | |||
138ce9c29f | |||
83e085a1f9 | |||
283cd320db | |||
553c622b68 | |||
d8279c7d85 | |||
a730ea3c3a | |||
792c57273f | |||
90329592b9 | |||
76f92c1684 | |||
dc76d8fec9 | |||
c12468b71c | |||
c2ea120885 | |||
6b17eada5f | |||
129260cbd4 | |||
2dfb2e07cb | |||
30db51a3fe | |||
55a3b3c26e | |||
574ee8ae86 | |||
fddfaf8a22 | |||
bca181109d | |||
6ce3cc5d33 | |||
ea1fd481b4 | |||
d78374e578 | |||
05e816e37f | |||
a801bb8c29 | |||
2f6ef71387 | |||
927936d753 | |||
cf07d3fe90 | |||
dbd04eba01 | |||
257b204f25 | |||
01c057df3f | |||
09e32fa0f8 | |||
5f15cba2f9 | |||
fc99da1fb7 | |||
be86fb3f8d | |||
c6587bddc4 | |||
e6821d09e4 | |||
76e057dba2 | |||
6636cf7e90 | |||
fd7771415b | |||
ecb590a9de | |||
92e625d3a3 | |||
777c55a616 | |||
826aed50cb | |||
70320541ec | |||
f53fc38c08 | |||
9b22801c18 | |||
c267a4d013 | |||
61ca378275 | |||
aa65b86025 | |||
07da4e092f | |||
c12eca7ed2 | |||
a633651d21 | |||
3a52578eef | |||
437ed4cea1 | |||
a393c6bfd9 | |||
a4f287e5aa | |||
7d6f6e3730 | |||
ffac6258de | |||
3f6f5c9dbe | |||
c97418466a | |||
84a37fae51 | |||
82b6e331a4 | |||
f63ed085e2 | |||
8c2ea51254 | |||
915e44c635 | |||
067178ed8a | |||
5d0b9bf86d | |||
e280888cfb | |||
473091e21e | |||
d687839c29 | |||
f0b1f1ece7 | |||
f088104490 | |||
c29b3962af | |||
c5eadcaab1 | |||
1d4974c9bc | |||
5c950e9bf0 | |||
911ec99b68 | |||
260d5850ad | |||
d56d966b3b | |||
9a9592ff7c | |||
1b7cb8969c | |||
2d9426b049 | |||
65e6758767 | |||
03f15a79a9 | |||
e80e85a52a | |||
46d403f13e | |||
5f456b3c26 | |||
cfe96b38fd | |||
daea6fca35 | |||
4c24385e80 | |||
0a81977239 | |||
551fc7aec1 | |||
ec0465ade8 | |||
89ebf97c11 | |||
38f6ae90de | |||
d6c988ddfa | |||
f57610a1ff | |||
ea56c4e02f | |||
8d42299361 | |||
ff4056bbc3 | |||
49672f26d9 | |||
8b43fb18f8 | |||
e869c5eaee | |||
49383dd431 | |||
b7a06e006e | |||
8bafd20fd9 | |||
635ce72fae | |||
11f228b0be | |||
bfe998fc9b | |||
545871bf77 | |||
e7d053ddb9 | |||
2f69de5b4b | |||
95508a0751 | |||
9157c5cb09 | |||
e4e6e8b4e3 | |||
d8cd32792a | |||
aef591a0f9 | |||
27a6625b13 | |||
53350a35a3 | |||
9ddc5ac97e | |||
c21fc9d0ab | |||
35da1bf5d6 | |||
a6a4a88af0 | |||
0a5e3c50de | |||
a167ece0c8 | |||
5ca812a19c | |||
99094a7ad4 | |||
60687de5ba | |||
8fb268720e | |||
bb79af9d09 | |||
f88851c637 | |||
32d0462f8d | |||
626df76e3d | |||
c3c17bf107 | |||
b7916422c7 | |||
16eff6c009 | |||
ee0e38727f | |||
599d223107 | |||
c2048f0b39 | |||
695985f483 | |||
9ab698f400 | |||
2a39bdb9a1 | |||
9bb56e4753 | |||
795b01422d | |||
e5b8ce243c | |||
fbcbcee51c | |||
860b05b77b | |||
f0b7ab3513 | |||
6902c4da58 | |||
b25c469956 | |||
9bdc5173f0 | |||
c846920f23 | |||
f7fa39b0b1 | |||
66e3f017fc | |||
8a1692f6bc | |||
ce232c3a14 | |||
eaf7e835e6 | |||
1dd29606b6 | |||
995f792b99 | |||
db8d750876 | |||
a8bc269f11 | |||
52cae643c5 | |||
bb8577532a | |||
4b23b5d1af | |||
113bc16094 | |||
bb8f6de064 | |||
3aab60b3ba | |||
ae8ada450a | |||
2408f3b74b | |||
3af1bcafff | |||
a4b4f9b8e3 | |||
30a52c1dcb | |||
5244a31039 | |||
1469d99068 | |||
c722ba4814 | |||
da0005b885 | |||
376e4b39d4 | |||
9a308de37c | |||
89c57ab3f0 | |||
025232e8aa | |||
da706545f7 | |||
8ddf3ca74f | |||
e172755b1e | |||
dd059c6c07 | |||
fd2014d42b | |||
c8a571d8bc | |||
6f75d45b24 | |||
04f20c04c6 | |||
0d6accc01d | |||
3f88c1b524 | |||
ce026cc7e2 | |||
dcd01ea187 | |||
51ff0f27bc | |||
4ab682e213 | |||
a25b5a32c7 | |||
9529080de2 | |||
b680a86a86 | |||
1b56cdf901 | |||
ff7a9dc2c5 | |||
130e475e1f | |||
7a9409cb01 | |||
82b7e65199 | |||
2d659f7d6e | |||
5751a3d195 | |||
01cec54e13 | |||
7a646cec5b | |||
83da013998 | |||
cc6825e194 | |||
6a536e2076 | |||
d67f9d5e8f | |||
52d5bf7787 | |||
36ab7680c0 | |||
a11c508d56 | |||
83ac11fac4 | |||
b6488fe191 | |||
79de649c0f | |||
a3eea73cc8 | |||
34e4e05b51 | |||
74c91d1f7a | |||
2588882df9 | |||
1165ae6f3d | |||
f69f5f19cf | |||
f56a5f4fed | |||
d86679fa06 | |||
2e7ca2745b | |||
e1db59e179 | |||
53e53c7c81 | |||
2acc194075 | |||
2185d3b7ad | |||
28c8cfc363 | |||
8fa7975b07 | |||
4b06318664 | |||
970399e74c | |||
17d65f03e1 | |||
4055500093 | |||
f8c65c1f97 | |||
ec8a896eb5 | |||
9a6f1287fb | |||
4aff646d17 | |||
83036f8541 | |||
3ebda3e9f5 | |||
1e299f5286 | |||
4e0d6207e5 | |||
007f7f6e54 | |||
33367575b8 | |||
3630be2749 | |||
cbc8d6d8f8 | |||
f5a191d3dc | |||
e591339ce7 | |||
c11c154f42 | |||
518d1c349b | |||
ab09f58e8c | |||
069dea89cf | |||
abfed73ce8 | |||
2250406bfd | |||
3bef3c12d6 | |||
b1cffbfcfc | |||
6db0497e1a | |||
aaa90f5f07 | |||
be2804c49e | |||
552f6994d2 | |||
a628d50575 | |||
8fd37b3862 | |||
5135fefaa1 | |||
fcf04eef75 | |||
a6f9decbe3 | |||
42da484006 | |||
fa8baa4b2a | |||
8a6444d50e | |||
ca704731b1 | |||
fec7b79aa4 | |||
fd9de868c3 | |||
423c688b85 | |||
5e6f003ca8 | |||
fe2a18165c | |||
5a6f47077b | |||
074336e5ed | |||
706d5f816f | |||
8280bbebd1 | |||
5ee875852e | |||
1c448b3b5c | |||
b92c1a28f8 | |||
5f7b91baca | |||
ff5507ed2a | |||
a5285b6c23 | |||
05c3e5c771 | |||
97c12a8b71 | |||
4c3dbbf722 | |||
ef4cdb8bb7 | |||
0278b3f609 | |||
73b690a634 | |||
71f19cce36 | |||
eb32c66e8d | |||
5c31acfbe2 | |||
aaba0ab462 | |||
189c860c9e | |||
d913022763 | |||
ab27389aff | |||
122b807992 | |||
e203d1dcba | |||
4d6be03b95 | |||
f98c2f7e53 | |||
d811c8e17c | |||
77fdb8a82c | |||
d0017928cb | |||
93f7d9108a | |||
28ed7b02dd | |||
e426311bef | |||
45c956b357 | |||
bcd57cb9e1 | |||
47092c1067 | |||
7f4ba4b6e3 | |||
767f000b4d | |||
b4e8fefc7f | |||
be94b339b6 | |||
33a2eeaead | |||
75b49bb181 | |||
4f5a4271ea | |||
1585dfeda7 | |||
a75c663cd2 | |||
81a535da88 | |||
90eea883fd | |||
e2a318f796 | |||
50e1ba5050 | |||
32464d36bf | |||
11acff121a | |||
8004647a21 | |||
7bc4c01d9b | |||
2764442ac9 | |||
254a3ebfe8 | |||
7070c03d51 | |||
117c1b333d | |||
9f8410b941 | |||
b9efce10c2 | |||
93baadb138 | |||
2fc85f0545 | |||
8f3d03d81e | |||
6606129491 | |||
74419c29df | |||
faf723a631 | |||
817d03e105 | |||
33baa6983d | |||
355d4e1739 | |||
9a9c1f1fdf | |||
744ea70c7a | |||
c0997feda8 | |||
7cf6232e2c | |||
dcc883dcbc | |||
070f6fed05 | |||
f11f76b2bb | |||
073bb8ebb8 | |||
df3f4ba1a3 | |||
3f55ccab8e | |||
9f6976528b | |||
86ceb337ec | |||
2ce63e9fac | |||
68d6d6eb40 | |||
008d5d005d | |||
2ae7f90f26 | |||
afb5de7f8d | |||
d5c4b1855d | |||
ef2956a5e2 | |||
f3f407747c | |||
74f45dfd78 | |||
ca00db08da | |||
de15bdb058 | |||
2c1f554d0c | |||
db30b8333b | |||
d3e73b5b31 | |||
f18e3896f7 | |||
c2d081ceb9 | |||
dc8edc8f7d | |||
edef953e48 | |||
b485373052 | |||
5248f2dd4f | |||
94bc83c593 | |||
d1dd721f11 | |||
4b7b520b9f | |||
1618033401 | |||
60294596ba | |||
f04c5b5522 | |||
a933c23e66 | |||
a908a31c34 | |||
fb5a6bb61c | |||
1d147bdff0 | |||
8df4e51138 | |||
fec14ec38c | |||
06c21e18ab | |||
d16c33b4c1 | |||
bc1c2caa73 | |||
3188ab3af6 | |||
a158904323 | |||
445bb5b74d | |||
fccf4a0567 | |||
f6b50a8bf4 | |||
ec8618a7f8 | |||
b93b5b21b5 | |||
d7c8b33a35 | |||
a23069ce04 | |||
38459ee6af | |||
c1fa3e21bc | |||
9f55a77777 | |||
a6c68158e5 | |||
f471494303 | |||
06038cd7b7 | |||
f400e51c13 | |||
db7b9e3ad3 | |||
bd9150b7e5 | |||
459b8d22e5 | |||
bb8db1b553 | |||
2c0ab4d49d | |||
f2b4f0a23b | |||
0b868f0eec | |||
5d308512ff | |||
852a15d748 | |||
aab1beb0e1 | |||
2879bc3b0c | |||
45917f0f99 | |||
31e79f0a54 | |||
581d4e0cdb | |||
a983e6ac58 | |||
18d0fec240 | |||
bb831db677 | |||
afa3ccbf44 | |||
c985aaf879 | |||
cba07bb6ff | |||
39fa6112ec | |||
4d5c4e498a | |||
1ba6e860b9 | |||
b19aab58f1 | |||
1c4ebbc3ad | |||
35d28f32e6 | |||
76c6747b7e | |||
092c4be7f5 | |||
5c9c3dfaff | |||
7706d85453 | |||
51334bb094 | |||
fcae987e94 | |||
14f563031d | |||
204a8ffe67 | |||
e0d201b616 | |||
fdc2c3a926 | |||
3c37a2e339 | |||
c536c0755f | |||
5e915f3085 | |||
e60059276b | |||
507d6aa5bf | |||
61c9475221 | |||
b0a4264277 | |||
e6f875e052 | |||
88c03eb577 | |||
9874fca712 | |||
1d0655c15e | |||
d306f3d351 | |||
5e0be134d3 | |||
8c1e9f40f9 | |||
0b86fe8923 | |||
bd4e8822da | |||
3af67924e0 | |||
1c2dbf2095 | |||
8196e72895 | |||
0d1c285af2 | |||
35840a3e78 | |||
7471cf88f5 | |||
697f652818 | |||
1f985d60ef | |||
830ff021aa | |||
b65c05882f | |||
ac1c2d9a21 | |||
57b92a77a0 | |||
94ee8e2c98 | |||
66ec904b4e | |||
502e7f9851 | |||
394e1505b8 | |||
f18604bbf2 | |||
15598cf41b | |||
8b9c2dd4de | |||
ff76d36b35 | |||
b4fde1e37d | |||
1044b1f6a1 | |||
07586ebd4f | |||
2f334c6461 | |||
3b36ef9188 | |||
573ed5e147 | |||
13d261e53a | |||
3cab02de50 | |||
10de86d0d5 | |||
a9c4641df7 | |||
76afe74b10 | |||
67b5440d0d | |||
d588d4d940 | |||
ab9432d375 | |||
a4c044484e | |||
ee443cf236 | |||
0a80bc9f13 | |||
407a792ef7 | |||
2988289f2c | |||
923fc5ab40 | |||
85cb1d0ba8 | |||
edb72d5511 | |||
33cae5428a | |||
a9942e108c | |||
25143a54fc | |||
1e60744913 | |||
54d80a9343 | |||
627736ca79 | |||
ea6e82c875 | |||
17ad37112d | |||
d6589d1ba4 | |||
d06ce4a508 | |||
3759d27aca | |||
a235de4bd2 | |||
d9d56b2357 | |||
07361f12ab | |||
482f68e741 | |||
d1f9c7b77e | |||
0ef279509b | |||
bf41b712c7 | |||
105979f71c | |||
48a9a6b5eb | |||
124d80928d | |||
e1a05ad851 | |||
463243d49c | |||
04cb2f28cc | |||
d468fa2721 | |||
f20e56e202 | |||
14e2177a40 | |||
088c9a86ff | |||
aa07cac43f | |||
6afbbdda33 | |||
bdfdaa4978 | |||
eae69530ae | |||
1767c51787 | |||
b4a56a3966 | |||
412cb2ec13 | |||
167832c2ca | |||
a355b11dab | |||
667f7eb2ea | |||
0131c49096 | |||
2b102efc8c | |||
cb4680500a | |||
0fb1df4af2 | |||
b90a3d7b32 | |||
a94655dcfe | |||
9a2bb059e7 | |||
2a26377047 | |||
d0a042a186 | |||
563d4e59bd | |||
670f6a72b8 | |||
401a317aae | |||
63a0e83ea6 | |||
09deda3746 | |||
ce8e4e3e57 | |||
d62078e910 | |||
601ca9287d | |||
9920c71825 | |||
e1ef7d177c | |||
1e7ef5d9bf | |||
8128835f91 | |||
41753312e1 | |||
e9f91191cc | |||
2202ab1931 | |||
6d9f0c7c0d | |||
7fd92d9ed0 | |||
04b39f195b | |||
f6786c8dcb | |||
6babe76496 | |||
9c9b4f2f8b | |||
331004836b | |||
9905988a57 | |||
22dfa8a23d | |||
a46442f167 | |||
8c53f0719b | |||
eaa541eb59 | |||
4440690786 | |||
d64ea0f83b | |||
fbf5d8c3d0 | |||
beb691f770 | |||
7695982c20 | |||
ce3e848b40 | |||
92be938e96 | |||
b6160d950c | |||
addfb21a94 | |||
def6dd9bc6 | |||
fdf96a20ac | |||
9f16184af5 | |||
d0879b33a6 | |||
efc028b1f2 | |||
9ea21fa89c | |||
ba1edc9264 | |||
417a5b226c | |||
832258da96 | |||
e20d5a2c44 | |||
7a353ec965 | |||
acddf49432 | |||
d61e79050c | |||
97488abc91 | |||
c00e1c59d8 | |||
42618bc34e | |||
290c8e7a3f | |||
a2681d2bac | |||
10aff315f6 | |||
50fea42ef5 | |||
88e011814b | |||
a6c3c638ac | |||
8bd2c972b1 | |||
0855331941 | |||
89ea90351d | |||
9990273917 | |||
ad35ecabea | |||
d0e8e09cd8 | |||
4ff17f10c4 | |||
7582e9397c | |||
1b70fe5d30 | |||
68deed298a | |||
222368c645 | |||
a1a261457c | |||
b6a4788586 | |||
a6a8431968 | |||
4dbe66464b | |||
339de50891 | |||
fe7611c46f | |||
1e6f5b22ad | |||
ee6e4c70f1 | |||
7ba46269a0 | |||
3c84ac86fc | |||
282616c72d | |||
64a03e970a | |||
3d8a54eb37 | |||
40d2f38635 | |||
06a8bbb41d | |||
487b17de3e | |||
7938918e9f | |||
c0cf6866fc | |||
74a101eb48 | |||
3d2c1bf2d4 | |||
5095fa61e3 | |||
948e81408d | |||
e82f629cf4 | |||
abac75c207 | |||
04950c7141 | |||
c5cb52fd7c | |||
08db3b6392 | |||
bb86a40e06 | |||
098501527f | |||
58e0362edd | |||
f41157e649 | |||
d35c802793 | |||
da178ac793 | |||
d89ad9c1b8 | |||
bcfe6f327d | |||
102fc80d32 | |||
46f32a99b8 | |||
0120b8c85c | |||
76b4309400 | |||
8601099373 | |||
e0a1f09313 | |||
d91175b212 | |||
230c09c06a | |||
d47e55da92 | |||
e66dc0cc4b | |||
d05c77cca2 | |||
a117fa2116 | |||
33adc83ddb | |||
06a604e670 | |||
fad32bcd83 | |||
aa7710e064 | |||
6aaf956b08 | |||
07913d5ae1 | |||
6bc02d5627 | |||
74c4de5832 | |||
052b2551ad | |||
66e28e93bb | |||
0bbc971ab5 | |||
9fb7b57f82 | |||
c5b9256360 | |||
2dacf26d09 | |||
1684c1b219 | |||
6b33894f99 | |||
8d025b7caf | |||
8547e0f176 | |||
4395b21424 | |||
cb71e73ade | |||
47103bd6b3 | |||
b90c95d90e | |||
fb86e32dcc | |||
d69360c6b1 | |||
bbcefffcea | |||
2c380e7a8d | |||
a305b15f82 | |||
35b5a8b769 | |||
3d4eecc871 | |||
2df39733e5 | |||
63903d0e4e | |||
9f240ec60f | |||
3701aa093e | |||
aa9066fccd | |||
8ada1d8e9c | |||
3dadfc7e17 | |||
d539eb9d25 | |||
6d43519a8e | |||
1cb4b3d380 | |||
14d4aab3bb | |||
15a171f6eb | |||
00c194a819 | |||
6f3abb7a87 | |||
12b9f08953 | |||
53c3692eac | |||
2cd20dc3d4 | |||
3ab00292fc | |||
86362f7205 | |||
2f17ecbd8d | |||
0b5ae7ba68 | |||
570077231f | |||
77a801d237 | |||
a558344c11 | |||
08884f57f3 | |||
72ecc6ef53 | |||
6bcaff1a4f | |||
5109f2aaab | |||
2374f1dfd1 | |||
fa7f51d533 | |||
a7ddaa8eac | |||
8e606f97f8 | |||
7665d9c3a6 | |||
4762c7b42a | |||
63296d583c | |||
168ab99d4c | |||
0178207021 | |||
3cdb0cb610 | |||
0ed8a4e161 | |||
c2e8e4b9da | |||
57815a4f56 | |||
7d37ed1382 | |||
ebae81e96d | |||
0eeb9b86d6 | |||
e524fb497a | |||
0b5c641490 | |||
8d5134399c | |||
e8c2351157 | |||
8390d5cda9 | |||
5d509d5e1c | |||
447c39a9b2 | |||
8297643fcd | |||
eb443e3b39 | |||
3af74cfb15 | |||
c653e0343d | |||
3581d79335 | |||
31e07f76a9 | |||
0b1e654801 | |||
fa5b1830b0 | |||
32c239d1fb | |||
1679acdbff | |||
3a77c2096d | |||
69d84a3b58 | |||
2aa590cb07 | |||
bef111d0a5 | |||
c376d96825 | |||
3f1509809e | |||
b195aa00c1 | |||
9b7cbb3159 | |||
77933f4449 | |||
8e36a6d575 | |||
58f1d950e3 | |||
9a8c2b67cd | |||
5e519fb8b0 | |||
83332636f5 | |||
6898b79721 | |||
5c8213a769 | |||
2aa9100846 | |||
d08c13b947 | |||
2b4c6efc82 | |||
1d1d69bc52 | |||
a18fcc9ff2 | |||
a42643aa8d | |||
6162a1d323 | |||
76e86fc6e3 | |||
450870cba7 | |||
cc2fc7c2f0 | |||
96b50cc190 | |||
4616918013 | |||
6fb5df6c77 | |||
0e18a5b428 | |||
2cf770f501 | |||
ac1596a684 | |||
a8bec7abcc | |||
0e5ed7cca3 | |||
ab47e2a583 | |||
11f70a7e29 | |||
1be976eeb4 | |||
9dd70e0a0d | |||
9abc44b681 | |||
3889e7a60c | |||
23c0956441 | |||
0ddedd4d6b | |||
e886efdb34 | |||
bb87344a74 | |||
974df59986 | |||
f54629e7b6 | |||
aa6bdbb62f | |||
b690b87ce3 | |||
11078d66d9 | |||
c09988ad94 | |||
4b0bf39dd5 | |||
1e3eefbc8d | |||
b729effbdb | |||
82a645a73f | |||
553daf13ea | |||
bc11155cea | |||
8c22dd3254 | |||
ddd64c566d | |||
ea7b4f6d33 | |||
c4c4fbf86c | |||
98f31d8589 | |||
aba56c89b2 | |||
c48a163535 | |||
60cc3c4072 | |||
f3b661f766 | |||
2e376b3156 | |||
524127afbf | |||
55dfc8de18 | |||
2c6207abbd | |||
a0d4923ddf | |||
c0e0ed6efe | |||
b41a36e635 | |||
c83a5099c8 | |||
fac908389d | |||
f2667a8330 | |||
b0f4c9087e | |||
0e729c7ed5 | |||
a46e41fca3 | |||
97f05f43dc | |||
8e9faf27c1 | |||
ea417833ea | |||
6a49870a72 | |||
10c497aa0c | |||
356e91f2ec | |||
71b5984975 | |||
0cef4e765c | |||
936d2c9301 | |||
ccadb25f73 | |||
83c9433e67 | |||
3b9a2b07ef | |||
a1e920a0a7 | |||
7add441984 | |||
0291973b36 | |||
c18b867341 | |||
a633732440 | |||
0b0cd37920 | |||
0e0252b755 | |||
8aae35f658 | |||
2528ff079c | |||
9b144d869f | |||
7f2186cadf | |||
c21df07886 | |||
09d60d785c | |||
05d7fb6290 | |||
8213d87a83 | |||
1b74f643f6 | |||
69216bf72b | |||
e5e73ff20b | |||
a785d3f77c | |||
bc9f2925fb | |||
1f23cfe0ef | |||
f8c4ab611a | |||
63226218ba | |||
608758d5ce | |||
27234a2ef3 | |||
ff7aa81f89 | |||
85ed2f3206 | |||
d543d9c0f4 | |||
e652c0eb5d | |||
59b386526a | |||
e32afab7b0 | |||
21b138d0f6 | |||
f1f6224c72 | |||
4be4f71f55 | |||
5c6cb9888d | |||
1cf9952db2 | |||
6a0b0b6de9 | |||
814dd8e078 | |||
b799a696b2 | |||
decd3c0c28 | |||
00a6fa0720 | |||
b5007211b6 | |||
4d7a5ceacc | |||
1404bcbb6b | |||
59362e560d | |||
ff51f5619d | |||
ae1dcc52c1 | |||
b260d265e1 | |||
a2b450d6fd | |||
61e704e38a | |||
a078f7321b | |||
452dfbed1a | |||
0720a51b29 | |||
ee756a8161 | |||
acd72b5636 | |||
03335f2295 | |||
aca56064f4 | |||
8d81408435 | |||
bb29456c89 | |||
3383e19984 | |||
8552943f41 | |||
fcce0da975 | |||
4a45b2f347 | |||
6d6d06c901 | |||
28d3f214d1 | |||
16d4fa3d96 | |||
7d665f3584 | |||
fc66505c53 | |||
3a0a3a8972 | |||
bba5fccc03 | |||
53de742470 | |||
54cc5d29a0 | |||
652e759330 | |||
1e86d5b11d | |||
98a260220c | |||
c41d3fedd8 | |||
1b6a53431c | |||
e00e13e2aa | |||
c7bf68d6b4 | |||
1d31e5a2cd | |||
bca45fbc1f | |||
ff40d185d2 | |||
17a4be2606 | |||
695d95df19 | |||
62ce40d933 | |||
cb357221a4 | |||
d0e08d6233 | |||
0edad17d67 | |||
068395150b | |||
7ba2ba7d12 | |||
e6c1c391a8 | |||
388a439ca9 | |||
9aeb4c2b57 | |||
e3f9cab742 | |||
ca0107e279 | |||
eeb92d7e60 | |||
bfd6b53aab | |||
f00e081a9a | |||
d4c4f18090 | |||
13dbf46a39 | |||
eedc4be54f | |||
ca2051d6e3 | |||
64c07db9ad | |||
e69b1ce000 | |||
0cfd333d0b | |||
4d86216f5b | |||
3f78278beb | |||
880ef58b3d | |||
5a97639b39 | |||
e204b001cf | |||
1f32ecffd8 | |||
b3e4c47565 | |||
a16cc8b247 | |||
ea4f93eb99 | |||
366c8d4ca3 | |||
bcd46becbc | |||
3696a7c2d9 | |||
31a8aa1ee8 | |||
83915ba521 | |||
ba6fad02b6 | |||
d544b2d495 | |||
744437f8e6 | |||
99474b6340 | |||
908a320363 | |||
49e0c5ad0a | |||
c616d845b5 | |||
d37239536c | |||
c5326bd62b | |||
073281e2ae | |||
8942821ec0 | |||
f904f6603a | |||
c4f901d159 | |||
faa8fac1ec | |||
f5709437d9 | |||
9c70e2c105 | |||
7fa1365c54 | |||
bbebdc1dca | |||
8a4acd6995 | |||
d73a5b933d | |||
52694cdabb | |||
b0de56c6a5 | |||
2672671872 | |||
022cf2bf88 | |||
f6f61cbbad | |||
caea1a2bb5 | |||
6066a7eac4 | |||
4282af0fc9 | |||
bebf5c0476 | |||
d0923b6d4c | |||
511726e4b1 | |||
80b581dd09 | |||
a4c4708fe6 | |||
bd51886f30 | |||
a79c3a1b81 | |||
71069cdfc7 | |||
a2bae2dce1 | |||
b226293b44 | |||
3d24a7267d | |||
61cfef4ca4 | |||
8c38458923 | |||
216d29ef25 | |||
d52adf1f32 | |||
2887103b35 | |||
aae828b911 | |||
1e16b255b9 | |||
39942766ab | |||
66edfe9ddc | |||
d956a20a69 | |||
cdc6aba8c5 | |||
3b422bc854 | |||
a1ad2475a7 | |||
32da67bf22 | |||
64b9326460 | |||
a1671dd82b | |||
6b55f8b546 | |||
e44da1bbb8 | |||
e50cd67ba4 | |||
f1a35295c2 | |||
03af7cd158 | |||
251e7dad51 | |||
f745acb028 | |||
a8787c5c1c | |||
9233887cce | |||
72549dfd5d | |||
dd83521629 | |||
fa137f67a4 | |||
6c31a5e94a | |||
220c313cc3 | |||
94dd79e9fe | |||
ac4a73dd25 | |||
5331bfd785 | |||
f507e5dd62 | |||
4dcd03eaee | |||
d07a63e47c | |||
4ace7ff455 | |||
ef59f324b0 | |||
1d42cf3c6c | |||
598d7eb160 | |||
bf1f639ea2 | |||
7ffa35b047 | |||
d9362ef9b9 | |||
e8eb25122e | |||
5e626b91d4 | |||
2ce406ccb8 | |||
d76c9e95b4 | |||
729dbbd9fc | |||
81d645d1a1 | |||
da0bc948ac | |||
4ae9a7b966 | |||
9fabefb1f3 | |||
4d5e1b1319 | |||
7b68b0eebf | |||
835e3ddeff | |||
822aaf0f08 | |||
36666ce4da | |||
49c3e92634 | |||
ebc2e5a593 | |||
9db1838705 | |||
af1b4e350f | |||
27c31d2088 | |||
a8f01f87d0 | |||
5b509df0c3 | |||
9ce57f1228 | |||
e82935d917 | |||
7654ca6963 | |||
ce71c1f339 | |||
c1777a2970 | |||
d70e331c0e | |||
853878d520 | |||
96ef1bdc65 | |||
8828f2985f | |||
5d222c099e | |||
261f315beb | |||
073bd75e17 | |||
2b52123fcf | |||
79a77109d3 | |||
f4694a8c08 | |||
d55aeb7687 | |||
e7f224f780 | |||
c6c3e0db84 | |||
da8a3664b1 | |||
bfb0e6fcd2 | |||
48a031af3c | |||
f51140c247 | |||
25098690a0 | |||
7676aff709 | |||
aee7d04c12 | |||
6725ecaba7 | |||
dfa72fdb96 | |||
f947ae4b65 | |||
2b6c613f1a | |||
54b95346c1 | |||
d0b34f241d | |||
9ee13a934e | |||
abfef3bbf5 | |||
fbecd99861 | |||
a33043f639 | |||
95d2255bfe | |||
1758d236a2 | |||
e4da4fbe0e | |||
bb8caad381 | |||
7fc311d5ff | |||
217610d7d6 | |||
f35a02b15d | |||
26a22d8d00 | |||
75c961b767 | |||
08e3ce5a20 | |||
b9459019bb | |||
6936b5859c | |||
19b5d50cb1 | |||
693f62ff68 | |||
48f662dd74 | |||
a46af5946c | |||
e96e98b339 | |||
02f4db83bd | |||
64bff25f78 | |||
3c85452bb0 | |||
f13f9b0eab | |||
03e11a715b | |||
8b148bf085 | |||
dc76c7f783 | |||
13da0fc092 | |||
9d04401ffe | |||
7df3b072a9 | |||
9c6be8b5ab | |||
b946576839 | |||
b67588d018 | |||
713ee7fe46 | |||
f9a2fd3616 | |||
6459cf8cdf | |||
15c6ef7b06 | |||
ecdab41267 | |||
7c45cee6bb | |||
7544b2e2da | |||
0f4b6db3ba | |||
189a122249 | |||
d7702be1e1 | |||
a915459097 | |||
19a583dc39 | |||
2113471478 | |||
4fe10219bc | |||
b1e757f363 | |||
41d018d146 | |||
c90f9e13ab | |||
edfbb2aa53 | |||
1be111d88f | |||
458a7e508c | |||
207394908e | |||
98349e5364 | |||
c11dc64722 | |||
1cb3324e61 | |||
4750f4b962 | |||
688684eba4 | |||
8f0cb41da2 | |||
eab335c46d | |||
9e8f8dea46 | |||
d7d300ea59 | |||
b12d04503b | |||
9e0c3c4fcd | |||
33d4221c79 | |||
abcb86553d | |||
d0d46abc16 | |||
d3038d22f9 | |||
660c889e46 | |||
4a1e693a30 | |||
cac05d4dfd | |||
0d3b729680 | |||
3725427945 | |||
27e1e22d5e | |||
718ccc9731 | |||
5f78a431ab | |||
1da1e07c83 | |||
46be823124 | |||
68f492359e | |||
50a71776ab | |||
fe1b22686f | |||
2ea40f01c5 | |||
4d24d5202c | |||
fb1d6dabce | |||
4fb4b02d98 | |||
7bfb7c357c | |||
1c7e2d23e4 | |||
9c66cd3bd0 | |||
76ee96a9b6 | |||
f9e43085bb | |||
4756c05741 | |||
74578618a0 | |||
773ee47c2b | |||
7d61547db8 | |||
65732845e8 | |||
fb43bd1cd1 | |||
5a603b0463 | |||
2ebb49ca8a | |||
971c41c717 | |||
d0f810f0bc | |||
8159f4af7d | |||
f3cc52d840 | |||
18f29fc61e | |||
62a2d52514 | |||
014e7db3f5 | |||
7695d118e5 | |||
aae383db8c | |||
cd94f76572 | |||
28e6a97e39 | |||
5fe7d825da | |||
5d94a1b033 | |||
8a9df90d9a | |||
7522e3dbcc | |||
db7516ab9f | |||
dbdcac7d5c | |||
9ccc0c0896 | |||
3c93c847ca | |||
1054af7d04 | |||
2b2b1e4d27 | |||
05e73682cd | |||
8f7ff5b2fe | |||
f6c5a2968c | |||
8852117a60 | |||
670a3c1d5a | |||
337233c502 | |||
0189df3161 | |||
145c590df8 | |||
63434da0b4 | |||
40e2d8dbaf | |||
11cb3130d5 | |||
bd107e1052 | |||
7543dea8b2 | |||
cc7b2f8281 | |||
dc11fc2de8 | |||
e2ebb5c433 | |||
792a572320 | |||
211836f77b | |||
a136f6d8ff | |||
dc05179b5a | |||
dfd66ddf5a | |||
b9384ff34e | |||
85039fb6e4 | |||
76bed78a58 | |||
6634f05454 | |||
b1d78d77bf | |||
2013d8505d | |||
f0a90b4edf | |||
46a0613f00 | |||
4103818d20 | |||
9385b5d706 | |||
f8a48affbb | |||
c9a5172fdf | |||
0c45d258ec | |||
e0e21283b6 | |||
64a7e92f28 | |||
8ad1652418 | |||
f1dd90bd19 | |||
673151a9bb | |||
5a568ea050 | |||
992cb20688 | |||
fca416a41e | |||
c30c43c07d | |||
63a45136a3 | |||
f0d8900175 | |||
9342f49738 | |||
b2c45f5b96 | |||
fb06b5280e | |||
325602ce12 | |||
3c2dc76f01 | |||
76f8611a5f | |||
9181365b85 | |||
b6e8269e9b | |||
2ca0b197b8 | |||
e3f1da982e | |||
eeff891ac7 | |||
db7879438f | |||
64045940af | |||
a43c5f51a4 | |||
6e578a31e6 | |||
f70f0565b3 | |||
013870cd2c | |||
697cc8efd9 | |||
216aab1e3d | |||
4d423a3e62 | |||
ec38b4e482 | |||
316683bd37 | |||
47ba4662bf | |||
751bacedaa | |||
0c0d6e8601 | |||
6cad805332 | |||
5025d8450a | |||
cf6950d3bf | |||
3e88e8fc08 | |||
daccee387a | |||
1fef4b5041 | |||
2091c5062c | |||
707103fdfd | |||
e831855ecc | |||
32c3ec258e | |||
d75145acf6 | |||
1b1648f46b | |||
8e86c155d2 | |||
8a1c7533e2 | |||
4f4713df94 | |||
a1754bcce9 | |||
e31e949b9f | |||
35ff08be09 | |||
91f1f19184 | |||
7108ad232f | |||
0a06f14837 | |||
04e57d4d32 | |||
ebb8e380e9 | |||
41dd4ffaf9 | |||
26f5d3b65f | |||
9085f8e279 | |||
5527d5349b | |||
419f0c0f68 | |||
a5e48669a2 | |||
e197c21807 | |||
107efbeb24 | |||
9d1b9aa9e1 | |||
eb6c403500 | |||
0eb0fb889e | |||
38d905bf58 | |||
c8db708d5d | |||
565301e416 | |||
7dded6610e | |||
0ba92ef338 | |||
ab9bc95d53 | |||
131f0315c4 | |||
80b616d04b | |||
46c8f859b7 | |||
102edda4df | |||
421ec4f8d1 | |||
5b830a8588 | |||
46092ebf22 | |||
060517093e | |||
e7867e80f0 | |||
6433d56975 | |||
0bf7dd652c | |||
26d0587389 | |||
12ba0e771c | |||
4d4dc66df0 | |||
60dfd8461b | |||
0a2ba82c76 | |||
507fe835ed | |||
b8e533f12a | |||
f51a48ec3a | |||
c049216fdf | |||
a9583afc1d | |||
62b553cdd6 | |||
d29e9c89db | |||
5d7f49dc79 | |||
5500095ff4 | |||
1c2ea2cdc0 | |||
b33000878a | |||
bdab1bca53 | |||
c0f5f311db | |||
f190737f22 | |||
868440f546 | |||
13f4f04692 | |||
9bc4222746 | |||
69a5bbbbfa | |||
061540fcf7 | |||
f51ccda810 | |||
89a0ead829 | |||
6f5ef44e0d | |||
b9a1907899 | |||
040b2ac978 | |||
422af49c2f | |||
85de86a16b | |||
4e6d207c45 | |||
8c3419bdbd | |||
634c42da22 | |||
9079ab7cb6 | |||
07bfa575c1 | |||
0176e7a71f | |||
ed22b4173b | |||
97b8860c07 | |||
85e70c31ef | |||
349cb50963 | |||
b8f7239058 | |||
08fd8a055c | |||
fb6f843a8f | |||
04481347ec | |||
a28e876b9d | |||
f7153344cf | |||
8ec959fbce | |||
92ea1ac826 | |||
ffe41f8d32 | |||
bb6ac5ea13 | |||
04cd47f553 | |||
723361a572 | |||
5d62e59e4c | |||
9c9fbee8f5 | |||
05fcf66b74 | |||
74d159a4ed | |||
dd716840f0 | |||
49fb13bef1 | |||
19f8c8b2da | |||
4daf5c8643 | |||
9d6db4a28d | |||
56feed1c76 | |||
9ee9c9d068 | |||
5dbdb3bed6 | |||
49cbc11ddb | |||
b6de2dcb80 | |||
14e2ae6126 | |||
70f003e107 | |||
fbc122eafe | |||
56bee6420c | |||
7669461459 | |||
83510ef3fd | |||
296b4c4bbf | |||
4fc72d9106 | |||
73da5a1e85 | |||
04631848c4 | |||
bd656f6e7b | |||
9ff700ebac | |||
ceeacc501b | |||
a60f434e20 | |||
b1de6b21f3 | |||
d9dd4cebec | |||
1956dfa818 | |||
c41a87dd80 | |||
9271095cc5 | |||
7559a1be8a | |||
d333ac1785 | |||
8376a70441 | |||
2756ca4347 | |||
3ac22f82ed | |||
5732373daa | |||
0ea47f9d33 | |||
b89363e4a5 | |||
ec7dbd145b | |||
95c68267ff | |||
2892dfeec3 | |||
f5e3c0b9d0 | |||
2da1f36671 | |||
56625df74c | |||
9be89160e7 | |||
4adf569dea | |||
20a7558f31 | |||
d05b9618ce | |||
a85b377d04 | |||
e543b3f6fe | |||
d7c67668fe | |||
a50e7ca321 | |||
c67072b90b | |||
b783aa71c0 | |||
ab2b0c908a | |||
52d2ae582e | |||
887f3533fd | |||
64de20a126 | |||
e40671a3d9 | |||
621b0599fd | |||
39895c74d8 | |||
c09b71ccc4 | |||
0e3c339bb6 | |||
3bfcb95fa8 | |||
1c4b660412 | |||
f978a99faf | |||
3b2c5413c9 | |||
4489a480fd | |||
3907a4078a | |||
d38379ece9 | |||
1cc2c772dd | |||
e4a590efa2 | |||
3424a02252 | |||
30d45f798d | |||
a831a3fd86 | |||
26bb3c10ef | |||
4950eed520 | |||
785a1c8258 | |||
f9f3851b4d | |||
cbe7333181 | |||
b659605da6 | |||
40e94ca19a | |||
f99b7af661 | |||
30d1038d1b | |||
c1063be2a3 | |||
1a947ba3a3 | |||
5ba9a93b39 | |||
90e3e5f057 | |||
17b787f603 | |||
b64a984606 | |||
ce1d3a93a6 | |||
cec097be3a | |||
4d0d89755e | |||
7ac92f64dd | |||
5dcdc7809e | |||
1ebe6a825a | |||
f28763d756 | |||
294792326a | |||
b6a1261751 | |||
88e7dff93d | |||
bedd3b4b7b | |||
08ad26a63d | |||
3fd13cbcd5 | |||
01d678a226 | |||
5e1dc48858 | |||
785514bb55 | |||
683b4d828c | |||
9ddd68973a | |||
6c1d42acae | |||
825fd93767 | |||
49feda62bd | |||
554913daf4 | |||
7f346e9d73 | |||
90a398bbd7 | |||
fe8e3b7180 | |||
9540ce5030 | |||
2e770fe47e | |||
0c72b98f31 | |||
346fad5bb3 | |||
c0ad561a46 | |||
64014894cf | |||
3ef87bd872 | |||
73353e0f65 | |||
8015a60715 | |||
55b6dffd13 | |||
08668f1802 | |||
067f86fe12 | |||
715b63ceb3 | |||
929df991c2 | |||
1764e8124e | |||
27fbcf8267 | |||
a75e759e59 | |||
4645b014c5 | |||
753aaf3aab | |||
1bada2b0cc | |||
7b4164063e | |||
ead51a75d5 | |||
93424a0fd8 | |||
713c6f3ab0 | |||
50b335b783 | |||
415792edf5 | |||
d07235a027 | |||
792a646a19 | |||
af465af8de | |||
4f1bbd23af | |||
dcadc8b806 | |||
b46b15dea0 | |||
e2b6cfa02e | |||
42de4b169c | |||
3af05a6d0d | |||
693eb02a5e | |||
c254516737 | |||
c40fdd01dd | |||
4ed115e9c5 | |||
88499b296b | |||
ab5ac95725 | |||
7521cc4611 | |||
029cdb4ab2 | |||
cba12021c3 | |||
04ad6223ec | |||
45421e24e8 | |||
88b680ae8d | |||
b6b10bb44c | |||
3f09ba7543 | |||
6629ea2d4a | |||
b4d75ac1d1 | |||
d43f990fac | |||
de7e86f522 | |||
d668d16ca7 | |||
c0fe1ed084 | |||
867c2fac0a | |||
e5074bfe8c | |||
2bdc785fd7 | |||
93a644ea9d | |||
8c8bdc0d35 | |||
b416af5bcd | |||
85f083786f | |||
f655651e09 | |||
51eeaea210 | |||
4740891e47 | |||
0e28161700 | |||
44ceb79f84 | |||
56f214e071 | |||
e8e4ce72cd | |||
1d8a6f6929 | |||
c518279c0e | |||
ba9b9e1242 | |||
5f4e02e517 | |||
5491e9e29e | |||
ad5fe3771b | |||
24d36f1472 | |||
57065289a9 | |||
59b8263a6d | |||
37007c3a87 | |||
d773144417 | |||
be0b3f822b | |||
ab791dd138 | |||
466fb6742d | |||
a6fd4fb55d | |||
6441090cf2 | |||
981ff520b7 | |||
f4ef517393 | |||
f0f9662ae9 | |||
2668d692eb | |||
8d30d8a89a | |||
96db324a73 | |||
0344d93ced | |||
15999d0be8 | |||
782ac539ea | |||
d35ea4dec6 | |||
da011cb0e7 | |||
5d146f7a0f | |||
f6975a6b11 | |||
75d3d6573e | |||
91e70e00ac | |||
9035d75a2b | |||
b29763aa9b | |||
02710228dd | |||
9927d9627f | |||
23b0c4782e | |||
a872275098 | |||
c33ddc2e33 | |||
ea5517f04b | |||
6876618cea | |||
fe6eb7f2c5 | |||
2e3dfb2169 | |||
26be19ba8d | |||
14821f8822 | |||
4109c28e05 | |||
a3d54f9a1f | |||
212d781c96 | |||
9610decf4d | |||
679eebe24d | |||
4d3ab44d26 | |||
56b9f6e738 | |||
aa14e980ff | |||
2fdb9ce067 | |||
251277acdf | |||
7333ed1788 | |||
2608c24940 | |||
662174d299 | |||
e0d8e3084f | |||
6a143aa2b2 | |||
c285171dac | |||
d85b0dff72 | |||
1f31963e92 | |||
0fa7f01635 | |||
c252785982 | |||
3c078b9c86 | |||
afd11d3ebc | |||
3bc7a05b1a | |||
e8d1dfe639 | |||
869951babc | |||
795b9ff872 | |||
47abf17be5 | |||
0082d82183 | |||
6c71f8b0d3 | |||
7ce7c7607b | |||
dddecc5b7f | |||
8837eb47f2 | |||
e09867f060 | |||
3918057164 | |||
1f87293d78 | |||
41e9bad75e | |||
483bbd4e4c | |||
d318027932 | |||
93b5393611 | |||
c8466645ed | |||
960160b061 | |||
1aaf69e669 | |||
6bf3b81348 | |||
8e5dd3d654 | |||
735efde838 | |||
f8bb1d9431 | |||
6fceed3bea | |||
1991006cb9 | |||
f9dc5d65ca | |||
faa3807cfe | |||
bf7283465b | |||
8687f7776d | |||
6c4ab27f23 | |||
9eeff2f681 | |||
9c7a0beee0 | |||
41ca19b6a6 | |||
b35b10d463 | |||
0e7bcb1b00 | |||
6ea358f784 | |||
536900e5b2 | |||
6c1db1b388 | |||
0ecd180a27 | |||
13b081257a | |||
2d26d533a0 | |||
f7f91086a3 | |||
201087422d | |||
81c3ce3cdc | |||
430875969a | |||
ad1a19d0e7 | |||
eac0ccc2cd | |||
50b6773287 | |||
2f50babef1 | |||
ccad42d483 | |||
67de23ddb1 | |||
a3b3ae35d4 | |||
8871820169 | |||
f82887f290 | |||
64de2e10a0 | |||
8994fbf3ec | |||
4dde849a20 | |||
c165d1f5ca | |||
86d387af37 | |||
ddeab3aea3 | |||
6e1ccacbed | |||
09898e7c3b | |||
d4ec30b24a | |||
2c8544ab91 | |||
288c67caf6 | |||
540b0f4977 | |||
111791559e | |||
ef7e1d0cda | |||
586f414a89 | |||
5801d3b416 | |||
633e5ad326 | |||
f44af51d13 | |||
95790ff60d | |||
b27a572099 | |||
6881f0ccb4 | |||
8939d32d81 | |||
94204bf505 | |||
477a08af04 | |||
3ee2ad14c6 | |||
d487b0ba50 | |||
8a7b034d6d | |||
79e9ce21fa | |||
155ef25f12 | |||
5a80e97c82 | |||
aace438502 | |||
3df8fd625f | |||
b3b3f60bb6 | |||
8262aaa283 | |||
764c739c16 | |||
5261ec5d5d | |||
663d096c24 | |||
f7fbc357f8 | |||
a127b3f24d | |||
f54d3c6d7c | |||
a789ca70e7 | |||
b9e343e640 | |||
4b71297969 | |||
dc4a1ba99c | |||
8d388239fd | |||
7b69fcb181 | |||
b16665e832 | |||
18bd789a18 | |||
a26bc613a6 | |||
10f343ea81 | |||
aafbee8c4b | |||
6acbf03300 | |||
afc344c4ad | |||
6d0081ad61 | |||
fe05e196c5 | |||
c099f8c7ed | |||
642c7fab1d | |||
f07243fe16 | |||
2147fa7e19 | |||
aa544bfbc6 | |||
aa0ba07a02 | |||
0d9cb2d14e | |||
c372e7b01b | |||
385e171a5b | |||
4b0c0e35dd | |||
32f56600bb | |||
b9c7d6e433 | |||
c75e7ad28a | |||
ae18165fbb | |||
97d6e799aa | |||
d8b396e17e | |||
d0da003d5b | |||
4c715ebb96 | |||
3c8687a73e | |||
2d186c8be5 | |||
d13a0a97e0 | |||
f22a76e911 | |||
583b61c1af | |||
d299e9e550 | |||
ad524f834a | |||
919eb8acea | |||
5e6502288d | |||
dad2e7f4bf | |||
5d7c37a130 | |||
b794ebeac9 | |||
34dfe197a9 | |||
5de7f500c1 | |||
c4ad00f8cc | |||
fe0444b50b | |||
fe24d396e1 | |||
52604d7144 | |||
8c3f3f28cb | |||
49f1cb93a2 | |||
3dcacd7797 | |||
16737445a9 | |||
4799593e26 | |||
e832f7374b | |||
8b27ff7eac | |||
06b2d87244 | |||
9830534e40 | |||
31bb6d37f9 | |||
649409b7bc | |||
def0697167 | |||
28b3563241 | |||
d51428bf17 | |||
996b0fdbb4 | |||
6da748a7ce | |||
955d7be808 | |||
bc88defa2f | |||
c3d2bc720c | |||
aaf7253f84 | |||
9e8a6a9433 | |||
3a224ff2bb | |||
247b4d5f38 | |||
12621cb222 | |||
4328190a81 | |||
10b944b37b | |||
9f2de9c121 | |||
b0562224c9 | |||
f57a8715bc | |||
9ab0882255 | |||
0eff86e4f4 | |||
3fa1025907 | |||
25a05a8cae | |||
60e2f5a5af | |||
0b05ab6f1b | |||
b0ab2b71d0 | |||
78024c4e31 | |||
adf8e54238 | |||
4228e8bc98 | |||
528396a463 | |||
fb0166c674 | |||
80e85754e0 | |||
a8c565b227 | |||
9b1c2a3a8e | |||
0ac744305f | |||
19a249ba83 | |||
ad25da009e | |||
3b3b61c5d5 | |||
dadb89d92c | |||
da33a97998 | |||
f93d7c6fa0 | |||
3ed3f5fe85 | |||
e8d08871c9 | |||
44cf1c0ef1 | |||
5212f91deb | |||
32f4cb6cee | |||
480cd53014 | |||
2869b3e5da | |||
baea068d67 | |||
6dc715439b | |||
343ff06da7 | |||
6f1c189cad | |||
f279242d5e | |||
77734da241 | |||
df0e998c31 | |||
26c7b21ab1 | |||
38d2750126 | |||
e96942e821 | |||
b729f98fa5 | |||
7eb2619c5c | |||
1cefa14325 | |||
92859f3a79 | |||
14576df044 | |||
e929f515fa | |||
d1d094564a | |||
a7220fba73 | |||
4bbaa1eb6f | |||
cedc61a998 | |||
f38aa83f9a | |||
9ae1afa5e6 | |||
398dd4bd03 | |||
b150794daf | |||
1e0dacdbdb | |||
e7e0f26eb6 | |||
2569d23915 | |||
f2c9f21369 | |||
fb46e0c545 | |||
d9037eae7e | |||
1fc83452c7 | |||
f357797678 | |||
7591e2c53c | |||
ce33d61096 | |||
5e40e41f1c | |||
efbef3f6e3 | |||
c9831bb09d | |||
6a5713b576 | |||
2e42338f80 | |||
6e4094731a | |||
d518cc0a56 | |||
5418212191 | |||
dcc1b38517 | |||
b5f7b21e59 | |||
788cef81d4 | |||
e0a064a107 | |||
b6266dc88b | |||
539e75069f | |||
f0e802ca20 | |||
e6ce2be2d7 | |||
0217569bb2 | |||
85faec9d3a | |||
73f43f220f | |||
e8f91e3df8 | |||
6d63baa478 | |||
3d15f536a7 | |||
aceb9429b3 | |||
709359c85c | |||
d961baa846 | |||
93dcaea226 | |||
9c4d6c0297 | |||
1621c99c79 | |||
da7fe3fb6d | |||
23e2f388c7 | |||
283f56a40b | |||
921f50b48e | |||
c7e69168cf | |||
663ed39a88 | |||
8f8ba56b5b | |||
8ef85694a5 | |||
48294e1ddb | |||
558643e1d6 | |||
d78ecca520 | |||
42639d2317 | |||
8e34800e5b | |||
01319837c5 | |||
8bcd37482e | |||
c1703d7634 | |||
038d005129 | |||
dc615de861 | |||
76d70dc0c6 | |||
d3f6655505 | |||
470a91ef75 | |||
835e3c992f | |||
bd3b02daec | |||
60bca085c8 | |||
447ff1bf0a | |||
6af926e8bc | |||
995f8746bc | |||
1b07255c95 | |||
f1c9350ad7 | |||
33f9fc5932 | |||
026bd1d3e2 | |||
c7d3f8cb48 | |||
83d26fa724 | |||
132d41e69a | |||
578da0391a | |||
09b2c1c769 | |||
148d6771bf | |||
e05bed960d | |||
66f66c596f | |||
b72be02cfb | |||
124647c4b0 | |||
c69dfd24db | |||
67dc598ec4 | |||
eb9250dfd5 | |||
6aa3085702 | |||
fa96082617 | |||
d66bebcbcf | |||
94d5a22cf6 | |||
8ff226a9d5 | |||
5af01caa08 | |||
d36f51c13b | |||
600e2a69df | |||
225ea22046 | |||
2a60839150 | |||
dc662d449f | |||
59a8adb6fb | |||
9d02150cf4 | |||
cb979dbd8f | |||
910a09a735 | |||
294b2680cd | |||
e992d1eb39 | |||
00f6991d4b | |||
cd78cea29d | |||
66f467c3e6 | |||
da86971c2a | |||
779c99fd68 | |||
df4d7d5646 | |||
b41a4636ee | |||
e7cdec622a | |||
11def366e5 | |||
39177c7f18 | |||
3d77f72efe | |||
ce85604468 | |||
cdaa4e98ca | |||
b725b270d1 | |||
37943e4c38 | |||
81e776d92b | |||
cb9cd515ee | |||
b0bae7f0e4 | |||
641830cbe1 | |||
ba655d15b5 | |||
ce8350f8ea | |||
3b8e8af187 | |||
e91ae32a01 | |||
a8d9fea772 | |||
343151dcbd | |||
b0cdb4dafc | |||
72c779457c | |||
4602f1a434 | |||
066dd2632a | |||
5d7fd6d06f | |||
969dd8c612 | |||
1c2828c194 | |||
063da62b02 | |||
21711ca4b2 | |||
8cd7ebc89e | |||
0be314c207 | |||
7b64d42d22 | |||
ab73a9d119 | |||
aa420c48ea | |||
039dc71a7c | |||
aecf567cbf | |||
e7c7305300 | |||
6d17dc1dd3 | |||
6f92e5ff3c | |||
a02ad882a1 | |||
6293aea559 | |||
8061ae8b46 | |||
95acfc2479 | |||
64d845477b | |||
ba311807f8 | |||
6d49de414f | |||
47bf4b0fc5 | |||
d6cd00c768 | |||
6dda4e60f2 | |||
592ce20820 | |||
26936bfd9b | |||
2975c770ca | |||
f52a35fd63 | |||
35480f0b23 | |||
880fb8de67 | |||
94c0cc8f72 | |||
10761eb681 | |||
85dd6bf491 | |||
df7369f1a7 | |||
bf00fa1ee2 | |||
7fe6834801 | |||
bde4a0f9f3 | |||
ac54a4b771 | |||
ea0e524ebd | |||
ad1c66033e | |||
2deda629c2 | |||
36857e0026 | |||
28bf9429ef | |||
3cc9d87710 | |||
c47372d3a8 | |||
369a70fc77 | |||
597072314c | |||
e56857246a | |||
5b9b715f94 | |||
ccca6b6523 | |||
8d87e35bab | |||
35869f4c62 | |||
b47761dd1e | |||
af6ba0eb9e | |||
2a20f4b7e2 | |||
25f3119000 | |||
b30adaac52 | |||
b7ce583682 | |||
9ce7100b1c | |||
cb6c38d5cc | |||
7cefd3431a | |||
8e92c2cf37 | |||
0f109c92b0 | |||
d07b00b7f3 | |||
71c214c840 | |||
01e57b5d91 | |||
786a89d347 | |||
bf80b8a6d8 | |||
a668853c67 | |||
9fe49ae7d7 | |||
7402a1c160 | |||
fa8203741e | |||
9ba66403fd | |||
7a3b4e3bd2 | |||
67a31f6128 | |||
59a642f8ac | |||
de8118e153 | |||
6d87780399 | |||
82e56767aa | |||
e814c39c2f | |||
0539cc0038 | |||
d12c24d2a9 | |||
97313bef2a | |||
95b567c7c3 | |||
ae021d8791 | |||
21a2d4ada5 | |||
ff45c0d4a3 | |||
ce2ecf2924 | |||
cf4fff579e | |||
0be7d9b73d | |||
ccdd4a0f3c | |||
be99ec97c8 | |||
45bc131dd3 | |||
f33206992d | |||
5c1753b198 | |||
3bdd55228b | |||
a0279e1865 | |||
b2724c8787 | |||
283101869b | |||
95244ae3dd | |||
6a0662304d | |||
496eeeb19b | |||
fa3f60b783 | |||
30a0ddb705 | |||
c0264180d7 | |||
1055a890f0 | |||
9e1a5ebe52 | |||
745224e04a | |||
a67c821ded | |||
f34a655d4d | |||
0d0424272f | |||
4a3b0b25f1 | |||
5991a55c54 | |||
cb682f8cfe | |||
7e1a5381b0 | |||
c6d3abbf99 | |||
bbfa0cc7f8 | |||
ae7dd1a492 | |||
c651ccc91d | |||
96b29bde91 | |||
bb0ced7581 | |||
d0d5ba7e6e | |||
57a2eee925 | |||
3009afd54e | |||
668668ad50 | |||
f18871dcd4 | |||
2075a0c27f | |||
c37d3269d9 | |||
c9fc3a6ac5 | |||
1a81f6ceea | |||
8dbd313394 | |||
bf2941be5d | |||
474df928b1 | |||
5cf2c571d0 | |||
a634a6d209 | |||
3f046148d9 | |||
99c3c76d97 | |||
5901dc6613 | |||
58aa3d2a69 | |||
3e66e47b1b | |||
570f1e6e1a | |||
51822653f5 | |||
6d681f0a3e | |||
83a4904fad | |||
b4bba8de11 | |||
b4516df9b8 | |||
09e13ad5b0 | |||
b0e2c999af | |||
b83163643b | |||
4a43d4f98a | |||
9d1d882e9c | |||
414405969e | |||
5b3a58d459 | |||
45dc292716 | |||
fd80021438 | |||
499168af3b | |||
79e539404c | |||
105b5d3fbb | |||
17f9836c8a | |||
c7664f1a8c | |||
019e1630ac | |||
4135d36b0c | |||
ada2ea1695 | |||
60d85e110b | |||
29aa0b2061 | |||
56f24e80f0 | |||
3e52f70b15 | |||
5b0a78c1c0 | |||
d6e3c181bc | |||
5a092ceb6b | |||
5165dd598a | |||
a76295da78 | |||
a0a967568e | |||
c18b80a0e8 | |||
b3c96fb158 | |||
ce7c614bce | |||
76b07b37a3 | |||
96a1d8d34c | |||
078a58e825 | |||
045113a53e | |||
e0cf0d7de2 | |||
5fc2fc8fa2 | |||
e93021b20a | |||
d4a2024aef | |||
e6c286e8b2 | |||
d0cfc3e866 | |||
a5400efe29 | |||
a5c446f116 | |||
6c306a34ee | |||
782a5ff9ce | |||
e636a7b4d0 | |||
ad837d9ef9 | |||
ce51bf09f8 | |||
626f35c893 | |||
03b8664772 | |||
41a5f0b540 | |||
2202b8b8bc | |||
1bb207e0fe | |||
e2a892ee05 | |||
3decb8e0ac | |||
e0db1dd7d4 | |||
2d0174e38e | |||
75cc6c67e2 | |||
db4e4113ea | |||
71d76cb480 | |||
2bed2d47b4 | |||
15a906c5e9 | |||
fcd428f4a9 | |||
eac14f8909 | |||
1c950a594c | |||
1edeb9abf5 | |||
143e615270 | |||
617ce965aa | |||
a15d4af449 | |||
13f1df432e | |||
c2369bdf7f | |||
8f2514e95f | |||
30e12b924b | |||
bb98b01ee8 | |||
ac9afcc31c | |||
c0562611c5 | |||
35ec002cf7 | |||
0cfe6fd252 | |||
795fcb0e5e | |||
754b574cf9 | |||
7281f36612 | |||
d0b30a3d4d | |||
4399345d5e | |||
66e1fe7db6 | |||
fbaff7a262 | |||
ce5dadb616 | |||
d8890ce726 | |||
a8248f4a8d | |||
fa9abe95be | |||
b0601e6564 | |||
1d94c403fd | |||
43dee070eb | |||
e425f6ad4d | |||
1cb4937395 | |||
c82af12a1b | |||
6f34b79de1 | |||
cd4de93f2e | |||
57b74cdaba | |||
0783df5d26 | |||
cb9d69ad63 | |||
4eaeb3264e | |||
50e19a8358 | |||
b687cd6aba | |||
19c8c4a9b7 | |||
f23b1d06e5 | |||
ac2803b962 | |||
e1ecd9e3c8 | |||
6219bb22ba | |||
9e10e0b9a0 | |||
50f84e34a1 | |||
07768e03b5 | |||
251cb96eab | |||
d37e8c54a6 | |||
53b4d8387b | |||
0908b6dfc3 | |||
0147602c2b | |||
bfbdfa33f6 | |||
acb3d22264 | |||
7e28c16fdb | |||
0445e6f0a1 | |||
ef2ac68def | |||
5e3b4fce42 | |||
0953113bb5 | |||
75866e6045 | |||
eb5398a891 | |||
3784ba310f | |||
3ea8ecc21e | |||
ed47bbd1d0 | |||
aa4bffa235 | |||
1e2600dd6a | |||
0756529537 | |||
e7cc0ede18 | |||
7e03f41663 | |||
7173ad76ed | |||
c8704ad335 | |||
334d40e951 | |||
a0460132a7 | |||
e934c67b66 | |||
ee8213951a | |||
c7be99ea51 | |||
ff0b8753a1 | |||
e318b83511 | |||
c8eb5d3309 | |||
067fe64355 | |||
f7f349e138 | |||
43eb7cb260 | |||
d83c9c75e1 | |||
09e141f127 | |||
610a14f643 | |||
d2a274aa87 | |||
7461a3e9fc | |||
1265886303 | |||
89080fcd9a | |||
db6fbe3770 | |||
e88155d1e1 | |||
561d952ed4 | |||
dde8a902c7 | |||
c5558f80c3 | |||
fcb14b0c8d | |||
5cc3268720 | |||
b8bdaa97a6 | |||
5d59a32fa1 | |||
79dcccc503 | |||
14ce98d7e9 | |||
a3c0efec9b | |||
d6850db3c2 | |||
e1857af923 | |||
6753d8a85d | |||
6d3c4e93d4 | |||
520cd9cd20 | |||
7ea60c15cc | |||
e3798318b1 | |||
59e0821a81 | |||
0b4494625d | |||
84241e70d6 | |||
22e91ba815 | |||
3a9dae783b | |||
b8ef69fe2e | |||
6779e43b0d | |||
06b2a0f191 | |||
2e4b5dee97 | |||
53f52cd92a | |||
9af098c29b | |||
2cc70cefdd | |||
8eaf517835 | |||
f008cef4ab | |||
52df9173fa | |||
4207ed285f | |||
299e29870b | |||
d795216ac3 | |||
c057b2424a | |||
3630654956 | |||
f471dbc5fe | |||
366a0184e5 | |||
1571586648 | |||
532845604d | |||
0678b649a1 | |||
01730a3bb4 | |||
7022650f61 | |||
b4073bb387 | |||
c553fd1c1e | |||
fc1b774c72 | |||
d4241f52d1 | |||
e31316263a | |||
bf197fd7ee | |||
ffb20ce125 | |||
dbcf2bd3de | |||
c7db2d1647 | |||
e2a0ccc01f | |||
88d5a6f6cd | |||
561b46c5c8 | |||
c6076e2b4a | |||
06ab60c066 | |||
897f964c0d | |||
bd46cfae82 | |||
4e4b125c23 | |||
ab77c309b6 | |||
85f98fc037 | |||
2479083573 | |||
b6e3884092 | |||
f22166b5fe | |||
84c9dc2c5a | |||
50b54fd72a | |||
ff857e4ee8 | |||
173fd1a1a4 | |||
2aeae40a75 | |||
e0ab2ac6c5 | |||
1823bea10f | |||
5eb7f7ead8 | |||
c460c0ecdc | |||
248b68f3f2 | |||
ccfb5bdad9 | |||
670a7297c2 | |||
6f1871fe0f | |||
20c4fbf97d | |||
9c94389c3e | |||
08460345b5 | |||
a1a301114e | |||
502b0a1ad1 | |||
7d445f518e | |||
482b8f3208 | |||
4da588357a | |||
0170a3c6ee | |||
d78f340ed6 | |||
b3275838d9 | |||
7d7d680221 | |||
26ecfe3e20 | |||
602efc4f90 | |||
c7abbb9863 | |||
2c45009b73 | |||
8e2a5ccad1 | |||
10f5b034b6 | |||
3bb55e8aa8 | |||
4874f544f1 | |||
ff0a80af72 | |||
87fe5df365 | |||
daa22c6f8d | |||
3330311c91 | |||
a08e803d76 | |||
14ac2864dc | |||
b7242b8c9e | |||
d105324655 | |||
4701026352 | |||
f26443da04 | |||
5db9ab82b9 | |||
691d0dd0a9 | |||
6117a3d494 | |||
9dbe780174 | |||
6a49909b52 | |||
79fc3ca123 | |||
dd30800bcd | |||
1d39dbecc2 | |||
f5efd5196c | |||
ce21ccfae0 | |||
6003eb13c6 | |||
991a9c3af9 | |||
274447aa6b | |||
7c0c51baa4 | |||
20cb28baf9 | |||
54835fc57e | |||
4ff03347ec | |||
e6ce6f4c7a | |||
38b2e5d12c | |||
e1d6b55d5d | |||
a4cf6b4b91 | |||
cba1262100 | |||
714c71b2b1 | |||
c9e454ccef | |||
77317c0c5c | |||
7f311eb54b | |||
9b3bc877f0 | |||
142efa3e43 | |||
86e3043217 | |||
dd64267fe2 | |||
4d713567f9 | |||
8deeab4a24 | |||
0bf6414996 | |||
def226bdbb | |||
8fc5593c53 | |||
88619b3ee4 | |||
33c297aacc | |||
16fc2b7a9c | |||
a0a2f7d79c | |||
b892bb45ea | |||
479bd75751 | |||
70c7bd6daf | |||
3f495f67bc | |||
8ccc4e4260 | |||
f515c904fb | |||
791643a865 | |||
750b2e4785 | |||
76e7c8a7ed | |||
7e6ac6e439 | |||
cbc60b6720 | |||
c15bb0cad7 | |||
9742fb7e53 | |||
1c4ea83902 | |||
4717659144 | |||
be194d53c0 | |||
03db917867 | |||
5a4352024a | |||
9e5878fbed | |||
d0ea45bfc7 | |||
728fc79c00 | |||
f257482c9c | |||
eadf619cd4 | |||
faf58f4ee6 | |||
5c00acdd25 | |||
0eca37c63a | |||
9bfeaa0bcf | |||
f24ecf5998 | |||
a01f7f2ba0 | |||
4ecc63d7f9 | |||
7c147b77d3 | |||
27bd38d4e5 | |||
e143ef4f6b | |||
f3d0376356 | |||
60ed26438c | |||
4ee1b225b9 | |||
9193f74235 | |||
d98c815380 | |||
03e9010c66 | |||
8b2f86a761 | |||
f3efe78782 | |||
0d4217d92e | |||
5b88caa417 | |||
89294d143d | |||
ae049c955c | |||
55a5c8d72b | |||
651ab9f553 | |||
784f4b6f33 | |||
cb005c1fdf | |||
22f4c27e68 | |||
7195fbfaf5 | |||
72441af7c4 | |||
6a402338ec | |||
84178db76f | |||
81c960e4dc | |||
cb198d21d3 | |||
88615910db | |||
5524e2416e | |||
b5c8ea2afb | |||
aebfc13337 | |||
caa4046c4f | |||
f11b09fb60 | |||
726f69166f | |||
ff6ee39525 | |||
1fbd504942 | |||
3afcc46374 | |||
191f241b52 | |||
ac1177553d | |||
9255f059ff | |||
1746ef4e9d | |||
ed410e611d | |||
2f57736002 | |||
e23d84350a | |||
595deb8da6 | |||
f412411245 | |||
20fcffcc8d | |||
697a41519b | |||
c132911088 | |||
b984d333a1 | |||
61f76a3612 | |||
12cd81743d | |||
b9081a6574 | |||
52894e7095 | |||
ad6f3cc7d2 | |||
6ca844e9f5 | |||
1a27a15452 | |||
5acabd84a6 | |||
9bc0619655 | |||
903bba68ab | |||
5dfb2bbd8d | |||
d00e980c22 | |||
6453f7b348 | |||
7e9003c149 | |||
e906612121 | |||
e197c2b650 | |||
eeb3f32868 | |||
51af1886c7 | |||
c4a0483fd5 | |||
0166027e56 |
6
.gitignore
vendored
6
.gitignore
vendored
@ -74,6 +74,7 @@
|
|||||||
/git-index-pack
|
/git-index-pack
|
||||||
/git-init
|
/git-init
|
||||||
/git-init-db
|
/git-init-db
|
||||||
|
/git-interpret-trailers
|
||||||
/git-instaweb
|
/git-instaweb
|
||||||
/git-log
|
/git-log
|
||||||
/git-ls-files
|
/git-ls-files
|
||||||
@ -165,6 +166,7 @@
|
|||||||
/git-upload-archive
|
/git-upload-archive
|
||||||
/git-upload-pack
|
/git-upload-pack
|
||||||
/git-var
|
/git-var
|
||||||
|
/git-verify-commit
|
||||||
/git-verify-pack
|
/git-verify-pack
|
||||||
/git-verify-tag
|
/git-verify-tag
|
||||||
/git-web--browse
|
/git-web--browse
|
||||||
@ -177,9 +179,11 @@
|
|||||||
/gitweb/static/gitweb.min.*
|
/gitweb/static/gitweb.min.*
|
||||||
/test-chmtime
|
/test-chmtime
|
||||||
/test-ctype
|
/test-ctype
|
||||||
|
/test-config
|
||||||
/test-date
|
/test-date
|
||||||
/test-delta
|
/test-delta
|
||||||
/test-dump-cache-tree
|
/test-dump-cache-tree
|
||||||
|
/test-dump-split-index
|
||||||
/test-scrap-cache-tree
|
/test-scrap-cache-tree
|
||||||
/test-genrandom
|
/test-genrandom
|
||||||
/test-hashmap
|
/test-hashmap
|
||||||
@ -196,6 +200,7 @@
|
|||||||
/test-revision-walking
|
/test-revision-walking
|
||||||
/test-run-command
|
/test-run-command
|
||||||
/test-sha1
|
/test-sha1
|
||||||
|
/test-sha1-array
|
||||||
/test-sigchain
|
/test-sigchain
|
||||||
/test-string-list
|
/test-string-list
|
||||||
/test-subprocess
|
/test-subprocess
|
||||||
@ -226,6 +231,7 @@
|
|||||||
/config.mak.autogen
|
/config.mak.autogen
|
||||||
/config.mak.append
|
/config.mak.append
|
||||||
/configure
|
/configure
|
||||||
|
/unicode
|
||||||
/tags
|
/tags
|
||||||
/TAGS
|
/TAGS
|
||||||
/cscope*
|
/cscope*
|
||||||
|
5
.mailmap
5
.mailmap
@ -13,6 +13,7 @@ Alex Riesen <raa.lkml@gmail.com> <raa@limbo.localdomain>
|
|||||||
Alex Riesen <raa.lkml@gmail.com> <raa@steel.home>
|
Alex Riesen <raa.lkml@gmail.com> <raa@steel.home>
|
||||||
Alex Vandiver <alex@chmrr.net> <alexmv@MIT.EDU>
|
Alex Vandiver <alex@chmrr.net> <alexmv@MIT.EDU>
|
||||||
Alexander Gavrilov <angavrilov@gmail.com>
|
Alexander Gavrilov <angavrilov@gmail.com>
|
||||||
|
Alexander Kuleshov <kuleshovmail@gmail.com>
|
||||||
Alexey Shumkin <alex.crezoff@gmail.com> <zapped@mail.ru>
|
Alexey Shumkin <alex.crezoff@gmail.com> <zapped@mail.ru>
|
||||||
Alexey Shumkin <alex.crezoff@gmail.com> <Alex.Crezoff@gmail.com>
|
Alexey Shumkin <alex.crezoff@gmail.com> <Alex.Crezoff@gmail.com>
|
||||||
Anders Kaseorg <andersk@MIT.EDU> <andersk@ksplice.com>
|
Anders Kaseorg <andersk@MIT.EDU> <andersk@ksplice.com>
|
||||||
@ -85,6 +86,7 @@ Jeff King <peff@peff.net> <peff@github.com>
|
|||||||
Jeff Muizelaar <jmuizelaar@mozilla.com> <jeff@infidigm.net>
|
Jeff Muizelaar <jmuizelaar@mozilla.com> <jeff@infidigm.net>
|
||||||
Jens Axboe <axboe@kernel.dk> <axboe@suse.de>
|
Jens Axboe <axboe@kernel.dk> <axboe@suse.de>
|
||||||
Jens Axboe <axboe@kernel.dk> <jens.axboe@oracle.com>
|
Jens Axboe <axboe@kernel.dk> <jens.axboe@oracle.com>
|
||||||
|
Jens Lindström <jl@opera.com> Jens Lindstrom <jl@opera.com>
|
||||||
Jim Meyering <jim@meyering.net> <meyering@redhat.com>
|
Jim Meyering <jim@meyering.net> <meyering@redhat.com>
|
||||||
Joachim Berdal Haga <cjhaga@fys.uio.no>
|
Joachim Berdal Haga <cjhaga@fys.uio.no>
|
||||||
Johannes Schindelin <Johannes.Schindelin@gmx.de> <johannes.schindelin@gmx.de>
|
Johannes Schindelin <Johannes.Schindelin@gmx.de> <johannes.schindelin@gmx.de>
|
||||||
@ -113,6 +115,7 @@ Karsten Blees <blees@dcon.de> <karsten.blees@dcon.de>
|
|||||||
Karsten Blees <blees@dcon.de> <karsten.blees@gmail.com>
|
Karsten Blees <blees@dcon.de> <karsten.blees@gmail.com>
|
||||||
Kay Sievers <kay.sievers@vrfy.org> <kay.sievers@suse.de>
|
Kay Sievers <kay.sievers@vrfy.org> <kay.sievers@suse.de>
|
||||||
Kay Sievers <kay.sievers@vrfy.org> <kay@mam.(none)>
|
Kay Sievers <kay.sievers@vrfy.org> <kay@mam.(none)>
|
||||||
|
Kazuki Saitoh <ksaitoh560@gmail.com> kazuki saitoh <ksaitoh560@gmail.com>
|
||||||
Keith Cascio <keith@CS.UCLA.EDU> <keith@cs.ucla.edu>
|
Keith Cascio <keith@CS.UCLA.EDU> <keith@cs.ucla.edu>
|
||||||
Kent Engstrom <kent@lysator.liu.se>
|
Kent Engstrom <kent@lysator.liu.se>
|
||||||
Kevin Leung <kevinlsk@gmail.com>
|
Kevin Leung <kevinlsk@gmail.com>
|
||||||
@ -203,6 +206,7 @@ Shawn O. Pearce <spearce@spearce.org>
|
|||||||
Simon Hausmann <hausmann@kde.org> <simon@lst.de>
|
Simon Hausmann <hausmann@kde.org> <simon@lst.de>
|
||||||
Simon Hausmann <hausmann@kde.org> <shausman@trolltech.com>
|
Simon Hausmann <hausmann@kde.org> <shausman@trolltech.com>
|
||||||
Stefan Beller <stefanbeller@gmail.com> <stefanbeller@googlemail.com>
|
Stefan Beller <stefanbeller@gmail.com> <stefanbeller@googlemail.com>
|
||||||
|
Stefan Beller <stefanbeller@gmail.com> <sbeller@google.com>
|
||||||
Stefan Naewe <stefan.naewe@gmail.com> <stefan.naewe@atlas-elektronik.com>
|
Stefan Naewe <stefan.naewe@gmail.com> <stefan.naewe@atlas-elektronik.com>
|
||||||
Stefan Naewe <stefan.naewe@gmail.com> <stefan.naewe@googlemail.com>
|
Stefan Naewe <stefan.naewe@gmail.com> <stefan.naewe@googlemail.com>
|
||||||
Stefan Sperling <stsp@elego.de> <stsp@stsp.name>
|
Stefan Sperling <stsp@elego.de> <stsp@stsp.name>
|
||||||
@ -230,6 +234,7 @@ Tommi Virtanen <tv@debian.org> <tv@inoi.fi>
|
|||||||
Tommy Thorn <tommy-git@thorn.ws> <tt1729@yahoo.com>
|
Tommy Thorn <tommy-git@thorn.ws> <tt1729@yahoo.com>
|
||||||
Tony Luck <tony.luck@intel.com>
|
Tony Luck <tony.luck@intel.com>
|
||||||
Tor Arne Vestbø <torarnv@gmail.com> <tavestbo@trolltech.com>
|
Tor Arne Vestbø <torarnv@gmail.com> <tavestbo@trolltech.com>
|
||||||
|
Trần Ngọc Quân <vnwildman@gmail.com> Tran Ngoc Quan <vnwildman@gmail.com>
|
||||||
Trent Piepho <tpiepho@gmail.com> <tpiepho@freescale.com>
|
Trent Piepho <tpiepho@gmail.com> <tpiepho@freescale.com>
|
||||||
Trent Piepho <tpiepho@gmail.com> <xyzzy@speakeasy.org>
|
Trent Piepho <tpiepho@gmail.com> <xyzzy@speakeasy.org>
|
||||||
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> <Uwe.Kleine-Koenig@digi.com>
|
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> <Uwe.Kleine-Koenig@digi.com>
|
||||||
|
@ -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, a few 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,6 +18,14 @@ 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.
|
||||||
|
|
||||||
|
- Fixing style violations while working on a real change as a
|
||||||
|
preparatory clean-up step is good, but otherwise avoid useless code
|
||||||
|
churn for the sake of conforming to the style.
|
||||||
|
|
||||||
|
"Once it _is_ in the tree, it's not really worth the patch noise to
|
||||||
|
go and fix it up."
|
||||||
|
Cf. http://article.gmane.org/gmane.linux.kernel/943020
|
||||||
|
|
||||||
Make your code readable and sensible, and don't try to be clever.
|
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
|
||||||
@ -34,7 +42,17 @@ For shell scripts specifically (not exhaustive):
|
|||||||
|
|
||||||
- We use tabs for indentation.
|
- We use tabs for indentation.
|
||||||
|
|
||||||
- Case arms are indented at the same depth as case and esac lines.
|
- Case arms are indented at the same depth as case and esac lines,
|
||||||
|
like this:
|
||||||
|
|
||||||
|
case "$variable" in
|
||||||
|
pattern1)
|
||||||
|
do this
|
||||||
|
;;
|
||||||
|
pattern2)
|
||||||
|
do that
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
- Redirection operators should be written with space before, but no
|
- Redirection operators should be written with space before, but no
|
||||||
space after them. In other words, write 'echo test >"$file"'
|
space after them. In other words, write 'echo test >"$file"'
|
||||||
@ -43,6 +61,14 @@ For shell scripts specifically (not exhaustive):
|
|||||||
redirection target in a variable (as shown above), our code does so
|
redirection target in a variable (as shown above), our code does so
|
||||||
because some versions of bash issue a warning without the quotes.
|
because some versions of bash issue a warning without the quotes.
|
||||||
|
|
||||||
|
(incorrect)
|
||||||
|
cat hello > world < universe
|
||||||
|
echo hello >$world
|
||||||
|
|
||||||
|
(correct)
|
||||||
|
cat hello >world <universe
|
||||||
|
echo hello >"$world"
|
||||||
|
|
||||||
- We prefer $( ... ) for command substitution; unlike ``, it
|
- We prefer $( ... ) for command substitution; unlike ``, it
|
||||||
properly nests. It should have been the way Bourne spelled
|
properly nests. It should have been the way Bourne spelled
|
||||||
it from day one, but unfortunately isn't.
|
it from day one, but unfortunately isn't.
|
||||||
@ -81,14 +107,33 @@ For shell scripts specifically (not exhaustive):
|
|||||||
"then" should be on the next line for if statements, and "do"
|
"then" should be on the next line for if statements, and "do"
|
||||||
should be on the next line for "while" and "for".
|
should be on the next line for "while" and "for".
|
||||||
|
|
||||||
|
(incorrect)
|
||||||
|
if test -f hello; then
|
||||||
|
do this
|
||||||
|
fi
|
||||||
|
|
||||||
|
(correct)
|
||||||
|
if test -f hello
|
||||||
|
then
|
||||||
|
do this
|
||||||
|
fi
|
||||||
|
|
||||||
- We prefer "test" over "[ ... ]".
|
- We prefer "test" over "[ ... ]".
|
||||||
|
|
||||||
- We do not write the noiseword "function" in front of shell
|
- We do not write the noiseword "function" in front of shell
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
- We prefer a space between the function name and the parentheses. The
|
- We prefer a space between the function name and the parentheses,
|
||||||
opening "{" should also be on the same line.
|
and no space inside the parentheses. The opening "{" should also
|
||||||
E.g.: my_function () {
|
be on the same line.
|
||||||
|
|
||||||
|
(incorrect)
|
||||||
|
my_function(){
|
||||||
|
...
|
||||||
|
|
||||||
|
(correct)
|
||||||
|
my_function () {
|
||||||
|
...
|
||||||
|
|
||||||
- As to use of grep, stick to a subset of BRE (namely, no \{m,n\},
|
- As to use of grep, stick to a subset of BRE (namely, no \{m,n\},
|
||||||
[::], [==], or [..]) for portability.
|
[::], [==], or [..]) for portability.
|
||||||
@ -106,6 +151,19 @@ For shell scripts specifically (not exhaustive):
|
|||||||
interface translatable. See "Marking strings for translation" in
|
interface translatable. See "Marking strings for translation" in
|
||||||
po/README.
|
po/README.
|
||||||
|
|
||||||
|
- We do not write our "test" command with "-a" and "-o" and use "&&"
|
||||||
|
or "||" to concatenate multiple "test" commands instead, because
|
||||||
|
the use of "-a/-o" is often error-prone. E.g.
|
||||||
|
|
||||||
|
test -n "$x" -a "$a" = "$b"
|
||||||
|
|
||||||
|
is buggy and breaks when $x is "=", but
|
||||||
|
|
||||||
|
test -n "$x" && test "$a" = "$b"
|
||||||
|
|
||||||
|
does not have such a problem.
|
||||||
|
|
||||||
|
|
||||||
For C programs:
|
For C programs:
|
||||||
|
|
||||||
- We use tabs to indent, and interpret tabs as taking up to
|
- We use tabs to indent, and interpret tabs as taking up to
|
||||||
@ -149,7 +207,7 @@ For C programs:
|
|||||||
of "else if" statements, it can make sense to add braces to
|
of "else if" statements, it can make sense to add braces to
|
||||||
single line blocks.
|
single line blocks.
|
||||||
|
|
||||||
- We try to avoid assignments inside if().
|
- We try to avoid assignments in the condition of an "if" statement.
|
||||||
|
|
||||||
- Try to make your code understandable. You may put comments
|
- Try to make your code understandable. You may put comments
|
||||||
in, but comments invariably tend to stale out when the code
|
in, but comments invariably tend to stale out when the code
|
||||||
@ -177,6 +235,88 @@ For C programs:
|
|||||||
- Double negation is often harder to understand than no negation
|
- Double negation is often harder to understand than no negation
|
||||||
at all.
|
at all.
|
||||||
|
|
||||||
|
- There are two schools of thought when it comes to comparison,
|
||||||
|
especially inside a loop. Some people prefer to have the less stable
|
||||||
|
value on the left hand side and the more stable value on the right hand
|
||||||
|
side, e.g. if you have a loop that counts variable i down to the
|
||||||
|
lower bound,
|
||||||
|
|
||||||
|
while (i > lower_bound) {
|
||||||
|
do something;
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
|
||||||
|
Other people prefer to have the textual order of values match the
|
||||||
|
actual order of values in their comparison, so that they can
|
||||||
|
mentally draw a number line from left to right and place these
|
||||||
|
values in order, i.e.
|
||||||
|
|
||||||
|
while (lower_bound < i) {
|
||||||
|
do something;
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
|
||||||
|
Both are valid, and we use both. However, the more "stable" the
|
||||||
|
stable side becomes, the more we tend to prefer the former
|
||||||
|
(comparison with a constant, "i > 0", is an extreme example).
|
||||||
|
Just do not mix styles in the same part of the code and mimic
|
||||||
|
existing styles in the neighbourhood.
|
||||||
|
|
||||||
|
- There are two schools of thought when it comes to splitting a long
|
||||||
|
logical line into multiple lines. Some people push the second and
|
||||||
|
subsequent lines far enough to the right with tabs and align them:
|
||||||
|
|
||||||
|
if (the_beginning_of_a_very_long_expression_that_has_to ||
|
||||||
|
span_more_than_a_single_line_of ||
|
||||||
|
the_source_text) {
|
||||||
|
...
|
||||||
|
|
||||||
|
while other people prefer to align the second and the subsequent
|
||||||
|
lines with the column immediately inside the opening parenthesis,
|
||||||
|
with tabs and spaces, following our "tabstop is always a multiple
|
||||||
|
of 8" convention:
|
||||||
|
|
||||||
|
if (the_beginning_of_a_very_long_expression_that_has_to ||
|
||||||
|
span_more_than_a_single_line_of ||
|
||||||
|
the_source_text) {
|
||||||
|
...
|
||||||
|
|
||||||
|
Both are valid, and we use both. Again, just do not mix styles in
|
||||||
|
the same part of the code and mimic existing styles in the
|
||||||
|
neighbourhood.
|
||||||
|
|
||||||
|
- When splitting a long logical line, some people change line before
|
||||||
|
a binary operator, so that the result looks like a parse tree when
|
||||||
|
you turn your head 90-degrees counterclockwise:
|
||||||
|
|
||||||
|
if (the_beginning_of_a_very_long_expression_that_has_to
|
||||||
|
|| span_more_than_a_single_line_of_the_source_text) {
|
||||||
|
|
||||||
|
while other people prefer to leave the operator at the end of the
|
||||||
|
line:
|
||||||
|
|
||||||
|
if (the_beginning_of_a_very_long_expression_that_has_to ||
|
||||||
|
span_more_than_a_single_line_of_the_source_text) {
|
||||||
|
|
||||||
|
Both are valid, but we tend to use the latter more, unless the
|
||||||
|
expression gets fairly complex, in which case the former tends to
|
||||||
|
be easier to read. Again, just do not mix styles in the same part
|
||||||
|
of the code and mimic existing styles in the neighbourhood.
|
||||||
|
|
||||||
|
- When splitting a long logical line, with everything else being
|
||||||
|
equal, it is preferable to split after the operator at higher
|
||||||
|
level in the parse tree. That is, this is more preferable:
|
||||||
|
|
||||||
|
if (a_very_long_variable * that_is_used_in +
|
||||||
|
a_very_long_expression) {
|
||||||
|
...
|
||||||
|
|
||||||
|
than
|
||||||
|
|
||||||
|
if (a_very_long_variable *
|
||||||
|
that_is_used_in + a_very_long_expression) {
|
||||||
|
...
|
||||||
|
|
||||||
- Some clever tricks, like using the !! operator with arithmetic
|
- Some clever tricks, like using the !! operator with arithmetic
|
||||||
constructs, can be extremely confusing to others. Avoid them,
|
constructs, can be extremely confusing to others. Avoid them,
|
||||||
unless there is a compelling reason to use them.
|
unless there is a compelling reason to use them.
|
||||||
@ -188,9 +328,14 @@ For C programs:
|
|||||||
|
|
||||||
- When you come up with an API, document it.
|
- When you come up with an API, document it.
|
||||||
|
|
||||||
- The first #include in C files, except in platform specific
|
- The first #include in C files, except in platform specific compat/
|
||||||
compat/ implementations, should be git-compat-util.h or another
|
implementations, must be either "git-compat-util.h", "cache.h" or
|
||||||
header file that includes it, such as cache.h or builtin.h.
|
"builtin.h". You do not have to include more than one of these.
|
||||||
|
|
||||||
|
- A C file must directly include the header files that declare the
|
||||||
|
functions and the types it uses, except for the functions and types
|
||||||
|
that are made available to it by including one of the header files
|
||||||
|
it must include by the previous rule.
|
||||||
|
|
||||||
- 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
|
||||||
@ -273,6 +418,29 @@ Error Messages
|
|||||||
- Say what the error is first ("cannot open %s", not "%s: cannot open")
|
- Say what the error is first ("cannot open %s", not "%s: cannot open")
|
||||||
|
|
||||||
|
|
||||||
|
Externally Visible Names
|
||||||
|
|
||||||
|
- For configuration variable names, follow the existing convention:
|
||||||
|
|
||||||
|
. The section name indicates the affected subsystem.
|
||||||
|
|
||||||
|
. The subsection name, if any, indicates which of an unbounded set
|
||||||
|
of things to set the value for.
|
||||||
|
|
||||||
|
. The variable name describes the effect of tweaking this knob.
|
||||||
|
|
||||||
|
The section and variable names that consist of multiple words are
|
||||||
|
formed by concatenating the words without punctuations (e.g. `-`),
|
||||||
|
and are broken using bumpyCaps in documentation as a hint to the
|
||||||
|
reader.
|
||||||
|
|
||||||
|
When choosing the variable namespace, do not use variable name for
|
||||||
|
specifying possibly unbounded set of things, most notably anything
|
||||||
|
an end user can freely come up with (e.g. branch names). Instead,
|
||||||
|
use subsection names or variable values, like the existing variable
|
||||||
|
branch.<name>.description does.
|
||||||
|
|
||||||
|
|
||||||
Writing Documentation:
|
Writing Documentation:
|
||||||
|
|
||||||
Most (if not all) of the documentation pages are written in the
|
Most (if not all) of the documentation pages are written in the
|
||||||
@ -301,6 +469,10 @@ Writing Documentation:
|
|||||||
--sort=<key>
|
--sort=<key>
|
||||||
--abbrev[=<n>]
|
--abbrev[=<n>]
|
||||||
|
|
||||||
|
If a placeholder has multiple words, they are separated by dashes:
|
||||||
|
<new-branch-name>
|
||||||
|
--template=<template-directory>
|
||||||
|
|
||||||
Possibility of multiple occurrences is indicated by three dots:
|
Possibility of multiple occurrences is indicated by three dots:
|
||||||
<file>...
|
<file>...
|
||||||
(One or more of <file>.)
|
(One or more of <file>.)
|
||||||
@ -317,12 +489,12 @@ Writing Documentation:
|
|||||||
(Zero or more of <patch>. Note that the dots are inside, not
|
(Zero or more of <patch>. Note that the dots are inside, not
|
||||||
outside the brackets.)
|
outside the brackets.)
|
||||||
|
|
||||||
Multiple alternatives are indicated with vertical bar:
|
Multiple alternatives are indicated with vertical bars:
|
||||||
[-q | --quiet]
|
[-q | --quiet]
|
||||||
[--utf8 | --no-utf8]
|
[--utf8 | --no-utf8]
|
||||||
|
|
||||||
Parentheses are used for grouping:
|
Parentheses are used for grouping:
|
||||||
[(<rev>|<range>)...]
|
[(<rev> | <range>)...]
|
||||||
(Any number of either <rev> or <range>. Parens are needed to make
|
(Any number of either <rev> or <range>. Parens are needed to make
|
||||||
it clear that "..." pertains to both <rev> and <range>.)
|
it clear that "..." pertains to both <rev> and <range>.)
|
||||||
|
|
||||||
@ -354,7 +526,7 @@ Writing Documentation:
|
|||||||
`backticks around word phrases`, do so.
|
`backticks around word phrases`, do so.
|
||||||
`--pretty=oneline`
|
`--pretty=oneline`
|
||||||
`git rev-list`
|
`git rev-list`
|
||||||
`remote.pushdefault`
|
`remote.pushDefault`
|
||||||
|
|
||||||
Word phrases enclosed in `backtick characters` are rendered literally
|
Word phrases enclosed in `backtick characters` are rendered literally
|
||||||
and will not be further expanded. The use of `backticks` to achieve the
|
and will not be further expanded. The use of `backticks` to achieve the
|
||||||
|
@ -5,6 +5,7 @@ MAN7_TXT =
|
|||||||
TECH_DOCS =
|
TECH_DOCS =
|
||||||
ARTICLES =
|
ARTICLES =
|
||||||
SP_ARTICLES =
|
SP_ARTICLES =
|
||||||
|
OBSOLETE_HTML =
|
||||||
|
|
||||||
MAN1_TXT += $(filter-out \
|
MAN1_TXT += $(filter-out \
|
||||||
$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
|
$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
|
||||||
@ -26,6 +27,7 @@ MAN7_TXT += gitcore-tutorial.txt
|
|||||||
MAN7_TXT += gitcredentials.txt
|
MAN7_TXT += gitcredentials.txt
|
||||||
MAN7_TXT += gitcvs-migration.txt
|
MAN7_TXT += gitcvs-migration.txt
|
||||||
MAN7_TXT += gitdiffcore.txt
|
MAN7_TXT += gitdiffcore.txt
|
||||||
|
MAN7_TXT += giteveryday.txt
|
||||||
MAN7_TXT += gitglossary.txt
|
MAN7_TXT += gitglossary.txt
|
||||||
MAN7_TXT += gitnamespaces.txt
|
MAN7_TXT += gitnamespaces.txt
|
||||||
MAN7_TXT += gitrevisions.txt
|
MAN7_TXT += gitrevisions.txt
|
||||||
@ -37,11 +39,11 @@ 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))
|
||||||
|
|
||||||
OBSOLETE_HTML = git-remote-helpers.html
|
OBSOLETE_HTML += everyday.html
|
||||||
|
OBSOLETE_HTML += git-remote-helpers.html
|
||||||
DOC_HTML = $(MAN_HTML) $(OBSOLETE_HTML)
|
DOC_HTML = $(MAN_HTML) $(OBSOLETE_HTML)
|
||||||
|
|
||||||
ARTICLES += howto-index
|
ARTICLES += howto-index
|
||||||
ARTICLES += everyday
|
|
||||||
ARTICLES += git-tools
|
ARTICLES += git-tools
|
||||||
ARTICLES += git-bisect-lk2009
|
ARTICLES += git-bisect-lk2009
|
||||||
# with their own formatting rules.
|
# with their own formatting rules.
|
||||||
@ -59,6 +61,7 @@ SP_ARTICLES += howto/recover-corrupted-blob-object
|
|||||||
SP_ARTICLES += howto/recover-corrupted-object-harder
|
SP_ARTICLES += howto/recover-corrupted-object-harder
|
||||||
SP_ARTICLES += howto/rebuild-from-update-hook
|
SP_ARTICLES += howto/rebuild-from-update-hook
|
||||||
SP_ARTICLES += howto/rebase-from-internal-branch
|
SP_ARTICLES += howto/rebase-from-internal-branch
|
||||||
|
SP_ARTICLES += howto/keep-canonical-history-correct
|
||||||
SP_ARTICLES += howto/maintain-git
|
SP_ARTICLES += howto/maintain-git
|
||||||
API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
|
API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
|
||||||
SP_ARTICLES += $(API_DOCS)
|
SP_ARTICLES += $(API_DOCS)
|
||||||
@ -96,6 +99,13 @@ man7dir = $(mandir)/man7
|
|||||||
|
|
||||||
ASCIIDOC = asciidoc
|
ASCIIDOC = asciidoc
|
||||||
ASCIIDOC_EXTRA =
|
ASCIIDOC_EXTRA =
|
||||||
|
ASCIIDOC_HTML = xhtml11
|
||||||
|
ASCIIDOC_DOCBOOK = docbook
|
||||||
|
ASCIIDOC_CONF = -f asciidoc.conf
|
||||||
|
ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
|
||||||
|
-agit_version=$(GIT_VERSION)
|
||||||
|
TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
|
||||||
|
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
|
||||||
MANPAGE_XSL = manpage-normal.xsl
|
MANPAGE_XSL = manpage-normal.xsl
|
||||||
XMLTO = xmlto
|
XMLTO = xmlto
|
||||||
XMLTO_EXTRA =
|
XMLTO_EXTRA =
|
||||||
@ -303,14 +313,12 @@ clean:
|
|||||||
|
|
||||||
$(MAN_HTML): %.html : %.txt asciidoc.conf
|
$(MAN_HTML): %.html : %.txt asciidoc.conf
|
||||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||||
$(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \
|
$(TXT_TO_HTML) -d manpage -o $@+ $< && \
|
||||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf
|
$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf
|
||||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||||
$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
|
$(TXT_TO_HTML) -o $@+ $< && \
|
||||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
manpage-base-url.xsl: manpage-base-url.xsl.in
|
manpage-base-url.xsl: manpage-base-url.xsl.in
|
||||||
@ -322,13 +330,12 @@ manpage-base-url.xsl: manpage-base-url.xsl.in
|
|||||||
|
|
||||||
%.xml : %.txt asciidoc.conf
|
%.xml : %.txt asciidoc.conf
|
||||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||||
$(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
|
$(TXT_TO_XML) -d manpage -o $@+ $< && \
|
||||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
user-manual.xml: user-manual.txt user-manual.conf
|
user-manual.xml: user-manual.txt user-manual.conf
|
||||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||||
$(ASCIIDOC) $(ASCIIDOC_EXTRA) -b docbook -d article -o $@+ $< && \
|
$(TXT_TO_XML) -d article -o $@+ $< && \
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
technical/api-index.txt: technical/api-index-skel.txt \
|
technical/api-index.txt: technical/api-index-skel.txt \
|
||||||
@ -337,8 +344,7 @@ technical/api-index.txt: technical/api-index-skel.txt \
|
|||||||
|
|
||||||
technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
|
technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
|
||||||
$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt asciidoc.conf
|
$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt asciidoc.conf
|
||||||
$(QUIET_ASCIIDOC)$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
|
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
|
||||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) $*.txt
|
|
||||||
|
|
||||||
XSLT = docbook.xsl
|
XSLT = docbook.xsl
|
||||||
XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css
|
XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css
|
||||||
@ -385,14 +391,15 @@ howto-index.txt: howto-index.sh $(wildcard howto/*.txt)
|
|||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
|
$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
|
||||||
$(QUIET_ASCIIDOC)$(ASCIIDOC) $(ASCIIDOC_EXTRA) -b xhtml11 $*.txt
|
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
|
||||||
|
|
||||||
WEBDOC_DEST = /pub/software/scm/git/docs
|
WEBDOC_DEST = /pub/software/scm/git/docs
|
||||||
|
|
||||||
howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
|
howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
|
||||||
$(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
|
$(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
|
||||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||||
sed -e '1,/^$$/d' $< | $(ASCIIDOC) $(ASCIIDOC_EXTRA) -b xhtml11 - >$@+ && \
|
sed -e '1,/^$$/d' $< | \
|
||||||
|
$(TXT_TO_HTML) - >$@+ && \
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
install-webdoc : html
|
install-webdoc : html
|
||||||
|
34
Documentation/RelNotes/1.8.5.6.txt
Normal file
34
Documentation/RelNotes/1.8.5.6.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Git v1.8.5.6 Release Notes
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Fixes since v1.8.5.5
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* We used to allow committing a path ".Git/config" with Git that is
|
||||||
|
running on a case sensitive filesystem, but an attempt to check out
|
||||||
|
such a path with Git that runs on a case insensitive filesystem
|
||||||
|
would have clobbered ".git/config", which is definitely not what
|
||||||
|
the user would have expected. Git now prevents you from tracking
|
||||||
|
a path with ".Git" (in any case combination) as a path component.
|
||||||
|
|
||||||
|
* On Windows, certain path components that are different from ".git"
|
||||||
|
are mapped to ".git", e.g. "git~1/config" is treated as if it were
|
||||||
|
".git/config". HFS+ has a similar issue, where certain unicode
|
||||||
|
codepoints are ignored, e.g. ".g\u200cit/config" is treated as if
|
||||||
|
it were ".git/config". Pathnames with these potential issues are
|
||||||
|
rejected on the affected systems. Git on systems that are not
|
||||||
|
affected by this issue (e.g. Linux) can also be configured to
|
||||||
|
reject them to ensure cross platform interoperability of the hosted
|
||||||
|
projects.
|
||||||
|
|
||||||
|
* "git fsck" notices a tree object that records such a path that can
|
||||||
|
be confused with ".git", and with receive.fsckObjects configuration
|
||||||
|
set to true, an attempt to "git push" such a tree object will be
|
||||||
|
rejected. Such a path may not be a problem on a well behaving
|
||||||
|
filesystem but in order to protect those on HFS+ and on case
|
||||||
|
insensitive filesystems, this check is enabled on all platforms.
|
||||||
|
|
||||||
|
A big "thanks!" for bringing this issue to us goes to our friends in
|
||||||
|
the Mercurial land, namely, Matt Mackall and Augie Fackler.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
34
Documentation/RelNotes/1.9.5.txt
Normal file
34
Documentation/RelNotes/1.9.5.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Git v1.9.5 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v1.9.4
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* We used to allow committing a path ".Git/config" with Git that is
|
||||||
|
running on a case sensitive filesystem, but an attempt to check out
|
||||||
|
such a path with Git that runs on a case insensitive filesystem
|
||||||
|
would have clobbered ".git/config", which is definitely not what
|
||||||
|
the user would have expected. Git now prevents you from tracking
|
||||||
|
a path with ".Git" (in any case combination) as a path component.
|
||||||
|
|
||||||
|
* On Windows, certain path components that are different from ".git"
|
||||||
|
are mapped to ".git", e.g. "git~1/config" is treated as if it were
|
||||||
|
".git/config". HFS+ has a similar issue, where certain unicode
|
||||||
|
codepoints are ignored, e.g. ".g\u200cit/config" is treated as if
|
||||||
|
it were ".git/config". Pathnames with these potential issues are
|
||||||
|
rejected on the affected systems. Git on systems that are not
|
||||||
|
affected by this issue (e.g. Linux) can also be configured to
|
||||||
|
reject them to ensure cross platform interoperability of the hosted
|
||||||
|
projects.
|
||||||
|
|
||||||
|
* "git fsck" notices a tree object that records such a path that can
|
||||||
|
be confused with ".git", and with receive.fsckObjects configuration
|
||||||
|
set to true, an attempt to "git push" such a tree object will be
|
||||||
|
rejected. Such a path may not be a problem on a well behaving
|
||||||
|
filesystem but in order to protect those on HFS+ and on case
|
||||||
|
insensitive filesystems, this check is enabled on all platforms.
|
||||||
|
|
||||||
|
A big "thanks!" for bringing this issue to us goes to our friends in
|
||||||
|
the Mercurial land, namely, Matt Mackall and Augie Fackler.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
5
Documentation/RelNotes/2.0.4.txt
Normal file
5
Documentation/RelNotes/2.0.4.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Git v2.0.4 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
* An earlier update to v2.0.2 broken output from "git diff-tree",
|
||||||
|
which is fixed in this release.
|
34
Documentation/RelNotes/2.0.5.txt
Normal file
34
Documentation/RelNotes/2.0.5.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Git v2.0.5 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.0.4
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* We used to allow committing a path ".Git/config" with Git that is
|
||||||
|
running on a case sensitive filesystem, but an attempt to check out
|
||||||
|
such a path with Git that runs on a case insensitive filesystem
|
||||||
|
would have clobbered ".git/config", which is definitely not what
|
||||||
|
the user would have expected. Git now prevents you from tracking
|
||||||
|
a path with ".Git" (in any case combination) as a path component.
|
||||||
|
|
||||||
|
* On Windows, certain path components that are different from ".git"
|
||||||
|
are mapped to ".git", e.g. "git~1/config" is treated as if it were
|
||||||
|
".git/config". HFS+ has a similar issue, where certain unicode
|
||||||
|
codepoints are ignored, e.g. ".g\u200cit/config" is treated as if
|
||||||
|
it were ".git/config". Pathnames with these potential issues are
|
||||||
|
rejected on the affected systems. Git on systems that are not
|
||||||
|
affected by this issue (e.g. Linux) can also be configured to
|
||||||
|
reject them to ensure cross platform interoperability of the hosted
|
||||||
|
projects.
|
||||||
|
|
||||||
|
* "git fsck" notices a tree object that records such a path that can
|
||||||
|
be confused with ".git", and with receive.fsckObjects configuration
|
||||||
|
set to true, an attempt to "git push" such a tree object will be
|
||||||
|
rejected. Such a path may not be a problem on a well behaving
|
||||||
|
filesystem but in order to protect those on HFS+ and on case
|
||||||
|
insensitive filesystems, this check is enabled on all platforms.
|
||||||
|
|
||||||
|
A big "thanks!" for bringing this issue to us goes to our friends in
|
||||||
|
the Mercurial land, namely, Matt Mackall and Augie Fackler.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
391
Documentation/RelNotes/2.1.0.txt
Normal file
391
Documentation/RelNotes/2.1.0.txt
Normal file
@ -0,0 +1,391 @@
|
|||||||
|
Git v2.1 Release Notes
|
||||||
|
======================
|
||||||
|
|
||||||
|
Backward compatibility notes
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
* The default value we give to the environment variable LESS has been
|
||||||
|
changed from "FRSX" to "FRX", losing "S" (chop long lines instead
|
||||||
|
of wrapping). Existing users who prefer not to see line-wrapped
|
||||||
|
output may want to set
|
||||||
|
|
||||||
|
$ git config core.pager "less -S"
|
||||||
|
|
||||||
|
to restore the traditional behaviour. It is expected that people
|
||||||
|
find output from most subcommands easier to read with the new
|
||||||
|
default, except for "blame" which tends to produce really long
|
||||||
|
lines. To override the new default only for "git blame", you can
|
||||||
|
do this:
|
||||||
|
|
||||||
|
$ git config pager.blame "less -S"
|
||||||
|
|
||||||
|
* A few disused directories in contrib/ have been retired.
|
||||||
|
|
||||||
|
|
||||||
|
Updates since v2.0
|
||||||
|
------------------
|
||||||
|
|
||||||
|
UI, Workflows & Features
|
||||||
|
|
||||||
|
* Since the very beginning of Git, we gave the LESS environment a
|
||||||
|
default value "FRSX" when we spawn "less" as the pager. "S" (chop
|
||||||
|
long lines instead of wrapping) has been removed from this default
|
||||||
|
set of options, because it is more or less a personal taste thing,
|
||||||
|
as opposed to the others that have good justifications (i.e. "R" is
|
||||||
|
very much justified because many kinds of output we produce are
|
||||||
|
colored and "FX" is justified because output we produce is often
|
||||||
|
shorter than a page).
|
||||||
|
|
||||||
|
* The logic and data used to compute the display width needed for
|
||||||
|
UTF-8 strings have been updated to match Unicode 7.0 better.
|
||||||
|
|
||||||
|
* HTTP-based transports learned to better propagate the error messages from
|
||||||
|
the webserver to the client coming over the HTTP transport.
|
||||||
|
|
||||||
|
* The completion script for bash (in contrib/) has been updated to
|
||||||
|
better handle aliases that define a complex sequence of commands.
|
||||||
|
|
||||||
|
* The "core.preloadindex" configuration variable is enabled by default,
|
||||||
|
allowing modern platforms to take advantage of their
|
||||||
|
multiple cores.
|
||||||
|
|
||||||
|
* "git clone" applies the "if cloning from a local disk, physically
|
||||||
|
copy the repository using hardlinks, unless otherwise told not to with
|
||||||
|
--no-local" optimization when the url.*.insteadOf mechanism rewrites a
|
||||||
|
remote-repository "git clone $URL" into a
|
||||||
|
clone from a local disk.
|
||||||
|
|
||||||
|
* "git commit --date=<date>" option learned more
|
||||||
|
timestamp formats, including "--date=now".
|
||||||
|
|
||||||
|
* The `core.commentChar` configuration variable is used to specify a
|
||||||
|
custom comment character (other than the default "#") for
|
||||||
|
the commit message editor. This can be set to `auto` to attempt to
|
||||||
|
choose a different character that does not conflict with any that
|
||||||
|
already starts a line in the message being edited, for cases like
|
||||||
|
"git commit --amend".
|
||||||
|
|
||||||
|
* "git format-patch" learned --signature-file=<file> to add the contents
|
||||||
|
of a file as a signature to the mail message it produces.
|
||||||
|
|
||||||
|
* "git grep" learned the grep.fullname configuration variable to force
|
||||||
|
"--full-name" to be the default. This may cause regressions for
|
||||||
|
scripted users who do not expect this new behaviour.
|
||||||
|
|
||||||
|
* "git imap-send" learned to ask the credential helper for auth
|
||||||
|
material.
|
||||||
|
|
||||||
|
* "git log" and friends now understand the value "auto" for the
|
||||||
|
"log.decorate" configuration variable to enable the "--decorate"
|
||||||
|
option automatically when the output is sent to tty.
|
||||||
|
|
||||||
|
* "git merge" without an argument, even when there is an upstream
|
||||||
|
defined for the current branch, refused to run until
|
||||||
|
merge.defaultToUpstream is set to true. Flip the default of that
|
||||||
|
configuration variable to true.
|
||||||
|
|
||||||
|
* "git mergetool" learned to drive the vimdiff3 backend.
|
||||||
|
|
||||||
|
* mergetool.prompt used to default to 'true', always asking "do you
|
||||||
|
really want to run the tool on this path?". The default has been
|
||||||
|
changed to 'false'. However, the prompt will still appear if
|
||||||
|
mergetool used its autodetection system to guess which tool to use.
|
||||||
|
Users who explicitly specify or configure a tool will no longer see
|
||||||
|
the prompt by default.
|
||||||
|
|
||||||
|
Strictly speaking, this is a backward incompatible change and
|
||||||
|
users need to explicitly set the variable to 'true' if they want
|
||||||
|
to be prompted to confirm running the tool on each path.
|
||||||
|
|
||||||
|
* "git replace" learned the "--edit" subcommand to create a
|
||||||
|
replacement by editing an existing object.
|
||||||
|
|
||||||
|
* "git replace" learned a "--graft" option to rewrite the parents of a
|
||||||
|
commit.
|
||||||
|
|
||||||
|
* "git send-email" learned "--to-cover" and "--cc-cover" options, to
|
||||||
|
tell it to copy To: and Cc: headers found in the first input file
|
||||||
|
when emitting later input files.
|
||||||
|
|
||||||
|
* "git svn" learned to cope with malformed timestamps with only one
|
||||||
|
digit in the hour part, e.g. 2014-01-07T5:01:02.048176Z, emitted
|
||||||
|
by some broken subversion server implementations.
|
||||||
|
|
||||||
|
* "git tag" when editing the tag message shows the name of the tag
|
||||||
|
being edited as a comment in the editor.
|
||||||
|
|
||||||
|
* "git tag" learned to pay attention to "tag.sort" configuration, to
|
||||||
|
be used as the default sort order when no --sort=<value> option
|
||||||
|
is given.
|
||||||
|
|
||||||
|
* A new "git verify-commit" command, to check GPG signatures in signed
|
||||||
|
commits, in a way similar to "git verify-tag" is used to check
|
||||||
|
signed tags, was added.
|
||||||
|
|
||||||
|
|
||||||
|
Performance, Internal Implementation, etc.
|
||||||
|
|
||||||
|
* Build procedure for 'subtree' (in contrib/) has been cleaned up.
|
||||||
|
|
||||||
|
* Support for the profile-feedback build, which has
|
||||||
|
bit-rotted for quite a while, has been updated.
|
||||||
|
|
||||||
|
* An experimental format to use two files (the base file and
|
||||||
|
incremental changes relative to it) to represent the index has been
|
||||||
|
introduced; this may reduce I/O cost of rewriting a large index
|
||||||
|
when only small part of the working tree changes.
|
||||||
|
|
||||||
|
* Effort to shrink the size of patches Windows folks maintain on top
|
||||||
|
by upstreaming them continues. More tests that are not applicable
|
||||||
|
to the Windows environment are identified and either skipped or
|
||||||
|
made more portable.
|
||||||
|
|
||||||
|
* Eradication of "test $condition -a $condition" from our scripts
|
||||||
|
continues.
|
||||||
|
|
||||||
|
* The `core.deltabasecachelimit` used to default to 16 MiB , but this
|
||||||
|
proved to be too small, and has been bumped to 96 MiB.
|
||||||
|
|
||||||
|
* "git blame" has been optimized greatly by reorganising the data
|
||||||
|
structure that is used to keep track of the work to be done.
|
||||||
|
|
||||||
|
* "git diff" that compares 3-or-more trees (e.g. parents and the
|
||||||
|
result of a merge) has been optimized.
|
||||||
|
|
||||||
|
* The API to update/delete references are being converted to handle
|
||||||
|
updates to multiple references in a transactional way. As an
|
||||||
|
example, "update-ref --stdin [-z]" has been updated to use this
|
||||||
|
API.
|
||||||
|
|
||||||
|
* skip_prefix() and strip_suffix() API functions are used a lot more
|
||||||
|
widely throughout the codebase now.
|
||||||
|
|
||||||
|
* Parts of the test scripts can be skipped by using a range notation,
|
||||||
|
e.g. "sh t1234-test.sh --run='1-4 6 8-'" to omit test piece 5 and 7
|
||||||
|
and run everything else.
|
||||||
|
|
||||||
|
|
||||||
|
Also contains various documentation updates and code clean-ups.
|
||||||
|
|
||||||
|
|
||||||
|
Fixes since v2.0
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Unless otherwise noted, all the fixes since v2.0 in the maintenance
|
||||||
|
track are contained in this release (see the maintenance releases'
|
||||||
|
notes for details).
|
||||||
|
|
||||||
|
* We used to unconditionally disable the pager in the pager process
|
||||||
|
we spawn to feed out output, but that prevented people who want to
|
||||||
|
run "less" within "less" from doing so.
|
||||||
|
(merge c0459ca je/pager-do-not-recurse later to maint).
|
||||||
|
|
||||||
|
* Tools that read diagnostic output in our standard error stream do
|
||||||
|
not want to see terminal control sequence (e.g. erase-to-eol).
|
||||||
|
Detect them by checking if the standard error stream is connected
|
||||||
|
to a tty.
|
||||||
|
(merge 38de156 mn/sideband-no-ansi later to maint).
|
||||||
|
|
||||||
|
* Mishandling of patterns in .gitignore that have trailing SPs quoted
|
||||||
|
with backslashes (e.g. ones that end with "\ ") has been
|
||||||
|
corrected.
|
||||||
|
(merge 97c1364be6b pb/trim-trailing-spaces later to maint).
|
||||||
|
|
||||||
|
* Reworded the error message given upon a failure to open an existing
|
||||||
|
loose object file due to e.g. permission issues; it was reported as
|
||||||
|
the object being corrupt, but that is not quite true.
|
||||||
|
(merge d6c8a05 jk/report-fail-to-read-objects-better later to maint).
|
||||||
|
|
||||||
|
* "git log -2master" is a common typo that shows two commits starting
|
||||||
|
from whichever random branch that is not 'master' that happens to
|
||||||
|
be checked out currently.
|
||||||
|
(merge e3fa568 jc/revision-dash-count-parsing later to maint).
|
||||||
|
|
||||||
|
* Code to avoid adding the same alternate object store twice was
|
||||||
|
subtly broken for a long time, but nobody seems to have noticed.
|
||||||
|
(merge 80b4785 rs/fix-alt-odb-path-comparison later to maint).
|
||||||
|
(merge 539e750 ek/alt-odb-entry-fix later to maint).
|
||||||
|
|
||||||
|
* The "%<(10,trunc)%s" pretty format specifier in the log family of
|
||||||
|
commands is used to truncate the string to a given length (e.g. 10
|
||||||
|
in the example) with padding to column-align the output, but did
|
||||||
|
not take into account that number of bytes and number of display
|
||||||
|
columns are different.
|
||||||
|
(merge 7d50987 as/pretty-truncate later to maint).
|
||||||
|
|
||||||
|
* "%G" (nothing after G) is an invalid pretty format specifier, but
|
||||||
|
the parser did not notice it as garbage.
|
||||||
|
(merge 958b2eb jk/pretty-G-format-fixes later to maint).
|
||||||
|
|
||||||
|
* A handful of code paths had to read the commit object more than
|
||||||
|
once when showing header fields that are usually not parsed. The
|
||||||
|
internal data structure to keep track of the contents of the commit
|
||||||
|
object has been updated to reduce the need for this double-reading,
|
||||||
|
and to allow the caller find the length of the object.
|
||||||
|
(merge 218aa3a jk/commit-buffer-length later to maint).
|
||||||
|
|
||||||
|
* The "mailmap.file" configuration option did not support tilde
|
||||||
|
expansion (i.e. ~user/path and ~/path).
|
||||||
|
(merge 9352fd5 ow/config-mailmap-pathname later to maint).
|
||||||
|
|
||||||
|
* The completion scripts (in contrib/) did not know about quite a few
|
||||||
|
options that are common between "git merge" and "git pull", and a
|
||||||
|
couple of options unique to "git merge".
|
||||||
|
(merge 8fee872 jk/complete-merge-pull later to maint).
|
||||||
|
|
||||||
|
* The unix-domain socket used by the sample credential cache daemon
|
||||||
|
tried to unlink an existing stale one at a wrong path, if the path
|
||||||
|
to the socket was given as an overlong path that does not fit in
|
||||||
|
the sun_path member of the sockaddr_un structure.
|
||||||
|
(merge 2869b3e rs/fix-unlink-unix-socket later to maint).
|
||||||
|
|
||||||
|
* An ancient rewrite passed a wrong pointer to a curl library
|
||||||
|
function in a rarely used code path.
|
||||||
|
(merge 479eaa8 ah/fix-http-push later to maint).
|
||||||
|
|
||||||
|
* "--ignore-space-change" option of "git apply" ignored the spaces
|
||||||
|
at the beginning of lines too aggressively, which is inconsistent
|
||||||
|
with the option of the same name that "diff" and "git diff" have.
|
||||||
|
(merge 14d3bb4 jc/apply-ignore-whitespace later to maint).
|
||||||
|
|
||||||
|
* "git blame" miscounted the number of columns needed to show localized
|
||||||
|
timestamps, resulting in a jaggy left-side-edge for the source code
|
||||||
|
lines in its output.
|
||||||
|
(merge dd75553 jx/blame-align-relative-time later to maint).
|
||||||
|
|
||||||
|
* "git blame" assigned the blame to the copy in the working-tree if
|
||||||
|
the repository is set to core.autocrlf=input and the file used CRLF
|
||||||
|
line endings.
|
||||||
|
(merge 4d4813a bc/blame-crlf-test later to maint).
|
||||||
|
|
||||||
|
* "git clone -b brefs/tags/bar" would have mistakenly thought we were
|
||||||
|
following a single tag, even though it was a name of the branch,
|
||||||
|
because it incorrectly used strstr().
|
||||||
|
(merge 60a5f5f jc/fix-clone-single-starting-at-a-tag later to maint).
|
||||||
|
|
||||||
|
* "git commit --allow-empty-message -C $commit" did not work when the
|
||||||
|
commit did not have any log message.
|
||||||
|
(merge 076cbd6 jk/commit-C-pick-empty later to maint).
|
||||||
|
|
||||||
|
* "git diff --find-copies-harder" sometimes pretended as if the mode
|
||||||
|
bits have changed for paths that are marked with the assume-unchanged
|
||||||
|
bit.
|
||||||
|
(merge 5304810 jk/diff-files-assume-unchanged later to maint).
|
||||||
|
|
||||||
|
* "filter-branch" left an empty single-parent commit that results when
|
||||||
|
all parents of a merge commit get mapped to the same commit, even
|
||||||
|
under "--prune-empty".
|
||||||
|
(merge 79bc4ef cb/filter-branch-prune-empty-degenerate-merges later to maint).
|
||||||
|
|
||||||
|
* "git format-patch" did not enforce the rule that the "--follow"
|
||||||
|
option from the log/diff family of commands must be used with
|
||||||
|
exactly one pathspec.
|
||||||
|
(merge dd63f16 jk/diff-follow-must-take-one-pathspec later to maint).
|
||||||
|
|
||||||
|
* "git gc --auto" was recently changed to run in the background to
|
||||||
|
give control back early to the end-user sitting in front of the
|
||||||
|
terminal, but it forgot that housekeeping involving reflogs should
|
||||||
|
be done without other processes competing for accesses to the refs.
|
||||||
|
(merge 62aad18 nd/daemonize-gc later to maint).
|
||||||
|
|
||||||
|
* "git grep -O" to show the lines that hit in the pager did not work
|
||||||
|
well with case insensitive search. We now spawn "less" with its
|
||||||
|
"-I" option when it is used as the pager (which is the default).
|
||||||
|
(merge f7febbe sk/spawn-less-case-insensitively-from-grep-O-i later to maint).
|
||||||
|
|
||||||
|
* We used to disable threaded "git index-pack" on platforms without
|
||||||
|
thread-safe pread(); use a different workaround for such
|
||||||
|
platforms to allow threaded "git index-pack".
|
||||||
|
(merge 3953949 nd/index-pack-one-fd-per-thread later to maint).
|
||||||
|
|
||||||
|
* The error reporting from "git index-pack" has been improved to
|
||||||
|
distinguish missing objects from type errors.
|
||||||
|
(merge 77583e7 jk/index-pack-report-missing later to maint).
|
||||||
|
|
||||||
|
* "log --show-signature" incorrectly decided the color to paint a
|
||||||
|
mergetag that was and was not correctly validated.
|
||||||
|
(merge 42c55ce mg/fix-log-mergetag-color later to maint).
|
||||||
|
|
||||||
|
* "log --show-signature" did not pay attention to the "--graph" option.
|
||||||
|
(merge cf3983d zk/log-graph-showsig later to maint).
|
||||||
|
|
||||||
|
* "git mailinfo" used to read beyond the ends of header strings while
|
||||||
|
parsing an incoming e-mail message to extract the patch.
|
||||||
|
(merge b1a013d rs/mailinfo-header-cmp later to maint).
|
||||||
|
|
||||||
|
* On a case insensitive filesystem, merge-recursive incorrectly
|
||||||
|
deleted the file that is to be renamed to a name that is the same
|
||||||
|
except for case differences.
|
||||||
|
(merge baa37bf dt/merge-recursive-case-insensitive later to maint).
|
||||||
|
|
||||||
|
* Merging changes into a file that ends in an incomplete line made the
|
||||||
|
last line into a complete one, even when the other branch did not
|
||||||
|
change anything around the end of file.
|
||||||
|
(merge ba31180 mk/merge-incomplete-files later to maint).
|
||||||
|
|
||||||
|
* "git pack-objects" unnecessarily copied the previous contents when
|
||||||
|
extending the hashtable, even though it will populate the table
|
||||||
|
from scratch anyway.
|
||||||
|
(merge fb79947 rs/pack-objects-no-unnecessary-realloc later to maint).
|
||||||
|
|
||||||
|
* Recent updates to "git repack" started to duplicate objects that
|
||||||
|
are in packfiles marked with the .keep flag into the new packfile by
|
||||||
|
mistake.
|
||||||
|
(merge d078d85 jk/repack-pack-keep-objects later to maint).
|
||||||
|
|
||||||
|
* "git rerere forget" did not work well when merge.conflictstyle
|
||||||
|
was set to a non-default value.
|
||||||
|
(merge de3d8bb fc/rerere-conflict-style later to maint).
|
||||||
|
|
||||||
|
* "git remote rm" and "git remote prune" can involve removing many
|
||||||
|
refs at once, which is not a very efficient thing to do when very
|
||||||
|
many refs exist in the packed-refs file.
|
||||||
|
(merge e6bea66 jl/remote-rm-prune later to maint).
|
||||||
|
|
||||||
|
* "git log --exclude=<glob> --all | git shortlog" worked as expected,
|
||||||
|
but "git shortlog --exclude=<glob> --all", which is supposed to be
|
||||||
|
identical to the above pipeline, was not accepted at the command
|
||||||
|
line argument parser level.
|
||||||
|
(merge eb07774 jc/shortlog-ref-exclude later to maint).
|
||||||
|
|
||||||
|
* The autostash mode of "git rebase -i" did not restore the dirty
|
||||||
|
working tree state if the user aborted the interactive rebase by
|
||||||
|
emptying the insn sheet.
|
||||||
|
(merge ddb5432 rr/rebase-autostash-fix later to maint).
|
||||||
|
|
||||||
|
* "git rebase --fork-point" did not filter out patch-identical
|
||||||
|
commits correctly.
|
||||||
|
|
||||||
|
* During "git rebase --merge", a conflicted patch could not be
|
||||||
|
skipped with "--skip" if the next one also conflicted.
|
||||||
|
(merge 95104c7 bc/fix-rebase-merge-skip later to maint).
|
||||||
|
|
||||||
|
* "git show -s" (i.e. show log message only) used to incorrectly emit
|
||||||
|
an extra blank line after a merge commit.
|
||||||
|
(merge ad2f725 mk/show-s-no-extra-blank-line-for-merges later to maint).
|
||||||
|
|
||||||
|
* "git status", even though it is a read-only operation, tries to
|
||||||
|
update the index with refreshed lstat(2) info to optimize future
|
||||||
|
accesses to the working tree opportunistically, but this could
|
||||||
|
race with a "read-write" operation that modifies the index while it
|
||||||
|
is running. Detect such a race and avoid overwriting the index.
|
||||||
|
(merge 426ddee ym/fix-opportunistic-index-update-race later to maint).
|
||||||
|
|
||||||
|
* "git status" (and "git commit") behaved as if changes in a modified
|
||||||
|
submodule are not there if submodule.*.ignore configuration is set,
|
||||||
|
which was misleading. The configuration is only to unclutter diff
|
||||||
|
output during the course of development, and not to hide
|
||||||
|
changes in the "status" output to cause the users forget to commit
|
||||||
|
them.
|
||||||
|
(merge c215d3d jl/status-added-submodule-is-never-ignored later to maint).
|
||||||
|
|
||||||
|
* Documentation for "git submodule sync" forgot to say that the subcommand
|
||||||
|
can take the "--recursive" option.
|
||||||
|
(merge 9393ae7 mc/doc-submodule-sync-recurse later to maint).
|
||||||
|
|
||||||
|
* "git update-index --cacheinfo" in 2.0 release crashed on a
|
||||||
|
malformed command line.
|
||||||
|
(merge c8e1ee4 jc/rev-parse-argh-dashed-multi-words later to maint).
|
||||||
|
|
||||||
|
* The mode to run tests with HTTP server tests disabled was broken.
|
||||||
|
(merge afa53fe na/no-http-test-in-the-middle later to maint).
|
44
Documentation/RelNotes/2.1.1.txt
Normal file
44
Documentation/RelNotes/2.1.1.txt
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
Git v2.1.1 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
* Git 2.0 had a regression where "git fetch" into a shallowly
|
||||||
|
cloned repository from a repository with bitmap object index
|
||||||
|
enabled did not work correctly. This has been corrected.
|
||||||
|
|
||||||
|
* Git 2.0 had a regression which broke (rarely used) "git diff-tree
|
||||||
|
-t". This has been corrected.
|
||||||
|
|
||||||
|
* "git log --pretty/format=" with an empty format string did not
|
||||||
|
mean the more obvious "No output whatsoever" but "Use default
|
||||||
|
format", which was counterintuitive. Now it means "nothing shown
|
||||||
|
for the log message part".
|
||||||
|
|
||||||
|
* "git -c section.var command" and "git -c section.var= command"
|
||||||
|
should pass the configuration differently (the former should be a
|
||||||
|
boolean true, the latter should be an empty string), but they
|
||||||
|
didn't work that way. Now it does.
|
||||||
|
|
||||||
|
* Applying a patch not generated by Git in a subdirectory used to
|
||||||
|
check the whitespace breakage using the attributes for incorrect
|
||||||
|
paths. Also whitespace checks were performed even for paths
|
||||||
|
excluded via "git apply --exclude=<path>" mechanism.
|
||||||
|
|
||||||
|
* "git bundle create" with date-range specification were meant to
|
||||||
|
exclude tags outside the range, but it did not work correctly.
|
||||||
|
|
||||||
|
* "git add x" where x that used to be a directory has become a
|
||||||
|
symbolic link to a directory misbehaved.
|
||||||
|
|
||||||
|
* The prompt script checked $GIT_DIR/ref/stash file to see if there
|
||||||
|
is a stash, which was a no-no.
|
||||||
|
|
||||||
|
* "git checkout -m" did not switch to another branch while carrying
|
||||||
|
the local changes forward when a path was deleted from the index.
|
||||||
|
|
||||||
|
* With sufficiently long refnames, fast-import could have overflown
|
||||||
|
an on-stack buffer.
|
||||||
|
|
||||||
|
* After "pack-refs --prune" packed refs at the top-level, it failed
|
||||||
|
to prune them.
|
||||||
|
|
||||||
|
* "git gc --auto" triggered from "git fetch --quiet" was not quiet.
|
20
Documentation/RelNotes/2.1.2.txt
Normal file
20
Documentation/RelNotes/2.1.2.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Git v2.1.2 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
* "git push" over HTTP transport had an artificial limit on number of
|
||||||
|
refs that can be pushed imposed by the command line length.
|
||||||
|
|
||||||
|
* When receiving an invalid pack stream that records the same object
|
||||||
|
twice, multiple threads got confused due to a race.
|
||||||
|
|
||||||
|
* An attempt to remove the entire tree in the "git fast-import" input
|
||||||
|
stream caused it to misbehave.
|
||||||
|
|
||||||
|
* Reachability check (used in "git prune" and friends) did not add a
|
||||||
|
detached HEAD as a starting point to traverse objects still in use.
|
||||||
|
|
||||||
|
* "git config --add section.var val" used to lose existing
|
||||||
|
section.var whose value was an empty string.
|
||||||
|
|
||||||
|
* "git fsck" failed to report that it found corrupt objects via its
|
||||||
|
exit status in some cases.
|
26
Documentation/RelNotes/2.1.3.txt
Normal file
26
Documentation/RelNotes/2.1.3.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Git v2.1.3 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
* Some MUAs mangled a line in a message that begins with "From " to
|
||||||
|
">From " when writing to a mailbox file and feeding such an input to
|
||||||
|
"git am" used to lose such a line.
|
||||||
|
|
||||||
|
* "git daemon" (with NO_IPV6 build configuration) used to incorrectly
|
||||||
|
use the hostname even when gethostbyname() reported that the given
|
||||||
|
hostname is not found.
|
||||||
|
|
||||||
|
* Newer versions of 'meld' breaks the auto-detection we use to see if
|
||||||
|
they are new enough to support the `--output` option.
|
||||||
|
|
||||||
|
* "git pack-objects" forgot to disable the codepath to generate
|
||||||
|
object recheability bitmap when it needs to split the resulting
|
||||||
|
pack.
|
||||||
|
|
||||||
|
* "gitweb" used deprecated CGI::startfrom, which was removed from
|
||||||
|
CGI.pm as of 4.04; use CGI::start_from instead.
|
||||||
|
|
||||||
|
* "git log" documentation had an example section marked up not
|
||||||
|
quite correctly, which passed AsciiDoc but failed with
|
||||||
|
AsciiDoctor.
|
||||||
|
|
||||||
|
Also contains some documentation updates.
|
34
Documentation/RelNotes/2.1.4.txt
Normal file
34
Documentation/RelNotes/2.1.4.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Git v2.1.4 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.1.3
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* We used to allow committing a path ".Git/config" with Git that is
|
||||||
|
running on a case sensitive filesystem, but an attempt to check out
|
||||||
|
such a path with Git that runs on a case insensitive filesystem
|
||||||
|
would have clobbered ".git/config", which is definitely not what
|
||||||
|
the user would have expected. Git now prevents you from tracking
|
||||||
|
a path with ".Git" (in any case combination) as a path component.
|
||||||
|
|
||||||
|
* On Windows, certain path components that are different from ".git"
|
||||||
|
are mapped to ".git", e.g. "git~1/config" is treated as if it were
|
||||||
|
".git/config". HFS+ has a similar issue, where certain unicode
|
||||||
|
codepoints are ignored, e.g. ".g\u200cit/config" is treated as if
|
||||||
|
it were ".git/config". Pathnames with these potential issues are
|
||||||
|
rejected on the affected systems. Git on systems that are not
|
||||||
|
affected by this issue (e.g. Linux) can also be configured to
|
||||||
|
reject them to ensure cross platform interoperability of the hosted
|
||||||
|
projects.
|
||||||
|
|
||||||
|
* "git fsck" notices a tree object that records such a path that can
|
||||||
|
be confused with ".git", and with receive.fsckObjects configuration
|
||||||
|
set to true, an attempt to "git push" such a tree object will be
|
||||||
|
rejected. Such a path may not be a problem on a well behaving
|
||||||
|
filesystem but in order to protect those on HFS+ and on case
|
||||||
|
insensitive filesystems, this check is enabled on all platforms.
|
||||||
|
|
||||||
|
A big "thanks!" for bringing this issue to us goes to our friends in
|
||||||
|
the Mercurial land, namely, Matt Mackall and Augie Fackler.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
313
Documentation/RelNotes/2.2.0.txt
Normal file
313
Documentation/RelNotes/2.2.0.txt
Normal file
@ -0,0 +1,313 @@
|
|||||||
|
Git v2.2 Release Notes
|
||||||
|
======================
|
||||||
|
|
||||||
|
Updates since v2.1
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Ports
|
||||||
|
|
||||||
|
* Building on older MacOS X systems automatically sets
|
||||||
|
the necessary NO_APPLE_COMMON_CRYPTO build-time option.
|
||||||
|
|
||||||
|
* Building with NO_PTHREADS has been resurrected.
|
||||||
|
|
||||||
|
* Compilation options have been updated a bit to better support the
|
||||||
|
z/OS port.
|
||||||
|
|
||||||
|
|
||||||
|
UI, Workflows & Features
|
||||||
|
|
||||||
|
* "git archive" learned to filter what gets archived with a pathspec.
|
||||||
|
|
||||||
|
* "git config --edit --global" starts from a skeletal per-user
|
||||||
|
configuration file contents, instead of a total blank, when the
|
||||||
|
user does not already have any global config. This immediately
|
||||||
|
reduces the need to later ask "Have you forgotten to set
|
||||||
|
core.user?", and we can add more to the template as we gain
|
||||||
|
more experience.
|
||||||
|
|
||||||
|
* "git stash list -p" used to be almost always a no-op because each
|
||||||
|
stash entry is represented as a merge commit. It learned to show
|
||||||
|
the difference between the base commit version and the working tree
|
||||||
|
version, which is in line with what "git stash show" gives.
|
||||||
|
|
||||||
|
* Sometimes users want to report a bug they experience on their
|
||||||
|
repository, but they are not at liberty to share the contents of
|
||||||
|
the repository. "fast-export" was taught an "--anonymize" option
|
||||||
|
to replace blob contents, names of people, paths and log
|
||||||
|
messages with bland and simple strings to help them.
|
||||||
|
|
||||||
|
* "git difftool" learned an option to stop feeding paths to the
|
||||||
|
diff backend when it exits with a non-zero status.
|
||||||
|
|
||||||
|
* "git grep" learned to paint (or not paint) partial matches on
|
||||||
|
context lines when showing "grep -C<num>" output in color.
|
||||||
|
|
||||||
|
* "log --date=iso" uses a slight variant of the ISO 8601 format that is
|
||||||
|
more human readable. A new "--date=iso-strict" option gives
|
||||||
|
datetime output that conforms more strictly.
|
||||||
|
|
||||||
|
* The logic "git prune" uses is more resilient against various corner
|
||||||
|
cases.
|
||||||
|
|
||||||
|
* A broken reimplementation of Git could write an invalid index that
|
||||||
|
records both stage #0 and higher-stage entries for the same path.
|
||||||
|
We now notice and reject such an index, as there is no sensible
|
||||||
|
fallback (we do not know if the broken tool wanted to resolve and
|
||||||
|
forgot to remove the higher-stage entries, or if it wanted to unresolve
|
||||||
|
and forgot to remove the stage #0 entry).
|
||||||
|
|
||||||
|
* The temporary files "git mergetool" uses are renamed to avoid too
|
||||||
|
many dots in them (e.g. a temporary file for "hello.c" used to be
|
||||||
|
named e.g. "hello.BASE.4321.c" but now uses underscore instead,
|
||||||
|
e.g. "hello_BASE_4321.c", to allow us to have multiple variants).
|
||||||
|
|
||||||
|
* The temporary files "git mergetool" uses can be placed in a newly
|
||||||
|
created temporary directory, instead of the current directory, by
|
||||||
|
setting the mergetool.writeToTemp configuration variable.
|
||||||
|
|
||||||
|
* "git mergetool" understands "--tool bc" now, as version 4 of
|
||||||
|
BeyondCompare can be driven the same way as its version 3 and it
|
||||||
|
feels awkward to say "--tool bc3" to run version 4.
|
||||||
|
|
||||||
|
* The "pre-receive" and "post-receive" hooks are no longer required
|
||||||
|
to consume their input fully (not following this requirement used
|
||||||
|
to result in intermittent errors in "git push").
|
||||||
|
|
||||||
|
* The pretty-format specifier "%d", which expands to " (tagname)"
|
||||||
|
for a tagged commit, gained a cousin "%D" that just gives the
|
||||||
|
"tagname" without frills.
|
||||||
|
|
||||||
|
* "git push" learned "--signed" push, that allows a push (i.e.
|
||||||
|
request to update the refs on the other side to point at a new
|
||||||
|
history, together with the transmission of necessary objects) to be
|
||||||
|
signed, so that it can be verified and audited, using the GPG
|
||||||
|
signature of the person who pushed, that the tips of branches at a
|
||||||
|
public repository really point the commits the pusher wanted to,
|
||||||
|
without having to "trust" the server.
|
||||||
|
|
||||||
|
* "git interpret-trailers" is a new filter to programmatically edit
|
||||||
|
the tail end of the commit log messages, e.g. "Signed-off-by:".
|
||||||
|
|
||||||
|
* "git help everyday" shows the "Everyday Git in 20 commands or so"
|
||||||
|
document, whose contents have been updated to match more modern
|
||||||
|
Git practice.
|
||||||
|
|
||||||
|
* On the "git svn" front, work progresses to reduce memory consumption and
|
||||||
|
to improve handling of mergeinfo.
|
||||||
|
|
||||||
|
|
||||||
|
Performance, Internal Implementation, Development Support etc.
|
||||||
|
|
||||||
|
* The API to manipulate the "refs" has been restructured to make it
|
||||||
|
more transactional, with the eventual goal to allow all-or-none
|
||||||
|
atomic updates and migrating the storage to something other than
|
||||||
|
the traditional filesystem based one (e.g. databases).
|
||||||
|
|
||||||
|
* The lockfile API and its users have been cleaned up.
|
||||||
|
|
||||||
|
* We no longer attempt to keep track of individual dependencies to
|
||||||
|
the header files in the build procedure, relying instead on automated
|
||||||
|
dependency generation support from modern compilers.
|
||||||
|
|
||||||
|
* In tests, we have been using NOT_{MINGW,CYGWIN} test prerequisites
|
||||||
|
long before negated prerequisites e.g. !MINGW were invented.
|
||||||
|
The former has been converted to the latter to avoid confusion.
|
||||||
|
|
||||||
|
* Optimized looking up a remote's configuration in a repository with very many
|
||||||
|
remotes defined.
|
||||||
|
|
||||||
|
* There are cases where you lock and open to write a file, close it
|
||||||
|
to show the updated contents to an external processes, and then have
|
||||||
|
to update the file again while still holding the lock; now the
|
||||||
|
lockfile API has support for such an access pattern.
|
||||||
|
|
||||||
|
* The API to allocate the structure to keep track of commit
|
||||||
|
decoration has been updated to make it less cumbersome to use.
|
||||||
|
|
||||||
|
* An in-core caching layer to let us avoid reading the same
|
||||||
|
configuration files several times has been added. A few commands
|
||||||
|
have been converted to use this subsystem.
|
||||||
|
|
||||||
|
* Various code paths have been cleaned up and simplified by using
|
||||||
|
the "strbuf", "starts_with()", and "skip_prefix()" APIs more.
|
||||||
|
|
||||||
|
* A few codepaths that died when large blobs that would not fit in
|
||||||
|
core are involved in their operation have been taught to punt
|
||||||
|
instead, by e.g. marking a too-large blob as not to be diffed.
|
||||||
|
|
||||||
|
* A few more code paths in "commit" and "checkout" have been taught
|
||||||
|
to repopulate the cache-tree in the index, to help speed up later
|
||||||
|
"write-tree" (used in "commit") and "diff-index --cached" (used in
|
||||||
|
"status").
|
||||||
|
|
||||||
|
* A common programming mistake to assign the same short option name
|
||||||
|
to two separate options is detected by the parse_options() API to help
|
||||||
|
developers.
|
||||||
|
|
||||||
|
* The code path to write out the packed-refs file has been optimized,
|
||||||
|
which especially matters in a repository with a large number of
|
||||||
|
refs.
|
||||||
|
|
||||||
|
* The check to see if a ref $F can be created by making sure no
|
||||||
|
existing ref has $F/ as its prefix has been optimized, which
|
||||||
|
especially matters in a repository with a large number of existing
|
||||||
|
refs.
|
||||||
|
|
||||||
|
* "git fsck" was taught to check the contents of tag objects a bit more.
|
||||||
|
|
||||||
|
* "git hash-object" was taught a "--literally" option to help
|
||||||
|
debugging.
|
||||||
|
|
||||||
|
* When running a required clean filter, we do not have to mmap the
|
||||||
|
original before feeding the filter. Instead, stream the file
|
||||||
|
contents directly to the filter and process its output.
|
||||||
|
|
||||||
|
* The scripts in the test suite can be run with the "-x" option to show
|
||||||
|
a shell-trace of each command they run.
|
||||||
|
|
||||||
|
* The "run-command" API learned to manage the argv and environment
|
||||||
|
arrays for child process, alleviating the need for the callers to
|
||||||
|
allocate and deallocate them.
|
||||||
|
|
||||||
|
* Some people use AsciiDoctor, instead of AsciiDoc, to format our
|
||||||
|
documentation set; the documentation has been adjusted to be usable
|
||||||
|
by both, as AsciiDoctor is pickier than AsciiDoc about its input
|
||||||
|
mark-up.
|
||||||
|
|
||||||
|
|
||||||
|
Also contains various documentation updates and code clean-ups.
|
||||||
|
|
||||||
|
|
||||||
|
Fixes since v2.1
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Unless otherwise noted, all the fixes since v2.1 in the maintenance
|
||||||
|
track are contained in this release (see the maintenance releases'
|
||||||
|
notes for details).
|
||||||
|
|
||||||
|
* "git log --pretty/format=" with an empty format string did not
|
||||||
|
mean the more obvious "No output whatsoever" but "Use default
|
||||||
|
format", which was counterintuitive.
|
||||||
|
|
||||||
|
* "git -c section.var command" and "git -c section.var= command"
|
||||||
|
should pass the configuration value differently (the former should be a
|
||||||
|
boolean true, the latter should be an empty string).
|
||||||
|
|
||||||
|
* Applying a patch not generated by Git in a subdirectory used to
|
||||||
|
check for whitespace breakage using the attributes of incorrect
|
||||||
|
paths. Also whitespace checks were performed even for paths
|
||||||
|
excluded via the "git apply --exclude=<path>" mechanism.
|
||||||
|
|
||||||
|
* "git bundle create" with a date-range specification was meant to
|
||||||
|
exclude tags outside the range, but it didn't.
|
||||||
|
|
||||||
|
* "git add x" where x used to be a directory and is now a
|
||||||
|
symbolic link to a directory misbehaved.
|
||||||
|
|
||||||
|
* The prompt script checked the $GIT_DIR/ref/stash file to see if there
|
||||||
|
is a stash, which was a no-no.
|
||||||
|
|
||||||
|
* Pack-protocol documentation had a minor typo.
|
||||||
|
|
||||||
|
* "git checkout -m" did not switch to another branch while carrying
|
||||||
|
the local changes forward when a path was deleted from the index.
|
||||||
|
|
||||||
|
* "git daemon" (with NO_IPV6 build configuration) used to incorrectly
|
||||||
|
use the hostname even when gethostbyname() reported that the given
|
||||||
|
hostname is not found.
|
||||||
|
(merge 107efbe rs/daemon-fixes later to maint).
|
||||||
|
|
||||||
|
* With sufficiently long refnames, "git fast-import" could have
|
||||||
|
overflowed an on-stack buffer.
|
||||||
|
|
||||||
|
* After "pack-refs --prune" packed refs at the top-level, it failed
|
||||||
|
to prune them.
|
||||||
|
|
||||||
|
* Progress output from "git gc --auto" was visible in "git fetch -q".
|
||||||
|
|
||||||
|
* We used to pass -1000 to poll(2), expecting it to also mean "no
|
||||||
|
timeout", which should be spelled as -1.
|
||||||
|
|
||||||
|
* "git rebase" documentation was unclear that it is required to
|
||||||
|
specify on what <upstream> the rebase is to be done when telling it
|
||||||
|
to first check out <branch>.
|
||||||
|
(merge 95c6826 so/rebase-doc later to maint).
|
||||||
|
|
||||||
|
* "git push" over HTTP transport had an artificial limit on the number of
|
||||||
|
refs that can be pushed, imposed by the command line length.
|
||||||
|
(merge 26be19b jk/send-pack-many-refspecs later to maint).
|
||||||
|
|
||||||
|
* When receiving an invalid pack stream that records the same object
|
||||||
|
twice, multiple threads got confused due to a race.
|
||||||
|
(merge ab791dd jk/index-pack-threading-races later to maint).
|
||||||
|
|
||||||
|
* An attempt to remove the entire tree in the "git fast-import" input
|
||||||
|
stream caused it to misbehave.
|
||||||
|
(merge 2668d69 mb/fast-import-delete-root later to maint).
|
||||||
|
|
||||||
|
* Reachability check (used in "git prune" and friends) did not add a
|
||||||
|
detached HEAD as a starting point to traverse objects still in use.
|
||||||
|
(merge c40fdd0 mk/reachable-protect-detached-head later to maint).
|
||||||
|
|
||||||
|
* "git config --add section.var val" when section.var already has an
|
||||||
|
empty-string value used to lose the empty-string value.
|
||||||
|
(merge c1063be ta/config-add-to-empty-or-true-fix later to maint).
|
||||||
|
|
||||||
|
* "git fsck" failed to report that it found corrupt objects via its
|
||||||
|
exit status in some cases.
|
||||||
|
(merge 30d1038 jk/fsck-exit-code-fix later to maint).
|
||||||
|
|
||||||
|
* Use of the "--verbose" option used to break "git branch --merged".
|
||||||
|
(merge 12994dd jk/maint-branch-verbose-merged later to maint).
|
||||||
|
|
||||||
|
* Some MUAs mangle a line in a message that begins with "From " to
|
||||||
|
">From " when writing to a mailbox file, and feeding such an input
|
||||||
|
to "git am" used to lose such a line.
|
||||||
|
(merge 85de86a jk/mbox-from-line later to maint).
|
||||||
|
|
||||||
|
* "rev-parse --verify --quiet $name" is meant to quietly exit with a
|
||||||
|
non-zero status when $name is not a valid object name, but still
|
||||||
|
gave error messages in some cases.
|
||||||
|
|
||||||
|
* A handful of C source files have been updated to include
|
||||||
|
"git-compat-util.h" as the first thing, to conform better to our
|
||||||
|
coding guidelines.
|
||||||
|
(merge 1c4b660 da/include-compat-util-first-in-c later to maint).
|
||||||
|
|
||||||
|
* The t7004 test, which tried to run Git with small stack space, has been
|
||||||
|
updated to use a bit larger stack to avoid false breakage on some
|
||||||
|
platforms.
|
||||||
|
(merge b9a1907 sk/tag-contains-wo-recursion later to maint).
|
||||||
|
|
||||||
|
* A few documentation pages had example sections marked up not quite
|
||||||
|
correctly, which passed AsciiDoc but failed with AsciiDoctor.
|
||||||
|
(merge c30c43c bc/asciidoc-pretty-formats-fix later to maint).
|
||||||
|
(merge f8a48af bc/asciidoc later to maint).
|
||||||
|
|
||||||
|
* "gitweb" used deprecated CGI::startfrom, which was removed from
|
||||||
|
CGI.pm as of 4.04; use CGI::start_from instead.
|
||||||
|
(merge 4750f4b rm/gitweb-start-form later to maint).
|
||||||
|
|
||||||
|
* Newer versions of 'meld' break the auto-detection we use to see if
|
||||||
|
they are new enough to support the `--output` option.
|
||||||
|
(merge b12d045 da/mergetool-meld later to maint).
|
||||||
|
|
||||||
|
* "git pack-objects" forgot to disable the codepath to generate the
|
||||||
|
object reachability bitmap when it needs to split the resulting
|
||||||
|
pack.
|
||||||
|
(merge 2113471 jk/pack-objects-no-bitmap-when-splitting later to maint).
|
||||||
|
|
||||||
|
* The code to use cache-tree trusted the on-disk data too much and
|
||||||
|
fell into an infinite loop upon seeing an incorrectly recorded
|
||||||
|
index file.
|
||||||
|
(merge 729dbbd jk/cache-tree-protect-from-broken-libgit2 later to maint).
|
||||||
|
|
||||||
|
* "git fetch" into a repository where branch B was deleted earlier,
|
||||||
|
back when it had reflog enabled, and then branch B/C is fetched
|
||||||
|
into it without reflog enabled, which is arguably an unlikely
|
||||||
|
corner case, unnecessarily failed.
|
||||||
|
(merge aae828b jk/fetch-reflog-df-conflict later to maint).
|
||||||
|
|
||||||
|
* "git log --first-parent -L..." used to crash.
|
||||||
|
(merge a8787c5 tm/line-log-first-parent later to maint).
|
34
Documentation/RelNotes/2.2.1.txt
Normal file
34
Documentation/RelNotes/2.2.1.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Git v2.2.1 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.2
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* We used to allow committing a path ".Git/config" with Git that is
|
||||||
|
running on a case sensitive filesystem, but an attempt to check out
|
||||||
|
such a path with Git that runs on a case insensitive filesystem
|
||||||
|
would have clobbered ".git/config", which is definitely not what
|
||||||
|
the user would have expected. Git now prevents you from tracking
|
||||||
|
a path with ".Git" (in any case combination) as a path component.
|
||||||
|
|
||||||
|
* On Windows, certain path components that are different from ".git"
|
||||||
|
are mapped to ".git", e.g. "git~1/config" is treated as if it were
|
||||||
|
".git/config". HFS+ has a similar issue, where certain unicode
|
||||||
|
codepoints are ignored, e.g. ".g\u200cit/config" is treated as if
|
||||||
|
it were ".git/config". Pathnames with these potential issues are
|
||||||
|
rejected on the affected systems. Git on systems that are not
|
||||||
|
affected by this issue (e.g. Linux) can also be configured to
|
||||||
|
reject them to ensure cross platform interoperability of the hosted
|
||||||
|
projects.
|
||||||
|
|
||||||
|
* "git fsck" notices a tree object that records such a path that can
|
||||||
|
be confused with ".git", and with receive.fsckObjects configuration
|
||||||
|
set to true, an attempt to "git push" such a tree object will be
|
||||||
|
rejected. Such a path may not be a problem on a well behaving
|
||||||
|
filesystem but in order to protect those on HFS+ and on case
|
||||||
|
insensitive filesystems, this check is enabled on all platforms.
|
||||||
|
|
||||||
|
A big "thanks!" for bringing this issue to us goes to our friends in
|
||||||
|
the Mercurial land, namely, Matt Mackall and Augie Fackler.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
63
Documentation/RelNotes/2.2.2.txt
Normal file
63
Documentation/RelNotes/2.2.2.txt
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
Git v2.2.2 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.2.1
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* "git checkout $treeish $path", when $path in the index and the
|
||||||
|
working tree already matched what is in $treeish at the $path,
|
||||||
|
still overwrote the $path unnecessarily.
|
||||||
|
|
||||||
|
* "git config --get-color" did not parse its command line arguments
|
||||||
|
carefully.
|
||||||
|
|
||||||
|
* open() emulated on Windows platforms did not give EISDIR upon
|
||||||
|
an attempt to open a directory for writing.
|
||||||
|
|
||||||
|
* A few code paths used abs() when they should have used labs() on
|
||||||
|
long integers.
|
||||||
|
|
||||||
|
* "gitweb" used to depend on a behaviour recent CGI.pm deprecated.
|
||||||
|
|
||||||
|
* "git init" (hence "git clone") initialized the per-repository
|
||||||
|
configuration file .git/config with x-bit by mistake.
|
||||||
|
|
||||||
|
* Git 2.0 was supposed to make the "simple" mode for the default of
|
||||||
|
"git push", but it didn't.
|
||||||
|
|
||||||
|
* "Everyday" document had a broken link.
|
||||||
|
|
||||||
|
* The build procedure did not bother fixing perl and python scripts
|
||||||
|
when NO_PERL and NO_PYTHON build-time configuration changed.
|
||||||
|
|
||||||
|
* The code that reads the reflog from the newer to the older entries
|
||||||
|
did not handle an entry that crosses a boundary of block it uses to
|
||||||
|
read them correctly.
|
||||||
|
|
||||||
|
* "git apply" was described in the documentation to take --ignore-date
|
||||||
|
option, which it does not.
|
||||||
|
|
||||||
|
* Traditionally we tried to avoid interpreting date strings given by
|
||||||
|
the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
|
||||||
|
used early November 2014 was taken as "October 12, 2014" because it
|
||||||
|
is likely that a date in the future, December 10, is a mistake.
|
||||||
|
This heuristics has been loosened to allow people to express future
|
||||||
|
dates (most notably, --until=<date> may want to be far in the
|
||||||
|
future) and we no longer tiebreak by future-ness of the date when
|
||||||
|
|
||||||
|
(1) ISO-like format is used, and
|
||||||
|
(2) the string can make sense interpreted as both y-m-d and y-d-m.
|
||||||
|
|
||||||
|
Git may still have to use the heuristics to tiebreak between dd/mm/yy
|
||||||
|
and mm/dd/yy, though.
|
||||||
|
|
||||||
|
* The code to abbreviate an object name to its short unique prefix
|
||||||
|
has been optimized when no abbreviation was requested.
|
||||||
|
|
||||||
|
* "git add --ignore-errors ..." did not ignore an error to
|
||||||
|
give a file that did not exist.
|
||||||
|
|
||||||
|
* Git did not correctly read an overlong refname from a packed refs
|
||||||
|
file.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
300
Documentation/RelNotes/2.3.0.txt
Normal file
300
Documentation/RelNotes/2.3.0.txt
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
Git v2.3 Release Notes
|
||||||
|
======================
|
||||||
|
|
||||||
|
This one ended up to be a release with lots of small corrections and
|
||||||
|
improvements without big uncomfortably exciting features. The recent
|
||||||
|
security fix that went to 2.2.1 and older maintenance tracks is also
|
||||||
|
contained in this update.
|
||||||
|
|
||||||
|
|
||||||
|
Updates since v2.2
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Ports
|
||||||
|
|
||||||
|
* Recent gcc toolchain on Cygwin started throwing compilation warning,
|
||||||
|
which has been squelched.
|
||||||
|
|
||||||
|
* A few updates to build on platforms that lack tv_nsec,
|
||||||
|
clock_gettime, CLOCK_MONOTONIC and HMAC_CTX_cleanup (e.g. older
|
||||||
|
RHEL) have been added.
|
||||||
|
|
||||||
|
|
||||||
|
UI, Workflows & Features
|
||||||
|
|
||||||
|
* It was cumbersome to use "GIT_SSH" mechanism when the user wanted
|
||||||
|
to pass an extra set of arguments to the underlying ssh. A new
|
||||||
|
environment variable GIT_SSH_COMMAND can be used for this.
|
||||||
|
|
||||||
|
* A request to store an empty note via "git notes" meant to remove
|
||||||
|
note from the object but with --allow-empty we will store a
|
||||||
|
(surprise!) note that is empty.
|
||||||
|
|
||||||
|
* "git interpret-trailers" learned to properly handle the
|
||||||
|
"Conflicts:" block at the end.
|
||||||
|
|
||||||
|
* "git am" learned "--message-id" option to copy the message ID of
|
||||||
|
the incoming e-mail to the log message of resulting commit.
|
||||||
|
|
||||||
|
* "git clone --reference=<over there>" learned the "--dissociate"
|
||||||
|
option to go with it; it borrows objects from the reference object
|
||||||
|
store while cloning only to reduce network traffic and then
|
||||||
|
dissociates the resulting clone from the reference by performing
|
||||||
|
local copies of borrowed objects.
|
||||||
|
|
||||||
|
* "git send-email" learned "--transfer-encoding" option to force a
|
||||||
|
non-fault Content-Transfer-Encoding header (e.g. base64).
|
||||||
|
|
||||||
|
* "git send-email" normally identifies itself via X-Mailer: header in
|
||||||
|
the message it sends out. A new command line flag --no-xmailer
|
||||||
|
allows the user to squelch the header.
|
||||||
|
|
||||||
|
* "git push" into a repository with a working tree normally refuses
|
||||||
|
to modify the branch that is checked out. The command learned to
|
||||||
|
optionally do an equivalent of "git reset --hard" only when there
|
||||||
|
is no change to the working tree and the index instead, which would
|
||||||
|
be useful to "deploy" by pushing into a repository.
|
||||||
|
|
||||||
|
* "git new-workdir" (in contrib/) can be used to populate an empty
|
||||||
|
and existing directory now.
|
||||||
|
|
||||||
|
* Credential helpers are asked in turn until one of them give
|
||||||
|
positive response, which is cumbersome to turn off when you need to
|
||||||
|
run Git in an automated setting. The credential helper interface
|
||||||
|
learned to allow a helper to say "stop, don't ask other helpers."
|
||||||
|
Also GIT_TERMINAL_PROMPT environment can be set to false to disable
|
||||||
|
our built-in prompt mechanism for passwords.
|
||||||
|
|
||||||
|
* "git branch -d" (delete) and "git branch -m" (move) learned to
|
||||||
|
honor "-f" (force) flag; unlike many other subcommands, the way to
|
||||||
|
force these have been with separate "-D/-M" options, which was
|
||||||
|
inconsistent.
|
||||||
|
|
||||||
|
* "diff-highlight" filter (in contrib/) allows its color output to be
|
||||||
|
customized via configuration variables.
|
||||||
|
|
||||||
|
* "git imap-send" learned to take "-v" (verbose) and "-q" (quiet)
|
||||||
|
command line options.
|
||||||
|
|
||||||
|
* "git remote add $name $URL" is now allowed when "url.$URL.insteadOf"
|
||||||
|
is already defined.
|
||||||
|
|
||||||
|
* "git imap-send" now can be built to use cURL library to talk to
|
||||||
|
IMAP servers (if the library is recent enough, of course).
|
||||||
|
This allows you to use authenticate method other than CRAM-MD5,
|
||||||
|
among other things.
|
||||||
|
|
||||||
|
* "git imap-send" now allows GIT_CURL_VERBOSE environment variable to
|
||||||
|
control the verbosity when talking via the cURL library.
|
||||||
|
|
||||||
|
* The prompt script (in contrib/) learned to optionally hide prompt
|
||||||
|
when in an ignored directory by setting GIT_PS1_HIDE_IF_PWD_IGNORED
|
||||||
|
shell variable.
|
||||||
|
|
||||||
|
|
||||||
|
Performance, Internal Implementation, Development Support etc.
|
||||||
|
|
||||||
|
* Earlier we made "rev-list --object-edge" more aggressively list the
|
||||||
|
objects at the edge commits, in order to reduce number of objects
|
||||||
|
fetched into a shallow repository, but the change affected cases
|
||||||
|
other than "fetching into a shallow repository" and made it
|
||||||
|
unusably slow (e.g. fetching into a normal repository should not
|
||||||
|
have to suffer the overhead from extra processing). Limit it to a
|
||||||
|
more specific case by introducing --objects-edge-aggressive, a new
|
||||||
|
option to rev-list.
|
||||||
|
|
||||||
|
* Squelched useless compiler warnings on Mac OS X regarding the
|
||||||
|
crypto API.
|
||||||
|
|
||||||
|
* The procedure to generate unicode table has been simplified.
|
||||||
|
|
||||||
|
* Some filesystems assign filemodes in a strange way, fooling then
|
||||||
|
automatic "filemode trustability" check done during a new
|
||||||
|
repository creation. The initialization codepath has been hardened
|
||||||
|
against this issue.
|
||||||
|
|
||||||
|
* The codepath in "git remote update --prune" to drop many refs has
|
||||||
|
been optimized.
|
||||||
|
|
||||||
|
* The API into get_merge_bases*() family of functions was easy to
|
||||||
|
misuse, which has been corrected to make it harder to do so.
|
||||||
|
|
||||||
|
* Long overdue departure from the assumption that S_IFMT is shared by
|
||||||
|
everybody made in 2005, which was necessary to port to z/OS.
|
||||||
|
|
||||||
|
* "git push" and "git fetch" did not communicate an overlong refname
|
||||||
|
correctly. Now it uses 64kB sideband to accommodate longer ones.
|
||||||
|
|
||||||
|
* Recent GPG changes the keyring format and drops support for RFC1991
|
||||||
|
formatted signatures, breaking our existing tests.
|
||||||
|
|
||||||
|
* "git-prompt" (in contrib/) used a variable from the global scope,
|
||||||
|
possibly contaminating end-user's namespace.
|
||||||
|
|
||||||
|
|
||||||
|
Also contains various documentation updates and code clean-ups.
|
||||||
|
|
||||||
|
|
||||||
|
Fixes since v2.2
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Unless otherwise noted, all the fixes since v2.2 in the maintenance
|
||||||
|
track are contained in this release (see the maintenance releases'
|
||||||
|
notes for details).
|
||||||
|
|
||||||
|
* "git http-push" over WebDAV (aka dumb http-push) was broken in
|
||||||
|
v2.2.2 when parsing a symbolic ref, resulting in a bogus request
|
||||||
|
that gets rejected by recent versions of cURL library.
|
||||||
|
(merge f6786c8 jk/http-push-symref-fix later to maint).
|
||||||
|
|
||||||
|
* The logic in "git bisect bad HEAD" etc. to avoid forcing the test
|
||||||
|
of the common ancestor of bad and good commits was broken.
|
||||||
|
(merge 07913d5 cc/bisect-rev-parsing later to maint).
|
||||||
|
|
||||||
|
* "git checkout-index --temp=$target $path" did not work correctly
|
||||||
|
for paths outside the current subdirectory in the project.
|
||||||
|
(merge 74c4de5 es/checkout-index-temp later to maint).
|
||||||
|
|
||||||
|
* The report from "git checkout" on a branch that builds on another
|
||||||
|
local branch by setting its branch.*.merge to branch name (not a
|
||||||
|
full refname) incorrectly said that the upstream is gone.
|
||||||
|
(merge 05e7368 jc/checkout-local-track-report later to maint).
|
||||||
|
|
||||||
|
* With The git-prompt support (in contrib/), using the exit status of
|
||||||
|
the last command in the prompt, e.g. PS1='$(__git_ps1) $? ', did
|
||||||
|
not work well, because the helper function stomped on the exit
|
||||||
|
status.
|
||||||
|
(merge 6babe76 tf/prompt-preserve-exit-status later to maint).
|
||||||
|
|
||||||
|
* Recent update to "git commit" broke amending an existing commit
|
||||||
|
with bogus author/committer lines without a valid e-mail address.
|
||||||
|
(merge c83a509 jk/commit-date-approxidate later to maint).
|
||||||
|
|
||||||
|
* The lockfile API used to get confused which file to clean up when
|
||||||
|
the process moved the $cwd after creating a lockfile.
|
||||||
|
(merge fa137f6 nd/lockfile-absolute later to maint).
|
||||||
|
|
||||||
|
* Traditionally we tried to avoid interpreting date strings given by
|
||||||
|
the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
|
||||||
|
used early November 2014 was taken as "October 12, 2014" because it
|
||||||
|
is likely that a date in the future, December 10, is a mistake.
|
||||||
|
This heuristics has been loosened to allow people to express future
|
||||||
|
dates (most notably, --until=<date> may want to be far in the
|
||||||
|
future) and we no longer tiebreak by future-ness of the date when
|
||||||
|
|
||||||
|
(1) ISO-like format is used, and
|
||||||
|
(2) the string can make sense interpreted as both y-m-d and y-d-m.
|
||||||
|
|
||||||
|
Git may still have to use the heuristics to tiebreak between dd/mm/yy
|
||||||
|
and mm/dd/yy, though.
|
||||||
|
(merge d372395 jk/approxidate-avoid-y-d-m-over-future-dates later to maint).
|
||||||
|
|
||||||
|
* Git did not correctly read an overlong refname from a packed refs
|
||||||
|
file.
|
||||||
|
(merge ea41783 jk/read-packed-refs-without-path-max later to maint).
|
||||||
|
|
||||||
|
* "git apply" was described in the documentation to take --ignore-date
|
||||||
|
option, which it does not.
|
||||||
|
(merge 0cef4e7 rw/apply-does-not-take-ignore-date later to maint).
|
||||||
|
|
||||||
|
* "git add -i" did not notice when the interactive command input
|
||||||
|
stream went away and kept asking the same question.
|
||||||
|
(merge a8bec7a jk/add-i-read-error later to maint).
|
||||||
|
|
||||||
|
* "git send-email" did not handle RFC 2047 encoded headers quite
|
||||||
|
right.
|
||||||
|
(merge ab47e2a rd/send-email-2047-fix later to maint).
|
||||||
|
|
||||||
|
* New tag object format validation added in 2.2 showed garbage after
|
||||||
|
a tagname it reported in its error message.
|
||||||
|
(merge a1e920a js/fsck-tag-validation later to maint).
|
||||||
|
|
||||||
|
* The code that reads the reflog from the newer to the older entries
|
||||||
|
did not handle an entry that crosses a boundary of block it uses to
|
||||||
|
read them correctly.
|
||||||
|
(merge 69216bf jk/for-each-reflog-ent-reverse later to maint).
|
||||||
|
|
||||||
|
* "git diff -B -M" after making a new copy B out of an existing file
|
||||||
|
A and then editing A extensively ought to report that B was created
|
||||||
|
by copying A and A was modified, which is what "git diff -C"
|
||||||
|
reports, but it instead said A was renamed to B and A was edited
|
||||||
|
heavily in place. This was not just incoherent but also failed to
|
||||||
|
apply with "git apply". The report has been corrected to match what
|
||||||
|
"git diff -C" produces for this case.
|
||||||
|
(merge 6936b58 jc/diff-b-m later to maint).
|
||||||
|
|
||||||
|
* In files we pre-populate for the user to edit with commented hints,
|
||||||
|
a line of hint that is indented with a tab used to show as '#' (or
|
||||||
|
any comment char), ' ' (space), and then the hint text that began
|
||||||
|
with the tab, which some editors flag as an indentation error (tab
|
||||||
|
following space). We now omit the space after the comment char in
|
||||||
|
such a case.
|
||||||
|
(merge d55aeb7 jc/strbuf-add-lines-avoid-sp-ht-sequence later to maint).
|
||||||
|
|
||||||
|
* "git ls-tree" does not support path selection based on negative
|
||||||
|
pathspecs, but did not error out when negative pathspecs are given.
|
||||||
|
(merge f1f6224 nd/ls-tree-pathspec later to maint).
|
||||||
|
|
||||||
|
* The function sometimes returned a non-freeable memory and some
|
||||||
|
other times returned a piece of memory that must be freed, leading
|
||||||
|
to inevitable leaks.
|
||||||
|
(merge 59362e5 jc/exec-cmd-system-path-leak-fix later to maint).
|
||||||
|
|
||||||
|
* The code to abbreviate an object name to its short unique prefix
|
||||||
|
has been optimized when no abbreviation was requested.
|
||||||
|
(merge 61e704e mh/find-uniq-abbrev later to maint).
|
||||||
|
|
||||||
|
* "git add --ignore-errors ..." did not ignore an error to
|
||||||
|
give a file that did not exist.
|
||||||
|
(merge 1d31e5a mg/add-ignore-errors later to maint).
|
||||||
|
|
||||||
|
* "git checkout $treeish $path", when $path in the index and the
|
||||||
|
working tree already matched what is in $treeish at the $path,
|
||||||
|
still overwrote the $path unnecessarily.
|
||||||
|
(merge c5326bd jk/checkout-from-tree later to maint).
|
||||||
|
|
||||||
|
* "git config --get-color" did not parse its command line arguments
|
||||||
|
carefully.
|
||||||
|
(merge cb35722 jk/colors-fix later to maint).
|
||||||
|
|
||||||
|
* open() emulated on Windows platforms did not give EISDIR upon
|
||||||
|
an attempt to open a directory for writing.
|
||||||
|
(merge ba6fad0 js/windows-open-eisdir-error later to maint).
|
||||||
|
|
||||||
|
* A few code paths used abs() when they should have used labs() on
|
||||||
|
long integers.
|
||||||
|
(merge 83915ba rs/maint-config-use-labs later to maint).
|
||||||
|
(merge 31a8aa1 rs/receive-pack-use-labs later to maint).
|
||||||
|
|
||||||
|
* "gitweb" used to depend on a behaviour recent CGI.pm deprecated.
|
||||||
|
(merge 13dbf46 jk/gitweb-with-newer-cgi-multi-param later to maint).
|
||||||
|
|
||||||
|
* "git init" (hence "git clone") initialized the per-repository
|
||||||
|
configuration file .git/config with x-bit by mistake.
|
||||||
|
(merge 1f32ecf mh/config-flip-xbit-back-after-checking later to maint).
|
||||||
|
|
||||||
|
* Recent update in Git 2.2 started creating objects/info/packs and
|
||||||
|
info/refs files with permission bits tighter than user's umask.
|
||||||
|
(merge d91175b jk/prune-packed-server-info later to maint).
|
||||||
|
|
||||||
|
* Git 2.0 was supposed to make the "simple" mode for the default of
|
||||||
|
"git push", but it didn't.
|
||||||
|
(merge 00a6fa0 jk/push-simple later to maint).
|
||||||
|
|
||||||
|
* "Everyday" document had a broken link.
|
||||||
|
(merge 366c8d4 po/everyday-doc later to maint).
|
||||||
|
|
||||||
|
* A few test fixes.
|
||||||
|
(merge 880ef58 jk/no-perl-tests later to maint).
|
||||||
|
|
||||||
|
* The build procedure did not bother fixing perl and python scripts
|
||||||
|
when NO_PERL and NO_PYTHON build-time configuration changed.
|
||||||
|
(merge ca2051d jk/rebuild-perl-scripts-with-no-perl-seting-change later to maint).
|
||||||
|
|
||||||
|
* The usage string of "git log" command was marked incorrectly for
|
||||||
|
l10n.
|
||||||
|
(merge e66dc0c km/log-usage-string-i18n later to maint).
|
||||||
|
|
||||||
|
* "git for-each-ref" mishandled --format="%(upstream:track)" when a
|
||||||
|
branch is marked to have forked from a non-existing branch.
|
||||||
|
(merge b6160d9 rc/for-each-ref-tracking later to maint).
|
52
Documentation/RelNotes/2.3.1.txt
Normal file
52
Documentation/RelNotes/2.3.1.txt
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
Git v2.3.1 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.3
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* The interactive "show a list and let the user choose from it"
|
||||||
|
interface "add -i" used showed and prompted to the user even when
|
||||||
|
the candidate list was empty, against which the only "choice" the
|
||||||
|
user could have made was to choose nothing.
|
||||||
|
|
||||||
|
* "git apply --whitespace=fix" used to under-allocate the memory
|
||||||
|
when the fix resulted in a longer text than the original patch.
|
||||||
|
|
||||||
|
* "git log --help" used to show rev-list options that are irrelevant
|
||||||
|
to the "log" command.
|
||||||
|
|
||||||
|
* The error message from "git commit", when a non-existing author
|
||||||
|
name was given as value to the "--author=" parameter, has been
|
||||||
|
reworded to avoid misunderstanding.
|
||||||
|
|
||||||
|
* A broken pack .idx file in the receiving repository prevented the
|
||||||
|
dumb http transport from fetching a good copy of it from the other
|
||||||
|
side.
|
||||||
|
|
||||||
|
* The documentation incorrectly said that C(opy) and R(ename) are the
|
||||||
|
only ones that can be followed by the score number in the output in
|
||||||
|
the --raw format.
|
||||||
|
|
||||||
|
* Fix a misspelled conditional that is always true.
|
||||||
|
|
||||||
|
* Code to read branch name from various files in .git/ directory
|
||||||
|
would have misbehaved if the code to write them left an empty file.
|
||||||
|
|
||||||
|
* The "git push" documentation made the "--repo=<there>" option
|
||||||
|
easily misunderstood.
|
||||||
|
|
||||||
|
* After attempting and failing a password-less authentication
|
||||||
|
(e.g. kerberos), libcURL refuses to fall back to password based
|
||||||
|
Basic authentication without a bit of help/encouragement.
|
||||||
|
|
||||||
|
* Setting diff.submodule to 'log' made "git format-patch" produce
|
||||||
|
broken patches.
|
||||||
|
|
||||||
|
* "git rerere" (invoked internally from many mergy operations) did
|
||||||
|
not correctly signal errors when told to update the working tree
|
||||||
|
files and failed to do so for whatever reason.
|
||||||
|
|
||||||
|
* "git blame HEAD -- missing" failed to correctly say "HEAD" when it
|
||||||
|
tried to say "No such path 'missing' in HEAD".
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
79
Documentation/RelNotes/2.3.2.txt
Normal file
79
Documentation/RelNotes/2.3.2.txt
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
Git v2.3.2 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.3.1
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* "update-index --refresh" used to leak when an entry cannot be
|
||||||
|
refreshed for whatever reason.
|
||||||
|
|
||||||
|
* "git fast-import" used to crash when it could not close and
|
||||||
|
conclude the resulting packfile cleanly.
|
||||||
|
|
||||||
|
* "git blame" died, trying to free an uninitialized piece of memory.
|
||||||
|
|
||||||
|
* "git merge-file" did not work correctly in a subdirectory.
|
||||||
|
|
||||||
|
* "git submodule add" failed to squash "path/to/././submodule" to
|
||||||
|
"path/to/submodule".
|
||||||
|
|
||||||
|
* In v2.2.0, we broke "git prune" that runs in a repository that
|
||||||
|
borrows from an alternate object store.
|
||||||
|
|
||||||
|
* Certain older vintages of cURL give irregular output from
|
||||||
|
"curl-config --vernum", which confused our build system.
|
||||||
|
|
||||||
|
* An earlier workaround to squelch unhelpful deprecation warnings
|
||||||
|
from the compiler on Mac OSX unnecessarily set minimum required
|
||||||
|
version of the OS, which the user might want to raise (or lower)
|
||||||
|
for other reasons.
|
||||||
|
|
||||||
|
* Longstanding configuration variable naming rules has been added to
|
||||||
|
the documentation.
|
||||||
|
|
||||||
|
* The credential helper for Windows (in contrib/) used to mishandle
|
||||||
|
a user name with an at-sign in it.
|
||||||
|
|
||||||
|
* Older GnuPG implementations may not correctly import the keyring
|
||||||
|
material we prepare for the tests to use.
|
||||||
|
|
||||||
|
* Clarify in the documentation that "remote.<nick>.pushURL" and
|
||||||
|
"remote.<nick>.URL" are there to name the same repository accessed
|
||||||
|
via different transports, not two separate repositories.
|
||||||
|
|
||||||
|
* The pack bitmap support did not build with older versions of GCC.
|
||||||
|
|
||||||
|
* Reading configuration from a blob object, when it ends with a lone
|
||||||
|
CR, use to confuse the configuration parser.
|
||||||
|
|
||||||
|
* We didn't format an integer that wouldn't fit in "int" but in
|
||||||
|
"uintmax_t" correctly.
|
||||||
|
|
||||||
|
* "git push --signed" gave an incorrectly worded error message when
|
||||||
|
the other side did not support the capability.
|
||||||
|
|
||||||
|
* "git fetch" over a remote-helper that cannot respond to "list"
|
||||||
|
command could not fetch from a symbolic reference e.g. HEAD.
|
||||||
|
|
||||||
|
* The insn sheet "git rebase -i" creates did not fully honor
|
||||||
|
core.abbrev settings.
|
||||||
|
|
||||||
|
* The tests that wanted to see that file becomes unreadable after
|
||||||
|
running "chmod a-r file", and the tests that wanted to make sure it
|
||||||
|
is not run as root, we used "can we write into the / directory?" as
|
||||||
|
a cheap substitute, but on some platforms that is not a good
|
||||||
|
heuristics. The tests and their prerequisites have been updated to
|
||||||
|
check what they really require.
|
||||||
|
|
||||||
|
* The configuration variable 'mailinfo.scissors' was hard to
|
||||||
|
discover in the documentation.
|
||||||
|
|
||||||
|
* Correct a breakage to git-svn around v2.2 era that triggers
|
||||||
|
premature closing of FileHandle.
|
||||||
|
|
||||||
|
* Even though we officially haven't dropped Perl 5.8 support, the
|
||||||
|
Getopt::Long package that came with it does not support "--no-"
|
||||||
|
prefix to negate a boolean option; manually add support to help
|
||||||
|
people with older Getopt::Long package.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
39
Documentation/RelNotes/2.3.3.txt
Normal file
39
Documentation/RelNotes/2.3.3.txt
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
Git v2.3.3 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.3.2
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* A corrupt input to "git diff -M" used cause us to segfault.
|
||||||
|
|
||||||
|
* The borrowed code in kwset API did not follow our usual convention
|
||||||
|
to use "unsigned char" to store values that range from 0-255.
|
||||||
|
|
||||||
|
* Description given by "grep -h" for its --exclude-standard option
|
||||||
|
was phrased poorly.
|
||||||
|
|
||||||
|
* Documentaton for "git remote add" mentioned "--tags" and
|
||||||
|
"--no-tags" and it was not clear that fetch from the remote in
|
||||||
|
the future will use the default behaviour when neither is given
|
||||||
|
to override it.
|
||||||
|
|
||||||
|
* "git diff --shortstat --dirstat=changes" showed a dirstat based on
|
||||||
|
lines that was never asked by the end user in addition to the
|
||||||
|
dirstat that the user asked for.
|
||||||
|
|
||||||
|
* The interaction between "git submodule update" and the
|
||||||
|
submodule.*.update configuration was not clearly documented.
|
||||||
|
|
||||||
|
* "git apply" was not very careful about reading from, removing,
|
||||||
|
updating and creating paths outside the working tree (under
|
||||||
|
--index/--cached) or the current directory (when used as a
|
||||||
|
replacement for GNU patch).
|
||||||
|
|
||||||
|
* "git daemon" looked up the hostname even when "%CH" and "%IP"
|
||||||
|
interpolations are not requested, which was unnecessary.
|
||||||
|
|
||||||
|
* The "interpolated-path" option of "git daemon" inserted any string
|
||||||
|
client declared on the "host=" capability request without checking.
|
||||||
|
Sanitize and limit %H and %CH to a saner and a valid DNS name.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
32
Documentation/RelNotes/2.3.4.txt
Normal file
32
Documentation/RelNotes/2.3.4.txt
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
Git v2.3.4 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.3.3
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* The 'color.status.unmerged' configuration was not described.
|
||||||
|
|
||||||
|
* "git log --decorate" did not reset colors correctly around the
|
||||||
|
branch names.
|
||||||
|
|
||||||
|
* "git -C '' subcmd" refused to work in the current directory, unlike
|
||||||
|
"cd ''" which silently behaves as a no-op.
|
||||||
|
|
||||||
|
* "git imap-send" learned to optionally talk with an IMAP server via
|
||||||
|
libcURL; because there is no other option when Git is built with
|
||||||
|
NO_OPENSSL option, use that codepath by default under such
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
* A workaround for certain build of GPG that triggered false breakage
|
||||||
|
in a test has been added.
|
||||||
|
|
||||||
|
* "git rebase -i" recently started to include the number of
|
||||||
|
commits in the insn sheet to be processed, but on a platform
|
||||||
|
that prepends leading whitespaces to "wc -l" output, the numbers
|
||||||
|
are shown with extra whitespaces that aren't necessary.
|
||||||
|
|
||||||
|
* We did not parse username followed by literal IPv6 address in SSH
|
||||||
|
transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git
|
||||||
|
correctly.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
44
Documentation/RelNotes/2.3.5.txt
Normal file
44
Documentation/RelNotes/2.3.5.txt
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
Git v2.3.5 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.3.4
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* The prompt script (in contrib/) did not show the untracked sign
|
||||||
|
when working in a subdirectory without any untracked files.
|
||||||
|
|
||||||
|
* Even though "git grep --quiet" is run merely to ask for the exit
|
||||||
|
status, we spawned the pager regardless. Stop doing that.
|
||||||
|
|
||||||
|
* Recommend format-patch and send-email for those who want to submit
|
||||||
|
patches to this project.
|
||||||
|
|
||||||
|
* An failure early in the "git clone" that started creating the
|
||||||
|
working tree and repository could have resulted in some directories
|
||||||
|
and files left without getting cleaned up.
|
||||||
|
|
||||||
|
* "git fetch" that fetches a commit using the allow-tip-sha1-in-want
|
||||||
|
extension could have failed to fetch all the requested refs.
|
||||||
|
|
||||||
|
* The split-index mode introduced at v2.3.0-rc0~41 was broken in the
|
||||||
|
codepath to protect us against a broken reimplementation of Git
|
||||||
|
that writes an invalid index with duplicated index entries, etc.
|
||||||
|
|
||||||
|
* "git prune" used to largely ignore broken refs when deciding which
|
||||||
|
objects are still being used, which could spread an existing small
|
||||||
|
damage and make it a larger one.
|
||||||
|
|
||||||
|
* "git tag -h" used to show the "--column" and "--sort" options
|
||||||
|
that are about listing in a wrong section.
|
||||||
|
|
||||||
|
* The transfer.hiderefs support did not quite work for smart-http
|
||||||
|
transport.
|
||||||
|
|
||||||
|
* The code that reads from the ctags file in the completion script
|
||||||
|
(in contrib/) did not spell ${param/pattern/string} substitution
|
||||||
|
correctly, which happened to work with bash but not with zsh.
|
||||||
|
|
||||||
|
* The explanation on "rebase --preserve-merges", "pull --rebase=preserve",
|
||||||
|
and "push --force-with-lease" in the documentation was unclear.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code clean-ups.
|
13
Documentation/RelNotes/2.3.6.txt
Normal file
13
Documentation/RelNotes/2.3.6.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Git v2.3.6 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.3.5
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* "diff-highlight" (in contrib/) used to show byte-by-byte
|
||||||
|
differences, which meant that multi-byte characters can be chopped
|
||||||
|
in the middle. It learned to pay attention to character boundaries
|
||||||
|
(assuming the UTF-8 payload).
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code
|
||||||
|
clean-ups.
|
21
Documentation/RelNotes/2.3.7.txt
Normal file
21
Documentation/RelNotes/2.3.7.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Git v2.3.7 Release Notes
|
||||||
|
========================
|
||||||
|
|
||||||
|
Fixes since v2.3.6
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* An earlier update to the parser that disects a URL broke an
|
||||||
|
address, followed by a colon, followed by an empty string (instead
|
||||||
|
of the port number), e.g. ssh://example.com:/path/to/repo.
|
||||||
|
|
||||||
|
* The completion script (in contrib/) contaminated global namespace
|
||||||
|
and clobbered on a shell variable $x.
|
||||||
|
|
||||||
|
* The "git push --signed" protocol extension did not limit what the
|
||||||
|
"nonce" that is a server-chosen string can contain or how long it
|
||||||
|
can be, which was unnecessarily lax. Limit both the length and the
|
||||||
|
alphabet to a reasonably small space that can still have enough
|
||||||
|
entropy.
|
||||||
|
|
||||||
|
Also contains typofixes, documentation updates and trivial code
|
||||||
|
clean-ups.
|
514
Documentation/RelNotes/2.4.0.txt
Normal file
514
Documentation/RelNotes/2.4.0.txt
Normal file
@ -0,0 +1,514 @@
|
|||||||
|
Git 2.4 Release Notes
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Backward compatibility warning(s)
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
This release has a few changes in the user-visible output from
|
||||||
|
Porcelain commands. These are not meant to be parsed by scripts, but
|
||||||
|
users still may want to be aware of the changes:
|
||||||
|
|
||||||
|
* The output from "git log --decorate" (and, more generally, the "%d"
|
||||||
|
format specifier used in the "--format=<string>" parameter to the
|
||||||
|
"git log" family of commands) has changed. It used to list "HEAD"
|
||||||
|
just like other branches; e.g.,
|
||||||
|
|
||||||
|
$ git log --decorate -1 master
|
||||||
|
commit bdb0f6788fa5e3cacc4315e9ff318a27b2676ff4 (HEAD, master)
|
||||||
|
...
|
||||||
|
|
||||||
|
This release changes the output slightly when HEAD refers to a
|
||||||
|
branch whose name is also shown in the output. The above is now
|
||||||
|
shown as:
|
||||||
|
|
||||||
|
$ git log --decorate -1 master
|
||||||
|
commit bdb0f6788fa5e3cacc4315e9ff318a27b2676ff4 (HEAD -> master)
|
||||||
|
...
|
||||||
|
|
||||||
|
* The phrasing "git branch" uses to describe a detached HEAD has been
|
||||||
|
updated to agree with the phrasing used by "git status":
|
||||||
|
|
||||||
|
- When HEAD is at the same commit as when it was originally
|
||||||
|
detached, they now both show "detached at <commit object name>".
|
||||||
|
|
||||||
|
- When HEAD has moved since it was originally detached, they now
|
||||||
|
both show "detached from <commit object name>".
|
||||||
|
|
||||||
|
Previously, "git branch" always used "from".
|
||||||
|
|
||||||
|
|
||||||
|
Updates since v2.3
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Ports
|
||||||
|
|
||||||
|
* Our default I/O size (8 MiB) for large files was too large for some
|
||||||
|
platforms with smaller SSIZE_MAX, leading to read(2)/write(2)
|
||||||
|
failures.
|
||||||
|
|
||||||
|
* We did not check the curl library version before using the
|
||||||
|
CURLOPT_PROXYAUTH feature, which did not exist in older versions of
|
||||||
|
the library.
|
||||||
|
|
||||||
|
* We now detect number of CPUs on older BSD-derived systems.
|
||||||
|
|
||||||
|
* Portability fixes and workarounds for shell scripts have been added
|
||||||
|
to help BSD-derived systems.
|
||||||
|
|
||||||
|
|
||||||
|
UI, Workflows & Features
|
||||||
|
|
||||||
|
* The command usage info strings given by "git cmd -h" and in
|
||||||
|
documentation have been tweaked for consistency.
|
||||||
|
|
||||||
|
* The "sync" subcommand of "git p4" now allows users to exclude
|
||||||
|
subdirectories like its "clone" subcommand does.
|
||||||
|
|
||||||
|
* "git log --invert-grep --grep=WIP" will show only commits that do
|
||||||
|
not have the string "WIP" in their messages.
|
||||||
|
|
||||||
|
* "git push" has been taught an "--atomic" option that makes a push
|
||||||
|
that updates more than one ref an "all-or-none" affair.
|
||||||
|
|
||||||
|
* Extending the "push to deploy" feature that was added in 2.3, the
|
||||||
|
behaviour of "git push" when updating the branch that is checked
|
||||||
|
out can now be tweaked by a "push-to-checkout" hook.
|
||||||
|
|
||||||
|
* HTTP-based transports now send Accept-Language when making
|
||||||
|
requests. The languages to accept are inferred from environment
|
||||||
|
variables on the client side (LANGUAGE, etc).
|
||||||
|
|
||||||
|
* "git send-email" used to accept a mistaken "y" (or "yes") as an
|
||||||
|
answer to "What encoding do you want to use [UTF-8]?" without
|
||||||
|
questioning. Now it asks for confirmation when the answer looks too
|
||||||
|
short to be a valid encoding name.
|
||||||
|
|
||||||
|
* When "git apply --whitespace=fix" fixed whitespace errors in the
|
||||||
|
common context lines, the command reports that it did so.
|
||||||
|
|
||||||
|
* "git status" now allows the "-v" option to be given twice, in which
|
||||||
|
case it also shows the differences in the working tree that are not
|
||||||
|
staged to be committed.
|
||||||
|
|
||||||
|
* "git cherry-pick" used to clean up the log message even when it is
|
||||||
|
merely replaying an existing commit. It now replays the message
|
||||||
|
verbatim unless you are editing the message of the resulting
|
||||||
|
commit.
|
||||||
|
|
||||||
|
* "git archive" can now be told to set the 'text' attribute in the
|
||||||
|
resulting zip archive.
|
||||||
|
|
||||||
|
* Output from "git log --decorate" now distinguishes between a
|
||||||
|
detached HEAD vs. a HEAD that points at a branch.
|
||||||
|
|
||||||
|
This is a potentially backward-incompatible change; see above for
|
||||||
|
more information.
|
||||||
|
|
||||||
|
* When HEAD was detached when at commit xyz and hasn't been moved
|
||||||
|
since it was detached, "git status" would report "detached at xyz"
|
||||||
|
whereas "git branch" would report "detached from xyz". Now the
|
||||||
|
output of "git branch" agrees with that of "git status".
|
||||||
|
|
||||||
|
This is a potentially backward-incompatible change; see above for
|
||||||
|
more information.
|
||||||
|
|
||||||
|
* "git -C '' subcmd" now works in the current directory (analogously
|
||||||
|
to "cd ''") rather than dying with an error message.
|
||||||
|
(merge 6a536e2 kn/git-cd-to-empty later to maint).
|
||||||
|
|
||||||
|
* The versionsort.prereleaseSuffix configuration variable can be used
|
||||||
|
to specify that, for example, v1.0-pre1 comes before v1.0.
|
||||||
|
|
||||||
|
* A new "push.followTags" configuration turns the "--follow-tags"
|
||||||
|
option on by default for the "git push" command.
|
||||||
|
|
||||||
|
* "git log --graph --no-walk A B..." is a nonsensical combination of
|
||||||
|
options: "--no-walk" requests discrete points in the history, while
|
||||||
|
"--graph" asks to draw connections between these discrete points.
|
||||||
|
Forbid the use of these options together.
|
||||||
|
|
||||||
|
* "git rev-list --bisect --first-parent" does not work (yet) and can
|
||||||
|
even cause SEGV; forbid it. "git log --bisect --first-parent" would
|
||||||
|
not be useful until "git bisect --first-parent" materializes, so
|
||||||
|
also forbid it for now.
|
||||||
|
|
||||||
|
|
||||||
|
Performance, Internal Implementation, Development Support etc.
|
||||||
|
|
||||||
|
* Slightly change the implementation of the N_() macro to help us
|
||||||
|
detect mistakes.
|
||||||
|
|
||||||
|
* Restructure the implementation of "reflog expire" to fit better
|
||||||
|
with the recently updated reference API.
|
||||||
|
|
||||||
|
* The transport-helper did not pass transport options such as
|
||||||
|
verbosity, progress, cloning, etc. to import and export based
|
||||||
|
helpers, like it did for fetch and push based helpers, robbing them
|
||||||
|
of the chance to honor the wish of the end-users better.
|
||||||
|
|
||||||
|
* The tests that wanted to see that a file becomes unreadable after
|
||||||
|
running "chmod a-r file", and the tests that wanted to make sure
|
||||||
|
that they are not run as root, used "can we write into the /
|
||||||
|
directory?" as a cheap substitute. But on some platforms that is
|
||||||
|
not a good heuristic. The tests and their prerequisites have been
|
||||||
|
updated to check what they really require.
|
||||||
|
(merge f400e51 jk/sanity later to maint).
|
||||||
|
|
||||||
|
* Various issues around "reflog expire", e.g. using --updateref when
|
||||||
|
expiring a reflog for a symbolic reference, have been corrected
|
||||||
|
and/or made saner.
|
||||||
|
|
||||||
|
* The documentation for the strbuf API had been split between the API
|
||||||
|
documentation and the header file. Consolidate the documentation in
|
||||||
|
strbuf.h.
|
||||||
|
|
||||||
|
* The error handling functions and conventions are now documented in
|
||||||
|
the API manual (in api-error-handling.txt).
|
||||||
|
|
||||||
|
* Optimize gitattribute look-up, mostly useful in "git grep" on a
|
||||||
|
project that does not use many attributes, by avoiding it when we
|
||||||
|
(should) know that the attributes are not defined in the first
|
||||||
|
place.
|
||||||
|
|
||||||
|
* Typofix in comments.
|
||||||
|
(merge ef2956a ak/git-pm-typofix later to maint).
|
||||||
|
|
||||||
|
* Code clean-up.
|
||||||
|
(merge 0b868f0 sb/hex-object-name-is-at-most-41-bytes-long later to maint).
|
||||||
|
(merge 5d30851 dp/remove-duplicated-header-inclusion later to maint).
|
||||||
|
|
||||||
|
* Simplify the ref transaction API for verifying that "the ref should
|
||||||
|
be pointing at this object".
|
||||||
|
|
||||||
|
* Simplify the code in "git daemon" that parses out and holds
|
||||||
|
hostnames used in request interpolation.
|
||||||
|
|
||||||
|
* Restructure the "git push" codepath to make it easier to add new
|
||||||
|
configuration bits.
|
||||||
|
|
||||||
|
* The run-command interface made it easy to make a pipe for us to
|
||||||
|
read from a process, wait for the process to finish, and then
|
||||||
|
attempt to read its output. But this pattern can lead to deadlock.
|
||||||
|
So introduce a helper to do this correctly (i.e., first read, and
|
||||||
|
then wait the process to finish) and also add code to prevent such
|
||||||
|
abuse in the run-command helper.
|
||||||
|
|
||||||
|
* People often forget to chain the commands in their test together
|
||||||
|
with &&, letting a failure from an earlier command in the test go
|
||||||
|
unnoticed. The new GIT_TEST_CHAIN_LINT mechanism allows you to
|
||||||
|
catch such a mistake more easily.
|
||||||
|
|
||||||
|
|
||||||
|
Also contains various documentation updates and code clean-ups.
|
||||||
|
|
||||||
|
|
||||||
|
Fixes since v2.3
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Unless otherwise noted, all the fixes since v2.3 in the maintenance
|
||||||
|
track are contained in this release (see the maintenance releases'
|
||||||
|
notes for details).
|
||||||
|
|
||||||
|
* "git blame HEAD -- missing" failed to correctly say "HEAD" when it
|
||||||
|
tried to say "No such path 'missing' in HEAD".
|
||||||
|
(merge a46442f jk/blame-commit-label later to maint).
|
||||||
|
|
||||||
|
* "git rerere" (invoked internally from many mergy operations) did
|
||||||
|
not correctly signal errors when it attempted to update the working
|
||||||
|
tree files but failed for whatever reason.
|
||||||
|
(merge 89ea903 jn/rerere-fail-on-auto-update-failure later to maint).
|
||||||
|
|
||||||
|
* Setting diff.submodule to 'log' made "git format-patch" produce
|
||||||
|
broken patches.
|
||||||
|
(merge 339de50 dk/format-patch-ignore-diff-submodule later to maint).
|
||||||
|
|
||||||
|
* After attempting and failing a password-less authentication (e.g.,
|
||||||
|
Kerberos), libcURL refuses to fall back to password-based Basic
|
||||||
|
authentication without a bit of help/encouragement.
|
||||||
|
(merge 4dbe664 bc/http-fallback-to-password-after-krb-fails later to maint).
|
||||||
|
|
||||||
|
* The "git push" documentation for the "--repo=<there>" option was
|
||||||
|
easily misunderstood.
|
||||||
|
(merge 57b92a7 mg/push-repo-option-doc later to maint).
|
||||||
|
|
||||||
|
* Code to read a branch name from various files in the .git/
|
||||||
|
directory would have overrun array limits if asked to read an empty
|
||||||
|
file.
|
||||||
|
(merge 66ec904 jk/status-read-branch-name-fix later to maint).
|
||||||
|
|
||||||
|
* Remove a superfluous conditional that is always true.
|
||||||
|
(merge 94ee8e2 jk/remote-curl-an-array-in-struct-cannot-be-null later to maint).
|
||||||
|
|
||||||
|
* The "git diff --raw" documentation incorrectly implied that C(opy)
|
||||||
|
and R(ename) are the only statuses that can be followed by a score
|
||||||
|
number.
|
||||||
|
(merge ac1c2d9 jc/diff-format-doc later to maint).
|
||||||
|
|
||||||
|
* A broken pack .idx file in the receiving repository prevented the
|
||||||
|
dumb http transport from fetching a good copy of it from the other
|
||||||
|
side.
|
||||||
|
(merge 8b9c2dd jk/dumb-http-idx-fetch-fix later to maint).
|
||||||
|
|
||||||
|
* The error message from "git commit", when a non-existing author
|
||||||
|
name was given as value to the "--author=" parameter, has been
|
||||||
|
reworded to avoid misunderstanding.
|
||||||
|
(merge 1044b1f mg/commit-author-no-match-malformed-message later to maint).
|
||||||
|
|
||||||
|
* "git log --help" used to show rev-list options that are irrelevant
|
||||||
|
to the "log" command.
|
||||||
|
(merge 3cab02d jc/doc-log-rev-list-options later to maint).
|
||||||
|
|
||||||
|
* "git apply --whitespace=fix" used to under-allocate memory when the
|
||||||
|
fix resulted in a longer text than the original patch.
|
||||||
|
(merge 407a792 jc/apply-ws-fix-expands later to maint).
|
||||||
|
|
||||||
|
* The interactive "show a list and let the user choose from it"
|
||||||
|
interface used by "git add -i" unnecessarily prompted the user even
|
||||||
|
when the candidate list was empty, against which the only "choice"
|
||||||
|
the user could have made was to choose nothing.
|
||||||
|
(merge a9c4641 ak/add-i-empty-candidates later to maint).
|
||||||
|
|
||||||
|
* The todo list created by "git rebase -i" did not fully honor
|
||||||
|
core.abbrev settings.
|
||||||
|
(merge edb72d5 ks/rebase-i-abbrev later to maint).
|
||||||
|
|
||||||
|
* "git fetch" over a remote-helper that cannot respond to the "list"
|
||||||
|
command could not fetch from a symbolic reference (e.g., HEAD).
|
||||||
|
(merge 33cae54 mh/deref-symref-over-helper-transport later to maint).
|
||||||
|
|
||||||
|
* "git push --signed" gave an incorrectly worded error message when
|
||||||
|
the other side did not support the capability.
|
||||||
|
|
||||||
|
* The "git push --signed" protocol extension did not limit what the
|
||||||
|
"nonce" (a server-chosen string) could contain nor how long it
|
||||||
|
could be, which was unnecessarily lax. Limit both the length and
|
||||||
|
the alphabet to a reasonably small space that can still have enough
|
||||||
|
entropy.
|
||||||
|
(merge afcb6ee jc/push-cert later to maint).
|
||||||
|
|
||||||
|
* The completion script (in contrib/) clobbered the shell variable $x
|
||||||
|
in the global shell namespace.
|
||||||
|
(merge 852ff1c ma/bash-completion-leaking-x later to maint).
|
||||||
|
|
||||||
|
* We incorrectly formatted a "uintmax_t" integer that doesn't fit in
|
||||||
|
"int".
|
||||||
|
(merge d306f3d jk/decimal-width-for-uintmax later to maint).
|
||||||
|
|
||||||
|
* The configuration parser used to be confused when reading
|
||||||
|
configuration from a blob object that ends with a lone CR.
|
||||||
|
(merge 1d0655c jk/config-no-ungetc-eof later to maint).
|
||||||
|
|
||||||
|
* The pack bitmap support did not build with older versions of GCC.
|
||||||
|
(merge bd4e882 jk/pack-bitmap later to maint).
|
||||||
|
|
||||||
|
* The documentation wasn't clear that "remote.<nick>.pushURL" and
|
||||||
|
"remote.<nick>.URL" are there to name the same repository accessed
|
||||||
|
via different transports, not two separate repositories.
|
||||||
|
(merge 697f652 jc/remote-set-url-doc later to maint).
|
||||||
|
|
||||||
|
* Older GnuPG implementations may not correctly import the keyring
|
||||||
|
material we prepare for the tests to use.
|
||||||
|
(merge 1f985d6 ch/new-gpg-drops-rfc-1991 later to maint).
|
||||||
|
|
||||||
|
* The credential helper for Windows (in contrib/) used to mishandle
|
||||||
|
user names that contain an at-sign.
|
||||||
|
(merge 13d261e av/wincred-with-at-in-username-fix later to maint).
|
||||||
|
|
||||||
|
* "diff-highlight" (in contrib/) used to show byte-by-byte
|
||||||
|
differences, which could cause multi-byte characters to be chopped
|
||||||
|
in the middle. It learned to pay attention to character boundaries
|
||||||
|
(assuming UTF-8).
|
||||||
|
(merge 8d00662 jk/colors later to maint).
|
||||||
|
|
||||||
|
* Document longstanding configuration variable naming rules in
|
||||||
|
CodingGuidelines.
|
||||||
|
(merge 35840a3 jc/conf-var-doc later to maint).
|
||||||
|
|
||||||
|
* An earlier workaround to squelch unhelpful deprecation warnings
|
||||||
|
from the compiler on OS X unnecessarily set a minimum required
|
||||||
|
version of the OS, which the user might want to raise (or lower)
|
||||||
|
for other reasons.
|
||||||
|
(merge 88c03eb es/squelch-openssl-warnings-on-macosx later to maint).
|
||||||
|
|
||||||
|
* Certain older vintages of cURL give irregular output from
|
||||||
|
"curl-config --vernum", which confused our build system.
|
||||||
|
(merge 3af6792 tc/curl-vernum-output-broken-in-7.11 later to maint).
|
||||||
|
|
||||||
|
* In v2.2.0, we broke "git prune" that runs in a repository that
|
||||||
|
borrows from an alternate object store.
|
||||||
|
(merge b0a4264 jk/prune-mtime later to maint).
|
||||||
|
|
||||||
|
* "git submodule add" failed to squash "path/to/././submodule" to
|
||||||
|
"path/to/submodule".
|
||||||
|
(merge 8196e72 ps/submodule-sanitize-path-upon-add later to maint).
|
||||||
|
|
||||||
|
* "git merge-file" did not work correctly when invoked in a
|
||||||
|
subdirectory.
|
||||||
|
(merge 204a8ff ab/merge-file-prefix later to maint).
|
||||||
|
|
||||||
|
* "git blame" could die trying to free an uninitialized piece of
|
||||||
|
memory.
|
||||||
|
(merge e600592 es/blame-commit-info-fix later to maint).
|
||||||
|
|
||||||
|
* "git fast-import" used to crash when it could not close and
|
||||||
|
finalize the resulting packfile cleanly.
|
||||||
|
(merge 5e915f3 jk/fast-import-die-nicely-fix later to maint).
|
||||||
|
|
||||||
|
* "update-index --refresh" used to leak memory when an entry could
|
||||||
|
not be refreshed for whatever reason.
|
||||||
|
(merge bc1c2ca sb/plug-leak-in-make-cache-entry later to maint).
|
||||||
|
|
||||||
|
* The "interpolated-path" option of "git daemon" inserted any string
|
||||||
|
the client declared on the "host=" capability request without
|
||||||
|
checking. Sanitize and limit %H and %CH to a saner and a valid DNS
|
||||||
|
name.
|
||||||
|
(merge b485373 jk/daemon-interpolate later to maint).
|
||||||
|
|
||||||
|
* "git daemon" unnecessarily looked up the hostname even when "%CH"
|
||||||
|
and "%IP" interpolations were not requested.
|
||||||
|
(merge dc8edc8 rs/daemon-interpolate later to maint).
|
||||||
|
|
||||||
|
* We relied on "--no-" prefix handling in Perl's Getopt::Long
|
||||||
|
package, even though that support didn't exist in Perl 5.8 (which
|
||||||
|
we still support). Manually add support to help people with older
|
||||||
|
Getopt::Long packages.
|
||||||
|
(merge f471494 km/send-email-getopt-long-workarounds later to maint).
|
||||||
|
|
||||||
|
* "git apply" was not very careful about reading from, removing,
|
||||||
|
updating and creating paths outside the working tree (under
|
||||||
|
--index/--cached) or the current directory (when used as a
|
||||||
|
replacement for GNU patch).
|
||||||
|
(merge e0d201b jc/apply-beyond-symlink later to maint).
|
||||||
|
|
||||||
|
* Correct a breakage in git-svn, introduced around the v2.2 era, that
|
||||||
|
can cause FileHandles to be closed prematurely.
|
||||||
|
(merge e426311 ew/svn-maint-fixes later to maint).
|
||||||
|
|
||||||
|
* We did not parse usernames followed by literal IPv6 addresses
|
||||||
|
correctly in SSH transport URLs; e.g.,
|
||||||
|
ssh://user@[2001:db8::1]:22/repo.git.
|
||||||
|
(merge 6b6c5f7 tb/connect-ipv6-parse-fix later to maint).
|
||||||
|
|
||||||
|
* The configuration variable 'mailinfo.scissors' was hard to
|
||||||
|
discover in the documentation.
|
||||||
|
(merge afb5de7 mm/am-c-doc later to maint).
|
||||||
|
|
||||||
|
* The interaction between "git submodule update" and the
|
||||||
|
submodule.*.update configuration was not clearly documented.
|
||||||
|
(merge 5c31acf ms/submodule-update-config-doc later to maint).
|
||||||
|
|
||||||
|
* "git diff --shortstat" used together with "--dirstat=changes" or
|
||||||
|
"--dirstat=files" incorrectly output dirstat information twice.
|
||||||
|
(merge ab27389 mk/diff-shortstat-dirstat-fix later to maint).
|
||||||
|
|
||||||
|
* The manpage for "git remote add" mentioned "--tags" and "--no-tags"
|
||||||
|
but did not explain what happens if neither option is provided.
|
||||||
|
(merge aaba0ab mg/doc-remote-tags-or-not later to maint).
|
||||||
|
|
||||||
|
* The description of "--exclude-standard option" in the output of
|
||||||
|
"git grep -h" was phrased poorly.
|
||||||
|
(merge 77fdb8a nd/grep-exclude-standard-help-fix later to maint).
|
||||||
|
|
||||||
|
* "git rebase -i" recently started to include the number of commits
|
||||||
|
in the todo list, but that output included extraneous whitespace on
|
||||||
|
a platform that prepends leading whitespaces to its "wc -l" output.
|
||||||
|
(merge 2185d3b es/rebase-i-count-todo later to maint).
|
||||||
|
|
||||||
|
* The borrowed code in the kwset API did not follow our usual
|
||||||
|
convention to use "unsigned char" to store values that range from
|
||||||
|
0-255.
|
||||||
|
(merge 189c860 bw/kwset-use-unsigned later to maint).
|
||||||
|
|
||||||
|
* A corrupt input to "git diff -M" used to cause it to segfault.
|
||||||
|
(merge 4d6be03 jk/diffcore-rename-duplicate later to maint).
|
||||||
|
|
||||||
|
* Certain builds of GPG triggered false breakages in a test.
|
||||||
|
(merge 3f88c1b mg/verify-commit later to maint).
|
||||||
|
|
||||||
|
* "git imap-send" learned to optionally talk with an IMAP server via
|
||||||
|
libcURL. Because there is no other option when Git is built with
|
||||||
|
the NO_OPENSSL option, use libcURL by default in that case.
|
||||||
|
(merge dcd01ea km/imap-send-libcurl-options later to maint).
|
||||||
|
|
||||||
|
* "git log --decorate" did not reset colors correctly around the
|
||||||
|
branch names.
|
||||||
|
(merge 5ee8758 jc/decorate-leaky-separator-color later to maint).
|
||||||
|
|
||||||
|
* The code that reads from the ctags file in the completion script
|
||||||
|
(in contrib/) did not spell ${param/pattern/string} substitution
|
||||||
|
correctly, which happened to work with bash but not with zsh.
|
||||||
|
(merge db8d750 js/completion-ctags-pattern-substitution-fix later to maint).
|
||||||
|
|
||||||
|
* The transfer.hiderefs support did not quite work for smart-http
|
||||||
|
transport.
|
||||||
|
(merge 8ddf3ca jk/smart-http-hide-refs later to maint).
|
||||||
|
|
||||||
|
* In the "git tag -h" output, move the documentation for the
|
||||||
|
"--column" and "--sort" options to the "Tag listing options"
|
||||||
|
section.
|
||||||
|
(merge dd059c6 jk/tag-h-column-is-a-listing-option later to maint).
|
||||||
|
|
||||||
|
* "git prune" used to largely ignore broken refs when deciding which
|
||||||
|
objects are still being used, which could cause reference
|
||||||
|
corruption to lead to object loss.
|
||||||
|
(merge ea56c4e jk/prune-with-corrupt-refs later to maint).
|
||||||
|
|
||||||
|
* The split-index mode introduced in v2.3.0-rc0~41 was broken in the
|
||||||
|
codepath to protect us against a broken reimplementation of Git
|
||||||
|
that writes an invalid index with duplicated index entries, etc.
|
||||||
|
(merge 03f15a7 tg/fix-check-order-with-split-index later to maint).
|
||||||
|
|
||||||
|
* "git fetch", when fetching a commit using the
|
||||||
|
allow-tip-sha1-in-want extension, could have failed to fetch all of
|
||||||
|
the requested refs.
|
||||||
|
(merge 32d0462 jk/fetch-pack later to maint).
|
||||||
|
|
||||||
|
* An failure early in the "git clone" that started creating the
|
||||||
|
working tree and repository could have resulted in the failure to
|
||||||
|
clean up some directories and files.
|
||||||
|
(merge 16eff6c jk/cleanup-failed-clone later to maint).
|
||||||
|
|
||||||
|
* Recommend format-patch and send-email for those who want to submit
|
||||||
|
patches to this project.
|
||||||
|
(merge b25c469 jc/submitting-patches-mention-send-email later to maint).
|
||||||
|
|
||||||
|
* Do not spawn the pager when "git grep" is run with "--quiet".
|
||||||
|
(merge c2048f0 ws/grep-quiet-no-pager later to maint).
|
||||||
|
|
||||||
|
* The prompt script (in contrib/) did not show the untracked sign
|
||||||
|
when working in a subdirectory without any untracked files.
|
||||||
|
(merge 9bdc517 ct/prompt-untracked-fix later to maint).
|
||||||
|
|
||||||
|
* An earlier update to the URL parser broke an address that contains
|
||||||
|
a colon but an empty string for the port number, like
|
||||||
|
ssh://example.com:/path/to/repo.
|
||||||
|
(merge 6b6c5f7 tb/connect-ipv6-parse-fix later to maint).
|
||||||
|
|
||||||
|
* Code cleanups and documentation updates.
|
||||||
|
(merge 2ce63e9 rs/simple-cleanups later to maint).
|
||||||
|
(merge 33baa69 rj/no-xopen-source-for-cygwin later to maint).
|
||||||
|
(merge 817d03e jc/diff-test-updates later to maint).
|
||||||
|
(merge eb32c66 ak/t5516-typofix later to maint).
|
||||||
|
(merge bcd57cb mr/doc-clean-f-f later to maint).
|
||||||
|
(merge 0d6accc mg/doc-status-color-slot later to maint).
|
||||||
|
(merge 53e53c7 sg/completion-remote later to maint).
|
||||||
|
(merge 8fa7975 ak/git-done-help-cleanup later to maint).
|
||||||
|
(merge 9a6f128 rs/deflate-init-cleanup later to maint).
|
||||||
|
(merge 6f75d45 rs/use-isxdigit later to maint).
|
||||||
|
(merge 376e4b3 jk/test-annoyances later to maint).
|
||||||
|
(merge 7032054 nd/doc-git-index-version later to maint).
|
||||||
|
(merge e869c5e tg/test-index-v4 later to maint).
|
||||||
|
(merge 599d223 jk/simplify-csum-file-sha1fd-check later to maint).
|
||||||
|
(merge 260d585 sg/completion-gitcomp-nl-for-refs later to maint).
|
||||||
|
(merge 777c55a jc/report-path-error-to-dir later to maint).
|
||||||
|
(merge fddfaf8 ph/push-doc-cas later to maint).
|
||||||
|
(merge d50d31e ss/pull-rebase-preserve later to maint).
|
||||||
|
(merge c8c3f1d pt/enter-repo-comment-fix later to maint).
|
||||||
|
(merge d7bfb9e jz/gitweb-conf-doc-fix later to maint).
|
||||||
|
(merge f907282 jk/cherry-pick-docfix later to maint).
|
||||||
|
(merge d3c0811 iu/fix-parse-options-h-comment later to maint).
|
||||||
|
(merge 6c3b2af jg/cguide-we-cannot-count later to maint).
|
||||||
|
(merge 2b8bd44 jk/pack-corruption-post-mortem later to maint).
|
||||||
|
(merge 9585cb8 jn/doc-fast-import-no-16-octopus-limit later to maint).
|
||||||
|
(merge 5dcd1b1 ps/grep-help-all-callback-arg later to maint).
|
||||||
|
(merge f1f4c84 va/fix-git-p4-tests later to maint).
|
@ -57,7 +57,8 @@ change, the approach taken by the change, and if relevant how this
|
|||||||
differs substantially from the prior version, are all good things
|
differs substantially from the prior version, are all good things
|
||||||
to have.
|
to have.
|
||||||
|
|
||||||
Make sure that you have tests for the bug you are fixing.
|
Make sure that you have tests for the bug you are fixing. See
|
||||||
|
t/README for guidance.
|
||||||
|
|
||||||
When adding a new feature, make sure that you have new tests to show
|
When adding a new feature, make sure that you have new tests to show
|
||||||
the feature triggers the new behaviour when it should, and to show the
|
the feature triggers the new behaviour when it should, and to show the
|
||||||
@ -135,6 +136,11 @@ that is fine, but please mark it as such.
|
|||||||
|
|
||||||
(4) Sending your patches.
|
(4) Sending your patches.
|
||||||
|
|
||||||
|
Learn to use format-patch and send-email if possible. These commands
|
||||||
|
are optimized for the workflow of sending patches, avoiding many ways
|
||||||
|
your existing e-mail client that is optimized for "multipart/*" mime
|
||||||
|
type e-mails to corrupt and render your patches unusable.
|
||||||
|
|
||||||
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
|
||||||
@ -175,8 +181,11 @@ message starts, you can put a "From: " line to name that person.
|
|||||||
|
|
||||||
You often want to add additional explanation about the patch,
|
You often want to add additional explanation about the patch,
|
||||||
other than the commit message itself. Place such "cover letter"
|
other than the commit message itself. Place such "cover letter"
|
||||||
material between the three dash lines and the diffstat. Git-notes
|
material between the three-dash line and the diffstat. For
|
||||||
can also be inserted using the `--notes` option.
|
patches requiring multiple iterations of review and discussion,
|
||||||
|
an explanation of changes between each iteration can be kept in
|
||||||
|
Git-notes and inserted automatically following the three-dash
|
||||||
|
line via `git format-patch --notes`.
|
||||||
|
|
||||||
Do not attach the patch as a MIME attachment, compressed or not.
|
Do not attach the patch as a MIME attachment, compressed or not.
|
||||||
Do not let your e-mail client send quoted-printable. Do not let
|
Do not let your e-mail client send quoted-printable. Do not let
|
||||||
@ -254,15 +263,15 @@ pretty simple: if you can certify the below:
|
|||||||
person who certified (a), (b) or (c) and I have not modified
|
person who certified (a), (b) or (c) and I have not modified
|
||||||
it.
|
it.
|
||||||
|
|
||||||
(d) I understand and agree that this project and the contribution
|
(d) I understand and agree that this project and the contribution
|
||||||
are public and that a record of the contribution (including all
|
are public and that a record of the contribution (including all
|
||||||
personal information I submit with it, including my sign-off) is
|
personal information I submit with it, including my sign-off) is
|
||||||
maintained indefinitely and may be redistributed consistent with
|
maintained indefinitely and may be redistributed consistent with
|
||||||
this project or the open source license(s) involved.
|
this project or the open source license(s) involved.
|
||||||
|
|
||||||
then you just add a line saying
|
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.
|
||||||
@ -337,7 +346,7 @@ suggests to the contributors:
|
|||||||
spend their time to improve your patch. Go back to step (2).
|
spend their time to improve your patch. Go back to step (2).
|
||||||
|
|
||||||
(4) The list forms consensus that the last round of your patch is
|
(4) The list forms consensus that the last round of your patch is
|
||||||
good. Send it to the list and cc the maintainer.
|
good. Send it to the maintainer and cc the list.
|
||||||
|
|
||||||
(5) A topic branch is created with the patch and is merged to 'next',
|
(5) A topic branch is created with the patch and is merged to 'next',
|
||||||
and cooked further and eventually graduates to 'master'.
|
and cooked further and eventually graduates to 'master'.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
--root::
|
--root::
|
||||||
Do not treat root commits as boundaries. This can also be
|
Do not treat root commits as boundaries. This can also be
|
||||||
controlled via the `blame.showroot` config option.
|
controlled via the `blame.showRoot` config option.
|
||||||
|
|
||||||
--show-stats::
|
--show-stats::
|
||||||
Include additional statistics at the end of blame output.
|
Include additional statistics at the end of blame output.
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
diff.autorefreshindex::
|
diff.autoRefreshIndex::
|
||||||
When using 'git diff' to compare with work tree
|
When using 'git diff' to compare with work tree
|
||||||
files, do not consider stat-only change as changed.
|
files, do not consider stat-only change as changed.
|
||||||
Instead, silently run `git update-index --refresh` to
|
Instead, silently run `git update-index --refresh` to
|
||||||
@ -75,11 +75,11 @@ diff.ignoreSubmodules::
|
|||||||
commands such as 'git diff-files'. 'git checkout' also honors
|
commands such as 'git diff-files'. 'git checkout' also honors
|
||||||
this setting when reporting uncommitted changes. Setting it to
|
this setting when reporting uncommitted changes. Setting it to
|
||||||
'all' disables the submodule summary normally shown by 'git commit'
|
'all' disables the submodule summary normally shown by 'git commit'
|
||||||
and 'git status' when 'status.submodulesummary' is set unless it is
|
and 'git status' when 'status.submoduleSummary' is set unless it is
|
||||||
overridden by using the --ignore-submodules command line option.
|
overridden by using the --ignore-submodules command-line option.
|
||||||
The 'git submodule' commands are not affected by this setting.
|
The 'git submodule' commands are not affected by this setting.
|
||||||
|
|
||||||
diff.mnemonicprefix::
|
diff.mnemonicPrefix::
|
||||||
If set, 'git diff' uses a prefix pair that is different from the
|
If set, 'git diff' uses a prefix pair that is different from the
|
||||||
standard "a/" and "b/" depending on what is being compared. When
|
standard "a/" and "b/" depending on what is being compared. When
|
||||||
this configuration is in effect, reverse diff output also swaps
|
this configuration is in effect, reverse diff output also swaps
|
||||||
@ -98,7 +98,7 @@ diff.mnemonicprefix::
|
|||||||
diff.noprefix::
|
diff.noprefix::
|
||||||
If set, 'git diff' does not show any source or destination prefix.
|
If set, 'git diff' does not show any source or destination prefix.
|
||||||
|
|
||||||
diff.orderfile::
|
diff.orderFile::
|
||||||
File indicating how to order files within a diff, using
|
File indicating how to order files within a diff, using
|
||||||
one shell glob pattern per line.
|
one shell glob pattern per line.
|
||||||
Can be overridden by the '-O' option to linkgit:git-diff[1].
|
Can be overridden by the '-O' option to linkgit:git-diff[1].
|
||||||
@ -148,7 +148,7 @@ diff.<driver>.textconv::
|
|||||||
conversion is used to generate a human-readable diff. See
|
conversion is used to generate a human-readable diff. See
|
||||||
linkgit:gitattributes[5] for details.
|
linkgit:gitattributes[5] for details.
|
||||||
|
|
||||||
diff.<driver>.wordregex::
|
diff.<driver>.wordRegex::
|
||||||
The regular expression that the diff driver should use to
|
The regular expression that the diff driver should use to
|
||||||
split words in a line. See linkgit:gitattributes[5] for
|
split words in a line. See linkgit:gitattributes[5] for
|
||||||
details.
|
details.
|
||||||
|
@ -66,7 +66,8 @@ be committed)
|
|||||||
|
|
||||||
Status letters C and R are always followed by a score (denoting the
|
Status letters C and R are always followed by a score (denoting the
|
||||||
percentage of similarity between the source and target of the move or
|
percentage of similarity between the source and target of the move or
|
||||||
copy), and are the only ones to be so.
|
copy). Status letter M may be followed by a score (denoting the
|
||||||
|
percentage of dissimilarity) for file rewrites.
|
||||||
|
|
||||||
<sha1> is shown as all 0's if a file is new on the filesystem
|
<sha1> is shown as all 0's if a file is new on the filesystem
|
||||||
and it is out of sync with the index.
|
and it is out of sync with the index.
|
||||||
|
@ -432,8 +432,8 @@ endif::git-format-patch[]
|
|||||||
-O<orderfile>::
|
-O<orderfile>::
|
||||||
Output the patch in the order specified in the
|
Output the patch in the order specified in the
|
||||||
<orderfile>, which has one shell glob pattern per line.
|
<orderfile>, which has one shell glob pattern per line.
|
||||||
This overrides the `diff.orderfile` configuration variable
|
This overrides the `diff.orderFile` configuration variable
|
||||||
(see linkgit:git-config[1]). To cancel `diff.orderfile`,
|
(see linkgit:git-config[1]). To cancel `diff.orderFile`,
|
||||||
use `-O/dev/null`.
|
use `-O/dev/null`.
|
||||||
|
|
||||||
ifndef::git-format-patch[]
|
ifndef::git-format-patch[]
|
||||||
|
9
Documentation/everyday.txto
Normal file
9
Documentation/everyday.txto
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
Everyday Git With 20 Commands Or So
|
||||||
|
===================================
|
||||||
|
|
||||||
|
This document has been moved to linkgit:giteveryday[1].
|
||||||
|
|
||||||
|
Please let the owners of the referring site know so that they can update the
|
||||||
|
link you clicked to get here.
|
||||||
|
|
||||||
|
Thanks.
|
@ -68,10 +68,18 @@ endif::git-pull[]
|
|||||||
By default, tags that point at objects that are downloaded
|
By default, tags that point at objects that are downloaded
|
||||||
from the remote repository are fetched and stored locally.
|
from the remote repository are fetched and stored locally.
|
||||||
This option disables this automatic tag following. The default
|
This option disables this automatic tag following. The default
|
||||||
behavior for a remote may be specified with the remote.<name>.tagopt
|
behavior for a remote may be specified with the remote.<name>.tagOpt
|
||||||
setting. See linkgit:git-config[1].
|
setting. See linkgit:git-config[1].
|
||||||
|
|
||||||
ifndef::git-pull[]
|
ifndef::git-pull[]
|
||||||
|
--refmap=<refspec>::
|
||||||
|
When fetching refs listed on the command line, use the
|
||||||
|
specified refspec (can be given more than once) to map the
|
||||||
|
refs to remote-tracking branches, instead of the values of
|
||||||
|
`remote.*.fetch` configuration variables for the remote
|
||||||
|
repository. See section on "Configured Remote-tracking
|
||||||
|
Branches" for details.
|
||||||
|
|
||||||
-t::
|
-t::
|
||||||
--tags::
|
--tags::
|
||||||
Fetch all tags from the remote (i.e., fetch remote tags
|
Fetch all tags from the remote (i.e., fetch remote tags
|
||||||
|
@ -8,7 +8,7 @@ git-add - Add file contents to the index
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
|
'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
|
||||||
[--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
|
[--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
|
||||||
[--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]
|
[--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]
|
||||||
[--] [<pathspec>...]
|
[--] [<pathspec>...]
|
||||||
@ -173,7 +173,7 @@ for "git add --no-all <pathspec>...", i.e. ignored removed files.
|
|||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
The optional configuration variable `core.excludesfile` indicates a path to a
|
The optional configuration variable `core.excludesFile` indicates a path to a
|
||||||
file containing patterns of file names to exclude from git-add, similar to
|
file containing patterns of file names to exclude from git-add, similar to
|
||||||
$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to
|
$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to
|
||||||
those in info/exclude. See linkgit:gitignore[5].
|
those in info/exclude. See linkgit:gitignore[5].
|
||||||
@ -317,7 +317,7 @@ After deciding the fate for all hunks, if there is any hunk
|
|||||||
that was chosen, the index is updated with the selected hunks.
|
that was chosen, the index is updated with the selected hunks.
|
||||||
+
|
+
|
||||||
You can omit having to type return here, by setting the configuration
|
You can omit having to type return here, by setting the configuration
|
||||||
variable `interactive.singlekey` to `true`.
|
variable `interactive.singleKey` to `true`.
|
||||||
|
|
||||||
diff::
|
diff::
|
||||||
|
|
||||||
|
@ -52,11 +52,23 @@ OPTIONS
|
|||||||
-c::
|
-c::
|
||||||
--scissors::
|
--scissors::
|
||||||
Remove everything in body before a scissors line (see
|
Remove everything in body before a scissors line (see
|
||||||
linkgit:git-mailinfo[1]).
|
linkgit:git-mailinfo[1]). Can be activated by default using
|
||||||
|
the `mailinfo.scissors` configuration variable.
|
||||||
|
|
||||||
--no-scissors::
|
--no-scissors::
|
||||||
Ignore scissors lines (see linkgit:git-mailinfo[1]).
|
Ignore scissors lines (see linkgit:git-mailinfo[1]).
|
||||||
|
|
||||||
|
-m::
|
||||||
|
--message-id::
|
||||||
|
Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]),
|
||||||
|
so that the Message-ID header is added to the commit message.
|
||||||
|
The `am.messageid` configuration variable can be used to specify
|
||||||
|
the default behaviour.
|
||||||
|
|
||||||
|
--no-message-id::
|
||||||
|
Do not add the Message-ID header to the commit message.
|
||||||
|
`no-message-id` is useful to override `am.messageid`.
|
||||||
|
|
||||||
-q::
|
-q::
|
||||||
--quiet::
|
--quiet::
|
||||||
Be quiet. Only print error messages.
|
Be quiet. Only print error messages.
|
||||||
@ -83,7 +95,6 @@ default. You can use `--no-utf8` to override this.
|
|||||||
it is supposed to apply to and we have those blobs
|
it is supposed to apply to and we have those blobs
|
||||||
available locally.
|
available locally.
|
||||||
|
|
||||||
--ignore-date::
|
|
||||||
--ignore-space-change::
|
--ignore-space-change::
|
||||||
--ignore-whitespace::
|
--ignore-whitespace::
|
||||||
--whitespace=<option>::
|
--whitespace=<option>::
|
||||||
|
@ -16,7 +16,7 @@ SYNOPSIS
|
|||||||
[--ignore-space-change | --ignore-whitespace ]
|
[--ignore-space-change | --ignore-whitespace ]
|
||||||
[--whitespace=(nowarn|warn|fix|error|error-all)]
|
[--whitespace=(nowarn|warn|fix|error|error-all)]
|
||||||
[--exclude=<path>] [--include=<path>] [--directory=<root>]
|
[--exclude=<path>] [--include=<path>] [--directory=<root>]
|
||||||
[--verbose] [<patch>...]
|
[--verbose] [--unsafe-paths] [<patch>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -229,10 +229,20 @@ For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui.sh`
|
|||||||
can be applied to the file in the working tree `modules/git-gui/git-gui.sh` by
|
can be applied to the file in the working tree `modules/git-gui/git-gui.sh` by
|
||||||
running `git apply --directory=modules/git-gui`.
|
running `git apply --directory=modules/git-gui`.
|
||||||
|
|
||||||
|
--unsafe-paths::
|
||||||
|
By default, a patch that affects outside the working area
|
||||||
|
(either a Git controlled working tree, or the current working
|
||||||
|
directory when "git apply" is used as a replacement of GNU
|
||||||
|
patch) is rejected as a mistake (or a mischief).
|
||||||
|
+
|
||||||
|
When `git apply` is used as a "better GNU patch", the user can pass
|
||||||
|
the `--unsafe-paths` option to override this safety check. This option
|
||||||
|
has no effect when `--index` or `--cached` is in use.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
apply.ignorewhitespace::
|
apply.ignoreWhitespace::
|
||||||
Set to 'change' if you want changes in whitespace to be ignored by default.
|
Set to 'change' if you want changes in whitespace to be ignored by default.
|
||||||
Set to one of: no, none, never, false if you want changes in
|
Set to one of: no, none, never, false if you want changes in
|
||||||
whitespace to be significant.
|
whitespace to be significant.
|
||||||
|
@ -119,7 +119,7 @@ developed and maintained during years or even tens of years by a lot
|
|||||||
of people. And as there are often many people who depend (sometimes
|
of people. And as there are often many people who depend (sometimes
|
||||||
critically) on such software, regressions are a really big problem.
|
critically) on such software, regressions are a really big problem.
|
||||||
|
|
||||||
One such software is the linux kernel. And if we look at the linux
|
One such software is the Linux kernel. And if we look at the Linux
|
||||||
kernel, we can see that a lot of time and effort is spent to fight
|
kernel, we can see that a lot of time and effort is spent to fight
|
||||||
regressions. The release cycle start with a 2 weeks long merge
|
regressions. The release cycle start with a 2 weeks long merge
|
||||||
window. Then the first release candidate (rc) version is tagged. And
|
window. Then the first release candidate (rc) version is tagged. And
|
||||||
@ -132,7 +132,7 @@ regressions. And this time is more than 80% of the release cycle
|
|||||||
time. But this is not the end of the fight yet, as of course it
|
time. But this is not the end of the fight yet, as of course it
|
||||||
continues after the release.
|
continues after the release.
|
||||||
|
|
||||||
And then this is what Ingo Molnar (a well known linux kernel
|
And then this is what Ingo Molnar (a well known Linux kernel
|
||||||
developer) says about his use of git bisect:
|
developer) says about his use of git bisect:
|
||||||
|
|
||||||
_____________
|
_____________
|
||||||
|
@ -117,7 +117,7 @@ $ git bisect visualize
|
|||||||
`view` may also be used as a synonym for `visualize`.
|
`view` may also be used as a synonym for `visualize`.
|
||||||
|
|
||||||
If the 'DISPLAY' environment variable is not set, 'git log' is used
|
If the 'DISPLAY' environment variable is not set, 'git log' is used
|
||||||
instead. You can also give command line options such as `-p` and
|
instead. You can also give command-line options such as `-p` and
|
||||||
`--stat`.
|
`--stat`.
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
@ -51,7 +51,7 @@ When a local branch is started off a remote-tracking branch, Git sets up the
|
|||||||
branch (specifically the `branch.<name>.remote` and `branch.<name>.merge`
|
branch (specifically the `branch.<name>.remote` and `branch.<name>.merge`
|
||||||
configuration entries) so that 'git pull' will appropriately merge from
|
configuration entries) 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
|
||||||
overridden by using the `--track` and `--no-track` options, and
|
overridden by using the `--track` and `--no-track` options, and
|
||||||
changed later using `git branch --set-upstream-to`.
|
changed later using `git branch --set-upstream-to`.
|
||||||
|
|
||||||
@ -166,14 +166,14 @@ This option is only applicable in non-verbose mode.
|
|||||||
upstream when the new branch is checked out.
|
upstream when the new branch is checked out.
|
||||||
+
|
+
|
||||||
This behavior is the default when the start point is a remote-tracking branch.
|
This behavior is the default when the start point is a remote-tracking branch.
|
||||||
Set the branch.autosetupmerge configuration variable to `false` if you
|
Set the branch.autoSetupMerge configuration variable to `false` if you
|
||||||
want `git checkout` and `git branch` to always behave as if '--no-track'
|
want `git checkout` and `git branch` to always behave as if '--no-track'
|
||||||
were given. Set it to `always` if you want this behavior when the
|
were given. Set it to `always` if you want this behavior when the
|
||||||
start-point is either a local or remote-tracking branch.
|
start-point is either a local or remote-tracking branch.
|
||||||
|
|
||||||
--no-track::
|
--no-track::
|
||||||
Do not set up "upstream" configuration, even if the
|
Do not set up "upstream" configuration, even if the
|
||||||
branch.autosetupmerge configuration variable is true.
|
branch.autoSetupMerge configuration variable is true.
|
||||||
|
|
||||||
--set-upstream::
|
--set-upstream::
|
||||||
If specified branch does not exist yet or if `--force` has been
|
If specified branch does not exist yet or if `--force` has been
|
||||||
|
@ -21,6 +21,9 @@ the exclude mechanism) that decides if the pathname is excluded or
|
|||||||
included. Later patterns within a file take precedence over earlier
|
included. Later patterns within a file take precedence over earlier
|
||||||
ones.
|
ones.
|
||||||
|
|
||||||
|
By default, tracked files are not shown at all since they are not
|
||||||
|
subject to exclude rules; but see `--no-index'.
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
-q, --quiet::
|
-q, --quiet::
|
||||||
@ -69,7 +72,7 @@ matching pattern, <source> is the pattern's source file, and <linenum>
|
|||||||
is the line number of the pattern within that source. If the pattern
|
is the line number of the pattern within that source. If the pattern
|
||||||
contained a `!` prefix or `/` suffix, it will be preserved in the
|
contained a `!` prefix or `/` suffix, it will be preserved in the
|
||||||
output. <source> will be an absolute path when referring to the file
|
output. <source> will be an absolute path when referring to the file
|
||||||
configured by `core.excludesfile`, or relative to the repository root
|
configured by `core.excludesFile`, or relative to the repository root
|
||||||
when referring to `.git/info/exclude` or a per-directory exclude file.
|
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
|
If `-z` is specified, the pathnames in the output are delimited by the
|
||||||
|
@ -144,7 +144,7 @@ explicitly give a name with '-b' in such a case.
|
|||||||
|
|
||||||
--no-track::
|
--no-track::
|
||||||
Do not set up "upstream" configuration, even if the
|
Do not set up "upstream" configuration, even if the
|
||||||
branch.autosetupmerge configuration variable is true.
|
branch.autoSetupMerge configuration variable is true.
|
||||||
|
|
||||||
-l::
|
-l::
|
||||||
Create the new branch's reflog; see linkgit:git-branch[1] for
|
Create the new branch's reflog; see linkgit:git-branch[1] for
|
||||||
@ -210,7 +210,7 @@ the conflicted merge in the specified paths.
|
|||||||
--conflict=<style>::
|
--conflict=<style>::
|
||||||
The same as --merge option above, but changes the way the
|
The same as --merge option above, but changes the way the
|
||||||
conflicting hunks are presented, overriding the
|
conflicting hunks are presented, overriding the
|
||||||
merge.conflictstyle configuration variable. Possible values are
|
merge.conflictStyle configuration variable. Possible values are
|
||||||
"merge" (default) and "diff3" (in addition to what is shown by
|
"merge" (default) and "diff3" (in addition to what is shown by
|
||||||
"merge" style, shows the original contents).
|
"merge" style, shows the original contents).
|
||||||
|
|
||||||
|
@ -131,7 +131,8 @@ effect to your index in a row.
|
|||||||
--keep-redundant-commits::
|
--keep-redundant-commits::
|
||||||
If a commit being cherry picked duplicates a commit already in the
|
If a commit being cherry picked duplicates a commit already in the
|
||||||
current history, it will become empty. By default these
|
current history, it will become empty. By default these
|
||||||
redundant commits are ignored. This option overrides that behavior and
|
redundant commits cause `cherry-pick` to stop so the user can
|
||||||
|
examine the commit. This option overrides that behavior and
|
||||||
creates an empty commit object. Implies `--allow-empty`.
|
creates an empty commit object. Implies `--allow-empty`.
|
||||||
|
|
||||||
--strategy=<strategy>::
|
--strategy=<strategy>::
|
||||||
|
@ -34,8 +34,12 @@ OPTIONS
|
|||||||
-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, -n or
|
to false, 'git clean' will refuse to delete files or directories
|
||||||
-i.
|
unless given -f, -n or -i. Git will refuse to delete directories
|
||||||
|
with .git sub directory or file unless a second -f
|
||||||
|
is given. This affects also git submodules where the storage area
|
||||||
|
of the removed submodule under .git/modules/ is not removed until
|
||||||
|
-f is given twice.
|
||||||
|
|
||||||
-i::
|
-i::
|
||||||
--interactive::
|
--interactive::
|
||||||
@ -98,7 +102,7 @@ clean::
|
|||||||
filter by pattern::
|
filter by pattern::
|
||||||
|
|
||||||
This shows the files and directories to be deleted and issues an
|
This shows the files and directories to be deleted and issues an
|
||||||
"Input ignore patterns>>" prompt. You can input space-seperated
|
"Input ignore patterns>>" prompt. You can input space-separated
|
||||||
patterns to exclude files and directories from deletion.
|
patterns to exclude files and directories from deletion.
|
||||||
E.g. "*.c *.h" will excludes files end with ".c" and ".h" from
|
E.g. "*.c *.h" will excludes files end with ".c" and ".h" from
|
||||||
deletion. When you are satisfied with the filtered result, press
|
deletion. When you are satisfied with the filtered result, press
|
||||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
|||||||
'git clone' [--template=<template_directory>]
|
'git clone' [--template=<template_directory>]
|
||||||
[-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
|
[-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
|
||||||
[-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
|
[-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
|
||||||
[--separate-git-dir <git dir>]
|
[--dissociate] [--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>]
|
||||||
@ -98,7 +98,14 @@ objects from the source repository into a pack in the cloned repository.
|
|||||||
require fewer objects to be copied from the repository
|
require fewer objects to be copied from the repository
|
||||||
being cloned, reducing network and local storage costs.
|
being cloned, reducing network and local storage costs.
|
||||||
+
|
+
|
||||||
*NOTE*: see the NOTE for the `--shared` option.
|
*NOTE*: see the NOTE for the `--shared` option, and also the
|
||||||
|
`--dissociate` option.
|
||||||
|
|
||||||
|
--dissociate::
|
||||||
|
Borrow the objects from reference repositories specified
|
||||||
|
with the `--reference` options only to reduce network
|
||||||
|
transfer and stop borrowing from them after a clone is made
|
||||||
|
by making necessary local copies of borrowed objects.
|
||||||
|
|
||||||
--quiet::
|
--quiet::
|
||||||
-q::
|
-q::
|
||||||
|
@ -59,7 +59,7 @@ OPTIONS
|
|||||||
GPG-sign commit.
|
GPG-sign commit.
|
||||||
|
|
||||||
--no-gpg-sign::
|
--no-gpg-sign::
|
||||||
Countermand `commit.gpgsign` configuration variable that is
|
Countermand `commit.gpgSign` configuration variable that is
|
||||||
set to force each and every commit to be signed.
|
set to force each and every commit to be signed.
|
||||||
|
|
||||||
|
|
||||||
|
@ -250,9 +250,10 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
|
|||||||
|
|
||||||
-o::
|
-o::
|
||||||
--only::
|
--only::
|
||||||
Make a commit only from the paths specified on the
|
Make a commit by taking the updated working tree contents
|
||||||
|
of the paths specified on the
|
||||||
command line, disregarding any contents that have been
|
command line, disregarding any contents that have been
|
||||||
staged so far. This is the default mode of operation of
|
staged for other paths. This is the default mode of operation of
|
||||||
'git commit' if any paths are given on the command line,
|
'git commit' if any paths are given on the command line,
|
||||||
in which case this option can be omitted.
|
in which case this option can be omitted.
|
||||||
If this option is specified together with '--amend', then
|
If this option is specified together with '--amend', then
|
||||||
@ -283,6 +284,10 @@ configuration variable documented in linkgit:git-config[1].
|
|||||||
would be committed at the bottom of the commit message
|
would be committed at the bottom of the commit message
|
||||||
template. Note that this diff output doesn't have its
|
template. Note that this diff output doesn't have its
|
||||||
lines prefixed with '#'.
|
lines prefixed with '#'.
|
||||||
|
+
|
||||||
|
If specified twice, show in addition the unified diff between
|
||||||
|
what would be committed and the worktree files, i.e. the unstaged
|
||||||
|
changes to tracked files.
|
||||||
|
|
||||||
-q::
|
-q::
|
||||||
--quiet::
|
--quiet::
|
||||||
@ -309,7 +314,7 @@ configuration variable documented in linkgit:git-config[1].
|
|||||||
GPG-sign commit.
|
GPG-sign commit.
|
||||||
|
|
||||||
--no-gpg-sign::
|
--no-gpg-sign::
|
||||||
Countermand `commit.gpgsign` configuration variable that is
|
Countermand `commit.gpgSign` configuration variable that is
|
||||||
set to force each and every commit to be signed.
|
set to force each and every commit to be signed.
|
||||||
|
|
||||||
\--::
|
\--::
|
||||||
|
@ -256,7 +256,7 @@ All writing options will per default write to the repository specific
|
|||||||
configuration file. Note that this also affects options like '--replace-all'
|
configuration file. Note that this also affects options like '--replace-all'
|
||||||
and '--unset'. *'git config' will only ever change one file at a time*.
|
and '--unset'. *'git config' will only ever change one file at a time*.
|
||||||
|
|
||||||
You can override these rules either by command line options or by environment
|
You can override these rules either by command-line options or by environment
|
||||||
variables. The '--global' and the '--system' options will limit the file used
|
variables. The '--global' and the '--system' options will limit the file used
|
||||||
to the global or system-wide file respectively. The GIT_CONFIG environment
|
to the global or system-wide file respectively. The GIT_CONFIG environment
|
||||||
variable has a similar effect, but you can specify any filename you want.
|
variable has a similar effect, but you can specify any filename you want.
|
||||||
@ -405,7 +405,7 @@ true
|
|||||||
% git config --bool --get-urlmatch http.sslverify https://weak.example.com
|
% git config --bool --get-urlmatch http.sslverify https://weak.example.com
|
||||||
false
|
false
|
||||||
% git config --get-urlmatch http https://weak.example.com
|
% git config --get-urlmatch http https://weak.example.com
|
||||||
http.cookiefile /tmp/cookie.txt
|
http.cookieFile /tmp/cookie.txt
|
||||||
http.sslverify false
|
http.sslverify false
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ git-credential-cache--daemon - Temporarily store user credentials in memory
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
git credential-cache--daemon <socket>
|
git credential-cache--daemon [--debug] <socket>
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -21,6 +21,10 @@ for `git-credential-cache` clients. Clients may store and retrieve
|
|||||||
credentials. Each credential is held for a timeout specified by the
|
credentials. Each credential is held for a timeout specified by the
|
||||||
client; once no credentials are held, the daemon exits.
|
client; once no credentials are held, the daemon exits.
|
||||||
|
|
||||||
|
If the `--debug` option is specified, the daemon does not close its
|
||||||
|
stderr stream, and may output extra diagnostics to it even after it has
|
||||||
|
begun listening for clients.
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -29,7 +29,7 @@ linkgit:gitcredentials[7] or `EXAMPLES` below.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
|
|
||||||
--store=<path>::
|
--file=<path>::
|
||||||
|
|
||||||
Use `<path>` to store credentials. The file will have its
|
Use `<path>` to store credentials. The file will have its
|
||||||
filesystem permissions set to prevent other users on the system
|
filesystem permissions set to prevent other users on the system
|
||||||
|
@ -219,7 +219,7 @@ Problems related to tags:
|
|||||||
* Multiple tags on the same revision are not imported.
|
* Multiple tags on the same revision are not imported.
|
||||||
|
|
||||||
If you suspect that any of these issues may apply to the repository you
|
If you suspect that any of these issues may apply to the repository you
|
||||||
want to imort, consider using cvs2git:
|
want to import, consider using cvs2git:
|
||||||
|
|
||||||
* cvs2git (part of cvs2svn), `http://subversion.apache.org/`
|
* cvs2git (part of cvs2svn), `http://subversion.apache.org/`
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ to allow writes to, for example:
|
|||||||
authdb = /etc/cvsserver/passwd
|
authdb = /etc/cvsserver/passwd
|
||||||
|
|
||||||
------
|
------
|
||||||
The format of these files is username followed by the crypted password,
|
The format of these files is username followed by the encrypted password,
|
||||||
for example:
|
for example:
|
||||||
|
|
||||||
------
|
------
|
||||||
@ -154,7 +154,7 @@ with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to mean
|
|||||||
[gitcvs]
|
[gitcvs]
|
||||||
enabled=1
|
enabled=1
|
||||||
# optional for debugging
|
# optional for debugging
|
||||||
logfile=/path/to/logfile
|
logFile=/path/to/logfile
|
||||||
|
|
||||||
------
|
------
|
||||||
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
|
||||||
@ -254,14 +254,14 @@ Configuring database backend
|
|||||||
its documentation if changing these variables, especially
|
its documentation if changing these variables, especially
|
||||||
about `DBI->connect()`.
|
about `DBI->connect()`.
|
||||||
|
|
||||||
gitcvs.dbname::
|
gitcvs.dbName::
|
||||||
Database name. The exact meaning depends on the
|
Database name. The exact meaning depends on the
|
||||||
selected database driver, for SQLite this is a filename.
|
selected database driver, for SQLite this is a filename.
|
||||||
Supports variable substitution (see below). May
|
Supports variable substitution (see below). May
|
||||||
not contain semicolons (`;`).
|
not contain semicolons (`;`).
|
||||||
Default: '%Ggitcvs.%m.sqlite'
|
Default: '%Ggitcvs.%m.sqlite'
|
||||||
|
|
||||||
gitcvs.dbdriver::
|
gitcvs.dbDriver::
|
||||||
Used DBI driver. You can specify any available driver
|
Used DBI driver. You can specify any available driver
|
||||||
for this here, but it might not work. cvsserver is tested
|
for this here, but it might not work. cvsserver is tested
|
||||||
with 'DBD::SQLite', reported to work with
|
with 'DBD::SQLite', reported to work with
|
||||||
@ -271,12 +271,12 @@ gitcvs.dbdriver::
|
|||||||
Default: 'SQLite'
|
Default: 'SQLite'
|
||||||
|
|
||||||
gitcvs.dbuser::
|
gitcvs.dbuser::
|
||||||
Database user. Only useful if setting `dbdriver`, since
|
Database user. Only useful if setting `dbDriver`, since
|
||||||
SQLite has no concept of database users. Supports variable
|
SQLite has no concept of database users. Supports variable
|
||||||
substitution (see below).
|
substitution (see below).
|
||||||
|
|
||||||
gitcvs.dbpass::
|
gitcvs.dbPass::
|
||||||
Database password. Only useful if setting `dbdriver`, since
|
Database password. Only useful if setting `dbDriver`, since
|
||||||
SQLite has no concept of database passwords.
|
SQLite has no concept of database passwords.
|
||||||
|
|
||||||
gitcvs.dbTableNamePrefix::
|
gitcvs.dbTableNamePrefix::
|
||||||
@ -288,7 +288,7 @@ All variables can also be set per access method, see <<configaccessmethod,above>
|
|||||||
|
|
||||||
Variable substitution
|
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
|
||||||
@ -413,16 +413,16 @@ about end-of-line conversion.
|
|||||||
|
|
||||||
Alternatively, if `gitcvs.usecrlfattr` config is not enabled
|
Alternatively, if `gitcvs.usecrlfattr` config is not enabled
|
||||||
or the attributes do not allow automatic detection for a filename, then
|
or the attributes do not allow automatic detection for a filename, then
|
||||||
the server uses the `gitcvs.allbinary` config for the default setting.
|
the server uses the `gitcvs.allBinary` config for the default setting.
|
||||||
If `gitcvs.allbinary` is set, then file not otherwise
|
If `gitcvs.allBinary` is set, then file not otherwise
|
||||||
specified will default to '-kb' mode. Otherwise the '-k' mode
|
specified will default to '-kb' mode. Otherwise the '-k' mode
|
||||||
is left blank. But if `gitcvs.allbinary` is set to "guess", then
|
is left blank. But if `gitcvs.allBinary` is set to "guess", then
|
||||||
the correct '-k' mode will be guessed based on the contents of
|
the correct '-k' mode will be guessed based on the contents of
|
||||||
the file.
|
the file.
|
||||||
|
|
||||||
For best consistency with 'cvs', it is probably best to override the
|
For best consistency with 'cvs', it is probably best to override the
|
||||||
defaults by setting `gitcvs.usecrlfattr` to true,
|
defaults by setting `gitcvs.usecrlfattr` to true,
|
||||||
and `gitcvs.allbinary` to "guess".
|
and `gitcvs.allBinary` to "guess".
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
|
@ -169,7 +169,7 @@ Git configuration files in that directory are readable by `<user>`.
|
|||||||
--forbid-override=<service>::
|
--forbid-override=<service>::
|
||||||
Allow/forbid overriding the site-wide default with per
|
Allow/forbid overriding the site-wide default with per
|
||||||
repository configuration. By default, all the services
|
repository configuration. By default, all the services
|
||||||
are overridable.
|
may be overridden.
|
||||||
|
|
||||||
--[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
|
||||||
@ -184,7 +184,7 @@ Git configuration files in that directory are readable by `<user>`.
|
|||||||
Every time a client connects, first run an external command
|
Every time a client connects, first run an external command
|
||||||
specified by the <path> with service name (e.g. "upload-pack"),
|
specified by the <path> with service name (e.g. "upload-pack"),
|
||||||
path to the repository, hostname (%H), canonical hostname
|
path to the repository, hostname (%H), canonical hostname
|
||||||
(%CH), ip address (%IP), and tcp port (%P) as its command line
|
(%CH), IP address (%IP), and TCP port (%P) as its command-line
|
||||||
arguments. The external command can decide to decline the
|
arguments. The external command can decide to decline the
|
||||||
service by exiting with a non-zero status (or to allow it by
|
service by exiting with a non-zero status (or to allow it by
|
||||||
exiting with a zero status). It can also look at the $REMOTE_ADDR
|
exiting with a zero status). It can also look at the $REMOTE_ADDR
|
||||||
@ -204,7 +204,7 @@ SERVICES
|
|||||||
--------
|
--------
|
||||||
|
|
||||||
These services can be globally enabled/disabled using the
|
These services can be globally enabled/disabled using the
|
||||||
command line options of this command. If a finer-grained
|
command-line options of this command. If finer-grained
|
||||||
control is desired (e.g. to allow 'git archive' to be run
|
control is desired (e.g. to allow 'git archive' to be run
|
||||||
against only in a few selected repositories the daemon serves),
|
against only in a few selected repositories the daemon serves),
|
||||||
the per-repository configuration file can be used to enable or
|
the per-repository configuration file can be used to enable or
|
||||||
|
@ -91,6 +91,15 @@ instead. `--no-symlinks` is the default on Windows.
|
|||||||
the default diff tool will be read from the configured
|
the default diff tool will be read from the configured
|
||||||
`diff.guitool` variable instead of `diff.tool`.
|
`diff.guitool` variable instead of `diff.tool`.
|
||||||
|
|
||||||
|
--[no-]trust-exit-code::
|
||||||
|
'git-difftool' invokes a diff tool individually on each file.
|
||||||
|
Errors reported by the diff tool are ignored by default.
|
||||||
|
Use `--trust-exit-code` to make 'git-difftool' exit when an
|
||||||
|
invoked diff tool returns a non-zero exit code.
|
||||||
|
+
|
||||||
|
'git-difftool' will forward the exit code of the invoked tool when
|
||||||
|
'--trust-exit-code' is used.
|
||||||
|
|
||||||
See linkgit:git-diff[1] for the full list of supported options.
|
See linkgit:git-diff[1] for the full list of supported options.
|
||||||
|
|
||||||
CONFIG VARIABLES
|
CONFIG VARIABLES
|
||||||
@ -116,6 +125,11 @@ See the `--tool=<tool>` option above for more details.
|
|||||||
difftool.prompt::
|
difftool.prompt::
|
||||||
Prompt before each invocation of the diff tool.
|
Prompt before each invocation of the diff tool.
|
||||||
|
|
||||||
|
difftool.trustExitCode::
|
||||||
|
Exit difftool if the invoked diff tool returns a non-zero exit status.
|
||||||
|
+
|
||||||
|
See the `--trust-exit-code` option above for more details.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-diff[1]::
|
linkgit:git-diff[1]::
|
||||||
|
@ -105,6 +105,15 @@ marks the same across runs.
|
|||||||
in the commit (as opposed to just listing the files which are
|
in the commit (as opposed to just listing the files which are
|
||||||
different from the commit's first parent).
|
different from the commit's first parent).
|
||||||
|
|
||||||
|
--anonymize::
|
||||||
|
Anonymize the contents of the repository while still retaining
|
||||||
|
the shape of the history and stored tree. See the section on
|
||||||
|
`ANONYMIZING` below.
|
||||||
|
|
||||||
|
--refspec::
|
||||||
|
Apply the specified refspec to each ref exported. Multiple of them can
|
||||||
|
be specified.
|
||||||
|
|
||||||
[<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
|
||||||
@ -137,6 +146,62 @@ referenced by that revision range contains the string
|
|||||||
'refs/heads/master'.
|
'refs/heads/master'.
|
||||||
|
|
||||||
|
|
||||||
|
ANONYMIZING
|
||||||
|
-----------
|
||||||
|
|
||||||
|
If the `--anonymize` option is given, git will attempt to remove all
|
||||||
|
identifying information from the repository while still retaining enough
|
||||||
|
of the original tree and history patterns to reproduce some bugs. The
|
||||||
|
goal is that a git bug which is found on a private repository will
|
||||||
|
persist in the anonymized repository, and the latter can be shared with
|
||||||
|
git developers to help solve the bug.
|
||||||
|
|
||||||
|
With this option, git will replace all refnames, paths, blob contents,
|
||||||
|
commit and tag messages, names, and email addresses in the output with
|
||||||
|
anonymized data. Two instances of the same string will be replaced
|
||||||
|
equivalently (e.g., two commits with the same author will have the same
|
||||||
|
anonymized author in the output, but bear no resemblance to the original
|
||||||
|
author string). The relationship between commits, branches, and tags is
|
||||||
|
retained, as well as the commit timestamps (but the commit messages and
|
||||||
|
refnames bear no resemblance to the originals). The relative makeup of
|
||||||
|
the tree is retained (e.g., if you have a root tree with 10 files and 3
|
||||||
|
trees, so will the output), but their names and the contents of the
|
||||||
|
files will be replaced.
|
||||||
|
|
||||||
|
If you think you have found a git bug, you can start by exporting an
|
||||||
|
anonymized stream of the whole repository:
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
$ git fast-export --anonymize --all >anon-stream
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
Then confirm that the bug persists in a repository created from that
|
||||||
|
stream (many bugs will not, as they really do depend on the exact
|
||||||
|
repository contents):
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
$ git init anon-repo
|
||||||
|
$ cd anon-repo
|
||||||
|
$ git fast-import <../anon-stream
|
||||||
|
$ ... test your bug ...
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
If the anonymized repository shows the bug, it may be worth sharing
|
||||||
|
`anon-stream` along with a regular bug report. Note that the anonymized
|
||||||
|
stream compresses very well, so gzipping it is encouraged. If you want
|
||||||
|
to examine the stream to see that it does not contain any private data,
|
||||||
|
you can peruse it directly before sending. You may also want to try:
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
$ perl -pe 's/\d+/X/g' <anon-stream | sort -u | less
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
which shows all of the unique lines (with numbers converted to "X", to
|
||||||
|
collapse "User 0", "User 1", etc into "User X"). This produces a much
|
||||||
|
smaller output, and it is usually easy to quickly confirm that there is
|
||||||
|
no private data in the stream.
|
||||||
|
|
||||||
|
|
||||||
Limitations
|
Limitations
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
@ -144,6 +209,10 @@ Since 'git fast-import' cannot tag trees, you will not be
|
|||||||
able to export the linux.git repository completely, as it contains
|
able to export the linux.git repository completely, as it contains
|
||||||
a tag referencing a tree instead of a commit.
|
a tag referencing a tree instead of a commit.
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
linkgit:git-fast-import[1]
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -231,7 +231,7 @@ Date Formats
|
|||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
The following date formats are supported. A frontend should select
|
The following date formats are supported. A frontend should select
|
||||||
the format it will use for this import by passing the format name
|
the format it will use for this import by passing the format name
|
||||||
in the \--date-format=<fmt> command line option.
|
in the \--date-format=<fmt> command-line option.
|
||||||
|
|
||||||
`raw`::
|
`raw`::
|
||||||
This is the Git native format and is `<time> SP <offutc>`.
|
This is the Git native format and is `<time> SP <offutc>`.
|
||||||
@ -348,7 +348,7 @@ and control the current import process. More detailed discussion
|
|||||||
`done`::
|
`done`::
|
||||||
Marks the end of the stream. This command is optional
|
Marks the end of the stream. This command is optional
|
||||||
unless the `done` feature was requested using the
|
unless the `done` feature was requested using the
|
||||||
`--done` command line option or `feature done` command.
|
`--done` command-line option or `feature done` command.
|
||||||
|
|
||||||
`cat-blob`::
|
`cat-blob`::
|
||||||
Causes fast-import to print a blob in 'cat-file --batch'
|
Causes fast-import to print a blob in 'cat-file --batch'
|
||||||
@ -437,7 +437,7 @@ the email address from the other fields in the line. Note that
|
|||||||
of bytes, except `LT`, `GT` and `LF`. `<name>` is typically UTF-8 encoded.
|
of bytes, except `LT`, `GT` and `LF`. `<name>` is typically UTF-8 encoded.
|
||||||
|
|
||||||
The time of the change is specified by `<when>` using the date format
|
The time of the change is specified by `<when>` using the date format
|
||||||
that was selected by the \--date-format=<fmt> command line option.
|
that was selected by the \--date-format=<fmt> command-line option.
|
||||||
See ``Date Formats'' above for the set of supported formats, and
|
See ``Date Formats'' above for the set of supported formats, and
|
||||||
their syntax.
|
their syntax.
|
||||||
|
|
||||||
@ -483,6 +483,9 @@ Marks must be declared (via `mark`) before they can be used.
|
|||||||
* Any valid Git SHA-1 expression that resolves to a commit. See
|
* Any valid Git SHA-1 expression that resolves to a commit. See
|
||||||
``SPECIFYING REVISIONS'' in linkgit:gitrevisions[7] for details.
|
``SPECIFYING REVISIONS'' in linkgit:gitrevisions[7] for details.
|
||||||
|
|
||||||
|
* The special null SHA-1 (40 zeros) specifies that the branch is to be
|
||||||
|
removed.
|
||||||
|
|
||||||
The special case of restarting an incremental import from the
|
The special case of restarting an incremental import from the
|
||||||
current branch value should be written as:
|
current branch value should be written as:
|
||||||
----
|
----
|
||||||
@ -504,10 +507,6 @@ omitted when creating a new branch, the first `merge` commit will be
|
|||||||
the first ancestor of the current commit, and the branch will start
|
the first ancestor of the current commit, and the branch will start
|
||||||
out with no files. An unlimited number of `merge` commands per
|
out with no files. An unlimited number of `merge` commands per
|
||||||
commit are permitted by fast-import, thereby establishing an n-way merge.
|
commit are permitted by fast-import, thereby establishing an n-way merge.
|
||||||
However Git's other tools never create commits with more than 15
|
|
||||||
additional ancestors (forming a 16-way merge). For this reason
|
|
||||||
it is suggested that frontends do not use more than 15 `merge`
|
|
||||||
commands per commit; 16, if starting a new, empty branch.
|
|
||||||
|
|
||||||
Here `<commit-ish>` is any of the commit specification expressions
|
Here `<commit-ish>` is any of the commit specification expressions
|
||||||
also accepted by `from` (see above).
|
also accepted by `from` (see above).
|
||||||
@ -1085,7 +1084,7 @@ Option commands must be the first commands on the input (not counting
|
|||||||
feature commands), to give an option command after any non-option
|
feature commands), to give an option command after any non-option
|
||||||
command is an error.
|
command is an error.
|
||||||
|
|
||||||
The following commandline options change import semantics and may therefore
|
The following command-line options change import semantics and may therefore
|
||||||
not be passed as option:
|
not be passed as option:
|
||||||
|
|
||||||
* date-format
|
* date-format
|
||||||
@ -1099,7 +1098,7 @@ not be passed as option:
|
|||||||
If the `done` feature is not in use, treated as if EOF was read.
|
If the `done` feature is not in use, treated as if EOF was read.
|
||||||
This can be used to tell fast-import to finish early.
|
This can be used to tell fast-import to finish early.
|
||||||
|
|
||||||
If the `--done` command line option or `feature done` command is
|
If the `--done` command-line option or `feature done` command is
|
||||||
in use, the `done` command is mandatory and marks the end of the
|
in use, the `done` command is mandatory and marks the end of the
|
||||||
stream.
|
stream.
|
||||||
|
|
||||||
@ -1438,6 +1437,10 @@ operator can use this facility to peek at the objects and refs from an
|
|||||||
import in progress, at the cost of some added running time and worse
|
import in progress, at the cost of some added running time and worse
|
||||||
compression.
|
compression.
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
linkgit:git-fast-export[1]
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -17,22 +17,20 @@ SYNOPSIS
|
|||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
Fetches named heads or tags from one or more other repositories,
|
Fetch branches and/or tags (collectively, "refs") from one or more
|
||||||
along with the objects necessary to complete them.
|
other repositories, along with the objects necessary to complete their
|
||||||
|
histories. Remote-tracking branches are updated (see the description
|
||||||
|
of <refspec> below for ways to control this behavior).
|
||||||
|
|
||||||
The ref names and their object names of fetched refs are stored
|
By default, any tag that points into the histories being fetched is
|
||||||
in `.git/FETCH_HEAD`. This information is left for a later merge
|
also fetched; the effect is to fetch tags that
|
||||||
operation done by 'git merge'.
|
|
||||||
|
|
||||||
By default, tags are auto-followed. This means that when fetching
|
|
||||||
from a remote, any tags on the remote that point to objects that exist
|
|
||||||
in the local repository are fetched. The effect is to fetch tags that
|
|
||||||
point at branches that you are interested in. This default behavior
|
point at branches that you are interested in. This default behavior
|
||||||
can be changed by using the --tags or --no-tags options, by
|
can be changed by using the --tags or --no-tags options or by
|
||||||
configuring remote.<name>.tagopt, or by using a refspec that fetches
|
configuring remote.<name>.tagOpt. By using a refspec that fetches tags
|
||||||
tags explicitly.
|
explicitly, you can fetch tags that do not point into branches you
|
||||||
|
are interested in as well.
|
||||||
|
|
||||||
'git fetch' can fetch from either a single named repository,
|
'git fetch' can fetch from either a single named repository or URL,
|
||||||
or from several repositories at once if <group> is given and
|
or from several repositories at once if <group> is given and
|
||||||
there is a remotes.<group> entry in the configuration file.
|
there is a remotes.<group> entry in the configuration file.
|
||||||
(See linkgit:git-config[1]).
|
(See linkgit:git-config[1]).
|
||||||
@ -40,6 +38,10 @@ there is a remotes.<group> entry in the configuration file.
|
|||||||
When no remote is specified, by default the `origin` remote will be used,
|
When no remote is specified, by default the `origin` remote will be used,
|
||||||
unless there's an upstream branch configured for the current branch.
|
unless there's an upstream branch configured for the current branch.
|
||||||
|
|
||||||
|
The names of refs that are fetched, together with the object names
|
||||||
|
they point at, are written to `.git/FETCH_HEAD`. This information
|
||||||
|
may be used by scripts or other git commands, such as linkgit:git-pull[1].
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
include::fetch-options.txt[]
|
include::fetch-options.txt[]
|
||||||
@ -49,6 +51,55 @@ include::pull-fetch-param.txt[]
|
|||||||
include::urls-remotes.txt[]
|
include::urls-remotes.txt[]
|
||||||
|
|
||||||
|
|
||||||
|
CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
You often interact with the same remote repository by
|
||||||
|
regularly and repeatedly fetching from it. In order to keep track
|
||||||
|
of the progress of such a remote repository, `git fetch` allows you
|
||||||
|
to configure `remote.<repository>.fetch` configuration variables.
|
||||||
|
|
||||||
|
Typically such a variable may look like this:
|
||||||
|
|
||||||
|
------------------------------------------------
|
||||||
|
[remote "origin"]
|
||||||
|
fetch = +refs/heads/*:refs/remotes/origin/*
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
This configuration is used in two ways:
|
||||||
|
|
||||||
|
* When `git fetch` is run without specifying what branches
|
||||||
|
and/or tags to fetch on the command line, e.g. `git fetch origin`
|
||||||
|
or `git fetch`, `remote.<repository>.fetch` values are used as
|
||||||
|
the refspecs---they specify which refs to fetch and which local refs
|
||||||
|
to update. The example above will fetch
|
||||||
|
all branches that exist in the `origin` (i.e. any ref that matches
|
||||||
|
the left-hand side of the value, `refs/heads/*`) and update the
|
||||||
|
corresponding remote-tracking branches in the `refs/remotes/origin/*`
|
||||||
|
hierarchy.
|
||||||
|
|
||||||
|
* When `git fetch` is run with explicit branches and/or tags
|
||||||
|
to fetch on the command line, e.g. `git fetch origin master`, the
|
||||||
|
<refspec>s given on the command line determine what are to be
|
||||||
|
fetched (e.g. `master` in the example,
|
||||||
|
which is a short-hand for `master:`, which in turn means
|
||||||
|
"fetch the 'master' branch but I do not explicitly say what
|
||||||
|
remote-tracking branch to update with it from the command line"),
|
||||||
|
and the example command will
|
||||||
|
fetch _only_ the 'master' branch. The `remote.<repository>.fetch`
|
||||||
|
values determine which
|
||||||
|
remote-tracking branch, if any, is updated. When used in this
|
||||||
|
way, the `remote.<repository>.fetch` values do not have any
|
||||||
|
effect in deciding _what_ gets fetched (i.e. the values are not
|
||||||
|
used as refspecs when the command-line lists refspecs); they are
|
||||||
|
only used to decide _where_ the refs that are fetched are stored
|
||||||
|
by acting as a mapping.
|
||||||
|
|
||||||
|
The latter use of the `remote.<repository>.fetch` values can be
|
||||||
|
overridden by giving the `--refmap=<refspec>` parameter(s) on the
|
||||||
|
command line.
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
|
|
||||||
@ -76,6 +127,19 @@ the local repository by fetching from the branches (respectively)
|
|||||||
The `pu` branch will be updated even if it is does not fast-forward,
|
The `pu` branch will be updated even if it is does not fast-forward,
|
||||||
because it is prefixed with a plus sign; `tmp` will not be.
|
because it is prefixed with a plus sign; `tmp` will not be.
|
||||||
|
|
||||||
|
* Peek at a remote's branch, without configuring the remote in your local
|
||||||
|
repository:
|
||||||
|
+
|
||||||
|
------------------------------------------------
|
||||||
|
$ git fetch git://git.kernel.org/pub/scm/git/git.git maint
|
||||||
|
$ git log FETCH_HEAD
|
||||||
|
------------------------------------------------
|
||||||
|
+
|
||||||
|
The first command fetches the `maint` branch from the repository at
|
||||||
|
`git://git.kernel.org/pub/scm/git/git.git` and the second command uses
|
||||||
|
`FETCH_HEAD` to examine the branch with linkgit:git-log[1]. The fetched
|
||||||
|
objects will eventually be removed by git's built-in housekeeping (see
|
||||||
|
linkgit:git-gc[1]).
|
||||||
|
|
||||||
BUGS
|
BUGS
|
||||||
----
|
----
|
||||||
|
@ -451,8 +451,8 @@ characteristics:
|
|||||||
|
|
||||||
* By default The BFG takes full advantage of multi-core machines,
|
* By default The BFG takes full advantage of multi-core machines,
|
||||||
cleansing commit file-trees in parallel. git-filter-branch cleans
|
cleansing commit file-trees in parallel. git-filter-branch cleans
|
||||||
commits sequentially (ie in a single-threaded manner), though it
|
commits sequentially (i.e. in a single-threaded manner), though it
|
||||||
_is_ possible to write filters that include their own parallellism,
|
_is_ possible to write filters that include their own parallelism,
|
||||||
in the scripts executed against each commit.
|
in the scripts executed against each commit.
|
||||||
|
|
||||||
* The http://rtyley.github.io/bfg-repo-cleaner/#examples[command options]
|
* The http://rtyley.github.io/bfg-repo-cleaner/#examples[command options]
|
||||||
|
@ -14,6 +14,7 @@ SYNOPSIS
|
|||||||
[(--attach|--inline)[=<boundary>] | --no-attach]
|
[(--attach|--inline)[=<boundary>] | --no-attach]
|
||||||
[-s | --signoff]
|
[-s | --signoff]
|
||||||
[--signature=<signature> | --no-signature]
|
[--signature=<signature> | --no-signature]
|
||||||
|
[--signature-file=<file>]
|
||||||
[-n | --numbered | -N | --no-numbered]
|
[-n | --numbered | -N | --no-numbered]
|
||||||
[--start-number <n>] [--numbered-files]
|
[--start-number <n>] [--numbered-files]
|
||||||
[--in-reply-to=Message-Id] [--suffix=.<sfx>]
|
[--in-reply-to=Message-Id] [--suffix=.<sfx>]
|
||||||
@ -233,6 +234,9 @@ configuration options in linkgit:git-notes[1] to use this workflow).
|
|||||||
signature option is omitted the signature defaults to the Git version
|
signature option is omitted the signature defaults to the Git version
|
||||||
number.
|
number.
|
||||||
|
|
||||||
|
--signature-file=<file>::
|
||||||
|
Works just like --signature except the signature is read from a file.
|
||||||
|
|
||||||
--suffix=.<sfx>::
|
--suffix=.<sfx>::
|
||||||
Instead of using `.patch` as the suffix for generated
|
Instead of using `.patch` as the suffix for generated
|
||||||
filenames, use specified suffix. A common alternative is
|
filenames, use specified suffix. A common alternative is
|
||||||
@ -269,13 +273,13 @@ attachments, and sign off patches with configuration variables.
|
|||||||
------------
|
------------
|
||||||
[format]
|
[format]
|
||||||
headers = "Organization: git-foo\n"
|
headers = "Organization: git-foo\n"
|
||||||
subjectprefix = CHANGE
|
subjectPrefix = CHANGE
|
||||||
suffix = .txt
|
suffix = .txt
|
||||||
numbered = auto
|
numbered = auto
|
||||||
to = <email>
|
to = <email>
|
||||||
cc = <email>
|
cc = <email>
|
||||||
attach [ = mime-boundary-string ]
|
attach [ = mime-boundary-string ]
|
||||||
signoff = true
|
signOff = true
|
||||||
coverletter = auto
|
coverletter = auto
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
@ -54,10 +54,10 @@ all loose objects are combined into a single pack using
|
|||||||
`git repack -d -l`. Setting the value of `gc.auto` to 0
|
`git repack -d -l`. Setting the value of `gc.auto` to 0
|
||||||
disables automatic packing of loose objects.
|
disables automatic packing of loose objects.
|
||||||
+
|
+
|
||||||
If the number of packs exceeds the value of `gc.autopacklimit`,
|
If the number of packs exceeds the value of `gc.autoPackLimit`,
|
||||||
then existing packs (except those marked with a `.keep` file)
|
then existing packs (except those marked with a `.keep` file)
|
||||||
are consolidated into a single pack by using the `-A` option of
|
are consolidated into a single pack by using the `-A` option of
|
||||||
'git repack'. Setting `gc.autopacklimit` to 0 disables
|
'git repack'. Setting `gc.autoPackLimit` to 0 disables
|
||||||
automatic consolidation of packs.
|
automatic consolidation of packs.
|
||||||
|
|
||||||
--prune=<date>::
|
--prune=<date>::
|
||||||
@ -101,18 +101,18 @@ branches:
|
|||||||
------------
|
------------
|
||||||
[gc "refs/remotes/*"]
|
[gc "refs/remotes/*"]
|
||||||
reflogExpire = never
|
reflogExpire = never
|
||||||
reflogexpireUnreachable = 3 days
|
reflogExpireUnreachable = 3 days
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The optional configuration variable 'gc.rerereresolved' indicates
|
The optional configuration variable 'gc.rerereResolved' indicates
|
||||||
how long records of conflicted merge you resolved earlier are
|
how long records of conflicted merge you resolved earlier are
|
||||||
kept. This defaults to 60 days.
|
kept. This defaults to 60 days.
|
||||||
|
|
||||||
The optional configuration variable 'gc.rerereunresolved' indicates
|
The optional configuration variable 'gc.rerereUnresolved' indicates
|
||||||
how long records of conflicted merge you have not resolved are
|
how long records of conflicted merge you have not resolved are
|
||||||
kept. This defaults to 15 days.
|
kept. This defaults to 15 days.
|
||||||
|
|
||||||
The optional configuration variable 'gc.packrefs' determines if
|
The optional configuration variable 'gc.packRefs' determines if
|
||||||
'git gc' runs 'git pack-refs'. This can be set to "notbare" to enable
|
'git gc' runs 'git pack-refs'. This can be set to "notbare" to enable
|
||||||
it within all non-bare repos or it can be set to a boolean value.
|
it within all non-bare repos or it can be set to a boolean value.
|
||||||
This defaults to true.
|
This defaults to true.
|
||||||
|
@ -53,6 +53,9 @@ grep.extendedRegexp::
|
|||||||
option is ignored when the 'grep.patternType' option is set to a value
|
option is ignored when the 'grep.patternType' option is set to a value
|
||||||
other than 'default'.
|
other than 'default'.
|
||||||
|
|
||||||
|
grep.fullName::
|
||||||
|
If set to true, enable '--full-name' option by default.
|
||||||
|
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
|
@ -80,9 +80,9 @@ CONFIGURATION VARIABLES
|
|||||||
help.format
|
help.format
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
If no command line option is passed, the 'help.format' configuration
|
If no command-line option is passed, the 'help.format' configuration
|
||||||
variable will be checked. The following values are supported for this
|
variable will be checked. The following values are supported for this
|
||||||
variable; they make 'git help' behave as their corresponding command
|
variable; they make 'git help' behave as their corresponding command-
|
||||||
line option:
|
line option:
|
||||||
|
|
||||||
* "man" corresponds to '-m|--man',
|
* "man" corresponds to '-m|--man',
|
||||||
@ -93,15 +93,15 @@ help.browser, web.browser and browser.<tool>.path
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The 'help.browser', 'web.browser' and 'browser.<tool>.path' will also
|
The 'help.browser', 'web.browser' and 'browser.<tool>.path' will also
|
||||||
be checked if the 'web' format is chosen (either by command line
|
be checked if the 'web' format is chosen (either by command-line
|
||||||
option or configuration variable). See '-w|--web' in the OPTIONS
|
option or configuration variable). See '-w|--web' in the OPTIONS
|
||||||
section above and linkgit:git-web{litdd}browse[1].
|
section above and linkgit:git-web{litdd}browse[1].
|
||||||
|
|
||||||
man.viewer
|
man.viewer
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
The 'man.viewer' config variable will be checked if the 'man' format
|
The 'man.viewer' configuration variable will be checked if the 'man'
|
||||||
is chosen. The following values are currently supported:
|
format is chosen. The following values are currently supported:
|
||||||
|
|
||||||
* "man": use the 'man' program as usual,
|
* "man": use the 'man' program as usual,
|
||||||
* "woman": use 'emacsclient' to launch the "woman" mode in emacs
|
* "woman": use 'emacsclient' to launch the "woman" mode in emacs
|
||||||
@ -124,7 +124,7 @@ For example, this configuration:
|
|||||||
viewer = woman
|
viewer = woman
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
|
|
||||||
will try to use konqueror first. But this may fail (for example if
|
will try to use konqueror first. But this may fail (for example, if
|
||||||
DISPLAY is not set) and in that case emacs' woman mode will be tried.
|
DISPLAY is not set) and in that case emacs' woman mode will be tried.
|
||||||
|
|
||||||
If everything fails, or if no viewer is configured, the viewer specified
|
If everything fails, or if no viewer is configured, the viewer specified
|
||||||
|
@ -9,7 +9,7 @@ git-imap-send - Send a collection of patches from stdin to an IMAP folder
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git imap-send'
|
'git imap-send' [-v] [-q] [--[no-]curl]
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
@ -26,6 +26,28 @@ Typical usage is something like:
|
|||||||
git format-patch --signoff --stdout --attach origin | git imap-send
|
git format-patch --signoff --stdout --attach origin | git imap-send
|
||||||
|
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-------
|
||||||
|
|
||||||
|
-v::
|
||||||
|
--verbose::
|
||||||
|
Be verbose.
|
||||||
|
|
||||||
|
-q::
|
||||||
|
--quiet::
|
||||||
|
Be quiet.
|
||||||
|
|
||||||
|
--curl::
|
||||||
|
Use libcurl to communicate with the IMAP server, unless tunneling
|
||||||
|
into it. Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND
|
||||||
|
option set.
|
||||||
|
|
||||||
|
--no-curl::
|
||||||
|
Talk to the IMAP server using git's own IMAP routines instead of
|
||||||
|
using libcurl. Ignored if Git was built with the NO_OPENSSL option
|
||||||
|
set.
|
||||||
|
|
||||||
|
|
||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
@ -38,18 +60,17 @@ Variables
|
|||||||
imap.folder::
|
imap.folder::
|
||||||
The folder to drop the mails into, which is typically the Drafts
|
The folder to drop the mails into, which is typically the Drafts
|
||||||
folder. For example: "INBOX.Drafts", "INBOX/Drafts" or
|
folder. For example: "INBOX.Drafts", "INBOX/Drafts" or
|
||||||
"[Gmail]/Drafts". Required to use imap-send.
|
"[Gmail]/Drafts". Required.
|
||||||
|
|
||||||
imap.tunnel::
|
imap.tunnel::
|
||||||
Command used to setup a tunnel to the IMAP server through which
|
Command used to setup a tunnel to the IMAP server through which
|
||||||
commands will be piped instead of using a direct network connection
|
commands will be piped instead of using a direct network connection
|
||||||
to the server. Required when imap.host is not set to use imap-send.
|
to the server. Required when imap.host is not set.
|
||||||
|
|
||||||
imap.host::
|
imap.host::
|
||||||
A URL identifying the server. Use a `imap://` prefix for non-secure
|
A URL identifying the server. Use a `imap://` prefix for non-secure
|
||||||
connections and a `imaps://` prefix for secure connections.
|
connections and a `imaps://` prefix for secure connections.
|
||||||
Ignored when imap.tunnel is set, but required to use imap-send
|
Ignored when imap.tunnel is set, but required otherwise.
|
||||||
otherwise.
|
|
||||||
|
|
||||||
imap.user::
|
imap.user::
|
||||||
The username to use when logging in to the server.
|
The username to use when logging in to the server.
|
||||||
@ -76,7 +97,10 @@ imap.preformattedHTML::
|
|||||||
|
|
||||||
imap.authMethod::
|
imap.authMethod::
|
||||||
Specify authenticate method for authentication with IMAP server.
|
Specify authenticate method for authentication with IMAP server.
|
||||||
Current supported method is 'CRAM-MD5' only.
|
If Git was built with the NO_CURL option, or if your curl version is older
|
||||||
|
than 7.34.0, or if you're running git-imap-send with the `--no-curl`
|
||||||
|
option, the only supported method is 'CRAM-MD5'. If this is not set
|
||||||
|
then 'git imap-send' uses the basic IMAP plaintext LOGIN command.
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
@ -97,7 +121,7 @@ Using direct mode:
|
|||||||
host = imap://imap.example.com
|
host = imap://imap.example.com
|
||||||
user = bob
|
user = bob
|
||||||
pass = p4ssw0rd
|
pass = p4ssw0rd
|
||||||
..........................
|
.........................
|
||||||
|
|
||||||
Using direct mode with SSL:
|
Using direct mode with SSL:
|
||||||
|
|
||||||
@ -109,7 +133,7 @@ Using direct mode with SSL:
|
|||||||
pass = p4ssw0rd
|
pass = p4ssw0rd
|
||||||
port = 123
|
port = 123
|
||||||
sslverify = false
|
sslverify = false
|
||||||
..........................
|
.........................
|
||||||
|
|
||||||
|
|
||||||
EXAMPLE
|
EXAMPLE
|
||||||
|
@ -43,7 +43,7 @@ OPTIONS
|
|||||||
-q::
|
-q::
|
||||||
--quiet::
|
--quiet::
|
||||||
|
|
||||||
Only print error and warning messages, all other output will be suppressed.
|
Only print error and warning messages; all other output will be suppressed.
|
||||||
|
|
||||||
--bare::
|
--bare::
|
||||||
|
|
||||||
@ -57,12 +57,12 @@ 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 as a directory to either `$GIT_DIR` or
|
||||||
place a filesytem-agnostic Git symbolic link there, pointing to the
|
`./.git/`, create a text file there containing the path to the actual
|
||||||
specified path, and initialize a Git repository at the path. The
|
repository. This file acts as filesystem-agnostic Git symbolic link to the
|
||||||
result is Git repository can be separated from working tree. If this
|
repository.
|
||||||
is reinitialization, the repository will be moved to the specified
|
+
|
||||||
path.
|
If this is reinitialization, the repository will be moved to the specified path.
|
||||||
|
|
||||||
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]::
|
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]::
|
||||||
|
|
||||||
@ -72,60 +72,65 @@ 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
|
||||||
is given:
|
is given:
|
||||||
|
+
|
||||||
|
--
|
||||||
|
'umask' (or 'false')::
|
||||||
|
|
||||||
- 'umask' (or 'false'): Use permissions reported by umask(2). The default,
|
Use permissions reported by umask(2). The default, when `--shared` is not
|
||||||
when `--shared` is not specified.
|
specified.
|
||||||
|
|
||||||
- 'group' (or 'true'): Make the repository group-writable, (and g+sx, since
|
'group' (or 'true')::
|
||||||
the git group may be not the primary group of all users).
|
|
||||||
This is used to loosen the permissions of an otherwise safe umask(2) value.
|
|
||||||
Note that the umask still applies to the other permission bits (e.g. if
|
|
||||||
umask is '0022', using 'group' will not remove read privileges from other
|
|
||||||
(non-group) users). See '0xxx' for how to exactly specify the repository
|
|
||||||
permissions.
|
|
||||||
|
|
||||||
- 'all' (or 'world' or 'everybody'): Same as 'group', but make the repository
|
Make the repository group-writable, (and g+sx, since the git group may be not
|
||||||
readable by all users.
|
the primary group of all users). This is used to loosen the permissions of an
|
||||||
|
otherwise safe umask(2) value. Note that the umask still applies to the other
|
||||||
|
permission bits (e.g. if umask is '0022', using 'group' will not remove read
|
||||||
|
privileges from other (non-group) users). See '0xxx' for how to exactly specify
|
||||||
|
the repository permissions.
|
||||||
|
|
||||||
- '0xxx': '0xxx' is an octal number and each file will have mode '0xxx'.
|
'all' (or 'world' or 'everybody')::
|
||||||
'0xxx' will override users' umask(2) value (and not only loosen permissions
|
|
||||||
as 'group' and 'all' does). '0640' will create a repository which is
|
|
||||||
group-readable, but not group-writable or accessible to others. '0660' will
|
|
||||||
create a repo that is readable and writable to the current user and group,
|
|
||||||
but inaccessible to others.
|
|
||||||
|
|
||||||
By default, the configuration flag receive.denyNonFastForwards is enabled
|
Same as 'group', but make the repository readable by all users.
|
||||||
|
|
||||||
|
'0xxx'::
|
||||||
|
|
||||||
|
'0xxx' is an octal number and each file will have mode '0xxx'. '0xxx' will
|
||||||
|
override users' umask(2) value (and not only loosen permissions as 'group' and
|
||||||
|
'all' does). '0640' will create a repository which is group-readable, but not
|
||||||
|
group-writable or accessible to others. '0660' will create a repo that is
|
||||||
|
readable and writable to the current user and group, but inaccessible to others.
|
||||||
|
--
|
||||||
|
|
||||||
|
By default, the configuration flag `receive.denyNonFastForwards` is enabled
|
||||||
in shared repositories, so that you cannot force a non fast-forwarding push
|
in shared repositories, so that you cannot force a non fast-forwarding push
|
||||||
into it.
|
into it.
|
||||||
|
|
||||||
If you name a (possibly non-existent) directory at the end of the command
|
If you provide a 'directory', the command is run inside it. If this directory
|
||||||
line, the command is run inside the directory (possibly after creating it).
|
does not exist, it will be created.
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
||||||
|
|
||||||
TEMPLATE DIRECTORY
|
TEMPLATE DIRECTORY
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
The template directory contains files and directories that will be copied to
|
The template directory contains files and directories that will be copied to
|
||||||
the `$GIT_DIR` after it is created.
|
the `$GIT_DIR` after it is created.
|
||||||
|
|
||||||
The template directory used will (in order):
|
The template directory will be one of the following (in order):
|
||||||
|
|
||||||
- The argument given with the `--template` option.
|
- the argument given with the `--template` option;
|
||||||
|
|
||||||
- The contents of the `$GIT_TEMPLATE_DIR` environment variable.
|
- the contents of the `$GIT_TEMPLATE_DIR` environment variable;
|
||||||
|
|
||||||
- The `init.templatedir` configuration variable.
|
- the `init.templateDir` configuration variable; or
|
||||||
|
|
||||||
- The default template directory: `/usr/share/git-core/templates`.
|
- the default template directory: `/usr/share/git-core/templates`.
|
||||||
|
|
||||||
The default template directory includes some directory structure, some
|
The default template directory includes some directory structure, suggested
|
||||||
suggested "exclude patterns", and copies of sample "hook" files.
|
"exclude patterns" (see linkgit:gitignore[5]), and sample hook files (see linkgit:githooks[5]).
|
||||||
The suggested patterns and hook files are all modifiable and extensible.
|
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
@ -136,10 +141,12 @@ Start a new Git repository for an existing code base::
|
|||||||
$ cd /path/to/my/codebase
|
$ cd /path/to/my/codebase
|
||||||
$ git init <1>
|
$ git init <1>
|
||||||
$ git add . <2>
|
$ git add . <2>
|
||||||
|
$ git commit <3>
|
||||||
----------------
|
----------------
|
||||||
+
|
+
|
||||||
<1> prepare /path/to/my/codebase/.git directory
|
<1> Create a /path/to/my/codebase/.git directory.
|
||||||
<2> add all existing file to the index
|
<2> Add all existing files to the index.
|
||||||
|
<3> Record the pristine state as the first commit in the history.
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -76,7 +76,7 @@ You may specify configuration in your .git/config
|
|||||||
httpd = apache2 -f
|
httpd = apache2 -f
|
||||||
port = 4321
|
port = 4321
|
||||||
browser = konqueror
|
browser = konqueror
|
||||||
modulepath = /usr/lib/apache2/modules
|
modulePath = /usr/lib/apache2/modules
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
314
Documentation/git-interpret-trailers.txt
Normal file
314
Documentation/git-interpret-trailers.txt
Normal file
@ -0,0 +1,314 @@
|
|||||||
|
git-interpret-trailers(1)
|
||||||
|
=========================
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
git-interpret-trailers - help add structured information into commit messages
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
--------
|
||||||
|
[verse]
|
||||||
|
'git interpret-trailers' [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
-----------
|
||||||
|
Help adding 'trailers' lines, that look similar to RFC 822 e-mail
|
||||||
|
headers, at the end of the otherwise free-form part of a commit
|
||||||
|
message.
|
||||||
|
|
||||||
|
This command reads some patches or commit messages from either the
|
||||||
|
<file> arguments or the standard input if no <file> is specified. Then
|
||||||
|
this command applies the arguments passed using the `--trailer`
|
||||||
|
option, if any, to the commit message part of each input file. The
|
||||||
|
result is emitted on the standard output.
|
||||||
|
|
||||||
|
Some configuration variables control the way the `--trailer` arguments
|
||||||
|
are applied to each commit message and the way any existing trailer in
|
||||||
|
the commit message is changed. They also make it possible to
|
||||||
|
automatically add some trailers.
|
||||||
|
|
||||||
|
By default, a '<token>=<value>' or '<token>:<value>' argument given
|
||||||
|
using `--trailer` will be appended after the existing trailers only if
|
||||||
|
the last trailer has a different (<token>, <value>) pair (or if there
|
||||||
|
is no existing trailer). The <token> and <value> parts will be trimmed
|
||||||
|
to remove starting and trailing whitespace, and the resulting trimmed
|
||||||
|
<token> and <value> will appear in the message like this:
|
||||||
|
|
||||||
|
------------------------------------------------
|
||||||
|
token: value
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
This means that the trimmed <token> and <value> will be separated by
|
||||||
|
`': '` (one colon followed by one space).
|
||||||
|
|
||||||
|
By default the new trailer will appear at the end of all the existing
|
||||||
|
trailers. If there is no existing trailer, the new trailer will appear
|
||||||
|
after the commit message part of the output, and, if there is no line
|
||||||
|
with only spaces at the end of the commit message part, one blank line
|
||||||
|
will be added before the new trailer.
|
||||||
|
|
||||||
|
Existing trailers are extracted from the input message by looking for
|
||||||
|
a group of one or more lines that contain a colon (by default), where
|
||||||
|
the group is preceded by one or more empty (or whitespace-only) lines.
|
||||||
|
The group must either be at the end of the message or be the last
|
||||||
|
non-whitespace lines before a line that starts with '---'. Such three
|
||||||
|
minus signs start the patch part of the message.
|
||||||
|
|
||||||
|
When reading trailers, there can be whitespaces before and after the
|
||||||
|
token, the separator and the value. There can also be whitespaces
|
||||||
|
inside the token and the value.
|
||||||
|
|
||||||
|
Note that 'trailers' do not follow and are not intended to follow many
|
||||||
|
rules for RFC 822 headers. For example they do not follow the line
|
||||||
|
folding rules, the encoding rules and probably many other rules.
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-------
|
||||||
|
--trim-empty::
|
||||||
|
If the <value> part of any trailer contains only whitespace,
|
||||||
|
the whole trailer will be removed from the resulting message.
|
||||||
|
This apply to existing trailers as well as new trailers.
|
||||||
|
|
||||||
|
--trailer <token>[(=|:)<value>]::
|
||||||
|
Specify a (<token>, <value>) pair that should be applied as a
|
||||||
|
trailer to the input messages. See the description of this
|
||||||
|
command.
|
||||||
|
|
||||||
|
CONFIGURATION VARIABLES
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
trailer.separators::
|
||||||
|
This option tells which characters are recognized as trailer
|
||||||
|
separators. By default only ':' is recognized as a trailer
|
||||||
|
separator, except that '=' is always accepted on the command
|
||||||
|
line for compatibility with other git commands.
|
||||||
|
+
|
||||||
|
The first character given by this option will be the default character
|
||||||
|
used when another separator is not specified in the config for this
|
||||||
|
trailer.
|
||||||
|
+
|
||||||
|
For example, if the value for this option is "%=$", then only lines
|
||||||
|
using the format '<token><sep><value>' with <sep> containing '%', '='
|
||||||
|
or '$' and then spaces will be considered trailers. And '%' will be
|
||||||
|
the default separator used, so by default trailers will appear like:
|
||||||
|
'<token>% <value>' (one percent sign and one space will appear between
|
||||||
|
the token and the value).
|
||||||
|
|
||||||
|
trailer.where::
|
||||||
|
This option tells where a new trailer will be added.
|
||||||
|
+
|
||||||
|
This can be `end`, which is the default, `start`, `after` or `before`.
|
||||||
|
+
|
||||||
|
If it is `end`, then each new trailer will appear at the end of the
|
||||||
|
existing trailers.
|
||||||
|
+
|
||||||
|
If it is `start`, then each new trailer will appear at the start,
|
||||||
|
instead of the end, of the existing trailers.
|
||||||
|
+
|
||||||
|
If it is `after`, then each new trailer will appear just after the
|
||||||
|
last trailer with the same <token>.
|
||||||
|
+
|
||||||
|
If it is `before`, then each new trailer will appear just before the
|
||||||
|
first trailer with the same <token>.
|
||||||
|
|
||||||
|
trailer.ifexists::
|
||||||
|
This option makes it possible to choose what action will be
|
||||||
|
performed when there is already at least one trailer with the
|
||||||
|
same <token> in the message.
|
||||||
|
+
|
||||||
|
The valid values for this option are: `addIfDifferentNeighbor` (this
|
||||||
|
is the default), `addIfDifferent`, `add`, `overwrite` or `doNothing`.
|
||||||
|
+
|
||||||
|
With `addIfDifferentNeighbor`, a new trailer will be added only if no
|
||||||
|
trailer with the same (<token>, <value>) pair is above or below the line
|
||||||
|
where the new trailer will be added.
|
||||||
|
+
|
||||||
|
With `addIfDifferent`, a new trailer will be added only if no trailer
|
||||||
|
with the same (<token>, <value>) pair is already in the message.
|
||||||
|
+
|
||||||
|
With `add`, a new trailer will be added, even if some trailers with
|
||||||
|
the same (<token>, <value>) pair are already in the message.
|
||||||
|
+
|
||||||
|
With `replace`, an existing trailer with the same <token> will be
|
||||||
|
deleted and the new trailer will be added. The deleted trailer will be
|
||||||
|
the closest one (with the same <token>) to the place where the new one
|
||||||
|
will be added.
|
||||||
|
+
|
||||||
|
With `doNothing`, nothing will be done; that is no new trailer will be
|
||||||
|
added if there is already one with the same <token> in the message.
|
||||||
|
|
||||||
|
trailer.ifmissing::
|
||||||
|
This option makes it possible to choose what action will be
|
||||||
|
performed when there is not yet any trailer with the same
|
||||||
|
<token> in the message.
|
||||||
|
+
|
||||||
|
The valid values for this option are: `add` (this is the default) and
|
||||||
|
`doNothing`.
|
||||||
|
+
|
||||||
|
With `add`, a new trailer will be added.
|
||||||
|
+
|
||||||
|
With `doNothing`, nothing will be done.
|
||||||
|
|
||||||
|
trailer.<token>.key::
|
||||||
|
This `key` will be used instead of <token> in the trailer. At
|
||||||
|
the end of this key, a separator can appear and then some
|
||||||
|
space characters. By default the only valid separator is ':',
|
||||||
|
but this can be changed using the `trailer.separators` config
|
||||||
|
variable.
|
||||||
|
+
|
||||||
|
If there is a separator, then the key will be used instead of both the
|
||||||
|
<token> and the default separator when adding the trailer.
|
||||||
|
|
||||||
|
trailer.<token>.where::
|
||||||
|
This option takes the same values as the 'trailer.where'
|
||||||
|
configuration variable and it overrides what is specified by
|
||||||
|
that option for trailers with the specified <token>.
|
||||||
|
|
||||||
|
trailer.<token>.ifexist::
|
||||||
|
This option takes the same values as the 'trailer.ifexist'
|
||||||
|
configuration variable and it overrides what is specified by
|
||||||
|
that option for trailers with the specified <token>.
|
||||||
|
|
||||||
|
trailer.<token>.ifmissing::
|
||||||
|
This option takes the same values as the 'trailer.ifmissing'
|
||||||
|
configuration variable and it overrides what is specified by
|
||||||
|
that option for trailers with the specified <token>.
|
||||||
|
|
||||||
|
trailer.<token>.command::
|
||||||
|
This option can be used to specify a shell command that will
|
||||||
|
be called to automatically add or modify a trailer with the
|
||||||
|
specified <token>.
|
||||||
|
+
|
||||||
|
When this option is specified, the behavior is as if a special
|
||||||
|
'<token>=<value>' argument were added at the beginning of the command
|
||||||
|
line, where <value> is taken to be the standard output of the
|
||||||
|
specified command with any leading and trailing whitespace trimmed
|
||||||
|
off.
|
||||||
|
+
|
||||||
|
If the command contains the `$ARG` string, this string will be
|
||||||
|
replaced with the <value> part of an existing trailer with the same
|
||||||
|
<token>, if any, before the command is launched.
|
||||||
|
+
|
||||||
|
If some '<token>=<value>' arguments are also passed on the command
|
||||||
|
line, when a 'trailer.<token>.command' is configured, the command will
|
||||||
|
also be executed for each of these arguments. And the <value> part of
|
||||||
|
these arguments, if any, will be used to replace the `$ARG` string in
|
||||||
|
the command.
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
--------
|
||||||
|
|
||||||
|
* Configure a 'sign' trailer with a 'Signed-off-by' key, and then
|
||||||
|
add two of these trailers to a message:
|
||||||
|
+
|
||||||
|
------------
|
||||||
|
$ git config trailer.sign.key "Signed-off-by"
|
||||||
|
$ cat msg.txt
|
||||||
|
subject
|
||||||
|
|
||||||
|
message
|
||||||
|
$ cat msg.txt | git interpret-trailers --trailer 'sign: Alice <alice@example.com>' --trailer 'sign: Bob <bob@example.com>'
|
||||||
|
subject
|
||||||
|
|
||||||
|
message
|
||||||
|
|
||||||
|
Signed-off-by: Alice <alice@example.com>
|
||||||
|
Signed-off-by: Bob <bob@example.com>
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Extract the last commit as a patch, and add a 'Cc' and a
|
||||||
|
'Reviewed-by' trailer to it:
|
||||||
|
+
|
||||||
|
------------
|
||||||
|
$ git format-patch -1
|
||||||
|
0001-foo.patch
|
||||||
|
$ git interpret-trailers --trailer 'Cc: Alice <alice@example.com>' --trailer 'Reviewed-by: Bob <bob@example.com>' 0001-foo.patch >0001-bar.patch
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Configure a 'sign' trailer with a command to automatically add a
|
||||||
|
'Signed-off-by: ' with the author information only if there is no
|
||||||
|
'Signed-off-by: ' already, and show how it works:
|
||||||
|
+
|
||||||
|
------------
|
||||||
|
$ git config trailer.sign.key "Signed-off-by: "
|
||||||
|
$ git config trailer.sign.ifmissing add
|
||||||
|
$ git config trailer.sign.ifexists doNothing
|
||||||
|
$ git config trailer.sign.command 'echo "$(git config user.name) <$(git config user.email)>"'
|
||||||
|
$ git interpret-trailers <<EOF
|
||||||
|
> EOF
|
||||||
|
|
||||||
|
Signed-off-by: Bob <bob@example.com>
|
||||||
|
$ git interpret-trailers <<EOF
|
||||||
|
> Signed-off-by: Alice <alice@example.com>
|
||||||
|
> EOF
|
||||||
|
|
||||||
|
Signed-off-by: Alice <alice@example.com>
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Configure a 'fix' trailer with a key that contains a '#' and no
|
||||||
|
space after this character, and show how it works:
|
||||||
|
+
|
||||||
|
------------
|
||||||
|
$ git config trailer.separators ":#"
|
||||||
|
$ git config trailer.fix.key "Fix #"
|
||||||
|
$ echo "subject" | git interpret-trailers --trailer fix=42
|
||||||
|
subject
|
||||||
|
|
||||||
|
Fix #42
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Configure a 'see' trailer with a command to show the subject of a
|
||||||
|
commit that is related, and show how it works:
|
||||||
|
+
|
||||||
|
------------
|
||||||
|
$ git config trailer.see.key "See-also: "
|
||||||
|
$ git config trailer.see.ifExists "replace"
|
||||||
|
$ git config trailer.see.ifMissing "doNothing"
|
||||||
|
$ git config trailer.see.command "git log -1 --oneline --format=\"%h (%s)\" --abbrev-commit --abbrev=14 \$ARG"
|
||||||
|
$ git interpret-trailers <<EOF
|
||||||
|
> subject
|
||||||
|
>
|
||||||
|
> message
|
||||||
|
>
|
||||||
|
> see: HEAD~2
|
||||||
|
> EOF
|
||||||
|
subject
|
||||||
|
|
||||||
|
message
|
||||||
|
|
||||||
|
See-also: fe3187489d69c4 (subject of related commit)
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Configure a commit template with some trailers with empty values
|
||||||
|
(using sed to show and keep the trailing spaces at the end of the
|
||||||
|
trailers), then configure a commit-msg hook that uses
|
||||||
|
'git interpret-trailers' to remove trailers with empty values and
|
||||||
|
to add a 'git-version' trailer:
|
||||||
|
+
|
||||||
|
------------
|
||||||
|
$ sed -e 's/ Z$/ /' >commit_template.txt <<EOF
|
||||||
|
> ***subject***
|
||||||
|
>
|
||||||
|
> ***message***
|
||||||
|
>
|
||||||
|
> Fixes: Z
|
||||||
|
> Cc: Z
|
||||||
|
> Reviewed-by: Z
|
||||||
|
> Signed-off-by: Z
|
||||||
|
> EOF
|
||||||
|
$ git config commit.template commit_template.txt
|
||||||
|
$ cat >.git/hooks/commit-msg <<EOF
|
||||||
|
> #!/bin/sh
|
||||||
|
> git interpret-trailers --trim-empty --trailer "git-version: \$(git describe)" "\$1" > "\$1.new"
|
||||||
|
> mv "\$1.new" "\$1"
|
||||||
|
> EOF
|
||||||
|
$ chmod +x .git/hooks/commit-msg
|
||||||
|
------------
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
linkgit:git-commit[1], linkgit:git-format-patch[1], linkgit:git-config[1]
|
||||||
|
|
||||||
|
GIT
|
||||||
|
---
|
||||||
|
Part of the linkgit:git[1] suite
|
@ -184,7 +184,7 @@ log.date::
|
|||||||
`--date` option.) Defaults to "default", which means to write
|
`--date` option.) Defaults to "default", which means to write
|
||||||
dates like `Sat May 8 19:35:34 2010 -0500`.
|
dates like `Sat May 8 19:35:34 2010 -0500`.
|
||||||
|
|
||||||
log.showroot::
|
log.showRoot::
|
||||||
If `false`, `git log` and related commands will not treat the
|
If `false`, `git log` and related commands will not treat the
|
||||||
initial commit as a big creation event. Any root commits in
|
initial commit as a big creation event. Any root commits in
|
||||||
`git log -p` output would be shown without a diff attached.
|
`git log -p` output would be shown without a diff attached.
|
||||||
|
@ -185,15 +185,15 @@ specifies the format of exclude patterns.
|
|||||||
|
|
||||||
These exclude patterns come from these places, in order:
|
These exclude patterns come from these places, in order:
|
||||||
|
|
||||||
1. The command line flag --exclude=<pattern> specifies a
|
1. The command-line flag --exclude=<pattern> specifies a
|
||||||
single pattern. Patterns are ordered in the same order
|
single pattern. Patterns are ordered in the same order
|
||||||
they appear in the command line.
|
they appear in the command line.
|
||||||
|
|
||||||
2. The command line flag --exclude-from=<file> specifies a
|
2. The command-line flag --exclude-from=<file> specifies a
|
||||||
file containing a list of patterns. Patterns are ordered
|
file containing a list of patterns. Patterns are ordered
|
||||||
in the same order they appear in the file.
|
in the same order they appear in the file.
|
||||||
|
|
||||||
3. The command line flag --exclude-per-directory=<name> specifies
|
3. The command-line flag --exclude-per-directory=<name> specifies
|
||||||
a name of the file in each directory 'git ls-files'
|
a name of the file in each directory 'git ls-files'
|
||||||
examines, normally `.gitignore`. Files in deeper
|
examines, normally `.gitignore`. Files in deeper
|
||||||
directories take precedence. Patterns are ordered in the
|
directories take precedence. Patterns are ordered in the
|
||||||
|
@ -66,6 +66,11 @@ conversion, even with this flag.
|
|||||||
-n::
|
-n::
|
||||||
Disable all charset re-coding of the metadata.
|
Disable all charset re-coding of the metadata.
|
||||||
|
|
||||||
|
-m::
|
||||||
|
--message-id::
|
||||||
|
Copy the Message-ID header at the end of the commit message. This
|
||||||
|
is useful in order to associate commits with mailing list discussions.
|
||||||
|
|
||||||
--scissors::
|
--scissors::
|
||||||
Remove everything in body before a scissors line. A line that
|
Remove everything in body before a scissors line. A line that
|
||||||
mainly consists of scissors (either ">8" or "8<") and perforation
|
mainly consists of scissors (either ">8" or "8<") and perforation
|
||||||
|
@ -101,9 +101,8 @@ commit or stash your changes before running 'git merge'.
|
|||||||
Specifying more than one commit will create a merge with
|
Specifying more than one commit will create a merge with
|
||||||
more than two parents (affectionately called an Octopus merge).
|
more than two parents (affectionately called an Octopus merge).
|
||||||
+
|
+
|
||||||
If no commit is given from the command line, and if `merge.defaultToUpstream`
|
If no commit is given from the command line, merge the remote-tracking
|
||||||
configuration variable is set, merge the remote-tracking branches
|
branches that the current branch is configured to use as its upstream.
|
||||||
that the current branch is configured to use as its upstream.
|
|
||||||
See also the configuration section of this manual page.
|
See also the configuration section of this manual page.
|
||||||
|
|
||||||
|
|
||||||
@ -233,7 +232,7 @@ Barbie's remark on your side. The only thing you can tell is that your
|
|||||||
side wants to say it is hard and you'd prefer to go shopping, while the
|
side wants to say it is hard and you'd prefer to go shopping, while the
|
||||||
other side wants to claim it is easy.
|
other side wants to claim it is easy.
|
||||||
|
|
||||||
An alternative style can be used by setting the "merge.conflictstyle"
|
An alternative style can be used by setting the "merge.conflictStyle"
|
||||||
configuration variable to "diff3". In "diff3" style, the above conflict
|
configuration variable to "diff3". In "diff3" style, the above conflict
|
||||||
may look like this:
|
may look like this:
|
||||||
|
|
||||||
@ -330,7 +329,7 @@ CONFIGURATION
|
|||||||
-------------
|
-------------
|
||||||
include::merge-config.txt[]
|
include::merge-config.txt[]
|
||||||
|
|
||||||
branch.<name>.mergeoptions::
|
branch.<name>.mergeOptions::
|
||||||
Sets default options for merging into branch <name>. The syntax and
|
Sets default options for merging into branch <name>. The syntax and
|
||||||
supported options are the same as those of 'git merge', but option
|
supported options are the same as those of 'git merge', but option
|
||||||
values containing whitespace characters are currently not supported.
|
values containing whitespace characters are currently not supported.
|
||||||
|
@ -71,11 +71,13 @@ success of the resolution after the custom tool has exited.
|
|||||||
--no-prompt::
|
--no-prompt::
|
||||||
Don't prompt before each invocation of the merge resolution
|
Don't prompt before each invocation of the merge resolution
|
||||||
program.
|
program.
|
||||||
|
This is the default if the merge resolution program is
|
||||||
|
explicitly specified with the `--tool` option or with the
|
||||||
|
`merge.tool` configuration variable.
|
||||||
|
|
||||||
--prompt::
|
--prompt::
|
||||||
Prompt before each invocation of the merge resolution program.
|
Prompt before each invocation of the merge resolution program
|
||||||
This is the default behaviour; the option is provided to
|
to give the user a chance to skip the path.
|
||||||
override any configuration settings.
|
|
||||||
|
|
||||||
TEMPORARY FILES
|
TEMPORARY FILES
|
||||||
---------------
|
---------------
|
||||||
|
@ -9,10 +9,10 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git notes' [list [<object>]]
|
'git notes' [list [<object>]]
|
||||||
'git notes' add [-f] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||||
'git notes' copy [-f] ( --stdin | <from-object> <to-object> )
|
'git notes' copy [-f] ( --stdin | <from-object> <to-object> )
|
||||||
'git notes' append [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||||
'git notes' edit [<object>]
|
'git notes' edit [--allow-empty] [<object>]
|
||||||
'git notes' show [<object>]
|
'git notes' show [<object>]
|
||||||
'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>
|
'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>
|
||||||
'git notes' merge --commit [-v | -q]
|
'git notes' merge --commit [-v | -q]
|
||||||
@ -155,6 +155,10 @@ OPTIONS
|
|||||||
Like '-C', but with '-c' the editor is invoked, so that
|
Like '-C', but with '-c' the editor is invoked, so that
|
||||||
the user can further edit the note message.
|
the user can further edit the note message.
|
||||||
|
|
||||||
|
--allow-empty::
|
||||||
|
Allow an empty note object to be stored. The default behavior is
|
||||||
|
to automatically remove empty notes.
|
||||||
|
|
||||||
--ref <ref>::
|
--ref <ref>::
|
||||||
Manipulate the notes tree in <ref>. This overrides
|
Manipulate the notes tree in <ref>. This overrides
|
||||||
'GIT_NOTES_REF' and the "core.notesRef" configuration. The ref
|
'GIT_NOTES_REF' and the "core.notesRef" configuration. The ref
|
||||||
@ -287,7 +291,7 @@ arbitrary files using 'git hash-object':
|
|||||||
------------
|
------------
|
||||||
$ cc *.c
|
$ cc *.c
|
||||||
$ blob=$(git hash-object -w a.out)
|
$ blob=$(git hash-object -w a.out)
|
||||||
$ git notes --ref=built add -C "$blob" HEAD
|
$ git notes --ref=built add --allow-empty -C "$blob" HEAD
|
||||||
------------
|
------------
|
||||||
|
|
||||||
(You cannot simply use `git notes --ref=built add -F a.out HEAD`
|
(You cannot simply use `git notes --ref=built add -F a.out HEAD`
|
||||||
|
@ -241,6 +241,9 @@ Git repository:
|
|||||||
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.
|
||||||
See the "CLIENT SPEC" section below.
|
See the "CLIENT SPEC" section below.
|
||||||
|
|
||||||
|
-/ <path>::
|
||||||
|
Exclude selected depot paths when cloning or syncing.
|
||||||
|
|
||||||
Clone options
|
Clone options
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
These options can be used in an initial 'clone', along with the 'sync'
|
These options can be used in an initial 'clone', along with the 'sync'
|
||||||
@ -254,9 +257,6 @@ options described above.
|
|||||||
--bare::
|
--bare::
|
||||||
Perform a bare clone. See linkgit:git-clone[1].
|
Perform a bare clone. See linkgit:git-clone[1].
|
||||||
|
|
||||||
-/ <path>::
|
|
||||||
Exclude selected depot paths when cloning.
|
|
||||||
|
|
||||||
Submit options
|
Submit options
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
These options can be used to modify 'git p4 submit' behavior.
|
These options can be used to modify 'git p4 submit' behavior.
|
||||||
|
@ -13,7 +13,7 @@ SYNOPSIS
|
|||||||
[--no-reuse-delta] [--delta-base-offset] [--non-empty]
|
[--no-reuse-delta] [--delta-base-offset] [--non-empty]
|
||||||
[--local] [--incremental] [--window=<n>] [--depth=<n>]
|
[--local] [--incremental] [--window=<n>] [--depth=<n>]
|
||||||
[--revs [--unpacked | --all]] [--stdout | base-name]
|
[--revs [--unpacked | --all]] [--stdout | base-name]
|
||||||
[--keep-true-parents] < object-list
|
[--shallow] [--keep-true-parents] < object-list
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
@ -190,6 +190,11 @@ 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.
|
||||||
|
|
||||||
|
--shallow::
|
||||||
|
Optimize a pack that will be provided to a client with a shallow
|
||||||
|
repository. This option, combined with \--thin, can result in a
|
||||||
|
smaller pack at the cost of speed.
|
||||||
|
|
||||||
--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
|
||||||
|
@ -8,14 +8,14 @@ git-patch-id - Compute unique ID for a patch
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git patch-id' < <patch>
|
'git patch-id' [--stable | --unstable] < <patch>
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
A "patch ID" is nothing but a SHA-1 of the diff associated with a patch, with
|
A "patch ID" is nothing but a sum of SHA-1 of the file diffs associated with a
|
||||||
whitespace and line numbers ignored. As such, it's "reasonably stable", but at
|
patch, with whitespace and line numbers ignored. As such, it's "reasonably
|
||||||
the same time also reasonably unique, i.e., two patches that have the same "patch
|
stable", but at the same time also reasonably unique, i.e., two patches that
|
||||||
ID" are almost guaranteed to be the same thing.
|
have the same "patch ID" are almost guaranteed to be the same thing.
|
||||||
|
|
||||||
IOW, you can use this thing to look for likely duplicate commits.
|
IOW, you can use this thing to look for likely duplicate commits.
|
||||||
|
|
||||||
@ -27,6 +27,33 @@ This can be used to make a mapping from patch ID to commit ID.
|
|||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
--stable::
|
||||||
|
Use a "stable" sum of hashes as the patch ID. With this option:
|
||||||
|
- Reordering file diffs that make up a patch does not affect the ID.
|
||||||
|
In particular, two patches produced by comparing the same two trees
|
||||||
|
with two different settings for "-O<orderfile>" result in the same
|
||||||
|
patch ID signature, thereby allowing the computed result to be used
|
||||||
|
as a key to index some meta-information about the change between
|
||||||
|
the two trees;
|
||||||
|
|
||||||
|
- Result is different from the value produced by git 1.9 and older
|
||||||
|
or produced when an "unstable" hash (see --unstable below) is
|
||||||
|
configured - even when used on a diff output taken without any use
|
||||||
|
of "-O<orderfile>", thereby making existing databases storing such
|
||||||
|
"unstable" or historical patch-ids unusable.
|
||||||
|
|
||||||
|
This is the default if patchid.stable is set to true.
|
||||||
|
|
||||||
|
--unstable::
|
||||||
|
Use an "unstable" hash as the patch ID. With this option,
|
||||||
|
the result produced is compatible with the patch-id value produced
|
||||||
|
by git 1.9 and older. Users with pre-existing databases storing
|
||||||
|
patch-ids produced by git 1.9 and older (who do not deal with reordered
|
||||||
|
patches) may want to use this option.
|
||||||
|
|
||||||
|
This is the default.
|
||||||
|
|
||||||
<patch>::
|
<patch>::
|
||||||
The diff to create the ID of.
|
The diff to create the ID of.
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
git-prune-packed(1)
|
git-prune-packed(1)
|
||||||
=====================
|
===================
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
|
@ -111,13 +111,12 @@ include::merge-options.txt[]
|
|||||||
was rebased since last fetched, the rebase uses that information
|
was rebased since last fetched, the rebase uses that information
|
||||||
to avoid rebasing non-local changes.
|
to avoid rebasing non-local changes.
|
||||||
+
|
+
|
||||||
When preserve, also rebase the current branch on top of the upstream
|
When set to preserve, rebase with the `--preserve-merges` option passed
|
||||||
branch, but pass `--preserve-merges` along to `git rebase` so that
|
to `git rebase` so that locally created merge commits will not be flattened.
|
||||||
locally created merge commits will not be flattened.
|
|
||||||
+
|
+
|
||||||
When false, merge the current branch into the upstream branch.
|
When false, merge the current branch into the upstream branch.
|
||||||
+
|
+
|
||||||
See `pull.rebase`, `branch.<name>.rebase` and `branch.autosetuprebase` in
|
See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in
|
||||||
linkgit:git-config[1] if you want to make `git pull` always use
|
linkgit:git-config[1] if you want to make `git pull` always use
|
||||||
`--rebase` instead of merging.
|
`--rebase` instead of merging.
|
||||||
+
|
+
|
||||||
|
@ -9,8 +9,9 @@ git-push - Update remote refs along with associated objects
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git push' [--all | --mirror | --tags] [--follow-tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
|
'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-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] [--signed]
|
||||||
[--force-with-lease[=<refname>[:<expect>]]]
|
[--force-with-lease[=<refname>[:<expect>]]]
|
||||||
[--no-verify] [<repository> [<refspec>...]]
|
[--no-verify] [<repository> [<refspec>...]]
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ When the command line does not specify what to push with `<refspec>...`
|
|||||||
arguments or `--all`, `--mirror`, `--tags` options, the command finds
|
arguments or `--all`, `--mirror`, `--tags` options, the command finds
|
||||||
the default `<refspec>` by consulting `remote.*.push` configuration,
|
the default `<refspec>` by consulting `remote.*.push` configuration,
|
||||||
and if it is not found, honors `push.default` configuration to decide
|
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`).
|
what to push (See linkgit:git-config[1] for the meaning of `push.default`).
|
||||||
|
|
||||||
|
|
||||||
OPTIONS[[OPTIONS]]
|
OPTIONS[[OPTIONS]]
|
||||||
@ -127,7 +128,21 @@ already exists on the remote side.
|
|||||||
Push all the refs that would be pushed without this option,
|
Push all the refs that would be pushed without this option,
|
||||||
and also push annotated tags in `refs/tags` that are missing
|
and also push annotated tags in `refs/tags` that are missing
|
||||||
from the remote but are pointing at commit-ish that are
|
from the remote but are pointing at commit-ish that are
|
||||||
reachable from the refs being pushed.
|
reachable from the refs being pushed. This can also be specified
|
||||||
|
with configuration variable 'push.followTags'. For more
|
||||||
|
information, see 'push.followTags' in linkgit:git-config[1].
|
||||||
|
|
||||||
|
|
||||||
|
--signed::
|
||||||
|
GPG-sign the push request to update refs on the receiving
|
||||||
|
side, to allow it to be checked by the hooks and/or be
|
||||||
|
logged. See linkgit:git-receive-pack[1] for the details
|
||||||
|
on the receiving end.
|
||||||
|
|
||||||
|
--[no-]atomic::
|
||||||
|
Use an atomic transaction on the remote side if available.
|
||||||
|
Either all refs are updated, or on error, no refs are updated.
|
||||||
|
If the server does not support atomic pushes the push will fail.
|
||||||
|
|
||||||
--receive-pack=<git-receive-pack>::
|
--receive-pack=<git-receive-pack>::
|
||||||
--exec=<git-receive-pack>::
|
--exec=<git-receive-pack>::
|
||||||
@ -142,9 +157,8 @@ already exists on the remote side.
|
|||||||
Usually, "git push" refuses to update a remote ref that is
|
Usually, "git push" refuses to update a remote ref that is
|
||||||
not an ancestor of the local ref used to overwrite it.
|
not an ancestor of the local ref used to overwrite it.
|
||||||
+
|
+
|
||||||
This option bypasses the check, but instead requires that the
|
This option overrides this restriction if the current value of the
|
||||||
current value of the ref to be the expected value. "git push"
|
remote ref is the expected value. "git push" fails otherwise.
|
||||||
fails otherwise.
|
|
||||||
+
|
+
|
||||||
Imagine that you have to rebase what you have already published.
|
Imagine that you have to rebase what you have already published.
|
||||||
You will have to bypass the "must fast-forward" rule in order to
|
You will have to bypass the "must fast-forward" rule in order to
|
||||||
@ -156,15 +170,14 @@ commit, and blindly pushing with `--force` will lose her work.
|
|||||||
This option allows you to say that you expect the history you are
|
This option allows you to say that you expect the history you are
|
||||||
updating is what you rebased and want to replace. If the remote ref
|
updating is what you rebased and want to replace. If the remote ref
|
||||||
still points at the commit you specified, you can be sure that no
|
still points at the commit you specified, you can be sure that no
|
||||||
other people did anything to the ref (it is like taking a "lease" on
|
other people did anything to the ref. It is like taking a "lease" on
|
||||||
the ref without explicitly locking it, and you update the ref while
|
the ref without explicitly locking it, and the remote ref is updated
|
||||||
making sure that your earlier "lease" is still valid).
|
only if the "lease" is still valid.
|
||||||
+
|
+
|
||||||
`--force-with-lease` alone, without specifying the details, will protect
|
`--force-with-lease` alone, without specifying the details, will protect
|
||||||
all remote refs that are going to be updated by requiring their
|
all remote refs that are going to be updated by requiring their
|
||||||
current value to be the same as the remote-tracking branch we have
|
current value to be the same as the remote-tracking branch we have
|
||||||
for them, unless specified with a `--force-with-lease=<refname>:<expect>`
|
for them.
|
||||||
option that explicitly states what the expected value is.
|
|
||||||
+
|
+
|
||||||
`--force-with-lease=<refname>`, without specifying the expected value, will
|
`--force-with-lease=<refname>`, without specifying the expected value, will
|
||||||
protect the named ref (alone), if it is going to be updated, by
|
protect the named ref (alone), if it is going to be updated, by
|
||||||
@ -207,22 +220,8 @@ origin +master` to force a push to the `master` branch). See the
|
|||||||
`<refspec>...` section above for details.
|
`<refspec>...` section above for details.
|
||||||
|
|
||||||
--repo=<repository>::
|
--repo=<repository>::
|
||||||
This option is only relevant if no <repository> argument is
|
This option is equivalent to the <repository> argument. If both
|
||||||
passed in the invocation. In this case, 'git push' derives the
|
are specified, the command-line argument takes precedence.
|
||||||
remote name from the current branch: If it tracks a remote
|
|
||||||
branch, then that remote repository is pushed to. Otherwise,
|
|
||||||
the name "origin" is used. For this latter case, this option
|
|
||||||
can be used to override the name "origin". In other words,
|
|
||||||
the difference between these two commands
|
|
||||||
+
|
|
||||||
--------------------------
|
|
||||||
git push public #1
|
|
||||||
git push --repo=public #2
|
|
||||||
--------------------------
|
|
||||||
+
|
|
||||||
is that #1 always pushes to "public" whereas #2 pushes to "public"
|
|
||||||
only if the current branch does not track a remote branch. This is
|
|
||||||
useful if you write an alias or script around 'git push'.
|
|
||||||
|
|
||||||
-u::
|
-u::
|
||||||
--set-upstream::
|
--set-upstream::
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
git-quiltimport(1)
|
git-quiltimport(1)
|
||||||
================
|
==================
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
|
@ -283,7 +283,7 @@ merge. The different stages represent the "result tree" (stage 0, aka
|
|||||||
you are trying to merge (stage 2 and 3 respectively).
|
you are trying to merge (stage 2 and 3 respectively).
|
||||||
|
|
||||||
The order of stages 1, 2 and 3 (hence the order of three
|
The order of stages 1, 2 and 3 (hence the order of three
|
||||||
<tree-ish> command line arguments) are significant when you
|
<tree-ish> command-line arguments) are significant when you
|
||||||
start a 3-way merge with an index file that is already
|
start a 3-way merge with an index file that is already
|
||||||
populated. Here is an outline of how the algorithm works:
|
populated. Here is an outline of how the algorithm works:
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
||||||
[<upstream>] [<branch>]
|
[<upstream> [<branch>]]
|
||||||
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
||||||
--root [<branch>]
|
--root [<branch>]
|
||||||
'git rebase' --continue | --skip | --abort | --edit-todo
|
'git rebase' --continue | --skip | --abort | --edit-todo
|
||||||
@ -21,15 +21,17 @@ If <branch> is specified, 'git rebase' will perform an automatic
|
|||||||
it remains on the current branch.
|
it remains on the current branch.
|
||||||
|
|
||||||
If <upstream> is not specified, the upstream configured in
|
If <upstream> is not specified, the upstream configured in
|
||||||
branch.<name>.remote and branch.<name>.merge options will be used; see
|
branch.<name>.remote and branch.<name>.merge options will be used (see
|
||||||
linkgit:git-config[1] for details. If you are currently not on any
|
linkgit:git-config[1] for details) and the `--fork-point` option is
|
||||||
branch or if the current branch does not have a configured upstream,
|
assumed. If you are currently not on any branch or if the current
|
||||||
the rebase will abort.
|
branch does not have a configured upstream, the rebase will abort.
|
||||||
|
|
||||||
All changes made by commits in the current branch but that are not
|
All changes made by commits in the current branch but that are not
|
||||||
in <upstream> are saved to a temporary area. This is the same set
|
in <upstream> are saved to a temporary area. This is the same set
|
||||||
of commits that would be shown by `git log <upstream>..HEAD` (or
|
of commits that would be shown by `git log <upstream>..HEAD`; or by
|
||||||
`git log HEAD`, if --root is specified).
|
`git log 'fork_point'..HEAD`, if `--fork-point` is active (see the
|
||||||
|
description on `--fork-point` below); or by `git log HEAD`, if the
|
||||||
|
`--root` option is specified.
|
||||||
|
|
||||||
The current branch is reset to <upstream>, or <newbase> if the
|
The current branch is reset to <upstream>, or <newbase> if the
|
||||||
--onto option was supplied. This has the exact same effect as
|
--onto option was supplied. This has the exact same effect as
|
||||||
@ -205,10 +207,10 @@ rebase.stat::
|
|||||||
Whether to show a diffstat of what changed upstream since the last
|
Whether to show a diffstat of what changed upstream since the last
|
||||||
rebase. False by default.
|
rebase. False by default.
|
||||||
|
|
||||||
rebase.autosquash::
|
rebase.autoSquash::
|
||||||
If set to true enable '--autosquash' option by default.
|
If set to true enable '--autosquash' option by default.
|
||||||
|
|
||||||
rebase.autostash::
|
rebase.autoStash::
|
||||||
If set to true enable '--autostash' option by default.
|
If set to true enable '--autostash' option by default.
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
@ -316,11 +318,8 @@ which makes little sense.
|
|||||||
|
|
||||||
-f::
|
-f::
|
||||||
--force-rebase::
|
--force-rebase::
|
||||||
Force the rebase even if the current branch is a descendant
|
Force a rebase even if the current branch is up-to-date and
|
||||||
of the commit you are rebasing onto. Normally non-interactive rebase will
|
the command without `--force` would return without doing anything.
|
||||||
exit with the message "Current branch is up to date" in such a
|
|
||||||
situation.
|
|
||||||
Incompatible with the --interactive option.
|
|
||||||
+
|
+
|
||||||
You may find this (or --no-ff with an interactive rebase) helpful after
|
You may find this (or --no-ff with an interactive rebase) helpful after
|
||||||
reverting a topic branch merge, as this option recreates the topic branch with
|
reverting a topic branch merge, as this option recreates the topic branch with
|
||||||
@ -330,13 +329,18 @@ link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details)
|
|||||||
|
|
||||||
--fork-point::
|
--fork-point::
|
||||||
--no-fork-point::
|
--no-fork-point::
|
||||||
Use 'git merge-base --fork-point' to find a better common ancestor
|
Use reflog to find a better common ancestor between <upstream>
|
||||||
between `upstream` and `branch` when calculating which commits have
|
and <branch> when calculating which commits have been
|
||||||
have been introduced by `branch` (see linkgit:git-merge-base[1]).
|
introduced by <branch>.
|
||||||
+
|
+
|
||||||
If no non-option arguments are given on the command line, then the default is
|
When --fork-point is active, 'fork_point' will be used instead of
|
||||||
`--fork-point @{u}` otherwise the `upstream` argument is interpreted literally
|
<upstream> to calculate the set of commits to rebase, where
|
||||||
unless the `--fork-point` option is specified.
|
'fork_point' is the result of `git merge-base --fork-point <upstream>
|
||||||
|
<branch>` command (see linkgit:git-merge-base[1]). If 'fork_point'
|
||||||
|
ends up being empty, the <upstream> will be used as a fallback.
|
||||||
|
+
|
||||||
|
If either <upstream> or --root is given on the command line, then the
|
||||||
|
default is `--no-fork-point`, otherwise the default is `--fork-point`.
|
||||||
|
|
||||||
--ignore-whitespace::
|
--ignore-whitespace::
|
||||||
--whitespace=<option>::
|
--whitespace=<option>::
|
||||||
@ -358,7 +362,9 @@ unless the `--fork-point` option is specified.
|
|||||||
|
|
||||||
-p::
|
-p::
|
||||||
--preserve-merges::
|
--preserve-merges::
|
||||||
Instead of ignoring merges, try to recreate them.
|
Recreate merge commits instead of flattening the history by replaying
|
||||||
|
commits a merge commit introduces. Merge conflict resolutions or manual
|
||||||
|
amendments to merge commits are not preserved.
|
||||||
+
|
+
|
||||||
This uses the `--interactive` machinery internally, but combining it
|
This uses the `--interactive` machinery internally, but combining it
|
||||||
with the `--interactive` option explicitly is generally not a good
|
with the `--interactive` option explicitly is generally not a good
|
||||||
@ -410,7 +416,7 @@ squash/fixup series.
|
|||||||
This option is only valid when the '--interactive' option is used.
|
This option is only valid when the '--interactive' option is used.
|
||||||
+
|
+
|
||||||
If the '--autosquash' option is enabled by default using the
|
If the '--autosquash' option is enabled by default using the
|
||||||
configuration variable `rebase.autosquash`, this option can be
|
configuration variable `rebase.autoSquash`, this option can be
|
||||||
used to override and disable this setting.
|
used to override and disable this setting.
|
||||||
|
|
||||||
--[no-]autostash::
|
--[no-]autostash::
|
||||||
|
@ -53,6 +53,56 @@ the update. Refs to be created will have sha1-old equal to 0\{40},
|
|||||||
while refs to be deleted will have sha1-new equal to 0\{40}, otherwise
|
while refs to be deleted will have sha1-new equal to 0\{40}, otherwise
|
||||||
sha1-old and sha1-new should be valid objects in the repository.
|
sha1-old and sha1-new should be valid objects in the repository.
|
||||||
|
|
||||||
|
When accepting a signed push (see linkgit:git-push[1]), the signed
|
||||||
|
push certificate is stored in a blob and an environment variable
|
||||||
|
`GIT_PUSH_CERT` can be consulted for its object name. See the
|
||||||
|
description of `post-receive` hook for an example. In addition, the
|
||||||
|
certificate is verified using GPG and the result is exported with
|
||||||
|
the following environment variables:
|
||||||
|
|
||||||
|
`GIT_PUSH_CERT_SIGNER`::
|
||||||
|
The name and the e-mail address of the owner of the key that
|
||||||
|
signed the push certificate.
|
||||||
|
|
||||||
|
`GIT_PUSH_CERT_KEY`::
|
||||||
|
The GPG key ID of the key that signed the push certificate.
|
||||||
|
|
||||||
|
`GIT_PUSH_CERT_STATUS`::
|
||||||
|
The status of GPG verification of the push certificate,
|
||||||
|
using the same mnemonic as used in `%G?` format of `git log`
|
||||||
|
family of commands (see linkgit:git-log[1]).
|
||||||
|
|
||||||
|
`GIT_PUSH_CERT_NONCE`::
|
||||||
|
The nonce string the process asked the signer to include
|
||||||
|
in the push certificate. If this does not match the value
|
||||||
|
recorded on the "nonce" header in the push certificate, it
|
||||||
|
may indicate that the certificate is a valid one that is
|
||||||
|
being replayed from a separate "git push" session.
|
||||||
|
|
||||||
|
`GIT_PUSH_CERT_NONCE_STATUS`::
|
||||||
|
`UNSOLICITED`;;
|
||||||
|
"git push --signed" sent a nonce when we did not ask it to
|
||||||
|
send one.
|
||||||
|
`MISSING`;;
|
||||||
|
"git push --signed" did not send any nonce header.
|
||||||
|
`BAD`;;
|
||||||
|
"git push --signed" sent a bogus nonce.
|
||||||
|
`OK`;;
|
||||||
|
"git push --signed" sent the nonce we asked it to send.
|
||||||
|
`SLOP`;;
|
||||||
|
"git push --signed" sent a nonce different from what we
|
||||||
|
asked it to send now, but in a previous session. See
|
||||||
|
`GIT_PUSH_CERT_NONCE_SLOP` environment variable.
|
||||||
|
|
||||||
|
`GIT_PUSH_CERT_NONCE_SLOP`::
|
||||||
|
"git push --signed" sent a nonce different from what we
|
||||||
|
asked it to send now, but in a different session whose
|
||||||
|
starting time is different by this many seconds from the
|
||||||
|
current session. Only meaningful when
|
||||||
|
`GIT_PUSH_CERT_NONCE_STATUS` says `SLOP`.
|
||||||
|
Also read about `receive.certNonceSlop` variable in
|
||||||
|
linkgit:git-config[1].
|
||||||
|
|
||||||
This hook is called before any refname is updated and before any
|
This hook is called before any refname is updated and before any
|
||||||
fast-forward checks are performed.
|
fast-forward checks are performed.
|
||||||
|
|
||||||
@ -101,9 +151,14 @@ the update. Refs that were created will have sha1-old equal to
|
|||||||
0\{40}, otherwise sha1-old and sha1-new should be valid objects in
|
0\{40}, otherwise sha1-old and sha1-new should be valid objects in
|
||||||
the repository.
|
the repository.
|
||||||
|
|
||||||
|
The `GIT_PUSH_CERT*` environment variables can be inspected, just as
|
||||||
|
in `pre-receive` hook, after accepting a signed push.
|
||||||
|
|
||||||
Using this hook, it is easy to generate mails describing the updates
|
Using this hook, it is easy to generate mails describing the updates
|
||||||
to the repository. This example script sends one mail message per
|
to the repository. This example script sends one mail message per
|
||||||
ref listing the commits pushed to the repository:
|
ref listing the commits pushed to the repository, and logs the push
|
||||||
|
certificates of signed pushes with good signatures to a logger
|
||||||
|
service:
|
||||||
|
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# mail out commit update information.
|
# mail out commit update information.
|
||||||
@ -119,6 +174,14 @@ ref listing the commits pushed to the repository:
|
|||||||
fi |
|
fi |
|
||||||
mail -s "Changes to ref $ref" commit-list@mydomain
|
mail -s "Changes to ref $ref" commit-list@mydomain
|
||||||
done
|
done
|
||||||
|
# log signed push certificate, if any
|
||||||
|
if test -n "${GIT_PUSH_CERT-}" && test ${GIT_PUSH_CERT_STATUS} = G
|
||||||
|
then
|
||||||
|
(
|
||||||
|
echo expected nonce is ${GIT_PUSH_NONCE}
|
||||||
|
git cat-file blob ${GIT_PUSH_CERT}
|
||||||
|
) | mail -s "push certificate from $GIT_PUSH_CERT_SIGNER" push-log@mydomain
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
The exit code from this hook invocation is ignored, however a
|
The exit code from this hook invocation is ignored, however a
|
||||||
|
@ -17,85 +17,113 @@ The command takes various subcommands, and different options
|
|||||||
depending on the subcommand:
|
depending on the subcommand:
|
||||||
|
|
||||||
[verse]
|
[verse]
|
||||||
'git reflog expire' [--dry-run] [--stale-fix] [--verbose]
|
|
||||||
[--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>...
|
|
||||||
'git reflog delete' ref@\{specifier\}...
|
|
||||||
'git reflog' ['show'] [log-options] [<ref>]
|
'git reflog' ['show'] [log-options] [<ref>]
|
||||||
|
'git reflog expire' [--expire=<time>] [--expire-unreachable=<time>]
|
||||||
|
[--rewrite] [--updateref] [--stale-fix]
|
||||||
|
[--dry-run] [--verbose] [--all | <refs>...]
|
||||||
|
'git reflog delete' [--rewrite] [--updateref]
|
||||||
|
[--dry-run] [--verbose] ref@\{specifier\}...
|
||||||
|
|
||||||
Reflog is a mechanism to record when the tip of branches are
|
Reference logs, or "reflogs", record when the tips of branches and
|
||||||
updated. This command is to manage the information recorded in it.
|
other references were updated in the local repository. Reflogs are
|
||||||
|
useful in various Git commands, to specify the old value of a
|
||||||
|
reference. For example, `HEAD@{2}` means "where HEAD used to be two
|
||||||
|
moves ago", `master@{one.week.ago}` means "where master used to point
|
||||||
|
to one week ago in this local repository", and so on. See
|
||||||
|
linkgit:gitrevisions[7] for more details.
|
||||||
|
|
||||||
The subcommand "expire" is used to prune older reflog entries.
|
This command manages the information recorded in the reflogs.
|
||||||
Entries older than `expire` time, or entries older than
|
|
||||||
`expire-unreachable` time and not reachable from the current
|
|
||||||
tip, are removed from the reflog. This is typically not used
|
|
||||||
directly by the end users -- instead, see linkgit:git-gc[1].
|
|
||||||
|
|
||||||
The subcommand "show" (which is also the default, in the absence of any
|
The "show" subcommand (which is also the default, in the absence of
|
||||||
subcommands) will take all the normal log options, and show the log of
|
any subcommands) shows the log of the reference provided in the
|
||||||
the reference provided in the command-line (or `HEAD`, by default).
|
command-line (or `HEAD`, by default). The reflog covers all recent
|
||||||
The reflog will cover all recent actions (HEAD reflog records branch switching
|
actions, and in addition the `HEAD` reflog records branch switching.
|
||||||
as well). It is an alias for `git log -g --abbrev-commit --pretty=oneline`;
|
`git reflog show` is an alias for `git log -g --abbrev-commit
|
||||||
see linkgit:git-log[1].
|
--pretty=oneline`; see linkgit:git-log[1] for more information.
|
||||||
|
|
||||||
The reflog is useful in various Git commands, to specify the old value
|
The "expire" subcommand prunes older reflog entries. Entries older
|
||||||
of a reference. For example, `HEAD@{2}` means "where HEAD used to be
|
than `expire` time, or entries older than `expire-unreachable` time
|
||||||
two moves ago", `master@{one.week.ago}` means "where master used to
|
and not reachable from the current tip, are removed from the reflog.
|
||||||
point to one week ago", and so on. See linkgit:gitrevisions[7] for
|
This is typically not used directly by end users -- instead, see
|
||||||
more details.
|
linkgit:git-gc[1].
|
||||||
|
|
||||||
To delete single entries from the reflog, use the subcommand "delete"
|
The "delete" subcommand deletes single entries from the reflog. Its
|
||||||
and specify the _exact_ entry (e.g. "`git reflog delete master@{2}`").
|
argument must be an _exact_ entry (e.g. "`git reflog delete
|
||||||
|
master@{2}`"). This subcommand is also typically not used directly by
|
||||||
|
end users.
|
||||||
|
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
|
|
||||||
--stale-fix::
|
Options for `show`
|
||||||
This revamps the logic -- the definition of "broken commit"
|
~~~~~~~~~~~~~~~~~~
|
||||||
becomes: a commit that is not reachable from any of the refs and
|
|
||||||
there is a missing object among the commit, tree, or blob
|
|
||||||
objects reachable from it that is not reachable from any of the
|
|
||||||
refs.
|
|
||||||
+
|
|
||||||
This computation involves traversing all the reachable objects, i.e. it
|
|
||||||
has the same cost as 'git prune'. Fortunately, once this is run, we
|
|
||||||
should not have to ever worry about missing objects, because the current
|
|
||||||
prune and pack-objects know about reflogs and protect objects referred by
|
|
||||||
them.
|
|
||||||
|
|
||||||
--expire=<time>::
|
`git reflog show` accepts any of the options accepted by `git log`.
|
||||||
Entries older than this time are pruned. Without the
|
|
||||||
option it is taken from configuration `gc.reflogExpire`,
|
|
||||||
which in turn defaults to 90 days. --expire=all prunes
|
|
||||||
entries regardless of their age; --expire=never turns off
|
|
||||||
pruning of reachable entries (but see --expire-unreachable).
|
|
||||||
|
|
||||||
--expire-unreachable=<time>::
|
|
||||||
Entries older than this time and not reachable from
|
Options for `expire`
|
||||||
the current tip of the branch are pruned. Without the
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
option it is taken from configuration
|
|
||||||
`gc.reflogExpireUnreachable`, which in turn defaults to
|
|
||||||
30 days. --expire-unreachable=all prunes unreachable
|
|
||||||
entries regardless of their age; --expire-unreachable=never
|
|
||||||
turns off early pruning of unreachable entries (but see
|
|
||||||
--expire).
|
|
||||||
|
|
||||||
--all::
|
--all::
|
||||||
Instead of listing <refs> explicitly, prune all refs.
|
Process the reflogs of all references.
|
||||||
|
|
||||||
|
--expire=<time>::
|
||||||
|
Prune entries older than the specified time. If this option is
|
||||||
|
not specified, the expiration time is taken from the
|
||||||
|
configuration setting `gc.reflogExpire`, which in turn
|
||||||
|
defaults to 90 days. `--expire=all` prunes entries regardless
|
||||||
|
of their age; `--expire=never` turns off pruning of reachable
|
||||||
|
entries (but see `--expire-unreachable`).
|
||||||
|
|
||||||
|
--expire-unreachable=<time>::
|
||||||
|
Prune entries older than `<time>` that are not reachable from
|
||||||
|
the current tip of the branch. If this option is not
|
||||||
|
specified, the expiration time is taken from the configuration
|
||||||
|
setting `gc.reflogExpireUnreachable`, which in turn defaults
|
||||||
|
to 30 days. `--expire-unreachable=all` prunes unreachable
|
||||||
|
entries regardless of their age; `--expire-unreachable=never`
|
||||||
|
turns off early pruning of unreachable entries (but see
|
||||||
|
`--expire`).
|
||||||
|
|
||||||
--updateref::
|
--updateref::
|
||||||
Update the ref with the sha1 of the top reflog entry (i.e.
|
Update the reference to the value of the top reflog entry (i.e.
|
||||||
<ref>@\{0\}) after expiring or deleting.
|
<ref>@\{0\}) if the previous top entry was pruned. (This
|
||||||
|
option is ignored for symbolic references.)
|
||||||
|
|
||||||
--rewrite::
|
--rewrite::
|
||||||
While expiring or deleting, adjust each reflog entry to ensure
|
If a reflog entry's predecessor is pruned, adjust its "old"
|
||||||
that the `old` sha1 field points to the `new` sha1 field of the
|
SHA-1 to be equal to the "new" SHA-1 field of the entry that
|
||||||
previous entry.
|
now precedes it.
|
||||||
|
|
||||||
|
--stale-fix::
|
||||||
|
Prune any reflog entries that point to "broken commits". A
|
||||||
|
broken commit is a commit that is not reachable from any of
|
||||||
|
the reference tips and that refers, directly or indirectly, to
|
||||||
|
a missing commit, tree, or blob object.
|
||||||
|
+
|
||||||
|
This computation involves traversing all the reachable objects, i.e. it
|
||||||
|
has the same cost as 'git prune'. It is primarily intended to fix
|
||||||
|
corruption caused by garbage collecting using older versions of Git,
|
||||||
|
which didn't protect objects referred to by reflogs.
|
||||||
|
|
||||||
|
-n::
|
||||||
|
--dry-run::
|
||||||
|
Do not actually prune any entries; just show what would have
|
||||||
|
been pruned.
|
||||||
|
|
||||||
--verbose::
|
--verbose::
|
||||||
Print extra information on screen.
|
Print extra information on screen.
|
||||||
|
|
||||||
|
|
||||||
|
Options for `delete`
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
`git reflog delete` accepts options `--updateref`, `--rewrite`, `-n`,
|
||||||
|
`--dry-run`, and `--verbose`, with the same meanings as when they are
|
||||||
|
used with `expire`.
|
||||||
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -116,6 +116,10 @@ begins with `ext::`. Examples:
|
|||||||
determined by the helper using environment variables (see
|
determined by the helper using environment variables (see
|
||||||
above).
|
above).
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
linkgit:gitremote-helpers[1]
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -50,6 +50,10 @@ EXAMPLES
|
|||||||
`git push fd::7,8/bar master`::
|
`git push fd::7,8/bar master`::
|
||||||
Same as above.
|
Same as above.
|
||||||
|
|
||||||
|
SEE ALSO
|
||||||
|
--------
|
||||||
|
linkgit:gitremote-helpers[1]
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
Part of the linkgit:git[1] suite
|
Part of the linkgit:git[1] suite
|
||||||
|
@ -58,6 +58,9 @@ remote repository.
|
|||||||
With `--no-tags` option, `git fetch <name>` does not import tags from
|
With `--no-tags` option, `git fetch <name>` does not import tags from
|
||||||
the remote repository.
|
the remote repository.
|
||||||
+
|
+
|
||||||
|
By default, only tags on fetched branches are imported
|
||||||
|
(see linkgit:git-fetch[1]).
|
||||||
|
+
|
||||||
With `-t <branch>` option, instead of the default glob
|
With `-t <branch>` option, instead of the default glob
|
||||||
refspec for the remote to track all branches under
|
refspec for the remote to track all branches under
|
||||||
the `refs/remotes/<name>/` namespace, a refspec to track only `<branch>`
|
the `refs/remotes/<name>/` namespace, a refspec to track only `<branch>`
|
||||||
@ -130,17 +133,25 @@ branches, adds to that list.
|
|||||||
|
|
||||||
'set-url'::
|
'set-url'::
|
||||||
|
|
||||||
Changes URL remote points to. Sets first URL remote points to matching
|
Changes URLs for the remote. Sets first URL for remote <name> that matches
|
||||||
regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If
|
regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If
|
||||||
<oldurl> doesn't match any URL, error occurs and nothing is changed.
|
<oldurl> doesn't match any URL, an error occurs and nothing is changed.
|
||||||
+
|
+
|
||||||
With '--push', push URLs are manipulated instead of fetch URLs.
|
With '--push', push URLs are manipulated instead of fetch URLs.
|
||||||
+
|
+
|
||||||
With '--add', instead of changing some URL, new URL is added.
|
With '--add', instead of changing existing URLs, new URL is added.
|
||||||
+
|
+
|
||||||
With '--delete', instead of changing some URL, all URLs matching
|
With '--delete', instead of changing existing URLs, all URLs matching
|
||||||
regex <url> are deleted. Trying to delete all non-push URLs is an
|
regex <url> are deleted for remote <name>. Trying to delete all
|
||||||
error.
|
non-push URLs is an error.
|
||||||
|
+
|
||||||
|
Note that the push URL and the fetch URL, even though they can
|
||||||
|
be set differently, must still refer to the same place. What you
|
||||||
|
pushed to the push URL should be what you would see if you
|
||||||
|
immediately fetched from the fetch URL. If you are trying to
|
||||||
|
fetch from one place (e.g. your upstream) and push to another (e.g.
|
||||||
|
your publishing repository), use two separate remotes.
|
||||||
|
|
||||||
|
|
||||||
'show'::
|
'show'::
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ other objects in that pack they already have locally.
|
|||||||
Write a reachability bitmap index as part of the repack. This
|
Write a reachability bitmap index as part of the repack. This
|
||||||
only makes sense when used with `-a` or `-A`, as the bitmaps
|
only makes sense when used with `-a` or `-A`, as the bitmaps
|
||||||
must be able to refer to all reachable objects. This option
|
must be able to refer to all reachable objects. This option
|
||||||
overrides the setting of `pack.writebitmaps`.
|
overrides the setting of `pack.writeBitmaps`.
|
||||||
|
|
||||||
--pack-kept-objects::
|
--pack-kept-objects::
|
||||||
Include objects in `.keep` files when repacking. Note that we
|
Include objects in `.keep` files when repacking. Note that we
|
||||||
@ -123,7 +123,7 @@ other objects in that pack they already have locally.
|
|||||||
This means that we may duplicate objects, but this makes the
|
This means that we may duplicate objects, but this makes the
|
||||||
option safe to use when there are concurrent pushes or fetches.
|
option safe to use when there are concurrent pushes or fetches.
|
||||||
This option is generally only useful if you are writing bitmaps
|
This option is generally only useful if you are writing bitmaps
|
||||||
with `-b` or `pack.writebitmaps`, as it ensures that the
|
with `-b` or `pack.writeBitmaps`, as it ensures that the
|
||||||
bitmapped packfile has the necessary objects.
|
bitmapped packfile has the necessary objects.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
|
@ -9,6 +9,8 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git replace' [-f] <object> <replacement>
|
'git replace' [-f] <object> <replacement>
|
||||||
|
'git replace' [-f] --edit <object>
|
||||||
|
'git replace' [-f] --graft <commit> [<parent>...]
|
||||||
'git replace' -d <object>...
|
'git replace' -d <object>...
|
||||||
'git replace' [--format=<format>] [-l [<pattern>]]
|
'git replace' [--format=<format>] [-l [<pattern>]]
|
||||||
|
|
||||||
@ -63,6 +65,32 @@ OPTIONS
|
|||||||
--delete::
|
--delete::
|
||||||
Delete existing replace refs for the given objects.
|
Delete existing replace refs for the given objects.
|
||||||
|
|
||||||
|
--edit <object>::
|
||||||
|
Edit an object's content interactively. The existing content
|
||||||
|
for <object> is pretty-printed into a temporary file, an
|
||||||
|
editor is launched on the file, and the result is parsed to
|
||||||
|
create a new object of the same type as <object>. A
|
||||||
|
replacement ref is then created to replace <object> with the
|
||||||
|
newly created object. See linkgit:git-var[1] for details about
|
||||||
|
how the editor will be chosen.
|
||||||
|
|
||||||
|
--raw::
|
||||||
|
When editing, provide the raw object contents rather than
|
||||||
|
pretty-printed ones. Currently this only affects trees, which
|
||||||
|
will be shown in their binary form. This is harder to work with,
|
||||||
|
but can help when repairing a tree that is so corrupted it
|
||||||
|
cannot be pretty-printed. Note that you may need to configure
|
||||||
|
your editor to cleanly read and write binary data.
|
||||||
|
|
||||||
|
--graft <commit> [<parent>...]::
|
||||||
|
Create a graft commit. A new commit is created with the same
|
||||||
|
content as <commit> except that its parents will be
|
||||||
|
[<parent>...] instead of <commit>'s parents. A replacement ref
|
||||||
|
is then created to replace <commit> with the newly created
|
||||||
|
commit. See contrib/convert-grafts-to-replace-refs.sh for an
|
||||||
|
example script based on this option that can convert grafts to
|
||||||
|
replace refs.
|
||||||
|
|
||||||
-l <pattern>::
|
-l <pattern>::
|
||||||
--list <pattern>::
|
--list <pattern>::
|
||||||
List replace refs for objects that match the given pattern (or
|
List replace refs for objects that match the given pattern (or
|
||||||
@ -92,7 +120,9 @@ CREATING REPLACEMENT OBJECTS
|
|||||||
|
|
||||||
linkgit:git-filter-branch[1], linkgit:git-hash-object[1] and
|
linkgit:git-filter-branch[1], linkgit:git-hash-object[1] and
|
||||||
linkgit:git-rebase[1], among other git commands, can be used to create
|
linkgit:git-rebase[1], among other git commands, can be used to create
|
||||||
replacement objects from existing objects.
|
replacement objects from existing objects. The `--edit` option can
|
||||||
|
also be used with 'git replace' to create a replacement object by
|
||||||
|
editing an existing object.
|
||||||
|
|
||||||
If you want to replace many blobs, trees or commits that are part of a
|
If you want to replace many blobs, trees or commits that are part of a
|
||||||
string of commits, you may just want to create a replacement string of
|
string of commits, you may just want to create a replacement string of
|
||||||
@ -117,6 +147,8 @@ linkgit:git-filter-branch[1]
|
|||||||
linkgit:git-rebase[1]
|
linkgit:git-rebase[1]
|
||||||
linkgit:git-tag[1]
|
linkgit:git-tag[1]
|
||||||
linkgit:git-branch[1]
|
linkgit:git-branch[1]
|
||||||
|
linkgit:git-commit[1]
|
||||||
|
linkgit:git-var[1]
|
||||||
linkgit:git[1]
|
linkgit:git[1]
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
|
@ -69,7 +69,7 @@ Prune records of conflicted merges that
|
|||||||
occurred a long time ago. By default, unresolved conflicts older
|
occurred a long time ago. By default, unresolved conflicts older
|
||||||
than 15 days and resolved conflicts older than 60
|
than 15 days and resolved conflicts older than 60
|
||||||
days are pruned. These defaults are controlled via the
|
days are pruned. These defaults are controlled via the
|
||||||
`gc.rerereunresolved` and `gc.rerereresolved` configuration
|
`gc.rerereUnresolved` and `gc.rerereResolved` configuration
|
||||||
variables respectively.
|
variables respectively.
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,8 +45,9 @@ SYNOPSIS
|
|||||||
[ \--regexp-ignore-case | -i ]
|
[ \--regexp-ignore-case | -i ]
|
||||||
[ \--extended-regexp | -E ]
|
[ \--extended-regexp | -E ]
|
||||||
[ \--fixed-strings | -F ]
|
[ \--fixed-strings | -F ]
|
||||||
[ \--date=(local|relative|default|iso|rfc|short) ]
|
[ \--date=(local|relative|default|iso|iso-strict|rfc|short) ]
|
||||||
[ [\--objects | \--objects-edge] [ \--unpacked ] ]
|
[ [ \--objects | \--objects-edge | \--objects-edge-aggressive ]
|
||||||
|
[ \--unpacked ] ]
|
||||||
[ \--pretty | \--header ]
|
[ \--pretty | \--header ]
|
||||||
[ \--bisect ]
|
[ \--bisect ]
|
||||||
[ \--bisect-vars ]
|
[ \--bisect-vars ]
|
||||||
|
@ -114,6 +114,7 @@ can be used.
|
|||||||
Only meaningful in `--verify` mode. Do not output an error
|
Only meaningful in `--verify` mode. Do not output an error
|
||||||
message if the first argument is not a valid object name;
|
message if the first argument is not a valid object name;
|
||||||
instead exit with non-zero status silently.
|
instead exit with non-zero status silently.
|
||||||
|
SHA-1s for valid object names are printed to stdout on success.
|
||||||
|
|
||||||
--sq::
|
--sq::
|
||||||
Usually the output is made one line per flag and
|
Usually the output is made one line per flag and
|
||||||
@ -183,7 +184,7 @@ shown. If the pattern does not contain a globbing character (`?`,
|
|||||||
consider. Repetitions of this option accumulate exclusion patterns
|
consider. Repetitions of this option accumulate exclusion patterns
|
||||||
up to the next `--all`, `--branches`, `--tags`, `--remotes`, or
|
up to the next `--all`, `--branches`, `--tags`, `--remotes`, or
|
||||||
`--glob` option (other options or arguments do not clear
|
`--glob` option (other options or arguments do not clear
|
||||||
accumlated patterns).
|
accumulated patterns).
|
||||||
+
|
+
|
||||||
The patterns given should not begin with `refs/heads`, `refs/tags`, or
|
The patterns given should not begin with `refs/heads`, `refs/tags`, or
|
||||||
`refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`,
|
`refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`,
|
||||||
@ -245,6 +246,10 @@ print a message to stderr and exit with nonzero status.
|
|||||||
--show-toplevel::
|
--show-toplevel::
|
||||||
Show the absolute path of the top-level directory.
|
Show the absolute path of the top-level directory.
|
||||||
|
|
||||||
|
--shared-index-path::
|
||||||
|
Show the path to the shared index file in split index mode, or
|
||||||
|
empty if not in split-index mode.
|
||||||
|
|
||||||
Other Options
|
Other Options
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ files in the directory), or directly as a revision list. In the
|
|||||||
last case, any format accepted by linkgit:git-format-patch[1] can
|
last case, any format accepted by linkgit:git-format-patch[1] can
|
||||||
be passed to git send-email.
|
be passed to git send-email.
|
||||||
|
|
||||||
The header of the email is configurable by command line options. If not
|
The header of the email is configurable via command-line options. If not
|
||||||
specified on the command line, the user will be prompted with a ReadLine
|
specified on the command line, the user will be prompted with a ReadLine
|
||||||
enabled interface to provide the necessary information.
|
enabled interface to provide the necessary information.
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ Composing
|
|||||||
--annotate::
|
--annotate::
|
||||||
Review and edit each patch you're about to send. Default is the value
|
Review and edit each patch you're about to send. Default is the value
|
||||||
of 'sendemail.annotate'. See the CONFIGURATION section for
|
of 'sendemail.annotate'. See the CONFIGURATION section for
|
||||||
'sendemail.multiedit'.
|
'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
|
||||||
@ -68,17 +68,17 @@ 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.
|
||||||
+
|
+
|
||||||
See the CONFIGURATION section for 'sendemail.multiedit'.
|
See the CONFIGURATION section for 'sendemail.multiEdit'.
|
||||||
|
|
||||||
--from=<address>::
|
--from=<address>::
|
||||||
Specify the sender of the emails. If not specified on the command line,
|
Specify the sender of the emails. If not specified on the command line,
|
||||||
the value of the 'sendemail.from' configuration option is used. If
|
the value of the 'sendemail.from' configuration option is used. If
|
||||||
neither the command line option nor 'sendemail.from' are set, then the
|
neither the command-line option nor 'sendemail.from' are set, then the
|
||||||
user will be prompted for the value. The default for the prompt will be
|
user will be prompted for the value. The default for the prompt will be
|
||||||
the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
|
the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
|
||||||
set, as returned by "git var -l".
|
set, as returned by "git var -l".
|
||||||
@ -131,6 +131,21 @@ Note that no attempts whatsoever are made to validate the encoding.
|
|||||||
Specify encoding of compose message. Default is the value of the
|
Specify encoding of compose message. Default is the value of the
|
||||||
'sendemail.composeencoding'; if that is unspecified, UTF-8 is assumed.
|
'sendemail.composeencoding'; if that is unspecified, UTF-8 is assumed.
|
||||||
|
|
||||||
|
--transfer-encoding=(7bit|8bit|quoted-printable|base64)::
|
||||||
|
Specify the transfer encoding to be used to send the message over SMTP.
|
||||||
|
7bit will fail upon encountering a non-ASCII message. quoted-printable
|
||||||
|
can be useful when the repository contains files that contain carriage
|
||||||
|
returns, but makes the raw patch email file (as saved from a MUA) much
|
||||||
|
harder to inspect manually. base64 is even more fool proof, but also
|
||||||
|
even more opaque. Default is the value of the 'sendemail.transferEncoding'
|
||||||
|
configuration value; if that is unspecified, git will use 8bit and not
|
||||||
|
add a Content-Transfer-Encoding header.
|
||||||
|
|
||||||
|
--xmailer::
|
||||||
|
--no-xmailer::
|
||||||
|
Add (or prevent adding) the "X-Mailer:" header. By default,
|
||||||
|
the header is added, but it can be turned off by setting the
|
||||||
|
`sendemail.xmailer` configuration variable to `false`.
|
||||||
|
|
||||||
Sending
|
Sending
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
@ -141,31 +156,31 @@ Sending
|
|||||||
subscribed to a list. In order to use the 'From' address, set the
|
subscribed to a list. In order to use the 'From' address, set the
|
||||||
value to "auto". If you use the sendmail binary, you must have
|
value to "auto". If you use the sendmail binary, you must have
|
||||||
suitable privileges for the -f parameter. Default is the value of the
|
suitable privileges for the -f parameter. Default is the value of the
|
||||||
'sendemail.envelopesender' configuration variable; if that is
|
'sendemail.envelopeSender' configuration variable; if that is
|
||||||
unspecified, choosing the envelope sender is left to your MTA.
|
unspecified, choosing the envelope sender is left to your MTA.
|
||||||
|
|
||||||
--smtp-encryption=<encryption>::
|
--smtp-encryption=<encryption>::
|
||||||
Specify the encryption to use, either 'ssl' or 'tls'. Any other
|
Specify the encryption to use, either 'ssl' or 'tls'. Any other
|
||||||
value reverts to plain SMTP. Default is the value of
|
value reverts to plain SMTP. Default is the value of
|
||||||
'sendemail.smtpencryption'.
|
'sendemail.smtpEncryption'.
|
||||||
|
|
||||||
--smtp-domain=<FQDN>::
|
--smtp-domain=<FQDN>::
|
||||||
Specifies the Fully Qualified Domain Name (FQDN) used in the
|
Specifies the Fully Qualified Domain Name (FQDN) used in the
|
||||||
HELO/EHLO command to the SMTP server. Some servers require the
|
HELO/EHLO command to the SMTP server. Some servers require the
|
||||||
FQDN to match your IP address. If not set, git send-email attempts
|
FQDN to match your IP address. If not set, git send-email attempts
|
||||||
to determine your FQDN automatically. Default is the value of
|
to determine your FQDN automatically. Default is the value of
|
||||||
'sendemail.smtpdomain'.
|
'sendemail.smtpDomain'.
|
||||||
|
|
||||||
--smtp-pass[=<password>]::
|
--smtp-pass[=<password>]::
|
||||||
Password for SMTP-AUTH. The argument is optional: If no
|
Password for SMTP-AUTH. The argument is optional: If no
|
||||||
argument is specified, then the empty string is used as
|
argument is specified, then the empty string is used as
|
||||||
the password. Default is the value of 'sendemail.smtppass',
|
the password. Default is the value of 'sendemail.smtpPass',
|
||||||
however '--smtp-pass' always overrides this value.
|
however '--smtp-pass' always overrides this value.
|
||||||
+
|
+
|
||||||
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
|
specified (with '--smtp-pass' or 'sendemail.smtpPass'), then
|
||||||
a password is obtained using 'git-credential'.
|
a password is obtained using 'git-credential'.
|
||||||
|
|
||||||
--smtp-server=<host>::
|
--smtp-server=<host>::
|
||||||
@ -173,7 +188,7 @@ a password is obtained using 'git-credential'.
|
|||||||
`smtp.example.com` or a raw IP address). Alternatively it can
|
`smtp.example.com` or a raw IP address). Alternatively it can
|
||||||
specify a full pathname of a sendmail-like program instead;
|
specify a full pathname of a sendmail-like program instead;
|
||||||
the program must support the `-i` option. Default value can
|
the program must support the `-i` option. Default value can
|
||||||
be specified by the 'sendemail.smtpserver' configuration
|
be specified by the 'sendemail.smtpServer' configuration
|
||||||
option; the built-in default is `/usr/sbin/sendmail` or
|
option; the built-in default is `/usr/sbin/sendmail` or
|
||||||
`/usr/lib/sendmail` if such program is available, or
|
`/usr/lib/sendmail` if such program is available, or
|
||||||
`localhost` otherwise.
|
`localhost` otherwise.
|
||||||
@ -184,11 +199,11 @@ a password is obtained using 'git-credential'.
|
|||||||
submission port 587, or the common SSL smtp port 465);
|
submission port 587, or the common SSL smtp port 465);
|
||||||
symbolic port names (e.g. "submission" instead of 587)
|
symbolic port names (e.g. "submission" instead of 587)
|
||||||
are also accepted. The port can also be set with the
|
are also accepted. The port can also be set with the
|
||||||
'sendemail.smtpserverport' configuration variable.
|
'sendemail.smtpServerPort' configuration variable.
|
||||||
|
|
||||||
--smtp-server-option=<option>::
|
--smtp-server-option=<option>::
|
||||||
If set, specifies the outgoing SMTP server option to use.
|
If set, specifies the outgoing SMTP server option to use.
|
||||||
Default value can be specified by the 'sendemail.smtpserveroption'
|
Default value can be specified by the 'sendemail.smtpServerOption'
|
||||||
configuration option.
|
configuration option.
|
||||||
+
|
+
|
||||||
The --smtp-server-option option must be repeated for each option you want
|
The --smtp-server-option option must be repeated for each option you want
|
||||||
@ -199,14 +214,19 @@ must be used for each option.
|
|||||||
Legacy alias for '--smtp-encryption ssl'.
|
Legacy alias for '--smtp-encryption ssl'.
|
||||||
|
|
||||||
--smtp-ssl-cert-path::
|
--smtp-ssl-cert-path::
|
||||||
Path to ca-certificates (either a directory or a single file).
|
Path to a store of trusted CA certificates for SMTP SSL/TLS
|
||||||
Set it to an empty string to disable certificate verification.
|
certificate validation (either a directory that has been processed
|
||||||
Defaults to the value set to the 'sendemail.smtpsslcertpath'
|
by 'c_rehash', or a single file containing one or more PEM format
|
||||||
configuration variable, if set, or `/etc/ssl/certs` otherwise.
|
certificates concatenated together: see verify(1) -CAfile and
|
||||||
|
-CApath for more information on these). Set it to an empty string
|
||||||
|
to disable certificate verification. Defaults to the value of the
|
||||||
|
'sendemail.smtpsslcertpath' configuration variable, if set, or the
|
||||||
|
backing SSL library's compiled-in default otherwise (which should
|
||||||
|
be the best choice on most platforms).
|
||||||
|
|
||||||
--smtp-user=<user>::
|
--smtp-user=<user>::
|
||||||
Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
|
Username for SMTP-AUTH. Default is the value of 'sendemail.smtpUser';
|
||||||
if a username is not specified (with '--smtp-user' or 'sendemail.smtpuser'),
|
if a username is not specified (with '--smtp-user' or 'sendemail.smtpUser'),
|
||||||
then authentication is not attempted.
|
then authentication is not attempted.
|
||||||
|
|
||||||
--smtp-debug=0|1::
|
--smtp-debug=0|1::
|
||||||
@ -227,14 +247,14 @@ Automating
|
|||||||
Specify a command to execute once per patch file which
|
Specify a command to execute once per patch file which
|
||||||
should generate patch file specific "Cc:" entries.
|
should generate patch file specific "Cc:" entries.
|
||||||
Output of this command must be single email address per line.
|
Output of this command must be single email address per line.
|
||||||
Default is the value of 'sendemail.cccmd' configuration value.
|
Default is the value of 'sendemail.ccCmd' configuration value.
|
||||||
|
|
||||||
--[no-]chain-reply-to::
|
--[no-]chain-reply-to::
|
||||||
If this is set, each email will be sent as a reply to the previous
|
If this is set, each email will be sent as a reply to the previous
|
||||||
email sent. If disabled with "--no-chain-reply-to", all emails after
|
email sent. If disabled with "--no-chain-reply-to", all emails after
|
||||||
the first will be sent as replies to the first email sent. When using
|
the first will be sent as replies to the first email sent. When using
|
||||||
this, it is recommended that the first file given be an overview of the
|
this, it is recommended that the first file given be an overview of the
|
||||||
entire patch series. Disabled by default, but the 'sendemail.chainreplyto'
|
entire patch series. Disabled by default, but the 'sendemail.chainReplyTo'
|
||||||
configuration variable can be used to enable it.
|
configuration variable can be used to enable it.
|
||||||
|
|
||||||
--identity=<identity>::
|
--identity=<identity>::
|
||||||
@ -248,6 +268,18 @@ Automating
|
|||||||
cc list. Default is the value of 'sendemail.signedoffbycc' configuration
|
cc list. Default is the value of 'sendemail.signedoffbycc' configuration
|
||||||
value; if that is unspecified, default to --signed-off-by-cc.
|
value; if that is unspecified, default to --signed-off-by-cc.
|
||||||
|
|
||||||
|
--[no-]cc-cover::
|
||||||
|
If this is set, emails found in Cc: headers in the first patch of
|
||||||
|
the series (typically the cover letter) are added to the cc list
|
||||||
|
for each email set. Default is the value of 'sendemail.cccover'
|
||||||
|
configuration value; if that is unspecified, default to --no-cc-cover.
|
||||||
|
|
||||||
|
--[no-]to-cover::
|
||||||
|
If this is set, emails found in To: headers in the first patch of
|
||||||
|
the series (typically the cover letter) are added to the to list
|
||||||
|
for each email set. Default is the value of 'sendemail.tocover'
|
||||||
|
configuration value; if that is unspecified, default to --no-to-cover.
|
||||||
|
|
||||||
--suppress-cc=<category>::
|
--suppress-cc=<category>::
|
||||||
Specify an additional category of recipients to suppress the
|
Specify an additional category of recipients to suppress the
|
||||||
auto-cc of:
|
auto-cc of:
|
||||||
@ -272,7 +304,7 @@ specified, as well as 'body' if --no-signed-off-cc is specified.
|
|||||||
|
|
||||||
--[no-]suppress-from::
|
--[no-]suppress-from::
|
||||||
If this is set, do not add the From: address to the cc: list.
|
If this is set, do not add the From: address to the cc: list.
|
||||||
Default is the value of 'sendemail.suppressfrom' configuration
|
Default is the value of 'sendemail.suppressFrom' configuration
|
||||||
value; if that is unspecified, default to --no-suppress-from.
|
value; if that is unspecified, default to --no-suppress-from.
|
||||||
|
|
||||||
--[no-]thread::
|
--[no-]thread::
|
||||||
@ -345,15 +377,15 @@ default to '--validate'.
|
|||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
sendemail.aliasesfile::
|
sendemail.aliasesFile::
|
||||||
To avoid typing long email addresses, point this to one or more
|
To avoid typing long email addresses, point this to one or more
|
||||||
email aliases files. You must also supply 'sendemail.aliasfiletype'.
|
email aliases files. You must also supply 'sendemail.aliasFileType'.
|
||||||
|
|
||||||
sendemail.aliasfiletype::
|
sendemail.aliasFileType::
|
||||||
Format of the file(s) specified in sendemail.aliasesfile. Must be
|
Format of the file(s) specified in sendemail.aliasesFile. Must be
|
||||||
one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus'.
|
one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus'.
|
||||||
|
|
||||||
sendemail.multiedit::
|
sendemail.multiEdit::
|
||||||
If true (default), a single editor instance will be spawned to edit
|
If true (default), a single editor instance will be spawned to edit
|
||||||
files you have to edit (patches when '--annotate' is used, and the
|
files you have to edit (patches when '--annotate' is used, and the
|
||||||
summary when '--compose' is used). If false, files will be edited one
|
summary when '--compose' is used). If false, files will be edited one
|
||||||
@ -372,10 +404,10 @@ To use 'git send-email' to send your patches through the GMail SMTP server,
|
|||||||
edit ~/.gitconfig to specify your account settings:
|
edit ~/.gitconfig to specify your account settings:
|
||||||
|
|
||||||
[sendemail]
|
[sendemail]
|
||||||
smtpencryption = tls
|
smtpEncryption = tls
|
||||||
smtpserver = smtp.gmail.com
|
smtpServer = smtp.gmail.com
|
||||||
smtpuser = yourname@gmail.com
|
smtpUser = yourname@gmail.com
|
||||||
smtpserverport = 587
|
smtpServerPort = 587
|
||||||
|
|
||||||
Once your commits are ready to be sent to the mailing list, run the
|
Once your commits are ready to be sent to the mailing list, run the
|
||||||
following commands:
|
following commands:
|
||||||
|
@ -9,7 +9,7 @@ git-send-pack - Push objects over Git protocol to another repository
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]
|
'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> [<ref>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
@ -35,6 +35,16 @@ OPTIONS
|
|||||||
Instead of explicitly specifying which refs to update,
|
Instead of explicitly specifying which refs to update,
|
||||||
update all heads that locally exist.
|
update all heads that locally exist.
|
||||||
|
|
||||||
|
--stdin::
|
||||||
|
Take the list of refs from stdin, one per line. If there
|
||||||
|
are refs specified on the command line in addition to this
|
||||||
|
option, then the refs from stdin are processed after those
|
||||||
|
on the command line.
|
||||||
|
+
|
||||||
|
If '--stateless-rpc' is specified together with this option then
|
||||||
|
the list of refs must be in packet format (pkt-line). Each ref must
|
||||||
|
be in a separate packet, and the list must end with a flush packet.
|
||||||
|
|
||||||
--dry-run::
|
--dry-run::
|
||||||
Do everything except actually send the updates.
|
Do everything except actually send the updates.
|
||||||
|
|
||||||
@ -52,6 +62,11 @@ OPTIONS
|
|||||||
Send a "thin" pack, which records objects in deltified form based
|
Send a "thin" pack, which records objects in deltified form based
|
||||||
on objects not included in the pack to reduce network traffic.
|
on objects not included in the pack to reduce network traffic.
|
||||||
|
|
||||||
|
--atomic::
|
||||||
|
Use an atomic transaction for updating the refs. If any of the refs
|
||||||
|
fails to update then the entire push will fail without changing any
|
||||||
|
refs.
|
||||||
|
|
||||||
<host>::
|
<host>::
|
||||||
A remote host to house the repository. When this
|
A remote host to house the repository. When this
|
||||||
part is specified, 'git-receive-pack' is invoked via
|
part is specified, 'git-receive-pack' is invoked via
|
||||||
@ -77,7 +92,8 @@ this flag.
|
|||||||
Without '--all' and without any '<ref>', the heads that exist
|
Without '--all' and without any '<ref>', the heads that exist
|
||||||
both on the local side and on the remote side are updated.
|
both on the local side and on the remote side are updated.
|
||||||
|
|
||||||
When one or more '<ref>' are specified explicitly, it can be either a
|
When one or more '<ref>' are specified explicitly (whether on the
|
||||||
|
command line or via `--stdin`), it can be either a
|
||||||
single pattern, or a pair of such pattern separated by a colon
|
single pattern, or a pair of such pattern separated by a colon
|
||||||
":" (this means that a ref name cannot have a colon in it). A
|
":" (this means that a ref name cannot have a colon in it). A
|
||||||
single pattern '<name>' is just a shorthand for '<name>:<name>'.
|
single pattern '<name>' is just a shorthand for '<name>:<name>'.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
git-stage(1)
|
git-stage(1)
|
||||||
==============
|
============
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
|
@ -41,6 +41,14 @@ OPTIONS
|
|||||||
--long::
|
--long::
|
||||||
Give the output in the long-format. This is the default.
|
Give the output in the long-format. This is the default.
|
||||||
|
|
||||||
|
-v::
|
||||||
|
--verbose::
|
||||||
|
In addition to the names of files that have been changed, also
|
||||||
|
show the textual changes that are staged to be committed
|
||||||
|
(i.e., like the output of `git diff --cached`). If `-v` is specified
|
||||||
|
twice, then also show the changes in the working tree that
|
||||||
|
have not yet been staged (i.e., like the output of `git diff`).
|
||||||
|
|
||||||
-u[<mode>]::
|
-u[<mode>]::
|
||||||
--untracked-files[=<mode>]::
|
--untracked-files[=<mode>]::
|
||||||
Show untracked files.
|
Show untracked files.
|
||||||
@ -77,7 +85,7 @@ configuration variable documented in linkgit:git-config[1].
|
|||||||
only changes to the commits stored in the superproject are shown (this was
|
only changes to the commits stored in the superproject are shown (this was
|
||||||
the behavior before 1.7.0). Using "all" hides all changes to submodules
|
the behavior before 1.7.0). Using "all" hides all changes to submodules
|
||||||
(and suppresses the output of submodule summaries when the config option
|
(and suppresses the output of submodule summaries when the config option
|
||||||
`status.submodulesummary` is set).
|
`status.submoduleSummary` is set).
|
||||||
|
|
||||||
--ignored::
|
--ignored::
|
||||||
Show ignored files as well.
|
Show ignored files as well.
|
||||||
@ -116,7 +124,7 @@ In the short-format, the status of each path is shown as
|
|||||||
|
|
||||||
where `PATH1` is the path in the `HEAD`, and the " `-> PATH2`" part is
|
where `PATH1` is the path in the `HEAD`, and the " `-> PATH2`" part is
|
||||||
shown only when `PATH1` corresponds to a different path in the
|
shown only when `PATH1` corresponds to a different path in the
|
||||||
index/worktree (i.e. the file is renamed). The 'XY' is a two-letter
|
index/worktree (i.e. the file is renamed). The `XY` is a two-letter
|
||||||
status code.
|
status code.
|
||||||
|
|
||||||
The fields (including the `->`) are separated from each other by a
|
The fields (including the `->`) are separated from each other by a
|
||||||
@ -125,7 +133,7 @@ characters, that field will be quoted in the manner of a C string
|
|||||||
literal: surrounded by ASCII double quote (34) characters, and with
|
literal: surrounded by ASCII double quote (34) characters, and with
|
||||||
interior special characters backslash-escaped.
|
interior special characters backslash-escaped.
|
||||||
|
|
||||||
For paths with merge conflicts, `X` and 'Y' show the modification
|
For paths with merge conflicts, `X` and `Y` show the modification
|
||||||
states of each side of the merge. For paths that do not have merge
|
states of each side of the merge. For paths that do not have merge
|
||||||
conflicts, `X` shows the status of the index, and `Y` shows the status
|
conflicts, `X` shows the status of the index, and `Y` shows the status
|
||||||
of the work tree. For untracked paths, `XY` are `??`. Other status
|
of the work tree. For untracked paths, `XY` are `??`. Other status
|
||||||
@ -207,7 +215,7 @@ If the config variable `status.relativePaths` is set to false, then all
|
|||||||
paths shown are relative to the repository root, not to the current
|
paths shown are relative to the repository root, not to the current
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
If `status.submodulesummary` is set to a non zero number or true (identical
|
If `status.submoduleSummary` is set to a non zero number or true (identical
|
||||||
to -1 or an unlimited number), the submodule summary will be enabled for
|
to -1 or an unlimited number), the submodule summary will be enabled for
|
||||||
the long format and a summary of commits for modified submodules will be
|
the long format and a summary of commits for modified submodules will be
|
||||||
shown (see --summary-limit option of linkgit:git-submodule[1]). Please note
|
shown (see --summary-limit option of linkgit:git-submodule[1]). Please note
|
||||||
|
@ -10,6 +10,7 @@ SYNOPSIS
|
|||||||
--------
|
--------
|
||||||
[verse]
|
[verse]
|
||||||
'git stripspace' [-s | --strip-comments] < input
|
'git stripspace' [-s | --strip-comments] < input
|
||||||
|
'git stripspace' [-c | --comment-lines] < input
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -154,27 +154,51 @@ If `--force` is specified, the submodule's work tree will be removed even if
|
|||||||
it contains local modifications.
|
it contains local modifications.
|
||||||
|
|
||||||
update::
|
update::
|
||||||
Update the registered submodules, i.e. clone missing submodules and
|
|
||||||
checkout the commit specified in the index of the containing repository.
|
|
||||||
This will make the submodules HEAD be detached unless `--rebase` or
|
|
||||||
`--merge` is specified or the key `submodule.$name.update` is set to
|
|
||||||
`rebase`, `merge` or `none`. `none` can be overridden by specifying
|
|
||||||
`--checkout`. Setting the key `submodule.$name.update` to `!command`
|
|
||||||
will cause `command` to be run. `command` can be any arbitrary shell
|
|
||||||
command that takes a single argument, namely the sha1 to update to.
|
|
||||||
+
|
+
|
||||||
|
--
|
||||||
|
Update the registered submodules to match what the superproject
|
||||||
|
expects by cloning missing submodules and updating the working tree of
|
||||||
|
the submodules. The "updating" can be done in several ways depending
|
||||||
|
on command line options and the value of `submodule.<name>.update`
|
||||||
|
configuration variable. Supported update procedures are:
|
||||||
|
|
||||||
|
checkout;; the commit recorded in the superproject will be
|
||||||
|
checked out in the submodule on a detached HEAD. This is
|
||||||
|
done when `--checkout` option is given, or no option is
|
||||||
|
given, and `submodule.<name>.update` is unset, or if it is
|
||||||
|
set to 'checkout'.
|
||||||
|
+
|
||||||
|
If `--force` is specified, the submodule will be checked out (using
|
||||||
|
`git checkout --force` if appropriate), even if the commit specified
|
||||||
|
in the index of the containing repository already matches the commit
|
||||||
|
checked out in the submodule.
|
||||||
|
|
||||||
|
rebase;; the current branch of the submodule will be rebased
|
||||||
|
onto the commit recorded in the superproject. This is done
|
||||||
|
when `--rebase` option is given, or no option is given, and
|
||||||
|
`submodule.<name>.update` is set to 'rebase'.
|
||||||
|
|
||||||
|
merge;; the commit recorded in the superproject will be merged
|
||||||
|
into the current branch in the submodule. This is done
|
||||||
|
when `--merge` option is given, or no option is given, and
|
||||||
|
`submodule.<name>.update` is set to 'merge'.
|
||||||
|
|
||||||
|
custom command;; arbitrary shell command that takes a single
|
||||||
|
argument (the sha1 of the commit recorded in the
|
||||||
|
superproject) is executed. This is done when no option is
|
||||||
|
given, and `submodule.<name>.update` has the form of
|
||||||
|
'!command'.
|
||||||
|
|
||||||
|
When no option is given and `submodule.<name>.update` is set to 'none',
|
||||||
|
the submodule is not updated.
|
||||||
|
|
||||||
If the submodule is not yet initialized, and you just want to use the
|
If the submodule is not yet initialized, and you just want to use the
|
||||||
setting as stored in .gitmodules, you can automatically initialize the
|
setting as stored in .gitmodules, you can automatically initialize the
|
||||||
submodule with the `--init` option.
|
submodule with the `--init` option.
|
||||||
+
|
|
||||||
If `--recursive` is specified, this command will recurse into the
|
If `--recursive` is specified, this command will recurse into the
|
||||||
registered submodules, and update any nested submodules within.
|
registered submodules, and update any nested submodules within.
|
||||||
+
|
--
|
||||||
If `--force` is specified, the submodule will be checked out (using
|
|
||||||
`git checkout --force` if appropriate), even if the commit specified in the
|
|
||||||
index of the containing repository already matches the commit checked out in
|
|
||||||
the submodule.
|
|
||||||
|
|
||||||
summary::
|
summary::
|
||||||
Show commit summary between the given commit (defaults to HEAD) and
|
Show commit summary between the given commit (defaults to HEAD) and
|
||||||
working tree/index. For a submodule in question, a series of commits
|
working tree/index. For a submodule in question, a series of commits
|
||||||
@ -238,10 +262,12 @@ OPTIONS
|
|||||||
When running add, allow adding an otherwise ignored submodule path.
|
When running add, allow adding an otherwise ignored submodule path.
|
||||||
When running deinit the submodule work trees will be removed even if
|
When running deinit the submodule work trees will be removed even if
|
||||||
they contain local changes.
|
they contain local changes.
|
||||||
When running update, throw away local changes in submodules when
|
When running update (only effective with the checkout procedure),
|
||||||
switching to a different commit; and always run a checkout operation
|
throw away local changes in submodules when switching to a
|
||||||
in the submodule, even if the commit listed in the index of the
|
different commit; and always run a checkout operation in the
|
||||||
containing repository matches the commit checked out in the submodule.
|
submodule, even if the commit listed in the index of the
|
||||||
|
containing repository matches the commit checked out in the
|
||||||
|
submodule.
|
||||||
|
|
||||||
--cached::
|
--cached::
|
||||||
This option is only valid for status and summary commands. These
|
This option is only valid for status and summary commands. These
|
||||||
@ -302,7 +328,7 @@ the submodule itself.
|
|||||||
Checkout the commit recorded in the superproject on a detached HEAD
|
Checkout the commit recorded in the superproject on a detached HEAD
|
||||||
in the submodule. This is the default behavior, the main use of
|
in the submodule. This is the default behavior, the main use of
|
||||||
this option is to override `submodule.$name.update` when set to
|
this option is to override `submodule.$name.update` when set to
|
||||||
`merge`, `rebase` or `none`.
|
a value other than `checkout`.
|
||||||
If the key `submodule.$name.update` is either not explicitly set or
|
If the key `submodule.$name.update` is either not explicitly set or
|
||||||
set to `checkout`, this option is implicit.
|
set to `checkout`, this option is implicit.
|
||||||
|
|
||||||
|
@ -70,8 +70,8 @@ COMMANDS
|
|||||||
--username=<user>;;
|
--username=<user>;;
|
||||||
For transports that SVN handles authentication for (http,
|
For transports that SVN handles authentication for (http,
|
||||||
https, and plain svn), specify the username. For other
|
https, and plain svn), specify the username. For other
|
||||||
transports (eg svn+ssh://), you must include the username in
|
transports (e.g. svn+ssh://), you must include the username in
|
||||||
the URL, eg svn+ssh://foo@svn.bar.com/project
|
the URL, e.g. svn+ssh://foo@svn.bar.com/project
|
||||||
--prefix=<prefix>;;
|
--prefix=<prefix>;;
|
||||||
This allows one to specify a prefix which is prepended
|
This allows one to specify a prefix which is prepended
|
||||||
to the names of remotes if trunk/branches/tags are
|
to the names of remotes if trunk/branches/tags are
|
||||||
@ -148,8 +148,8 @@ the same local time zone.
|
|||||||
[verse]
|
[verse]
|
||||||
config key: svn-remote.<name>.ignore-paths
|
config key: svn-remote.<name>.ignore-paths
|
||||||
+
|
+
|
||||||
If the ignore-paths config key is set and the command line option is
|
If the ignore-paths configuration key is set, and the command-line
|
||||||
also given, both regular expressions will be used.
|
option is also given, both regular expressions will be used.
|
||||||
+
|
+
|
||||||
Examples:
|
Examples:
|
||||||
+
|
+
|
||||||
@ -252,6 +252,10 @@ Use of 'dcommit' is preferred to 'set-tree' (below).
|
|||||||
config key: svn-remote.<name>.commiturl
|
config key: svn-remote.<name>.commiturl
|
||||||
config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl options)
|
config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl options)
|
||||||
+
|
+
|
||||||
|
Note that the SVN URL of the commiturl config key includes the SVN branch.
|
||||||
|
If you rather want to set the commit URL for an entire SVN repository use
|
||||||
|
svn-remote.<name>.pushurl instead.
|
||||||
|
+
|
||||||
Using this option for any other purpose (don't ask) is very strongly
|
Using this option for any other purpose (don't ask) is very strongly
|
||||||
discouraged.
|
discouraged.
|
||||||
|
|
||||||
@ -386,11 +390,13 @@ Any other arguments are passed directly to 'git log'
|
|||||||
tree-ish to specify which branch should be searched). When given a
|
tree-ish to specify which branch should be searched). When given a
|
||||||
tree-ish, returns the corresponding SVN revision number.
|
tree-ish, returns the corresponding SVN revision number.
|
||||||
+
|
+
|
||||||
|
-B;;
|
||||||
--before;;
|
--before;;
|
||||||
Don't require an exact match if given an SVN revision, instead find
|
Don't require an exact match if given an SVN revision, instead find
|
||||||
the commit corresponding to the state of the SVN repository (on the
|
the commit corresponding to the state of the SVN repository (on the
|
||||||
current branch) at the specified revision.
|
current branch) at the specified revision.
|
||||||
+
|
+
|
||||||
|
-A;;
|
||||||
--after;;
|
--after;;
|
||||||
Don't require an exact match if given an SVN revision; if there is
|
Don't require an exact match if given an SVN revision; if there is
|
||||||
not an exact match return the closest match searching forward in the
|
not an exact match return the closest match searching forward in the
|
||||||
@ -608,21 +614,6 @@ config key: svn.authorsfile
|
|||||||
Make 'git svn' less verbose. Specify a second time to make it
|
Make 'git svn' less verbose. Specify a second time to make it
|
||||||
even less verbose.
|
even less verbose.
|
||||||
|
|
||||||
--repack[=<n>]::
|
|
||||||
--repack-flags=<flags>::
|
|
||||||
These should help keep disk usage sane for large fetches with
|
|
||||||
many revisions.
|
|
||||||
+
|
|
||||||
--repack takes an optional argument for the number of revisions
|
|
||||||
to fetch before repacking. This defaults to repacking every
|
|
||||||
1000 commits fetched if no argument is specified.
|
|
||||||
+
|
|
||||||
--repack-flags are passed directly to 'git repack'.
|
|
||||||
+
|
|
||||||
[verse]
|
|
||||||
config key: svn.repack
|
|
||||||
config key: svn.repackflags
|
|
||||||
|
|
||||||
-m::
|
-m::
|
||||||
--merge::
|
--merge::
|
||||||
-s<strategy>::
|
-s<strategy>::
|
||||||
|
@ -42,7 +42,7 @@ committer identity for the current user is used to find the
|
|||||||
GnuPG key for signing. The configuration variable `gpg.program`
|
GnuPG key for signing. The configuration variable `gpg.program`
|
||||||
is used to specify custom GnuPG binary.
|
is used to specify custom GnuPG binary.
|
||||||
|
|
||||||
Tag objects (created with `-a`, `s`, or `-u`) are called "annotated"
|
Tag objects (created with `-a`, `-s`, or `-u`) are called "annotated"
|
||||||
tags; they contain a creation date, the tagger name and e-mail, a
|
tags; they contain a creation date, the tagger name and e-mail, a
|
||||||
tagging message, and an optional GnuPG signature. Whereas a
|
tagging message, and an optional GnuPG signature. Whereas a
|
||||||
"lightweight" tag is simply a name for an object (usually a commit
|
"lightweight" tag is simply a name for an object (usually a commit
|
||||||
@ -98,8 +98,13 @@ OPTIONS
|
|||||||
--sort=<type>::
|
--sort=<type>::
|
||||||
Sort in a specific order. Supported type is "refname"
|
Sort in a specific order. Supported type is "refname"
|
||||||
(lexicographic order), "version:refname" or "v:refname" (tag
|
(lexicographic order), "version:refname" or "v:refname" (tag
|
||||||
names are treated as versions). Prepend "-" to reverse sort
|
names are treated as versions). The "version:refname" sort
|
||||||
order.
|
order can also be affected by the
|
||||||
|
"versionsort.prereleaseSuffix" configuration variable. Prepend
|
||||||
|
"-" to reverse sort order. When this option is not given, the
|
||||||
|
sort order defaults to the value configured for the 'tag.sort'
|
||||||
|
variable if it exists, or lexicographic order otherwise. See
|
||||||
|
linkgit:git-config[1].
|
||||||
|
|
||||||
--column[=<options>]::
|
--column[=<options>]::
|
||||||
--no-column::
|
--no-column::
|
||||||
@ -159,7 +164,7 @@ it in the repository configuration as follows:
|
|||||||
|
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
[user]
|
[user]
|
||||||
signingkey = <gpg-key-id>
|
signingKey = <gpg-key-id>
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@ -317,6 +322,7 @@ include::date-formats.txt[]
|
|||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
linkgit:git-check-ref-format[1].
|
linkgit:git-check-ref-format[1].
|
||||||
|
linkgit:git-config[1].
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
---
|
---
|
||||||
|
@ -82,20 +82,18 @@ OPTIONS
|
|||||||
Set the execute permissions on the updated files.
|
Set the execute permissions on the updated files.
|
||||||
|
|
||||||
--[no-]assume-unchanged::
|
--[no-]assume-unchanged::
|
||||||
When these flags are specified, the object names recorded
|
When this flag is specified, the object names recorded
|
||||||
for the paths are not updated. Instead, these options
|
for the paths are not updated. Instead, this option
|
||||||
set and unset the "assume unchanged" bit for the
|
sets/unsets the "assume unchanged" bit for the
|
||||||
paths. When the "assume unchanged" bit is on, Git stops
|
paths. When the "assume unchanged" bit is on, the user
|
||||||
checking the working tree files for possible
|
promises not to change the file and allows Git to assume
|
||||||
modifications, so you need to manually unset the bit to
|
that the working tree file matches what is recorded in
|
||||||
tell Git when you change the working tree file. This is
|
the index. If you want to change the working tree file,
|
||||||
|
you need to unset the bit to tell Git. This is
|
||||||
sometimes helpful when working with a big project on a
|
sometimes helpful when working with a big project on a
|
||||||
filesystem that has very slow lstat(2) system call
|
filesystem that has very slow lstat(2) system call
|
||||||
(e.g. cifs).
|
(e.g. cifs).
|
||||||
+
|
+
|
||||||
This option can be also used as a coarse file-level mechanism
|
|
||||||
to ignore uncommitted changes in tracked files (akin to what
|
|
||||||
`.gitignore` does for untracked files).
|
|
||||||
Git will fail (gracefully) in case it needs to modify this file
|
Git will fail (gracefully) in case it needs to modify this file
|
||||||
in the index e.g. when merging in a commit;
|
in the index e.g. when merging in a commit;
|
||||||
thus, in case the assumed-untracked file is changed upstream,
|
thus, in case the assumed-untracked file is changed upstream,
|
||||||
@ -161,6 +159,17 @@ may not support it yet.
|
|||||||
Only meaningful with `--stdin` or `--index-info`; paths are
|
Only meaningful with `--stdin` or `--index-info`; paths are
|
||||||
separated with NUL character instead of LF.
|
separated with NUL character instead of LF.
|
||||||
|
|
||||||
|
--split-index::
|
||||||
|
--no-split-index::
|
||||||
|
Enable or disable split index mode. If enabled, the index is
|
||||||
|
split into two files, $GIT_DIR/index and $GIT_DIR/sharedindex.<SHA-1>.
|
||||||
|
Changes are accumulated in $GIT_DIR/index while the shared
|
||||||
|
index file contains all index entries stays unchanged. If
|
||||||
|
split-index mode is already enabled and `--split-index` is
|
||||||
|
given again, all changes in $GIT_DIR/index are pushed back to
|
||||||
|
the shared index file. This mode is designed for very large
|
||||||
|
indexes that take a significant amount of time to read or write.
|
||||||
|
|
||||||
\--::
|
\--::
|
||||||
Do not interpret any more arguments as options.
|
Do not interpret any more arguments as options.
|
||||||
|
|
||||||
@ -191,7 +200,7 @@ merging.
|
|||||||
To pretend you have a file with mode and sha1 at path, say:
|
To pretend you have a file with mode and sha1 at path, say:
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
$ git update-index --cacheinfo mode sha1 path
|
$ git update-index --cacheinfo <mode>,<sha1>,<path>
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
'--info-only' is used to register files without placing them in the object
|
'--info-only' is used to register files without placing them in the object
|
||||||
|
@ -68,7 +68,12 @@ performs all modifications together. Specify commands of the form:
|
|||||||
option SP <opt> LF
|
option SP <opt> LF
|
||||||
|
|
||||||
Quote fields containing whitespace as if they were strings in C source
|
Quote fields containing whitespace as if they were strings in C source
|
||||||
code. Alternatively, use `-z` to specify commands without quoting:
|
code; i.e., surrounded by double-quotes and with backslash escapes.
|
||||||
|
Use 40 "0" characters or the empty string to specify a zero value. To
|
||||||
|
specify a missing value, omit the value and its preceding SP entirely.
|
||||||
|
|
||||||
|
Alternatively, use `-z` to specify in NUL-terminated format, without
|
||||||
|
quoting:
|
||||||
|
|
||||||
update SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL
|
update SP <ref> NUL <newvalue> NUL [<oldvalue>] NUL
|
||||||
create SP <ref> NUL <newvalue> NUL
|
create SP <ref> NUL <newvalue> NUL
|
||||||
@ -76,8 +81,12 @@ code. Alternatively, use `-z` to specify commands without quoting:
|
|||||||
verify SP <ref> NUL [<oldvalue>] NUL
|
verify SP <ref> NUL [<oldvalue>] NUL
|
||||||
option SP <opt> NUL
|
option SP <opt> NUL
|
||||||
|
|
||||||
Lines of any other format or a repeated <ref> produce an error.
|
In this format, use 40 "0" to specify a zero value, and use the empty
|
||||||
Command meanings are:
|
string to specify a missing value.
|
||||||
|
|
||||||
|
In either format, values can be specified in any form that Git
|
||||||
|
recognizes as an object name. Commands in any other format or a
|
||||||
|
repeated <ref> produce an error. Command meanings are:
|
||||||
|
|
||||||
update::
|
update::
|
||||||
Set <ref> to <newvalue> after verifying <oldvalue>, if given.
|
Set <ref> to <newvalue> after verifying <oldvalue>, if given.
|
||||||
@ -102,9 +111,6 @@ option::
|
|||||||
The only valid option is `no-deref` to avoid dereferencing
|
The only valid option is `no-deref` to avoid dereferencing
|
||||||
a symbolic ref.
|
a symbolic ref.
|
||||||
|
|
||||||
Use 40 "0" or the empty string to specify a zero value, except that
|
|
||||||
with `-z` an empty <oldvalue> is considered missing.
|
|
||||||
|
|
||||||
If all <ref>s can be locked with matching <oldvalue>s
|
If all <ref>s can be locked with matching <oldvalue>s
|
||||||
simultaneously, all modifications are performed. Otherwise, no
|
simultaneously, all modifications are performed. Otherwise, no
|
||||||
modifications are performed. Note that while each individual
|
modifications are performed. Note that while each individual
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user