Skip to content

Commit 4c43682

Browse files
committed
Merge branch 'extra-http-headers' into HEAD
Signed-off-by: Johannes Schindelin <[email protected]>
2 parents 51d4375 + 89d0024 commit 4c43682

File tree

188 files changed

+4273
-1211
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+4273
-1211
lines changed

Documentation/RelNotes/2.8.2.txt

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
Git v2.8.2 Release Notes
2+
========================
3+
4+
Fixes since v2.8.1
5+
------------------
6+
7+
* The embedded args argv-array in the child process is used to build
8+
the command line to run pack-objects instead of using a separate
9+
array of strings.
10+
11+
* Bunch of tests on "git clone" has been renumbered for better
12+
organization.
13+
14+
* The tests that involve running httpd leaked the system-wide
15+
configuration in /etc/gitconfig to the tested environment.
16+
17+
* "index-pack --keep=<msg>" was broken since v2.1.0 timeframe.
18+
19+
* "git config --get-urlmatch", unlike other variants of the "git
20+
config --get" family, did not signal error with its exit status
21+
when there was no matching configuration.
22+
23+
* The "--local-env-vars" and "--resolve-git-dir" options of "git
24+
rev-parse" failed to work outside a repository when the command's
25+
option parsing was rewritten in 1.8.5 era.
26+
27+
* Fetching of history by naming a commit object name directly didn't
28+
work across remote-curl transport.
29+
30+
* A small memory leak in an error codepath has been plugged in xdiff
31+
code.
32+
33+
* strbuf_getwholeline() did not NUL-terminate the buffer on certain
34+
corner cases in its error codepath.
35+
36+
* The startup_info data, which records if we are working inside a
37+
repository (among other things), are now uniformly available to Git
38+
subcommand implementations, and Git avoids attempting to touch
39+
references when we are not in a repository.
40+
41+
* "git mergetool" did not work well with conflicts that both sides
42+
deleted.
43+
44+
* "git send-email" had trouble parsing alias file in mailrc format
45+
when lines in it had trailing whitespaces on them.
46+
47+
* When "git merge --squash" stopped due to conflict, the concluding
48+
"git commit" failed to read in the SQUASH_MSG that shows the log
49+
messages from all the squashed commits.
50+
51+
* "git merge FETCH_HEAD" dereferenced NULL pointer when merging
52+
nothing into an unborn history (which is arguably unusual usage,
53+
which perhaps was the reason why nobody noticed it).
54+
55+
Also contains minor documentation updates and code clean-ups.

Documentation/RelNotes/2.9.0.txt

