Compare commits
3069 Commits
Author | SHA1 | Date | |
---|---|---|---|
52735a6892 | |||
ad00aebfe9 | |||
ab0fb57aac | |||
a78fc4af82 | |||
d50d31e880 | |||
2c97724d5e | |||
4eea8e3fa0 | |||
a070d621ed | |||
b265061937 | |||
2217579cde | |||
245dd15aa9 | |||
b70cec0a2e | |||
a5d3154854 | |||
73d8bfde32 | |||
591a1daa7c | |||
07e3f27f48 | |||
9f389aa492 | |||
b37996e251 | |||
d8279c7d85 | |||
a730ea3c3a | |||
792c57273f | |||
90329592b9 | |||
129260cbd4 | |||
fddfaf8a22 | |||
777c55a616 | |||
70320541ec | |||
3a52578eef | |||
437ed4cea1 | |||
a393c6bfd9 | |||
a4f287e5aa | |||
7d6f6e3730 | |||
ffac6258de | |||
3f6f5c9dbe | |||
c97418466a | |||
84a37fae51 | |||
82b6e331a4 | |||
f63ed085e2 | |||
8c2ea51254 | |||
260d5850ad | |||
03f15a79a9 | |||
ea56c4e02f | |||
8d42299361 | |||
ff4056bbc3 | |||
49672f26d9 | |||
8b43fb18f8 | |||
e869c5eaee | |||
32d0462f8d | |||
626df76e3d | |||
c3c17bf107 | |||
b7916422c7 | |||
16eff6c009 | |||
ee0e38727f | |||
599d223107 | |||
c2048f0b39 | |||
b25c469956 | |||
9bdc5173f0 | |||
db8d750876 | |||
bb8577532a | |||
4b23b5d1af | |||
113bc16094 | |||
bb8f6de064 | |||
3aab60b3ba | |||
ae8ada450a | |||
2408f3b74b | |||
3af1bcafff | |||
a4b4f9b8e3 | |||
30a52c1dcb | |||
5244a31039 | |||
1469d99068 | |||
c722ba4814 | |||
8ddf3ca74f | |||
e172755b1e | |||
dd059c6c07 | |||
6f75d45b24 | |||
0d6accc01d | |||
3f88c1b524 | |||
dcd01ea187 | |||
6a536e2076 | |||
1165ae6f3d | |||
f69f5f19cf | |||
f56a5f4fed | |||
d86679fa06 | |||
2e7ca2745b | |||
e1db59e179 | |||
53e53c7c81 | |||
2acc194075 | |||
2185d3b7ad | |||
28c8cfc363 | |||
8fa7975b07 | |||
9a6f1287fb | |||
3ebda3e9f5 | |||
1e299f5286 | |||
4e0d6207e5 | |||
007f7f6e54 | |||
33367575b8 | |||
3630be2749 | |||
cbc8d6d8f8 | |||
f5a191d3dc | |||
e591339ce7 | |||
c11c154f42 | |||
518d1c349b | |||
ab09f58e8c | |||
069dea89cf | |||
abfed73ce8 | |||
2250406bfd | |||
3bef3c12d6 | |||
b1cffbfcfc | |||
6db0497e1a | |||
aaa90f5f07 | |||
be2804c49e | |||
552f6994d2 | |||
a628d50575 | |||
8fd37b3862 | |||
5ee875852e | |||
1c448b3b5c | |||
b92c1a28f8 | |||
5f7b91baca | |||
ff5507ed2a | |||
a5285b6c23 | |||
05c3e5c771 | |||
eb32c66e8d | |||
5c31acfbe2 | |||
aaba0ab462 | |||
189c860c9e | |||
ab27389aff | |||
4d6be03b95 | |||
f98c2f7e53 | |||
77fdb8a82c | |||
e426311bef | |||
45c956b357 | |||
bcd57cb9e1 | |||
8004647a21 | |||
7bc4c01d9b | |||
2764442ac9 | |||
254a3ebfe8 | |||
7070c03d51 | |||
117c1b333d | |||
9f8410b941 | |||
b9efce10c2 | |||
93baadb138 | |||
2fc85f0545 | |||
8f3d03d81e | |||
6606129491 | |||
74419c29df | |||
faf723a631 | |||
817d03e105 | |||
33baa6983d | |||
3f55ccab8e | |||
9f6976528b | |||
86ceb337ec | |||
2ce63e9fac | |||
68d6d6eb40 | |||
008d5d005d | |||
2ae7f90f26 | |||
afb5de7f8d | |||
d5c4b1855d | |||
ef2956a5e2 | |||
dc8edc8f7d | |||
edef953e48 | |||
b485373052 | |||
5248f2dd4f | |||
94bc83c593 | |||
bc1c2caa73 | |||
f471494303 | |||
f400e51c13 | |||
db7b9e3ad3 | |||
bd9150b7e5 | |||
459b8d22e5 | |||
bb8db1b553 | |||
2c0ab4d49d | |||
f2b4f0a23b | |||
0b868f0eec | |||
5d308512ff | |||
45917f0f99 | |||
204a8ffe67 | |||
e0d201b616 | |||
fdc2c3a926 | |||
3c37a2e339 | |||
c536c0755f | |||
5e915f3085 | |||
e60059276b | |||
b0a4264277 | |||
e6f875e052 | |||
88c03eb577 | |||
9874fca712 | |||
1d0655c15e | |||
d306f3d351 | |||
5e0be134d3 | |||
bd4e8822da | |||
3af67924e0 | |||
8196e72895 | |||
0d1c285af2 | |||
35840a3e78 | |||
7471cf88f5 | |||
697f652818 | |||
1f985d60ef | |||
830ff021aa | |||
ac1c2d9a21 | |||
57b92a77a0 | |||
94ee8e2c98 | |||
66ec904b4e | |||
502e7f9851 | |||
394e1505b8 | |||
15598cf41b | |||
8b9c2dd4de | |||
ff76d36b35 | |||
b4fde1e37d | |||
1044b1f6a1 | |||
07586ebd4f | |||
2f334c6461 | |||
3b36ef9188 | |||
573ed5e147 | |||
13d261e53a | |||
3cab02de50 | |||
a9c4641df7 | |||
76afe74b10 | |||
67b5440d0d | |||
d588d4d940 | |||
ab9432d375 | |||
a4c044484e | |||
ee443cf236 | |||
407a792ef7 | |||
2988289f2c | |||
923fc5ab40 | |||
85cb1d0ba8 | |||
edb72d5511 | |||
33cae5428a | |||
1e60744913 | |||
54d80a9343 | |||
627736ca79 | |||
ea6e82c875 | |||
17ad37112d | |||
d6589d1ba4 | |||
d06ce4a508 | |||
3759d27aca | |||
a235de4bd2 | |||
d9d56b2357 | |||
07361f12ab | |||
482f68e741 | |||
d1f9c7b77e | |||
0ef279509b | |||
bf41b712c7 | |||
105979f71c | |||
48a9a6b5eb | |||
124d80928d | |||
e1a05ad851 | |||
463243d49c | |||
04cb2f28cc | |||
eae69530ae | |||
1767c51787 | |||
a94655dcfe | |||
9a2bb059e7 | |||
2a26377047 | |||
d0a042a186 | |||
563d4e59bd | |||
670f6a72b8 | |||
401a317aae | |||
63a0e83ea6 | |||
09deda3746 | |||
ce8e4e3e57 | |||
d62078e910 | |||
601ca9287d | |||
9920c71825 | |||
e1ef7d177c | |||
1e7ef5d9bf | |||
8128835f91 | |||
41753312e1 | |||
e9f91191cc | |||
2202ab1931 | |||
6d9f0c7c0d | |||
7fd92d9ed0 | |||
f6786c8dcb | |||
6babe76496 | |||
331004836b | |||
9905988a57 | |||
a46442f167 | |||
8c53f0719b | |||
eaa541eb59 | |||
4440690786 | |||
d64ea0f83b | |||
fbf5d8c3d0 | |||
beb691f770 | |||
7695982c20 | |||
92be938e96 | |||
b6160d950c | |||
addfb21a94 | |||
def6dd9bc6 | |||
fdf96a20ac | |||
9f16184af5 | |||
d0879b33a6 | |||
efc028b1f2 | |||
9ea21fa89c | |||
ba1edc9264 | |||
417a5b226c | |||
832258da96 | |||
e20d5a2c44 | |||
7a353ec965 | |||
acddf49432 | |||
d61e79050c | |||
97488abc91 | |||
c00e1c59d8 | |||
42618bc34e | |||
a2681d2bac | |||
10aff315f6 | |||
50fea42ef5 | |||
88e011814b | |||
a6c3c638ac | |||
8bd2c972b1 | |||
89ea90351d | |||
9990273917 | |||
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 | |||
33adc83ddb | |||
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 | |||
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 | |||
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 | |||
f8c4ab611a | |||
63226218ba | |||
608758d5ce | |||
27234a2ef3 | |||
ff7aa81f89 | |||
85ed2f3206 | |||
d543d9c0f4 | |||
e652c0eb5d | |||
59b386526a | |||
e32afab7b0 | |||
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 | |||
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 | |||
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 | |||
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 | |||
740c281d21 | |||
98b12a4b9a | |||
405869d0d5 | |||
aaf7253f84 | |||
9e8a6a9433 | |||
3a224ff2bb | |||
247b4d5f38 | |||
12621cb222 | |||
4328190a81 | |||
10b944b37b | |||
9f2de9c121 | |||
cd989a97ec | |||
0d854fc1e3 | |||
a1991f1734 | |||
514dd21326 | |||
5796c5baa3 | |||
1a1f7b2c52 | |||
0196a605f7 | |||
054e22caf4 | |||
ef937140a6 | |||
79e9dba0d4 | |||
af3e5d1b2a | |||
cfececfe1f | |||
1fbc6e6e60 | |||
85dd37941a | |||
63618af24a | |||
bba6acb335 | |||
d31f3ad23d | |||
e6aaa39347 | |||
b0562224c9 | |||
f57a8715bc | |||
9ab0882255 | |||
0eff86e4f4 | |||
3fa1025907 | |||
25a05a8cae | |||
60e2f5a5af | |||
0b05ab6f1b | |||
b0ab2b71d0 | |||
78024c4e31 | |||
adf8e54238 | |||
4228e8bc98 | |||
528396a463 | |||
fb0166c674 | |||
80e85754e0 | |||
a8c565b227 | |||
9b1c2a3a8e | |||
0ac744305f | |||
19a249ba83 | |||
ad25da009e | |||
3b3b61c5d5 | |||
dadb89d92c | |||
da33a97998 | |||
5c0b13f85a | |||
51a60f5bfb | |||
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 | |||
ebc5da3208 | |||
2e931843ad | |||
588de86f06 | |||
5a3db94539 | |||
5c18fde0d9 | |||
64630d807a | |||
9092a9696b | |||
d22acacf81 | |||
8c2cfa5544 | |||
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 | |||
479eaa8ef8 | |||
2a60839150 | |||
dc662d449f | |||
59a8adb6fb | |||
42c55ce49e | |||
9d02150cf4 | |||
cb979dbd8f | |||
910a09a735 | |||
294b2680cd | |||
e992d1eb39 | |||
0ae0e882b2 | |||
00f6991d4b | |||
cd78cea29d | |||
66f467c3e6 | |||
da86971c2a | |||
779c99fd68 | |||
df4d7d5646 | |||
b41a4636ee | |||
e7cdec622a | |||
11def366e5 | |||
39177c7f18 | |||
3d77f72efe | |||
8693e1cc2f | |||
cbf4e024ad | |||
f35392b018 | |||
3fea9ebdff | |||
ce85604468 | |||
cdaa4e98ca | |||
b725b270d1 | |||
37943e4c38 | |||
81e776d92b | |||
cb9cd515ee | |||
b0bae7f0e4 | |||
641830cbe1 | |||
ba655d15b5 | |||
ce8350f8ea | |||
3b8e8af187 | |||
e91ae32a01 | |||
cf3983d1ff | |||
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 | |||
c2f7b1026e | |||
45067fc973 | |||
782735203c | |||
80b47854ca | |||
79bc4ef368 | |||
ba311807f8 | |||
6d49de414f | |||
47bf4b0fc5 | |||
d6cd00c768 | |||
6dda4e60f2 | |||
592ce20820 | |||
26936bfd9b | |||
2975c770ca | |||
f52a35fd63 | |||
35480f0b23 | |||
880fb8de67 | |||
94c0cc8f72 | |||
10761eb681 | |||
85dd6bf491 | |||
7fe6834801 | |||
bde4a0f9f3 | |||
ac54a4b771 | |||
ea0e524ebd | |||
ad1c66033e | |||
2deda629c2 | |||
36857e0026 | |||
28bf9429ef | |||
3cc9d87710 | |||
958b2eb26c | |||
c47372d3a8 | |||
369a70fc77 | |||
597072314c | |||
e56857246a | |||
5b9b715f94 | |||
ccca6b6523 | |||
8d87e35bab | |||
35869f4c62 | |||
b47761dd1e | |||
af6ba0eb9e | |||
2a20f4b7e2 | |||
25f3119000 | |||
b30adaac52 | |||
b7ce583682 | |||
9ce7100b1c | |||
341e7e8eda | |||
62bfd831bc | |||
287a8701f6 | |||
1881d2b88c | |||
85785df6d6 | |||
d9036cd28c | |||
8675779454 | |||
c4f79d13b9 | |||
ada8710e63 | |||
5327207e0f | |||
5fa38cc3a4 | |||
ed5d0d2105 | |||
182c3d69e4 | |||
a9041df7ab | |||
75b1b04c63 | |||
94c734a607 | |||
cb4575fb18 | |||
11aae3e1c1 | |||
b659f81085 | |||
4d27d8cbc4 | |||
6bf84263b3 | |||
c122c9a968 | |||
ff7e96b78f | |||
fbfdf13b5c | |||
ad5d893907 | |||
91043fc95c | |||
81bd9b1000 | |||
73505ef7a5 | |||
e293c563b0 | |||
cb6c38d5cc | |||
7cefd3431a | |||
8e92c2cf37 | |||
0f109c92b0 | |||
d07b00b7f3 | |||
71c214c840 | |||
01e57b5d91 | |||
60a5f5fc79 | |||
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 | |||
aa4b78d483 | |||
06ca0f45a0 | |||
4baf839fe0 | |||
7b1732c116 | |||
526d56e072 | |||
0d0424272f | |||
4a3b0b25f1 | |||
5991a55c54 | |||
95104c7e25 | |||
cb682f8cfe | |||
7e1a5381b0 | |||
c6d3abbf99 | |||
bbfa0cc7f8 | |||
ae7dd1a492 | |||
c651ccc91d | |||
96b29bde91 | |||
bb0ced7581 | |||
d0d5ba7e6e | |||
57a2eee925 | |||
3009afd54e | |||
668668ad50 | |||
f18871dcd4 | |||
2075a0c27f | |||
c37d3269d9 | |||
c9fc3a6ac5 | |||
1a81f6ceea | |||
8dbd313394 | |||
bf2941be5d | |||
474df928b1 | |||
5cf2c571d0 | |||
a634a6d209 | |||
04953bc888 | |||
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 | |||
9393ae79c9 | |||
60d85e110b | |||
29aa0b2061 | |||
56f24e80f0 | |||
97c1364be6 | |||
218aa3a616 | |||
8597ea3afe | |||
c1b3c71f4b | |||
80cdaba569 | |||
bc6b8fc130 | |||
b66103c3ba | |||
ba41c1c93f | |||
a97934d820 | |||
152ff1cceb | |||
66c2827ea4 | |||
0fb370da9c | |||
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 | |||
1bb207e0fe | |||
e2a892ee05 | |||
3decb8e0ac | |||
e0db1dd7d4 | |||
2d0174e38e | |||
75cc6c67e2 | |||
9a597edc83 | |||
8f92c7755e | |||
d74a4e57d2 | |||
b000c59b0c | |||
10322a0aaf | |||
969eba6341 | |||
c335d74d34 | |||
e6dfcd6767 | |||
3ffefb54c0 | |||
db4e4113ea | |||
71d76cb480 | |||
2bed2d47b4 | |||
15a906c5e9 | |||
d078d85bc3 | |||
3198b89fb2 | |||
64d3dc9468 | |||
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 | |||
97ea0d1043 | |||
e3fa568cb3 | |||
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 | |||
dce6818d10 | |||
5cc3268720 | |||
b8bdaa97a6 | |||
5d59a32fa1 | |||
eb077745a4 | |||
b93e6e3663 | |||
c8e1ee4f2c | |||
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 | |||
e61a6c1d82 | |||
fb79947487 | |||
b1a013dd6a | |||
3630654956 | |||
f471dbc5fe | |||
366a0184e5 | |||
644edd02c1 | |||
38de156a05 | |||
1571586648 | |||
9c65ee15ee | |||
afa53fe5d1 | |||
532845604d | |||
bce14aa132 | |||
34d5217584 | |||
d717282532 | |||
12188a8299 | |||
64d8c31ebe | |||
0678b649a1 | |||
e156455ea4 | |||
3c735e0776 | |||
92e25b6b5b | |||
da7a478bc0 | |||
8e1aa2f792 | |||
48d547fb38 | |||
65bbf082c2 | |||
3345c0f5b9 | |||
f3d51ffde8 | |||
1a4927c5c5 | |||
f1064f6bc8 | |||
c4a7b0092b | |||
380694544d | |||
edd2d84665 | |||
9352fd5708 | |||
f8ee1f02da | |||
01730a3bb4 | |||
7022650f61 | |||
b4073bb387 | |||
62aad1849f | |||
e6bea66db6 | |||
c9e768bb77 | |||
8fee872647 | |||
6d2b06f02b | |||
c553fd1c1e | |||
fc1b774c72 | |||
d4241f52d1 | |||
e31316263a | |||
bf197fd7ee | |||
c1cebcf431 | |||
bed137d2d5 | |||
ffb20ce125 | |||
dbcf2bd3de | |||
c7db2d1647 | |||
e2a0ccc01f | |||
88d5a6f6cd | |||
561b46c5c8 | |||
b07bdd3472 | |||
c6076e2b4a | |||
06ab60c066 | |||
4a28f169ad | |||
7d509878b8 | |||
d928d81051 | |||
c82134a9f3 | |||
ee3efaf66c | |||
8ced8e40ac | |||
3054c66bd4 | |||
b2c851a8e6 | |||
ddb5432d23 | |||
897f964c0d | |||
dd63f169d9 | |||
00a5b79466 | |||
896ba14d65 | |||
0311086351 | |||
10e1feebb4 | |||
df43b41afc | |||
1e4119c81b | |||
e4244eb395 | |||
bd46cfae82 | |||
4e4b125c23 | |||
ab77c309b6 | |||
85f98fc037 | |||
2479083573 | |||
b6e3884092 | |||
f22166b5fe | |||
84c9dc2c5a | |||
50b54fd72a | |||
496a69802b | |||
7dde48ea7a | |||
5714722f71 | |||
c29bf4a556 | |||
3fc2aea770 | |||
c2538fd6ba | |||
b3f0c5c04e | |||
a6e888397c | |||
d952cbb190 | |||
f7febbea07 | |||
d6c8a05bd5 | |||
ff857e4ee8 | |||
173fd1a1a4 | |||
2aeae40a75 | |||
e0ab2ac6c5 | |||
1823bea10f | |||
5eb7f7ead8 | |||
c460c0ecdc | |||
5304810044 | |||
ad2f7255b3 | |||
248b68f3f2 | |||
ccfb5bdad9 | |||
670a7297c2 | |||
6f1871fe0f | |||
6308767f0b | |||
66ab301c16 | |||
20c4fbf97d | |||
77583e7739 | |||
9c94389c3e | |||
08460345b5 | |||
a1a301114e | |||
998f84075a | |||
1c3c8410ef | |||
502b0a1ad1 | |||
b28aeab4ec | |||
7d445f518e | |||
7234af6e7b | |||
eea591373e | |||
4d4813a52f | |||
baa37bff9a | |||
482b8f3208 | |||
4da588357a | |||
0170a3c6ee | |||
d30acb71ca | |||
e28dcdce13 | |||
2b141241bf | |||
86ae051274 | |||
bd51339355 | |||
6eca9c0e87 | |||
e79fcfcd3f | |||
e230cd861b | |||
16fefdc3eb | |||
73edc54e90 | |||
1dc51c663c | |||
ccfa587787 | |||
d78f340ed6 | |||
ae352c7f37 | |||
b3275838d9 | |||
7d7d680221 | |||
26ecfe3e20 | |||
749b668c7d | |||
80dad719fb | |||
1c65d3b9d3 | |||
602efc4f90 | |||
c7abbb9863 | |||
2c45009b73 | |||
8e2a5ccad1 | |||
10f5b034b6 | |||
3bb55e8aa8 | |||
4874f544f1 | |||
ff0a80af72 | |||
87fe5df365 | |||
daa22c6f8d | |||
3330311c91 | |||
a08e803d76 | |||
14ac2864dc | |||
b7242b8c9e | |||
d105324655 | |||
4701026352 | |||
f26443da04 | |||
5db9ab82b9 | |||
691d0dd0a9 | |||
6117a3d494 | |||
9dbe780174 | |||
6a49909b52 | |||
79fc3ca123 | |||
dd30800bcd | |||
b4f86a4ce8 | |||
648d9c1827 | |||
06229a6ee0 | |||
f7003da0f4 | |||
b809658141 | |||
839fa9c500 | |||
3cf6bb3406 | |||
1d39dbecc2 | |||
f5efd5196c | |||
ce21ccfae0 | |||
6003eb13c6 | |||
991a9c3af9 | |||
274447aa6b | |||
7c0c51baa4 | |||
20cb28baf9 | |||
54835fc57e | |||
4ff03347ec | |||
e6ce6f4c7a | |||
38b2e5d12c | |||
e1d6b55d5d | |||
a4cf6b4b91 | |||
cba1262100 | |||
7e76a2f975 | |||
b2feb64309 | |||
de3d8bb773 | |||
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 | |||
94f94fcbf2 | |||
74c17bb84b | |||
3957310734 | |||
c0459ca4dc | |||
d8779e1e25 | |||
5f11a7aad0 | |||
7e6ac6e439 | |||
f3f11fa6a5 | |||
076cbd6341 | |||
35936f8fc3 | |||
cbc60b6720 | |||
6127ff63cf | |||
1697bf30df | |||
d508e4a8e2 | |||
e42552135a | |||
c15bb0cad7 | |||
9742fb7e53 | |||
1c4ea83902 | |||
4717659144 | |||
be194d53c0 | |||
03db917867 | |||
5a4352024a | |||
9e5878fbed | |||
d0ea45bfc7 | |||
728fc79c00 | |||
f257482c9c | |||
eadf619cd4 | |||
faf58f4ee6 | |||
5c00acdd25 | |||
0eca37c63a | |||
9bfeaa0bcf | |||
7bbc458b44 | |||
f24ecf5998 | |||
dd75553b35 | |||
bccce0f809 | |||
6c94aba5fa | |||
937ca16645 | |||
68f4e1fc6a | |||
a01f7f2ba0 | |||
4ecc63d7f9 | |||
7c147b77d3 | |||
2233806207 | |||
8976500cbb | |||
27bd38d4e5 | |||
d372b5cf6e | |||
779792a5f2 | |||
e143ef4f6b | |||
f3d0376356 | |||
60ed26438c | |||
4ee1b225b9 | |||
9193f74235 | |||
d98c815380 | |||
03e9010c66 | |||
8b2f86a761 | |||
aeaa7e2784 | |||
8fe3ee67ad | |||
0b17b43310 | |||
0e6e1a5fbd | |||
3667a5b674 | |||
ec9fa62a10 | |||
f3efe78782 | |||
0d4217d92e | |||
5b88caa417 | |||
89294d143d | |||
ae049c955c | |||
82fbf269b9 | |||
15fbbed790 | |||
fe191fcaa5 | |||
5e078fcd83 | |||
cc291953df | |||
531675ad17 | |||
8f87d548b6 | |||
961c1b191a | |||
427ed406cd | |||
cbcfd4e3ea | |||
55a5c8d72b | |||
651ab9f553 | |||
bd368a9baf | |||
c9b92706af | |||
b352891021 | |||
fb6644a32f | |||
6aeb30eb9f | |||
ddbac79de9 | |||
34da37cc42 | |||
1b3cddd288 | |||
3e86741517 | |||
346b54dbc9 | |||
add77e8400 | |||
844cb24f28 | |||
2c4a050bc6 | |||
f25f5e61a7 | |||
47fbfded53 | |||
d1d96a82bb | |||
fcaed04df6 | |||
784f4b6f33 | |||
8cd65967fe | |||
9f50d32b9c | |||
3f0c02a1c0 | |||
940bf249fe | |||
9fd911a810 | |||
51bb8adbc9 | |||
5b713d990d | |||
cb005c1fdf | |||
06bdc23b7e | |||
39539495ac | |||
d5067112db | |||
61a64fff4f | |||
3994e64d77 | |||
852e54bc0f | |||
0551a06c22 | |||
5931b33e20 | |||
4a1b59c85f | |||
59d3924fbb | |||
7569accf41 | |||
ff7a1c677a | |||
00764ca10e | |||
426ddeead6 | |||
9aa91af036 | |||
880111c11b | |||
62210887f7 | |||
5ff569908d | |||
867bf7b490 | |||
fe45cfb518 | |||
68773ac915 | |||
0bc85abb7a | |||
3c9e56b75c | |||
fbae3d9ace | |||
aba7af8e67 | |||
b8a30194db | |||
693b407077 | |||
efb4ec68b8 | |||
5df05146d5 | |||
d813ab970d | |||
22f4c27e68 | |||
7bf272cc04 | |||
2d1a5a5856 | |||
4d7ad08f6a | |||
360f852d24 | |||
86b4c1639c | |||
967f8c9184 | |||
d59c12d7ad | |||
9b30a0339d | |||
b389e04031 | |||
ed15e20ba3 | |||
48ae20513d | |||
b5a52fa6c6 | |||
bdb830c445 | |||
4e49d95ece | |||
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 | |||
b513f71f60 | |||
c215d3d282 | |||
1d2f393ac9 | |||
69e4b3426a | |||
2db1a43f41 | |||
e4eef26d98 | |||
82edd39663 | |||
5defdf12cc | |||
2f91649a9b | |||
3097b687be | |||
a3236f4739 | |||
e99a69da6b | |||
3dd108348f | |||
9cbd46aee1 | |||
3824595664 | |||
9c7d0cc62f | |||
6248be7678 | |||
0a01752ad3 | |||
8815d8aa7c | |||
7b6bc4d835 | |||
8ba87adad6 | |||
400ecca8c1 | |||
b407d40933 | |||
2b06c1e57e | |||
125d8ecefe | |||
8132f2c44d | |||
6b869a1eeb | |||
d851ffb91f | |||
b9d56b5dd9 | |||
f80d1f95f0 | |||
6654754779 | |||
a2df521127 | |||
edac360bdd | |||
25d1ac0e59 | |||
4ab9211ac2 | |||
1d9aaed2fa | |||
ad4d8911f8 | |||
00d4ff1a69 | |||
d3badc6eb0 | |||
8456113de5 | |||
24b9cb1002 | |||
a79cbc1368 | |||
c228a5c077 | |||
e164a8fd79 | |||
76bc28a3bb | |||
f7804e250d | |||
fa73d35468 | |||
235e8d5914 | |||
01689909eb | |||
e34b272344 | |||
a58088abe2 | |||
20d1c6528c | |||
9ff8ff310b | |||
e25c070cb5 | |||
11b5390251 | |||
1f26ce615a | |||
ad1c3fbd26 | |||
8640d49682 | |||
125f81461d | |||
96e67c86f8 | |||
40adf520a3 | |||
97345145ff | |||
9abf65d23c | |||
b2273d0603 | |||
c301a23ff8 | |||
fe2a4f1591 | |||
0ddcc9cfba | |||
e2450e1245 | |||
4b623d80f7 | |||
7c15fe92ac | |||
15d64936d4 | |||
da8daa367b | |||
61f76a3612 | |||
12cd81743d | |||
b9081a6574 | |||
52894e7095 | |||
ad6f3cc7d2 | |||
6ca844e9f5 | |||
14d3bb4955 | |||
e6f637122e | |||
7a76c28ff2 | |||
1b32decefd | |||
208acbfb82 | |||
75ee3d7078 | |||
b09d8552bd | |||
51be46ec4d | |||
d393d140b5 | |||
53c98cc718 | |||
37943cc6b9 | |||
cf30bfb8fb | |||
3e33860aa1 | |||
0e8c09263e | |||
66d913367d | |||
2f2db83fb7 | |||
46c0f913a4 | |||
d4c6e9fb6f | |||
ec8cd4fc11 | |||
34a2e88ae2 | |||
12de60ac7a | |||
2dfefe0f89 | |||
e4aab50475 | |||
542b2aa2c9 | |||
3753bd1f69 | |||
63b52afaa8 | |||
218c45a45c | |||
31a8189ad1 | |||
65a3402f42 | |||
e7880fcd41 | |||
57b6dc76f2 | |||
9fe0cf3a5e | |||
b0f7c7cf86 | |||
b6c2a0d45d | |||
ec160ae12b | |||
e703d7118c | |||
ce7f8745aa | |||
9bab5b6061 | |||
3064b13053 | |||
8a2e8da367 | |||
9cc444f057 | |||
02907a08cc | |||
ad5070fb36 | |||
f1b75fbaf1 | |||
dd4dc5c574 | |||
2d08413ba1 | |||
bfa7d01413 | |||
abf8f98602 | |||
407e07f2a6 | |||
410c3428ed | |||
99e1c7367f | |||
0981140fcc | |||
2a472410cb | |||
633734d4a1 | |||
3d06c5f19d | |||
f7e8714101 | |||
551a3e60d1 | |||
3cc6a6f0f7 | |||
221bf98506 | |||
35de3ac1db | |||
a6ca9dfa5c | |||
3f09db07b3 | |||
fe3623c635 | |||
53d7d1b129 | |||
1ddb4d7e5e | |||
6dada01b95 | |||
10bdb20d6a | |||
1be645c0b1 | |||
b6de0c633e | |||
3e14384b12 | |||
4291cc10e6 | |||
93728b23ad | |||
22d55aee20 | |||
1a27a15452 | |||
5acabd84a6 | |||
9bc0619655 | |||
903bba68ab | |||
5dfb2bbd8d | |||
d00e980c22 | |||
6453f7b348 | |||
effd12ec87 | |||
36dc827bc9 | |||
2d820a61df | |||
ab58289eff | |||
512477b175 | |||
fd3aeeab0d | |||
9daf0ef065 | |||
4f4074077f | |||
5172cb3bcb | |||
a35104faa2 | |||
cee0c2750b | |||
9526473f11 | |||
01e13d0221 | |||
4097a25429 | |||
8aac6c97e8 | |||
a5aca6e883 | |||
1f56977581 | |||
a8b31316ef | |||
6d011b8e3f | |||
c7b317320c | |||
6f0166771a | |||
34120a5fb5 | |||
1030d4c8f0 | |||
6a0556e4c0 | |||
6f6be80ef1 | |||
6f75e48323 | |||
884377c128 | |||
9cf0137bdf | |||
1c18a14b63 | |||
006f678780 | |||
da2e0579ad | |||
6bd3424176 | |||
c0cca589fd | |||
9befb340dd | |||
249d54b231 | |||
f4eec8ce05 | |||
fe9122a352 | |||
a8e1d711cc | |||
90e6255a6d | |||
decba94d2c | |||
9b347673a1 | |||
15520a858f | |||
c45a18e88f | |||
cb1aefda53 | |||
b549be0da7 | |||
1fc4f97d57 | |||
0a3beb0e2e | |||
15048f8a9a | |||
91c9c86920 | |||
cba5e28426 | |||
3c3e6f5645 | |||
de983a0a18 | |||
f5b6ffad83 | |||
7839632167 | |||
373c67da1d | |||
78d2214eb4 | |||
657673f125 | |||
47be066026 | |||
fb8a4e8079 | |||
7e27173ef9 | |||
00eda23228 | |||
27ac2b1f24 | |||
e8cb4996ad | |||
56e2874a81 | |||
27c2c2ec62 | |||
117a355cda | |||
3e30cb0fbf | |||
d552f8df1b | |||
c89eb9870e | |||
d73e616003 | |||
2b66d315bb | |||
26696382ec | |||
13b49f1e74 | |||
0963008cbf | |||
060be00621 | |||
85ff22e68b | |||
430e4761ce | |||
d52571d5c1 | |||
3c83b080e4 | |||
b37f81b7b6 | |||
c923f603ea | |||
650c90a185 | |||
3a66e1bf9c | |||
481e6aaacc | |||
6eb593a764 | |||
ed27751961 | |||
08f36302b5 | |||
7aab05d2b4 | |||
b7de45b58e | |||
baf9e83c21 | |||
dfcd354cdf | |||
28b68216de | |||
ec445074e0 | |||
de42180f6a | |||
4c30d50402 | |||
a42fcd15d8 | |||
2f29e0c6fa | |||
f63272a35e | |||
c049b61d42 | |||
4825b80ef9 | |||
c7cb333f60 | |||
8f17f5b22a | |||
335e825012 | |||
d52cb5761a | |||
f76d947ae1 | |||
9afad7a1e6 | |||
89ccc1b09c | |||
b7ae14148f | |||
3219bad944 | |||
649813763c | |||
62fb6d03da | |||
b790e0f67c | |||
1f2e108887 | |||
cf424f5fd8 | |||
35e4d77587 | |||
2c5495f7b6 | |||
384364b5f1 | |||
e3f1185946 | |||
2687ffdeb7 | |||
289ca27dee | |||
2b4a888069 | |||
160c4b183c | |||
053a6b1807 | |||
009055f3ec | |||
b0bc1365c2 | |||
3f419d45ef | |||
6eca18ca73 | |||
50546b15ed | |||
303d1d0bd6 | |||
95052d1f2d | |||
6ab4ae2b41 | |||
ee3a81e69c | |||
4c4ac4db2c | |||
6376463c37 | |||
ba928c13d7 | |||
471fd3fe41 | |||
f7ade3d36b | |||
3491047e14 | |||
8b7e5f7972 | |||
03b0403b4a | |||
79192b87ad | |||
17e22ddc1c | |||
72c378d8a6 | |||
9ef5e2a722 | |||
e650d0643b | |||
fcfec8bd9a | |||
16216b6ab1 | |||
7e9003c149 | |||
147972b1a6 | |||
305a233c98 | |||
ba399c46d9 | |||
c7353967ca | |||
999f566013 | |||
66d9f38bc7 | |||
3a7fa03db9 | |||
9af49f822b | |||
6647cc2626 | |||
72004b4310 | |||
104fb26a1e | |||
337ce247e3 | |||
4c960a432c | |||
d6e82b575a | |||
bcc7a03285 | |||
5cbbe13a9f | |||
25e1940709 | |||
b294097bc6 | |||
8358f1acd5 | |||
187e290a98 | |||
ee34a2bead | |||
5889271114 | |||
2156a98045 | |||
0eea5a6e91 | |||
893a9764dc | |||
d10cb3dfab | |||
33bef7ea25 | |||
1f91e79cf6 | |||
f57b6cfdf7 | |||
f377e7a37c | |||
7671b63211 | |||
69897bc2b8 | |||
9ef176b55c | |||
2de34784df | |||
0f9e62e084 | |||
6784fab0ac | |||
62bef66fe7 | |||
d8a1bac1d4 | |||
bd62e7c364 | |||
8336832ad9 | |||
795dd116bb | |||
8a342058f6 | |||
f813f71a20 | |||
06c27689dd | |||
043478308f | |||
a06f23c739 | |||
bfef492d76 | |||
28006fb046 | |||
1e745453fe | |||
cbaeafc325 | |||
156d6ed922 | |||
7da5fd6895 | |||
d637d1b9a8 | |||
810273bc33 | |||
0179c945fc | |||
0cc77c386c | |||
0a9136f327 | |||
2d4c993392 | |||
5aae66bd99 | |||
28ad685f70 | |||
4b14ec878a | |||
dc2eacc58c | |||
024d34cb08 | |||
3ee8944fa5 | |||
75df1f434f | |||
d40d535b89 | |||
7b359ea6b3 | |||
b6aad99473 | |||
4b8d14b4c5 | |||
55ca3f99ae | |||
d95bfb12b8 | |||
f34b205f6c | |||
fceb907225 | |||
e906612121 | |||
e197c2b650 | |||
eeb3f32868 | |||
51af1886c7 | |||
fce135c4ff | |||
7b1004b0ba | |||
af82c7880f | |||
8518ff8fab | |||
91921ceff6 | |||
1df4320fa2 | |||
7146e66f08 | |||
2e70c01799 | |||
05b85022c9 | |||
ae8d082421 | |||
68690fdd0b | |||
42b0874a7e | |||
854b09592c | |||
ebb32893ba | |||
429bb40abd | |||
9937e65d88 | |||
23d25e48f5 | |||
9adfc1cfa7 | |||
a2aed08b41 | |||
e8fa59b908 | |||
f7988c15ad | |||
352bbbd9f2 | |||
62cf3ca95a | |||
0a88f08e28 | |||
6e2068ae48 | |||
257627268a | |||
2e2e7ec1ef | |||
29d9af586b | |||
3c09d6845d | |||
5d9fc888b4 | |||
0e3d40c60d | |||
98b406f3ad | |||
2b15846dbf | |||
1dca155fe3 | |||
7ca36d9398 | |||
d4b8de0420 | |||
7d9a281941 | |||
94eaa80651 | |||
7d0a9a752b | |||
136347d718 | |||
9cbcc2a7ca | |||
c20aec05e3 | |||
30d6c6eabf | |||
1b1005d1b5 | |||
ce37586475 | |||
754dbc43f0 | |||
019d1e65f5 | |||
a7cb1276cc | |||
fdec195f89 | |||
cf31f70c08 | |||
c4a0483fd5 | |||
afc711b8e1 | |||
2c0a1bd616 | |||
70a8fc999d | |||
ff8802283f | |||
eb07894fe0 | |||
2df85669d1 | |||
ce8daa1eb8 | |||
46a7471f0e | |||
3caec73b55 | |||
c8985ce053 | |||
6aea9f0fdd | |||
d14d42440d | |||
78368f2c1a | |||
d954828d45 | |||
a68a67dea3 | |||
df5213b70d | |||
aa012e9065 | |||
beed336c3e | |||
fcef9312a4 | |||
983dc69748 | |||
8f72011f1c | |||
b7756d41dc | |||
aba4727281 | |||
83d842dc8c | |||
0232852b06 | |||
6b5b3a27b7 | |||
ea230d8b62 | |||
3ee5e54038 | |||
b6e9e73e8a | |||
4dd5c4709a | |||
246090a5d0 | |||
897e3e4540 | |||
a2f69581ff | |||
13f72a1d5f | |||
7e2e4b37d3 | |||
16402b992e | |||
c44132fcf3 | |||
9f673f9477 | |||
de0957ce2e | |||
ff62eca7d1 | |||
c9cd60f6fa | |||
087e347f26 | |||
32752e966d | |||
a87679339c | |||
3bb486e439 | |||
cdbf623254 | |||
c4a7bce1b5 | |||
b4b313f94a | |||
6275c91c08 | |||
7bc4ec01dd | |||
0b707c3319 | |||
791303284c | |||
655ee9ea3e | |||
ddc2a62815 | |||
e131daa4c6 | |||
e5aa1fc472 | |||
74af95d6aa | |||
f02033f1d0 | |||
b19c12e6ed | |||
e4a4e7f27a | |||
2f9dc1fb52 | |||
3b4e395f51 | |||
883366235f | |||
51ba8ce372 | |||
4f1c0b21e9 | |||
bf7e645c90 | |||
e23fd15ada | |||
e666b89d76 | |||
ac39b27786 | |||
e36f3a8a6f | |||
4824d1b8c2 | |||
ab03803c02 | |||
a43219f2aa | |||
67beb60056 | |||
53ec551c87 | |||
3253553e12 | |||
a201c20b41 | |||
c3d8da571f | |||
802b123366 | |||
a0f58c5830 | |||
1a6d8b9148 | |||
ef93e3a49c | |||
b814da891e | |||
648027c4c8 | |||
07e2383945 | |||
ae4f07fbcc | |||
bbcefa1f3f | |||
212f2ffbf0 | |||
d3d3e4c490 | |||
5cf2741c5a | |||
b77fcd1edc | |||
42a02d8529 | |||
b328c2166e | |||
7cc8f97108 | |||
aa32939fea | |||
6b8fda2db1 | |||
ce2bc42456 | |||
fff42755ef | |||
0d4455a3ab | |||
e1273106f6 | |||
0166027e56 | |||
666c90b629 | |||
5699d17ee0 | |||
6bb69077b7 | |||
e837af6134 | |||
efc684245b | |||
419a597f64 | |||
8b013788a1 | |||
1c8cca190a | |||
e05881a457 | |||
f79d9c5814 | |||
7c85f8acb2 | |||
48f6407ffe | |||
29d8a834b5 | |||
6a364ced49 | |||
7e3dae4943 | |||
11037ee7e3 | |||
f9e3c6bebb | |||
510fa6f518 | |||
bc8d6b9b90 | |||
5a75353fe3 | |||
a21455ae66 | |||
ec73f5807c | |||
a330de31d1 | |||
68fb36eb92 | |||
2834bc27c1 | |||
92e5c77c37 | |||
c48f6816f0 | |||
b2ed944af7 | |||
c1b5d738bf | |||
808d3d717e | |||
fdc97abd4a |
7
.gitignore
vendored
7
.gitignore
vendored
@ -74,6 +74,7 @@
|
||||
/git-index-pack
|
||||
/git-init
|
||||
/git-init-db
|
||||
/git-interpret-trailers
|
||||
/git-instaweb
|
||||
/git-log
|
||||
/git-ls-files
|
||||
@ -165,6 +166,7 @@
|
||||
/git-upload-archive
|
||||
/git-upload-pack
|
||||
/git-var
|
||||
/git-verify-commit
|
||||
/git-verify-pack
|
||||
/git-verify-tag
|
||||
/git-web--browse
|
||||
@ -177,11 +179,14 @@
|
||||
/gitweb/static/gitweb.min.*
|
||||
/test-chmtime
|
||||
/test-ctype
|
||||
/test-config
|
||||
/test-date
|
||||
/test-delta
|
||||
/test-dump-cache-tree
|
||||
/test-dump-split-index
|
||||
/test-scrap-cache-tree
|
||||
/test-genrandom
|
||||
/test-hashmap
|
||||
/test-index-version
|
||||
/test-line-buffer
|
||||
/test-match-trees
|
||||
@ -195,6 +200,7 @@
|
||||
/test-revision-walking
|
||||
/test-run-command
|
||||
/test-sha1
|
||||
/test-sha1-array
|
||||
/test-sigchain
|
||||
/test-string-list
|
||||
/test-subprocess
|
||||
@ -225,6 +231,7 @@
|
||||
/config.mak.autogen
|
||||
/config.mak.append
|
||||
/configure
|
||||
/unicode
|
||||
/tags
|
||||
/TAGS
|
||||
/cscope*
|
||||
|
6
.mailmap
6
.mailmap
@ -13,6 +13,7 @@ Alex Riesen <raa.lkml@gmail.com> <raa@limbo.localdomain>
|
||||
Alex Riesen <raa.lkml@gmail.com> <raa@steel.home>
|
||||
Alex Vandiver <alex@chmrr.net> <alexmv@MIT.EDU>
|
||||
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> <Alex.Crezoff@gmail.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>
|
||||
Jens Axboe <axboe@kernel.dk> <axboe@suse.de>
|
||||
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>
|
||||
Joachim Berdal Haga <cjhaga@fys.uio.no>
|
||||
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>
|
||||
Kay Sievers <kay.sievers@vrfy.org> <kay.sievers@suse.de>
|
||||
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>
|
||||
Kent Engstrom <kent@lysator.liu.se>
|
||||
Kevin Leung <kevinlsk@gmail.com>
|
||||
@ -202,6 +205,8 @@ Seth Falcon <seth@userprimary.net> <sfalcon@fhcrc.org>
|
||||
Shawn O. Pearce <spearce@spearce.org>
|
||||
Simon Hausmann <hausmann@kde.org> <simon@lst.de>
|
||||
Simon Hausmann <hausmann@kde.org> <shausman@trolltech.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@googlemail.com>
|
||||
Stefan Sperling <stsp@elego.de> <stsp@stsp.name>
|
||||
@ -229,6 +234,7 @@ Tommi Virtanen <tv@debian.org> <tv@inoi.fi>
|
||||
Tommy Thorn <tommy-git@thorn.ws> <tt1729@yahoo.com>
|
||||
Tony Luck <tony.luck@intel.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> <xyzzy@speakeasy.org>
|
||||
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> <Uwe.Kleine-Koenig@digi.com>
|
||||
|
@ -18,6 +18,14 @@ code. For Git in general, three rough rules are:
|
||||
judgement call, the decision based more on real world
|
||||
constraints people face than what the paper standard says.
|
||||
|
||||
- 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.
|
||||
|
||||
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.
|
||||
|
||||
- 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
|
||||
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
|
||||
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
|
||||
properly nests. It should have been the way Bourne spelled
|
||||
it from day one, but unfortunately isn't.
|
||||
@ -81,23 +107,42 @@ For shell scripts specifically (not exhaustive):
|
||||
"then" should be on the next line for if statements, and "do"
|
||||
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 do not write the noiseword "function" in front of shell
|
||||
functions.
|
||||
|
||||
- We prefer a space between the function name and the parentheses. The
|
||||
opening "{" should also be on the same line.
|
||||
E.g.: my_function () {
|
||||
- We prefer a space between the function name and the parentheses,
|
||||
and no space inside the parentheses. The opening "{" should also
|
||||
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\},
|
||||
[::], [==], nor [..]) for portability.
|
||||
[::], [==], or [..]) for portability.
|
||||
|
||||
- We do not use \{m,n\};
|
||||
|
||||
- We do not use -E;
|
||||
|
||||
- We do not use ? nor + (which are \{0,1\} and \{1,\}
|
||||
- We do not use ? or + (which are \{0,1\} and \{1,\}
|
||||
respectively in BRE) but that goes without saying as these
|
||||
are ERE elements not BRE (note that \? and \+ are not even part
|
||||
of BRE -- making them accessible from BRE is a GNU extension).
|
||||
@ -106,6 +151,19 @@ For shell scripts specifically (not exhaustive):
|
||||
interface translatable. See "Marking strings for translation" in
|
||||
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:
|
||||
|
||||
- We use tabs to indent, and interpret tabs as taking up to
|
||||
@ -126,6 +184,17 @@ For C programs:
|
||||
"char * string". This makes it easier to understand code
|
||||
like "char *string, c;".
|
||||
|
||||
- Use whitespace around operators and keywords, but not inside
|
||||
parentheses and not around functions. So:
|
||||
|
||||
while (condition)
|
||||
func(bar + 1);
|
||||
|
||||
and not:
|
||||
|
||||
while( condition )
|
||||
func (bar+1);
|
||||
|
||||
- We avoid using braces unnecessarily. I.e.
|
||||
|
||||
if (bla) {
|
||||
@ -138,7 +207,7 @@ For C programs:
|
||||
of "else if" statements, it can make sense to add braces to
|
||||
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
|
||||
in, but comments invariably tend to stale out when the code
|
||||
@ -153,9 +222,101 @@ For C programs:
|
||||
* multi-line comment.
|
||||
*/
|
||||
|
||||
Note however that a comment that explains a translatable string to
|
||||
translators uses a convention of starting with a magic token
|
||||
"TRANSLATORS: " immediately after the opening delimiter, even when
|
||||
it spans multiple lines. We do not add an asterisk at the beginning
|
||||
of each line, either. E.g.
|
||||
|
||||
/* TRANSLATORS: here is a comment that explains the string
|
||||
to be translated, that follows immediately after it */
|
||||
_("Here is a translatable string explained by the above.");
|
||||
|
||||
- Double negation is often harder to understand than no negation
|
||||
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
|
||||
constructs, can be extremely confusing to others. Avoid them,
|
||||
unless there is a compelling reason to use them.
|
||||
@ -243,6 +404,38 @@ For Python scripts:
|
||||
documentation for version 2.6 does not mention this prefix, it has
|
||||
been supported since version 2.6.0.
|
||||
|
||||
Error Messages
|
||||
|
||||
- Do not end error messages with a full stop.
|
||||
|
||||
- Do not capitalize ("unable to open %s", not "Unable to open %s")
|
||||
|
||||
- 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:
|
||||
|
||||
Most (if not all) of the documentation pages are written in the
|
||||
|
@ -5,6 +5,7 @@ MAN7_TXT =
|
||||
TECH_DOCS =
|
||||
ARTICLES =
|
||||
SP_ARTICLES =
|
||||
OBSOLETE_HTML =
|
||||
|
||||
MAN1_TXT += $(filter-out \
|
||||
$(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
|
||||
@ -26,6 +27,7 @@ MAN7_TXT += gitcore-tutorial.txt
|
||||
MAN7_TXT += gitcredentials.txt
|
||||
MAN7_TXT += gitcvs-migration.txt
|
||||
MAN7_TXT += gitdiffcore.txt
|
||||
MAN7_TXT += giteveryday.txt
|
||||
MAN7_TXT += gitglossary.txt
|
||||
MAN7_TXT += gitnamespaces.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_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)
|
||||
|
||||
ARTICLES += howto-index
|
||||
ARTICLES += everyday
|
||||
ARTICLES += git-tools
|
||||
ARTICLES += git-bisect-lk2009
|
||||
# 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/rebuild-from-update-hook
|
||||
SP_ARTICLES += howto/rebase-from-internal-branch
|
||||
SP_ARTICLES += howto/keep-canonical-history-correct
|
||||
SP_ARTICLES += howto/maintain-git
|
||||
API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
|
||||
SP_ARTICLES += $(API_DOCS)
|
||||
@ -96,6 +99,13 @@ man7dir = $(mandir)/man7
|
||||
|
||||
ASCIIDOC = asciidoc
|
||||
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
|
||||
XMLTO = xmlto
|
||||
XMLTO_EXTRA =
|
||||
@ -303,14 +313,12 @@ clean:
|
||||
|
||||
$(MAN_HTML): %.html : %.txt asciidoc.conf
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||
$(TXT_TO_HTML) -d manpage -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
|
||||
$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||
$(TXT_TO_HTML) -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
|
||||
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
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
|
||||
$(TXT_TO_XML) -d manpage -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
|
||||
user-manual.xml: user-manual.txt user-manual.conf
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
$(ASCIIDOC) $(ASCIIDOC_EXTRA) -b docbook -d article -o $@+ $< && \
|
||||
$(TXT_TO_XML) -d article -o $@+ $< && \
|
||||
mv $@+ $@
|
||||
|
||||
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=../
|
||||
$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt asciidoc.conf
|
||||
$(QUIET_ASCIIDOC)$(ASCIIDOC) -b xhtml11 -f asciidoc.conf \
|
||||
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) $*.txt
|
||||
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
|
||||
|
||||
XSLT = docbook.xsl
|
||||
XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css
|
||||
@ -385,14 +391,15 @@ howto-index.txt: howto-index.sh $(wildcard howto/*.txt)
|
||||
mv $@+ $@
|
||||
|
||||
$(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
|
||||
|
||||
howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
|
||||
$(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
|
||||
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
|
||||
sed -e '1,/^$$/d' $< | $(ASCIIDOC) $(ASCIIDOC_EXTRA) -b xhtml11 - >$@+ && \
|
||||
sed -e '1,/^$$/d' $< | \
|
||||
$(TXT_TO_HTML) - >$@+ && \
|
||||
mv $@+ $@
|
||||
|
||||
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.
|
59
Documentation/RelNotes/1.9.1.txt
Normal file
59
Documentation/RelNotes/1.9.1.txt
Normal file
@ -0,0 +1,59 @@
|
||||
Git v1.9.1 Release Notes
|
||||
========================
|
||||
|
||||
Fixes since v1.9.0
|
||||
------------------
|
||||
|
||||
* "git clean -d pathspec" did not use the given pathspec correctly
|
||||
and ended up cleaning too much.
|
||||
|
||||
* "git difftool" misbehaved when the repository is bound to the
|
||||
working tree with the ".git file" mechanism, where a textual file
|
||||
".git" tells us where it is.
|
||||
|
||||
* "git push" did not pay attention to branch.*.pushremote if it is
|
||||
defined earlier than remote.pushdefault; the order of these two
|
||||
variables in the configuration file should not matter, but it did
|
||||
by mistake.
|
||||
|
||||
* Codepaths that parse timestamps in commit objects have been
|
||||
tightened.
|
||||
|
||||
* "git diff --external-diff" incorrectly fed the submodule directory
|
||||
in the working tree to the external diff driver when it knew it is
|
||||
the same as one of the versions being compared.
|
||||
|
||||
* "git reset" needs to refresh the index when working in a working
|
||||
tree (it can also be used to match the index to the HEAD in an
|
||||
otherwise bare repository), but it failed to set up the working
|
||||
tree properly, causing GIT_WORK_TREE to be ignored.
|
||||
|
||||
* "git check-attr" when working on a repository with a working tree
|
||||
did not work well when the working tree was specified via the
|
||||
--work-tree (and obviously with --git-dir) option.
|
||||
|
||||
* "merge-recursive" was broken in 1.7.7 era and stopped working in
|
||||
an empty (temporary) working tree, when there are renames
|
||||
involved. This has been corrected.
|
||||
|
||||
* "git rev-parse" was loose in rejecting command line arguments
|
||||
that do not make sense, e.g. "--default" without the required
|
||||
value for that option.
|
||||
|
||||
* include.path variable (or any variable that expects a path that
|
||||
can use ~username expansion) in the configuration file is not a
|
||||
boolean, but the code failed to check it.
|
||||
|
||||
* "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
|
||||
correct status value.
|
||||
|
||||
* Attempting to deepen a shallow repository by fetching over smart
|
||||
HTTP transport failed in the protocol exchange, when no-done
|
||||
extension was used. The fetching side waited for the list of
|
||||
shallow boundary commits after the sending end stopped talking to
|
||||
it.
|
||||
|
||||
* Allow "git cmd path/", when the 'path' is where a submodule is
|
||||
bound to the top-level working tree, to match 'path', despite the
|
||||
extra and unnecessary trailing slash (such a slash is often
|
||||
given by command line completion).
|
67
Documentation/RelNotes/1.9.2.txt
Normal file
67
Documentation/RelNotes/1.9.2.txt
Normal file
@ -0,0 +1,67 @@
|
||||
Git v1.9.2 Release Notes
|
||||
========================
|
||||
|
||||
Fixes since v1.9.1
|
||||
------------------
|
||||
|
||||
* Documentation and in-code comments had many instances of mistaken
|
||||
use of "nor", which have been corrected.
|
||||
|
||||
* "git fetch --prune", when the right-hand-side of multiple fetch
|
||||
refspecs overlap (e.g. storing "refs/heads/*" to
|
||||
"refs/remotes/origin/*", while storing "refs/frotz/*" to
|
||||
"refs/remotes/origin/fr/*"), aggressively thought that lack of
|
||||
"refs/heads/fr/otz" on the origin site meant we should remove
|
||||
"refs/remotes/origin/fr/otz" from us, without checking their
|
||||
"refs/frotz/otz" first.
|
||||
|
||||
Note that such a configuration is inherently unsafe (think what
|
||||
should happen when "refs/heads/fr/otz" does appear on the origin
|
||||
site), but that is not a reason not to be extra careful.
|
||||
|
||||
* "git update-ref --stdin" did not fail a request to create a ref
|
||||
when the ref already existed.
|
||||
|
||||
* "git diff --no-index -Mq a b" fell into an infinite loop.
|
||||
|
||||
* When it is not necessary to edit a commit log message (e.g. "git
|
||||
commit -m" is given a message without specifying "-e"), we used to
|
||||
disable the spawning of the editor by overriding GIT_EDITOR, but
|
||||
this means all the uses of the editor, other than to edit the
|
||||
commit log message, are also affected.
|
||||
|
||||
* "git status --porcelain --branch" showed its output with labels
|
||||
"ahead/behind/gone" translated to the user's locale.
|
||||
|
||||
* "git mv" that moves a submodule forgot to adjust the array that
|
||||
uses to keep track of which submodules were to be moved to update
|
||||
its configuration.
|
||||
|
||||
* Length limit for the pathname used when removing a path in a deep
|
||||
subdirectory has been removed to avoid buffer overflows.
|
||||
|
||||
* The test helper lib-terminal always run an actual test_expect_*
|
||||
when included, which screwed up with the use of skil-all that may
|
||||
have to be done later.
|
||||
|
||||
* "git index-pack" used a wrong variable to name the keep-file in an
|
||||
error message when the file cannot be written or closed.
|
||||
|
||||
* "rebase -i" produced a broken insn sheet when the title of a commit
|
||||
happened to contain '\n' (or ended with '\c') due to a careless use
|
||||
of 'echo'.
|
||||
|
||||
* There were a few instances of 'git-foo' remaining in the
|
||||
documentation that should have been spelled 'git foo'.
|
||||
|
||||
* Serving objects from a shallow repository needs to write a
|
||||
new file to hold the temporary shallow boundaries but it was not
|
||||
cleaned when we exit due to die() or a signal.
|
||||
|
||||
* When "git stash pop" stops after failing to apply the stash
|
||||
(e.g. due to conflicting changes), the stash is not dropped. State
|
||||
that explicitly in the output to let the users know.
|
||||
|
||||
* The labels in "git status" output that describe the nature of
|
||||
conflicts (e.g. "both deleted") were limited to 20 bytes, which was
|
||||
too short for some l10n (e.g. fr).
|
21
Documentation/RelNotes/1.9.3.txt
Normal file
21
Documentation/RelNotes/1.9.3.txt
Normal file
@ -0,0 +1,21 @@
|
||||
Git v1.9.3 Release Notes
|
||||
========================
|
||||
|
||||
Fixes since v1.9.2
|
||||
------------------
|
||||
|
||||
* "git p4" dealing with changes in binary files were broken by a
|
||||
change in 1.9 release.
|
||||
|
||||
* The shell prompt script (in contrib/), when using the PROMPT_COMMAND
|
||||
interface, used an unsafe construct when showing the branch name in
|
||||
$PS1.
|
||||
|
||||
* "git rebase" used a POSIX shell construct FreeBSD /bin/sh does not
|
||||
work well with.
|
||||
|
||||
* Some more Unicode codepoints defined in Unicode 6.3 as having
|
||||
zero width have been taught to our display column counting logic.
|
||||
|
||||
* Some tests used shell constructs that did not work well on
|
||||
FreeBSD.
|
16
Documentation/RelNotes/1.9.4.txt
Normal file
16
Documentation/RelNotes/1.9.4.txt
Normal file
@ -0,0 +1,16 @@
|
||||
Git v1.9.4 Release Notes
|
||||
========================
|
||||
|
||||
Fixes since v1.9.3
|
||||
------------------
|
||||
|
||||
* Commands that take pathspecs on the command line misbehaved when
|
||||
the pathspec is given as an absolute pathname (which is a
|
||||
practice not particularly encouraged) that points at a symbolic
|
||||
link in the working tree.
|
||||
|
||||
* An earlier fix to the shell prompt script (in contrib/) for using
|
||||
the PROMPT_COMMAND interface did not correctly check if the extra
|
||||
code path needs to trigger, causing the branch name not to appear
|
||||
when 'promptvars' option is disabled in bash or PROMPT_SUBST is
|
||||
unset in zsh.
|
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.
|
364
Documentation/RelNotes/2.0.0.txt
Normal file
364
Documentation/RelNotes/2.0.0.txt
Normal file
@ -0,0 +1,364 @@
|
||||
Git v2.0 Release Notes
|
||||
======================
|
||||
|
||||
Backward compatibility notes
|
||||
----------------------------
|
||||
|
||||
When "git push [$there]" does not say what to push, we have used the
|
||||
traditional "matching" semantics so far (all your branches were sent
|
||||
to the remote as long as there already are branches of the same name
|
||||
over there). In Git 2.0, the default is now the "simple" semantics,
|
||||
which pushes:
|
||||
|
||||
- only the current branch to the branch with the same name, and only
|
||||
when the current branch is set to integrate with that remote
|
||||
branch, if you are pushing to the same remote as you fetch from; or
|
||||
|
||||
- only the current branch to the branch with the same name, if you
|
||||
are pushing to a remote that is not where you usually fetch from.
|
||||
|
||||
You can use the configuration variable "push.default" to change
|
||||
this. If you are an old-timer who wants to keep using the
|
||||
"matching" semantics, you can set the variable to "matching", for
|
||||
example. Read the documentation for other possibilities.
|
||||
|
||||
When "git add -u" and "git add -A" are run inside a subdirectory
|
||||
without specifying which paths to add on the command line, they
|
||||
operate on the entire tree for consistency with "git commit -a" and
|
||||
other commands (these commands used to operate only on the current
|
||||
subdirectory). Say "git add -u ." or "git add -A ." if you want to
|
||||
limit the operation to the current directory.
|
||||
|
||||
"git add <path>" is the same as "git add -A <path>" now, so that
|
||||
"git add dir/" will notice paths you removed from the directory and
|
||||
record the removal. In older versions of Git, "git add <path>" used
|
||||
to ignore removals. You can say "git add --ignore-removal <path>" to
|
||||
add only added or modified paths in <path>, if you really want to.
|
||||
|
||||
The "-q" option to "git diff-files", which does *NOT* mean "quiet",
|
||||
has been removed (it told Git to ignore deletion, which you can do
|
||||
with "git diff-files --diff-filter=d").
|
||||
|
||||
"git request-pull" lost a few "heuristics" that often led to mistakes.
|
||||
|
||||
The default prefix for "git svn" has changed in Git 2.0. For a long
|
||||
time, "git svn" created its remote-tracking branches directly under
|
||||
refs/remotes, but it now places them under refs/remotes/origin/ unless
|
||||
it is told otherwise with its "--prefix" option.
|
||||
|
||||
|
||||
Updates since v1.9 series
|
||||
-------------------------
|
||||
|
||||
UI, Workflows & Features
|
||||
|
||||
* The "multi-mail" post-receive hook (in contrib/) has been updated
|
||||
to a more recent version from upstream.
|
||||
|
||||
* The "remote-hg/bzr" remote-helper interfaces (used to be in
|
||||
contrib/) are no more. They are now maintained separately as
|
||||
third-party plug-ins in their own repositories.
|
||||
|
||||
* "git gc --aggressive" learned "--depth" option and
|
||||
"gc.aggressiveDepth" configuration variable to allow use of a less
|
||||
insane depth than the built-in default value of 250.
|
||||
|
||||
* "git log" learned the "--show-linear-break" option to show where a
|
||||
single strand-of-pearls is broken in its output.
|
||||
|
||||
* The "rev-parse --parseopt" mechanism used by scripted Porcelains to
|
||||
parse command-line options and to give help text learned to take
|
||||
the argv-help (the placeholder string for an option parameter,
|
||||
e.g. "key-id" in "--gpg-sign=<key-id>").
|
||||
|
||||
* The pattern to find where the function begins in C/C++ used in
|
||||
"diff" and "grep -p" has been updated to improve viewing C++
|
||||
sources.
|
||||
|
||||
* "git rebase" learned to interpret a lone "-" as "@{-1}", the
|
||||
branch that we were previously on.
|
||||
|
||||
* "git commit --cleanup=<mode>" learned a new mode, scissors.
|
||||
|
||||
* "git tag --list" output can be sorted using "version sort" with
|
||||
"--sort=version:refname".
|
||||
|
||||
* Discard the accumulated "heuristics" to guess from which branch the
|
||||
result wants to be pulled from and make sure that what the end user
|
||||
specified is not second-guessed by "git request-pull", to avoid
|
||||
mistakes. When you pushed out your 'master' branch to your public
|
||||
repository as 'for-linus', use the new "master:for-linus" syntax to
|
||||
denote the branch to be pulled.
|
||||
|
||||
* "git grep" learned to behave in a way similar to native grep when
|
||||
"-h" (no header) and "-c" (count) options are given.
|
||||
|
||||
* "git push" via transport-helper interface has been updated to
|
||||
allow forced ref updates in a way similar to the natively
|
||||
supported transports.
|
||||
|
||||
* The "simple" mode is the default for "git push".
|
||||
|
||||
* "git add -u" and "git add -A", when run without any pathspec, is a
|
||||
tree-wide operation even when run inside a subdirectory of a
|
||||
working tree.
|
||||
|
||||
* "git add <path>" is the same as "git add -A <path>" now.
|
||||
|
||||
* "core.statinfo" configuration variable, which is a
|
||||
never-advertised synonym to "core.checkstat", has been removed.
|
||||
|
||||
* The "-q" option to "git diff-files", which does *NOT* mean
|
||||
"quiet", has been removed (it told Git to ignore deletion, which
|
||||
you can do with "git diff-files --diff-filter=d").
|
||||
|
||||
* Server operators can loosen the "tips of refs only" restriction for
|
||||
the remote archive service with the uploadarchive.allowUnreachable
|
||||
configuration option.
|
||||
|
||||
* The progress indicators from various time-consuming commands have
|
||||
been marked for i18n/l10n.
|
||||
|
||||
* "git notes -C <blob>" diagnoses as an error an attempt to use an
|
||||
object that is not a blob.
|
||||
|
||||
* "git config" learned to read from the standard input when "-" is
|
||||
given as the value to its "--file" parameter (attempting an
|
||||
operation to update the configuration in the standard input is
|
||||
rejected, of course).
|
||||
|
||||
* Trailing whitespaces in .gitignore files, unless they are quoted
|
||||
for fnmatch(3), e.g. "path\ ", are warned and ignored. Strictly
|
||||
speaking, this is a backward-incompatible change, but very unlikely
|
||||
to bite any sane user and adjusting should be obvious and easy.
|
||||
|
||||
* Many commands that create commits, e.g. "pull" and "rebase",
|
||||
learned to take the "--gpg-sign" option on the command line.
|
||||
|
||||
* "git commit" can be told to always GPG sign the resulting commit
|
||||
by setting the "commit.gpgsign" configuration variable to "true"
|
||||
(the command-line option "--no-gpg-sign" should override it).
|
||||
|
||||
* "git pull" can be told to only accept fast-forward by setting the
|
||||
new "pull.ff" configuration variable.
|
||||
|
||||
* "git reset" learned the "-N" option, which does not reset the index
|
||||
fully for paths the index knows about but the tree-ish the command
|
||||
resets to does not (these paths are kept as intend-to-add entries).
|
||||
|
||||
|
||||
Performance, Internal Implementation, etc.
|
||||
|
||||
* The compilation options to port to AIX and to MSVC have been
|
||||
updated.
|
||||
|
||||
* We started using wildmatch() in place of fnmatch(3) a few releases
|
||||
ago; complete the process and stop using fnmatch(3).
|
||||
|
||||
* Uses of curl's "multi" interface and "easy" interface do not mix
|
||||
well when we attempt to reuse outgoing connections. Teach the RPC
|
||||
over HTTP code, used in the smart HTTP transport, not to use the
|
||||
"easy" interface.
|
||||
|
||||
* The bitmap-index feature from JGit has been ported, which should
|
||||
significantly improve performance when serving objects from a
|
||||
repository that uses it.
|
||||
|
||||
* The way "git log --cc" shows a combined diff against multiple
|
||||
parents has been optimized.
|
||||
|
||||
* The prefixcmp() and suffixcmp() functions are gone. Use
|
||||
starts_with() and ends_with(), and also consider if skip_prefix()
|
||||
suits your needs better when using the former.
|
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups. Many
|
||||
of them came from flurry of activities as GSoC candidate microproject
|
||||
exercises.
|
||||
|
||||
|
||||
Fixes since v1.9 series
|
||||
-----------------------
|
||||
|
||||
Unless otherwise noted, all the fixes since v1.9 in the maintenance
|
||||
track are contained in this release (see the maintenance releases'
|
||||
notes for details).
|
||||
|
||||
* "git p4" was broken in 1.9 release to deal with changes in binary
|
||||
files.
|
||||
(merge 749b668 cl/p4-use-diff-tree later to maint).
|
||||
|
||||
* The shell prompt script (in contrib/), when using the PROMPT_COMMAND
|
||||
interface, used an unsafe construct when showing the branch name in
|
||||
$PS1.
|
||||
(merge 1e4119c8 rh/prompt-pcmode-avoid-eval-on-refname later to maint).
|
||||
|
||||
* "git rebase" used a POSIX shell construct FreeBSD's /bin/sh does not
|
||||
work well with.
|
||||
(merge 8cd6596 km/avoid-non-function-return-in-rebase later to maint).
|
||||
|
||||
* zsh prompt (in contrib/) leaked unnecessary error messages.
|
||||
|
||||
* Bash completion (in contrib/) did not complete the refs and remotes
|
||||
correctly given "git pu<TAB>" when "pu" is aliased to "push".
|
||||
|
||||
* Some more Unicode code points, defined in Unicode 6.3 as having zero
|
||||
width, have been taught to our display column counting logic.
|
||||
(merge d813ab9 tb/unicode-6.3-zero-width later to maint).
|
||||
|
||||
* Some tests used shell constructs that did not work well on FreeBSD
|
||||
(merge ff7a1c6 km/avoid-bs-in-shell-glob later to maint).
|
||||
(merge 00764ca km/avoid-cp-a later to maint).
|
||||
|
||||
* "git update-ref --stdin" did not fail a request to create a ref
|
||||
when the ref already existed.
|
||||
(merge b9d56b5 mh/update-ref-batch-create-fix later to maint).
|
||||
|
||||
* "git diff --no-index -Mq a b" fell into an infinite loop.
|
||||
(merge ad1c3fb jc/fix-diff-no-index-diff-opt-parse later to maint).
|
||||
|
||||
* "git fetch --prune", when the right-hand side of multiple fetch
|
||||
refspecs overlap (e.g. storing "refs/heads/*" to
|
||||
"refs/remotes/origin/*", while storing "refs/frotz/*" to
|
||||
"refs/remotes/origin/fr/*"), aggressively thought that lack of
|
||||
"refs/heads/fr/otz" on the origin site meant we should remove
|
||||
"refs/remotes/origin/fr/otz" from us, without checking their
|
||||
"refs/frotz/otz" first.
|
||||
|
||||
Note that such a configuration is inherently unsafe (think what
|
||||
should happen when "refs/heads/fr/otz" does appear on the origin
|
||||
site), but that is not a reason not to be extra careful.
|
||||
(merge e6f6371 cn/fetch-prune-overlapping-destination later to maint).
|
||||
|
||||
* "git status --porcelain --branch" showed its output with labels
|
||||
"ahead/behind/gone" translated to the user's locale.
|
||||
(merge 7a76c28 mm/status-porcelain-format-i18n-fix later to maint).
|
||||
|
||||
* A stray environment variable $prefix could have leaked into and
|
||||
affected the behaviour of the "subtree" script (in contrib/).
|
||||
|
||||
* When it is not necessary to edit a commit log message (e.g. "git
|
||||
commit -m" is given a message without specifying "-e"), we used to
|
||||
disable the spawning of the editor by overriding GIT_EDITOR, but
|
||||
this means all the uses of the editor, other than to edit the
|
||||
commit log message, are also affected.
|
||||
(merge b549be0 bp/commit-p-editor later to maint).
|
||||
|
||||
* "git mv" that moves a submodule forgot to adjust the array that
|
||||
uses to keep track of which submodules were to be moved to update
|
||||
its configuration.
|
||||
(merge fb8a4e8 jk/mv-submodules-fix later to maint).
|
||||
|
||||
* Length limit for the pathname used when removing a path in a deep
|
||||
subdirectory has been removed to avoid buffer overflows.
|
||||
(merge 2f29e0c mh/remove-subtree-long-pathname-fix later to maint).
|
||||
|
||||
* The test helper lib-terminal always run an actual test_expect_*
|
||||
when included, which screwed up with the use of skil-all that may
|
||||
have to be done later.
|
||||
(merge 7e27173 jk/lib-terminal-lazy later to maint).
|
||||
|
||||
* "git index-pack" used a wrong variable to name the keep-file in an
|
||||
error message when the file cannot be written or closed.
|
||||
(merge de983a0 nd/index-pack-error-message later to maint).
|
||||
|
||||
* "rebase -i" produced a broken insn sheet when the title of a commit
|
||||
happened to contain '\n' (or ended with '\c') due to a careless use
|
||||
of 'echo'.
|
||||
(merge cb1aefd us/printf-not-echo later to maint).
|
||||
|
||||
* There were a few instances of 'git-foo' remaining in the
|
||||
documentation that should have been spelled 'git foo'.
|
||||
(merge 3c3e6f5 rr/doc-merge-strategies later to maint).
|
||||
|
||||
* Serving objects from a shallow repository needs to write a
|
||||
new file to hold the temporary shallow boundaries, but it was not
|
||||
cleaned when we exit due to die() or a signal.
|
||||
(merge 7839632 jk/shallow-update-fix later to maint).
|
||||
|
||||
* When "git stash pop" stops after failing to apply the stash
|
||||
(e.g. due to conflicting changes), the stash is not dropped. State
|
||||
that explicitly in the output to let the users know.
|
||||
(merge 2d4c993 jc/stash-pop-not-popped later to maint).
|
||||
|
||||
* The labels in "git status" output that describe the nature of
|
||||
conflicts (e.g. "both deleted") were limited to 20 bytes, which was
|
||||
too short for some l10n (e.g. fr).
|
||||
(merge c7cb333 jn/wt-status later to maint).
|
||||
|
||||
* "git clean -d pathspec" did not use the given pathspec correctly
|
||||
and ended up cleaning too much.
|
||||
(merge 1f2e108 jk/clean-d-pathspec later to maint).
|
||||
|
||||
* "git difftool" misbehaved when the repository is bound to the
|
||||
working tree with the ".git file" mechanism, where a textual file
|
||||
".git" tells us where it is.
|
||||
(merge fcfec8b da/difftool-git-files later to maint).
|
||||
|
||||
* "git push" did not pay attention to "branch.*.pushremote" if it is
|
||||
defined earlier than "remote.pushdefault"; the order of these two
|
||||
variables in the configuration file should not matter, but it did
|
||||
by mistake.
|
||||
(merge 98b406f jk/remote-pushremote-config-reading later to maint).
|
||||
|
||||
* Code paths that parse timestamps in commit objects have been
|
||||
tightened.
|
||||
(merge f80d1f9 jk/commit-dates-parsing-fix later to maint).
|
||||
|
||||
* "git diff --external-diff" incorrectly fed the submodule directory
|
||||
in the working tree to the external diff driver when it knew that it
|
||||
is the same as one of the versions being compared.
|
||||
(merge aba4727 tr/diff-submodule-no-reuse-worktree later to maint).
|
||||
|
||||
* "git reset" needs to refresh the index when working in a working
|
||||
tree (it can also be used to match the index to the HEAD in an
|
||||
otherwise bare repository), but it failed to set up the working
|
||||
tree properly, causing GIT_WORK_TREE to be ignored.
|
||||
(merge b7756d4 nd/reset-setup-worktree later to maint).
|
||||
|
||||
* "git check-attr" when working on a repository with a working tree
|
||||
did not work well when the working tree was specified via the
|
||||
"--work-tree" (and obviously with "--git-dir") option.
|
||||
(merge cdbf623 jc/check-attr-honor-working-tree later to maint).
|
||||
|
||||
* "merge-recursive" was broken in 1.7.7 era and stopped working in
|
||||
an empty (temporary) working tree, when there are renames
|
||||
involved. This has been corrected.
|
||||
(merge 6e2068a bk/refresh-missing-ok-in-merge-recursive later to maint.)
|
||||
|
||||
* "git rev-parse" was loose in rejecting command-line arguments
|
||||
that do not make sense, e.g. "--default" without the required
|
||||
value for that option.
|
||||
(merge a43219f ds/rev-parse-required-args later to maint.)
|
||||
|
||||
* "include.path" variable (or any variable that expects a path that
|
||||
can use ~username expansion) in the configuration file is not a
|
||||
boolean, but the code failed to check it.
|
||||
(merge 67beb60 jk/config-path-include-fix later to maint.)
|
||||
|
||||
* Commands that take pathspecs on the command line misbehaved when
|
||||
the pathspec is given as an absolute pathname (which is a
|
||||
practice not particularly encouraged) that points at a symbolic
|
||||
link in the working tree.
|
||||
(merge 6127ff6 mw/symlinks later to maint.)
|
||||
|
||||
* "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
|
||||
the correct status value.
|
||||
(merge f34b205 nd/diff-quiet-stat-dirty later to maint.)
|
||||
|
||||
* Attempting to deepen a shallow repository by fetching over smart
|
||||
HTTP transport failed in the protocol exchange, when the no-done
|
||||
extension was used. The fetching side waited for the list of
|
||||
shallow boundary commits after the sending side stopped talking to
|
||||
it.
|
||||
(merge 0232852 nd/http-fetch-shallow-fix later to maint.)
|
||||
|
||||
* Allow "git cmd path/", when the 'path' is where a submodule is
|
||||
bound to the top-level working tree, to match 'path', despite the
|
||||
extra and unnecessary trailing slash (such a slash is often
|
||||
given by command-line completion).
|
||||
(merge 2e70c01 nd/submodule-pathspec-ending-with-slash later to maint.)
|
||||
|
||||
* Documentation and in-code comments had many instances of mistaken
|
||||
use of "nor", which have been corrected.
|
||||
(merge 235e8d5 jl/nor-or-nand-and later to maint).
|
115
Documentation/RelNotes/2.0.1.txt
Normal file
115
Documentation/RelNotes/2.0.1.txt
Normal file
@ -0,0 +1,115 @@
|
||||
Git v2.0.1 Release Notes
|
||||
========================
|
||||
|
||||
* 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.
|
||||
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
* "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.
|
||||
|
||||
* 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.
|
||||
|
||||
* The "mailmap.file" configuration option did not support the tilde
|
||||
expansion (i.e. ~user/path and ~/path).
|
||||
|
||||
* 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".
|
||||
|
||||
* "--ignore-space-change" option of "git apply" ignored the spaces
|
||||
at the beginning of line too aggressively, which is inconsistent
|
||||
with the option of the same name "diff" and "git diff" have.
|
||||
|
||||
* "git blame" miscounted number of columns needed to show localized
|
||||
timestamps, resulting in jaggy left-side-edge of the source code
|
||||
lines in its output.
|
||||
|
||||
* "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.
|
||||
|
||||
* "git commit --allow-empty-message -C $commit" did not work when the
|
||||
commit did not have any log message.
|
||||
|
||||
* "git diff --find-copies-harder" sometimes pretended as if the mode
|
||||
bits have changed for paths that are marked with assume-unchanged
|
||||
bit.
|
||||
|
||||
* "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.
|
||||
|
||||
* "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.
|
||||
|
||||
* "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).
|
||||
|
||||
* 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".
|
||||
|
||||
* The error reporting from "git index-pack" has been improved to
|
||||
distinguish missing objects from type errors.
|
||||
|
||||
* "git mailinfo" used to read beyond the end of header string while
|
||||
parsing an incoming e-mail message to extract the patch.
|
||||
|
||||
* 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.
|
||||
|
||||
* "git pack-objects" unnecessarily copied the previous contents when
|
||||
extending the hashtable, even though it will populate the table
|
||||
from scratch anyway.
|
||||
|
||||
* "git rerere forget" did not work well when merge.conflictstyle
|
||||
was set to a non-default value.
|
||||
|
||||
* "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.
|
||||
|
||||
* "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.
|
||||
|
||||
* 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.
|
||||
|
||||
* "git show -s" (i.e. show log message only) used to incorrectly emit
|
||||
an extra blank line after a merge commit.
|
||||
|
||||
* "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 modify the index while it
|
||||
is running. Detect such a race and avoid overwriting the index.
|
||||
|
||||
* "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 should not to hide
|
||||
changes in the "status" output to cause the users forget to commit
|
||||
them.
|
||||
|
||||
* The mode to run tests with HTTP server tests disabled was broken.
|
32
Documentation/RelNotes/2.0.2.txt
Normal file
32
Documentation/RelNotes/2.0.2.txt
Normal file
@ -0,0 +1,32 @@
|
||||
Git v2.0.2 Release Notes
|
||||
========================
|
||||
|
||||
* Documentation for "git submodule sync" forgot to say that the subcommand
|
||||
can take the "--recursive" option.
|
||||
|
||||
* Mishandling of patterns in .gitignore that has trailing SPs quoted
|
||||
with backslashes (e.g. ones that end with "\ ") have been
|
||||
corrected.
|
||||
|
||||
* Recent updates to "git repack" started to duplicate objects that
|
||||
are in packfiles marked with .keep flag into the new packfile by
|
||||
mistake.
|
||||
|
||||
* "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().
|
||||
|
||||
* "%G" (nothing after G) is an invalid pretty format specifier, but
|
||||
the parser did not notice it as garbage.
|
||||
|
||||
* Code to avoid adding the same alternate object store twice was
|
||||
subtly broken for a long time, but nobody seems to have noticed.
|
||||
|
||||
* 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.
|
||||
|
||||
* During "git rebase --merge", a conflicted patch could not be
|
||||
skipped with "--skip" if the next one also conflicted.
|
17
Documentation/RelNotes/2.0.3.txt
Normal file
17
Documentation/RelNotes/2.0.3.txt
Normal file
@ -0,0 +1,17 @@
|
||||
Git v2.0.3 Release Notes
|
||||
========================
|
||||
|
||||
* An ancient rewrite passed a wrong pointer to a curl library
|
||||
function in a rarely used code path.
|
||||
|
||||
* "filter-branch" left an empty single-parent commit that results when
|
||||
all parents of a merge commit gets mapped to the same commit, even
|
||||
under "--prune-empty".
|
||||
|
||||
* "log --show-signature" incorrectly decided the color to paint a
|
||||
mergetag that was and was not correctly validated.
|
||||
|
||||
* "log --show-signature" did not pay attention to "--graph" option.
|
||||
|
||||
Also a lot of fixes to the tests and some updates to the docs are
|
||||
included.
|
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.
|
@ -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
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
comment on the changes you are submitting. It is important for
|
||||
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,
|
||||
other than the commit message itself. Place such "cover letter"
|
||||
material between the three dash lines and the diffstat. Git-notes
|
||||
can also be inserted using the `--notes` option.
|
||||
material between the three-dash line and the diffstat. For
|
||||
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 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
|
||||
it.
|
||||
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
(d) I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off) is
|
||||
maintained indefinitely and may be redistributed consistent with
|
||||
this project or the open source license(s) involved.
|
||||
|
||||
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
|
||||
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).
|
||||
|
||||
(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',
|
||||
and cooked further and eventually graduates to 'master'.
|
||||
|
@ -14,7 +14,8 @@ the fully qualified variable name of the variable itself is the last
|
||||
dot-separated segment and the section name is everything before the last
|
||||
dot. The variable names are case-insensitive, allow only alphanumeric
|
||||
characters and `-`, and must start with an alphabetic character. Some
|
||||
variables may appear multiple times.
|
||||
variables may appear multiple times; we say then that the variable is
|
||||
multivalued.
|
||||
|
||||
Syntax
|
||||
~~~~~~
|
||||
@ -25,7 +26,7 @@ blank lines are ignored.
|
||||
|
||||
The file consists of sections and variables. A section begins with
|
||||
the name of the section in square brackets and continues until the next
|
||||
section begins. Section names are not case sensitive. Only alphanumeric
|
||||
section begins. Section names are case-insensitive. Only alphanumeric
|
||||
characters, `-` and `.` are allowed in section names. Each variable
|
||||
must belong to some section, which means that there must be a section
|
||||
header before the first setting of a variable.
|
||||
@ -40,8 +41,8 @@ in the section header, like in the example below:
|
||||
--------
|
||||
|
||||
Subsection names are case sensitive and can contain any characters except
|
||||
newline (doublequote `"` and backslash have to be escaped as `\"` and `\\`,
|
||||
respectively). Section headers cannot span multiple
|
||||
newline (doublequote `"` and backslash can be included by escaping them
|
||||
as `\"` and `\\`, respectively). Section headers cannot span multiple
|
||||
lines. Variables may belong directly to a section or to a given subsection.
|
||||
You can have `[section]` if you have `[section "subsection"]`, but you
|
||||
don't need to.
|
||||
@ -53,38 +54,27 @@ restrictions as section names.
|
||||
|
||||
All the other lines (and the remainder of the line after the section
|
||||
header) are recognized as setting variables, in the form
|
||||
'name = value'. If there is no equal sign on the line, the entire line
|
||||
is taken as 'name' and the variable is recognized as boolean "true".
|
||||
'name = value' (or just 'name', which is a short-hand to say that
|
||||
the variable is the boolean "true").
|
||||
The variable names are case-insensitive, allow only alphanumeric characters
|
||||
and `-`, and must start with an alphabetic character. There can be more
|
||||
than one value for a given variable; we say then that the variable is
|
||||
multivalued.
|
||||
and `-`, and must start with an alphabetic character.
|
||||
|
||||
Leading and trailing whitespace in a variable value is discarded.
|
||||
Internal whitespace within a variable value is retained verbatim.
|
||||
A line that defines a value can be continued to the next line by
|
||||
ending it with a `\`; the backquote and the end-of-line are
|
||||
stripped. Leading whitespaces after 'name =', the remainder of the
|
||||
line after the first comment character '#' or ';', and trailing
|
||||
whitespaces of the line are discarded unless they are enclosed in
|
||||
double quotes. Internal whitespaces within the value are retained
|
||||
verbatim.
|
||||
|
||||
The values following the equals sign in variable assign are all either
|
||||
a string, an integer, or a boolean. Boolean values may be given as yes/no,
|
||||
1/0, true/false or on/off. Case is not significant in boolean values, when
|
||||
converting value to the canonical form using '--bool' type specifier;
|
||||
'git config' will ensure that the output is "true" or "false".
|
||||
|
||||
String values may be entirely or partially enclosed in double quotes.
|
||||
You need to enclose variable values in double quotes if you want to
|
||||
preserve leading or trailing whitespace, or if the variable value contains
|
||||
comment characters (i.e. it contains '#' or ';').
|
||||
Double quote `"` and backslash `\` characters in variable values must
|
||||
be escaped: use `\"` for `"` and `\\` for `\`.
|
||||
Inside double quotes, double quote `"` and backslash `\` characters
|
||||
must be escaped: use `\"` for `"` and `\\` for `\`.
|
||||
|
||||
The following escape sequences (beside `\"` and `\\`) are recognized:
|
||||
`\n` for newline character (NL), `\t` for horizontal tabulation (HT, TAB)
|
||||
and `\b` for backspace (BS). No other char escape sequence, nor octal
|
||||
char sequences are valid.
|
||||
and `\b` for backspace (BS). Other char escape sequences (including octal
|
||||
escape sequences) are invalid.
|
||||
|
||||
Variable values ending in a `\` are continued on the next line in the
|
||||
customary UNIX fashion.
|
||||
|
||||
Some variables may require a special value format.
|
||||
|
||||
Includes
|
||||
~~~~~~~~
|
||||
@ -126,13 +116,73 @@ Example
|
||||
path = foo ; expand "foo" relative to the current file
|
||||
path = ~/foo ; expand "foo" in your $HOME directory
|
||||
|
||||
|
||||
Values
|
||||
~~~~~~
|
||||
|
||||
Values of many variables are treated as a simple string, but there
|
||||
are variables that take values of specific types and there are rules
|
||||
as to how to spell them.
|
||||
|
||||
boolean::
|
||||
|
||||
When a variable is said to take a boolean value, many
|
||||
synonyms are accepted for 'true' and 'false'; these are all
|
||||
case-insensitive.
|
||||
|
||||
true;; Boolean true can be spelled as `yes`, `on`, `true`,
|
||||
or `1`. Also, a variable defined without `= <value>`
|
||||
is taken as true.
|
||||
|
||||
false;; Boolean false can be spelled as `no`, `off`,
|
||||
`false`, or `0`.
|
||||
+
|
||||
When converting value to the canonical form using '--bool' type
|
||||
specifier; 'git config' will ensure that the output is "true" or
|
||||
"false" (spelled in lowercase).
|
||||
|
||||
integer::
|
||||
The value for many variables that specify various sizes can
|
||||
be suffixed with `k`, `M`,... to mean "scale the number by
|
||||
1024", "by 1024x1024", etc.
|
||||
|
||||
color::
|
||||
The value for a variables that takes a color is a list of
|
||||
colors (at most two) and attributes (at most one), separated
|
||||
by spaces. The colors accepted are `normal`, `black`,
|
||||
`red`, `green`, `yellow`, `blue`, `magenta`, `cyan` and
|
||||
`white`; the attributes are `bold`, `dim`, `ul`, `blink` and
|
||||
`reverse`. The first color given is the foreground; the
|
||||
second is the background. The position of the attribute, if
|
||||
any, doesn't matter. Attributes may be turned off
|
||||
specifically by prefixing them with `no` (e.g., `noreverse`,
|
||||
`noul`, etc).
|
||||
+
|
||||
Colors (foreground and background) may also be given as numbers between
|
||||
0 and 255; these use ANSI 256-color mode (but note that not all
|
||||
terminals may support this). If your terminal supports it, you may also
|
||||
specify 24-bit RGB values as hex, like `#ff0ab3`.
|
||||
+
|
||||
The attributes are meant to be reset at the beginning of each item
|
||||
in the colored output, so setting color.decorate.branch to `black`
|
||||
will paint that branch name in a plain `black`, even if the previous
|
||||
thing on the same output line (e.g. opening parenthesis before the
|
||||
list of branch names in `log --decorate` output) is set to be
|
||||
painted with `bold` or some other attribute.
|
||||
|
||||
|
||||
Variables
|
||||
~~~~~~~~~
|
||||
|
||||
Note that this list is non-comprehensive and not necessarily complete.
|
||||
For command-specific variables, you will find a more detailed description
|
||||
in the appropriate manual page. You will find a description of non-core
|
||||
porcelain configuration variables in the respective porcelain documentation.
|
||||
in the appropriate manual page.
|
||||
|
||||
Other git-related tools may and do use their own variables. When
|
||||
inventing new variables for use in your own tool, make sure their
|
||||
names do not conflict with those that are used by Git itself and
|
||||
other popular tools, and describe them in your documentation.
|
||||
|
||||
|
||||
advice.*::
|
||||
These variables control various optional help messages designed to
|
||||
@ -142,19 +192,13 @@ advice.*::
|
||||
--
|
||||
pushUpdateRejected::
|
||||
Set this variable to 'false' if you want to disable
|
||||
'pushNonFFCurrent', 'pushNonFFDefault',
|
||||
'pushNonFFCurrent',
|
||||
'pushNonFFMatching', 'pushAlreadyExists',
|
||||
'pushFetchFirst', and 'pushNeedsForce'
|
||||
simultaneously.
|
||||
pushNonFFCurrent::
|
||||
Advice shown when linkgit:git-push[1] fails due to a
|
||||
non-fast-forward update to the current branch.
|
||||
pushNonFFDefault::
|
||||
Advice to set 'push.default' to 'upstream' or 'current'
|
||||
when you ran linkgit:git-push[1] and pushed 'matching
|
||||
refs' by default (i.e. you did not provide an explicit
|
||||
refspec, and no 'push.default' configuration was set)
|
||||
and it resulted in a non-fast-forward error.
|
||||
pushNonFFMatching::
|
||||
Advice shown when you ran linkgit:git-push[1] and pushed
|
||||
'matching refs' explicitly (i.e. you used ':', or
|
||||
@ -205,13 +249,26 @@ advice.*::
|
||||
--
|
||||
|
||||
core.fileMode::
|
||||
If false, the executable bit differences between the index and
|
||||
the working tree are ignored; useful on broken filesystems like FAT.
|
||||
See linkgit:git-update-index[1].
|
||||
Tells Git if the executable bit of files in the working tree
|
||||
is to be honored.
|
||||
+
|
||||
The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]
|
||||
will probe and set core.fileMode false if appropriate when the
|
||||
repository is created.
|
||||
Some filesystems lose the executable bit when a file that is
|
||||
marked as executable is checked out, or checks out an
|
||||
non-executable file with executable bit on.
|
||||
linkgit:git-clone[1] or linkgit:git-init[1] probe the filesystem
|
||||
to see if it handles the executable bit correctly
|
||||
and this variable is automatically set as necessary.
|
||||
+
|
||||
A repository, however, may be on a filesystem that handles
|
||||
the filemode correctly, and this variable is set to 'true'
|
||||
when created, but later may be made accessible from another
|
||||
environment that loses the filemode (e.g. exporting ext4 via
|
||||
CIFS mount, visiting a Cygwin created repository with
|
||||
Git for Windows or Eclipse).
|
||||
In such a case it may be necessary to set this variable to 'false'.
|
||||
See linkgit:git-update-index[1].
|
||||
+
|
||||
The default is true (when core.filemode is not specified in the config file).
|
||||
|
||||
core.ignorecase::
|
||||
If true, this option enables various workarounds to enable
|
||||
@ -234,6 +291,17 @@ core.precomposeunicode::
|
||||
When false, file names are handled fully transparent by Git,
|
||||
which is backward compatible with older versions of Git.
|
||||
|
||||
core.protectHFS::
|
||||
If set to true, do not allow checkout of paths that would
|
||||
be considered equivalent to `.git` on an HFS+ filesystem.
|
||||
Defaults to `true` on Mac OS, and `false` elsewhere.
|
||||
|
||||
core.protectNTFS::
|
||||
If set to true, do not allow checkout of paths that would
|
||||
cause problems with the NTFS filesystem, e.g. conflict with
|
||||
8.3 "short" names.
|
||||
Defaults to `true` on Windows, and `false` elsewhere.
|
||||
|
||||
core.trustctime::
|
||||
If false, the ctime differences between the index and the
|
||||
working tree are ignored; useful when the inode change time
|
||||
@ -352,14 +420,19 @@ This is useful for excluding servers inside a firewall from
|
||||
proxy use, while defaulting to a common proxy for external domains.
|
||||
|
||||
core.ignoreStat::
|
||||
If true, commands which modify both the working tree and the index
|
||||
will mark the updated paths with the "assume unchanged" bit in the
|
||||
index. These marked files are then assumed to stay unchanged in the
|
||||
working tree, until you mark them otherwise manually - Git will not
|
||||
detect the file changes by lstat() calls. This is useful on systems
|
||||
where those are very slow, such as Microsoft Windows.
|
||||
See linkgit:git-update-index[1].
|
||||
False by default.
|
||||
If true, Git will avoid using lstat() calls to detect if files have
|
||||
changed by setting the "assume-unchanged" bit for those tracked files
|
||||
which it has updated identically in both the index and working tree.
|
||||
+
|
||||
When files are modified outside of Git, the user will need to stage
|
||||
the modified files explicitly (e.g. see 'Examples' section in
|
||||
linkgit:git-update-index[1]).
|
||||
Git will not normally detect changes to those files.
|
||||
+
|
||||
This is useful on systems where lstat() calls are very slow, such as
|
||||
CIFS/Microsoft Windows.
|
||||
+
|
||||
False by default.
|
||||
|
||||
core.preferSymlinkRefs::
|
||||
Instead of the default "symref" format for HEAD
|
||||
@ -382,7 +455,7 @@ false), while all other repositories are assumed to be bare (bare
|
||||
core.worktree::
|
||||
Set the path to the root of the working tree.
|
||||
This can be overridden by the GIT_WORK_TREE environment
|
||||
variable and the '--work-tree' command line option.
|
||||
variable and the '--work-tree' command-line option.
|
||||
The value can be an absolute path or relative to the path to
|
||||
the .git directory, which is either specified by --git-dir
|
||||
or GIT_DIR, or automatically discovered.
|
||||
@ -490,7 +563,7 @@ core.deltaBaseCacheLimit::
|
||||
to avoid unpacking and decompressing frequently used base
|
||||
objects multiple times.
|
||||
+
|
||||
Default is 16 MiB on all platforms. This should be reasonable
|
||||
Default is 96 MiB on all platforms. This should be reasonable
|
||||
for all users/operating systems, except on the largest projects.
|
||||
You probably do not need to adjust this value.
|
||||
+
|
||||
@ -500,7 +573,8 @@ core.bigFileThreshold::
|
||||
Files larger than this size are stored deflated, without
|
||||
attempting delta compression. Storing large files without
|
||||
delta compression avoids excessive memory usage, at the
|
||||
slight expense of increased disk usage.
|
||||
slight expense of increased disk usage. Additionally files
|
||||
larger than this size are always treated as binary.
|
||||
+
|
||||
Default is 512 MiB on all platforms. This should be reasonable
|
||||
for most projects as source code and other text files can still
|
||||
@ -524,7 +598,7 @@ core.askpass::
|
||||
environment variable. If not set, fall back to the value of the
|
||||
'SSH_ASKPASS' environment variable or, failing that, a simple password
|
||||
prompt. The external program shall be given a suitable prompt as
|
||||
command line argument and write the password on its STDOUT.
|
||||
command-line argument and write the password on its STDOUT.
|
||||
|
||||
core.attributesfile::
|
||||
In addition to '.gitattributes' (per-directory) and
|
||||
@ -545,6 +619,9 @@ core.commentchar::
|
||||
messages consider a line that begins with this character
|
||||
commented, and removes them after the editor returns
|
||||
(default '#').
|
||||
+
|
||||
If set to "auto", `git-commit` would select a character that is not
|
||||
the beginning character of any line in existing commit messages.
|
||||
|
||||
sequence.editor::
|
||||
Text editor used by `git rebase -i` for editing the rebase instruction file.
|
||||
@ -559,14 +636,19 @@ core.pager::
|
||||
configuration, then `$PAGER`, and then the default chosen at
|
||||
compile time (usually 'less').
|
||||
+
|
||||
When the `LESS` environment variable is unset, Git sets it to `FRSX`
|
||||
When the `LESS` environment variable is unset, Git sets it to `FRX`
|
||||
(if `LESS` environment variable is set, Git does not change it at
|
||||
all). If you want to selectively override Git's default setting
|
||||
for `LESS`, you can set `core.pager` to e.g. `less -+S`. This will
|
||||
for `LESS`, you can set `core.pager` to e.g. `less -S`. This will
|
||||
be passed to the shell by Git, which will translate the final
|
||||
command to `LESS=FRSX less -+S`. The environment tells the command
|
||||
to set the `S` option to chop long lines but the command line
|
||||
resets it to the default to fold long lines.
|
||||
command to `LESS=FRX less -S`. The environment does not set the
|
||||
`S` option but the command line does, instructing less to truncate
|
||||
long lines. Similarly, setting `core.pager` to `less -+F` will
|
||||
deactivate the `F` option specified by the environment from the
|
||||
command-line, deactivating the "quit if one screen" behavior of
|
||||
`less`. One can specifically activate some flags for particular
|
||||
commands: for example, setting `pager.blame` to `less -S` enables
|
||||
line truncation only for `git blame`.
|
||||
+
|
||||
Likewise, when the `LV` environment variable is unset, Git sets it
|
||||
to `-c`. You can override this setting by exporting `LV` with
|
||||
@ -614,9 +696,9 @@ core.preloadindex::
|
||||
+
|
||||
This can speed up operations like 'git diff' and 'git status' especially
|
||||
on filesystems like NFS that have weak caching semantics and thus
|
||||
relatively high IO latencies. With this set to 'true', Git will do the
|
||||
relatively high IO latencies. When enabled, Git will do the
|
||||
index comparison to the filesystem data in parallel, allowing
|
||||
overlapping IO's.
|
||||
overlapping IO's. Defaults to true.
|
||||
|
||||
core.createObject::
|
||||
You can set this to 'link', in which case a hardlink followed by
|
||||
@ -646,14 +728,13 @@ core.abbrev::
|
||||
for abbreviated object names to stay unique for sufficiently long
|
||||
time.
|
||||
|
||||
add.ignore-errors::
|
||||
add.ignoreErrors::
|
||||
add.ignore-errors (deprecated)::
|
||||
Tells 'git add' to continue adding files when some files cannot be
|
||||
added due to indexing errors. Equivalent to the '--ignore-errors'
|
||||
option of linkgit:git-add[1]. Older versions of Git accept only
|
||||
`add.ignore-errors`, which does not follow the usual naming
|
||||
convention for configuration variables. Newer versions of Git
|
||||
honor `add.ignoreErrors` as well.
|
||||
option of linkgit:git-add[1]. `add.ignore-errors` is deprecated,
|
||||
as it does not follow the usual naming convention for configuration
|
||||
variables.
|
||||
|
||||
alias.*::
|
||||
Command aliases for the linkgit:git[1] command wrapper - e.g.
|
||||
@ -662,7 +743,7 @@ alias.*::
|
||||
confusion and troubles with script usage, aliases that
|
||||
hide existing Git commands are ignored. Arguments are split by
|
||||
spaces, the usual shell quoting and escaping is supported.
|
||||
quote pair and a backslash can be used to quote them.
|
||||
A quote pair or a backslash can be used to quote them.
|
||||
+
|
||||
If the alias expansion is prefixed with an exclamation point,
|
||||
it will be treated as a shell command. For example, defining
|
||||
@ -810,14 +891,6 @@ color.branch.<slot>::
|
||||
`remote` (a remote-tracking branch in refs/remotes/),
|
||||
`upstream` (upstream tracking branch), `plain` (other
|
||||
refs).
|
||||
+
|
||||
The value for these configuration variables is a list of colors (at most
|
||||
two) and attributes (at most one), separated by spaces. The colors
|
||||
accepted are `normal`, `black`, `red`, `green`, `yellow`, `blue`,
|
||||
`magenta`, `cyan` and `white`; the attributes are `bold`, `dim`, `ul`,
|
||||
`blink` and `reverse`. The first color given is the foreground; the
|
||||
second is the background. The position of the attribute, if any,
|
||||
doesn't matter.
|
||||
|
||||
color.diff::
|
||||
Whether to use ANSI escape sequences to add color to patches.
|
||||
@ -827,7 +900,7 @@ color.diff::
|
||||
commands will only use color when output is to the terminal.
|
||||
Defaults to false.
|
||||
+
|
||||
This does not affect linkgit:git-format-patch[1] nor the
|
||||
This does not affect linkgit:git-format-patch[1] or the
|
||||
'git-diff-{asterisk}' plumbing commands. Can be overridden on the
|
||||
command line with the `--color[=<when>]` option.
|
||||
|
||||
@ -837,8 +910,7 @@ color.diff.<slot>::
|
||||
of `plain` (context text), `meta` (metainformation), `frag`
|
||||
(hunk header), 'func' (function in hunk header), `old` (removed lines),
|
||||
`new` (added lines), `commit` (commit headers), or `whitespace`
|
||||
(highlighting whitespace errors). The values of these variables may be
|
||||
specified as in color.branch.<slot>.
|
||||
(highlighting whitespace errors).
|
||||
|
||||
color.decorate.<slot>::
|
||||
Use customized color for 'git log --decorate' output. `<slot>` is one
|
||||
@ -864,15 +936,17 @@ color.grep.<slot>::
|
||||
`linenumber`;;
|
||||
line number prefix (when using `-n`)
|
||||
`match`;;
|
||||
matching text
|
||||
matching text (same as setting `matchContext` and `matchSelected`)
|
||||
`matchContext`;;
|
||||
matching text in context lines
|
||||
`matchSelected`;;
|
||||
matching text in selected lines
|
||||
`selected`;;
|
||||
non-matching text in selected lines
|
||||
`separator`;;
|
||||
separators between fields on a line (`:`, `-`, and `=`)
|
||||
and between hunks (`--`)
|
||||
--
|
||||
+
|
||||
The values of these variables may be specified as in color.branch.<slot>.
|
||||
|
||||
color.interactive::
|
||||
When set to `always`, always use colors for interactive prompts
|
||||
@ -885,8 +959,7 @@ color.interactive.<slot>::
|
||||
Use customized color for 'git add --interactive' and 'git clean
|
||||
--interactive' output. `<slot>` may be `prompt`, `header`, `help`
|
||||
or `error`, for four distinct types of normal output from
|
||||
interactive commands. The values of these variables may be
|
||||
specified as in color.branch.<slot>.
|
||||
interactive commands.
|
||||
|
||||
color.pager::
|
||||
A boolean to enable/disable colored output when the pager is in
|
||||
@ -910,10 +983,10 @@ color.status.<slot>::
|
||||
`added` or `updated` (files which are added but not committed),
|
||||
`changed` (files which are changed but not added in the index),
|
||||
`untracked` (files which are not tracked by Git),
|
||||
`branch` (the current branch), or
|
||||
`branch` (the current branch),
|
||||
`nobranch` (the color the 'no branch' warning is shown in, defaulting
|
||||
to red). The values of these variables may be specified as in
|
||||
color.branch.<slot>.
|
||||
to red), or
|
||||
`unmerged` (files which have unmerged changes).
|
||||
|
||||
color.ui::
|
||||
This variable determines the default value for variables such
|
||||
@ -992,6 +1065,14 @@ commit.cleanup::
|
||||
have to remove the help lines that begin with `#` in the commit log
|
||||
template yourself, if you do this).
|
||||
|
||||
commit.gpgsign::
|
||||
|
||||
A boolean to specify whether all commits should be GPG signed.
|
||||
Use of this option when doing operations such as rebase can
|
||||
result in a large number of commits being signed. It may be
|
||||
convenient to use an agent to avoid typing your GPG passphrase
|
||||
several times.
|
||||
|
||||
commit.status::
|
||||
A boolean to enable/disable inclusion of status information in the
|
||||
commit message template when using an editor to prepare the commit
|
||||
@ -1107,6 +1188,10 @@ format.signature::
|
||||
Set this variable to the empty string ("") to suppress
|
||||
signature generation.
|
||||
|
||||
format.signaturefile::
|
||||
Works just like format.signature except the contents of the
|
||||
file specified by this variable will be used as the signature.
|
||||
|
||||
format.suffix::
|
||||
The default for format-patch is to output files with the suffix
|
||||
`.patch`. Use this variable to change that suffix (make sure to
|
||||
@ -1149,6 +1234,11 @@ filter.<driver>.smudge::
|
||||
object to a worktree file upon checkout. See
|
||||
linkgit:gitattributes[5] for details.
|
||||
|
||||
gc.aggressiveDepth::
|
||||
The depth parameter used in the delta compression
|
||||
algorithm used by 'git gc --aggressive'. This defaults
|
||||
to 250.
|
||||
|
||||
gc.aggressiveWindow::
|
||||
The window size parameter used in the delta compression
|
||||
algorithm used by 'git gc --aggressive'. This defaults
|
||||
@ -1167,6 +1257,10 @@ gc.autopacklimit::
|
||||
--auto` consolidates them into one larger pack. The
|
||||
default value is 50. Setting this to 0 disables it.
|
||||
|
||||
gc.autodetach::
|
||||
Make `git gc --auto` return immediately and run in background
|
||||
if the system supports it. Default is true.
|
||||
|
||||
gc.packrefs::
|
||||
Running `git pack-refs` in a repository renders it
|
||||
unclonable by Git versions prior to 1.5.1.2 over dumb
|
||||
@ -1308,10 +1402,10 @@ grep.extendedRegexp::
|
||||
gpg.program::
|
||||
Use this custom program instead of "gpg" found on $PATH when
|
||||
making or verifying a PGP signature. The program must support the
|
||||
same command line interface as GPG, namely, to verify a detached
|
||||
same command-line interface as GPG, namely, to verify a detached
|
||||
signature, "gpg --verify $file - <$signature" is run, and the
|
||||
program is expected to signal a good signature by exiting with
|
||||
code 0, and to generate an ascii-armored detached signature, the
|
||||
code 0, and to generate an ASCII-armored detached signature, the
|
||||
standard input of "gpg -bsau $key" is fed with the contents to be
|
||||
signed, and the program is expected to send the result to its
|
||||
standard output.
|
||||
@ -1324,6 +1418,10 @@ gui.diffcontext::
|
||||
Specifies how many context lines should be used in calls to diff
|
||||
made by the linkgit:git-gui[1]. The default is "5".
|
||||
|
||||
gui.displayuntracked::
|
||||
Determines if linkgit::git-gui[1] shows untracked files
|
||||
in the file list. The default is "true".
|
||||
|
||||
gui.encoding::
|
||||
Specifies the default encoding to use for displaying of
|
||||
file contents in linkgit:git-gui[1] and linkgit:gitk[1].
|
||||
@ -1542,7 +1640,7 @@ http.useragent::
|
||||
Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
|
||||
|
||||
http.<url>.*::
|
||||
Any of the http.* options above can be applied selectively to some urls.
|
||||
Any of the http.* options above can be applied selectively to some URLs.
|
||||
For a config key to match a URL, each element of the config key is
|
||||
compared to that of the URL, in the following order:
|
||||
+
|
||||
@ -1581,8 +1679,8 @@ if the URL is `https://user@example.com/foo/bar` a config key match of
|
||||
+
|
||||
All URLs are normalized before attempting any matching (the password part,
|
||||
if embedded in the URL, is always ignored for matching purposes) so that
|
||||
equivalent urls that are simply spelled differently will match properly.
|
||||
Environment variable settings always override any matches. The urls that are
|
||||
equivalent URLs that are simply spelled differently will match properly.
|
||||
Environment variable settings always override any matches. The URLs that are
|
||||
matched against are those given directly to Git commands. This means any URLs
|
||||
visited as a result of a redirection do not participate in matching.
|
||||
|
||||
@ -1601,6 +1699,10 @@ imap::
|
||||
The configuration variables in the 'imap' section are described
|
||||
in linkgit:git-imap-send[1].
|
||||
|
||||
index.version::
|
||||
Specify the version with which new index files should be
|
||||
initialized. This does not affect existing repositories.
|
||||
|
||||
init.templatedir::
|
||||
Specify the directory from which templates will be copied.
|
||||
(See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].)
|
||||
@ -1633,7 +1735,7 @@ interactive.singlekey::
|
||||
linkgit:git-add[1], linkgit:git-checkout[1], linkgit:git-commit[1],
|
||||
linkgit:git-reset[1], and linkgit:git-stash[1]. Note that this
|
||||
setting is silently ignored if portable keystroke input
|
||||
is not available.
|
||||
is not available; requires the Perl module Term::ReadKey.
|
||||
|
||||
log.abbrevCommit::
|
||||
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
|
||||
@ -1664,6 +1766,13 @@ log.mailmap::
|
||||
If true, makes linkgit:git-log[1], linkgit:git-show[1], and
|
||||
linkgit:git-whatchanged[1] assume `--use-mailmap`.
|
||||
|
||||
mailinfo.scissors::
|
||||
If true, makes linkgit:git-mailinfo[1] (and therefore
|
||||
linkgit:git-am[1]) act by default as if the --scissors option
|
||||
was provided on the command-line. When active, this features
|
||||
removes everything from the message body before a scissors
|
||||
line (i.e. consisting mainly of ">8", "8<" and "-").
|
||||
|
||||
mailmap.file::
|
||||
The location of an augmenting mailmap file. The default
|
||||
mailmap, located in the root of the repository, is loaded
|
||||
@ -1718,6 +1827,15 @@ mergetool.<tool>.trustExitCode::
|
||||
if the file has been updated, otherwise the user is prompted to
|
||||
indicate the success of the merge.
|
||||
|
||||
mergetool.meld.hasOutput::
|
||||
Older versions of `meld` do not support the `--output` option.
|
||||
Git will attempt to detect whether `meld` supports `--output`
|
||||
by inspecting the output of `meld --help`. Configuring
|
||||
`mergetool.meld.hasOutput` will make Git skip these checks and
|
||||
use the configured value instead. Setting `mergetool.meld.hasOutput`
|
||||
to `true` tells Git to unconditionally use the `--output` option,
|
||||
and `false` avoids using `--output`.
|
||||
|
||||
mergetool.keepBackup::
|
||||
After performing a merge, the original file with conflict markers
|
||||
can be saved as a file with a `.orig` extension. If this variable
|
||||
@ -1731,6 +1849,12 @@ mergetool.keepTemporaries::
|
||||
preserved, otherwise they will be removed after the tool has
|
||||
exited. Defaults to `false`.
|
||||
|
||||
mergetool.writeToTemp::
|
||||
Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of
|
||||
conflicting files in the worktree by default. Git will attempt
|
||||
to use a temporary directory for these files when set `true`.
|
||||
Defaults to `false`.
|
||||
|
||||
mergetool.prompt::
|
||||
Prompt before each invocation of the merge resolution program.
|
||||
|
||||
@ -1791,10 +1915,11 @@ pack.depth::
|
||||
maximum depth is given on the command line. Defaults to 50.
|
||||
|
||||
pack.windowMemory::
|
||||
The window memory size limit used by linkgit:git-pack-objects[1]
|
||||
when no limit is given on the command line. The value can be
|
||||
suffixed with "k", "m", or "g". Defaults to 0, meaning no
|
||||
limit.
|
||||
The maximum size of memory that is consumed by each thread
|
||||
in linkgit:git-pack-objects[1] for pack window memory when
|
||||
no limit is given on the command line. The value can be
|
||||
suffixed with "k", "m", or "g". When left unconfigured (or
|
||||
set explicitly to 0), there will be no limit.
|
||||
|
||||
pack.compression::
|
||||
An integer -1..9, indicating the compression level for objects
|
||||
@ -1862,6 +1987,26 @@ pack.packSizeLimit::
|
||||
Common unit suffixes of 'k', 'm', or 'g' are
|
||||
supported.
|
||||
|
||||
pack.useBitmaps::
|
||||
When true, git will use pack bitmaps (if available) when packing
|
||||
to stdout (e.g., during the server side of a fetch). Defaults to
|
||||
true. You should not generally need to turn this off unless
|
||||
you are debugging pack bitmaps.
|
||||
|
||||
pack.writebitmaps (deprecated)::
|
||||
This is a deprecated synonym for `repack.writeBitmaps`.
|
||||
|
||||
pack.writeBitmapHashCache::
|
||||
When true, git will include a "hash cache" section in the bitmap
|
||||
index (if one is written). This cache can be used to feed git's
|
||||
delta heuristics, potentially leading to better deltas between
|
||||
bitmapped and non-bitmapped objects (e.g., when serving a fetch
|
||||
between an older, bitmapped pack and objects that have been
|
||||
pushed since the last gc). The downside is that it consumes 4
|
||||
bytes per object of disk space, and that JGit's bitmap
|
||||
implementation does not understand it, causing it to complain if
|
||||
Git and JGit are used on the same repository. Defaults to false.
|
||||
|
||||
pager.<cmd>::
|
||||
If the value is boolean, turns on or off pagination of the
|
||||
output of a particular Git subcommand when writing to a tty.
|
||||
@ -1881,6 +2026,16 @@ pretty.<name>::
|
||||
Note that an alias with the same name as a built-in format
|
||||
will be silently ignored.
|
||||
|
||||
pull.ff::
|
||||
By default, Git does not create an extra merge commit when merging
|
||||
a commit that is a descendant of the current commit. Instead, the
|
||||
tip of the current branch is fast-forwarded. When set to `false`,
|
||||
this variable tells Git to create an extra merge commit in such
|
||||
a case (equivalent to giving the `--no-ff` option from the command
|
||||
line). When set to `only`, only such fast-forward merges are
|
||||
allowed (equivalent to giving the `--ff-only` option from the
|
||||
command line).
|
||||
|
||||
pull.rebase::
|
||||
When true, rebase branches on top of the fetched branch, instead
|
||||
of merging the default branch from the default remote when "git
|
||||
@ -1933,7 +2088,7 @@ When pushing to a remote that is different from the remote you normally
|
||||
pull from, work as `current`. This is the safest option and is suited
|
||||
for beginners.
|
||||
+
|
||||
This mode will become the default in Git 2.0.
|
||||
This mode has become the default in Git 2.0.
|
||||
|
||||
* `matching` - push all branches having the same name on both ends.
|
||||
This makes the repository you are pushing to remember the set of
|
||||
@ -1952,8 +2107,8 @@ suitable for pushing into a shared central repository, as other
|
||||
people may add new branches there, or update the tip of existing
|
||||
branches outside your control.
|
||||
+
|
||||
This is currently the default, but Git 2.0 will change the default
|
||||
to `simple`.
|
||||
This used to be the default, but not since Git 2.0 (`simple` is the
|
||||
new default).
|
||||
|
||||
--
|
||||
|
||||
@ -1977,6 +2132,25 @@ receive.autogc::
|
||||
receiving data from git-push and updating refs. You can stop
|
||||
it by setting this variable to false.
|
||||
|
||||
receive.certnonceseed::
|
||||
By setting this variable to a string, `git receive-pack`
|
||||
will accept a `git push --signed` and verifies it by using
|
||||
a "nonce" protected by HMAC using this string as a secret
|
||||
key.
|
||||
|
||||
receive.certnonceslop::
|
||||
When a `git push --signed` sent a push certificate with a
|
||||
"nonce" that was issued by a receive-pack serving the same
|
||||
repository within this many seconds, export the "nonce"
|
||||
found in the certificate to `GIT_PUSH_CERT_NONCE` to the
|
||||
hooks (instead of what the receive-pack asked the sending
|
||||
side to include). This may allow writing checks in
|
||||
`pre-receive` and `post-receive` a bit easier. Instead of
|
||||
checking `GIT_PUSH_CERT_NONCE_SLOP` environment variable
|
||||
that records by how many seconds the nonce is stale to
|
||||
decide if they want to accept the certificate, they only
|
||||
can check `GIT_PUSH_CERT_NONCE_STATUS` is `OK`.
|
||||
|
||||
receive.fsckObjects::
|
||||
If it is set to true, git-receive-pack will check all received
|
||||
objects. It will abort in the case of a malformed object or a
|
||||
@ -2010,6 +2184,13 @@ receive.denyCurrentBranch::
|
||||
print a warning of such a push to stderr, but allow the push to
|
||||
proceed. If set to false or "ignore", allow such pushes with no
|
||||
message. Defaults to "refuse".
|
||||
+
|
||||
Another option is "updateInstead" which will update the working
|
||||
directory (must be clean) if pushing into the current branch. This option is
|
||||
intended for synchronizing working directories when one side is not easily
|
||||
accessible via interactive ssh (e.g. a live web site, hence the requirement
|
||||
that the working directory be clean). This mode also comes in handy when
|
||||
developing inside a VM to test and fix code on different Operating Systems.
|
||||
|
||||
receive.denyNonFastForwards::
|
||||
If set to true, git-receive-pack will deny a ref update which is
|
||||
@ -2111,6 +2292,21 @@ repack.usedeltabaseoffset::
|
||||
"false" and repack. Access from old Git versions over the
|
||||
native protocol are unaffected by this option.
|
||||
|
||||
repack.packKeptObjects::
|
||||
If set to true, makes `git repack` act as if
|
||||
`--pack-kept-objects` was passed. See linkgit:git-repack[1] for
|
||||
details. Defaults to `false` normally, but `true` if a bitmap
|
||||
index is being written (either via `--write-bitmap-index` or
|
||||
`repack.writeBitmaps`).
|
||||
|
||||
repack.writeBitmaps::
|
||||
When true, git will write a bitmap index when packing all
|
||||
objects to disk (e.g., when `git repack -a` is run). This
|
||||
index can speed up the "counting objects" phase of subsequent
|
||||
packs created for clones and fetches, at the cost of some disk
|
||||
space and extra time spent on the initial repack. Defaults to
|
||||
false.
|
||||
|
||||
rerere.autoupdate::
|
||||
When set to true, `git-rerere` updates the index with the
|
||||
resulting contents after it cleanly resolves conflicts using
|
||||
@ -2134,7 +2330,7 @@ sendemail.smtpencryption::
|
||||
See linkgit:git-send-email[1] for description. Note that this
|
||||
setting is not subject to the 'identity' mechanism.
|
||||
|
||||
sendemail.smtpssl::
|
||||
sendemail.smtpssl (deprecated)::
|
||||
Deprecated alias for 'sendemail.smtpencryption = ssl'.
|
||||
|
||||
sendemail.smtpsslcertpath::
|
||||
@ -2169,10 +2365,12 @@ sendemail.smtpserverport::
|
||||
sendemail.smtpserveroption::
|
||||
sendemail.smtpuser::
|
||||
sendemail.thread::
|
||||
sendemail.transferencoding::
|
||||
sendemail.validate::
|
||||
sendemail.xmailer::
|
||||
See linkgit:git-send-email[1] for description.
|
||||
|
||||
sendemail.signedoffcc::
|
||||
sendemail.signedoffcc (deprecated)::
|
||||
Deprecated alias for 'sendemail.signedoffbycc'.
|
||||
|
||||
showbranch.default::
|
||||
@ -2205,7 +2403,7 @@ status.showUntrackedFiles::
|
||||
files which are not currently tracked by Git. Directories which
|
||||
contain only untracked files, are shown with the directory name
|
||||
only. Showing untracked files means that Git needs to lstat() all
|
||||
all the files in the whole repository, which might be slow on some
|
||||
the files in the whole repository, which might be slow on some
|
||||
systems. So, this variable controls how the commands displays
|
||||
the untracked files. Possible values are:
|
||||
+
|
||||
@ -2227,20 +2425,26 @@ status.submodulesummary::
|
||||
--summary-limit option of linkgit:git-submodule[1]). Please note
|
||||
that the summary output command will be suppressed for all
|
||||
submodules when `diff.ignoreSubmodules` is set to 'all' or only
|
||||
for those submodules where `submodule.<name>.ignore=all`. To
|
||||
for those submodules where `submodule.<name>.ignore=all`. The only
|
||||
exception to that rule is that status and commit will show staged
|
||||
submodule changes. To
|
||||
also view the summary for ignored submodules you can either use
|
||||
the --ignore-submodules=dirty command line option or the 'git
|
||||
the --ignore-submodules=dirty command-line option or the 'git
|
||||
submodule summary' command, which shows a similar output but does
|
||||
not honor these settings.
|
||||
|
||||
submodule.<name>.path::
|
||||
submodule.<name>.url::
|
||||
The path within this project and URL for a submodule. These
|
||||
variables are initially populated by 'git submodule init'. See
|
||||
linkgit:git-submodule[1] and linkgit:gitmodules[5] for
|
||||
details.
|
||||
|
||||
submodule.<name>.update::
|
||||
The path within this project, URL, and the updating strategy
|
||||
for a submodule. These variables are initially populated
|
||||
by 'git submodule init'; edit them to override the
|
||||
URL and other values found in the `.gitmodules` file. See
|
||||
linkgit:git-submodule[1] and linkgit:gitmodules[5] for details.
|
||||
The default update procedure for a submodule. This variable
|
||||
is populated by `git submodule init` from the
|
||||
linkgit:gitmodules[5] file. See description of 'update'
|
||||
command in linkgit:git-submodule[1].
|
||||
|
||||
submodule.<name>.branch::
|
||||
The remote branch name for a submodule, used by `git submodule
|
||||
@ -2251,14 +2455,16 @@ submodule.<name>.branch::
|
||||
submodule.<name>.fetchRecurseSubmodules::
|
||||
This option can be used to control recursive fetching of this
|
||||
submodule. It can be overridden by using the --[no-]recurse-submodules
|
||||
command line option to "git fetch" and "git pull".
|
||||
command-line option to "git fetch" and "git pull".
|
||||
This setting will override that from in the linkgit:gitmodules[5]
|
||||
file.
|
||||
|
||||
submodule.<name>.ignore::
|
||||
Defines under what circumstances "git status" and the diff family show
|
||||
a submodule as modified. When set to "all", it will never be considered
|
||||
modified, "dirty" will ignore all changes to the submodules work tree and
|
||||
modified (but it will nonetheless show up in the output of status and
|
||||
commit when it has been staged), "dirty" will ignore all changes
|
||||
to the submodules work tree and
|
||||
takes only differences between the HEAD of the submodule and the commit
|
||||
recorded in the superproject into account. "untracked" will additionally
|
||||
let submodules with modified tracked files in their work tree show up.
|
||||
@ -2269,6 +2475,11 @@ submodule.<name>.ignore::
|
||||
"--ignore-submodules" option. The 'git submodule' commands are not
|
||||
affected by this setting.
|
||||
|
||||
tag.sort::
|
||||
This variable controls the sort ordering of tags when displayed by
|
||||
linkgit:git-tag[1]. Without the "--sort=<value>" option provided, the
|
||||
value of this variable will be used as the default.
|
||||
|
||||
tar.umask::
|
||||
This variable can be used to restrict the permission bits of
|
||||
tar archive entries. The default is 0002, which turns off the
|
||||
@ -2291,6 +2502,13 @@ transfer.unpackLimit::
|
||||
not set, the value of this variable is used instead.
|
||||
The default value is 100.
|
||||
|
||||
uploadarchive.allowUnreachable::
|
||||
If true, allow clients to use `git archive --remote` to request
|
||||
any tree, whether reachable from the ref tips or not. See the
|
||||
discussion in the `SECURITY` section of
|
||||
linkgit:git-upload-archive[1] for more details. Defaults to
|
||||
`false`.
|
||||
|
||||
uploadpack.hiderefs::
|
||||
String(s) `upload-pack` uses to decide which refs to omit
|
||||
from its initial advertisement. Use more than one
|
||||
|
@ -76,7 +76,7 @@ diff.ignoreSubmodules::
|
||||
this setting when reporting uncommitted changes. Setting it to
|
||||
'all' disables the submodule summary normally shown by 'git commit'
|
||||
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.
|
||||
|
||||
diff.mnemonicprefix::
|
||||
|
@ -66,7 +66,8 @@ be committed)
|
||||
|
||||
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
|
||||
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
|
||||
and it is out of sync with the index.
|
||||
|
@ -174,7 +174,7 @@ added, from the point of view of that parent).
|
||||
In the above example output, the function signature was changed
|
||||
from both files (hence two `-` removals from both file1 and
|
||||
file2, plus `++` to mean one line that was added does not appear
|
||||
in either file1 nor file2). Also eight other lines are the same
|
||||
in either file1 or file2). Also eight other lines are the same
|
||||
from file1 but do not appear in file2 (hence prefixed with `+`).
|
||||
|
||||
When shown by `git diff-tree -c`, it compares the parents of a
|
||||
|
@ -358,7 +358,7 @@ endif::git-log[]
|
||||
--irreversible-delete::
|
||||
Omit the preimage for deletes, i.e. print only the header but not
|
||||
the diff between the preimage and `/dev/null`. The resulting patch
|
||||
is not meant to be applied with `patch` nor `git apply`; this is
|
||||
is not meant to be applied with `patch` or `git apply`; this is
|
||||
solely for people who want to just concentrate on reviewing the
|
||||
text after the change. In addition, the output obviously lack
|
||||
enough information to apply such a patch in reverse, even manually,
|
||||
|
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.
|
@ -72,6 +72,14 @@ endif::git-pull[]
|
||||
setting. See linkgit:git-config[1].
|
||||
|
||||
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::
|
||||
--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
|
||||
--------
|
||||
[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]]
|
||||
[--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing]
|
||||
[--] [<pathspec>...]
|
||||
@ -53,8 +53,14 @@ OPTIONS
|
||||
Files to add content from. Fileglobs (e.g. `*.c`) can
|
||||
be given to add all matching files. Also a
|
||||
leading directory name (e.g. `dir` to add `dir/file1`
|
||||
and `dir/file2`) can be given to add all files in the
|
||||
directory, recursively.
|
||||
and `dir/file2`) can be given to update the index to
|
||||
match the current state of the directory as a whole (e.g.
|
||||
specifying `dir` will record not just a file `dir/file1`
|
||||
modified in the working tree, a file `dir/file2` added to
|
||||
the working tree, but also a file `dir/file3` removed from
|
||||
the working tree. Note that older versions of Git used
|
||||
to ignore removed files; use `--no-all` option if you want
|
||||
to add modified or new files but ignore removed ones.
|
||||
|
||||
-n::
|
||||
--dry-run::
|
||||
@ -104,10 +110,10 @@ apply to the index. See EDITING PATCHES below.
|
||||
<pathspec>. This removes as well as modifies index entries to
|
||||
match the working tree, but adds no new files.
|
||||
+
|
||||
If no <pathspec> is given, the current version of Git defaults to
|
||||
"."; in other words, update all tracked files in the current directory
|
||||
and its subdirectories. This default will change in a future version
|
||||
of Git, hence the form without <pathspec> should not be used.
|
||||
If no <pathspec> is given when `-u` option is used, all
|
||||
tracked files in the entire working tree are updated (old versions
|
||||
of Git used to limit the update to the current directory and its
|
||||
subdirectories).
|
||||
|
||||
-A::
|
||||
--all::
|
||||
@ -117,10 +123,10 @@ of Git, hence the form without <pathspec> should not be used.
|
||||
entry. This adds, modifies, and removes index entries to
|
||||
match the working tree.
|
||||
+
|
||||
If no <pathspec> is given, the current version of Git defaults to
|
||||
"."; in other words, update all files in the current directory
|
||||
and its subdirectories. This default will change in a future version
|
||||
of Git, hence the form without <pathspec> should not be used.
|
||||
If no <pathspec> is given when `-A` option is used, all
|
||||
files in the entire working tree are updated (old versions
|
||||
of Git used to limit the update to the current directory and its
|
||||
subdirectories).
|
||||
|
||||
--no-all::
|
||||
--ignore-removal::
|
||||
@ -129,11 +135,9 @@ of Git, hence the form without <pathspec> should not be used.
|
||||
files that have been removed from the working tree. This
|
||||
option is a no-op when no <pathspec> is used.
|
||||
+
|
||||
This option is primarily to help the current users of Git, whose
|
||||
"git add <pathspec>..." ignores removed files. In future versions
|
||||
of Git, "git add <pathspec>..." will be a synonym to "git add -A
|
||||
<pathspec>..." and "git add --ignore-removal <pathspec>..." will behave like
|
||||
today's "git add <pathspec>...", ignoring removed files.
|
||||
This option is primarily to help users who are used to older
|
||||
versions of Git, whose "git add <pathspec>..." was a synonym
|
||||
for "git add --no-all <pathspec>...", i.e. ignored removed files.
|
||||
|
||||
-N::
|
||||
--intent-to-add::
|
||||
@ -296,9 +300,9 @@ patch::
|
||||
|
||||
y - stage this hunk
|
||||
n - do not stage this hunk
|
||||
q - quit; do not stage this hunk nor any of the remaining ones
|
||||
q - quit; do not stage this hunk or any of the remaining ones
|
||||
a - stage this hunk and all later hunks in the file
|
||||
d - do not stage this hunk nor any of the later hunks in the file
|
||||
d - do not stage this hunk or any of the later hunks in the file
|
||||
g - select a hunk to go to
|
||||
/ - search for a hunk matching the given regex
|
||||
j - leave this hunk undecided, see next undecided hunk
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
||||
[--ignore-date] [--ignore-space-change | --ignore-whitespace]
|
||||
[--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
|
||||
[--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
|
||||
[--[no-]scissors]
|
||||
[--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
|
||||
[(<mbox> | <Maildir>)...]
|
||||
'git am' (--continue | --skip | --abort)
|
||||
|
||||
@ -52,11 +52,23 @@ OPTIONS
|
||||
-c::
|
||||
--scissors::
|
||||
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::
|
||||
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::
|
||||
--quiet::
|
||||
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
|
||||
available locally.
|
||||
|
||||
--ignore-date::
|
||||
--ignore-space-change::
|
||||
--ignore-whitespace::
|
||||
--whitespace=<option>::
|
||||
@ -97,6 +108,12 @@ default. You can use `--no-utf8` to override this.
|
||||
program that applies
|
||||
the patch.
|
||||
|
||||
--patch-format::
|
||||
By default the command will try to detect the patch format
|
||||
automatically. This option allows the user to bypass the automatic
|
||||
detection and specify the patch format that the patch(es) should be
|
||||
interpreted as. Valid formats are mbox, stgit, stgit-series and hg.
|
||||
|
||||
-i::
|
||||
--interactive::
|
||||
Run interactively.
|
||||
@ -119,6 +136,10 @@ default. You can use `--no-utf8` to override this.
|
||||
Skip the current patch. This is only meaningful when
|
||||
restarting an aborted patch.
|
||||
|
||||
-S[<keyid>]::
|
||||
--gpg-sign[=<keyid>]::
|
||||
GPG-sign commits.
|
||||
|
||||
--continue::
|
||||
-r::
|
||||
--resolved::
|
||||
@ -189,6 +210,11 @@ commits, like running 'git am' on the wrong branch or an error in the
|
||||
commits that is more easily fixed by changing the mailbox (e.g.
|
||||
errors in the "From:" lines).
|
||||
|
||||
HOOKS
|
||||
-----
|
||||
This command can run `applypatch-msg`, `pre-applypatch`,
|
||||
and `post-applypatch` hooks. See linkgit:githooks[5] for more
|
||||
information.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
@ -16,7 +16,7 @@ SYNOPSIS
|
||||
[--ignore-space-change | --ignore-whitespace ]
|
||||
[--whitespace=(nowarn|warn|fix|error|error-all)]
|
||||
[--exclude=<path>] [--include=<path>] [--directory=<root>]
|
||||
[--verbose] [<patch>...]
|
||||
[--verbose] [--unsafe-paths] [<patch>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -229,6 +229,16 @@ 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
|
||||
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
|
||||
-------------
|
||||
|
||||
|
@ -65,7 +65,10 @@ OPTIONS
|
||||
|
||||
--remote=<repo>::
|
||||
Instead of making a tar archive from the local repository,
|
||||
retrieve a tar archive from a remote repository.
|
||||
retrieve a tar archive from a remote repository. Note that the
|
||||
remote repository may place restrictions on which sha1
|
||||
expressions may be allowed in `<tree-ish>`. See
|
||||
linkgit:git-upload-archive[1] for details.
|
||||
|
||||
--exec=<git-upload-archive>::
|
||||
Used with --remote to specify the path to the
|
||||
|
@ -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
|
||||
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
|
||||
regressions. The release cycle start with a 2 weeks long merge
|
||||
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
|
||||
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:
|
||||
|
||||
_____________
|
||||
|
@ -117,7 +117,7 @@ $ git bisect visualize
|
||||
`view` may also be used as a synonym for `visualize`.
|
||||
|
||||
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`.
|
||||
|
||||
------------
|
||||
|
@ -35,7 +35,8 @@ Apart from supporting file annotation, Git also supports searching the
|
||||
development history for when a code snippet occurred in a change. This makes it
|
||||
possible to track when a code snippet was added to a file, moved or copied
|
||||
between files, and eventually deleted or replaced. It works by searching for
|
||||
a text string in the diff. A small example:
|
||||
a text string in the diff. A small example of the pickaxe interface
|
||||
that searches for `blame_usage`:
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
$ git log --pretty=oneline -S'blame_usage'
|
||||
|
@ -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
|
||||
ones.
|
||||
|
||||
By default, tracked files are not shown at all since they are not
|
||||
subject to exclude rules; but see `--no-index'.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-q, --quiet::
|
||||
|
@ -8,7 +8,8 @@ git-cherry-pick - Apply the changes introduced by some existing commits
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>...
|
||||
'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]
|
||||
[-S[<key-id>]] <commit>...
|
||||
'git cherry-pick' --continue
|
||||
'git cherry-pick' --quit
|
||||
'git cherry-pick' --abort
|
||||
@ -100,6 +101,10 @@ effect to your index in a row.
|
||||
--signoff::
|
||||
Add Signed-off-by line at the end of the commit message.
|
||||
|
||||
-S[<key-id>]::
|
||||
--gpg-sign[=<key-id>]::
|
||||
GPG-sign commits.
|
||||
|
||||
--ff::
|
||||
If the current HEAD is the same as the parent of the
|
||||
cherry-pick'ed commit, then a fast forward to this commit will
|
||||
|
@ -34,8 +34,12 @@ OPTIONS
|
||||
-f::
|
||||
--force::
|
||||
If the Git configuration variable clean.requireForce is not set
|
||||
to false, 'git clean' will refuse to run unless given -f, -n or
|
||||
-i.
|
||||
to false, 'git clean' will refuse to delete files or directories
|
||||
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::
|
||||
--interactive::
|
||||
@ -98,7 +102,7 @@ clean::
|
||||
filter by pattern::
|
||||
|
||||
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.
|
||||
E.g. "*.c *.h" will excludes files end with ".c" and ".h" from
|
||||
deletion. When you are satisfied with the filtered result, press
|
||||
|
@ -12,7 +12,7 @@ SYNOPSIS
|
||||
'git clone' [--template=<template_directory>]
|
||||
[-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
|
||||
[-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]
|
||||
[--recursive | --recurse-submodules] [--] <repository>
|
||||
[<directory>]
|
||||
@ -55,15 +55,12 @@ repository is specified as a URL, then this flag is ignored (and we
|
||||
never use the local optimizations). Specifying `--no-local` will
|
||||
override the default when `/path/to/repo` is given, using the regular
|
||||
Git transport instead.
|
||||
+
|
||||
To force copying instead of hardlinking (which may be desirable if you
|
||||
are trying to make a back-up of your repository), but still avoid the
|
||||
usual "Git aware" transport mechanism, `--no-hardlinks` can be used.
|
||||
|
||||
--no-hardlinks::
|
||||
Optimize the cloning process from a repository on a
|
||||
local filesystem by copying files under `.git/objects`
|
||||
directory.
|
||||
Force the cloning process from a repository on a local
|
||||
filesystem to copy the files under the `.git/objects`
|
||||
directory instead of using hardlinks. This may be desirable
|
||||
if you are trying to make a back-up of your repository.
|
||||
|
||||
--shared::
|
||||
-s::
|
||||
@ -101,7 +98,14 @@ objects from the source repository into a pack in the cloned repository.
|
||||
require fewer objects to be copied from the repository
|
||||
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::
|
||||
-q::
|
||||
|
@ -55,8 +55,13 @@ OPTIONS
|
||||
from the standard input.
|
||||
|
||||
-S[<keyid>]::
|
||||
--gpg-sign[=<keyid>]::
|
||||
GPG-sign commit.
|
||||
|
||||
--no-gpg-sign::
|
||||
Countermand `commit.gpgsign` configuration variable that is
|
||||
set to force each and every commit to be signed.
|
||||
|
||||
|
||||
Commit Information
|
||||
------------------
|
||||
|
@ -13,7 +13,7 @@ SYNOPSIS
|
||||
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
|
||||
[--allow-empty-message] [--no-verify] [-e] [--author=<author>]
|
||||
[--date=<date>] [--cleanup=<mode>] [--[no-]status]
|
||||
[-i | -o] [-S[<keyid>]] [--] [<file>...]
|
||||
[-i | -o] [-S[<key-id>]] [--] [<file>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -176,7 +176,7 @@ OPTIONS
|
||||
--cleanup=<mode>::
|
||||
This option determines how the supplied commit message should be
|
||||
cleaned up before committing. The '<mode>' can be `strip`,
|
||||
`whitespace`, `verbatim`, or `default`.
|
||||
`whitespace`, `verbatim`, `scissors` or `default`.
|
||||
+
|
||||
--
|
||||
strip::
|
||||
@ -186,6 +186,12 @@ whitespace::
|
||||
Same as `strip` except #commentary is not removed.
|
||||
verbatim::
|
||||
Do not change the message at all.
|
||||
scissors::
|
||||
Same as `whitespace`, except that everything from (and
|
||||
including) the line
|
||||
"`# ------------------------ >8 ------------------------`"
|
||||
is truncated if the message is to be edited. "`#`" can be
|
||||
customized with core.commentChar.
|
||||
default::
|
||||
Same as `strip` if the message is to be edited.
|
||||
Otherwise `whitespace`.
|
||||
@ -244,9 +250,10 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
|
||||
|
||||
-o::
|
||||
--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
|
||||
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,
|
||||
in which case this option can be omitted.
|
||||
If this option is specified together with '--amend', then
|
||||
@ -302,6 +309,10 @@ configuration variable documented in linkgit:git-config[1].
|
||||
--gpg-sign[=<keyid>]::
|
||||
GPG-sign commit.
|
||||
|
||||
--no-gpg-sign::
|
||||
Countermand `commit.gpgsign` configuration variable that is
|
||||
set to force each and every commit to be signed.
|
||||
|
||||
\--::
|
||||
Do not interpret any more arguments as options.
|
||||
|
||||
|
@ -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'
|
||||
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
|
||||
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.
|
||||
|
@ -33,8 +33,8 @@ size-pack: disk space consumed by the packs, in KiB (unless -H is specified)
|
||||
prune-packable: the number of loose objects that are also present in
|
||||
the packs. These objects could be pruned using `git prune-packed`.
|
||||
+
|
||||
garbage: the number of files in object database that are not valid
|
||||
loose objects nor valid packs
|
||||
garbage: the number of files in object database that are neither valid loose
|
||||
objects nor valid packs
|
||||
+
|
||||
size-garbage: disk space consumed by garbage files, in KiB (unless -H is
|
||||
specified)
|
||||
|
@ -8,7 +8,7 @@ git-credential-cache--daemon - Temporarily store user credentials in memory
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
git credential-cache--daemon <socket>
|
||||
git credential-cache--daemon [--debug] <socket>
|
||||
|
||||
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
|
||||
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
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -29,7 +29,7 @@ linkgit:gitcredentials[7] or `EXAMPLES` below.
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
--store=<path>::
|
||||
--file=<path>::
|
||||
|
||||
Use `<path>` to store credentials. The file will have its
|
||||
filesystem permissions set to prevent other users on the system
|
||||
|
@ -21,8 +21,8 @@ DESCRIPTION
|
||||
*WARNING:* `git cvsimport` uses cvsps version 2, which is considered
|
||||
deprecated; it does not work with cvsps version 3 and later. If you are
|
||||
performing a one-shot import of a CVS repository consider using
|
||||
link:http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or
|
||||
link:https://github.com/BartMassey/parsecvs[parsecvs].
|
||||
http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or
|
||||
https://github.com/BartMassey/parsecvs[parsecvs].
|
||||
|
||||
Imports a CVS repository into Git. It will either create a new
|
||||
repository, or incrementally import into an existing one.
|
||||
@ -219,7 +219,7 @@ Problems related to tags:
|
||||
* Multiple tags on the same revision are not imported.
|
||||
|
||||
If you suspect that any of these issues may apply to the repository you
|
||||
want to imort, consider using cvs2git:
|
||||
want to import, consider using cvs2git:
|
||||
|
||||
* cvs2git (part of cvs2svn), `http://subversion.apache.org/`
|
||||
|
||||
|
@ -110,7 +110,7 @@ to allow writes to, for example:
|
||||
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:
|
||||
|
||||
------
|
||||
|
@ -169,7 +169,7 @@ Git configuration files in that directory are readable by `<user>`.
|
||||
--forbid-override=<service>::
|
||||
Allow/forbid overriding the site-wide default with per
|
||||
repository configuration. By default, all the services
|
||||
are overridable.
|
||||
may be overridden.
|
||||
|
||||
--[no-]informative-errors::
|
||||
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
|
||||
specified by the <path> with service name (e.g. "upload-pack"),
|
||||
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
|
||||
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
|
||||
@ -204,7 +204,7 @@ SERVICES
|
||||
--------
|
||||
|
||||
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
|
||||
against only in a few selected repositories the daemon serves),
|
||||
the per-repository configuration file can be used to enable or
|
||||
|
@ -158,8 +158,8 @@ $ git diff --name-status <2>
|
||||
$ git diff arch/i386 include/asm-i386 <3>
|
||||
------------
|
||||
+
|
||||
<1> Show only modification, rename and copy, but not addition
|
||||
nor deletion.
|
||||
<1> Show only modification, rename, and copy, but not addition
|
||||
or deletion.
|
||||
<2> Show only names and the nature of change, but not actual
|
||||
diff output.
|
||||
<3> Limit diff output to named subtrees.
|
||||
|
@ -91,6 +91,15 @@ instead. `--no-symlinks` is the default on Windows.
|
||||
the default diff tool will be read from the configured
|
||||
`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.
|
||||
|
||||
CONFIG VARIABLES
|
||||
@ -116,6 +125,11 @@ See the `--tool=<tool>` option above for more details.
|
||||
difftool.prompt::
|
||||
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
|
||||
--------
|
||||
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
|
||||
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>...]::
|
||||
A list of arguments, acceptable to 'git rev-parse' and
|
||||
'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'.
|
||||
|
||||
|
||||
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
|
||||
-----------
|
||||
|
||||
@ -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
|
||||
a tag referencing a tree instead of a commit.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-fast-import[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -231,7 +231,7 @@ Date Formats
|
||||
~~~~~~~~~~~~
|
||||
The following date formats are supported. A frontend should select
|
||||
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`::
|
||||
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`::
|
||||
Marks the end of the stream. This command is optional
|
||||
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`::
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
``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
|
||||
current branch value should be written as:
|
||||
----
|
||||
@ -1085,7 +1088,7 @@ Option commands must be the first commands on the input (not counting
|
||||
feature commands), to give an option command after any non-option
|
||||
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:
|
||||
|
||||
* date-format
|
||||
@ -1099,7 +1102,7 @@ not be passed as option:
|
||||
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.
|
||||
|
||||
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
|
||||
stream.
|
||||
|
||||
@ -1438,6 +1441,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
|
||||
compression.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-fast-export[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -17,22 +17,20 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Fetches named heads or tags from one or more other repositories,
|
||||
along with the objects necessary to complete them.
|
||||
Fetch branches and/or tags (collectively, "refs") from one or more
|
||||
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
|
||||
in `.git/FETCH_HEAD`. This information is left for a later merge
|
||||
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
|
||||
By default, any tag that points into the histories being fetched is
|
||||
also fetched; the effect is to fetch tags that
|
||||
point at branches that you are interested in. This default behavior
|
||||
can be changed by using the --tags or --no-tags options, by
|
||||
configuring remote.<name>.tagopt, or by using a refspec that fetches
|
||||
tags explicitly.
|
||||
can be changed by using the --tags or --no-tags options or by
|
||||
configuring remote.<name>.tagopt. By using a refspec that fetches tags
|
||||
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
|
||||
there is a remotes.<group> entry in the configuration file.
|
||||
(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,
|
||||
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
|
||||
-------
|
||||
include::fetch-options.txt[]
|
||||
@ -49,6 +51,55 @@ include::pull-fetch-param.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
|
||||
--------
|
||||
|
||||
@ -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,
|
||||
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
|
||||
----
|
||||
|
@ -436,7 +436,7 @@ git-filter-branch allows you to make complex shell-scripted rewrites
|
||||
of your Git history, but you probably don't need this flexibility if
|
||||
you're simply _removing unwanted data_ like large files or passwords.
|
||||
For those operations you may want to consider
|
||||
link:http://rtyley.github.io/bfg-repo-cleaner/[The BFG Repo-Cleaner],
|
||||
http://rtyley.github.io/bfg-repo-cleaner/[The BFG Repo-Cleaner],
|
||||
a JVM-based alternative to git-filter-branch, typically at least
|
||||
10-50x faster for those use-cases, and with quite different
|
||||
characteristics:
|
||||
@ -451,11 +451,11 @@ characteristics:
|
||||
|
||||
* By default The BFG takes full advantage of multi-core machines,
|
||||
cleansing commit file-trees in parallel. git-filter-branch cleans
|
||||
commits sequentially (ie in a single-threaded manner), though it
|
||||
_is_ possible to write filters that include their own parallellism,
|
||||
commits sequentially (i.e. in a single-threaded manner), though it
|
||||
_is_ possible to write filters that include their own parallelism,
|
||||
in the scripts executed against each commit.
|
||||
|
||||
* The link:http://rtyley.github.io/bfg-repo-cleaner/#examples[command options]
|
||||
* The http://rtyley.github.io/bfg-repo-cleaner/#examples[command options]
|
||||
are much more restrictive than git-filter branch, and dedicated just
|
||||
to the tasks of removing unwanted data- e.g:
|
||||
`--strip-blobs-bigger-than 1M`.
|
||||
|
@ -14,6 +14,7 @@ SYNOPSIS
|
||||
[(--attach|--inline)[=<boundary>] | --no-attach]
|
||||
[-s | --signoff]
|
||||
[--signature=<signature> | --no-signature]
|
||||
[--signature-file=<file>]
|
||||
[-n | --numbered | -N | --no-numbered]
|
||||
[--start-number <n>] [--numbered-files]
|
||||
[--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
|
||||
number.
|
||||
|
||||
--signature-file=<file>::
|
||||
Works just like --signature except the signature is read from a file.
|
||||
|
||||
--suffix=.<sfx>::
|
||||
Instead of using `.patch` as the suffix for generated
|
||||
filenames, use specified suffix. A common alternative is
|
||||
|
@ -124,6 +124,9 @@ the value, the more time is spent optimizing the delta compression. See
|
||||
the documentation for the --window' option in linkgit:git-repack[1] for
|
||||
more details. This defaults to 250.
|
||||
|
||||
Similarly, the optional configuration variable 'gc.aggressiveDepth'
|
||||
controls --depth option in linkgit:git-repack[1]. This defaults to 250.
|
||||
|
||||
The optional configuration variable 'gc.pruneExpire' controls how old
|
||||
the unreferenced loose objects have to be before they are pruned. The
|
||||
default is "2 weeks ago".
|
||||
|
@ -53,6 +53,9 @@ grep.extendedRegexp::
|
||||
option is ignored when the 'grep.patternType' option is set to a value
|
||||
other than 'default'.
|
||||
|
||||
grep.fullName::
|
||||
If set to true, enable '--full-name' option by default.
|
||||
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
@ -80,9 +80,9 @@ CONFIGURATION VARIABLES
|
||||
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; they make 'git help' behave as their corresponding command
|
||||
variable; they make 'git help' behave as their corresponding command-
|
||||
line option:
|
||||
|
||||
* "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
|
||||
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
|
||||
section above and linkgit:git-web{litdd}browse[1].
|
||||
|
||||
man.viewer
|
||||
~~~~~~~~~~
|
||||
|
||||
The 'man.viewer' config variable will be checked if the 'man' format
|
||||
is chosen. The following values are currently supported:
|
||||
The 'man.viewer' configuration variable will be checked if the 'man'
|
||||
format is chosen. The following values are currently supported:
|
||||
|
||||
* "man": use the 'man' program as usual,
|
||||
* "woman": use 'emacsclient' to launch the "woman" mode in emacs
|
||||
@ -124,7 +124,7 @@ For example, this configuration:
|
||||
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.
|
||||
|
||||
If everything fails, or if no viewer is configured, the viewer specified
|
||||
|
@ -191,7 +191,7 @@ ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/
|
||||
----------------------------------------------------------------
|
||||
|
||||
Lighttpd::
|
||||
Ensure that `mod_cgi`, `mod_alias, `mod_auth`, `mod_setenv` are
|
||||
Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are
|
||||
loaded, then set `GIT_PROJECT_ROOT` appropriately and redirect
|
||||
all requests to the CGI:
|
||||
+
|
||||
|
@ -9,7 +9,7 @@ git-imap-send - Send a collection of patches from stdin to an IMAP folder
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git imap-send'
|
||||
'git imap-send' [-v] [-q] [--[no-]curl]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@ -26,6 +26,28 @@ Typical usage is something like:
|
||||
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
|
||||
-------------
|
||||
|
||||
@ -38,18 +60,17 @@ Variables
|
||||
imap.folder::
|
||||
The folder to drop the mails into, which is typically the Drafts
|
||||
folder. For example: "INBOX.Drafts", "INBOX/Drafts" or
|
||||
"[Gmail]/Drafts". Required to use imap-send.
|
||||
"[Gmail]/Drafts". Required.
|
||||
|
||||
imap.tunnel::
|
||||
Command used to setup a tunnel to the IMAP server through which
|
||||
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::
|
||||
A URL identifying the server. Use a `imap://` prefix for non-secure
|
||||
connections and a `imaps://` prefix for secure connections.
|
||||
Ignored when imap.tunnel is set, but required to use imap-send
|
||||
otherwise.
|
||||
Ignored when imap.tunnel is set, but required otherwise.
|
||||
|
||||
imap.user::
|
||||
The username to use when logging in to the server.
|
||||
@ -76,7 +97,10 @@ imap.preformattedHTML::
|
||||
|
||||
imap.authMethod::
|
||||
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
|
||||
~~~~~~~~
|
||||
@ -97,7 +121,7 @@ Using direct mode:
|
||||
host = imap://imap.example.com
|
||||
user = bob
|
||||
pass = p4ssw0rd
|
||||
..........................
|
||||
.........................
|
||||
|
||||
Using direct mode with SSL:
|
||||
|
||||
@ -109,7 +133,7 @@ Using direct mode with SSL:
|
||||
pass = p4ssw0rd
|
||||
port = 123
|
||||
sslverify = false
|
||||
..........................
|
||||
.........................
|
||||
|
||||
|
||||
EXAMPLE
|
||||
|
@ -43,7 +43,7 @@ OPTIONS
|
||||
-q::
|
||||
--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::
|
||||
|
||||
@ -57,12 +57,12 @@ DIRECTORY" section below.)
|
||||
|
||||
--separate-git-dir=<git dir>::
|
||||
|
||||
Instead of initializing the repository where it is supposed to be,
|
||||
place a filesytem-agnostic Git symbolic link there, pointing to the
|
||||
specified path, and initialize a Git repository at the path. The
|
||||
result is Git repository can be separated from working tree. If this
|
||||
is reinitialization, the repository will be moved to the specified
|
||||
path.
|
||||
Instead of initializing the repository as a directory to either `$GIT_DIR` or
|
||||
`./.git/`, create a text file there containing the path to the actual
|
||||
repository. This file acts as filesystem-agnostic Git symbolic link to the
|
||||
repository.
|
||||
+
|
||||
If this is reinitialization, the repository will be moved to the specified path.
|
||||
|
||||
--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
|
||||
requested permissions. When not specified, Git will use permissions reported
|
||||
by umask(2).
|
||||
|
||||
+
|
||||
The option can have the following values, defaulting to 'group' if no value
|
||||
is given:
|
||||
+
|
||||
--
|
||||
'umask' (or 'false')::
|
||||
|
||||
- 'umask' (or 'false'): Use permissions reported by umask(2). The default,
|
||||
when `--shared` is not specified.
|
||||
Use permissions reported by umask(2). The default, when `--shared` is not
|
||||
specified.
|
||||
|
||||
- 'group' (or 'true'): Make the repository group-writable, (and g+sx, since
|
||||
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.
|
||||
'group' (or 'true')::
|
||||
|
||||
- 'all' (or 'world' or 'everybody'): Same as 'group', but make the repository
|
||||
readable by all users.
|
||||
Make the repository group-writable, (and g+sx, since 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.
|
||||
|
||||
- '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.
|
||||
'all' (or 'world' or 'everybody')::
|
||||
|
||||
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
|
||||
into it.
|
||||
|
||||
If you name a (possibly non-existent) directory at the end of the command
|
||||
line, the command is run inside the directory (possibly after creating it).
|
||||
If you provide a 'directory', the command is run inside it. If this directory
|
||||
does not exist, it will be created.
|
||||
|
||||
--
|
||||
|
||||
|
||||
TEMPLATE DIRECTORY
|
||||
------------------
|
||||
|
||||
The template directory contains files and directories that will be copied to
|
||||
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
|
||||
suggested "exclude patterns", and copies of sample "hook" files.
|
||||
The suggested patterns and hook files are all modifiable and extensible.
|
||||
The default template directory includes some directory structure, suggested
|
||||
"exclude patterns" (see linkgit:gitignore[5]), and sample hook files (see linkgit:githooks[5]).
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
@ -136,10 +141,12 @@ Start a new Git repository for an existing code base::
|
||||
$ cd /path/to/my/codebase
|
||||
$ git init <1>
|
||||
$ git add . <2>
|
||||
$ git commit <3>
|
||||
----------------
|
||||
+
|
||||
<1> prepare /path/to/my/codebase/.git directory
|
||||
<2> add all existing file to the index
|
||||
<1> Create a /path/to/my/codebase/.git directory.
|
||||
<2> Add all existing files to the index.
|
||||
<3> Record the pristine state as the first commit in the history.
|
||||
|
||||
GIT
|
||||
---
|
||||
|
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
|
@ -185,15 +185,15 @@ specifies the format of exclude patterns.
|
||||
|
||||
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
|
||||
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
|
||||
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'
|
||||
examines, normally `.gitignore`. Files in deeper
|
||||
directories take precedence. Patterns are ordered in the
|
||||
|
@ -66,6 +66,11 @@ conversion, even with this flag.
|
||||
-n::
|
||||
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::
|
||||
Remove everything in body before a scissors line. A line that
|
||||
mainly consists of scissors (either ">8" or "8<") and perforation
|
||||
|
@ -10,7 +10,7 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
|
||||
[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
|
||||
[-s <strategy>] [-X <strategy-option>] [-S[<key-id>]]
|
||||
[--[no-]rerere-autoupdate] [-m <msg>] [<commit>...]
|
||||
'git merge' <msg> HEAD <commit>...
|
||||
'git merge' --abort
|
||||
@ -101,9 +101,8 @@ commit or stash your changes before running 'git merge'.
|
||||
Specifying more than one commit will create a merge with
|
||||
more than two parents (affectionately called an Octopus merge).
|
||||
+
|
||||
If no commit is given from the command line, and if `merge.defaultToUpstream`
|
||||
configuration variable is set, merge the remote-tracking branches
|
||||
that the current branch is configured to use as its upstream.
|
||||
If no commit is given from the command line, merge the remote-tracking
|
||||
branches that the current branch is configured to use as its upstream.
|
||||
See also the configuration section of this manual page.
|
||||
|
||||
|
||||
|
@ -71,11 +71,13 @@ success of the resolution after the custom tool has exited.
|
||||
--no-prompt::
|
||||
Don't prompt before each invocation of the merge resolution
|
||||
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 before each invocation of the merge resolution program.
|
||||
This is the default behaviour; the option is provided to
|
||||
override any configuration settings.
|
||||
Prompt before each invocation of the merge resolution program
|
||||
to give the user a chance to skip the path.
|
||||
|
||||
TEMPORARY FILES
|
||||
---------------
|
||||
|
@ -9,12 +9,12 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'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' append [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||
'git notes' edit [<object>]
|
||||
'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
|
||||
'git notes' edit [--allow-empty] [<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 --abort [-v | -q]
|
||||
'git notes' remove [--ignore-missing] [--stdin] [<object>...]
|
||||
@ -155,6 +155,10 @@ OPTIONS
|
||||
Like '-C', but with '-c' the editor is invoked, so that
|
||||
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>::
|
||||
Manipulate the notes tree in <ref>. This overrides
|
||||
'GIT_NOTES_REF' and the "core.notesRef" configuration. The ref
|
||||
@ -287,7 +291,7 @@ arbitrary files using 'git hash-object':
|
||||
------------
|
||||
$ cc *.c
|
||||
$ 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`
|
||||
|
@ -13,7 +13,7 @@ SYNOPSIS
|
||||
[--no-reuse-delta] [--delta-base-offset] [--non-empty]
|
||||
[--local] [--incremental] [--window=<n>] [--depth=<n>]
|
||||
[--revs [--unpacked | --all]] [--stdout | base-name]
|
||||
[--keep-true-parents] < object-list
|
||||
[--shallow] [--keep-true-parents] < object-list
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@ -64,6 +64,8 @@ base-name::
|
||||
the same way as 'git rev-list' with the `--objects` flag
|
||||
uses its `commit` arguments to build the list of objects it
|
||||
outputs. The objects on the resulting list are packed.
|
||||
Besides revisions, `--not` or `--shallow <SHA-1>` lines are
|
||||
also accepted.
|
||||
|
||||
--unpacked::
|
||||
This implies `--revs`. When processing the list of
|
||||
@ -188,6 +190,11 @@ required objects and is thus unusable by Git without making it
|
||||
self-contained. Use `git index-pack --fix-thin`
|
||||
(see linkgit:git-index-pack[1]) to restore the self-contained property.
|
||||
|
||||
--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::
|
||||
A packed archive can express the base object of a delta as
|
||||
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
|
||||
--------
|
||||
[verse]
|
||||
'git patch-id' < <patch>
|
||||
'git patch-id' [--stable | --unstable] < <patch>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
A "patch ID" is nothing but a SHA-1 of the diff associated with a patch, with
|
||||
whitespace and line numbers ignored. As such, it's "reasonably stable", but at
|
||||
the same time also reasonably unique, i.e., two patches that have the same "patch
|
||||
ID" are almost guaranteed to be the same thing.
|
||||
A "patch ID" is nothing but a sum of SHA-1 of the file diffs associated with a
|
||||
patch, with whitespace and line numbers ignored. As such, it's "reasonably
|
||||
stable", but at the same time also reasonably unique, i.e., two patches that
|
||||
have the same "patch ID" are almost guaranteed to be the same thing.
|
||||
|
||||
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
|
||||
-------
|
||||
|
||||
--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>::
|
||||
The diff to create the ID of.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
git-prune-packed(1)
|
||||
=====================
|
||||
===================
|
||||
|
||||
NAME
|
||||
----
|
||||
|
@ -56,7 +56,7 @@ OPTIONS
|
||||
EXAMPLE
|
||||
-------
|
||||
|
||||
To prune objects not used by your repository nor another that
|
||||
To prune objects not used by your repository or another that
|
||||
borrows from your repository via its
|
||||
`.git/objects/info/alternates`:
|
||||
|
||||
|
@ -111,9 +111,8 @@ include::merge-options.txt[]
|
||||
was rebased since last fetched, the rebase uses that information
|
||||
to avoid rebasing non-local changes.
|
||||
+
|
||||
When preserve, also rebase the current branch on top of the upstream
|
||||
branch, but pass `--preserve-merges` along to `git rebase` so that
|
||||
locally created merge commits will not be flattened.
|
||||
When set to preserve, rebase with the `--preserve-merges` option passed
|
||||
to `git rebase` so that locally created merge commits will not be flattened.
|
||||
+
|
||||
When false, merge the current branch into the upstream branch.
|
||||
+
|
||||
|
@ -10,7 +10,8 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git push' [--all | --mirror | --tags] [--follow-tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
|
||||
[--repo=<repository>] [-f | --force] [--prune] [-v | --verbose] [-u | --set-upstream]
|
||||
[--repo=<repository>] [-f | --force] [--prune] [-v | --verbose]
|
||||
[-u | --set-upstream] [--signed]
|
||||
[--force-with-lease[=<refname>[:<expect>]]]
|
||||
[--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
|
||||
the default `<refspec>` by consulting `remote.*.push` configuration,
|
||||
and if it is not found, honors `push.default` configuration to decide
|
||||
what to push (See gitlink:git-config[1] for the meaning of `push.default`).
|
||||
what to push (See linkgit:git-config[1] for the meaning of `push.default`).
|
||||
|
||||
|
||||
OPTIONS[[OPTIONS]]
|
||||
@ -83,8 +84,8 @@ the local side, the remote side is updated if a branch of the same name
|
||||
already exists on the remote side.
|
||||
|
||||
--all::
|
||||
Instead of naming each ref to push, specifies that all
|
||||
refs under `refs/heads/` be pushed.
|
||||
Push all branches (i.e. refs under `refs/heads/`); cannot be
|
||||
used with other <refspec>.
|
||||
|
||||
--prune::
|
||||
Remove remote branches that don't have a local counterpart. For example
|
||||
@ -129,6 +130,12 @@ already exists on the remote side.
|
||||
from the remote but are pointing at commit-ish that are
|
||||
reachable from the refs being pushed.
|
||||
|
||||
--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.
|
||||
|
||||
--receive-pack=<git-receive-pack>::
|
||||
--exec=<git-receive-pack>::
|
||||
Path to the 'git-receive-pack' program on the remote
|
||||
@ -142,9 +149,8 @@ already exists on the remote side.
|
||||
Usually, "git push" refuses to update a remote ref that is
|
||||
not an ancestor of the local ref used to overwrite it.
|
||||
+
|
||||
This option bypasses the check, but instead requires that the
|
||||
current value of the ref to be the expected value. "git push"
|
||||
fails otherwise.
|
||||
This option overrides this restriction if the current value of the
|
||||
remote ref is the expected value. "git push" fails otherwise.
|
||||
+
|
||||
Imagine that you have to rebase what you have already published.
|
||||
You will have to bypass the "must fast-forward" rule in order to
|
||||
@ -156,15 +162,14 @@ commit, and blindly pushing with `--force` will lose her work.
|
||||
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
|
||||
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
|
||||
the ref without explicitly locking it, and you update the ref while
|
||||
making sure that your earlier "lease" is still valid).
|
||||
other people did anything to the ref. It is like taking a "lease" on
|
||||
the ref without explicitly locking it, and the remote ref is updated
|
||||
only if the "lease" is still valid.
|
||||
+
|
||||
`--force-with-lease` alone, without specifying the details, will protect
|
||||
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
|
||||
for them, unless specified with a `--force-with-lease=<refname>:<expect>`
|
||||
option that explicitly states what the expected value is.
|
||||
for them.
|
||||
+
|
||||
`--force-with-lease=<refname>`, without specifying the expected value, will
|
||||
protect the named ref (alone), if it is going to be updated, by
|
||||
@ -207,22 +212,8 @@ origin +master` to force a push to the `master` branch). See the
|
||||
`<refspec>...` section above for details.
|
||||
|
||||
--repo=<repository>::
|
||||
This option is only relevant if no <repository> argument is
|
||||
passed in the invocation. In this case, 'git push' derives the
|
||||
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'.
|
||||
This option is equivalent to the <repository> argument. If both
|
||||
are specified, the command-line argument takes precedence.
|
||||
|
||||
-u::
|
||||
--set-upstream::
|
||||
@ -385,7 +376,7 @@ will now start building on top of B.
|
||||
The command by default does not allow an update that is not a fast-forward
|
||||
to prevent such loss of history.
|
||||
|
||||
If you do not want to lose your work (history from X to B) nor the work by
|
||||
If you do not want to lose your work (history from X to B) or the work by
|
||||
the other person (history from X to A), you would need to first fetch the
|
||||
history from the repository, create a history that contains changes done
|
||||
by both parties, and push the result back.
|
||||
@ -442,8 +433,10 @@ Examples
|
||||
configured for the current branch).
|
||||
|
||||
`git push origin`::
|
||||
Without additional configuration, works like
|
||||
`git push origin :`.
|
||||
Without additional configuration, pushes the current branch to
|
||||
the configured upstream (`remote.origin.merge` configuration
|
||||
variable) if it has the same name as the current branch, and
|
||||
errors out without pushing otherwise.
|
||||
+
|
||||
The default behavior of this command when no <refspec> is given can be
|
||||
configured by setting the `push` option of the remote, or the `push.default`
|
||||
|
@ -1,5 +1,5 @@
|
||||
git-quiltimport(1)
|
||||
================
|
||||
==================
|
||||
|
||||
NAME
|
||||
----
|
||||
|
@ -57,7 +57,7 @@ OPTIONS
|
||||
-n::
|
||||
--dry-run::
|
||||
Check if the command would error out, without updating the index
|
||||
nor the files in the working tree for real.
|
||||
or the files in the working tree for real.
|
||||
|
||||
-v::
|
||||
Show the progress of checking files out.
|
||||
@ -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).
|
||||
|
||||
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
|
||||
populated. Here is an outline of how the algorithm works:
|
||||
|
||||
|
@ -9,7 +9,7 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
||||
[<upstream>] [<branch>]
|
||||
[<upstream> [<branch>]]
|
||||
'git rebase' [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>]
|
||||
--root [<branch>]
|
||||
'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.
|
||||
|
||||
If <upstream> is not specified, the upstream configured in
|
||||
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
|
||||
branch or if the current branch does not have a configured upstream,
|
||||
the rebase will abort.
|
||||
branch.<name>.remote and branch.<name>.merge options will be used (see
|
||||
linkgit:git-config[1] for details) and the `--fork-point` option is
|
||||
assumed. If you are currently not on any branch or if the current
|
||||
branch does not have a configured upstream, the rebase will abort.
|
||||
|
||||
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
|
||||
of commits that would be shown by `git log <upstream>..HEAD` (or
|
||||
`git log HEAD`, if --root is specified).
|
||||
of commits that would be shown by `git log <upstream>..HEAD`; or by
|
||||
`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
|
||||
--onto option was supplied. This has the exact same effect as
|
||||
@ -281,6 +283,10 @@ which makes little sense.
|
||||
specified, `-s recursive`. Note the reversal of 'ours' and
|
||||
'theirs' as noted above for the `-m` option.
|
||||
|
||||
-S[<keyid>]::
|
||||
--gpg-sign[=<keyid>]::
|
||||
GPG-sign commits.
|
||||
|
||||
-q::
|
||||
--quiet::
|
||||
Be quiet. Implies --no-stat.
|
||||
@ -312,11 +318,8 @@ which makes little sense.
|
||||
|
||||
-f::
|
||||
--force-rebase::
|
||||
Force the rebase even if the current branch is a descendant
|
||||
of the commit you are rebasing onto. Normally non-interactive rebase will
|
||||
exit with the message "Current branch is up to date" in such a
|
||||
situation.
|
||||
Incompatible with the --interactive option.
|
||||
Force a rebase even if the current branch is up-to-date and
|
||||
the command without `--force` would return without doing anything.
|
||||
+
|
||||
You may find this (or --no-ff with an interactive rebase) helpful after
|
||||
reverting a topic branch merge, as this option recreates the topic branch with
|
||||
@ -326,13 +329,18 @@ link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details)
|
||||
|
||||
--fork-point::
|
||||
--no-fork-point::
|
||||
Use 'git merge-base --fork-point' to find a better common ancestor
|
||||
between `upstream` and `branch` when calculating which commits have
|
||||
have been introduced by `branch` (see linkgit:git-merge-base[1]).
|
||||
Use reflog to find a better common ancestor between <upstream>
|
||||
and <branch> when calculating which commits have been
|
||||
introduced by <branch>.
|
||||
+
|
||||
If no non-option arguments are given on the command line, then the default is
|
||||
`--fork-point @{u}` otherwise the `upstream` argument is interpreted literally
|
||||
unless the `--fork-point` option is specified.
|
||||
When --fork-point is active, 'fork_point' will be used instead of
|
||||
<upstream> to calculate the set of commits to rebase, where
|
||||
'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::
|
||||
--whitespace=<option>::
|
||||
@ -354,7 +362,9 @@ unless the `--fork-point` option is specified.
|
||||
|
||||
-p::
|
||||
--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
|
||||
with the `--interactive` option explicitly is generally not a good
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
# mail out commit update information.
|
||||
@ -119,6 +174,14 @@ ref listing the commits pushed to the repository:
|
||||
fi |
|
||||
mail -s "Changes to ref $ref" commit-list@mydomain
|
||||
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
|
||||
|
||||
The exit code from this hook invocation is ignored, however a
|
||||
|
@ -116,6 +116,10 @@ begins with `ext::`. Examples:
|
||||
determined by the helper using environment variables (see
|
||||
above).
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitremote-helpers[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -50,6 +50,10 @@ EXAMPLES
|
||||
`git push fd::7,8/bar master`::
|
||||
Same as above.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitremote-helpers[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
||||
|
@ -3,7 +3,7 @@ git-remote(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-remote - manage set of tracked repositories
|
||||
git-remote - Manage set of tracked repositories
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
@ -58,6 +58,9 @@ remote repository.
|
||||
With `--no-tags` option, `git fetch <name>` does not import tags from
|
||||
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
|
||||
refspec for the remote to track all branches under
|
||||
the `refs/remotes/<name>/` namespace, a refspec to track only `<branch>`
|
||||
@ -130,17 +133,25 @@ branches, adds to that list.
|
||||
|
||||
'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
|
||||
<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 '--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
|
||||
regex <url> are deleted. Trying to delete all non-push URLs is an
|
||||
error.
|
||||
With '--delete', instead of changing existing URLs, all URLs matching
|
||||
regex <url> are deleted for remote <name>. Trying to delete all
|
||||
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'::
|
||||
|
||||
|
@ -9,7 +9,7 @@ git-repack - Pack unpacked objects in a repository
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [--window=<n>] [--depth=<n>]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [--window=<n>] [--depth=<n>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -110,6 +110,21 @@ other objects in that pack they already have locally.
|
||||
The default is unlimited, unless the config variable
|
||||
`pack.packSizeLimit` is set.
|
||||
|
||||
-b::
|
||||
--write-bitmap-index::
|
||||
Write a reachability bitmap index as part of the repack. This
|
||||
only makes sense when used with `-a` or `-A`, as the bitmaps
|
||||
must be able to refer to all reachable objects. This option
|
||||
overrides the setting of `pack.writebitmaps`.
|
||||
|
||||
--pack-kept-objects::
|
||||
Include objects in `.keep` files when repacking. Note that we
|
||||
still do not delete `.keep` packs after `pack-objects` finishes.
|
||||
This means that we may duplicate objects, but this makes the
|
||||
option safe to use when there are concurrent pushes or fetches.
|
||||
This option is generally only useful if you are writing bitmaps
|
||||
with `-b` or `pack.writebitmaps`, as it ensures that the
|
||||
bitmapped packfile has the necessary objects.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
@ -9,6 +9,8 @@ SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git replace' [-f] <object> <replacement>
|
||||
'git replace' [-f] --edit <object>
|
||||
'git replace' [-f] --graft <commit> [<parent>...]
|
||||
'git replace' -d <object>...
|
||||
'git replace' [--format=<format>] [-l [<pattern>]]
|
||||
|
||||
@ -63,6 +65,32 @@ OPTIONS
|
||||
--delete::
|
||||
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>::
|
||||
--list <pattern>::
|
||||
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-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
|
||||
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-tag[1]
|
||||
linkgit:git-branch[1]
|
||||
linkgit:git-commit[1]
|
||||
linkgit:git-var[1]
|
||||
linkgit:git[1]
|
||||
|
||||
GIT
|
||||
|
@ -13,22 +13,65 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Summarizes the changes between two commits to the standard output, and includes
|
||||
the given URL in the generated summary.
|
||||
Generate a request asking your upstream project to pull changes into
|
||||
their tree. The request, printed to the standard output, summarizes
|
||||
the changes and indicates from where they can be pulled.
|
||||
|
||||
The upstream project is expected to have the commit named by
|
||||
`<start>` and the output asks it to integrate the changes you made
|
||||
since that commit, up to the commit named by `<end>`, by visiting
|
||||
the repository named by `<url>`.
|
||||
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-p::
|
||||
Show patch text
|
||||
Include patch text in the output.
|
||||
|
||||
<start>::
|
||||
Commit to start at.
|
||||
Commit to start at. This names a commit that is already in
|
||||
the upstream history.
|
||||
|
||||
<url>::
|
||||
URL to include in the summary.
|
||||
The repository URL to be pulled from.
|
||||
|
||||
<end>::
|
||||
Commit to end at; defaults to HEAD.
|
||||
Commit to end at (defaults to HEAD). This names the commit
|
||||
at the tip of the history you are asking to be pulled.
|
||||
+
|
||||
When the repository named by `<url>` has the commit at a tip of a
|
||||
ref that is different from the ref you have locally, you can use the
|
||||
`<local>:<remote>` syntax, to have its local name, a colon `:`, and
|
||||
its remote name.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
|
||||
Imagine that you built your work on your `master` branch on top of
|
||||
the `v1.0` release, and want it to be integrated to the project.
|
||||
First you push that change to your public repository for others to
|
||||
see:
|
||||
|
||||
git push https://git.ko.xz/project master
|
||||
|
||||
Then, you run this command:
|
||||
|
||||
git request-pull v1.0 https://git.ko.xz/project master
|
||||
|
||||
which will produce a request to the upstream, summarizing the
|
||||
changes between the `v1.0` release and your `master`, to pull it
|
||||
from your public repository.
|
||||
|
||||
If you pushed your change to a branch whose name is different from
|
||||
the one you have locally, e.g.
|
||||
|
||||
git push https://git.ko.xz/project master:for-linus
|
||||
|
||||
then you can ask that to be pulled with
|
||||
|
||||
git request-pull v1.0 https://git.ko.xz/project master:for-linus
|
||||
|
||||
|
||||
GIT
|
||||
---
|
||||
|
@ -10,7 +10,7 @@ SYNOPSIS
|
||||
[verse]
|
||||
'git reset' [-q] [<tree-ish>] [--] <paths>...
|
||||
'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]
|
||||
'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
|
||||
'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -21,7 +21,7 @@ to HEAD in all forms.
|
||||
|
||||
'git reset' [-q] [<tree-ish>] [--] <paths>...::
|
||||
This form resets the index entries for all <paths> to their
|
||||
state at <tree-ish>. (It does not affect the working tree, nor
|
||||
state at <tree-ish>. (It does not affect the working tree or
|
||||
the current branch.)
|
||||
+
|
||||
This means that `git reset <paths>` is the opposite of `git add
|
||||
@ -51,7 +51,7 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
|
||||
+
|
||||
--
|
||||
--soft::
|
||||
Does not touch the index file nor the working tree at all (but
|
||||
Does not touch the index file or the working tree at all (but
|
||||
resets the head to <commit>, just like all modes do). This leaves
|
||||
all your changed files "Changes to be committed", as 'git status'
|
||||
would put it.
|
||||
@ -60,6 +60,9 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
|
||||
Resets the index but not the working tree (i.e., the changed files
|
||||
are preserved but not marked for commit) and reports what has not
|
||||
been updated. This is the default action.
|
||||
+
|
||||
If `-N` is specified, removed paths are marked as intent-to-add (see
|
||||
linkgit:git-add[1]).
|
||||
|
||||
--hard::
|
||||
Resets the index and working tree. Any changes to tracked files in the
|
||||
@ -115,7 +118,7 @@ and changes with these files are distracting.
|
||||
<2> Somebody asks you to pull, and the changes sounds worthy of merging.
|
||||
<3> However, you already dirtied the index (i.e. your index does
|
||||
not match the HEAD commit). But you know the pull you are going
|
||||
to make does not affect frotz.c nor filfre.c, so you revert the
|
||||
to make does not affect frotz.c or filfre.c, so you revert the
|
||||
index changes for these two files. Your changes in working tree
|
||||
remain there.
|
||||
<4> Then you can pull and merge, leaving frotz.c and filfre.c
|
||||
|
@ -45,8 +45,9 @@ SYNOPSIS
|
||||
[ \--regexp-ignore-case | -i ]
|
||||
[ \--extended-regexp | -E ]
|
||||
[ \--fixed-strings | -F ]
|
||||
[ \--date=(local|relative|default|iso|rfc|short) ]
|
||||
[ [\--objects | \--objects-edge] [ \--unpacked ] ]
|
||||
[ \--date=(local|relative|default|iso|iso-strict|rfc|short) ]
|
||||
[ [ \--objects | \--objects-edge | \--objects-edge-aggressive ]
|
||||
[ \--unpacked ] ]
|
||||
[ \--pretty | \--header ]
|
||||
[ \--bisect ]
|
||||
[ \--bisect-vars ]
|
||||
@ -55,6 +56,7 @@ SYNOPSIS
|
||||
[ \--reverse ]
|
||||
[ \--walk-reflogs ]
|
||||
[ \--no-walk ] [ \--do-walk ]
|
||||
[ \--use-bitmap-index ]
|
||||
<commit>... [ \-- <paths>... ]
|
||||
|
||||
DESCRIPTION
|
||||
|
@ -102,7 +102,7 @@ eval "set -- $(git rev-parse --sq --prefix "$prefix" "$@")"
|
||||
+
|
||||
If you want to make sure that the output actually names an object in
|
||||
your object database and/or can be used as a specific type of object
|
||||
you require, you can add "^{type}" peeling operator to the parameter.
|
||||
you require, you can add "\^{type}" peeling operator to the parameter.
|
||||
For example, `git rev-parse "$VAR^{commit}"` will make sure `$VAR`
|
||||
names an existing object that is a commit-ish (i.e. a commit, or an
|
||||
annotated tag that points at a commit). To make sure that `$VAR`
|
||||
@ -114,6 +114,7 @@ can be used.
|
||||
Only meaningful in `--verify` mode. Do not output an error
|
||||
message if the first argument is not a valid object name;
|
||||
instead exit with non-zero status silently.
|
||||
SHA-1s for valid object names are printed to stdout on success.
|
||||
|
||||
--sq::
|
||||
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
|
||||
up to the next `--all`, `--branches`, `--tags`, `--remotes`, or
|
||||
`--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
|
||||
`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 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
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
@ -284,20 +289,20 @@ Input Format
|
||||
|
||||
'git rev-parse --parseopt' input format is fully text based. It has two parts,
|
||||
separated by a line that contains only `--`. The lines before the separator
|
||||
(should be more than one) are used for the usage.
|
||||
(should be one or more) are used for the usage.
|
||||
The lines after the separator describe the options.
|
||||
|
||||
Each line of options has this format:
|
||||
|
||||
------------
|
||||
<opt_spec><flags>* SP+ help LF
|
||||
<opt-spec><flags>*<arg-hint>? SP+ help LF
|
||||
------------
|
||||
|
||||
`<opt_spec>`::
|
||||
`<opt-spec>`::
|
||||
its format is the short option character, then the long option name
|
||||
separated by a comma. Both parts are not required, though at least one
|
||||
is necessary. `h,help`, `dry-run` and `f` are all three correct
|
||||
`<opt_spec>`.
|
||||
`<opt-spec>`.
|
||||
|
||||
`<flags>`::
|
||||
`<flags>` are of `*`, `=`, `?` or `!`.
|
||||
@ -313,6 +318,12 @@ Each line of options has this format:
|
||||
|
||||
* Use `!` to not make the corresponding negated long option available.
|
||||
|
||||
`<arg-hint>`::
|
||||
`<arg-hint>`, if specified, is used as a name of the argument in the
|
||||
help output, for options that take arguments. `<arg-hint>` is
|
||||
terminated by the first whitespace. It is customary to use a
|
||||
dash to separate words in a multi-word argument hint.
|
||||
|
||||
The remainder of the line, after stripping the spaces, is used
|
||||
as the help associated to the option.
|
||||
|
||||
@ -333,6 +344,8 @@ h,help show the help
|
||||
|
||||
foo some nifty option --foo
|
||||
bar= some cool option --bar with an argument
|
||||
baz=arg another cool option --baz with a named argument
|
||||
qux?path qux may take a path argument but has meaning by itself
|
||||
|
||||
An option group Header
|
||||
C? option C with an optional argument"
|
||||
@ -340,6 +353,28 @@ C? option C with an optional argument"
|
||||
eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"
|
||||
------------
|
||||
|
||||
|
||||
Usage text
|
||||
~~~~~~~~~~
|
||||
|
||||
When `"$@"` is `-h` or `--help` in the above example, the following
|
||||
usage text would be shown:
|
||||
|
||||
------------
|
||||
usage: some-command [options] <args>...
|
||||
|
||||
some-command does foo and bar!
|
||||
|
||||
-h, --help show the help
|
||||
--foo some nifty option --foo
|
||||
--bar ... some cool option --bar with an argument
|
||||
--baz <arg> another cool option --baz with a named argument
|
||||
--qux[=<path>] qux may take a path argument but has meaning by itself
|
||||
|
||||
An option group Header
|
||||
-C[...] option C with an optional argument
|
||||
------------
|
||||
|
||||
SQ-QUOTE
|
||||
--------
|
||||
|
||||
|
@ -8,7 +8,7 @@ git-revert - Revert some existing commits
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] <commit>...
|
||||
'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<key-id>]] <commit>...
|
||||
'git revert' --continue
|
||||
'git revert' --quit
|
||||
'git revert' --abort
|
||||
@ -80,6 +80,10 @@ more details.
|
||||
This is useful when reverting more than one commits'
|
||||
effect to your index in a row.
|
||||
|
||||
-S[<key-id>]::
|
||||
--gpg-sign[=<key-id>]::
|
||||
GPG-sign commits.
|
||||
|
||||
-s::
|
||||
--signoff::
|
||||
Add Signed-off-by line at the end of the commit message.
|
||||
|
@ -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
|
||||
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
|
||||
enabled interface to provide the necessary information.
|
||||
|
||||
@ -68,7 +68,7 @@ The --cc option must be repeated for each user you want on the cc list.
|
||||
When '--compose' is used, git send-email will use the From, Subject, and
|
||||
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
|
||||
(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.
|
||||
+
|
||||
Missing From or In-Reply-To headers will be prompted for.
|
||||
@ -78,7 +78,7 @@ See the CONFIGURATION section for 'sendemail.multiedit'.
|
||||
--from=<address>::
|
||||
Specify the sender of the emails. If not specified on the command line,
|
||||
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
|
||||
the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not
|
||||
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
|
||||
'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
|
||||
~~~~~~~
|
||||
@ -199,10 +214,15 @@ must be used for each option.
|
||||
Legacy alias for '--smtp-encryption ssl'.
|
||||
|
||||
--smtp-ssl-cert-path::
|
||||
Path to ca-certificates (either a directory or a single file).
|
||||
Set it to an empty string to disable certificate verification.
|
||||
Defaults to the value set to the 'sendemail.smtpsslcertpath'
|
||||
configuration variable, if set, or `/etc/ssl/certs` otherwise.
|
||||
Path to a store of trusted CA certificates for SMTP SSL/TLS
|
||||
certificate validation (either a directory that has been processed
|
||||
by 'c_rehash', or a single file containing one or more PEM format
|
||||
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>::
|
||||
Username for SMTP-AUTH. Default is the value of 'sendemail.smtpuser';
|
||||
@ -248,6 +268,18 @@ Automating
|
||||
cc list. Default is the value of 'sendemail.signedoffbycc' configuration
|
||||
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>::
|
||||
Specify an additional category of recipients to suppress the
|
||||
auto-cc of:
|
||||
|
@ -35,6 +35,16 @@ OPTIONS
|
||||
Instead of explicitly specifying which refs to update,
|
||||
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::
|
||||
Do everything except actually send the updates.
|
||||
|
||||
@ -77,7 +87,8 @@ this flag.
|
||||
Without '--all' and without any '<ref>', the heads that exist
|
||||
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
|
||||
":" (this means that a ref name cannot have a colon in it). A
|
||||
single pattern '<name>' is just a shorthand for '<name>:<name>'.
|
||||
|
@ -66,7 +66,7 @@ EXAMPLE
|
||||
-------
|
||||
|
||||
To disable interactive logins, displaying a greeting instead:
|
||||
+
|
||||
|
||||
----------------
|
||||
$ chsh -s /usr/bin/git-shell
|
||||
$ mkdir $HOME/git-shell-commands
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user