What's cooking (2015/11 #01)
Junio C Hamano committed
Nov 5, 2015 at 15:11 UTC
0958d20853136af6c7a0a31da55a30f23118b0e4
1 file changed
+313
-333
whats-cooking.txt
+313
-333
@@ -1,20 +1,24 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Oct 2015, #07; Fri, 30)
4
-X-master-at: 2635c2b8bfc9aec07b7f023d8e3b3d02df715344
5
-X-next-at: 3dda608c19069845846bd7fd57000a99f97b9c9d
3
+Subject: What's cooking in git.git (Nov 2015, #01; Thu, 5)
4
+X-master-at: 2c78628255b8cc7f0b5d47981acea138db8716d2
5
+X-next-at: 550542234b0fed5a3944af44b01152b620e8dba1
6
7
-What's cooking in git.git (Oct 2015, #07; Fri, 30)
7
+What's cooking in git.git (Nov 2015, #01; Thu, 5)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
11
'-' are only in 'pu' (proposed updates) while commits prefixed with
12
'+' are in 'next'.
13
14
-At tinyurl.com/gitCal, I drew a 14-week schedule for this cycle. I
15
-plan to be offline during weeks #7-#9 myself; hopefully we'll have
16
-capable interim maintainers to take care of the list traffic in the
17
-meantime as in past years.
14
+Git 2.6.3 has been tagged, with accumulated fixes and minor updates
15
+that are already in 'master'. We have about 5 weeks left til -rc0
16
+so hopefully a handful of topics that are not yet in 'next' but have
17
+already been reviewed and polished may be able to be merged to
18
+'next', cook in there for a while and be in the next release. I'll
19
+be offline for a few weeks starting this weekend, but I am confident
20
+that our capable interim maintainer can shepherd these topics
21
+forward with the help from our contributors.
22
23
You can find the changes described here in the integration branches
24
of the repositories listed at
@@ -24,333 +28,164 @@ of the repositories listed at
28
--------------------------------------------------
29
[Graduated to "master"]
30
27
-* ar/clone-dissociate (2015-10-22) 1 commit
28
- (merged to 'next' on 2015-10-23 at 6bf746f)
29
- + clone: allow "--dissociate" without reference
30
-
31
- "git clone --dissociate" used to require that "--reference" was
32
- used at the same time, but you can create a new repository that
33
- borrows objects from another without using "--reference", namely
34
- with "clone --local" from a repository that borrows objects from
35
- other repositories.
36
-
37
-
38
-* dt/name-hash-dir-entry-fix (2015-10-21) 1 commit
39
- (merged to 'next' on 2015-10-22 at 15eb519)
40
- + name-hash: don't reuse cache_entry in dir_entry
41
-
42
- The name-hash subsystem that is used to cope with case insensitive
43
- filesystems keeps track of directories and their on-filesystem
44
- cases for all the paths in the index by holding a pointer to a
45
- randomly chosen cache entry that is inside the directory (for its
46
- ce->ce_name component). This pointer was not updated even when the
47
- cache entry was removed from the index, leading to use after free.
48
- This was fixed by recording the path for each directory instead of
49
- borrowing cache entries and restructuring the API somewhat.
50
-
51
-
52
-* gr/rebase-i-drop-warn (2015-10-28) 2 commits
53
- (merged to 'next' on 2015-10-29 at 4bfda25)
54
- + rebase-i: work around Windows CRLF line endings
55
- + t3404: "rebase -i" gets broken when insn sheet uses CR/LF line endings
56
-
57
- Recent update to "rebase -i" that tries to sanity check the edited
58
- insn sheet before it uses it has become too picky on Windows where
59
- CRLF left by the editor is turned into a trailing CR on the line
60
- read via the "read" built-in command.
61
-
62
-
63
-* jc/add-u-A-default-to-top (2015-10-24) 1 commit
64
- (merged to 'next' on 2015-10-29 at 15aea9c)
65
- + add: simplify -u/-A without pathspec
66
-
67
- "git --literal-pathspecs add -u/-A" without any command line
68
- argument misbehaved ever since Git 2.0.
69
-
70
-
71
-* jc/am-mailinfo-direct (2015-10-21) 1 commit
72
- (merged to 'next' on 2015-10-22 at ca15014)
73
- + am: make direct call to mailinfo
74
- (this branch is used by jc/mailinfo; uses jc/mailinfo-lib.)
75
-
76
- "git am" used to spawn "git mailinfo" via run_command() API once
77
- per each patch, but learned to make a direct call to mailinfo()
78
- instead.
79
-
80
-
81
-* jc/em-dash-in-doc (2015-10-22) 1 commit
82
- (merged to 'next' on 2015-10-23 at 31a08ce)
83
- + Documentation: AsciiDoc spells em-dash as double-dashes, not triple
84
-
85
- AsciiDoc markup fixes.
86
-
87
-
88
-* jc/everyday-markup (2015-10-22) 1 commit
89
- (merged to 'next' on 2015-10-22 at 0a2702d)
90
- + Documentation/everyday: match undefline with the text
91
-
92
- AsciiDoc markup fixes.
93
-
94
-
95
-* jc/mailinfo-lib (2015-10-21) 34 commits
96
- (merged to 'next' on 2015-10-22 at 405bd66)
97
- + mailinfo: remove calls to exit() and die() deep in the callchain
98
- + mailinfo: handle charset conversion errors in the caller
99
- + mailinfo: libify
100
- + mailinfo: keep the parsed log message in a strbuf
101
- + mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
102
- + mailinfo: move content/content_top to struct mailinfo
103
- + mailinfo: move [ps]_hdr_data to struct mailinfo
104
- + mailinfo: move cmitmsg and patchfile to struct mailinfo
105
- + mailinfo: move charset to struct mailinfo
106
- + mailinfo: move transfer_encoding to struct mailinfo
107
- + mailinfo: move check for metainfo_charset to convert_to_utf8()
108
- + mailinfo: move metainfo_charset to struct mailinfo
109
- + mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
110
- + mailinfo: move add_message_id and message_id to struct mailinfo
111
- + mailinfo: move patch_lines to struct mailinfo
112
- + mailinfo: move filter/header stage to struct mailinfo
113
- + mailinfo: move global "FILE *fin, *fout" to struct mailinfo
114
- + mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
115
- + mailinfo: introduce "struct mailinfo" to hold globals
116
- + mailinfo: move global "line" into mailinfo() function
117
- + mailinfo: do not let find_boundary() touch global "line" directly
118
- + mailinfo: do not let handle_boundary() touch global "line" directly
119
- + mailinfo: do not let handle_body() touch global "line" directly
120
- + mailinfo: get rid of function-local static states
121
- + mailinfo: move definition of MAX_HDR_PARSED closer to its use
122
- + mailinfo: move cleanup_space() before its users
123
- + mailinfo: move check_header() after the helpers it uses
124
- + mailinfo: move read_one_header_line() closer to its callers
125
- + mailinfo: move handle_boundary() lower
126
- + mailinfo: plug strbuf leak during continuation line handling
127
- + mailinfo: explicitly close file handle to the patch output
128
- + mailinfo: fix an off-by-one error in the boundary stack
129
- + mailinfo: fold decode_header_bq() into decode_header()
130
- + mailinfo: remove a no-op call convert_to_utf8(it, "")
131
- (this branch is used by jc/am-mailinfo-direct and jc/mailinfo.)
132
-
133
- The implementation of "git mailinfo" was refactored so that a
134
- mailinfo() function can be directly called from inside a process.
31
+* da/difftool (2015-10-29) 1 commit
32
+ (merged to 'next' on 2015-11-01 at 4e5ab33)
33
+ + difftool: ignore symbolic links in use_wt_file
34
35
+ The code to prepare the working tree side of temporary directory
36
+ for the "dir-diff" feature forgot that symbolic links need not be
37
+ copied (or symlinked) to the temporary area, as the code already
38
+ special cases and overwrites them. Besides, it was wrong to try
39
+ computing the object name of the target of symbolic link, which may
40
+ not even exist or may be a directory.
41
137
-* jk/delete-modechange-conflict (2015-10-26) 3 commits
138
- (merged to 'next' on 2015-10-29 at 59ce69d)
139
- + merge: detect delete/modechange conflict
140
- + t6031: generalize for recursive and resolve strategies
141
- + t6031: move triple-rename test to t3030
42
143
- Merging a branch that removes a path and another that changes the
144
- mode bits on the same path should have conflicted at the path, but
145
- it didn't and silently favoured the removal.
43
+* jc/mailinfo-lib (2015-11-01) 1 commit
44
+ (merged to 'next' on 2015-11-01 at 3ecaa28)
45
+ + mailinfo: fix passing wrong address to git_mailinfo_config
46
47
+ Hotfix for a topic already in 'master'.
48
148
-* jk/merge-file-exit-code (2015-10-29) 1 commit
149
- (merged to 'next' on 2015-10-29 at 6ae613f)
150
- + merge-file: clamp exit code to maximum 127
49
152
- "git merge-file" tried to signal how many conflicts it found, which
153
- obviously would not work well when there are too many of them.
50
+* jk/initialization-fix-to-add-submodule-odb (2015-10-28) 1 commit
51
+ (merged to 'next' on 2015-11-01 at da94b97)
52
+ + add_submodule_odb: initialize alt_odb list earlier
53
54
+ We peek objects from submodule's object store by linking it to the
55
+ list of alternate object databases, but the code to do so forgot to
56
+ correctly initialize the list.
57
156
-* jk/war-on-sprintf (2015-10-23) 2 commits
157
- (merged to 'next' on 2015-10-23 at 3a94851)
158
- + compat/mingw.c: remove printf format warning
159
- + read_branches_file: plug a FILE* leak
58
59
+* js/git-gdb (2015-10-30) 1 commit
60
+ (merged to 'next' on 2015-11-01 at 3d232d5)
61
+ + test: facilitate debugging Git executables in tests with gdb
62
162
-* js/imap-send-curl-compilation-fix (2015-10-26) 1 commit
163
- (merged to 'next' on 2015-10-29 at 9c4f3eb)
164
- + imap-send: only use CURLOPT_LOGIN_OPTIONS if it is actually available
63
+ Allow easier debugging of a single "git" invocation in our test
64
+ scripts.
65
166
- "git imap-send" did not compile well with older version of cURL library.
66
67
+* kn/for-each-branch (2015-10-30) 1 commit
68
+ (merged to 'next' on 2015-11-01 at 4249dc9)
69
+ + ref-filter: fallback on alphabetical comparison
70
169
-* js/misc-fixes (2015-10-26) 3 commits
170
- (merged to 'next' on 2015-10-29 at 8990f29)
171
- + Correct fscanf formatting string for I64u values
172
- + Silence GCC's "cast of pointer to integer of a different size" warning
173
- + Squelch warning about an integer overflow
71
+ Using the timestamp based criteria in "git branch --sort" did not
72
+ tiebreak branches that point at commits with the same timestamp (or
73
+ the same commit), making the resulting output unstable.
74
175
- Various compilation fixes and squelching of warnings.
75
76
+* mk/blame-first-parent (2015-10-30) 3 commits
77
+ (merged to 'next' on 2015-11-01 at 3f87150)
78
+ + blame: allow blame --reverse --first-parent when it makes sense
79
+ + blame: extract find_single_final
80
+ + blame: test to describe use of blame --reverse --first-parent
81
178
-* mk/blame-error-message (2015-10-26) 1 commit
179
- (merged to 'next' on 2015-10-29 at 82a1b18)
180
- + blame: fix option name in error message
82
+ "git blame" learnt to take "--first-parent" and "--reverse" at the
83
+ same time when it makes sense.
84
182
- The error message from "git blame --contents --reverse" incorrectly
183
- talked about "--contents --children".
85
86
+* rs/daemon-plug-child-leak (2015-11-02) 2 commits
87
+ (merged to 'next' on 2015-11-02 at 64afbb9)
88
+ + daemon: plug memory leak
89
+ + run-command: factor out child_process_clear()
90
+ (this branch is used by sb/submodule-parallel-update.)
91
186
-* rp/link-curl-before-ssl (2015-10-21) 3 commits
187
- (merged to 'next' on 2015-10-22 at dad4fc6)
188
- + configure.ac: detect ssl need with libcurl
189
- + Makefile: make curl-config path configurable
190
- + Makefile: link libcurl before zlib
92
+ "git daemon" uses "run_command()" without "finish_command()", so it
93
+ needs to release resources itself, which it forgot to do.
94
192
- The linkage order of libraries was wrong in places around libcurl.
95
194
-
195
-* rs/pop-commit (2015-10-26) 1 commit
196
- (merged to 'next' on 2015-10-29 at f24d8ed)
197
- + use pop_commit() for consuming the first entry of a struct commit_list
96
+* rs/show-branch-argv-array (2015-11-01) 1 commit
97
+ (merged to 'next' on 2015-11-01 at fac4fa6)
98
+ + show-branch: use argv_array for default arguments
99
100
Code simplification.
101
102
202
-* tk/sigchain-unnecessary-post-tempfile (2015-10-22) 4 commits
203
- (merged to 'next' on 2015-10-22 at b049f0a)
204
- + shallow: remove unused #include "sigchain.h"
205
- + read-cache: remove unused #include "sigchain.h"
206
- + diff: remove unused #include "sigchain.h"
207
- + credential-cache--daemon: remove unused #include "sigchain.h"
103
+* rs/wt-status-detached-branch-fix (2015-11-01) 5 commits
104
+ (merged to 'next' on 2015-11-01 at cb23615)
105
+ + wt-status: use skip_prefix() to get rid of magic string length constants
106
+ + wt-status: don't skip a magical number of characters blindly
107
+ + wt-status: avoid building bogus branch name with detached HEAD
108
+ + wt-status: exit early using goto in wt_shortstatus_print_tracking()
109
+ + t7060: add test for status --branch on a detached HEAD
110
209
- Remove no-longer used #include.
210
-
211
-
212
-* xf/user-manual-ff (2015-10-26) 1 commit
213
- (merged to 'next' on 2015-10-29 at 488c4f8)
214
- + user-manual: fix the description of fast-forward
215
-
216
-
217
-* xf/user-manual-markup (2015-10-22) 3 commits
218
- (merged to 'next' on 2015-10-22 at cd33c83)
219
- + Documentation: match undefline with the text in old release notes
220
- + Documentation: match underline with the text
221
- + Documentation: fix header markup
222
-
223
- AsciiDoc markup fixes.
111
+ "git status --branch --short" accessed beyond the constant string
112
+ "HEAD", which has been corrected.
113
114
--------------------------------------------------
115
[New Topics]
116
228
-* sb/submodule-parallel-update (2015-10-29) 9 commits
229
- - clone: allow an explicit argument for parallel submodule clones
230
- - submodule update: expose parallelism to the user
231
- - git submodule update: have a dedicated helper for cloning
232
- - fetching submodules: respect `submodule.jobs` config option
233
- - submodule config: update parse_config()
234
- - submodule config: remove name_and_item_from_var
235
- - submodule config: keep update strategy around
236
- - run_processes_parallel: add output to tracing messages
237
- - Merge branch 'sb/submodule-parallel-fetch' into sb/submodule-parallel-update
238
- (this branch uses sb/submodule-parallel-fetch.)
117
+* ad/sha1-update-chunked (2015-11-05) 2 commits
118
+ - sha1: allow limiting the size of the data passed to SHA1_Update()
119
+ - sha1: provide another level of indirection for the SHA-1 functions
120
240
- Builds on top of the "fetch --recurse-submodules" work to introduce
241
- parallel downloading into multiple submodules for "submodule update".
121
+ Apple's common crypto implementation of SHA1_Update() does not take
122
+ more than 4GB at a time, and we now have a compile-time workaround
123
+ for it.
124
243
- Waiting for reviews.
125
+ I think this is more or less ready. I am skeptical about the file
126
+ location reorg ([PATCH 3/3] $gmane/280912) and did not queue it.
127
128
246
-* jc/strbuf-gets (2015-10-28) 17 commits
247
- - test-sha1-array: read command stream with strbuf_gets()
248
- - grep: read -f file with strbuf_gets()
249
- - send-pack: read list of refs with strbuf_gets()
250
- - column: read lines with strbuf_gets()
251
- - cat-file: read batch stream with strbuf_gets()
252
- - transport-helper: read helper response with strbuf_gets()
253
- - clone/sha1_file: read info/alternates with strbuf_gets()
254
- - remote.c: read $GIT_DIR/remotes/* with strbuf_gets()
255
- - ident.c: read /etc/mailname with strbuf_gets()
256
- - rev-parse: read parseopt spec with strbuf_gets()
257
- - revision: read --stdin with strbuf_gets()
258
- - hash-object: read --stdin-paths with strbuf_gets()
259
- - mktree: read textual tree representation with strbuf_gets()
260
- - update-index: read list of paths with strbuf_gets() under --stdin
261
- - update-index: read --index-info with strbuf_gets()
262
- - check-attr, check-ignore, checkout-index: read paths with strbuf_gets()
263
- - strbuf: add strbuf_gets()
129
+* dt/http-range (2015-11-02) 2 commits
130
+ (merged to 'next' on 2015-11-03 at 7c3cc60)
131
+ + http: use off_t to store partial file size
132
+ + http.c: use CURLOPT_RANGE for range requests
133
265
- Teach codepaths that communicate with users by reading text files
266
- to be more lenient to editors that write CRLF-terminated lines.
267
- Note that this is only about communication with Git, like feeding
268
- list of object names from the standard input instead of from the
269
- command line, and does not involve files in the working tree.
134
+ A Range: request can be responded with a full response and when
135
+ asked properly libcurl knows how to strip the result down to the
136
+ requested range. However, we were hand-crafting a range request
137
+ and it did not kick in.
138
271
- Waiting for reviews.
139
+ Will merge to 'master'.
140
141
274
-* eg/p4-submit-catch-failure (2015-10-30) 1 commit
275
- - git-p4: clean up after p4 submit failure
142
+* vl/grep-configurable-threads (2015-11-01) 1 commit
143
+ - grep: add --threads=<num> option and grep.threads configuration
144
277
- Just like the working tree is cleaned up when the user cancelled
278
- submission in P4Submit.applyCommit(), clean up the mess if "p4
279
- submit" fails.
145
+ "git grep" can now be configured (or told from the command line)
146
+ how many threads to use when searching in the working tree files.
147
281
- Needs an update to test.
148
+ Expecting a reroll.
149
+ ($gmane/280854)
150
151
284
-* jk/initialization-fix-to-add-submodule-odb (2015-10-28) 1 commit
285
- - add_submodule_odb: initialize alt_odb list earlier
152
+* kf/http-proxy-auth-methods (2015-11-04) 3 commits
153
+ - SQUASH???
154
+ - http: use credential API to handle proxy authentication
155
+ - http: allow selection of proxy authentication method
156
287
- We peek objects from submodule's object store by linking it to the
288
- list of alternate object databases, but the code to do so forgot to
289
- correctly initialize the list.
157
+ New http.proxyAuthMethod configuration variable can be used to
158
+ specify what authentication method to use, as a way to work around
159
+ proxies that do not give error response expected by libcurl when
160
+ CURLAUTH_ANY is used. Also, the codepath for proxy authentication
161
+ has been taught to use credential API to store the authentication
162
+ material in user's keyrings.
163
291
- Will merge to 'next'.
164
+ Still being worked on.
165
+ ($gmane/280925).
166
167
294
-* ep/ident-with-getaddrinfo (2015-10-30) 1 commit
295
- - (NEEDSWORK $gmane/280507) ident.c: add support for IPv6
296
-
297
- A build without NO_IPv6 used to use gethostbyname() when guessing
298
- user's hostname, instead of getaddrinfo() that is used in other
299
- codepaths in such a build.
300
-
301
- Waiting for a reroll.
302
- ($gmane/280507)
168
+* lf/ref-is-hidden-namespace (2015-11-05) 4 commits
169
+ - t5509: add basic tests for hideRefs
170
+ - hideRefs: add support for matching full refs
171
+ - upload-pack: strip refs before calling ref_is_hidden()
172
+ - config.txt: document the semantics of hideRefs with namespaces
173
304
-
305
-* js/git-gdb (2015-10-30) 1 commit
306
- - test: facilitate debugging Git executables in tests with gdb
307
-
308
- Allow easier debugging of a single "git" invocation in our test
309
- scripts.
174
+ Extend transfer.hideRefs to work better with use of namespaces.
175
176
Will merge to 'next'.
177
178
314
-* kn/for-each-branch (2015-10-30) 1 commit
315
- - ref-filter: fallback on alphabetical comparison
316
-
317
- Using the timestamp based criteria in "git branch --sort" did not
318
- tiebreak branches that point at commits with the same timestamp (or
319
- the same commit), making the resulting output unstable.
320
-
321
- Will merge to 'next' and then quickly to 'master'.
322
-
323
-
324
-* ea/checkout-progress (2015-10-30) 2 commits
325
- - SQUASH???
326
- - checkout: add --progress option
327
-
328
- "git checkout" did not follow the usual "--[no-]progress"
329
- convention and implemented only "--quiet" that is essentially
330
- "--no-progress".
331
-
332
- Waiting for a reroll.
333
-
179
+* dg/git-svn-empty-dirs (2015-11-05) 1 commit
180
+ - git-svn: improve rebase/mkdirs performance
181
335
-* jc/test-must-fail-with-sigpipe (2015-10-30) 1 commit
336
- - test: accept death by SIGPIPE as a valid failure mode
182
338
- Waiting for reviews.
183
+* fp/subtree-todo-update (2015-11-05) 1 commit
184
+ - contrib/subtree: remove "push" command from the "todo" file
185
186
--------------------------------------------------
187
[Stalled]
188
343
-* dk/gc-idx-wo-pack (2015-08-17) 3 commits
344
- - DONTMERGE: log message, grace-period and tests $gmane/276058
345
- - gc: remove stale .idx files without corresponding .pack file
346
- - prepare_packed_git(): refactor garbage reporting in pack directory
347
-
348
- Having a leftover .idx file without corresponding .pack file in
349
- the repository hurts performance; "git gc" learned to prune them.
350
-
351
- Waiting for a reroll.
352
-
353
-
189
* nd/ita-cleanup (2015-09-06) 6 commits
190
- grep: make it clear i-t-a entries are ignored
191
- checkout(-index): do not checkout i-t-a entries
@@ -423,25 +258,129 @@ of the repositories listed at
258
--------------------------------------------------
259
[Cooking]
260
426
-* pt/http-socks-proxy (2015-10-26) 1 commit
427
- - remote-http(s): support SOCKS proxies
261
+* dk/gc-idx-wo-pack (2015-11-04) 3 commits
262
+ - gc: remove garbage .idx files from pack dir
263
+ - t5304: test cleaning pack garbage
264
+ - prepare_packed_git(): refactor garbage reporting in pack directory
265
429
- Add support for talking http/https over socks proxy.
266
+ Having a leftover .idx file without corresponding .pack file in
267
+ the repository hurts performance; "git gc" learned to prune them.
268
+
269
+ We may want to do the same for .bitmap (and notice but not prune
270
+ .keep) without corresponding .pack, but that can be a separate
271
+ topic.
272
273
Will merge to 'next'.
274
275
434
-* da/difftool (2015-10-29) 1 commit
435
- - difftool: ignore symbolic links in use_wt_file
276
+* sb/submodule-parallel-update (2015-11-05) 10 commits
277
+ - clone: allow an explicit argument for parallel submodule clones
278
+ - submodule update: expose parallelism to the user
279
+ - git submodule update: have a dedicated helper for cloning
280
+ - fetching submodules: respect `submodule.jobs` config option
281
+ - submodule config: update parse_config()
282
+ - submodule config: remove name_and_item_from_var
283
+ - submodule config: keep update strategy around
284
+ - run_processes_parallel: add output to tracing messages
285
+ - Merge branch 'rs/daemon-plug-child-leak' into sb/submodule-parallel-update
286
+ - Merge branch 'sb/submodule-parallel-fetch' into sb/submodule-parallel-update
287
+ (this branch uses sb/submodule-parallel-fetch; is tangled with rs/daemon-leak-fix.)
288
+
289
+ Builds on top of the "fetch --recurse-submodules" work to introduce
290
+ parallel downloading into multiple submodules for "submodule update".
291
+
292
+ Waiting for sb/submodule-parallel-fetch to stabilize.
293
+
294
+ It would be the cleanest to rebuild sb/submodule-parallel-fetch on
295
+ top of 2.7.0 once it ships and then build this directly on top;
296
+ that way, we do not have to have merges in this topic that
297
+ distracting (besides, some part of the other topic can be updated
298
+ in-place instead of this follow-up topic tweaking them as past
299
+ mistakes and inflexibilities).
300
+
301
+
302
+* jc/strbuf-gets (2015-10-28) 17 commits
303
+ - test-sha1-array: read command stream with strbuf_gets()
304
+ - grep: read -f file with strbuf_gets()
305
+ - send-pack: read list of refs with strbuf_gets()
306
+ - column: read lines with strbuf_gets()
307
+ - cat-file: read batch stream with strbuf_gets()
308
+ - transport-helper: read helper response with strbuf_gets()
309
+ - clone/sha1_file: read info/alternates with strbuf_gets()
310
+ - remote.c: read $GIT_DIR/remotes/* with strbuf_gets()
311
+ - ident.c: read /etc/mailname with strbuf_gets()
312
+ - rev-parse: read parseopt spec with strbuf_gets()
313
+ - revision: read --stdin with strbuf_gets()
314
+ - hash-object: read --stdin-paths with strbuf_gets()
315
+ - mktree: read textual tree representation with strbuf_gets()
316
+ - update-index: read list of paths with strbuf_gets() under --stdin
317
+ - update-index: read --index-info with strbuf_gets()
318
+ - check-attr, check-ignore, checkout-index: read paths with strbuf_gets()
319
+ - strbuf: add strbuf_gets()
320
+
321
+ Teach codepaths that communicate with users by reading text files
322
+ to be more lenient to editors that write CRLF-terminated lines.
323
+ Note that this is only about communication with Git, like feeding
324
+ list of object names from the standard input instead of from the
325
+ command line, and does not involve files in the working tree.
326
+
327
+ Waiting for reviews.
328
+
329
+
330
+* eg/p4-submit-catch-failure (2015-10-30) 1 commit
331
+ - git-p4: clean up after p4 submit failure
332
+
333
+ Just like the working tree is cleaned up when the user cancelled
334
+ submission in P4Submit.applyCommit(), clean up the mess if "p4
335
+ submit" fails.
336
+
337
+ Needs an update to test.
338
+ ($gmane/280539)
339
+
340
+
341
+* ep/ident-with-getaddrinfo (2015-10-30) 1 commit
342
+ - (NEEDSWORK $gmane/280507) ident.c: add support for IPv6
343
+
344
+ A build without NO_IPv6 used to use gethostbyname() when guessing
345
+ user's hostname, instead of getaddrinfo() that is used in other
346
+ codepaths in such a build.
347
+
348
+ Waiting for a reroll.
349
+ ($gmane/280507)
350
437
- The code to prepare the working tree side of temporary directory
438
- for the "dir-diff" feature forgot that symbolic links need not be
439
- copied (or symlinked) to the temporary area, as the code already
440
- special cases and overwrites them. Besides, it was wrong to try
441
- computing the object name of the target of symbolic link, which may
442
- not even exist or may be a directory.
351
444
- Waiting for response.
352
+* ea/checkout-progress (2015-11-01) 1 commit
353
+ (merged to 'next' on 2015-11-03 at 08a8d1f)
354
+ + checkout: add --progress option
355
+
356
+ "git checkout" did not follow the usual "--[no-]progress"
357
+ convention and implemented only "--quiet" that is essentially
358
+ a superset of "--no-progress". Extend the command to support the
359
+ usual "--[no-]progress".
360
+
361
+ Will merge to 'master'.
362
+
363
+
364
+* jc/test-must-fail-with-sigpipe (2015-10-30) 1 commit
365
+ - test: accept death by SIGPIPE as a valid failure mode
366
+
367
+ In some tests we expect a git command that transfers objects to
368
+ result in failure, but it is normal for the failure to come from
369
+ SIGPIPE when the other end of the connection detects an (expected)
370
+ error and hangs up. However, test_expect_failure helper function
371
+ was not prepared to see a death by sigpipe as a normal failure
372
+ exit.
373
+
374
+ It probably is more sensible to limit the test that allows depth by
375
+ SIGPIPE as Lars Schneider suggests, so it is likely that this will
376
+ be replaced while I am away ;-)
377
+
378
+
379
+* pt/http-socks-proxy (2015-10-26) 1 commit
380
+ - remote-http(s): support SOCKS proxies
381
+
382
+ Add support for talking http/https over socks proxy.
383
+ Needs a sign-off from the original author.
384
385
386
* mh/notes-allow-reading-treeish (2015-10-08) 3 commits
@@ -458,45 +397,12 @@ of the repositories listed at
397
when the operation would update the notes (in which case we must
398
have a place to store the updated notes tree, iow, a ref).
399
461
- Will cook in 'next'.
400
+ As the patch was done on top of the 'drop old-syntax from merge',
401
+ this has to wait until that other topic can graduate, unfortunately.
402
+ It can be redone in a way that does not depend on that topic after
403
+ this cycle, though.
404
463
-
464
-* dt/refs-backend-pre-vtable (2015-10-15) 26 commits
465
- - refs: break out ref conflict checks
466
- - refs: make files_log_ref_write functions public
467
- - initdb: move safe_create_dir into common code
468
- - refs.c: move should_autocreate_reflog to common code
469
- - refs.c: move peel_object to the common code
470
- - refs.c: move copy_msg to the common code
471
- - refs.c: move refname_is_safe to the common code
472
- - refs: move transaction functions into common code
473
- - refs.c: move head_ref_namespaced to the common code
474
- - refs.c: move ref iterators to the common code
475
- - refs.c: move prettify_refname to the common code
476
- - refs.c: move is_branch to the common code
477
- - refs.c: move check_refname_format to the common code
478
- - refs.c: move resolve_refdup to common
479
- - refs.c: move read_ref, read_ref_full and ref_exists to the common code
480
- - refs.c: move warn_if_dangling_symref* to the common code
481
- - refs.c: move dwim and friend functions to the common refs code
482
- - refs.c: move the hidden refs functions to the common code
483
- - refs.c: move read_ref_at to the common refs file
484
- - refs.c: move delete_pseudoref and delete_ref to the common code
485
- - refs.c: move update_ref to refs.c
486
- - refs.c: add a new refs.c file to hold all common refs code
487
- - refs-be-files.c: rename refs to refs-be-files
488
- - refs: make repack_without_refs and is_branch public
489
- - refs.c: create a public version of verify_refname_available
490
- - Merge branch 'jk/war-on-sprintf' into HEAD
491
-
492
- The early part of the pluggable ref backend series, which sifts the
493
- ref API functions into two bins: the filesystem backend specific
494
- ones and the generic API functions. The next step will start
495
- introducing the framework to dispatch generic calls to specific
496
- backend implementation(s) and then finally plug a new backend that
497
- is different from the file backend.
498
-
499
- Reroll exists, but haven't picked up yet.
405
+ Will keep in 'next'.
406
407
408
* jc/mailinfo (2015-10-21) 1 commit
@@ -523,7 +429,19 @@ of the repositories listed at
429
call from inside a process. "git am -3" was taught to make a direct
430
call to the function when falling back to three-way merge.
431
526
- Will keep in 'next' during the 2.7 cycle.
432
+ Being able to make a direct call would be good in general, but as a
433
+ performance thing, we would want to see it backed up by numbers.
434
+
435
+ I haven't gone through the "gently" change with fine toothed comb;
436
+ I can see that the change avoids calling die(), but I haven't made
437
+ sure that the program states (e.g. what's in the in-core index) are
438
+ adjusted sensibly when it returns to the caller instead of dying,
439
+ or the codepaths that used to die() are free of resource leaks.
440
+ The original code certainly did not care the program states at the
441
+ point of dying exactly because it knew it is going to exit, but now
442
+ they have to care, and they need to be audited.
443
+
444
+ Will keep in 'next'.
445
446
447
* sg/pretty-more-date-mode-format (2015-10-07) 1 commit
@@ -572,7 +490,9 @@ of the repositories listed at
490
($gmane/278326)
491
492
575
-* sb/submodule-parallel-fetch (2015-10-21) 14 commits
493
+* sb/submodule-parallel-fetch (2015-11-05) 16 commits
494
+ - strbuf: update documentation for strbuf_read_once()
495
+ - run-command: remove set_nonblocking()
496
(merged to 'next' on 2015-10-23 at 8f04bbd)
497
+ run-command: fix missing output from late callbacks
498
+ test-run-command: increase test coverage
@@ -589,12 +509,14 @@ of the repositories listed at
509
+ xread_nonblock: add functionality to read from fds without blocking
510
+ xread: poll on non blocking fds
511
+ submodule.c: write "Fetching submodule <foo>" to stderr
592
- (this branch is used by sb/submodule-parallel-update.)
512
+ (this branch is used by sb/submodule-parallel-update; is tangled with rs/daemon-leak-fix.)
513
514
Add a framework to spawn a group of processes in parallel, and use
515
it to run "git fetch --recurse-submodules" in parallel.
516
597
- Will cook in 'next'.
517
+ Still being worked on, but it seems that we are seeing light at the
518
+ end of the tunnel.
519
+ ($gmane/280937)
520
521
522
* ad/cygwin-wants-rename (2015-08-07) 1 commit
@@ -630,7 +552,7 @@ of the repositories listed at
552
git-gui still uses the deprecated syntax, which needs to be fixed
553
before this final step can proceed.
554
633
- Will keep in 'next' during the 2.7 cycle.
555
+ Will keep in 'next'.
556
557
--------------------------------------------------
558
[Discarded]
@@ -639,3 +561,61 @@ of the repositories listed at
561
. merge: fix cache_entry use-after-free
562
563
Made unnecessary with dt/name-hash-dir-entry-fix topic.
564
+
565
+
566
+* rs/daemon-leak-fix (2015-10-31) 3 commits
567
+ (merged to 'next' on 2015-11-01 at 9b6c8f9)
568
+ + daemon: plug memory leak
569
+ + run-command: export child_process_clear()
570
+ + run-command: name the cleanup function child_process_clear()
571
+ (this branch uses sb/submodule-parallel-fetch; is tangled with sb/submodule-parallel-update.)
572
+
573
+ "git daemon" uses "run_command()" without "finish_command()", so it
574
+ needs to release resources itself, which it forgot to do.
575
+
576
+ This was tangled with another topic that was not quite ready.
577
+ Discard and replace it with an equivalent rs/daemon-plug-child-leak
578
+ that is independent.
579
+
580
+
581
+* dt/refs-backend-pre-vtable (2015-10-15) 26 commits
582
+ . refs: break out ref conflict checks
583
+ . refs: make files_log_ref_write functions public
584
+ . initdb: move safe_create_dir into common code
585
+ . refs.c: move should_autocreate_reflog to common code
586
+ . refs.c: move peel_object to the common code
587
+ . refs.c: move copy_msg to the common code
588
+ . refs.c: move refname_is_safe to the common code
589
+ . refs: move transaction functions into common code
590
+ . refs.c: move head_ref_namespaced to the common code
591
+ . refs.c: move ref iterators to the common code
592
+ . refs.c: move prettify_refname to the common code
593
+ . refs.c: move is_branch to the common code
594
+ . refs.c: move check_refname_format to the common code
595
+ . refs.c: move resolve_refdup to common
596
+ . refs.c: move read_ref, read_ref_full and ref_exists to the common code
597
+ . refs.c: move warn_if_dangling_symref* to the common code
598
+ . refs.c: move dwim and friend functions to the common refs code
599
+ . refs.c: move the hidden refs functions to the common code
600
+ . refs.c: move read_ref_at to the common refs file
601
+ . refs.c: move delete_pseudoref and delete_ref to the common code
602
+ . refs.c: move update_ref to refs.c
603
+ . refs.c: add a new refs.c file to hold all common refs code
604
+ . refs-be-files.c: rename refs to refs-be-files
605
+ . refs: make repack_without_refs and is_branch public
606
+ . refs.c: create a public version of verify_refname_available
607
+ . Merge branch 'jk/war-on-sprintf' into HEAD
608
+
609
+ The early part of the pluggable ref backend series, which sifts the
610
+ ref API functions into two bins: the filesystem backend specific
611
+ ones and the generic API functions. The next step will start
612
+ introducing the framework to dispatch generic calls to specific
613
+ backend implementation(s) and then finally plug a new backend that
614
+ is different from the file backend.
615
+
616
+ It seems Michael's "I'd do it like this if I were doing it"
617
+ $gmane/280754 would be the way forward?
618
+
619
+ Ejected while the topic is in flux, as this and its later reroll
620
+ both want to move things around while other topics want to update
621
+ the files involved.