mirror of
https://github.com/git/git.git
synced 2024-11-01 14:57:52 +01:00
7b0d47b3b6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
157 lines
6.4 KiB
Text
157 lines
6.4 KiB
Text
Git 2.9 Release Notes
|
|
=====================
|
|
|
|
Backward compatibility note
|
|
---------------------------
|
|
|
|
The end-user facing Porcelain level commands in the "git diff" and
|
|
"git log" by default enables the rename detection; you can still use
|
|
"diff.renames" configuration variable to disable this.
|
|
|
|
Merging two branches that have no common ancestor with "git merge" is
|
|
by default forbidden now to prevent creating such an unusual merge by
|
|
mistake.
|
|
|
|
|
|
Updates since v2.8
|
|
------------------
|
|
|
|
UI, Workflows & Features
|
|
|
|
* The end-user facing Porcelain level commands like "diff" and "log"
|
|
now enables the rename detection by default.
|
|
|
|
* The credential.helper configuration variable is cumulative and
|
|
there is no good way to override it from the command line. As
|
|
a special case, giving an empty string as its value now serves
|
|
as the signal to clear the values specified in various files.
|
|
|
|
* A new "interactive.diffFilter" configuration can be used to
|
|
customize the diff shown in "git add -i" session.
|
|
|
|
* "git p4" now allows P4 author names to be mapped to Git author
|
|
names.
|
|
|
|
* "git rebase -x" can be used without passing "-i" option.
|
|
|
|
* "git -c credential.<var>=<value> submodule" can now be used to
|
|
propagate configuration variables related to credential helper
|
|
down to the submodules.
|
|
|
|
* "git tag" can create an annotated tag without explicitly given an
|
|
"-a" (or "-s") option (i.e. when a tag message is given). A new
|
|
configuration variable, tag.forceSignAnnotated, can be used to tell
|
|
the command to create signed tag in such a situation.
|
|
|
|
* "git merge" used to allow merging two branches that have no common
|
|
base by default, which led to a brand new history of an existing
|
|
project created and then get pulled by an unsuspecting maintainer,
|
|
which allowed an unnecessary parallel history merged into the
|
|
existing project. The command has been taught not to allow this by
|
|
default, with an escape hatch "--allow-unrelated-histories" option
|
|
to be used in a rare event that merges histories of two projects
|
|
that started their lives independently.
|
|
(merge e379fdf jc/merge-refuse-new-root later to maint).
|
|
|
|
* "git apply -v" learned to report paths in the patch that were
|
|
skipped via --include/--exclude mechanism or being outside the
|
|
current working directory.
|
|
(merge 3f57944 nd/apply-report-skip later to maint).
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
|
|
* The embedded args argv-array in the child process is used to build
|
|
the command line to run pack-objects instead of using a separate
|
|
array of strings.
|
|
(merge 65a3629 mp/upload-pack-use-embedded-args later to maint).
|
|
|
|
* A test for tags has been restructured so that more parts of it can
|
|
easily be run on a platform without a working GnuPG.
|
|
|
|
* The startup_info data, which records if we are working inside a
|
|
repository (among other things), are now uniformly available to Git
|
|
subcommand implementations, and Git avoids attempting to touch
|
|
references when we are not in a repository.
|
|
(merge 11e6b3f jk/startup-info later to maint).
|
|
|
|
* The command line argument parser for "receive-pack" has been
|
|
rewritten to use parse-options.
|
|
|
|
* A major part of "git submodule update" has been ported to C to take
|
|
advantage of the recently added framework to run download tasks in
|
|
parallel.
|
|
|
|
* Rename bunch of tests on "git clone" for better organization.
|
|
(merge 8fbb03a sb/clone-t57-t56 later to maint).
|
|
|
|
* The tests that involve running httpd leaked the system-wide
|
|
configuration in /etc/gitconfig to the tested environment.
|
|
(merge 1fad503 jk/test-httpd-config-nosystem later to maint).
|
|
|
|
* Build updates for MSVC.
|
|
(merge 0ef60af ss/msvc later to maint).
|
|
|
|
Also contains various documentation updates and code clean-ups.
|
|
|
|
|
|
Fixes since v2.8
|
|
----------------
|
|
|
|
Unless otherwise noted, all the fixes since v2.8 in the maintenance
|
|
track are contained in this release (see the maintenance releases'
|
|
notes for details).
|
|
|
|
* "git config --get-urlmatch", unlike other variants of the "git
|
|
config --get" family, did not signal error with its exit status
|
|
when there was no matching configuration.
|
|
(merge 24990b2 jk/config-get-urlmatch later to maint).
|
|
|
|
* The "--local-env-vars" and "--resolve-git-dir" options of "git
|
|
rev-parse" failed to work outside a repository when the command's
|
|
option parsing was rewritten in 1.8.5 era.
|
|
(merge fc7d47f jk/rev-parse-local-env-vars later to maint).
|
|
|
|
* "git index-pack --keep[=<msg>] pack-$name.pack" simply did not work.
|
|
(merge 0e94242 jc/maint-index-pack-keep later to maint).
|
|
|
|
* Fetching of history by naming a commit object name directly didn't
|
|
work across remote-curl transport.
|
|
(merge 754ecb1 gf/fetch-pack-direct-object-fetch later to maint).
|
|
|
|
* A small memory leak in an error codepath has been plugged in xdiff
|
|
code.
|
|
(merge 87f1625 rj/xdiff-prepare-plug-leak-on-error-codepath later to maint).
|
|
|
|
* strbuf_getwholeline() did not NUL-terminate the buffer on certain
|
|
corner cases in its error codepath.
|
|
(merge b709043 jk/getwholeline-getdelim-empty later to maint).
|
|
|
|
* "git mergetool" did not work well with conflicts that both sides
|
|
deleted.
|
|
(merge a298604 da/mergetool-delete-delete-conflict later to maint).
|
|
|
|
* "git send-email" had trouble parsing alias file in mailrc format
|
|
when lines in it had trailing whitespaces on them.
|
|
(merge a277d1e jk/send-email-rtrim-mailrc-alias later to maint).
|
|
|
|
* When "git merge --squash" stopped due to conflict, the concluding
|
|
"git commit" failed to read in the SQUASH_MSG that shows the log
|
|
messages from all the squashed commits.
|
|
(merge b64c1e0 ss/commit-squash-msg later to maint).
|
|
|
|
* "git merge FETCH_HEAD" dereferenced NULL pointer when merging
|
|
nothing into an unborn history (which is arguably unusual usage,
|
|
which perhaps was the reason why nobody noticed it).
|
|
(merge b84e65d jv/merge-nothing-into-void later to maint).
|
|
|
|
* Other minor clean-ups and documentation updates
|
|
(merge aed7480 mm/lockfile-error-message later to maint).
|
|
(merge bfee614 jc/index-pack later to maint).
|
|
(merge f870899 ss/exc-flag-is-a-collection-of-bits later to maint).
|
|
(merge dde7891 pb/t7502-drop-dup later to maint).
|
|
(merge 3bd1b51 cc/doc-recommend-performance-trace-to-file later to maint).
|
|
(merge 7d5e9c9 jk/credential-cache-comment-exit later to maint).
|
|
(merge 16a86d4 nd/apply-doc later to maint).
|
|
(merge c3f6b85 pb/opt-cmdmode-doc later to maint).
|
|
(merge 30211fb oa/doc-diff-check later to maint).
|