What's cooking (2015/10 #05)

Junio C Hamano committed Oct 22, 2015 at 13:49 UTC ff16b6b6dd9653fcf7841c7e25665ed2828d65fd
1 file changed +314 -491
whats-cooking.txt
+314 -491
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Oct 2015, #04; Tue, 20)
4 -X-master-at: 614a2aced1ba739dfe5bf17a85f9d376efb235b1
5 -X-next-at: 4688abffc19bfe433e802ce56f31d4a362291a2d
3 +Subject: What's cooking in git.git (Oct 2015, #05; Thu, 22)
4 +X-master-at: 74301d6edeb0e081a4ef864057952b6a7ff2b4be
5 +X-next-at: b049f0a3b4560d97ac87735f8c2e9b4d5c69fd44
6
7 -What's cooking in git.git (Oct 2015, #04; Tue, 20)
7 +What's cooking in git.git (Oct 2015, #05; Thu, 22)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -26,236 +26,296 @@ of the repositories listed at
26 --------------------------------------------------
27 [Graduated to "master"]
28
29 -* cc/quote-comments (2015-10-07) 2 commits
30 - (merged to 'next' on 2015-10-09 at fc8a359)
31 - + quote: move comment before sq_quote_buf()
32 - + quote: fix broken sq_quote_buf() related comment
29 +* jk/war-on-sprintf (2015-10-05) 70 commits
30 + (merged to 'next' on 2015-10-15 at 27a1ae5)
31 + + name-rev: use strip_suffix to avoid magic numbers
32 + + use strbuf_complete to conditionally append slash
33 + + fsck: use for_each_loose_file_in_objdir
34 + + Makefile: drop D_INO_IN_DIRENT build knob
35 + + fsck: drop inode-sorting code
36 + + convert strncpy to memcpy
37 + + notes: document length of fanout path with a constant
38 + + color: add color_set helper for copying raw colors
39 + + prefer memcpy to strcpy
40 + + help: clean up kfmclient munging
41 + + receive-pack: simplify keep_arg computation
42 + + avoid sprintf and strcpy with flex arrays
43 + + use alloc_ref rather than hand-allocating "struct ref"
44 + + color: add overflow checks for parsing colors
45 + + drop strcpy in favor of raw sha1_to_hex
46 + + use sha1_to_hex_r() instead of strcpy
47 + + daemon: use cld->env_array when re-spawning
48 + + stat_tracking_info: convert to argv_array
49 + + http-push: use an argv_array for setup_revisions
50 + + fetch-pack: use argv_array for index-pack / unpack-objects
51 + + diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat
52 + + write_loose_object: convert to strbuf
53 + + remove_leading_path: use a strbuf for internal storage
54 + + enter_repo: convert fixed-size buffers to strbufs
55 + + merge-recursive: convert malloc / strcpy to strbuf
56 + + transport: use strbufs for status table "quickref" strings
57 + + apply: convert root string to strbuf
58 + + init: use strbufs to store paths
59 + + probe_utf8_pathname_composition: use internal strbuf
60 + + precompose_utf8: drop unused variable
61 + + sha1_get_pack_name: use a strbuf
62 + + http-walker: store url in a strbuf
63 + + http-push: use strbuf instead of fwrite_buffer
64 + + remote-ext: simplify git pkt-line generation
65 + + upload-archive: convert sprintf to strbuf
66 + + resolve_ref: use strbufs for internal buffers
67 + + read_remotes_file: simplify string handling
68 + + read_branches_file: simplify string handling
69 + + mailmap: replace strcpy with xstrdup
70 + + help: drop prepend function in favor of xstrfmt
71 + + ref-filter: drop sprintf and strcpy calls
72 + + use strip_suffix and xstrfmt to replace suffix
73 + + fetch: replace static buffer with xstrfmt
74 + + config: use xstrfmt in normalize_value
75 + + replace trivial malloc + sprintf / strcpy calls with xstrfmt
76 + + receive-pack: convert strncpy to xsnprintf
77 + + http-push: replace strcat with xsnprintf
78 + + add_packed_git: convert strcpy into xsnprintf
79 + + entry.c: convert strcpy to xsnprintf
80 + + grep: use xsnprintf to format failure message
81 + + compat/hstrerror: convert sprintf to snprintf
82 + + stop_progress_msg: convert sprintf to xsnprintf
83 + + find_short_object_filename: convert sprintf to xsnprintf
84 + + use xsnprintf for generating git object headers
85 + + archive-tar: use xsnprintf for trivial formatting
86 + + convert trivial sprintf / strcpy calls to xsnprintf
87 + + compat/inet_ntop: fix off-by-one in inet_ntop4
88 + + test-dump-cache-tree: avoid overflow of cache-tree name
89 + + progress: store throughput display in a strbuf
90 + + trace: use strbuf for quote_crnl output
91 + + mailsplit: make PATH_MAX buffers dynamic
92 + + fsck: use strbuf to generate alternate directories
93 + + add reentrant variants of sha1_to_hex and find_unique_abbrev
94 + + strbuf: make strbuf_complete_line more generic
95 + + add git_path_buf helper function
96 + + add xsnprintf helper function
97 + + fsck: don't fsck alternates for connectivity-only check
98 + + archive-tar: fix minor indentation violation
99 + + mailsplit: fix FILE* leak in split_maildir
100 + + show-branch: avoid segfault with --reflog of unborn branch
101 + (this branch is used by dt/refs-backend-lmdb and dt/refs-backend-pre-vtable.)
102
34 - A no-op code-health maintenance.
103 + Many allocations that is manually counted (correctly) that are
104 + followed by strcpy/sprintf have been replaced with a less error
105 + prone constructs such as xstrfmt.
106
107
37 -* dt/log-follow-config (2015-10-07) 1 commit
38 - (merged to 'next' on 2015-10-09 at 64a30d2)
39 - + log: Update log.follow doc and add to config.txt
108 +* ls/p4-test-updates (2015-10-12) 2 commits
109 + (merged to 'next' on 2015-10-15 at 3c94932)
110 + + git-p4: skip t9819 test case on case insensitive file systems
111 + + git-p4: avoid "stat" command in t9815 git-p4-submit-fail
112
41 - Description of the "log.follow" configuration variable in "git log"
42 - documentation is now also copied to "git config" documentation.
113 + A few test scripts around "git p4" have been improved for
114 + portability.
115
116
45 -* es/worktree-add-cleanup (2015-10-07) 1 commit
46 - (merged to 'next' on 2015-10-09 at 6ffd721)
47 - + t2026: rename worktree prune test
117 +* tb/t0027-crlf (2015-10-12) 1 commit
118 + (merged to 'next' on 2015-10-15 at 7ab4f31)
119 + + t0027: improve test for not-normalized files
120
49 - A no-op code-health maintenance.
121 + The test for various line-ending conversions has been enhanced.
122
123 +--------------------------------------------------
124 +[New Topics]
125
52 -* gr/rebase-i-drop-warn (2015-10-05) 2 commits
53 - (merged to 'next' on 2015-10-09 at 0626b96)
54 - + rebase-i: loosen over-eager check_bad_cmd check
55 - + rebase-i: explicitly accept tab as separator in commands
126 +* ar/clone-dissociate (2015-10-22) 1 commit
127 + - clone: allow "--dissociate" without reference
128
57 - "git rebase -i" had a minor regression recently, which stopped
58 - considering a line that begins with an indented '#' in its insn
59 - sheet not a comment, which is now fixed.
129 + "git clone --dissociate" used to require that "--reference" was
130 + used at the same time, but you can create a new repository that
131 + borrows objects from another without using "--reference", namely
132 + with "clone --local" from a repository that borrows objects from
133 + other repositories.
134
135 + Will merge to 'next'.
136
62 -* jc/doc-gc-prune-now (2015-10-14) 1 commit
63 - (merged to 'next' on 2015-10-15 at 5c07566)
64 - + Documentation/gc: warn against --prune=<now>
137
66 - "git gc" is safe to run anytime only because it has the built-in
67 - grace period to protect young objects. In order to run with no
68 - grace period, the user must make sure that the repository is
69 - quiescent.
138 +* da/difftool (2015-10-21) 1 commit
139 + - difftool: gracefully handle symlinks to directories
140
141 + The code to reuse checked out files for comparison was too
142 + aggressive and forgot that symbolic links cannot be reused
143 + for comparison.
144
72 -* jc/fsck-dropped-errors (2015-09-23) 1 commit
73 - (merged to 'next' on 2015-10-09 at 887fcac)
74 - + fsck: exit with non-zero when problems are found
145 + Smells wrong that this special-cases based on the target of
146 + symbolic link.
147
76 - There were some classes of errors that "git fsck" diagnosed to its
77 - standard error that did not cause it to exit with non-zero status.
148
149 +* dt/name-hash-dir-entry-fix (2015-10-21) 1 commit
150 + (merged to 'next' on 2015-10-22 at 15eb519)
151 + + name-hash: don't reuse cache_entry in dir_entry
152
80 -* jk/filter-branch-use-of-sed-on-incomplete-line (2015-10-12) 1 commit
81 - (merged to 'next' on 2015-10-15 at 9e7c032)
82 - + filter-branch: remove multi-line headers in msg filter
153 + The name-hash subsystem that is used to cope with case insensitive
154 + filesystems keeps track of directories and their on-filesystem
155 + cases for all the paths in the index by holding a pointer to a
156 + randomly chosen cache entry that is inside the directory (for its
157 + ce->ce_name component). This pointer was not updated even when the
158 + cache entry was removed from the index, leading to use after free.
159 + This was fixed by recording the path for each directory instead of
160 + borrowing cache entries and restructuring the API somewhat.
161
84 - A recent "filter-branch --msg-filter" broke skipping of the commit
85 - object header, which is fixed.
162 + Will merge to 'master'.
163
164
88 -* js/clone-dissociate (2015-10-07) 4 commits
89 - (merged to 'next' on 2015-10-09 at ba30393)
90 - + clone --dissociate: avoid locking pack files
91 - + sha1_file.c: add a function to release all packs
92 - + sha1_file: consolidate code to close a pack's file descriptor
93 - + t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
165 +* jc/everyday-markup (2015-10-22) 1 commit
166 + (merged to 'next' on 2015-10-22 at 0a2702d)
167 + + Documentation/everyday: match undefline with the text
168
95 - "git clone --dissociate" runs a big "git repack" process at the
96 - end, and it helps to close file descriptors that are open on the
97 - packs and their idx files before doing so on filesystems that
98 - cannot remove a file that is still open.
169 + AsciiDoc markup fixes.
170
171 + Will merge to 'master'.
172
101 -* js/gc-with-stale-symref (2015-10-08) 2 commits
102 - (merged to 'next' on 2015-10-09 at 8b89576)
103 - + pack-objects: do not get distracted by broken symrefs
104 - + gc: demonstrate failure with stale remote HEAD
173
106 - "git gc" used to barf when a symbolic ref has gone dangling
107 - (e.g. the branch that used to be your upstream's default when you
108 - cloned from it is now gone, and you did "fetch --prune").
174 +* jk/repository-extension (2015-06-24) 2 commits
175 + (merged to 'next' on 2015-10-22 at 116c8ce)
176 + + introduce "preciousObjects" repository extension
177 + + introduce "extensions" form of core.repositoryformatversion
178
179 + Prepare for Git on-disk repository representation to undergo
180 + backward incompatible changes by introducing a new repository
181 + format version "1", with an extension mechanism.
182
111 -* js/icase-wt-detection (2015-09-28) 1 commit
112 - (merged to 'next' on 2015-10-09 at 78ff500)
113 - + setup: fix "inside work tree" detection on case-insensitive filesystems
183 + Will merge to 'master'.
184
115 - On a case insensitive filesystems, setting GIT_WORK_TREE variable
116 - using a random cases that does not agree with what the filesystem
117 - thinks confused Git that it wasn't inside the working tree.
185
186 +* tk/sigchain-unnecessary-post-tempfile (2015-10-22) 4 commits
187 + (merged to 'next' on 2015-10-22 at b049f0a)
188 + + shallow: remove unused #include "sigchain.h"
189 + + read-cache: remove unused #include "sigchain.h"
190 + + diff: remove unused #include "sigchain.h"
191 + + credential-cache--daemon: remove unused #include "sigchain.h"
192
120 -* kn/for-each-branch (2015-09-25) 8 commits
121 - (merged to 'next' on 2015-10-09 at 45723ce)
122 - + branch: add '--points-at' option
123 - + branch.c: use 'ref-filter' APIs
124 - + branch.c: use 'ref-filter' data structures
125 - + branch: drop non-commit error reporting
126 - + branch: move 'current' check down to the presentation layer
127 - + branch: roll show_detached HEAD into regular ref_list
128 - + branch: bump get_head_description() to the top
129 - + branch: refactor width computation
130 - (this branch is used by kn/for-each-branch-remainder.)
193 + Remove no-longer used #include.
194
132 - Update "git branch" that list existing branches, using the
133 - ref-filter API that is shared with "git tag" and "git
134 - for-each-ref".
195 + Will merge to 'master'.
196
197
137 -* ls/p4-lfs (2015-10-03) 7 commits
138 - (merged to 'next' on 2015-10-14 at 4b8c365)
139 - + git-p4: add Git LFS backend for large file system
140 - + git-p4: add support for large file systems
141 - + git-p4: check free space during streaming
142 - + git-p4: add file streaming progress in verbose mode
143 - + git-p4: return an empty list if a list config has no values
144 - + git-p4: add gitConfigInt reader
145 - + git-p4: add optional type specifier to gitConfig reader
198 +* xf/user-manual-markup (2015-10-22) 3 commits
199 + (merged to 'next' on 2015-10-22 at cd33c83)
200 + + Documentation: match undefline with the text in old release notes
201 + + Documentation: match underline with the text
202 + + Documentation: fix header markup
203
147 - Teach "git p4" to send large blobs outside the repository by
148 - talking to Git LFS.
204 + AsciiDoc markup fixes.
205
206 + Will merge to 'master'.
207
151 -* ls/p4-translation-failure (2015-09-22) 2 commits
152 - (merged to 'next' on 2015-10-09 at b462387)
153 - + git-p4: handle "Translation of file content failed"
154 - + git-p4: add test case for "Translation of file content failed" error
208
156 - Work around "git p4" failing when the P4 depot records the contents
157 - in UTF-16 without UTF-16 BOM.
209 +* jc/em-dash-in-doc (2015-10-22) 1 commit
210 + - Documentation: AsciiDoc spells em-dash as double-dashes, not triple
211
212 + AsciiDoc markup fixes.
213
160 -* mk/submodule-gitdir-path (2015-09-14) 2 commits
161 - (merged to 'next' on 2015-10-09 at cf8768e)
162 - + path: implement common_dir handling in git_pathdup_submodule()
163 - + submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
214 + Will merge to 'next'.
215
165 - The submodule code has been taught to work better with separate
166 - work trees created via "git worktree add".
216 +--------------------------------------------------
217 +[Stalled]
218
219 +* dk/gc-idx-wo-pack (2015-08-17) 3 commits
220 + - DONTMERGE: log message, grace-period and tests $gmane/276058
221 + - gc: remove stale .idx files without corresponding .pack file
222 + - prepare_packed_git(): refactor garbage reporting in pack directory
223
169 -* mm/detach-at-HEAD-reflog (2015-10-02) 2 commits
170 - (merged to 'next' on 2015-10-09 at 624bc87)
171 - + status: don't say 'HEAD detached at HEAD'
172 - + t3203: test 'detached at' after checkout --detach
224 + Having a leftover .idx file without corresponding .pack file in
225 + the repository hurts performance; "git gc" learned to prune them.
226
174 - After "git checkout --detach", "git status" reported a fairly
175 - useless "HEAD detached at HEAD", instead of saying at which exact
176 - commit.
227 + Waiting for a reroll.
228
229
179 -* nd/clone-linked-checkout (2015-09-28) 6 commits
180 - (merged to 'next' on 2015-10-09 at a93973f)
181 - + clone: better error when --reference is a linked checkout
182 - + clone: allow --local from a linked checkout
183 - + enter_repo: allow .git files in strict mode
184 - + enter_repo: avoid duplicating logic, use is_git_directory() instead
185 - + t0002: add test for enter_repo(), non-strict mode
186 - + path.c: delete an extra space
230 +* nd/ita-cleanup (2015-09-06) 6 commits
231 + - grep: make it clear i-t-a entries are ignored
232 + - checkout(-index): do not checkout i-t-a entries
233 + - apply: make sure check_preimage() does not leave empty file on error
234 + - apply: fix adding new files on i-t-a entries
235 + - add and use a convenience macro ce_intent_to_add()
236 + - blame: remove obsolete comment
237
188 - It was not possible to use a repository-lookalike created by "git
189 - worktree add" as a local source of "git clone".
238 + Paths that have been told the index about with "add -N" are not yet
239 + in the index, but various commands behaved as if they already are.
240
241 + Some commits need better explanation.
242
192 -* nd/gc-auto-background-fix (2015-09-21) 1 commit
193 - (merged to 'next' on 2015-10-09 at 1f0fc60)
194 - + gc: save log from daemonized gc --auto and print it next time
243 + Waiting for a reroll.
244
196 - When "git gc --auto" is backgrounded, its diagnosis message is
197 - lost. Save it to a file in $GIT_DIR and show it next time the "gc
198 - --auto" is run.
245
246 +* ld/p4-detached-head (2015-09-09) 2 commits
247 + - git-p4: work with a detached head
248 + - git-p4: add failing test for submit from detached head
249
201 -* pt/am-builtin (2015-09-30) 1 commit
202 - (merged to 'next' on 2015-10-09 at 396def8)
203 - + am: configure gpg at startup
250 + Will be rerolled.
251 + ($gmane/277574)
252
205 - When "git am" was rewritten as a built-in, it stopped paying
206 - attention to user.signingkey, which was fixed.
253
254 +* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
255 + - t/lib-git-svn: check same httpd module dirs as lib-httpd
256 + - t/lib-httpd: load mod_unixd
257
209 -* rd/test-path-utils (2015-10-08) 1 commit
210 - (merged to 'next' on 2015-10-15 at 827a271)
211 - + test-path-utils.c: remove incorrect assumption
258 + This is the first two commits in a three-patch series $gmane/266962
259
213 - The normalize_ceiling_entry() function does not muck with the end
214 - of the path it accepts, and the real world callers do rely on that,
215 - but a test insisted that the function drops a trailing slash.
260 + Becoming tired of waiting for a reroll.
261 + with updated log message ($gmane/268061).
262 +
263 +
264 +* wp/sha1-name-negative-match (2015-06-08) 2 commits
265 + - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
266 + - test for '!' handling in rev-parse's named commits
267
268 + Introduce "branch^{/!-<pattern>}" notation to name a commit
269 + reachable from branch that does not match the given pattern.
270
218 -* sa/send-email-smtp-batch-data-limit (2015-09-30) 1 commit
219 - (merged to 'next' on 2015-10-09 at c021fdf)
220 - + git-send-email.perl: Fixed sending of many/huge changes/patches
271 + Becoming tired of waiting for a reroll.
272 + ($gmane/271213).
273
222 - When "git send-email" wanted to talk over Net::SMTP::SSL,
223 - Net::Cmd::datasend() did not like to be fed too many bytes at the
224 - same time and failed to send messages. Send the payload one line
225 - at a time to work around the problem.
274
275 +* ak/format-patch-odir-config (2015-06-19) 1 commit
276 + - format-patch: introduce format.outputDirectory configuration
277
228 -* sb/http-flaky-test-fix (2015-09-25) 1 commit
229 - (merged to 'next' on 2015-10-09 at 9dc37f3)
230 - + t5561: get rid of racy appending to logfile
278 + Reroll exists but didn't pick it up as it seemed to be still
279 + collecting review comments.
280
232 - A test script for the HTTP service had a timing dependent bug,
233 - which was fixed.
281 + Becoming tired of waiting for a reroll.
282 + ($gmane/272180).
283
284
236 -* sb/perf-without-installed-git (2015-09-25) 1 commit
237 - (merged to 'next' on 2015-10-09 at 7a1ed05)
238 - + t/perf: make runner work even if Git is not installed
285 +* jc/diff-b-m (2015-02-23) 5 commits
286 + . WIPWIP
287 + . WIP: diff-b-m
288 + - diffcore-rename: allow easier debugging
289 + - diffcore-rename.c: add locate_rename_src()
290 + - diffcore-break: allow debugging
291
240 - Performance-measurement tests did not work without an installed Git.
292 + "git diff -B -M" produced incorrect patch when the postimage of a
293 + completely rewritten file is similar to the preimage of a removed
294 + file; such a resulting file must not be expressed as a rename from
295 + other place.
296
297 + The fix in this patch is broken, unfortunately.
298
243 -* sb/submodule-config-parse (2015-10-12) 1 commit
244 - (merged to 'next' on 2015-10-15 at 6fea79d)
245 - + submodule-config: "goto" removal in parse_config()
299 +--------------------------------------------------
300 +[Cooking]
301
247 - Code simplification.
302 +* mh/notes-allow-reading-treeish (2015-10-08) 3 commits
303 + - notes: allow treeish expressions as notes ref
304 + + Merge branch 'jk/notes-dwim-doc' into next
305 + + Merge branch 'jc/merge-drop-old-syntax' into next
306 + (this branch uses jc/merge-drop-old-syntax.)
307
308 + Some "git notes" operations, e.g. "git log --notes=<note>", should
309 + be able to read notes from any tree-ish that is shaped like a notes
310 + tree, but the notes infrastructure required that the argument must
311 + be a ref under refs/notes/. Loosen it to require a valid ref only
312 + when the operation would update the notes (in which case we must
313 + have a place to store the updated notes tree, iow, a ref).
314
250 -* tk/doc-interpret-trailers-grammo (2015-10-07) 1 commit
251 - (merged to 'next' on 2015-10-09 at 37888a2)
252 - + Documentation/interpret-trailers: Grammar fix
315 + Will cook in 'next'.
316
254 ---------------------------------------------------
255 -[New Topics]
317
257 -* dt/refs-backend-pre-vtable (2015-10-15) 27 commits
258 - - introduce "extensions" form of core.repositoryformatversion
318 +* dt/refs-backend-pre-vtable (2015-10-15) 26 commits
319 - refs: break out ref conflict checks
320 - refs: make files_log_ref_write functions public
321 - initdb: move safe_create_dir into common code
@@ -282,7 +342,6 @@ of the repositories listed at
342 - refs: make repack_without_refs and is_branch public
343 - refs.c: create a public version of verify_refname_available
344 - Merge branch 'jk/war-on-sprintf' into HEAD
285 - (this branch uses jk/war-on-sprintf; is tangled with dt/refs-backend-lmdb.)
345
346 The early part of the pluggable ref backend series, which sifts the
347 ref API functions into two bins: the filesystem backend specific
@@ -296,178 +355,87 @@ of the repositories listed at
355
356
357 * jc/usage-stdin (2015-10-16) 1 commit
299 - - usage: do not insist that standard input must come from a file
358 + (merged to 'next' on 2015-10-20 at 937d4aa)
359 + + usage: do not insist that standard input must come from a file
360
301 - The synopsys text and the usage string of subcommands that read
361 + The synopsis text and the usage string of subcommands that read
362 list of things from the standard input are often shown as if they
363 only take input from a file on a filesystem, which was misleading.
364
305 - Will merge to 'next'.
365 + Will merge to 'master'.
366
367
368 * rt/placeholder-in-usage (2015-10-16) 1 commit
309 - - am, credential-cache: add angle brackets to usage string
369 + (merged to 'next' on 2015-10-20 at 5189b23)
370 + + am, credential-cache: add angle brackets to usage string
371
372 A couple of commands still showed "[options]" in their usage string
373 to note where options should come on their command line, but we
374 spell that "[<options>]" in most places these days.
375
315 - Will merge to 'next'.
376 + Will merge to 'master'.
377
378
379 * tk/stripspace (2015-10-16) 2 commits
319 - - stripspace: use parse-options for command-line parsing
320 - - strbuf: make stripspace() part of strbuf
380 + (merged to 'next' on 2015-10-20 at 327a997)
381 + + stripspace: use parse-options for command-line parsing
382 + + strbuf: make stripspace() part of strbuf
383
384 The internal stripspace() function has been moved to where it
385 logically belongs to, i.e. strbuf API, and the command line parser
386 of "git stripspace" has been updated to use the parse_options API.
387
326 - Will merge to 'next'.
388 + Will merge to 'master'.
389
390
391 * dk/p4-import-ctypes (2015-10-20) 1 commit
330 - - git-p4: import the ctypes module
392 + (merged to 'next' on 2015-10-22 at 5760144)
393 + + git-p4: import the ctypes module
394
395 "git-p4" tried to use from ctypes module without first importing
396 it.
397
335 - Will merge to 'next'.
398 + Will merge to 'master'.
399
400
401 * dt/t7063-fix-flaky-test (2015-10-19) 1 commit
339 - - t7063: fix flaky untracked-cache test
402 + (merged to 'next' on 2015-10-20 at 156af72)
403 + + t7063: fix flaky untracked-cache test
404
341 - Will merge to 'next'.
405 + Will merge to 'master'.
406
407
408 * es/worktree-add (2015-10-18) 1 commit
345 - - worktree: usage: denote <branch> as optional with 'add'
409 + (merged to 'next' on 2015-10-20 at ccadb70)
410 + + worktree: usage: denote <branch> as optional with 'add'
411
347 - Will merge to 'next'.
412 + Will merge to 'master'.
413
414
415 * kn/for-each-tag (2015-10-18) 1 commit
351 - - tag.c: use the correct algorithm for the '--contains' option
416 + (merged to 'next' on 2015-10-20 at 7afd374)
417 + + tag.c: use the correct algorithm for the '--contains' option
418
419 Recent update to "git tag --contains" caused a performance
420 regression.
421
356 - Will merge to 'next'.
357 -
358 ---------------------------------------------------
359 -[Stalled]
360 -
361 -* dk/gc-idx-wo-pack (2015-08-17) 3 commits
362 - - DONTMERGE: log message, grace-period and tests $gmane/276058
363 - - gc: remove stale .idx files without corresponding .pack file
364 - - prepare_packed_git(): refactor garbage reporting in pack directory
365 -
366 - Having a leftover .idx file without correspoinding .pack file in
367 - the repository hurts performance; "git gc" learned to prune them.
368 -
369 - Waiting for a reroll.
370 -
371 -
372 -* nd/ita-cleanup (2015-09-06) 6 commits
373 - - grep: make it clear i-t-a entries are ignored
374 - - checkout(-index): do not checkout i-t-a entries
375 - - apply: make sure check_preimage() does not leave empty file on error
376 - - apply: fix adding new files on i-t-a entries
377 - - add and use a convenience macro ce_intent_to_add()
378 - - blame: remove obsolete comment
379 -
380 - Paths that have been told the index about with "add -N" are not yet
381 - in the index, but various commands behaved as if they already are.
382 -
383 - Some commits need better explanation.
384 -
385 - Waiting for a reroll.
386 -
387 -
388 -* ld/p4-detached-head (2015-09-09) 2 commits
389 - - git-p4: work with a detached head
390 - - git-p4: add failing test for submit from detached head
391 -
392 - Will be rerolled.
393 - ($gmane/277574)
394 -
395 -
396 -* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
397 - - t/lib-git-svn: check same httpd module dirs as lib-httpd
398 - - t/lib-httpd: load mod_unixd
399 -
400 - This is the first two commits in a three-patch series $gmane/266962
401 -
402 - Becoming tired of waiting for a reroll.
403 - with updated log message ($gmane/268061).
404 -
405 -
406 -* wp/sha1-name-negative-match (2015-06-08) 2 commits
407 - - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
408 - - test for '!' handling in rev-parse's named commits
409 -
410 - Introduce "branch^{/!-<pattern>}" notation to name a commit
411 - reachable from branch that does not match the given pattern.
412 -
413 - Becoming tired of waiting for a reroll.
414 - ($gmane/271213).
415 -
416 -
417 -* ak/format-patch-odir-config (2015-06-19) 1 commit
418 - - format-patch: introduce format.outputDirectory configuration
419 -
420 - Reroll exists but didn't pick it up as it seemed to be still
421 - collecting review comments.
422 -
423 - Becoming tired of waiting for a reroll.
424 - ($gmane/272180).
425 -
426 -
427 -* mh/notes-allow-reading-treeish (2015-10-08) 3 commits
428 - - notes: allow treeish expressions as notes ref
429 - + Merge branch 'jk/notes-dwim-doc' into next
430 - + Merge branch 'jc/merge-drop-old-syntax' into next
431 - (this branch uses jc/merge-drop-old-syntax.)
432 -
433 - Some "git notes" operations, e.g. "git log --notes=<note>", should
434 - be able to read notes from any tree-ish that is shaped like a notes
435 - tree, but the notes infrastructure required that the argument must
436 - be a ref under refs/notes/. Loosen it to require a valid ref only
437 - when the operation would update the notes (in which case we must
438 - have a place to store the updated notes tree, iow, a ref).
439 -
440 -
441 -* jc/diff-b-m (2015-02-23) 5 commits
442 - . WIPWIP
443 - . WIP: diff-b-m
444 - - diffcore-rename: allow easier debugging
445 - - diffcore-rename.c: add locate_rename_src()
446 - - diffcore-break: allow debugging
447 -
448 - "git diff -B -M" produced incorrect patch when the postimage of a
449 - completely rewritten file is similar to the preimage of a removed
450 - file; such a resulting file must not be expressed as a rename from
451 - other place.
452 -
453 - The fix in this patch is broken, unfortunately.
422 + Will merge to 'master'.
423
455 ---------------------------------------------------
456 -[Cooking]
424
425 * mr/worktree-list (2015-10-08) 5 commits
459 - - worktree: add 'list' command
460 - - worktree: add details to the worktree struct
461 - - worktree: add a function to get worktree details
462 - - worktree: refactor find_linked_symref function
463 - - worktree: add top-level worktree.c
426 + (merged to 'next' on 2015-10-20 at 7cb272d)
427 + + worktree: add 'list' command
428 + + worktree: add details to the worktree struct
429 + + worktree: add a function to get worktree details
430 + + worktree: refactor find_linked_symref function
431 + + worktree: add top-level worktree.c
432
433 Add the "list" subcommand to "git worktree".
434
467 - Will merge to 'next'.
435 + Will merge to 'master'.
436
437
470 -* jc/mailinfo (2015-10-20) 1 commit
438 +* jc/mailinfo (2015-10-21) 1 commit
439 - mailinfo: ignore in-body header that we do not care about
440 (this branch uses jc/am-mailinfo-direct and jc/mailinfo-lib.)
441
@@ -483,57 +451,61 @@ of the repositories listed at
451 Comments?
452
453
486 -* jc/am-mailinfo-direct (2015-10-20) 2 commits
487 - - mailinfo: plug strbuf leak during continuation line handling
488 - - am: make direct call to mailinfo
454 +* jc/am-mailinfo-direct (2015-10-21) 1 commit
455 + (merged to 'next' on 2015-10-22 at ca15014)
456 + + am: make direct call to mailinfo
457 (this branch is used by jc/mailinfo; uses jc/mailinfo-lib.)
458
459 "git am" used to spawn "git mailinfo" via run_command() API once
460 per each patch, but learned to make a direct call to mailinfo()
461 instead.
462
495 - Needs benchmark on platforms with slow run_command().
496 -
497 -
498 -* jc/mailinfo-lib (2015-10-19) 33 commits
499 - - mailinfo: remove calls to exit() and die() deep in the callchain
500 - - mailinfo: handle charset conversion errors in the caller
501 - - mailinfo: libify
502 - - mailinfo: move definition of MAX_HDR_PARSED closer to its use
503 - - mailinfo: move cleanup_space() before its users
504 - - mailinfo: move check_header() after the helpers it uses
505 - - mailinfo: move read_one_header_line() closer to its callers
506 - - mailinfo: keep the parsed log message in a strbuf
507 - - mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
508 - - mailinfo: move content/content_top to struct mailinfo
509 - - mailinfo: move [ps]_hdr_data to struct mailinfo
510 - - mailinfo: move cmitmsg and patchfile to struct mailinfo
511 - - mailinfo: move charset to struct mailinfo
512 - - mailinfo: move transfer_encoding to struct mailinfo
513 - - mailinfo: move check for metainfo_charset to convert_to_utf8()
514 - - mailinfo: move metainfo_charset to struct mailinfo
515 - - mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
516 - - mailinfo: move add_message_id and message_id to struct mailinfo
517 - - mailinfo: move patch_lines to struct mailinfo
518 - - mailinfo: move filter/header stage to struct mailinfo
519 - - mailinfo: move global "FILE *fin, *fout" to struct mailinfo
520 - - mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
521 - - mailinfo: introduce "struct mailinfo" to hold globals
522 - - mailinfo: move global "line" into mailinfo() function
523 - - mailinfo: do not let find_boundary() touch global "line" directly
524 - - mailinfo: do not let handle_boundary() touch global "line" directly
525 - - mailinfo: do not let handle_body() touch global "line" directly
526 - - mailinfo: get rid of function-local static states
527 - - mailinfo: move handle_boundary() lower
528 - - mailinfo: explicitly close file handle to the patch output
529 - - mailinfo: fix an off-by-one error in the boundary stack
530 - - mailinfo: fold decode_header_bq() into decode_header()
531 - - mailinfo: remove a no-op call convert_to_utf8(it, "")
463 + Will merge to 'master'.
464 +
465 +
466 +* jc/mailinfo-lib (2015-10-21) 34 commits
467 + (merged to 'next' on 2015-10-22 at 405bd66)
468 + + mailinfo: remove calls to exit() and die() deep in the callchain
469 + + mailinfo: handle charset conversion errors in the caller
470 + + mailinfo: libify
471 + + mailinfo: keep the parsed log message in a strbuf
472 + + mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
473 + + mailinfo: move content/content_top to struct mailinfo
474 + + mailinfo: move [ps]_hdr_data to struct mailinfo
475 + + mailinfo: move cmitmsg and patchfile to struct mailinfo
476 + + mailinfo: move charset to struct mailinfo
477 + + mailinfo: move transfer_encoding to struct mailinfo
478 + + mailinfo: move check for metainfo_charset to convert_to_utf8()
479 + + mailinfo: move metainfo_charset to struct mailinfo
480 + + mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
481 + + mailinfo: move add_message_id and message_id to struct mailinfo
482 + + mailinfo: move patch_lines to struct mailinfo
483 + + mailinfo: move filter/header stage to struct mailinfo
484 + + mailinfo: move global "FILE *fin, *fout" to struct mailinfo
485 + + mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
486 + + mailinfo: introduce "struct mailinfo" to hold globals
487 + + mailinfo: move global "line" into mailinfo() function
488 + + mailinfo: do not let find_boundary() touch global "line" directly
489 + + mailinfo: do not let handle_boundary() touch global "line" directly
490 + + mailinfo: do not let handle_body() touch global "line" directly
491 + + mailinfo: get rid of function-local static states
492 + + mailinfo: move definition of MAX_HDR_PARSED closer to its use
493 + + mailinfo: move cleanup_space() before its users
494 + + mailinfo: move check_header() after the helpers it uses
495 + + mailinfo: move read_one_header_line() closer to its callers
496 + + mailinfo: move handle_boundary() lower
497 + + mailinfo: plug strbuf leak during continuation line handling
498 + + mailinfo: explicitly close file handle to the patch output
499 + + mailinfo: fix an off-by-one error in the boundary stack
500 + + mailinfo: fold decode_header_bq() into decode_header()
501 + + mailinfo: remove a no-op call convert_to_utf8(it, "")
502 (this branch is used by jc/am-mailinfo-direct and jc/mailinfo.)
503
504 The implementation of "git mailinfo" was refactored so that a
505 mailinfo() function can be directly called from inside a process.
506
507 + Will merge to 'master'.
508 +
509
510 * jc/am-3-fallback-regression-fix (2015-10-09) 1 commit
511 (merged to 'next' on 2015-10-15 at 7dde994)
@@ -545,6 +517,8 @@ of the repositories listed at
517 ways, as it assumed that the internal call to merge-recursive will
518 never die, which is not the case (yet).
519
520 + Will merge to 'master'.
521 +
522
523 * js/am-3-merge-recursive-direct (2015-10-12) 2 commits
524 - am: make a direct call to merge_recursive
@@ -555,34 +529,7 @@ of the repositories listed at
529 call from inside a process. "git am -3" was taught to make a direct
530 call to the function when falling back to three-way merge.
531
558 -
559 -* km/cache-entry-refcnt (2015-10-14) 1 commit
560 - - merge: fix cache_entry use-after-free
561 -
562 - Sometimes we discarded a cache-entry that is still referenced from
563 - name-hash (used only to hold the pathname there), leading to use
564 - after free errors. Reference-count cache entries to work it
565 - around.
566 -
567 -
568 -* ls/p4-test-updates (2015-10-12) 2 commits
569 - (merged to 'next' on 2015-10-15 at 3c94932)
570 - + git-p4: skip t9819 test case on case insensitive file systems
571 - + git-p4: avoid "stat" command in t9815 git-p4-submit-fail
572 -
573 - A few test scripts around "git p4" have been improved for
574 - portability.
575 -
576 - Will merge to 'master'.
577 -
578 -
579 -* tb/t0027-crlf (2015-10-12) 1 commit
580 - (merged to 'next' on 2015-10-15 at 7ab4f31)
581 - + t0027: improve test for not-normalized files
582 -
583 - The test for various line-ending conversions has been enhanced.
584 -
585 - Will merge to 'master'.
532 + Will cook in 'next'.
533
534
535 * sg/pretty-more-date-mode-format (2015-10-07) 1 commit
@@ -612,98 +559,17 @@ of the repositories listed at
559 ($gmane/278926)
560
561
615 -* jk/war-on-sprintf (2015-10-05) 70 commits
616 - (merged to 'next' on 2015-10-15 at 27a1ae5)
617 - + name-rev: use strip_suffix to avoid magic numbers
618 - + use strbuf_complete to conditionally append slash
619 - + fsck: use for_each_loose_file_in_objdir
620 - + Makefile: drop D_INO_IN_DIRENT build knob
621 - + fsck: drop inode-sorting code
622 - + convert strncpy to memcpy
623 - + notes: document length of fanout path with a constant
624 - + color: add color_set helper for copying raw colors
625 - + prefer memcpy to strcpy
626 - + help: clean up kfmclient munging
627 - + receive-pack: simplify keep_arg computation
628 - + avoid sprintf and strcpy with flex arrays
629 - + use alloc_ref rather than hand-allocating "struct ref"
630 - + color: add overflow checks for parsing colors
631 - + drop strcpy in favor of raw sha1_to_hex
632 - + use sha1_to_hex_r() instead of strcpy
633 - + daemon: use cld->env_array when re-spawning
634 - + stat_tracking_info: convert to argv_array
635 - + http-push: use an argv_array for setup_revisions
636 - + fetch-pack: use argv_array for index-pack / unpack-objects
637 - + diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat
638 - + write_loose_object: convert to strbuf
639 - + remove_leading_path: use a strbuf for internal storage
640 - + enter_repo: convert fixed-size buffers to strbufs
641 - + merge-recursive: convert malloc / strcpy to strbuf
642 - + transport: use strbufs for status table "quickref" strings
643 - + apply: convert root string to strbuf
644 - + init: use strbufs to store paths
645 - + probe_utf8_pathname_composition: use internal strbuf
646 - + precompose_utf8: drop unused variable
647 - + sha1_get_pack_name: use a strbuf
648 - + http-walker: store url in a strbuf
649 - + http-push: use strbuf instead of fwrite_buffer
650 - + remote-ext: simplify git pkt-line generation
651 - + upload-archive: convert sprintf to strbuf
652 - + resolve_ref: use strbufs for internal buffers
653 - + read_remotes_file: simplify string handling
654 - + read_branches_file: simplify string handling
655 - + mailmap: replace strcpy with xstrdup
656 - + help: drop prepend function in favor of xstrfmt
657 - + ref-filter: drop sprintf and strcpy calls
658 - + use strip_suffix and xstrfmt to replace suffix
659 - + fetch: replace static buffer with xstrfmt
660 - + config: use xstrfmt in normalize_value
661 - + replace trivial malloc + sprintf / strcpy calls with xstrfmt
662 - + receive-pack: convert strncpy to xsnprintf
663 - + http-push: replace strcat with xsnprintf
664 - + add_packed_git: convert strcpy into xsnprintf
665 - + entry.c: convert strcpy to xsnprintf
666 - + grep: use xsnprintf to format failure message
667 - + compat/hstrerror: convert sprintf to snprintf
668 - + stop_progress_msg: convert sprintf to xsnprintf
669 - + find_short_object_filename: convert sprintf to xsnprintf
670 - + use xsnprintf for generating git object headers
671 - + archive-tar: use xsnprintf for trivial formatting
672 - + convert trivial sprintf / strcpy calls to xsnprintf
673 - + compat/inet_ntop: fix off-by-one in inet_ntop4
674 - + test-dump-cache-tree: avoid overflow of cache-tree name
675 - + progress: store throughput display in a strbuf
676 - + trace: use strbuf for quote_crnl output
677 - + mailsplit: make PATH_MAX buffers dynamic
678 - + fsck: use strbuf to generate alternate directories
679 - + add reentrant variants of sha1_to_hex and find_unique_abbrev
680 - + strbuf: make strbuf_complete_line more generic
681 - + add git_path_buf helper function
682 - + add xsnprintf helper function
683 - + fsck: don't fsck alternates for connectivity-only check
684 - + archive-tar: fix minor indentation violation
685 - + mailsplit: fix FILE* leak in split_maildir
686 - + show-branch: avoid segfault with --reflog of unborn branch
687 - (this branch is used by dt/refs-backend-lmdb and dt/refs-backend-pre-vtable.)
688 -
689 - Many allocations that is manually counted (correctly) that are
690 - followed by strcpy/sprintf have been replaced with a less error
691 - prone constructs such as xstrfmt.
562 +* rp/link-curl-before-ssl (2015-10-21) 3 commits
563 + (merged to 'next' on 2015-10-22 at dad4fc6)
564 + + configure.ac: detect ssl need with libcurl
565 + + Makefile: make curl-config path configurable
566 + + Makefile: link libcurl before zlib
567
693 - Macintosh-specific breakage was noticed and corrected in this
694 - reroll.
568 + The linkage order of libraries was wrong in places around libcurl.
569
570 Will merge to 'master'.
571
572
699 -* rp/link-curl-before-ssl (2015-09-25) 3 commits
700 - - configure: make curl-config path configurable
701 - - configure.ac: detect ssl need with libcurl
702 - - Makefile: link libcurl before openssl and crypto
703 -
704 - Waiting for the (hopefully) final submission.
705 -
706 -
573 * jk/graph-format-padding (2015-09-14) 1 commit
574 - pretty: pass graph width to pretty formatting for use in '%>|(N)'
575
@@ -723,12 +589,14 @@ of the repositories listed at
589 ($gmane/278326)
590
591
726 -* sb/submodule-parallel-fetch (2015-10-20) 14 commits
592 +* sb/submodule-parallel-fetch (2015-10-21) 16 commits
593 + - git submodule update: have a dedicated helper for cloning
594 + - submodule config: keep update strategy around
595 - run-command: fix missing output from late callbacks
596 - test-run-command: increase test coverage
597 - test-run-command: test for gracefully aborting
598 - run-command: initialize the shutdown flag
731 - - run-command: call get_next_task with a clean child process.
599 + - run-command: clear leftover state from child_process structure
600 - run-command: fix early shutdown
601 (merged to 'next' on 2015-10-15 at df63590)
602 + submodules: allow parallel fetching, add tests and documentation
@@ -782,52 +650,7 @@ of the repositories listed at
650 --------------------------------------------------
651 [Discarded]
652
785 -* dt/refs-backend-lmdb (2015-10-12) 45 commits
786 - . refs: tests for db backend
787 - . refs: add LMDB refs backend
788 - . introduce "extensions" form of core.repositoryformatversion
789 - . refs: add register_refs_backend
790 - . refs: allow ref backend to be set for clone
791 - . refs: always handle non-normal refs in files backend
792 - . refs: move duplicate check to common code
793 - . refs: break out a ref conflict check
794 - . refs: make files_log_ref_write functions public
795 - . refs: make lock generic
796 - . refs-be-files.c: add method to rename refs
797 - . refs.c: add method for initializing refs db
798 - . initdb: move safe_create_dir into common code
799 - . refs.c: add method for initial ref transaction commit
800 - . refs.c: add methods for reflog
801 - . refs.c: add ref backend init function
802 - . refs.c: move should_autocreate_reflog to common code
803 - . refs.c: move peel_object to the common code
804 - . refs.c: move copy_msg to the common code
805 - . refs.h: document make refname_is_safe and add it to header
806 - . refs.c: move refname_is_safe to the common code
807 - . refs-be-files.c: add do_for_each_per_worktree_ref
808 - . refs-be-files.c: add method for for_each_reftype_...
809 - . refs-be-files.c: add methods for the ref iterators
810 - . refs-be-files.c: add methods for misc ref operations
811 - . refs: add a backend method structure with transaction functions
812 - . refs: move transaction functions into common code
813 - . refs.c: move head_ref_namespaced to the common code
814 - . refs.c: move ref iterators to the common code
815 - . refs.c: move prettify_refname to the common code
816 - . refs.c: move is_branch to the common code
817 - . refs.c: move check_refname_format to the common code
818 - . refs.c: move resolve_refdup to common
819 - . refs.c: move read_ref, read_ref_full and ref_exists to the common code
820 - . refs.c: move warn_if_dangling_symref* to the common code
821 - . refs.c: move dwim and friend functions to the common refs code
822 - . refs.c: move the hidden refs functions to the common code
823 - . refs.c: move read_ref_at to the common refs file
824 - . refs.c: move delete_ref and delete_refs to the common code
825 - . refs.c: move update_ref to refs.c
826 - . refs.c: add a new refs.c file to hold all common refs code
827 - . refs-be-files.c: rename refs to refs-be-files
828 - . refs: make repack_without_refs and is_branch public
829 - . refs.c: create a public version of verify_refname_available
830 - - Merge branch 'jk/war-on-sprintf' into HEAD
831 - (this branch uses jk/war-on-sprintf; is tangled with dt/refs-backend-pre-vtable.)
653 +* km/cache-entry-refcnt (2015-10-14) 1 commit
654 + . merge: fix cache_entry use-after-free
655
833 - Being rerolled separately.
656 + Made unnecessary with dt/name-hash-dir-entry-fix topic.