Update draft release notes to 1.7.12

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jul 22, 2012 at 13:20 UTC e7719469154fc9bbf910df89b80a5145c7d93959
1 file changed +24 -56
Documentation/RelNotes/1.7.12.txt
+24 -56
@@ -22,6 +22,12 @@ UI, Workflows & Features
22 $HOME/.config/attributes and $HOME/.config/ignore respectively when
23 these files exist.
24
25 + * Logic to disambiguate abbreviated object names have been taught to
26 + take advantage of object types that are expected in the context,
27 + e.g. XXXXXX in the "git describe" output v1.2.3-gXXXXXX must be a
28 + commit object, not a blob nor a tree. This will help us prolong
29 + the lifetime of abbreviated object names.
30 +
31 * "git apply" learned to wiggle the base version and perform three-way
32 merge when a patch does not exactly apply to the version you have.
33
@@ -103,6 +109,10 @@ Performance, Internal Implementation, etc. (please report possible regressions)
109 fnmatch() by comparing fixed leading substring literally when
110 possible.
111
112 + * "git log -n 1 -- rarely-touched-path" was spending unnecessary
113 + cycles after showing the first change to find the next one, only to
114 + discard it.
115 +
116
117 Also contains minor documentation updates and code clean-ups.
118
@@ -114,59 +124,17 @@ Unless otherwise noted, all the fixes since v1.7.11 in the maintenance
124 releases are contained in this release (see release notes to them for
125 details).
126
117 - * The error message from "git push $there :bogo" (and its equivalent
118 - "git push $there --delete bogo") mentioned that we tried and failed
119 - to guess what ref is being deleted based on the LHS of the refspec,
120 - which we don't.
121 - (merge 5742c82 jk/push-delete-ref-error-message later to maint).
122 -
123 - * A handful of files and directories we create had tighter than
124 - necessary permission bits when the user wanted to have group
125 - writability (e.g. by setting "umask 002").
126 - (merge 6ff2b72 ar/clone-honor-umask-at-top later to maint).
127 -
128 - * "commit --amend" used to refuse amending a commit with an empty log
129 - message, with or without "--allow-empty-message".
130 - (merge d9a9357 cw/amend-commit-without-message later to maint).
131 -
132 - * "git commit --amend --only --" was meant to allow "Clever" people to
133 - rewrite the commit message without making any change even when they
134 - have already changes for the next commit added to their index, but
135 - it never worked as advertised since it was introduced in 1.3.0 era.
136 - (merge ea2d4ed jk/maint-commit-amend-only-no-paths later to maint).
137 -
138 - * Even though the index can record pathnames longer than 1<<12 bytes,
139 - in some places we were not comparing them in full, potentially
140 - replacing index entries instead of adding.
141 - (merge d5f5333 tg/maint-cache-name-compare later to maint).
142 -
143 - * "git show"'s auto-walking behaviour was an unreliable and
144 - unpredictable hack; it now behaves just like "git log" does when it
145 - walks.
146 - (merge c5941f1 tr/maint-show-walk later to maint).
147 -
148 - * "git diff", "git status" and anything that internally uses the
149 - comparison machinery was utterly broken when the difference
150 - involved a file with "-" as its name. This was due to the way "git
151 - diff --no-index" was incorrectly bolted on to the system, making
152 - any comparison that involves a file "-" at the root level
153 - incorrectly read from the standard input.
154 - (merge 4682d85 jc/refactor-diff-stdin later to maint).
155 -
156 - * We did not have test to make sure "git rebase" without extra options
157 - filters out an empty commit in the original history.
158 - (merge 2b5ba7b mz/empty-rebase-test later to maint).
159 -
160 - * "git fast-export" produced an input stream for fast-import without
161 - properly quoting pathnames when they contain SPs in them.
162 - (merge ff59f6d js/fast-export-paths-with-spaces later to maint).
163 -
164 - * "git checkout --detach", when you are still on an unborn branch,
165 - should be forbidden, but it wasn't.
166 - (merge 8ced1aa cw/no-detaching-an-unborn later to maint).
167 -
168 - * Some implementations of Perl terminates "lines" with CRLF even when
169 - the script is operating on just a sequence of bytes. Make sure to
170 - use "$PERL_PATH", the version of Perl the user told Git to use, in
171 - our tests to avoid unnecessary breakages in tests.
172 - (merge ad78585 vr/use-our-perl-in-tests later to maint).
127 + * When "git am" failed, old timers knew to check .git/rebase-apply/patch
128 + to see what went wrong, but we never told the users about it.
129 + (merge 14bf2d5 pg/maint-1.7.9-am-where-is-patch later to maint).
130 +
131 + * When "git submodule add" clones a submodule repository, it can get
132 + confused where to store the resulting submodule repository in the
133 + superproject's .git/ directory when there is a symbolic link in the
134 + path to the current directory.
135 + (merge 6eafa6d jl/maint-1.7.10-recurse-submodules-with-symlink later to maint).
136 +
137 + * In 1.7.9 era, we taught "git rebase" about the raw timestamp format
138 + but we did not teach the same trick to "filter-branch", which rolled
139 + a similar logic on its own.
140 + (merge 44b85e89 jc/maint-filter-branch-epoch-date later to maint).