+298
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,298 @@
1+
Git 2.9 Release Notes
2+
=====================
3+
4+
Backward compatibility note
5+
---------------------------
6+
7+
The end-user facing Porcelain level commands in the "git diff" and
8+
"git log" by default enables the rename detection; you can still use
9+
"diff.renames" configuration variable to disable this.
10+
11+
Merging two branches that have no common ancestor with "git merge" is
12+
by default forbidden now to prevent creating such an unusual merge by
13+
mistake.
14+
15+
The output formats of "git log" that indents the commit log message by
16+
4 spaces now expands HT in the log message by default. You can use
17+
the "--no-expand-tabs" option to disable this.
18+
19+
20+
Updates since v2.8
21+
------------------
22+
23+
UI, Workflows & Features
24+
25+
* The end-user facing Porcelain level commands like "diff" and "log"
26+
now enables the rename detection by default.
27+
28+
* The credential.helper configuration variable is cumulative and
29+
there is no good way to override it from the command line. As
30+
a special case, giving an empty string as its value now serves
31+
as the signal to clear the values specified in various files.
32+
33+
* A new "interactive.diffFilter" configuration can be used to
34+
customize the diff shown in "git add -i" session.
35+
36+
* "git p4" now allows P4 author names to be mapped to Git author
37+
names.
38+
39+
* "git rebase -x" can be used without passing "-i" option.
40+
41+
* "git -c credential.<var>=<value> submodule" can now be used to
42+
propagate configuration variables related to credential helper
43+
down to the submodules.
44+
45+
* "git tag" can create an annotated tag without explicitly given an
46+
"-a" (or "-s") option (i.e. when a tag message is given). A new
47+
configuration variable, tag.forceSignAnnotated, can be used to tell
48+
the command to create signed tag in such a situation.
49+
50+
* "git merge" used to allow merging two branches that have no common
51+
base by default, which led to a brand new history of an existing
52+
project created and then get pulled by an unsuspecting maintainer,
53+
which allowed an unnecessary parallel history merged into the
54+
existing project. The command has been taught not to allow this by
55+
default, with an escape hatch "--allow-unrelated-histories" option
56+
to be used in a rare event that merges histories of two projects
57+
that started their lives independently.
58+
59+
* "git apply -v" learned to report paths in the patch that were
60+
skipped via --include/--exclude mechanism or being outside the
61+
current working directory.
62+
63+
* Shell completion (in contrib/) updates.
64+
65+
* The commit object name reported when "rebase -i" stops has been
66+
shortened.
67+
68+
* "git worktree add" can be given "--no-checkout" option to only
69+
create an empty worktree without checking out the files.
70+
71+
* "git mergetools" learned to drive ExamDiff.
72+
73+
* "git pull --rebase" learned "--[no-]autostash" option, so that
74+
the rebase.autostash configuration variable set to true can be
75+
overridden from the command line.
76+
77+
* When "git log" shows the log message indented by 4-spaces, the
78+
remainder of a line after a HT does not align in the way the author
79+
originally intended. The command now expands tabs by default in
80+
such a case, and allows the users to override it with a new option,
81+
"--no-expand-tabs".
82+
83+
* "git send-email" now uses a more readable timestamps when
84+
formulating a message ID.
85+
(merge f916ab0 ew/send-email-readable-message-id later to maint).
86+
87+
* "git rerere" can encounter two or more files with the same conflict
88+
signature that have to be resolved in different ways, but there was
89+
no way to record these separate resolutions.
90+
(merge 890fca8 jc/rerere-multi later to maint).
91+
92+
93+
Performance, Internal Implementation, Development Support etc.
94+
95+
* The embedded args argv-array in the child process is used to build
96+
the command line to run pack-objects instead of using a separate
97+
array of strings.
98+
(merge 65a3629 mp/upload-pack-use-embedded-args later to maint).
99+
100+
* A test for tags has been restructured so that more parts of it can
101+
easily be run on a platform without a working GnuPG.
102+
103+
* The startup_info data, which records if we are working inside a
104+
repository (among other things), are now uniformly available to Git
105+
subcommand implementations, and Git avoids attempting to touch
106+
references when we are not in a repository.
107+
(merge 11e6b3f jk/startup-info later to maint).
108+
109+
* The command line argument parser for "receive-pack" has been
110+
rewritten to use parse-options.
111+
112+
* A major part of "git submodule update" has been ported to C to take
113+
advantage of the recently added framework to run download tasks in
114+
parallel.
115+
116+
* Rename bunch of tests on "git clone" for better organization.
117+
(merge 8fbb03a sb/clone-t57-t56 later to maint).
118+
119+
* The tests that involve running httpd leaked the system-wide
120+
configuration in /etc/gitconfig to the tested environment.
121+
(merge 1fad503 jk/test-httpd-config-nosystem later to maint).
122+
123+
* Build updates for MSVC.
124+
(merge 0ef60af ss/msvc later to maint).
125+
126+
* The repository set-up sequence has been streamlined (the biggest
127+
change is that there is no longer git_config_early()), so that we
128+
do not attempt to look into refs/* when we know we do not have a
129+
Git repository.
130+
(merge 274db84 jk/check-repository-format later to maint).
131+
132+
* Code restructuring around the "refs" area to prepare for pluggable
133+
refs backends.
134+
135+
136+
Also contains various documentation updates and code clean-ups.
137+
138+
139+
Fixes since v2.8
140+
----------------
141+
142+
Unless otherwise noted, all the fixes since v2.8 in the maintenance
143+
track are contained in this release (see the maintenance releases'
144+
notes for details).
145+
146+
* "git config --get-urlmatch", unlike other variants of the "git
147+
config --get" family, did not signal error with its exit status
148+
when there was no matching configuration.
149+
(merge 24990b2 jk/config-get-urlmatch later to maint).
150+
151+
* The "--local-env-vars" and "--resolve-git-dir" options of "git
152+
rev-parse" failed to work outside a repository when the command's
153+
option parsing was rewritten in 1.8.5 era.
154+
(merge fc7d47f jk/rev-parse-local-env-vars later to maint).
155+
156+
* "git index-pack --keep[=<msg>] pack-$name.pack" simply did not work.
157+
(merge 0e94242 jc/maint-index-pack-keep later to maint).
158+
159+
* Fetching of history by naming a commit object name directly didn't
160+
work across remote-curl transport.
161+
(merge 754ecb1 gf/fetch-pack-direct-object-fetch later to maint).
162+
163+
* A small memory leak in an error codepath has been plugged in xdiff
164+
code.
165+
(merge 87f1625 rj/xdiff-prepare-plug-leak-on-error-codepath later to maint).
166+
167+
* strbuf_getwholeline() did not NUL-terminate the buffer on certain
168+
corner cases in its error codepath.
169+
(merge b709043 jk/getwholeline-getdelim-empty later to maint).
170+
171+
* "git mergetool" did not work well with conflicts that both sides
172+
deleted.
173+
(merge a298604 da/mergetool-delete-delete-conflict later to maint).
174+
175+
* "git send-email" had trouble parsing alias file in mailrc format
176+
when lines in it had trailing whitespaces on them.
177+
(merge a277d1e jk/send-email-rtrim-mailrc-alias later to maint).
178+
179+
* When "git merge --squash" stopped due to conflict, the concluding
180+
"git commit" failed to read in the SQUASH_MSG that shows the log
181+
messages from all the squashed commits.
182+
(merge b64c1e0 ss/commit-squash-msg later to maint).
183+
184+
* "git merge FETCH_HEAD" dereferenced NULL pointer when merging
185+
nothing into an unborn history (which is arguably unusual usage,
186+
which perhaps was the reason why nobody noticed it).
187+
(merge b84e65d jv/merge-nothing-into-void later to maint).
188+
189+
* When "git worktree" feature is in use, "git branch -d" allowed
190+
deletion of a branch that is checked out in another worktree,
191+
which was wrong.
192+
(merge f292244 ky/branch-d-worktree later to maint).
193+
194+
* When "git worktree" feature is in use, "git branch -m" renamed a
195+
branch that is checked out in another worktree without adjusting
196+
the HEAD symbolic ref for the worktree.
197+
(merge 18eb3a9 ky/branch-m-worktree later to maint).
198+
199+
* "git diff -M" used to work better when two originally identical
200+
files A and B got renamed to X/A and X/B by pairing A to X/A and B
201+
to X/B, but this was broken in the 2.0 timeframe.
202+
(merge ca4e3ca sg/diff-multiple-identical-renames later to maint).
203+
204+
* "git send-pack --all <there>" was broken when its command line
205+
option parsing was written in the 2.6 timeframe.
206+
(merge c677756 sk/send-pack-all-fix later to maint).
207+
208+
* "git format-patch --help" showed `-s` and `--no-patch` as if these
209+
are valid options to the command. We already hide `--patch` option
210+
from the documentation, because format-patch is about showing the
211+
diff, and the documentation now hides these options as well.
212+
(merge b73a1bc es/format-patch-doc-hide-no-patch later to maint).
213+
214+
* When running "git blame $path" with unnormalized data in the index
215+
for the path, the data in the working tree was blamed, even though
216+
"git add" would not have changed what is already in the index, due
217+
to "safe crlf" that disables the line-end conversion. It has been
218+
corrected.
219+
(merge a08feb8 tb/blame-force-read-cache-to-workaround-safe-crlf later to maint).
220+
221+
* A change back in version 2.7 to "git branch" broke display of a
222+
symbolic ref in a non-standard place in the refs/ hierarchy (we
223+
expect symbolic refs to appear in refs/remotes/*/HEAD to point at
224+
the primary branch the remote has, and as .git/HEAD to point at the
225+
branch we locally checked out).
226+
(merge 95c38fb jk/branch-shortening-funny-symrefs later to maint).
227+
228+
* A partial rewrite of "git submodule" in the 2.7 timeframe changed
229+
the way the gitdir: pointer in the submodules point at the real
230+
repository location to use absolute paths by accident. This has
231+
been corrected.
232+
(merge 1f15ba1 sb/submodule-helper-clone-regression-fix later to maint).
233+
234+
* "git commit" misbehaved in a few minor ways when an empty message
235+
is given via -m '', all of which has been corrected.
236+
(merge 27014cb ad/commit-have-m-option later to maint).
237+
238+
* Support for CRAM-MD5 authentication method in "git imap-send" did
239+
not work well.
240+
(merge eb94ee7 ky/imap-send later to maint).
241+
242+
* Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs
243+
we use in imap-send, which has been adjusted for the change.
244+
(merge 1245c74 ky/imap-send-openssl-1.1.0 later to maint).
245+
246+
* The socks5:// proxy support added back in 2.6.4 days was not aware
247+
that socks5h:// proxies behave differently.
248+
(merge 87f8a0b jc/http-socks5h later to maint).
249+
250+
* "git config" had a codepath that tried to pass a NULL to
251+
printf("%s"), which nobody seems to have noticed.
252+
(merge 1cae428 jk/do-not-printf-NULL later to maint).
253+
254+
* On Cygwin, object creation uses the "create a temporary and then
255+
rename it to the final name" pattern, not "create a temporary,
256+
hardlink it to the final name and then unlink the temporary"
257+
pattern.
258+
259+
This is necessary to use Git on Windows shared directories, and is
260+
already enabled for the MinGW and plain Windows builds. It also
261+
has been used in Cygwin packaged versions of Git for quite a while.
262+
See http://thread.gmane.org/gmane.comp.version-control.git/291853
263+
(merge e53a64b ad/cygwin-wants-rename later to maint).
264+
265+
* "merge-octopus" strategy did not ensure that the index is clean
266+
when merge begins.
267+
268+
* When "git merge" notices that the merge can be resolved purely at
269+
the tree level (without having to merge blobs) and the resulting
270+
tree happens to already exist in the object store, it forgot to
271+
update the index, which lead to an inconsistent state for later
272+
operations.
273+
274+
* "git submodule" reports the paths of submodules the command
275+
recurses into, but this was incorrect when the command was not run
276+
from the root level of the superproject.
277+
(merge 2ab5660 sb/submodule-path-misc-bugs later to maint).
278+
279+
* Other minor clean-ups and documentation updates
280+
(merge aed7480 mm/lockfile-error-message later to maint).
281+
(merge bfee614 jc/index-pack later to maint).
282+
(merge f870899 ss/exc-flag-is-a-collection-of-bits later to maint).
283+
(merge dde7891 pb/t7502-drop-dup later to maint).
284+
(merge 3bd1b51 cc/doc-recommend-performance-trace-to-file later to maint).
285+
(merge 7d5e9c9 jk/credential-cache-comment-exit later to maint).
286+
(merge 16a86d4 nd/apply-doc later to maint).
287+
(merge c3f6b85 pb/opt-cmdmode-doc later to maint).
288+
(merge 30211fb oa/doc-diff-check later to maint).
289+
(merge 01d98e8 ak/use-hashmap-iter-first-in-submodule-config later to maint).
290+
(merge 8b5a3e9 kn/for-each-tag-branch later to maint).
291+
(merge 9c60d9f sb/misc-cleanups later to maint).
292+
(merge 7a6a44c cc/apply later to maint).
293+
(merge 8e9b208 js/mingw-tests-2.8 later to maint).
294+
(merge d55de70 jc/makefile-redirection-stderr later to maint).
295+
(merge 4232b21 ep/trace-doc-sample-fix later to maint).
296+
(merge ef8c95e ew/send-email-drop-data-dumper later to maint).
297+
(merge 24041d6 jc/xstrfmt-null-with-prec-0 later to maint).
298+
(merge 7bec7f5 jk/use-write-script-more later to maint).

0 commit comments

Comments
 (0)