summaryrefslogtreecommitdiff
path: root/Documentation/RelNotes/2.11.0.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/RelNotes/2.11.0.txt')
-rw-r--r--Documentation/RelNotes/2.11.0.txt97
1 files changed, 74 insertions, 23 deletions
diff --git a/Documentation/RelNotes/2.11.0.txt b/Documentation/RelNotes/2.11.0.txt
index 0f82a089cd..8608e86e4e 100644
--- a/Documentation/RelNotes/2.11.0.txt
+++ b/Documentation/RelNotes/2.11.0.txt
@@ -67,6 +67,25 @@ UI, Workflows & Features
* "git gui" l10n to Portuguese.
+ * When given an abbreviated object name that is not (or more
+ realistically, "no longer") unique, we gave a fatal error
+ "ambiguous argument". This error is now accompanied by hints that
+ lists the objects that begins with the given prefix. During the
+ course of development of this new feature, numerous minor bugs were
+ uncovered and corrected, the most notable one of which is that we
+ gave "short SHA1 xxxx is ambiguous." twice without good reason.
+
+ * "git log rev^..rev" is an often-used revision range specification
+ to show what was done on a side branch merged at rev. This has
+ gained a short-hand "rev^-1". In general "rev^-$n" is the same as
+ "^rev^$n rev", i.e. what has happened on other branches while the
+ history leading to nth parent was looking the other way.
+
+ * In recent versions of cURL, GSSAPI credential delegation is
+ disabled by default due to CVE-2011-2192; introduce a configuration
+ to selectively allow enabling this.
+ (merge 26a7b23429 ps/http-gssapi-cred-delegation later to maint).
+
Performance, Internal Implementation, Development Support etc.
@@ -114,6 +133,16 @@ Performance, Internal Implementation, Development Support etc.
* The codepath in "git fsck" to detect malformed tree objects has
been updated not to die but keep going after detecting them.
+ * We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
+ the time third parameter is redundant. A new QSORT() macro lets us
+ omit it.
+
+ * "git pack-objects" in a repository with many packfiles used to
+ spend a lot of time looking for/at objects in them; the accesses to
+ the packfiles are now optimized by checking the most-recently-used
+ packfile first.
+ (merge c9af708b1a jk/pack-objects-optim-mru later to maint).
+
Also contains various documentation updates and code clean-ups.
@@ -155,35 +184,28 @@ notes for details).
we are sending an object C, we want a tag B that directly points at
C but also a tag A that points at the tag B. We used to miss the
intermediate tag B in some cases.
- (merge b773dde jk/pack-tag-of-tag later to maint).
* Update Japanese translation for "git-gui".
- (merge 02748bc sy/git-gui-i18n-ja later to maint).
* "git fetch http::/site/path" did not die correctly and segfaulted
instead.
- (merge d63ed6e jk/fix-remote-curl-url-wo-proto later to maint).
* "git commit-tree" stopped reading commit.gpgsign configuration
variable that was meant for Porcelain "git commit" in Git 2.9; we
forgot to update "git gui" to look at the configuration to match
this change.
- (merge f14a310 js/git-gui-commit-gpgsign later to maint).
* "git add --chmod=+x" added recently lacked documentation, which has
been corrected.
- (merge 7ef7903 et/add-chmod-x later to maint).
* "git log --cherry-pick" used to include merge commits as candidates
to be matched up with other commits, resulting a lot of wasted time.
The patch-id generation logic has been updated to ignore merges to
avoid the wastage.
- (merge 7c81040 jk/patch-ids-no-merges later to maint).
* The http transport (with curl-multi option, which is the default
these days) failed to remove curl-easy handle from a curlm session,
which led to unnecessary API failures.
- (merge 2abc848 ew/http-do-not-forget-to-call-curl-multi-remove-handle later to maint).
* There were numerous corner cases in which the configuration files
are read and used or not read at all depending on the directory a
@@ -202,13 +224,11 @@ notes for details).
* Performance tests done via "t/perf" did not use the same set of
build configuration if the user relied on autoconf generated
configuration.
- (merge cd5c281 ks/perf-build-with-autoconf later to maint).
* "git format-patch --base=..." feature that was recently added
showed the base commit information after "-- " e-mail signature
line, which turned out to be inconvenient. The base information
has been moved above the signature line.
- (merge 480871e jt/format-patch-base-info-above-sig later to maint).
* More i18n.
(merge 43073f8 va/i18n later to maint).
@@ -220,13 +240,11 @@ notes for details).
than nice. As the underlying commands used inside "git rebase"
would fail with a more meaningful error message and advice text
when the bogus ident matters, this extra check was removed.
- (merge 1e461c4 jk/rebase-i-drop-ident-check later to maint).
* "git gc --aggressive" used to limit the delta-chain length to 250,
which is way too deep for gaining additional space savings and is
detrimental for runtime performance. The limit has been reduced to
50.
- (merge 07e7dbf jk/reduce-gc-aggressive-depth later to maint).
* Documentation for individual configuration variables to control use
of color (like `color.grep`) said that their default value is
@@ -234,7 +252,6 @@ notes for details).
When we updated the default value for color.ui from 'false' to
'auto' quite a while ago, all of them broke. This has been
corrected.
- (merge 14d16e2 mm/config-color-ui-default-to-auto later to maint).
* The pretty-format specifier "%C(auto)" used by the "log" family of
commands to enable coloring of the output is taught to also issue a
@@ -243,7 +260,6 @@ notes for details).
* A shell script example in check-ref-format documentation has been
fixed.
- (merge 92dece7 ep/doc-check-ref-format-example later to maint).
* "git checkout <word>" does not follow the usual disambiguation
rules when the <word> can be both a rev and a path, to allow
@@ -251,7 +267,6 @@ notes for details).
file 'foo' in the working tree without having to disambiguate.
This was poorly documented and the check was incorrect when the
command was run from a subdirectory.
- (merge b829b94 nd/checkout-disambiguation later to maint).
* Some codepaths in "git diff" used regexec(3) on a buffer that was
mmap(2)ed, which may not have a terminating NUL, leading to a read
@@ -264,15 +279,12 @@ notes for details).
internal directory structure we assumed HomeBrew uses, which was a
no-no. The procedure has been updated to ask HomeBrew things we
need to know to fix this.
- (merge f86f49b ls/travis-homebrew-path-fix later to maint).
* When "git rebase -i" is given a broken instruction, it told the
user to fix it with "--edit-todo", but didn't say what the step
after that was (i.e. "--continue").
- (merge 37875b4 rt/rebase-i-broken-insn-advise later to maint).
* Documentation around tools to import from CVS was fairly outdated.
- (merge 106b672 jk/doc-cvs-update later to maint).
* "git clone --recurse-submodules" lost the progress eye-candy in
recent update, which has been corrected.
@@ -292,7 +304,6 @@ notes for details).
* In the codepath that comes up with the hostname to be used in an
e-mail when the user didn't tell us, we looked at ai_canonname
field in struct addrinfo without making sure it is not NULL first.
- (merge c375a7efa3 jk/ident-ai-canonname-could-be-null later to maint).
* "git worktree", even though it used the default_abbrev setting that
ought to be affected by core.abbrev configuration variable, ignored
@@ -327,12 +338,52 @@ notes for details).
* Doc update to clarify what "log -3 --reverse" does.
(merge 04be69478f pb/rev-list-reverse-with-count later to maint).
+ * Almost everybody uses DEFAULT_ABBREV to refer to the default
+ setting for the abbreviation, but "git blame" peeked into
+ underlying variable bypassing the macro for no good reason.
+ (merge 5293284b4d jc/blame-abbrev later to maint).
+
+ * The "graph" API used in "git log --graph" miscounted the number of
+ output columns consumed so far when drawing a padding line, which
+ has been fixed; this did not affect any existing code as nobody
+ tried to write anything after the padding on such a line, though.
+ (merge 1647793524 jk/graph-padding-fix later to maint).
+
+ * The code that parses the format parameter of for-each-ref command
+ has seen a micro-optimization.
+ (merge e94ce1394e sg/ref-filter-parse-optim later to maint).
+
+ * When we started cURL to talk to imap server when a new enough
+ version of cURL library is available, we forgot to explicitly add
+ imap(s):// before the destination. To some folks, that didn't work
+ and the library tried to make HTTP(s) requests instead.
+ (merge d2d07ab861 ak/curl-imap-send-explicit-scheme later to maint).
+
+ * The ./configure script generated from configure.ac was taught how
+ to detect support of SSL by libcurl better.
+ (merge 924b7eb1c9 dp/autoconf-curl-ssl later to maint).
+
+ * The command-line completion script (in contrib/) learned to
+ complete "git cmd ^mas<HT>" to complete the negative end of
+ reference to "git cmd ^master".
+ (merge 49416ad22a cp/completion-negative-refs later to maint).
+
+ * The existing "git fetch --depth=<n>" option was hard to use
+ correctly when making the history of an existing shallow clone
+ deeper. A new option, "--deepen=<n>", has been added to make this
+ easier to use. "git clone" also learned "--shallow-since=<date>"
+ and "--shallow-exclude=<tag>" options to make it easier to specify
+ "I am interested only in the recent N months worth of history" and
+ "Give me only the history since that version".
+ (merge cccf74e2da nd/shallow-deepen later to maint).
+
+ * It is a common mistake to say "git blame --reverse OLD path",
+ expecting that the command line is dwimmed as if asking how lines
+ in path in an old revision OLD have survived up to the current
+ commit.
+ (merge e1d09701a4 jc/blame-reverse later to maint).
+
* Other minor doc, test and build updates and code cleanups.
- (merge e78d57e bw/pathspec-remove-unused-extern-decl later to maint).
- (merge ce25e4c rs/checkout-some-states-are-const later to maint).
- (merge a8342a4 rs/strbuf-remove-fix later to maint).
- (merge b56aa5b rs/unpack-trees-reduce-file-scope-global later to maint).
- (merge 5efc60c mr/vcs-svn-printf-ulong later to maint).
(merge a22ae75 rs/cocci later to maint).
(merge 45ccef87b3 rs/copy-array later to maint).
(merge 8201688ecd dt/mailinfo later to maint).