]>
Commit | Line | Data |
---|---|---|
048d4d98 JH |
1 | Git v1.8.3 Release Notes |
2 | ======================== | |
3 | ||
4 | Backward compatibility notes (for Git 2.0) | |
5 | ------------------------------------------ | |
6 | ||
7 | When "git push [$there]" does not say what to push, we have used the | |
8 | traditional "matching" semantics so far (all your branches were sent | |
9 | to the remote as long as there already are branches of the same name | |
10 | over there). In Git 2.0, the default will change to the "simple" | |
11 | semantics that pushes the current branch to the branch with the same | |
12 | name, only when the current branch is set to integrate with that | |
13 | remote branch. There is a user preference configuration variable | |
14 | "push.default" to change this. If you are an old-timer who is used | |
15 | to the "matching" semantics, you can set it to "matching" to keep the | |
16 | traditional behaviour. If you want to live in the future early, | |
17 | you can set it to "simple" today without waiting for Git 2.0. | |
18 | ||
19 | When "git add -u" and "git add -A", that does not specify what paths | |
20 | to add on the command line is run from inside a subdirectory, these | |
21 | commands will operate on the entire tree in Git 2.0 for consistency | |
22 | with "git commit -a" and other commands. Because there will be no | |
23 | mechanism to make "git add -u" behave as if "git add -u .", it is | |
24 | important for those who are used to "git add -u" (without pathspec) | |
25 | updating the index only for paths in the current subdirectory to start | |
26 | training their fingers to explicitly say "git add -u ." when they mean | |
27 | it before Git 2.0 comes. | |
28 | ||
29 | ||
30 | Updates since v1.8.2 | |
31 | -------------------- | |
32 | ||
33 | UI, Workflows & Features | |
34 | ||
7b592fad JH |
35 | * When the interactive access to git-shell is not enabled, it issues |
36 | a message meant to help the system admininstrator to enable it. | |
37 | An explicit way to help the end users who connect to the service by | |
38 | issuing custom messages to refuse such an access has been added. | |
39 | ||
40 | * "git status" suggests users to look into using--untracked=no option | |
41 | when it takes too long. | |
42 | ||
43 | * "git fetch" learned to fetch a commit at the tip of an unadvertised | |
44 | ref by specifying a raw object name from the command line when the | |
45 | server side supports this feature. | |
46 | ||
47 | * "git count-objects -v" learned to report leftover temporary | |
48 | packfiles and other garbage in the object store. | |
49 | ||
50 | * A new read-only credential helper (in contrib/) to interact with | |
51 | the .netrc/.authinfo files has been added. | |
52 | ||
53 | * "git send-email" can be used with the credential helper system. | |
048d4d98 | 54 | |
7632cd27 JH |
55 | * There was no Porcelain way to say "I no longer am interested in |
56 | this submodule", once you express your interest in a submodule with | |
57 | "submodule init". "submodule deinit" is the way to do so. | |
58 | ||
59 | * "git pull --rebase" learned to pass "-v/-q" options to underlying | |
60 | "git rebase". | |
61 | ||
62 | * The new "--follow-tags" option tells "git push" to push relevant | |
63 | annotated tags when pushing branches out. | |
64 | ||
048d4d98 JH |
65 | |
66 | Foreign Interface | |
67 | ||
68 | ||
69 | ||
70 | Performance, Internal Implementation, etc. | |
71 | ||
7b9a4198 | 72 | * Updates for building under msvc. |
048d4d98 | 73 | |
7b592fad JH |
74 | * A few codepaths knew how much data they need to put in the |
75 | hashtables they use upfront, but still started from a small table | |
76 | repeatedly growing and rehashing. | |
77 | ||
048d4d98 JH |
78 | |
79 | Also contains minor documentation updates and code clean-ups. | |
80 | ||
81 | ||
82 | Fixes since v1.8.2 | |
83 | ------------------ | |
84 | ||
85 | Unless otherwise noted, all the fixes since v1.8.2 in the maintenance | |
86 | track are contained in this release (see release notes to them for | |
87 | details). | |
7b9a4198 | 88 | |
7632cd27 JH |
89 | * Annotated tags outside refs/tags/ hierarchy were not advertised |
90 | correctly to the ls-remote and fetch with recent version of Git. | |
91 | (merge c29c46f jk/fully-peeled-packed-ref later to maint). | |
92 | ||
93 | * Recent optimization broke shallow clones. | |
94 | (merge f59de5d jk/peel-ref later to maint). | |
95 | ||
96 | * "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and | |
97 | instead the parser kept reading beyond the end of the string. | |
98 | (merge f612a67 lf/setup-prefix-pathspec later to maint). | |
99 | ||
100 | * "git tag -f <tag>" always said "Updated tag '<tag>'" even when | |
101 | creating a new tag (i.e. not overwriting nor updating). | |
102 | (merge 3ae851e ph/tag-force-no-warn-on-creation later to maint). | |
103 | ||
104 | * "git p4" did not behave well when the path to the root of the P4 | |
105 | client was not its real path. | |
106 | (merge bbd8486 pw/p4-symlinked-root later to maint). | |
107 | ||
108 | * "git archive" reports a failure when asked to create an archive out | |
109 | of an empty tree. It would be more intuitive to give an empty | |
110 | archive back in such a case. | |
111 | (merge bd54cf1 jk/empty-archive later to maint). | |
112 | ||
113 | * When "format-patch" quoted a non-ascii strings on the header files, | |
114 | it incorrectly applied rfc2047 and chopped a single character in | |
115 | the middle of it. | |
116 | (merge 6cd3c05 ks/rfc2047-one-char-at-a-time later to maint). | |
117 | ||
118 | * An aliased command spawned from a bare repository that does not say | |
119 | it is bare with "core.bare = yes" is treated as non-bare by mistake. | |
120 | (merge 2cd83d1 jk/alias-in-bare later to maint). | |
121 | ||
122 | * In "git reflog expire", REACHABLE bit was not cleared from the | |
123 | correct objects. | |
124 | (merge e8e92e0 jc/maint-reflog-expire-clean-mark-typofix later to maint). | |
125 | ||
126 | * The logic used by "git diff -M --stat" to shorten the names of | |
127 | files before and after a rename did not work correctly when the | |
128 | common prefix and suffix between the two filenames overlapped. | |
129 | (merge b174eb4 ap/maint-diff-rename-avoid-overlap later to maint). | |
130 | ||
131 | * The "--match=<pattern>" option of "git describe", when used with | |
132 | "--all" to allow refs that are not annotated tags to be used as a | |
133 | base of description, did not restrict the output from the command | |
134 | to those that match the given pattern. | |
135 | (merge 46e1d6e jc/describe later to maint). | |
136 | ||
7b592fad JH |
137 | * Clarify in the documentation "what" gets pushed to "where" when the |
138 | command line to "git push" does not say these explicitly. | |
139 | (merge cfe1348 jc/maint-push-refspec-default-doc later to maint). | |
140 | ||
7b9a4198 JH |
141 | * The "--color=<when>" argument to the commands in the diff family |
142 | was described poorly. | |
7b9a4198 JH |
143 | |
144 | * The arguments given to pre-rebase hook were not documented. | |
7b9a4198 JH |
145 | |
146 | * The v4 index format was not documented. | |
7b9a4198 JH |
147 | |
148 | * The "--match=<pattern>" argument "git describe" takes uses glob | |
149 | pattern but it wasn't obvious from the documentation. | |
7b9a4198 JH |
150 | |
151 | * Some sources failed to compile on systems that lack NI_MAXHOST in | |
152 | their system header (e.g. z/OS). | |
7b9a4198 JH |
153 | |
154 | * Add an example use of "--env-filter" in "filter-branch" | |
155 | documentation. | |
7b9a4198 JH |
156 | |
157 | * "git bundle verify" did not say "records a complete history" for a | |
158 | bundle that does not have any prerequisites. | |
7b9a4198 JH |
159 | |
160 | * In the v1.8.0 era, we changed symbols that do not have to be global | |
161 | to file scope static, but a few functions in graph.c were used by | |
162 | CGit from sideways bypassing the entry points of the API the | |
163 | in-tree users use. | |
164 | (merge ac751a0 jk/graph-c-expose-symbols-for-cgit later to maint). | |
7b592fad JH |
165 | |
166 | * "git update-index -h" did not do the usual "-h(elp)" thing. | |
167 | ||
168 | * "git index-pack" had a buffer-overflow while preparing an | |
169 | informational message when the translated version of it was too | |
170 | long. | |
171 | (merge 5c3459f nd/index-pack-l10n-buf-overflow later to maint). | |
172 | ||
173 | * 'git commit -m "$msg"' used to add an extra newline even when | |
174 | $msg already ended with one. | |
175 | (merge 46fbf75 bc/commit-complete-lines-given-via-m-option later to maint). | |
176 | ||
177 | * The SSL peer verification done by "git imap-send" did not ask for | |
178 | Server Name Indication (RFC 4366), failing to connect SSL/TLS | |
179 | sites that serve multiple hostnames on a single IP. | |
180 | (merge 698a1ec ob/imap-send-ssl-verify later to maint). | |
181 | ||
182 | * perl/Git.pm::cat_blob slurped everything in core only to write it | |
183 | out to a file descriptor, which was not a very smart thing to do. | |
184 | (merge 712c6ad jc/perl-cat-blob later to maint). | |
185 | ||
186 | * "git branch" did not bother to check nonsense command line | |
187 | parameters and issue errors in many cases. | |
188 | (merge 8efb889 nd/branch-error-cases later to maint). | |
189 | ||
190 | * Verification of signed tags were not done correctly when not in C | |
191 | or en/US locale. | |
192 | (merge 0174eea mg/gpg-interface-using-status later to maint). | |
193 | ||
194 | * Some platforms and users spell UTF-8 differently; retry with the | |
195 | most official "UTF-8" when the system does not understand the | |
196 | user-supplied encoding name that are the common alternative | |
197 | spellings of UTF-8. | |
198 | (merge 5c680be jk/utf-8-can-be-spelled-differently later to maint). | |
199 | ||
200 | * When export-subst is used, "zip" output recorded incorrect | |
201 | size of the file. | |
202 | (merge d3c1472 rs/zip-compresssed-size-with-export-subst later to maint). | |
203 | ||
204 | * "git am $maildir/" applied messages in an unexpected order; sort | |
205 | filenames read from the maildir/ in a way that is more likely to | |
206 | sort messages in the order the writing MUA meant to, by sorting | |
207 | numeric segment in numeric order and non-numeric segment in | |
208 | alphabetical order. | |
209 | (merge 18505c3 jk/mailsplit-maildir-muttsort later to maint). | |
210 | ||
211 | * "git submodule update", when recursed into sub-submodules, did not | |
212 | acccumulate the prefix paths. | |
213 | (merge 75bf5e6 we/submodule-update-prefix-output later to maint). |