What's cooking (2017/11 #06)

Junio C Hamano committed Nov 21, 2017 at 14:35 UTC 025e42b9ca8eb492b03ac87faca7a43705b7132b
1 file changed +279 -384
whats-cooking.txt
+279 -384
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2017, #05; Fri, 17)
4 -X-master-at: 89ea799ffcc5c8a0547d3c9075eb979256ee95b8
5 -X-next-at: f926f18f3dda0c52e794b2de0911f1b046c7dadf
3 +Subject: What's cooking in git.git (Nov 2017, #06; Tue, 21)
4 +X-master-at: 14c63a9dc093d6738454f6369a4f5663ca732cf7
5 +X-next-at: 466bffb3ac3fb7c740a2ea1485c5f69af6b40864
6
7 -What's cooking in git.git (Nov 2017, #05; Fri, 17)
7 +What's cooking in git.git (Nov 2017, #06; Tue, 21)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 +Quite a few "fixes" have been accumulated on 'master' and already
16 +merged to 'maint' in preparation for 2.15.1; perhaps we can tag it
17 +near the end of the month--no fix in the mix is an ultra urgent one.
18 +
19 You can find the changes described here in the integration branches
20 of the repositories listed at
21
@@ -20,334 +24,183 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
23 -* ab/mediawiki-name-truncation (2017-11-01) 1 commit
24 - (merged to 'next' on 2017-11-07 at b30233d585)
25 - + remote-mediawiki: limit filenames to legal
26 -
27 - The remote-helper for talking to MediaWiki has been updated to
28 - truncate an overlong pagename so that ".mw" suffix can still be
29 - added.
30 -
31 -
32 -* ab/mediawiki-namespace (2017-11-08) 7 commits
33 - (merged to 'next' on 2017-11-10 at 1cf9cfdfbc)
34 - + remote-mediawiki: show progress while fetching namespaces
35 - + remote-mediawiki: process namespaces in order
36 - + remote-mediawiki: support fetching from (Main) namespace
37 - + remote-mediawiki: skip virtual namespaces
38 - + remote-mediawiki: show known namespace choices on failure
39 - + remote-mediawiki: allow fetching namespaces with spaces
40 - + remote-mediawiki: add namespace support
41 -
42 - The remote-helper for talking to MediaWiki has been updated to
43 - work with mediawiki namespaces.
44 -
45 -
46 -* ab/pcre-v2 (2017-11-13) 1 commit
47 - (merged to 'next' on 2017-11-13 at 66bf57f071)
48 - + grep: fix NO_LIBPCRE1_JIT to fully disable JIT
49 -
50 - Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed.
51 -
52 -
53 -* ad/rebase-i-serie-typofix (2017-11-09) 1 commit
54 - (merged to 'next' on 2017-11-13 at 199e79b29e)
55 - + rebase -i: fix comment typo
56 -
57 - Typofix.
58 -
59 -
60 -* ao/merge-verbosity-getenv-just-once (2017-11-01) 1 commit
61 - (merged to 'next' on 2017-11-09 at e7cfb8dcec)
62 - + merge-recursive: check GIT_MERGE_VERBOSITY only once
63 -
64 - Code cleanup.
65 -
66 -
67 -* bc/submitting-patches-in-asciidoc (2017-11-13) 2 commits
68 - (merged to 'next' on 2017-11-13 at 70f65b981a)
69 - + Documentation: convert SubmittingPatches to AsciiDoc
70 - + Documentation: enable compat-mode for Asciidoctor
71 -
72 - The SubmittingPatches document has been converted to produce an
73 - HTML version via AsciiDoc/Asciidoctor.
74 -
75 -
76 -* bp/read-index-from-skip-verification (2017-11-08) 1 commit
77 - (merged to 'next' on 2017-11-10 at 3c3e32f1ed)
78 - + read_index_from(): speed index loading by skipping verification of the entry order
79 -
80 - Drop (perhaps overly cautious) sanity check before using the index
81 - read from the filesystem at runtime.
82 -
83 -
84 -* bw/rebase-i-ignored-submodule-fix (2017-11-07) 1 commit
85 - (merged to 'next' on 2017-11-10 at a0a54103ed)
86 - + wt-status: actually ignore submodules when requested
87 -
88 - "git rebase -i" recently started misbehaving when a submodule that
89 - is configured with 'submodule.<name>.ignore' is dirty; this has
90 - been corrected.
91 -
92 -
93 -* cb/t4201-robustify (2017-11-13) 1 commit
94 - (merged to 'next' on 2017-11-13 at b83957b8f2)
95 - + t4201: make use of abbreviation in the test more robust
96 -
97 - A test update.
98 -
99 -
100 -* cc/git-packet-pm (2017-11-07) 8 commits
101 - (merged to 'next' on 2017-11-10 at b40bc2c0bb)
102 - + Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
103 - + t0021/rot13-filter: add capability functions
104 - + t0021/rot13-filter: refactor checking final lf
105 - + t0021/rot13-filter: add packet_initialize()
106 - + t0021/rot13-filter: improve error message
107 - + t0021/rot13-filter: improve 'if .. elsif .. else' style
108 - + t0021/rot13-filter: refactor packet reading functions
109 - + t0021/rot13-filter: fix list comparison
110 -
111 - Parts of a test to drive the long-running content filter interface
112 - has been split into its own module, hopefully to eventually become
113 - reusable.
114 -
115 -
116 -* jk/info-alternates-fix (2017-11-13) 1 commit
117 - (merged to 'next' on 2017-11-13 at ac84a7580a)
118 - + link_alt_odb_entries: make empty input a noop
119 -
120 - We used to add an empty alternate object database to the system
121 - that does not help anything; it has been corrected.
122 -
123 -
124 -* js/for-each-ref-remote-name-and-ref (2017-11-08) 3 commits
125 - (merged to 'next' on 2017-11-10 at 254af5d602)
126 - + for-each-ref: test :remotename and :remoteref
127 - + for-each-ref: let upstream/push report the remote ref name
128 - + for-each-ref: let upstream/push optionally report the remote name
129 -
130 - The "--format=..." option "git for-each-ref" takes learned to show
131 - the name of the 'remote' repository and the ref at the remote side
132 - that is affected for 'upstream' and 'push' via "%(push:remotename)"
133 - and friends.
134 -
135 -
136 -* jt/submodule-tests-cleanup (2017-11-08) 1 commit
137 - (merged to 'next' on 2017-11-10 at c6cbcdeaa4)
138 - + Tests: clean up and document submodule helpers
139 -
140 - Test clean-up.
141 -
142 -
143 -* ma/bisect-leakfix (2017-11-06) 4 commits
144 - (merged to 'next' on 2017-11-09 at c280d786f4)
145 - + bisect: fix memory leak when returning best element
146 - + bisect: fix off-by-one error in `best_bisection_sorted()`
147 - + bisect: fix memory leak in `find_bisection()`
148 - + bisect: change calling-convention of `find_bisection()`
149 -
150 - Leak fixes.
151 -
152 -
153 -* ma/reduce-heads-leakfix (2017-11-08) 2 commits
154 - (merged to 'next' on 2017-11-10 at 9428953ec8)
155 - + reduce_heads: fix memory leaks
156 - + builtin/merge-base: free commit lists
157 -
158 - Leak fixes.
159 -
160 -
161 -* mh/avoid-rewriting-packed-refs (2017-10-30) 2 commits
162 - (merged to 'next' on 2017-11-09 at 272e27cc9a)
163 - + files-backend: don't rewrite the `packed-refs` file unnecessarily
164 - + t1409: check that `packed-refs` is not rewritten unnecessarily
165 -
166 - Recent update to the refs infrastructure implementation started
167 - rewriting packed-refs file more often than before; this has been
168 - optimized again for most trivial cases.
169 -
170 -
171 -* mh/tidy-ref-update-flags (2017-11-06) 10 commits
172 - (merged to 'next' on 2017-11-09 at 5231330c1c)
173 - + refs: update some more docs to use "oid" rather than "sha1"
174 - + write_packed_entry(): take `object_id` arguments
175 - + refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING`
176 - + refs: rename constant `REF_NODEREF` to `REF_NO_DEREF`
177 - + refs: tidy up and adjust visibility of the `ref_update` flags
178 - + ref_transaction_add_update(): remove a check
179 - + ref_transaction_update(): die on disallowed flags
180 - + prune_ref(): call `ref_transaction_add_update()` directly
181 - + files_transaction_prepare(): don't leak flags to packed transaction
182 - + Merge branch 'bc/object-id' into base
183 -
184 - Code clean-up in refs API implementation.
185 -
186 -
187 -* rd/bisect-view-is-visualize (2017-11-13) 1 commit
188 - (merged to 'next' on 2017-11-13 at a36423f4ba)
189 - + bisect: mention "view" as an alternative to "visualize"
190 -
191 - Doc and message updates to teach users "bisect view" is a synonym
192 - for "bisect visualize".
193 -
194 -
195 -* rs/imap-send-next-arg-fix (2017-11-03) 2 commits
196 - (merged to 'next' on 2017-11-07 at f4df55fe5b)
197 - + imap-send: handle missing response codes gracefully
198 - + imap-send: handle NULL return of next_arg()
27 +* ad/submitting-patches-title-decoration (2017-11-11) 1 commit
28 + (merged to 'next' on 2017-11-15 at 99238c3537)
29 + + doc/SubmittingPatches: correct subject guidance
30
200 - Error checking in "git imap-send" for empty response has been
201 - improved.
31 + Doc update around use of "format-patch --subject-prefix" etc.
32
33
204 -* rs/sequencer-rewrite-file-cleanup (2017-11-02) 3 commits
205 - (merged to 'next' on 2017-11-09 at 06f45be770)
206 - + sequencer.c: check return value of close() in rewrite_file()
207 - + sequencer: use O_TRUNC to truncate files
208 - + sequencer: factor out rewrite_file()
34 +* av/fsmonitor (2017-11-13) 7 commits
35 + (merged to 'next' on 2017-11-13 at db56ad7eef)
36 + + fsmonitor: simplify determining the git worktree under Windows
37 + + fsmonitor: store fsmonitor bitmap before splitting index
38 + + fsmonitor: read from getcwd(), not the PWD environment variable
39 + (merged to 'next' on 2017-11-07 at a06178754d)
40 + + fsmonitor: delay updating state until after split index is merged
41 + + fsmonitor: document GIT_TRACE_FSMONITOR
42 + + fsmonitor: don't bother pretty-printing JSON from watchman
43 + + fsmonitor: set the PWD to the top of the working tree
44 + (this branch uses bp/fsmonitor.)
45
210 - Code cleanup.
46 + Various fixes to bp/fsmonitor topic.
47
48 + Waiting for follow-on fixes to settle.
49
213 -* sb/bisect-run-empty (2017-11-13) 1 commit
214 - (merged to 'next' on 2017-11-13 at 90d20b8686)
215 - + bisect run: die if no command is given
50
217 - "git bisect run" that did not specify any command to run used to go
218 - ahead and treated all commits to be tested as 'good'. This has
219 - been corrected by making the command error out.
51 +* bp/fsmonitor (2017-10-05) 15 commits
52 + (merged to 'next' on 2017-11-07 at b08d44ba60)
53 + + fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
54 + + fsmonitor: read entirety of watchman output
55 + + fsmonitor: MINGW support for watchman integration
56 + + fsmonitor: add a performance test
57 + + fsmonitor: add a sample integration script for Watchman
58 + + fsmonitor: add test cases for fsmonitor extension
59 + + split-index: disable the fsmonitor extension when running the split index test
60 + + fsmonitor: add a test tool to dump the index extension
61 + + update-index: add fsmonitor support to update-index
62 + + ls-files: Add support in ls-files to display the fsmonitor valid bit
63 + + fsmonitor: add documentation for the fsmonitor extension.
64 + + fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
65 + + update-index: add a new --force-write-index option
66 + + preload-index: add override to enable testing preload-index
67 + + bswap: add 64 bit endianness helper get_be64
68 + (this branch is used by av/fsmonitor.)
69
70 + Originally merged to 'next' on 2017-10-05
71
222 -* sr/wrapper-quote-filenames (2017-11-06) 1 commit
223 - (merged to 'next' on 2017-11-09 at a14ac8da60)
224 - + wrapper.c: consistently quote filenames in error messages
72 + We learned to talk to watchman to speed up "git status" and other
73 + operations that need to see which paths have been modified.
74
226 - Some error messages did not quote filenames shown in it, which have
227 - been fixed.
75 + Waiting for follow-on fixes to settle.
76
77
230 -* tz/fsf-address-update (2017-11-09) 3 commits
231 - (merged to 'next' on 2017-11-13 at 97965f70d9)
232 - + Merge branch 'tz/fsf-address-update' of ../git-gui into tz/fsf-address-update
233 - + Replace Free Software Foundation address in license notices
234 - + Replace Free Software Foundation address in license notices
78 +* rs/apply-fuzzy-match-fix (2017-11-12) 1 commit
79 + (merged to 'next' on 2017-11-15 at 2d724fa63b)
80 + + apply: avoid out-of-bounds access in fuzzy_matchlines()
81
236 - Replace the mailing address of FSF to a URL, as FSF prefers.
82 + A fix for an ancient bug in "git apply --ignore-space-change" codepath.
83
84 --------------------------------------------------
85 [New Topics]
86
241 -* rv/sendemail-tocmd-in-config-and-completion (2017-11-14) 2 commits
242 - - completion: add git config sendemail.tocmd
243 - - Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)"
244 -
245 - Teach "sendemail.tocmd" to places that know about "sendemail.to",
246 - like documentation and shell completion (in contrib/).
247 -
248 - Will merge to 'next'.
87 +* ew/rebase-mboxrd (2017-11-18) 1 commit
88 + (merged to 'next' on 2017-11-21 at 88eaaac334)
89 + + rebase: use mboxrd format to avoid split errors
90
91 + When "git rebase" prepared an mailbox of changes and fed it to "git
92 + am" to replay them, it was confused when a stray "From " happened
93 + to be in the log message of one of the replayed changes. This has
94 + been corrected.
95
251 -* tz/notes-error-to-stderr (2017-11-15) 1 commit
252 - - notes: send "Automatic notes merge failed" messages to stderr
253 -
254 - "git notes" sent its error message to its standard output stream,
255 - which was corrected.
96 + Will merge to 'master'.
97
257 - Will merge to 'next'.
98
99 +* rs/config-write-section-fix (2017-11-18) 1 commit
100 + (merged to 'next' on 2017-11-21 at a7f3f93e0c)
101 + + config: flip return value of write_section()
102
260 -* hm/config-parse-expiry-date (2017-11-16) 1 commit
261 - - config: add --expiry-date
103 + There was a recent semantic mismerge in the codepath to write out a
104 + section of a configuration section, which has been corrected.
105
263 - "git config --expiry-date gc.reflogexpire" can read "2.weeks" from
264 - the configuration and report it as a timestamp, just like "--int"
265 - would read "1k" and report 1024, to help consumption by scripts.
106 + Will merge to 'master'.
107
108
268 -* sd/branch-copy (2017-11-16) 1 commit
269 - - config: avoid "write_in_full(fd, buf, len) != len" pattern
109 +* ma/branch-list-paginate (2017-11-20) 3 commits
110 + - branch: change default of `pager.branch` to "on"
111 + - branch: respect `pager.branch` in list-mode only
112 + - t7006: add tests for how git branch paginates
113
271 - Code clean-up.
114 + "git branch --list" learned to show its output through the pager by
115 + default when the output is going to a terminal, which is controlled
116 + by the pager.branch configuration variable. This is similar to a
117 + recent change to "git tag --list".
118
119 Will merge to 'next'.
120
121
276 -* pw/sequencer-recover-from-unlockable-index (2017-11-16) 1 commit
277 - - sequencer: reschedule pick if index can't be locked
122 +* rs/include-comments-before-the-function-header (2017-11-21) 6 commits
123 + - grep: show non-empty lines before functions with -W
124 + - grep: update boundary variable for pre-context
125 + - t7810: improve check of -W with user-defined function lines
126 + - xdiff: show non-empty lines before functions with -W
127 + - xdiff: factor out is_func_rec()
128 + - t4051: add test for comments preceding function lines
129
279 - The sequencer machinery (used by "git cherry-pick A..B", and "git
280 - rebase -i", among other things) would have lost a commit if stopped
281 - due to an unlockable index file, which has been fixed.
130 + "git grep -W", "git diff -W" and their friends learned a heuristic
131 + to extend a pre-context beyond the line that matches the "function
132 + pattern" (aka "diff.*.xfuncname") to include a comment block, if
133 + exists, that immediately precedes it.
134
135 Will merge to 'next'.
136
137
286 -* dj/runtime-prefix (2017-11-17) 1 commit
287 - - exec_cmd: RUNTIME_PREFIX on some POSIX systems
138 +* jk/fewer-pack-rescan (2017-11-21) 5 commits
139 + - sha1_file: don't re-scan pack directory for null sha1
140 + - everything_local: use "quick" object existence check
141 + - p5551: add a script to test fetch pack-dir rescans
142 + - t/perf/lib-pack: use fast-import checkpoint to create packs
143 + - p5550: factor out nonsense-pack creation
144
289 - A build-time option has been added to allow Git to be told to refer
290 - to its associated files relative to the main binary, in the same
291 - way that has been possible on Windows for quite some time, for
292 - Linux, BSDs and Darwin.
145 + Internaly we use 0{40} as a placeholder object name to signal the
146 + codepath that there is no such object (e.g. the fast-forward check
147 + while "git fetch" stores a new remote-tracking ref says "we know
148 + there is no 'old' thing pointed at by the ref, as we are creating
149 + it anew" by passing 0{40} for the 'old' side), and expect that a
150 + codepath to locate an in-core object to return NULL as a sign that
151 + the object does not exist. A look-up for an object that does not
152 + exist however is quite costly with a repository with large number
153 + of packfiles. This access pattern has been optimized.
154
155 + Undecided.
156
295 -* jc/editor-waiting-message (2017-11-17) 1 commit
296 - - launch_editor(): indicate that Git waits for user input
297 -
298 - Git shows a message to tell the user that it is waiting for the
299 - user to finish editing when spawning an editor, in case the editor
300 - opens to a hidden window or somewhere obscure and the user gets
301 - lost.
157 + While resolving a conflict with jh/fsck-promisors topic, I ended up
158 + with a code that rejects 0{40} a lot earlier, before we try to see
159 + if a pack entry for 0{40} exists, even though the patch that is
160 + queued on this topic is more conservative. Perhaps we would want
161 + to use the alternate version that declares the 0{40} is a sentinel
162 + that signals that there is no such object.
163
164
304 -* rs/apply-inaccurate-eof-with-incomplete-line (2017-11-17) 1 commit
305 - - apply: update line lengths for --inaccurate-eof
165 +* ks/rebase-no-git-foo (2017-11-21) 1 commit
166 + - git-rebase: clean up dashed-usages in messages
167
307 - "git apply --inaccurate-eof" when used with "--ignore-space-change"
308 - triggered an internal sanity check, which has been fixed.
168 + Mentions of "git-rebase" and "git-am" (dashed form) still remained
169 + in end-user visible strings emitted by the "git rebase" command;
170 + they have been corrected.
171
172 Will merge to 'next'.
173
174
313 -* tz/branch-doc-remove-set-upstream (2017-11-17) 1 commit
314 - - branch doc: remove --set-upstream from synopsis
315 -
316 - "git branch --set-upstream" has been deprecated and (sort of)
317 - removed, as "--set-upstream-to" is the preferred one these days.
318 - The documentation still had "--set-upstream" listed on its
319 - synopsys section, which has been corrected.
320 -
321 -
322 -* tz/complete-branch-copy (2017-11-17) 1 commit
323 - - completion: add '--copy' option to 'git branch'
175 +* sw/pull-ipv46-passthru (2017-11-21) 1 commit
176 + - pull: pass -4/-6 option to 'git fetch'
177
325 - Command line completion (in contrib/) has been taught about the
326 - "--copy" option of "git branch".
178 + Contrary to the documentation, "git pull -4/-4 other-args" did not
179 + ask the underlying "git fetch" to go over IPv4/IPv6, which has been
180 + corrected.
181
182 Will merge to 'next'.
183
184 --------------------------------------------------
185 [Stalled]
186
333 -* jn/ssh-wrappers (2017-10-30) 6 commits
334 - - fixup! ssh: 'auto' variant to select between 'ssh' and 'simple'
335 - - ssh: 'simple' variant does not support --port
336 - - ssh: 'simple' variant does not support -4/-6
337 - - ssh: 'auto' variant to select between 'ssh' and 'simple'
338 - - connect: split ssh command line options into separate function
339 - - connect: split git:// setup into a separate function
340 - (this branch uses bw/protocol-v1.)
341 -
342 - The ssh-variant 'simple' introduced earlier broke existing
343 - installations by not passing --port/-4/-6 and not diagnosing an
344 - attempt to pass these as an error. Instead, default to
345 - automatically detect how compatible the GIT_SSH/GIT_SSH_COMMAND is
346 - to OpenSSH convention and then error out an invocation to make it
347 - easier to diagnose connection errors.
187 +* pw/sequencer-in-process-commit (2017-11-18) 9 commits
188 + - SQUASH???
189 + - sequencer: try to commit without forking 'git commit'
190 + - sequencer: load commit related config
191 + - sequencer: simplify adding Signed-off-by: trailer
192 + - commit: move print_commit_summary() to libgit
193 + - commit: move post-rewrite code to libgit
194 + - Add a function to update HEAD after creating a commit
195 + - commit: move empty message checks to libgit
196 + - t3404: check intermediate squash messages
197
349 - Expecting a reroll.
350 - cf. <20171025163243.xmm7szrkwgblpgcc@aiede.mtv.corp.google.com>
198 + The sequencer infrastructure is shared across "git cherry-pick",
199 + "git rebase -i", etc., and has always spawned "git commit" when it
200 + needs to create a commit. It has been taught to do so internally,
201 + when able, by reusing the codepath "git commit" itself uses, which
202 + gives performance boost for a few tens of percents in some sample
203 + scenarios.
204
205
206 * jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
@@ -451,114 +304,188 @@ of the repositories listed at
304 --------------------------------------------------
305 [Cooking]
306
454 -* jc/branch-name-sanity (2017-11-15) 4 commits
455 - - builtin/branch: remove redundant check for HEAD
456 - - branch: correctly reject refs/heads/{-dash,HEAD}
457 - - branch: split validate_new_branchname() into two
458 - - branch: streamline "attr_only" handling in validate_new_branchname()
307 +* jn/ssh-wrappers (2017-11-21) 9 commits
308 + - connect: correct style of C-style comment
309 + - ssh: 'simple' variant does not support --port
310 + - ssh: 'simple' variant does not support -4/-6
311 + - ssh: 'auto' variant to select between 'ssh' and 'simple'
312 + - connect: split ssh option computation to its own function
313 + - connect: split ssh command line options into separate function
314 + - connect: split git:// setup into a separate function
315 + - connect: move no_fork fallback to git_tcp_connect
316 + - ssh test: make copy_ssh_wrapper_as clean up after itself
317 + (this branch uses bw/protocol-v1.)
318
460 - "git branch" and "git checkout -b" are now forbidden from creating
461 - a branch whose name is "HEAD".
319 + The ssh-variant 'simple' introduced earlier broke existing
320 + installations by not passing --port/-4/-6 and not diagnosing an
321 + attempt to pass these as an error. Instead, default to
322 + automatically detect how compatible the GIT_SSH/GIT_SSH_COMMAND is
323 + to OpenSSH convention and then error out an invocation to make it
324 + easier to diagnose connection errors.
325
463 - Will merge to 'next'.
326
327 +* rv/sendemail-tocmd-in-config-and-completion (2017-11-14) 2 commits
328 + (merged to 'next' on 2017-11-20 at 75cf6e2fc3)
329 + + completion: add git config sendemail.tocmd
330 + + Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)"
331
466 -* ad/submitting-patches-title-decoration (2017-11-11) 1 commit
467 - (merged to 'next' on 2017-11-15 at 99238c3537)
468 - + doc/SubmittingPatches: correct subject guidance
332 + Teach "sendemail.tocmd" to places that know about "sendemail.to",
333 + like documentation and shell completion (in contrib/).
334 +
335 + Will merge to 'master'.
336
470 - Doc update around use of "format-patch --subject-prefix" etc.
337 +
338 +* tz/notes-error-to-stderr (2017-11-15) 1 commit
339 + (merged to 'next' on 2017-11-20 at a45d441ee2)
340 + + notes: send "Automatic notes merge failed" messages to stderr
341 +
342 + "git notes" sent its error message to its standard output stream,
343 + which was corrected.
344
345 Will merge to 'master'.
346
347
475 -* jc/merge-base-fork-point-doc (2017-11-09) 1 commit
476 - - merge-base --fork-point doc: clarify the example and failure modes
348 +* hm/config-parse-expiry-date (2017-11-18) 1 commit
349 + - config: add --expiry-date
350
478 - Clarify and enhance documentation for "merge-base --fork-point", as
479 - it was clear what it computed but not why/what for.
351 + "git config --expiry-date gc.reflogexpire" can read "2.weeks" from
352 + the configuration and report it as a timestamp, just like "--int"
353 + would read "1k" and report 1024, to help consumption by scripts.
354
481 - Will merge to 'next'.
355
356 +* sd/branch-copy (2017-11-16) 1 commit
357 + (merged to 'next' on 2017-11-20 at e33bcc460a)
358 + + config: avoid "write_in_full(fd, buf, len) != len" pattern
359
484 -* bp/fastindex (2017-11-11) 5 commits
485 - - SQUASH???
486 - - fastindex: add documentation for the fastindex extension
487 - - fastindex: add test tools and a test script
488 - - update-index: add fastindex support to update-index
489 - - fastindex: speed up index load through parallelization
360 + Code clean-up.
361
362 + Will merge to 'master'.
363
492 -* pw/sequencer-in-process-commit (2017-11-11) 10 commits
493 - - SQUASH??? styles
494 - - sequencer: try to commit without forking 'git commit'
495 - - sequencer: load commit related config
496 - - sequencer: simplify adding Signed-off-by: trailer
497 - - sequencer: don't die in print_commit_summary()
498 - - commit: move print_commit_summary() to libgit
499 - - commit: move post-rewrite code to libgit
500 - - Add a function to update HEAD after creating a commit
501 - - commit: move empty message checks to libgit
502 - - t3404: check intermediate squash messages
364
504 - The sequencer infrastructure is shared across "git cherry-pick",
505 - "git rebase -i", etc., and has always spawned "git commit" when it
506 - needs to create a commit. It has been taught to do so internally,
507 - when able, by reusing the codepath "git commit" itself uses.
365 +* pw/sequencer-recover-from-unlockable-index (2017-11-16) 1 commit
366 + (merged to 'next' on 2017-11-20 at 36f0ed26ce)
367 + + sequencer: reschedule pick if index can't be locked
368
509 - This looked more or less ready.
369 + The sequencer machinery (used by "git cherry-pick A..B", and "git
370 + rebase -i", among other things) would have lost a commit if stopped
371 + due to an unlockable index file, which has been fixed.
372
373 + Will merge to 'master'.
374
512 -* rs/apply-fuzzy-match-fix (2017-11-12) 1 commit
513 - (merged to 'next' on 2017-11-15 at 2d724fa63b)
514 - + apply: avoid out-of-bounds access in fuzzy_matchlines()
375
516 - A fix for an ancient bug in "git apply --ignore-space-change" codepath.
376 +* dj/runtime-prefix (2017-11-20) 1 commit
377 + - exec_cmd: RUNTIME_PREFIX on some POSIX systems
378 +
379 + A build-time option has been added to allow Git to be told to refer
380 + to its associated files relative to the main binary, in the same
381 + way that has been possible on Windows for quite some time, for
382 + Linux, BSDs and Darwin.
383 +
384 +
385 +* jc/editor-waiting-message (2017-11-17) 1 commit
386 + - launch_editor(): indicate that Git waits for user input
387 +
388 + Git shows a message to tell the user that it is waiting for the
389 + user to finish editing when spawning an editor, in case the editor
390 + opens to a hidden window or somewhere obscure and the user gets
391 + lost.
392 +
393 +
394 +* rs/apply-inaccurate-eof-with-incomplete-line (2017-11-17) 1 commit
395 + (merged to 'next' on 2017-11-20 at c8aee1d135)
396 + + apply: update line lengths for --inaccurate-eof
397 +
398 + "git apply --inaccurate-eof" when used with "--ignore-space-change"
399 + triggered an internal sanity check, which has been fixed.
400 +
401 + Will merge to 'master'.
402 +
403 +
404 +* tz/branch-doc-remove-set-upstream (2017-11-17) 1 commit
405 + - branch doc: remove --set-upstream from synopsis
406 +
407 + "git branch --set-upstream" has been deprecated and (sort of)
408 + removed, as "--set-upstream-to" is the preferred one these days.
409 + The documentation still had "--set-upstream" listed on its
410 + synopsys section, which has been corrected.
411 +
412 +
413 +* tz/complete-branch-copy (2017-11-17) 1 commit
414 + (merged to 'next' on 2017-11-20 at 6d22384fcd)
415 + + completion: add '--copy' option to 'git branch'
416 +
417 + Command line completion (in contrib/) has been taught about the
418 + "--copy" option of "git branch".
419 +
420 + Will merge to 'master'.
421 +
422 +
423 +* jc/branch-name-sanity (2017-11-15) 4 commits
424 + (merged to 'next' on 2017-11-20 at 7236b0dde3)
425 + + builtin/branch: remove redundant check for HEAD
426 + + branch: correctly reject refs/heads/{-dash,HEAD}
427 + + branch: split validate_new_branchname() into two
428 + + branch: streamline "attr_only" handling in validate_new_branchname()
429 +
430 + "git branch" and "git checkout -b" are now forbidden from creating
431 + a branch whose name is "HEAD".
432 +
433 + Will merge to 'master'.
434 +
435 +
436 +* jc/merge-base-fork-point-doc (2017-11-09) 1 commit
437 + (merged to 'next' on 2017-11-20 at 199b9255b4)
438 + + merge-base --fork-point doc: clarify the example and failure modes
439 +
440 + Clarify and enhance documentation for "merge-base --fork-point", as
441 + it was clear what it computed but not why/what for.
442
443 Will merge to 'master'.
444
445
446 * sb/test-cherry-pick-submodule-getting-in-a-way (2017-11-15) 2 commits
522 - - merge-recursive: handle addition of submodule on our side of history
523 - - t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure
447 + (merged to 'next' on 2017-11-20 at fe7016689e)
448 + + merge-recursive: handle addition of submodule on our side of history
449 + + t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure
450
451 The three-way merge performed by "git cherry-pick" was confused
452 when a new submodule was added in the meantime, which has been
453 fixed (or "papered over").
454
529 - Will merge to 'next'.
455 + Will merge to 'master'.
456
457
458 * en/rename-progress (2017-11-15) 4 commits
533 - - sequencer: show rename progress during cherry picks
534 - - diff: remove silent clamp of renameLimit
535 - - progress: fix progress meters when dealing with lots of work
536 - - sequencer: warn when internal merge may be suboptimal due to renameLimit
459 + (merged to 'next' on 2017-11-20 at 77a2e0ddd9)
460 + + sequencer: show rename progress during cherry picks
461 + + diff: remove silent clamp of renameLimit
462 + + progress: fix progress meters when dealing with lots of work
463 + + sequencer: warn when internal merge may be suboptimal due to renameLimit
464
465 Historically, the diff machinery for rename detection had a
466 hardcoded limit of 32k paths; this is being lifted to allow users
467 trade cycles with a (possibly) easier to read result.
468
542 - Will merge to 'next'.
469 + Will merge to 'master'.
470
471
472 * tz/redirect-fix (2017-11-14) 2 commits
546 - - rebase: fix stderr redirect in apply_autostash()
547 - - t/lib-gpg: fix gpgconf stderr redirect to /dev/null
473 + (merged to 'next' on 2017-11-20 at 5b13f7026e)
474 + + rebase: fix stderr redirect in apply_autostash()
475 + + t/lib-gpg: fix gpgconf stderr redirect to /dev/null
476
477 A few scripts (both in production and tests) incorrectly redirected
478 their error output. These have been corrected.
479
552 - Will merge to 'next'.
480 + Will merge to 'master'.
481
482
555 -* ar/unconfuse-three-dots (2017-11-14) 6 commits
483 +* ar/unconfuse-three-dots (2017-11-20) 5 commits
484 - Testing: provide tests requiring them with ellipses after SHA-1 values
485 - Documentation: revisions: fix typo: "three dot" ---> "three-dot" (in line with "two-dot").
486 - Documentation: user-manual: limit usage of ellipsis
487 - diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value
488 - checkout: describe_detached_head: remove ellipsis after committish
561 - - config: introduce core.printsha1ellipsis
489
490 Ancient part of codebase still shows dots after an abbreviated
491 object name just to show that it is not a full object name, but
@@ -630,57 +557,14 @@ of the repositories listed at
557
558
559 * tb/add-renormalize (2017-11-17) 1 commit
633 - - add: introduce "--renormalize"
560 + (merged to 'next' on 2017-11-20 at e302f3591f)
561 + + add: introduce "--renormalize"
562
563 "git add --renormalize ." is a new and safer way to record the fact
564 that you are correcting the end-of-line convention and other
565 "convert_to_git()" glitches in the in-repository data.
566
639 - Will merge to 'next'.
640 -
641 -
642 -* av/fsmonitor (2017-11-13) 7 commits
643 - (merged to 'next' on 2017-11-13 at db56ad7eef)
644 - + fsmonitor: simplify determining the git worktree under Windows
645 - + fsmonitor: store fsmonitor bitmap before splitting index
646 - + fsmonitor: read from getcwd(), not the PWD environment variable
647 - (merged to 'next' on 2017-11-07 at a06178754d)
648 - + fsmonitor: delay updating state until after split index is merged
649 - + fsmonitor: document GIT_TRACE_FSMONITOR
650 - + fsmonitor: don't bother pretty-printing JSON from watchman
651 - + fsmonitor: set the PWD to the top of the working tree
652 - (this branch uses bp/fsmonitor.)
653 -
654 - Various fixes to bp/fsmonitor topic.
655 -
656 - Waiting for follow-on fixes to settle.
657 -
658 -
659 -* bp/fsmonitor (2017-10-05) 15 commits
660 - (merged to 'next' on 2017-11-07 at b08d44ba60)
661 - + fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
662 - + fsmonitor: read entirety of watchman output
663 - + fsmonitor: MINGW support for watchman integration
664 - + fsmonitor: add a performance test
665 - + fsmonitor: add a sample integration script for Watchman
666 - + fsmonitor: add test cases for fsmonitor extension
667 - + split-index: disable the fsmonitor extension when running the split index test
668 - + fsmonitor: add a test tool to dump the index extension
669 - + update-index: add fsmonitor support to update-index
670 - + ls-files: Add support in ls-files to display the fsmonitor valid bit
671 - + fsmonitor: add documentation for the fsmonitor extension.
672 - + fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
673 - + update-index: add a new --force-write-index option
674 - + preload-index: add override to enable testing preload-index
675 - + bswap: add 64 bit endianness helper get_be64
676 - (this branch is used by av/fsmonitor.)
677 -
678 - Originally merged to 'next' on 2017-10-05
679 -
680 - We learned to talk to watchman to speed up "git status" and other
681 - operations that need to see which paths have been modified.
682 -
683 - Waiting for follow-on fixes to settle.
567 + Will merge to 'master'.
568
569
570 * pb/bisect-helper-2 (2017-10-28) 8 commits
@@ -698,13 +582,14 @@ of the repositories listed at
582
583
584 * jc/ignore-cr-at-eol (2017-11-08) 2 commits
701 - - diff: --ignore-cr-at-eol
702 - - xdiff: reassign xpparm_t.flags bits
585 + (merged to 'next' on 2017-11-20 at 9f7bae7cbd)
586 + + diff: --ignore-cr-at-eol
587 + + xdiff: reassign xpparm_t.flags bits
588
589 The "diff" family of commands learned to ignore differences in
590 carriage return at the end of line.
591
707 - Will merge to 'next'.
592 + Will merge to 'master'.
593
594
595 * ot/mru-on-list (2017-10-01) 1 commit
@@ -826,3 +711,13 @@ of the repositories listed at
711 outside the context of "sparse checkout".
712
713 Now part of jh/object-filtering topic.
714 +
715 +
716 +* bp/fastindex (2017-11-11) 5 commits
717 + . SQUASH???
718 + . fastindex: add documentation for the fastindex extension
719 + . fastindex: add test tools and a test script
720 + . update-index: add fastindex support to update-index
721 + . fastindex: speed up index load through parallelization
722 +
723 + Retracted for now.