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.