What's cooking (2015/10 #04)

Junio C Hamano committed Oct 20, 2015 at 15:08 UTC a031d1c30d72d1b7bd8b48b89f43581138c01058
1 file changed +534 -635
whats-cooking.txt
+534 -635
@@ -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, #03; Wed, 14)
4 -X-master-at: b27dacc1a80d1eca1994e6552d913e42d517f998
5 -X-next-at: 4b8c365398e63642c531f6a096df9da66a27f9fe
3 +Subject: What's cooking in git.git (Oct 2015, #04; Tue, 20)
4 +X-master-at: 614a2aced1ba739dfe5bf17a85f9d376efb235b1
5 +X-next-at: 4688abffc19bfe433e802ce56f31d4a362291a2d
6
7 -What's cooking in git.git (Oct 2015, #03; Wed, 14)
7 +What's cooking in git.git (Oct 2015, #04; Tue, 20)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -26,179 +26,332 @@ of the repositories listed at
26 --------------------------------------------------
27 [Graduated to "master"]
28
29 -* jk/asciidoctor-section-heading-markup-fix (2015-09-25) 1 commit
30 - (merged to 'next' on 2015-10-07 at 8bbff49)
31 - + Documentation: fix section header mark-up
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
33
34 + A no-op code-health maintenance.
35
34 -* jk/notes-dwim-doc (2015-09-22) 1 commit
35 - (merged to 'next' on 2015-10-07 at c4341d1)
36 - + notes: correct documentation of DWIMery for notes references
37 - (this branch is used by mh/notes-allow-reading-treeish.)
36
39 - The way how --ref/--notes to specify the notes tree reference are
40 - DWIMmed was not clearly documented.
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
40
41 + Description of the "log.follow" configuration variable in "git log"
42 + documentation is now also copied to "git config" documentation.
43
43 -* nd/ls-remote-does-not-have-u-option (2015-09-28) 1 commit
44 - (merged to 'next' on 2015-10-07 at 0790a76)
45 - + ls-remote.txt: delete unsupported option
44
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
48
48 -* pt/pull-builtin (2015-10-02) 1 commit
49 - (merged to 'next' on 2015-10-07 at 19af20e)
50 - + merge: grammofix in please-commit-before-merge message
49 + A no-op code-health maintenance.
50
51
53 -* tk/typofix-connect-unknown-proto-error (2015-09-25) 1 commit
54 - (merged to 'next' on 2015-10-07 at cc3430e)
55 - + connect: fix typo in result string of prot_name()
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
56
57 ---------------------------------------------------
58 -[New Topics]
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.
60
60 -* jc/mailinfo (2015-10-08) 1 commit
61 - . mailinfo: ignore in-body header that we do not care about
61
63 - Some people write arbitrary garbage at the beginning of a piece of
64 - e-mail (or after -- >8 -- scissors -- >8 -- line) in the commit log
65 - message and expect them to be discarded, even though "From:" and
66 - "Subject:" are the only documented in-body headers that you are
67 - supposed to have there. Allow some garbage (specifically, what may
68 - look like RFC2822 headers like "MIME-Version: ...") to be there and
69 - ignore them.
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>
65
71 - I have a feeling that that this is a step in a wrong direction.
72 - Excluded from 'pu' for now.
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.
70 +
71 +
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
75 +
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.
78
79
80 * jk/filter-branch-use-of-sed-on-incomplete-line (2015-10-12) 1 commit
76 - - filter-branch: remove multi-line headers in msg filter
81 + (merged to 'next' on 2015-10-15 at 9e7c032)
82 + + filter-branch: remove multi-line headers in msg filter
83
84 A recent "filter-branch --msg-filter" broke skipping of the commit
85 object header, which is fixed.
86
81 - Will merge to 'next'.
87 +
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`
94 +
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.
99 +
100 +
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
105 +
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").
109 +
110 +
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
114 +
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.
118 +
119 +
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.)
131 +
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".
135 +
136 +
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
146 +
147 + Teach "git p4" to send large blobs outside the repository by
148 + talking to Git LFS.
149 +
150 +
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
155 +
156 + Work around "git p4" failing when the P4 depot records the contents
157 + in UTF-16 without UTF-16 BOM.
158 +
159 +
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()
164 +
165 + The submodule code has been taught to work better with separate
166 + work trees created via "git worktree add".
167 +
168 +
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
173 +
174 + After "git checkout --detach", "git status" reported a fairly
175 + useless "HEAD detached at HEAD", instead of saying at which exact
176 + commit.
177 +
178 +
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
187 +
188 + It was not possible to use a repository-lookalike created by "git
189 + worktree add" as a local source of "git clone".
190 +
191 +
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
195 +
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.
199 +
200 +
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
204 +
205 + When "git am" was rewritten as a built-in, it stopped paying
206 + attention to user.signingkey, which was fixed.
207
208
209 * rd/test-path-utils (2015-10-08) 1 commit
85 - - test-path-utils.c: remove incorrect assumption
210 + (merged to 'next' on 2015-10-15 at 827a271)
211 + + test-path-utils.c: remove incorrect assumption
212
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.
216
91 - Will merge to 'next'.
217
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
221
94 -* jc/doc-gc-prune-now (2015-10-14) 1 commit
95 - - Documentation/gc: warn against --prune=<now>
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.
226
97 - "git gc" is safe to run anytime only because it has the built-in
98 - grace period to protect young objects. In order to run with no
99 - grace period, the user must make sure that the repository is
100 - quiescent.
227
102 - Will merge to 'next'.
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
231
232 + A test script for the HTTP service had a timing dependent bug,
233 + which was fixed.
234
105 -* jc/am-mailinfo-direct (2015-10-14) 1 commit
106 - - am: make direct call to mailinfo
107 - (this branch uses jc/mailinfo-lib.)
235
109 - "git am" used to spawn "git mailinfo" via run_command() API once
110 - per each patch, but learned to make a direct call to mailinfo()
111 - instead.
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
239
113 - Needs benchmark on platforms with slow run_command().
240 + Performance-measurement tests did not work without an installed Git.
241
242
116 -* jc/mailinfo-lib (2015-10-14) 30 commits
117 - - mailinfo: remove calls to exit() and die() deep in the callchain
118 - - mailinfo: handle charset conversion errors in the caller
119 - - mailinfo: libify
120 - - mailinfo: move definition of MAX_HDR_PARSED to closer to its use
121 - - mailinfo: move cleanup_space() before its users
122 - - mailinfo: move check_header() after the helpers it uses
123 - - mailinfo: move read_one_header_line() closer to its callers
124 - - mailinfo: move content/content_top to struct mailinfo
125 - - mailinfo: keep the parsed log message in a strbuf
126 - - mailinfo: move [ps]_hdr_data to struct mailinfo
127 - - mailinfo: move cmitmsg and patchfile to struct mailinfo
128 - - mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
129 - - mailinfo: move charset to struct mailinfo
130 - - mailinfo: move transfer_encoding to struct mailinfo
131 - - mailinfo: move metainfo_charset to struct mailinfo
132 - - mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
133 - - mailinfo: move add_message_id and message_id to struct mailinfo
134 - - mailinfo: move patch_lines to struct mailinfo
135 - - mailinfo: move filter/header stage to struct mailinfo
136 - - mailinfo: move global "FILE *fin, *fout" to struct mailinfo
137 - - mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
138 - - mailinfo: introduce "struct mailinfo" to hold globals
139 - - mailinfo: move global "line" into mailinfo() function
140 - - mailinfo: always pass "line" as an argument
141 - - mailinfo: get rid of function-local static states
142 - - mailinfo: move handle_boundary() lower
143 - - mailinfo: fold decode_header_bq() into decode_header()
144 - - mailinfo: explicitly close file handle to the patch output
145 - - mailinfo: fix for off-by-one error in boundary stack
146 - - mailinfo: remove a no-op call convert_to_utf8(it, "")
147 - (this branch is used by jc/am-mailinfo-direct.)
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()
246
149 - The implementation of "git mailinfo" was refactored so that a
150 - mailinfo() function can be directly called from inside a process.
247 + Code simplification.
248
249
153 -* jc/am-3-fallback-regression-fix (2015-10-09) 1 commit
154 - - am -3: do not let failed merge from completing the error codepath
155 - (this branch is used by js/am-3-merge-recursive-direct.)
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
253
157 - "git am -3" had a small regression where it is aborted in its error
158 - handling codepath when underlying merge-recursive failed in certain
159 - ways, as it assumed that the internal call to merge-recursive will
160 - never die, which is not the case (yet).
254 +--------------------------------------------------
255 +[New Topics]
256
257 +* dt/refs-backend-pre-vtable (2015-10-15) 27 commits
258 + - introduce "extensions" form of core.repositoryformatversion
259 + - refs: break out ref conflict checks
260 + - refs: make files_log_ref_write functions public
261 + - initdb: move safe_create_dir into common code
262 + - refs.c: move should_autocreate_reflog to common code
263 + - refs.c: move peel_object to the common code
264 + - refs.c: move copy_msg to the common code
265 + - refs.c: move refname_is_safe to the common code
266 + - refs: move transaction functions into common code
267 + - refs.c: move head_ref_namespaced to the common code
268 + - refs.c: move ref iterators to the common code
269 + - refs.c: move prettify_refname to the common code
270 + - refs.c: move is_branch to the common code
271 + - refs.c: move check_refname_format to the common code
272 + - refs.c: move resolve_refdup to common
273 + - refs.c: move read_ref, read_ref_full and ref_exists to the common code
274 + - refs.c: move warn_if_dangling_symref* to the common code
275 + - refs.c: move dwim and friend functions to the common refs code
276 + - refs.c: move the hidden refs functions to the common code
277 + - refs.c: move read_ref_at to the common refs file
278 + - refs.c: move delete_pseudoref and delete_ref to the common code
279 + - refs.c: move update_ref to refs.c
280 + - refs.c: add a new refs.c file to hold all common refs code
281 + - refs-be-files.c: rename refs to refs-be-files
282 + - refs: make repack_without_refs and is_branch public
283 + - refs.c: create a public version of verify_refname_available
284 + - Merge branch 'jk/war-on-sprintf' into HEAD
285 + (this branch uses jk/war-on-sprintf; is tangled with dt/refs-backend-lmdb.)
286
163 -* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
164 - - am: make a direct call to merge_recursive
165 - - merge_recursive_options: introduce the "gently" flag
166 - (this branch uses jc/am-3-fallback-regression-fix.)
287 + The early part of the pluggable ref backend series, which sifts the
288 + ref API functions into two bins: the filesystem backend specific
289 + ones and the generic API functions. The next step will start
290 + introducing the framework to dispatch generic calls to specific
291 + backend implementation(s) and then finally plug a new backend that
292 + is different from the file backend.
293
168 - The merge_recursive_generic() function has been made a bit safer to
169 - call from inside a process. "git am -3" was taught to make a direct
170 - call to the function when falling back to three-way merge.
294 + Expecting a reroll after an review of the remainder.
295 + ($gmane/279897).
296
297
173 -* km/cache-entry-refcnt (2015-10-12) 1 commit
174 - - merge: fix cache_entry use-after-free
298 +* jc/usage-stdin (2015-10-16) 1 commit
299 + - usage: do not insist that standard input must come from a file
300
176 - Sometimes we discarded a cache-entry that is still referenced from
177 - name-hash (used only to hold the pathname there), leading to use
178 - after free errors. Reference-count cache entries to work it
179 - around.
301 + The synopsys text and the usage string of subcommands that read
302 + list of things from the standard input are often shown as if they
303 + only take input from a file on a filesystem, which was misleading.
304
305 + Will merge to 'next'.
306
182 -* ls/p4-test-updates (2015-10-12) 2 commits
183 - - git-p4: skip t9819 test case on case insensitive file systems
184 - - git-p4: avoid "stat" command in t9815 git-p4-submit-fail
307
186 - A few test scripts around "git p4" have been improved for
187 - portability.
308 +* rt/placeholder-in-usage (2015-10-16) 1 commit
309 + - am, credential-cache: add angle brackets to usage string
310 +
311 + A couple of commands still showed "[options]" in their usage string
312 + to note where options should come on their command line, but we
313 + spell that "[<options>]" in most places these days.
314
315 Will merge to 'next'.
316
317
192 -* sb/submodule-config-parse (2015-10-12) 1 commit
193 - - submodule-config: "goto" removal in parse_config()
318 +* tk/stripspace (2015-10-16) 2 commits
319 + - stripspace: use parse-options for command-line parsing
320 + - strbuf: make stripspace() part of strbuf
321 +
322 + The internal stripspace() function has been moved to where it
323 + logically belongs to, i.e. strbuf API, and the command line parser
324 + of "git stripspace" has been updated to use the parse_options API.
325
326 Will merge to 'next'.
327
328
198 -* tb/t0027-crlf (2015-10-12) 1 commit
199 - - t0027: improve test for not-normalized files
329 +* dk/p4-import-ctypes (2015-10-20) 1 commit
330 + - git-p4: import the ctypes module
331 +
332 + "git-p4" tried to use from ctypes module without first importing
333 + it.
334 +
335 + Will merge to 'next'.
336 +
337 +
338 +* dt/t7063-fix-flaky-test (2015-10-19) 1 commit
339 + - t7063: fix flaky untracked-cache test
340 +
341 + Will merge to 'next'.
342
201 - The test for various line-ending conversions has been enhanced.
343 +
344 +* es/worktree-add (2015-10-18) 1 commit
345 + - worktree: usage: denote <branch> as optional with 'add'
346 +
347 + Will merge to 'next'.
348 +
349 +
350 +* kn/for-each-tag (2015-10-18) 1 commit
351 + - tag.c: use the correct algorithm for the '--contains' option
352 +
353 + Recent update to "git tag --contains" caused a performance
354 + regression.
355
356 Will merge to 'next'.
357
@@ -240,16 +393,6 @@ of the repositories listed at
393 ($gmane/277574)
394
395
243 -* mr/worktree-list (2015-10-08) 5 commits
244 - - worktree: add 'list' command
245 - - worktree: add details to the worktree struct
246 - - worktree: add a function to get worktree details
247 - - worktree: refactor find_linked_symref function
248 - - worktree: add top-level worktree.c
249 -
250 - Add the "list" subcommand to "git worktree".
251 -
252 -
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
@@ -312,358 +455,253 @@ of the repositories listed at
455 --------------------------------------------------
456 [Cooking]
457
315 -* cc/quote-comments (2015-10-07) 2 commits
316 - (merged to 'next' on 2015-10-09 at fc8a359)
317 - + quote: move comment before sq_quote_buf()
318 - + quote: fix broken sq_quote_buf() related comment
319 -
320 - A no-op code-health maintenance.
321 -
322 - Will merge to 'master'.
323 -
324 -
325 -* dt/log-follow-config (2015-10-07) 1 commit
326 - (merged to 'next' on 2015-10-09 at 64a30d2)
327 - + log: Update log.follow doc and add to config.txt
328 -
329 - Description of the "log.follow" configuration variable in "git log"
330 - documentation is now also copied to "git config" documentation.
331 -
332 - Will merge to 'master'.
333 -
334 -
335 -* es/worktree-add-cleanup (2015-10-07) 1 commit
336 - (merged to 'next' on 2015-10-09 at 6ffd721)
337 - + t2026: rename worktree prune test
338 -
339 - A no-op code-health maintenance.
340 -
341 - Will merge to 'master'.
342 -
343 -
344 -* sg/pretty-more-date-mode-format (2015-10-07) 1 commit
345 - - pretty: add format specifiers for short and raw date formats
346 -
347 - Introduce "%as" and "%aR" placeholders for "log --format" to show
348 - the author date in the short and raw formats.
349 -
350 - I have a feeling that that this is a step in a wrong direction.
351 -
352 -
353 -* tk/doc-interpret-trailers-grammo (2015-10-07) 1 commit
354 - (merged to 'next' on 2015-10-09 at 37888a2)
355 - + Documentation/interpret-trailers: Grammar fix
356 -
357 - Will merge to 'master'.
358 -
359 -
360 -* dt/refs-backend-lmdb (2015-10-12) 45 commits
361 - - refs: tests for db backend
362 - - refs: add LMDB refs backend
363 - - introduce "extensions" form of core.repositoryformatversion
364 - - refs: add register_refs_backend
365 - - refs: allow ref backend to be set for clone
366 - - refs: always handle non-normal refs in files backend
367 - - refs: move duplicate check to common code
368 - - refs: break out a ref conflict check
369 - - refs: make files_log_ref_write functions public
370 - - refs: make lock generic
371 - - refs-be-files.c: add method to rename refs
372 - - refs.c: add method for initializing refs db
373 - - initdb: move safe_create_dir into common code
374 - - refs.c: add method for initial ref transaction commit
375 - - refs.c: add methods for reflog
376 - - refs.c: add ref backend init function
377 - - refs.c: move should_autocreate_reflog to common code
378 - - refs.c: move peel_object to the common code
379 - - refs.c: move copy_msg to the common code
380 - - refs.h: document make refname_is_safe and add it to header
381 - - refs.c: move refname_is_safe to the common code
382 - - refs-be-files.c: add do_for_each_per_worktree_ref
383 - - refs-be-files.c: add method for for_each_reftype_...
384 - - refs-be-files.c: add methods for the ref iterators
385 - - refs-be-files.c: add methods for misc ref operations
386 - - refs: add a backend method structure with transaction functions
387 - - refs: move transaction functions into common code
388 - - refs.c: move head_ref_namespaced to the common code
389 - - refs.c: move ref iterators to the common code
390 - - refs.c: move prettify_refname to the common code
391 - - refs.c: move is_branch to the common code
392 - - refs.c: move check_refname_format to the common code
393 - - refs.c: move resolve_refdup to common
394 - - refs.c: move read_ref, read_ref_full and ref_exists to the common code
395 - - refs.c: move warn_if_dangling_symref* to the common code
396 - - refs.c: move dwim and friend functions to the common refs code
397 - - refs.c: move the hidden refs functions to the common code
398 - - refs.c: move read_ref_at to the common refs file
399 - - refs.c: move delete_ref and delete_refs to the common code
400 - - refs.c: move update_ref to refs.c
401 - - refs.c: add a new refs.c file to hold all common refs code
402 - - refs-be-files.c: rename refs to refs-be-files
403 - - refs: make repack_without_refs and is_branch public
404 - - refs.c: create a public version of verify_refname_available
405 - - Merge branch 'jk/war-on-sprintf' into HEAD
406 - (this branch uses jk/war-on-sprintf.)
407 -
408 - Pluggable ref backend.
409 -
410 - Expecting a reroll (as two parts series).
411 -
412 -
413 -* gr/rebase-i-drop-warn (2015-10-05) 2 commits
414 - (merged to 'next' on 2015-10-09 at 0626b96)
415 - + rebase-i: loosen over-eager check_bad_cmd check
416 - + rebase-i: explicitly accept tab as separator in commands
417 -
418 - "git rebase -i" had a minor regression recently, which stopped
419 - considering a line that begins with an indented '#' in its insn
420 - sheet not a comment, which is now fixed.
421 -
422 - Will merge to 'master'.
423 -
424 -
425 -* kn/for-each-branch-remainder (2015-10-02) 9 commits
426 - - branch: implement '--format' option
427 - - branch: use ref-filter printing APIs
428 - - ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
429 - - ref-filter: introduce format_ref_array_item()
430 - - ref-filter: adopt get_head_description() from branch.c
431 - - ref-filter: modify "%(objectname:short)" to take length
432 - - ref-filter: add support for %(path) atom
433 - - ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
434 - - ref-filter: implement %(if), %(then), and %(else) atoms
435 - (this branch uses kn/for-each-branch.)
436 -
437 - More unification among "branch -l", "tag -l" and "for-each-ref --format".
438 -
439 - Expecting a reroll.
440 - ($gmane/278926)
441 -
442 -
443 -* jk/war-on-sprintf (2015-10-05) 70 commits
444 - - name-rev: use strip_suffix to avoid magic numbers
445 - - use strbuf_complete to conditionally append slash
446 - - fsck: use for_each_loose_file_in_objdir
447 - - Makefile: drop D_INO_IN_DIRENT build knob
448 - - fsck: drop inode-sorting code
449 - - convert strncpy to memcpy
450 - - notes: document length of fanout path with a constant
451 - - color: add color_set helper for copying raw colors
452 - - prefer memcpy to strcpy
453 - - help: clean up kfmclient munging
454 - - receive-pack: simplify keep_arg computation
455 - - avoid sprintf and strcpy with flex arrays
456 - - use alloc_ref rather than hand-allocating "struct ref"
457 - - color: add overflow checks for parsing colors
458 - - drop strcpy in favor of raw sha1_to_hex
459 - - use sha1_to_hex_r() instead of strcpy
460 - - daemon: use cld->env_array when re-spawning
461 - - stat_tracking_info: convert to argv_array
462 - - http-push: use an argv_array for setup_revisions
463 - - fetch-pack: use argv_array for index-pack / unpack-objects
464 - - diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat
465 - - write_loose_object: convert to strbuf
466 - - remove_leading_path: use a strbuf for internal storage
467 - - enter_repo: convert fixed-size buffers to strbufs
468 - - merge-recursive: convert malloc / strcpy to strbuf
469 - - transport: use strbufs for status table "quickref" strings
470 - - apply: convert root string to strbuf
471 - - init: use strbufs to store paths
472 - - probe_utf8_pathname_composition: use internal strbuf
473 - - precompose_utf8: drop unused variable
474 - - sha1_get_pack_name: use a strbuf
475 - - http-walker: store url in a strbuf
476 - - http-push: use strbuf instead of fwrite_buffer
477 - - remote-ext: simplify git pkt-line generation
478 - - upload-archive: convert sprintf to strbuf
479 - - resolve_ref: use strbufs for internal buffers
480 - - read_remotes_file: simplify string handling
481 - - read_branches_file: simplify string handling
482 - - mailmap: replace strcpy with xstrdup
483 - - help: drop prepend function in favor of xstrfmt
484 - - ref-filter: drop sprintf and strcpy calls
485 - - use strip_suffix and xstrfmt to replace suffix
486 - - fetch: replace static buffer with xstrfmt
487 - - config: use xstrfmt in normalize_value
488 - - replace trivial malloc + sprintf / strcpy calls with xstrfmt
489 - - receive-pack: convert strncpy to xsnprintf
490 - - http-push: replace strcat with xsnprintf
491 - - add_packed_git: convert strcpy into xsnprintf
492 - - entry.c: convert strcpy to xsnprintf
493 - - grep: use xsnprintf to format failure message
494 - - compat/hstrerror: convert sprintf to snprintf
495 - - stop_progress_msg: convert sprintf to xsnprintf
496 - - find_short_object_filename: convert sprintf to xsnprintf
497 - - use xsnprintf for generating git object headers
498 - - archive-tar: use xsnprintf for trivial formatting
499 - - convert trivial sprintf / strcpy calls to xsnprintf
500 - - compat/inet_ntop: fix off-by-one in inet_ntop4
501 - - test-dump-cache-tree: avoid overflow of cache-tree name
502 - - progress: store throughput display in a strbuf
503 - - trace: use strbuf for quote_crnl output
504 - - mailsplit: make PATH_MAX buffers dynamic
505 - - fsck: use strbuf to generate alternate directories
506 - - add reentrant variants of sha1_to_hex and find_unique_abbrev
507 - - strbuf: make strbuf_complete_line more generic
508 - - add git_path_buf helper function
509 - - add xsnprintf helper function
510 - - fsck: don't fsck alternates for connectivity-only check
511 - - archive-tar: fix minor indentation violation
512 - - mailsplit: fix FILE* leak in split_maildir
513 - - show-branch: avoid segfault with --reflog of unborn branch
514 - (this branch is used by dt/refs-backend-lmdb.)
515 -
516 - Many allocations that is manually counted (correctly) that are
517 - followed by strcpy/sprintf have been replaced with a less error
518 - prone constructs such as xstrfmt.
519 -
520 - Macintosh-specific breakage was noticed and corrected in this
521 - reroll.
522 -
523 - Will wait for a week or so before merging to 'next'.
524 -
525 -
526 -* rp/link-curl-before-ssl (2015-09-25) 3 commits
527 - - configure: make curl-config path configurable
528 - - configure.ac: detect ssl need with libcurl
529 - - Makefile: link libcurl before openssl and crypto
530 -
531 - Rerolls exist, but are still being discussed.
458 +* 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
464
465 + Add the "list" subcommand to "git worktree".
466
534 -* sb/http-flaky-test-fix (2015-09-25) 1 commit
535 - (merged to 'next' on 2015-10-09 at 9dc37f3)
536 - + t5561: get rid of racy appending to logfile
467 + Will merge to 'next'.
468
538 - Will merge to 'master'.
469
470 +* jc/mailinfo (2015-10-20) 1 commit
471 + - mailinfo: ignore in-body header that we do not care about
472 + (this branch uses jc/am-mailinfo-direct and jc/mailinfo-lib.)
473
541 -* sb/perf-without-installed-git (2015-09-25) 1 commit
542 - (merged to 'next' on 2015-10-09 at 7a1ed05)
543 - + t/perf: make runner work even if Git is not installed
474 + Some people write arbitrary garbage at the beginning of a piece of
475 + e-mail (or after -- >8 -- scissors -- >8 -- line) in the commit log
476 + message and expect them to be discarded, even though "From:" and
477 + "Subject:" are the only documented in-body headers that you are
478 + supposed to have there. Allow some garbage (specifically, what may
479 + look like RFC2822 headers like "MIME-Version: ...") to be there and
480 + ignore them.
481
545 - Performance-measurement tests did not work without an installed Git.
482 + I have a feeling that that this is a step in a wrong direction.
483 + Comments?
484
547 - Will merge to 'master'.
485
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
489 + (this branch is used by jc/mailinfo; uses jc/mailinfo-lib.)
490
550 -* js/clone-dissociate (2015-10-07) 4 commits
551 - (merged to 'next' on 2015-10-09 at ba30393)
552 - + clone --dissociate: avoid locking pack files
553 - + sha1_file.c: add a function to release all packs
554 - + sha1_file: consolidate code to close a pack's file descriptor
555 - + t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
491 + "git am" used to spawn "git mailinfo" via run_command() API once
492 + per each patch, but learned to make a direct call to mailinfo()
493 + instead.
494
557 - "git clone --dissociate" runs a big "git repack" process at the
558 - end, and it helps to close file descriptors that are open on the
559 - packs and their idx files before doing so on filesystems that
560 - cannot remove a file that is still open.
495 + Needs benchmark on platforms with slow run_command().
496
562 - Will merge to 'master'.
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, "")
532 + (this branch is used by jc/am-mailinfo-direct and jc/mailinfo.)
533
565 -* js/gc-with-stale-symref (2015-10-08) 2 commits
566 - (merged to 'next' on 2015-10-09 at 8b89576)
567 - + pack-objects: do not get distracted by broken symrefs
568 - + gc: demonstrate failure with stale remote HEAD
534 + The implementation of "git mailinfo" was refactored so that a
535 + mailinfo() function can be directly called from inside a process.
536
570 - "git gc" used to barf when a symbolic ref has gone dangling
571 - (e.g. the branch that used to be your upstream's default when you
572 - cloned from it is now gone, and you did "fetch --prune").
537
574 - Will merge to 'master'.
538 +* jc/am-3-fallback-regression-fix (2015-10-09) 1 commit
539 + (merged to 'next' on 2015-10-15 at 7dde994)
540 + + am -3: do not let failed merge from completing the error codepath
541 + (this branch is used by js/am-3-merge-recursive-direct.)
542
543 + "git am -3" had a small regression where it is aborted in its error
544 + handling codepath when underlying merge-recursive failed in certain
545 + ways, as it assumed that the internal call to merge-recursive will
546 + never die, which is not the case (yet).
547
577 -* js/icase-wt-detection (2015-09-28) 1 commit
578 - (merged to 'next' on 2015-10-09 at 78ff500)
579 - + setup: fix "inside work tree" detection on case-insensitive filesystems
548
581 - Will merge to 'master'.
549 +* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
550 + - am: make a direct call to merge_recursive
551 + - merge_recursive_options: introduce the "gently" flag
552 + (this branch uses jc/am-3-fallback-regression-fix.)
553
554 + The merge_recursive_generic() function has been made a bit safer to
555 + call from inside a process. "git am -3" was taught to make a direct
556 + call to the function when falling back to three-way merge.
557
584 -* mm/detach-at-HEAD-reflog (2015-10-02) 2 commits
585 - (merged to 'next' on 2015-10-09 at 624bc87)
586 - + status: don't say 'HEAD detached at HEAD'
587 - + t3203: test 'detached at' after checkout --detach
558
589 - After "git checkout --detach", "git status" reported a fairly
590 - useless "HEAD detached at HEAD", instead of saying at which exact
591 - commit.
559 +* km/cache-entry-refcnt (2015-10-14) 1 commit
560 + - merge: fix cache_entry use-after-free
561
593 - Will merge to 'master'.
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
596 -* pt/am-builtin (2015-09-30) 1 commit
597 - (merged to 'next' on 2015-10-09 at 396def8)
598 - + am: configure gpg at startup
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
600 - When "git am" was rewritten as a built-in, it stopped paying
601 - attention to user.signingkey.
573 + A few test scripts around "git p4" have been improved for
574 + portability.
575
576 Will merge to 'master'.
577
578
606 -* sa/send-email-smtp-batch-data-limit (2015-09-30) 1 commit
607 - (merged to 'next' on 2015-10-09 at c021fdf)
608 - + git-send-email.perl: Fixed sending of many/huge changes/patches
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
610 - When "git send-email" wanted to talk over Net::SMTP::SSL,
611 - Net::Cmd::datasend() did not like to be fed too many bytes at the
612 - same time and failed to send messages. Send the payload one line
613 - at a time to work around the problem.
583 + The test for various line-ending conversions has been enhanced.
584
585 Will merge to 'master'.
586
587
618 -* ls/p4-translation-failure (2015-09-22) 2 commits
619 - (merged to 'next' on 2015-10-09 at b462387)
620 - + git-p4: handle "Translation of file content failed"
621 - + git-p4: add test case for "Translation of file content failed" error
588 +* sg/pretty-more-date-mode-format (2015-10-07) 1 commit
589 + - pretty: add format specifiers for short and raw date formats
590
623 - Work around "git p4" failing when the P4 depot records the contents
624 - in UTF-16 without UTF-16 BOM.
591 + Introduce "%as" and "%aR" placeholders for "log --format" to show
592 + the author date in the short and raw formats.
593
626 - Will merge to 'master'.
594 + I have a feeling that that this is a step in a wrong direction.
595 + Comments?
596
597
629 -* kn/for-each-branch (2015-09-25) 8 commits
630 - (merged to 'next' on 2015-10-09 at 45723ce)
631 - + branch: add '--points-at' option
632 - + branch.c: use 'ref-filter' APIs
633 - + branch.c: use 'ref-filter' data structures
634 - + branch: drop non-commit error reporting
635 - + branch: move 'current' check down to the presentation layer
636 - + branch: roll show_detached HEAD into regular ref_list
637 - + branch: bump get_head_description() to the top
638 - + branch: refactor width computation
639 - (this branch is used by kn/for-each-branch-remainder.)
598 +* kn/for-each-branch-remainder (2015-10-02) 9 commits
599 + - branch: implement '--format' option
600 + - branch: use ref-filter printing APIs
601 + - ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
602 + - ref-filter: introduce format_ref_array_item()
603 + - ref-filter: adopt get_head_description() from branch.c
604 + - ref-filter: modify "%(objectname:short)" to take length
605 + - ref-filter: add support for %(path) atom
606 + - ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
607 + - ref-filter: implement %(if), %(then), and %(else) atoms
608
641 - Update "git branch" that list existing branches, using the
642 - ref-filter API that is shared with "git tag" and "git
643 - for-each-ref".
609 + More unification among "branch -l", "tag -l" and "for-each-ref --format".
610
645 - Will merge to 'master'.
611 + Expecting a reroll.
612 + ($gmane/278926)
613
614
648 -* jc/fsck-dropped-errors (2015-09-23) 1 commit
649 - (merged to 'next' on 2015-10-09 at 887fcac)
650 - + fsck: exit with non-zero when problems are found
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
652 - There were some classes of errors that "git fsck" diagnosed to its
653 - standard error that did not cause it to exit with non-zero status.
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.
692
655 - Will merge to 'master'.
693 + Macintosh-specific breakage was noticed and corrected in this
694 + reroll.
695
696 + Will merge to 'master'.
697
658 -* nd/gc-auto-background-fix (2015-09-21) 1 commit
659 - (merged to 'next' on 2015-10-09 at 1f0fc60)
660 - + gc: save log from daemonized gc --auto and print it next time
698
662 - When "git gc --auto" is backgrounded, its diagnosis message is
663 - lost. Save it to a file in $GIT_DIR and show it next time the "gc
664 - --auto" is run.
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
666 - Will merge to 'master'.
704 + Waiting for the (hopefully) final submission.
705
706
707 * jk/graph-format-padding (2015-09-14) 1 commit
@@ -685,62 +723,27 @@ of the repositories listed at
723 ($gmane/278326)
724
725
688 -* sb/submodule-parallel-fetch (2015-10-12) 8 commits
689 - - submodules: allow parallel fetching, add tests and documentation
690 - - fetch_populated_submodules: use new parallel job processing
691 - - run-command: add an asynchronous parallel child processor
692 - - sigchain: add command to pop all common signals
693 - - strbuf: add strbuf_read_once to read without blocking
694 - - xread_nonblock: add functionality to read from fds without blocking
695 - - xread: poll on non blocking fds
696 - - submodule.c: write "Fetching submodule <foo>" to stderr
726 +* sb/submodule-parallel-fetch (2015-10-20) 14 commits
727 + - run-command: fix missing output from late callbacks
728 + - test-run-command: increase test coverage
729 + - test-run-command: test for gracefully aborting
730 + - run-command: initialize the shutdown flag
731 + - run-command: call get_next_task with a clean child process.
732 + - run-command: fix early shutdown
733 + (merged to 'next' on 2015-10-15 at df63590)
734 + + submodules: allow parallel fetching, add tests and documentation
735 + + fetch_populated_submodules: use new parallel job processing
736 + + run-command: add an asynchronous parallel child processor
737 + + sigchain: add command to pop all common signals
738 + + strbuf: add strbuf_read_once to read without blocking
739 + + xread_nonblock: add functionality to read from fds without blocking
740 + + xread: poll on non blocking fds
741 + + submodule.c: write "Fetching submodule <foo>" to stderr
742
743 Add a framework to spawn a group of processes in parallel, and use
744 it to run "git fetch --recurse-submodules" in parallel.
745
701 - Will merge to 'next'.
702 -
703 -
704 -* mk/submodule-gitdir-path (2015-09-14) 2 commits
705 - (merged to 'next' on 2015-10-09 at cf8768e)
706 - + path: implement common_dir handling in git_pathdup_submodule()
707 - + submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
708 -
709 - The submodule code has been taught to work better with separate
710 - work trees created via "git worktree add".
711 -
712 - Will merge to 'master'.
713 -
714 -
715 -* ls/p4-lfs (2015-10-03) 7 commits
716 - (merged to 'next' on 2015-10-14 at 4b8c365)
717 - + git-p4: add Git LFS backend for large file system
718 - + git-p4: add support for large file systems
719 - + git-p4: check free space during streaming
720 - + git-p4: add file streaming progress in verbose mode
721 - + git-p4: return an empty list if a list config has no values
722 - + git-p4: add gitConfigInt reader
723 - + git-p4: add optional type specifier to gitConfig reader
724 -
725 - Teach "git p4" to send large blobs outside the repository by
726 - talking to Git LFS.
727 -
728 - Will merge to 'master'.
729 -
730 -
731 -* nd/clone-linked-checkout (2015-09-28) 6 commits
732 - (merged to 'next' on 2015-10-09 at a93973f)
733 - + clone: better error when --reference is a linked checkout
734 - + clone: allow --local from a linked checkout
735 - + enter_repo: allow .git files in strict mode
736 - + enter_repo: avoid duplicating logic, use is_git_directory() instead
737 - + t0002: add test for enter_repo(), non-strict mode
738 - + path.c: delete an extra space
739 -
740 - It was not possible to use a repository-lookalike created by "git
741 - worktree add" as a local source of "git clone".
742 -
743 - Will merge to 'master'.
746 + Will cook in 'next'.
747
748
749 * ad/cygwin-wants-rename (2015-08-07) 1 commit
@@ -779,156 +782,52 @@ of the repositories listed at
782 --------------------------------------------------
783 [Discarded]
784
782 -* sb/remove-get-pathspec (2015-08-03) 1 commit
783 - . builtin/mv: remove get_pathspec()
784 -
785 - ($gmane/276104)
786 -
787 -
788 -* nd/list-files (2015-02-09) 21 commits
789 - . t3080: tests for git-list-files
790 - . list-files: -M aka diff-cached
791 - . list-files -F: show submodules with the new indicator '&'
792 - . list-files: add -F/--classify
793 - . list-files: show directories as well as files
794 - . list-files: do not show duplicate cached entries
795 - . list-files: sort output and remove duplicates
796 - . list-files: add -t back
797 - . list-files: add -1 short for --no-column
798 - . list-files: add -R/--recursive short for --max-depth=-1
799 - . list-files: -u does not imply showing stages
800 - . list-files: make alias 'ls' default to 'list-files'
801 - . list-files: a user friendly version of ls-files and more
802 - . ls-files: support --max-depth
803 - . ls-files: add --column
804 - . ls-files: add --color to highlight file names
805 - . ls-files: buffer full item in strbuf before printing
806 - . ls_colors.c: highlight submodules like directories
807 - . ls_colors.c: add a function to color a file name
808 - . ls_colors.c: parse color.ls.* from config file
809 - . ls_colors.c: add $LS_COLORS parsing code
810 -
811 - A new "git list-files" Porcelain command, "ls-files" with bells and
812 - whistles.
813 -
814 - Reroll to base on wt-status work ($gmane/265142) has seen some
815 - positive discussions.
816 -
817 - ($gmane/265534).
818 -
819 -
820 -* mh/numparse (2015-03-19) 14 commits
821 - . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
822 - . diff_opt_parse(): use convert_i() when handling "-l<num>"
823 - . opt_arg(): simplify pointer handling
824 - . opt_arg(): report errors parsing option values
825 - . opt_arg(): use convert_i() in implementation
826 - . opt_arg(): val is always non-NULL
827 - . builtin_diff(): detect errors when parsing --unified argument
828 - . handle_revision_opt(): use convert_ui() when handling "--abbrev="
829 - . strtoul_ui(), strtol_i(): remove functions
830 - . handle_revision_opt(): use convert_i() when handling "-<digit>"
831 - . handle_revision_opt(): use skip_prefix() in many places
832 - . write_subdirectory(): use convert_ui() for parsing mode
833 - . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
834 - . numparse: new module for parsing integral numbers
835 -
836 - Many codepaths use unchecked use of strtol() and friends (or even
837 - worse, atoi()). Introduce a set of wrappers that try to be more
838 - careful.
839 -
840 - ($gmane/268058).
841 -
842 -
843 -* kk/log-merges-config (2015-04-21) 5 commits
844 - . bash-completion: add support for git-log --merges= and log.merges
845 - . t4202-log: add tests for --merges=
846 - . Documentation: add git-log --merges= option and log.merges config. var
847 - . log: honor log.merges= option
848 - . revision: add --merges={show|only|hide} option
849 -
850 - "git log" (but not other commands in the "log" family) learned to
851 - pay attention to the log.merges configuration variable that can be
852 - set to "show" (the normal behaviour), "only" (hide non-merge
853 - commits), or "hide" (hide merge commits). --merges=(show|only|hide)
854 - can be used to override the setting from the command line.
855 -
856 - The documentation may need to be updated once more ($gmane/267250).
857 -
858 -
859 -* bw/portability-solaris (2015-07-20) 3 commits
860 - . tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
861 - . tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
862 - . tests: modify tr expressions so that xpg4/tr handles it on Solaris
863 -
864 - ($gmane/274296)
865 -
866 -
867 -* jc/clone-bundle (2015-04-30) 1 commit
868 - . repack: optionally create a clone.bundle
869 -
870 - Still an early WIP.
871 -
872 -
873 -* mg/index-read-error-messages (2015-06-01) 2 commits
874 - . messages: uniform error messages for index write
875 - . show-index: uniform error messages for index read
876 -
877 - The tip was RFC.
878 - Waiting for a reroll.
879 -
880 -
881 -* mk/utf8-no-iconv-warn (2015-06-08) 1 commit
882 - . utf8.c: print warning about disabled iconv
883 -
884 - Warn when a reencoding is requested in a build without iconv
885 - support, as the end user is likely to get an unexpected result. I
886 - think the same level of safety should be added to a build with
887 - iconv support when the specified encoding is not available, but the
888 - patch does not go there.
889 -
890 - ($gmane/277424).
891 -
892 -
893 -* pw/remote-set-url-fetch (2014-11-26) 1 commit
894 - . remote: add --fetch and --both options to set-url
895 -
896 - Ejected.
897 -
898 -
899 -* tr/remerge-diff (2014-11-10) 9 commits
900 - . t4213: avoid "|" in sed regexp
901 - . log --remerge-diff: show what the conflict resolution changed
902 - . name-hash: allow dir hashing even when !ignore_case
903 - . merge-recursive: allow storing conflict hunks in index
904 - . merge_diff_mode: fold all merge diff variants into an enum
905 - . combine-diff: do not pass revs->dense_combined_merges redundantly
906 - . merge-recursive: -Xindex-only to leave worktree unchanged
907 - . merge-recursive: internal flag to avoid touching the worktree
908 - . merge-recursive: remove dead conditional in update_stages()
909 -
910 - "log -p" output learns a new way to let users inspect a merge
911 - commit by showing the differences between the automerged result
912 - with conflicts the person who recorded the merge would have seen
913 - and the final conflict resolution that was recorded in the merge.
914 -
915 - Waiting for a reroll.
916 - ($gmane/256591).
917 -
918 -
919 -* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
920 - . perf-lib: add test_perf_cleanup target
921 - . perf-lib: split starting the test from the execution
922 -
923 - Add test_perf_cleanup shell function to the perf suite, that allows
924 - the script writers to define a test with a clean-up action.
925 -
926 -
927 -* jc/show-branch (2014-03-24) 5 commits
928 - . show-branch: use commit slab to represent bitflags of arbitrary width
929 - . show-branch.c: remove "all_mask"
930 - . show-branch.c: abstract out "flags" operation
931 - . show-branch.c: lift all_mask/all_revs to a global static
932 - . show-branch.c: update comment style
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.)
832
934 - Waiting for the final step to lift the hard-limit.
833 + Being rerolled separately.