What's cooking (2016/07 #02)

Junio C Hamano committed Jul 6, 2016 at 14:32 UTC 348f2010bf9e0960f955d09aaf6699e73b130504
1 file changed +459 -446
whats-cooking.txt
+459 -446
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2016, #01; Fri, 1)
4 -X-master-at: cf4c2cfe52be5bd973a4838f73a35d3959ce2f43
5 -X-next-at: fa5e50e3639a0a6cbe9c3df13ce7aa2e6f3a4fcb
3 +Subject: What's cooking in git.git (Jul 2016, #02; Wed, 6)
4 +X-master-at: 5c589a73de4394ad125a4effac227b3aec856fa1
5 +X-next-at: 281e4d64a61b891e32e0344654b580b4203effa6
6
7 -What's cooking in git.git (Jul 2016, #01; Fri, 1)
7 +What's cooking in git.git (Jul 2016, #02; Wed, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,45 +20,325 @@ of the repositories listed at
20
21 http://git-blame.blogspot.com/p/git-public-repositories.html
22
23 +--------------------------------------------------
24 +[Graduated to "master"]
25 +
26 +* ak/t7800-wo-readlink (2016-06-21) 1 commit
27 + (merged to 'next' on 2016-06-28 at 403bbbb)
28 + + t7800: readlink may not be available
29 +
30 + One among four invocations of readlink(1) in our test suite has
31 + been rewritten so that the test can run on systems without the
32 + command (others are in valgrind test framework and t9802).
33 +
34 +
35 +* ao/p4-has-branch-prefix-fix (2016-06-22) 1 commit
36 + (merged to 'next' on 2016-06-28 at 333f90d)
37 + + git-p4: correct hasBranchPrefix verbose output
38 +
39 + A bug, which caused "git p4" while running under verbose mode to
40 + report paths that are omitted due to branch prefix incorrectly, has
41 + been fixed; the command said "Ignoring file outside of prefix" for
42 + paths that are _inside_.
43 +
44 +
45 +* cb/t7810-test-label-fix (2016-06-21) 1 commit
46 + (merged to 'next' on 2016-06-28 at 4d85a00)
47 + + t7810: fix duplicated test title
48 +
49 + Test clean-up.
50 +
51 +
52 +* ep/http-curl-trace (2016-05-24) 2 commits
53 + (merged to 'next' on 2016-06-27 at c290515)
54 + + imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
55 + + http.c: implement the GIT_TRACE_CURL environment variable
56 +
57 + HTTP transport gained an option to produce more detailed debugging
58 + trace.
59 +
60 +
61 +* ew/mboxrd-format-am (2016-06-06) 3 commits
62 + (merged to 'next' on 2016-06-28 at ee0a088)
63 + + am: support --patch-format=mboxrd
64 + + mailsplit: support unescaping mboxrd messages
65 + + pretty: support "mboxrd" output format
66 +
67 + Teach format-patch and mailsplit (hence "am") how a line that
68 + happens to begin with "From " in the e-mail message is quoted with
69 + ">", so that these lines can be restored to their original shape.
70 +
71 +
72 +* jc/t2300-setup (2016-06-22) 1 commit
73 + (merged to 'next' on 2016-06-28 at 62b902a)
74 + + t2300: "git --exec-path" is not usable in $PATH on Windows as-is
75 +
76 + Portability fix for Windows.
77 +
78 +
79 +* jk/add-i-diff-compact-heuristics (2016-06-16) 1 commit
80 + (merged to 'next' on 2016-06-27 at 568f892)
81 + + add--interactive: respect diff.compactionHeuristic
82 +
83 + "git add -i/-p" learned to honor diff.compactionHeuristic
84 + experimental knob, so that the user can work on the same hunk split
85 + as "git diff" output.
86 +
87 +
88 +* jk/bisect-show-tree (2016-06-16) 1 commit
89 + (merged to 'next' on 2016-06-27 at 6970f87e)
90 + + bisect: always call setup_revisions after init_revisions
91 +
92 + "git bisect" makes an internal call to "git diff-tree" when
93 + bisection finds the culprit, but this call did not initialize the
94 + data structure to pass to the diff-tree API correctly.
95 +
96 +
97 +* jk/gpg-interface-cleanup (2016-06-17) 7 commits
98 + (merged to 'next' on 2016-06-28 at eed3498)
99 + + gpg-interface: check gpg signature creation status
100 + + sign_buffer: use pipe_command
101 + + verify_signed_buffer: use pipe_command
102 + + run-command: add pipe_command helper
103 + + verify_signed_buffer: use tempfile object
104 + + verify_signed_buffer: drop pbuf variable
105 + + gpg-interface: use child_process.args
106 +
107 + A new run-command API function pipe_command() is introduced to
108 + sanely feed data to the standard input while capturing data from
109 + the standard output and the standard error of an external process,
110 + which is cumbersome to hand-roll correctly without deadlocking.
111 +
112 + The codepath to sign data in a prepared buffer with GPG has been
113 + updated to use this API to read from the status-fd to check for
114 + errors (instead of relying on GPG's exit status).
115 +
116 +
117 +* jk/parseopt-string-list (2016-06-13) 3 commits
118 + (merged to 'next' on 2016-06-27 at 27462e6)
119 + + blame,shortlog: don't make local option variables static
120 + + interpret-trailers: don't duplicate option strings
121 + + parse_opt_string_list: stop allocating new strings
122 + (this branch is used by jk/string-list-static-init.)
123 +
124 + The command line argument parsing that uses OPT_STRING_LIST() often
125 + made a copy of the argv[] element, which was unnecessary.
126 +
127 +
128 +* jk/repack-keep-unreachable (2016-06-14) 3 commits
129 + (merged to 'next' on 2016-06-28 at 802b849)
130 + + repack: extend --keep-unreachable to loose objects
131 + + repack: add --keep-unreachable option
132 + + repack: document --unpack-unreachable option
133 +
134 + "git repack" learned the "--keep-unreachable" option, which sends
135 + loose unreachable objects to a pack instead of leaving them loose.
136 + This helps heuristics based on the number of loose objects
137 + (e.g. "gc --auto").
138 +
139 +
140 +* jk/send-pack-stdio (2016-06-10) 2 commits
141 + (merged to 'next' on 2016-06-27 at 2cfb0ff)
142 + + write_or_die: remove the unused write_or_whine() function
143 + + send-pack: use buffered I/O to talk to pack-objects
144 +
145 + Code clean-up.
146 +
147 +
148 +* jk/string-list-static-init (2016-06-13) 2 commits
149 + (merged to 'next' on 2016-06-27 at 3d4b2fa)
150 + + use string_list initializer consistently
151 + + Merge branch 'jk/parseopt-string-list' into jk/string-list-static-init
152 + (this branch uses jk/parseopt-string-list.)
153 +
154 + Instead of taking advantage of a struct string_list that is
155 + allocated with all NULs happens to be STRING_LIST_INIT_NODUP kind,
156 + initialize them explicitly as such, to document their behaviour
157 + better.
158 +
159 +
160 +* jk/tzoffset-fix (2016-06-20) 3 commits
161 + (merged to 'next' on 2016-06-28 at 08ec8c5)
162 + + local_tzoffset: detect errors from tm_to_time_t
163 + + t0006: test various date formats
164 + + t0006: rename test-date's "show" to "relative"
165 +
166 + The internal code used to show local timezone offset is not
167 + prepared to handle timestamps beyond year 2100, and gave a
168 + bogus offset value to the caller. Use a more benign looking
169 + +0000 instead and let "git log" going in such a case, instead
170 + of aborting.
171 +
172 +
173 +* jk/upload-pack-hook (2016-06-02) 7 commits
174 + (merged to 'next' on 2016-06-28 at e5e5bb6)
175 + + upload-pack: provide a hook for running pack-objects
176 + + t1308: do not get fooled by symbolic links to the source tree
177 + + config: add a notion of "scope"
178 + + config: return configset value for current_config_ functions
179 + + config: set up config_source for command-line config
180 + + git_config_parse_parameter: refactor cleanup code
181 + + git_config_with_options: drop "found" counting
182 +
183 + "upload-pack" allows a custom "git pack-objects" replacement when
184 + responding to "fetch/clone" via the uploadpack.packObjectsHook.
185 +
186 +
187 +* js/mingw-parameter-less-c-functions (2016-06-20) 1 commit
188 + (merged to 'next' on 2016-06-28 at e673c65)
189 + + mingw: let the build succeed with DEVELOPER=1
190 +
191 + Some platform-specific code had non-ANSI strict declarations of C
192 + functions that do not take any parameters, which has been
193 + corrected.
194 +
195 +
196 +* js/perf-on-apple (2016-06-21) 1 commit
197 + (merged to 'next' on 2016-06-28 at 83529b9)
198 + + perf: accommodate for MacOSX
199 +
200 + t/perf needs /usr/bin/time with GNU extension; the invocation of it
201 + is updated to "gtime" on Darwin.
202 +
203 +
204 +* km/fetch-do-not-free-remote-name (2016-06-14) 1 commit
205 + (merged to 'next' on 2016-06-27 at 4bc34c4)
206 + + builtin/fetch.c: don't free remote->name after fetch
207 +
208 + The ownership rule for the piece of memory that hold references to
209 + be fetched in "git fetch" was screwy, which has been cleaned up.
210 +
211 +
212 +* lc/shell-default-value-noexpand (2016-06-19) 1 commit
213 + (merged to 'next' on 2016-06-28 at 2dc7727)
214 + + sh-setup: enclose setting of ${VAR=default} in double-quotes
215 +
216 + Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
217 + to set the default value, without enclosing it in double quotes.
218 +
219 +
220 +* lf/sideband-returns-void (2016-06-16) 2 commits
221 + (merged to 'next' on 2016-06-27 at 558c781)
222 + + upload-pack.c: make send_client_data() return void
223 + + sideband.c: make send_sideband() return void
224 +
225 + A small internal API cleanup.
226 +
227 +
228 +* mg/signature-doc (2016-06-17) 4 commits
229 + (merged to 'next' on 2016-06-28 at 2732a37)
230 + + Documentation/technical: signed merge tag format
231 + + Documentation/technical: signed commit format
232 + + Documentation/technical: signed tag format
233 + + Documentation/technical: describe signature formats
234 +
235 + Formats of the various data (and how to validate them) where we use
236 + GPG signature have been documented.
237 +
238 +
239 +* nd/graph-width-padded (2016-06-16) 2 commits
240 + (merged to 'next' on 2016-06-28 at 0f733ef)
241 + + pretty.c: support <direction>|(<negative number>) forms
242 + + pretty: pass graph width to pretty formatting for use in '%>|(N)'
243 +
244 + "log --graph --format=" learned that "%>|(N)" specifies the width
245 + relative to the terminal's left edge, not relative to the area to
246 + draw text that is to the right of the ancestry-graph section. It
247 + also now accepts negative N that means the column limit is relative
248 + to the right border.
249 +
250 +
251 +* nd/test-lib-httpd-show-error-log-in-verbose (2016-06-13) 1 commit
252 + (merged to 'next' on 2016-06-27 at 9793d81)
253 + + lib-httpd.sh: print error.log on error
254 +
255 + HTTPd tests learned to show the server error log to help diagnosing
256 + a failing tests.
257 +
258 +
259 +* nd/worktree-cleanup-post-head-protection (2016-05-24) 6 commits
260 + (merged to 'next' on 2016-06-28 at 55414fa)
261 + + worktree: simplify prefixing paths
262 + + worktree: avoid 0{40}, too many zeroes, hard to read
263 + + worktree.c: use is_dot_or_dotdot()
264 + + git-worktree.txt: keep subcommand listing in alphabetical order
265 + + worktree.c: rewrite mark_current_worktree() to avoid strbuf
266 + + completion: support git-worktree
267 + (this branch is used by nd/worktree-lock.)
268 +
269 + Further preparatory clean-up for "worktree" feature continues.
270 +
271 +
272 +* pb/commit-editmsg-path (2016-06-09) 1 commit
273 + (merged to 'next' on 2016-06-27 at 0f01ce1)
274 + + builtin/commit.c: memoize git-path for COMMIT_EDITMSG
275 +
276 + Code clean-up.
277 +
278 +
279 +* sb/clone-shallow-passthru (2016-06-20) 1 commit
280 + (merged to 'next' on 2016-06-28 at d515d7d)
281 + + clone: do not let --depth imply --shallow-submodules
282 + (this branch is used by sb/t5614-modernize.)
283 +
284 + Fix an unintended regression in v2.9 that breaks "clone --depth"
285 + that recurses down to submodules by forcing the submodules to also
286 + be cloned shallowly, which many server instances that host upstream
287 + of the submodules are not prepared for.
288 +
289 +
290 +* sb/t5614-modernize (2016-06-21) 1 commit
291 + (merged to 'next' on 2016-06-28 at ee05326)
292 + + t5614: don't use subshells
293 + (this branch uses sb/clone-shallow-passthru.)
294 +
295 + Test clean-up.
296 +
297 --------------------------------------------------
298 [New Topics]
299
26 -* jk/common-main (2016-07-01) 1 commit
27 - - Merge branch 'jk/common-main-2.8' into jk/common-main
28 - (this branch uses jk/common-main-2.8.)
300 +* ak/lazy-prereq-mktemp (2016-07-06) 1 commit
301 + - t7610: test for mktemp before test execution
302
303 + A test that unconditionally used "mktemp" learned that the command
304 + is not necessarily available everywhere.
305
31 -* jk/common-main-2.8 (2016-07-01) 5 commits
32 - - common-main: call git_setup_gettext()
33 - - common-main: call restore_sigpipe_to_default()
34 - - common-main: call sanitize_stdfds()
35 - - common-main: call git_extract_argv0_path()
36 - - add an extra level of indirection to main()
37 - (this branch is used by jk/common-main.)
306 + Will merge to 'next'.
307
39 - There are certain house-keeping tasks that need to be performed at
40 - the very beginning of any Git program, and programs that are not
41 - built-in commands had to do them exactly the same way as "git"
42 - potty does. It was easy to make mistakes in one-off standalone
43 - programs (like test helpers). A common "main()" function that
44 - calls cmd_main() of individual program has been introduced to
45 - make it harder to make mistakes.
308
309 +* ew/svn-bad-ref (2016-07-06) 1 commit
310 + - git-svn: warn instead of dying when commit data is missing
311
48 -* nd/ita-cleanup (2016-07-01) 3 commits
49 - - grep: fix grepping for "intent to add" files
50 - - t7810-grep.sh: fix a whitespace inconsistency
51 - - t7810-grep.sh: fix duplicated test name
312 + An earlier update to "git svn" tightened the parsing of refs given
313 + as the command line arguments too much. This has been fixed by
314 + loosening the check a bit.
315 +
316 + I'm likely to discard this, favouring a direct pull request from
317 + the subsystem maintainer directly going to 'master'.
318 +
319 +
320 +* jk/difftool-in-subdir (2016-07-06) 1 commit
321 + - difftool: fix argument handling in subdirs
322 +
323 + "git difftool <paths>..." started in a subdirectory failed to
324 + interpret the paths relative to that directory, which has been
325 + fixed.
326 +
327 + Waiting for an ack.
328
53 - Git does not know what the contents in the index should be for a
54 - path added with "git add -N" yet, so "git grep --cached" should not
55 - show hits (or show lack of hits, with -L) in such a path. But we
56 - did by mistake, which has been corrected.
329 +
330 +* nd/test-helpers (2016-07-06) 2 commits
331 + - Makefile: use VCSSVN_LIB to refer to svn library
332 + - Makefile: drop extra dependencies for test helpers
333 +
334 + Build clean-up.
335 +
336 + Will merge to 'next'.
337
338 --------------------------------------------------
339 [Stalled]
340
61 -* jh/clean-smudge-annex (2016-06-22) 10 commits
341 +* jh/clean-smudge-annex (2016-07-06) 10 commits
342 - SQUASH???
343 - use smudgeToFile filter in recursive merge
344 - use smudgeToFile filter in git am
@@ -78,17 +358,9 @@ of the repositories listed at
358 the filesystem directly.
359
360
81 -* dk/blame-move-no-reason-for-1-line-context (2016-05-29) 1 commit
82 - - blame: require 0 context lines while finding moved lines with -M
83 -
84 - "git blame -M" missed a single line that was moved within the file.
85 -
86 - We may want to squash a test or two to this commit. Volunteers?
87 -
88 -
89 -* tb/convert-peek-in-index (2016-06-07) 3 commits
90 - - correct ce_compare_data() in a middle of a merge
361 +* tb/convert-peek-in-index (2016-07-06) 3 commits
362 - read-cache: factor out get_sha1_from_index() helper
363 + - correct ce_compare_data() in a middle of a merge
364 - convert: unify the "auto" handling of CRLF
365 (this branch is used by jh/clean-smudge-annex.)
366
@@ -193,6 +465,56 @@ of the repositories listed at
465 --------------------------------------------------
466 [Cooking]
467
468 +* dk/blame-move-no-reason-for-1-line-context (2016-05-29) 1 commit
469 + (merged to 'next' on 2016-07-06 at 087490c)
470 + + blame: require 0 context lines while finding moved lines with -M
471 +
472 + "git blame -M" missed a single line that was moved within the file.
473 +
474 + We may want to squash a test or two to this commit. Volunteers?
475 +
476 +
477 +* jk/common-main (2016-07-06) 1 commit
478 + - Merge branch 'jk/common-main-2.8' into jk/common-main
479 + (this branch uses jk/common-main-2.8.)
480 +
481 + Prepare jk/commin-main-2.8 topic to be mergeable to 2.9 and later.
482 +
483 + Will merge to 'master'.
484 +
485 +
486 +* jk/common-main-2.8 (2016-07-06) 6 commits
487 + - mingw: declare main()'s argv as const
488 + - common-main: call git_setup_gettext()
489 + - common-main: call restore_sigpipe_to_default()
490 + - common-main: call sanitize_stdfds()
491 + - common-main: call git_extract_argv0_path()
492 + - add an extra level of indirection to main()
493 + (this branch is used by jk/common-main.)
494 +
495 + There are certain house-keeping tasks that need to be performed at
496 + the very beginning of any Git program, and programs that are not
497 + built-in commands had to do them exactly the same way as "git"
498 + potty does. It was easy to make mistakes in one-off standalone
499 + programs (like test helpers). A common "main()" function that
500 + calls cmd_main() of individual program has been introduced to
501 + make it harder to make mistakes.
502 +
503 +
504 +* nd/ita-cleanup (2016-07-01) 3 commits
505 + (merged to 'next' on 2016-07-06 at f15aeba)
506 + + grep: fix grepping for "intent to add" files
507 + + t7810-grep.sh: fix a whitespace inconsistency
508 + + t7810-grep.sh: fix duplicated test name
509 +
510 + Git does not know what the contents in the index should be for a
511 + path added with "git add -N" yet, so "git grep --cached" should not
512 + show hits (or show lack of hits, with -L) in such a path. But we
513 + did by mistake, which has been corrected.
514 +
515 + Will merge to 'master'.
516 +
517 +
518 * cc/apply-am (2016-06-28) 41 commits
519 - apply: use error_errno() where possible
520 - builtin/am: use apply api in run_apply()
@@ -263,19 +585,23 @@ of the repositories listed at
585
586
587 * js/sign-empty-commit-fix (2016-06-29) 1 commit
266 - - commit -S: avoid invalid pointer with empty message
588 + (merged to 'next' on 2016-07-06 at 448da1b)
589 + + commit -S: avoid invalid pointer with empty message
590
591 "git commit --amend --allow-empty-message -S" for a commit without
592 any message body could have misidentified where the header of the
593 commit object ends.
594
272 - Will merge to 'next'.
595 + Will merge to 'master'.
596
597
598 * js/t3404-grammo-fix (2016-06-29) 1 commit
276 - - t3404: fix a grammo (commands are ran -> commands are run)
599 + (merged to 'next' on 2016-07-06 at 4378654)
600 + + t3404: fix a grammo (commands are ran -> commands are run)
601
278 - Will merge to 'next'.
602 + Grammofix.
603 +
604 + Will merge to 'master'.
605
606
607 * ls/p4-tmp-refs (2016-06-29) 1 commit
@@ -298,24 +624,26 @@ of the repositories listed at
624
625
626 * ps/rebase-i-auto-unstash-upon-abort (2016-06-29) 1 commit
301 - - rebase -i: restore autostash on abort
627 + (merged to 'next' on 2016-07-06 at 0fdcedb)
628 + + rebase -i: restore autostash on abort
629
630 "git rebase -i --autostash" did not restore the auto-stashed change
631 when the operation was aborted.
632
306 - Will merge to 'next'.
633 + Will merge to 'master'.
634
635
636 * dg/subtree-rebase-test (2016-06-28) 1 commit
310 - - contrib/subtree: Add a test for subtree rebase that loses commits
637 + (merged to 'next' on 2016-07-06 at 4dec1ad)
638 + + contrib/subtree: Add a test for subtree rebase that loses commits
639
640 This is just a test to specify the desired behaviour that currently
641 is not available.
642
315 - Will merge to 'next'.
643 + Will merge to 'master'.
644
645
318 -* jk/test-match-signal (2016-06-24) 4 commits
646 +* jk/test-match-signal (2016-07-06) 4 commits
647 - t/lib-git-daemon: use test_match_signal
648 - test_must_fail: use test_match_signal
649 - t0005: use test_match_signal as appropriate
@@ -324,41 +652,46 @@ of the repositories listed at
652 The test framework learned a new helper test_match_signal to check
653 an exit code from getting killed by an expected signal.
654
327 - HOLD
328 - ($gmane/298523)
655 + Is this what everybody can agree on?
656
657
658 * ah/unpack-trees-advice-messages (2016-06-27) 1 commit
332 - - unpack-trees: fix English grammar in do-this-before-that messages
659 + (merged to 'next' on 2016-07-06 at 4254fc2)
660 + + unpack-trees: fix English grammar in do-this-before-that messages
661
334 - Will merge to 'next'.
662 + Grammofix.
663 +
664 + Will merge to 'master'.
665
666
667 * ew/gc-auto-pack-limit-fix (2016-06-27) 1 commit
338 - - gc: fix off-by-one error with gc.autoPackLimit
668 + (merged to 'next' on 2016-07-06 at aa023d3)
669 + + gc: fix off-by-one error with gc.autoPackLimit
670
671 "gc.autoPackLimit" when set to 1 should not trigger a repacking
672 when there is only one pack, but the code counted poorly and did
673 so.
674
344 - Will merge to 'next'.
675 + Will merge to 'master'.
676
677
347 -* nd/connect-ssh-command-config (2016-06-28) 2 commits
348 - - SQUASH???
349 - - connect: read $GIT_SSH_COMMAND from config file
678 +* nd/connect-ssh-command-config (2016-07-06) 1 commit
679 + (merged to 'next' on 2016-07-06 at 6eac316)
680 + + connect: read $GIT_SSH_COMMAND from config file
681
682 A new configuration variable core.sshCommand to specify what value
683 for GIT_SSH_COMMAND to use per repository.
684
354 - Is everybody happy with the SQUASH???
355 - If so will merge to 'next'.
685 + Will merge to 'master'.
686
687
688 * nd/doc-new-command (2016-06-27) 1 commit
359 - - new-command.txt: correct the command description file
689 + (merged to 'next' on 2016-07-06 at 1404b64)
690 + + new-command.txt: correct the command description file
691
361 - Will merge to 'next'.
692 + Typofix in a doc.
693 +
694 + Will merge to 'master'.
695
696
697 * po/range-doc (2016-07-01) 3 commits
@@ -377,33 +710,35 @@ of the repositories listed at
710
711
712 * sb/submodule-parallel-fetch (2016-06-27) 2 commits
380 - - xwrite: poll on non-blocking FDs
381 - - xread: retry after poll on EAGAIN/EWOULDBLOCK
713 + (merged to 'next' on 2016-07-06 at de5fd35)
714 + + xwrite: poll on non-blocking FDs
715 + + xread: retry after poll on EAGAIN/EWOULDBLOCK
716
717 Fix a recently introduced codepaths that are involved in parallel
718 submodule operations, which gave up on reading too early, and
719 could have wasted CPU while attempting to write under a corner case
720 condition.
721
388 - Will merge to 'next'.
722 + Will merge to 'master'.
723
724
725 * mm/doc-tt (2016-06-28) 7 commits
392 - - doc: typeset HEAD and variants as literal
393 - - CodingGuidelines: formatting HEAD in documentation
394 - - doc: typeset long options with argument as literal
395 - - doc: typeset '--' as literal
396 - - doc: typeset long command-line options as literal
397 - - doc: typeset short command-line options as literal
398 - - Documentation/git-mv.txt: fix whitespace indentation
726 + (merged to 'next' on 2016-07-06 at a8c74bd)
727 + + doc: typeset HEAD and variants as literal
728 + + CodingGuidelines: formatting HEAD in documentation
729 + + doc: typeset long options with argument as literal
730 + + doc: typeset '--' as literal
731 + + doc: typeset long command-line options as literal
732 + + doc: typeset short command-line options as literal
733 + + Documentation/git-mv.txt: fix whitespace indentation
734
735 More mark-up updates to typeset strings that are expected to
736 literally typed by the end user in fixed-width font.
737
403 - Will merge to 'next'.
738 + Will merge to 'master'.
739
740
406 -* nd/fetch-ref-summary (2016-06-27) 5 commits
741 +* nd/fetch-ref-summary (2016-07-06) 5 commits
742 - fetch: reduce duplicate in ref update status lines with placeholder
743 - fetch: align all "remote -> local" output
744 - fetch: change flag code for displaying tag update and deleted ref
@@ -413,68 +748,7 @@ of the repositories listed at
748 Improve the look of the way "git fetch" reports what happened to
749 each ref that was fetched.
750
416 - Still being discussed.
417 -
418 -
419 -* ak/t7800-wo-readlink (2016-06-21) 1 commit
420 - (merged to 'next' on 2016-06-28 at 403bbbb)
421 - + t7800: readlink may not be available
422 -
423 - One among four invocations of readlink(1) in our test suite has
424 - been rewritten so that the test can run on systems without the
425 - command (others are in valgrind test framework and t9802).
426 -
427 - Will merge to 'master'.
428 -
429 -
430 -* js/perf-on-apple (2016-06-21) 1 commit
431 - (merged to 'next' on 2016-06-28 at 83529b9)
432 - + perf: accommodate for MacOSX
433 -
434 - t/perf needs /usr/bin/time with GNU extension; the invocation of it
435 - is updated to "gtime" on Darwin.
436 -
437 - Will merge to 'master'.
438 -
439 -
440 -* sb/t5614-modernize (2016-06-21) 1 commit
441 - (merged to 'next' on 2016-06-28 at ee05326)
442 - + t5614: don't use subshells
443 - (this branch uses sb/clone-shallow-passthru.)
444 -
445 - Test clean-up.
446 -
447 - Will merge to 'master'.
448 -
449 -
450 -* ao/p4-has-branch-prefix-fix (2016-06-22) 1 commit
451 - (merged to 'next' on 2016-06-28 at 333f90d)
452 - + git-p4: correct hasBranchPrefix verbose output
453 -
454 - A bug, which caused "git p4" while running under verbose mode to
455 - report paths that are omitted due to branch prefix incorrectly, has
456 - been fixed; the command said "Ignoring file outside of prefix" for
457 - paths that are _inside_.
458 -
459 - Will merge to 'master'.
460 -
461 -
462 -* cb/t7810-test-label-fix (2016-06-21) 1 commit
463 - (merged to 'next' on 2016-06-28 at 4d85a00)
464 - + t7810: fix duplicated test title
465 -
466 - Test clean-up.
467 -
468 - Will merge to 'master'.
469 -
470 -
471 -* jc/t2300-setup (2016-06-22) 1 commit
472 - (merged to 'next' on 2016-06-28 at 62b902a)
473 - + t2300: "git --exec-path" is not usable in $PATH on Windows as-is
474 -
475 - Portability fix for Windows.
476 -
477 - Will merge to 'master'.
751 + Will merge to 'next'.
752
753
754 * jk/perf-any-version (2016-06-22) 2 commits
@@ -545,44 +819,17 @@ of the repositories listed at
819 "git grep -i" has been taught to fold case in non-ascii locales
820 correctly.
821
548 - Will merge to 'next'.
549 -
550 -
551 -* mj/log-show-signature-conf (2016-06-24) 3 commits
552 - (merged to 'next' on 2016-06-28 at c8b3347)
553 - + log: add log.showSignature configuration variable
554 - + log: add "--no-show-signature" command line option
555 - + t4202: refactor test
556 -
557 - "git log" learns log.showSignature configuration variable, and a
558 - command line option "--no-show-signature" to countermand it.
559 -
560 - Will merge to 'master'.
561 -
562 -
563 -* mg/signature-doc (2016-06-17) 4 commits
564 - (merged to 'next' on 2016-06-28 at 2732a37)
565 - + Documentation/technical: signed merge tag format
566 - + Documentation/technical: signed commit format
567 - + Documentation/technical: signed tag format
568 - + Documentation/technical: describe signature formats
569 -
570 - Formats of the various data (and how to validate them) where we use
571 - GPG signature have been documented.
572 -
573 - Will merge to 'master'.
822 + Will merge to 'next'.
823
824
576 -* jk/string-list-static-init (2016-06-13) 2 commits
577 - (merged to 'next' on 2016-06-27 at 3d4b2fa)
578 - + use string_list initializer consistently
579 - + Merge branch 'jk/parseopt-string-list' into jk/string-list-static-init
580 - (this branch uses jk/parseopt-string-list.)
825 +* mj/log-show-signature-conf (2016-06-24) 3 commits
826 + (merged to 'next' on 2016-06-28 at c8b3347)
827 + + log: add log.showSignature configuration variable
828 + + log: add "--no-show-signature" command line option
829 + + t4202: refactor test
830
582 - Instead of taking advantage of a struct string_list that is
583 - allocated with all NULs happens to be STRING_LIST_INIT_NODUP kind,
584 - initialize them explicitly as such, to document their behaviour
585 - better.
831 + "git log" learns log.showSignature configuration variable, and a
832 + command line option "--no-show-signature" to countermand it.
833
834 Will merge to 'master'.
835
@@ -651,29 +898,6 @@ of the repositories listed at
898 If so, will merge to 'next'.
899
900
654 -* lc/shell-default-value-noexpand (2016-06-19) 1 commit
655 - (merged to 'next' on 2016-06-28 at 2dc7727)
656 - + sh-setup: enclose setting of ${VAR=default} in double-quotes
657 -
658 - Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
659 - to set the default value, without enclosing it in double quotes.
660 -
661 - Will merge to 'master'.
662 -
663 -
664 -* sb/clone-shallow-passthru (2016-06-20) 1 commit
665 - (merged to 'next' on 2016-06-28 at d515d7d)
666 - + clone: do not let --depth imply --shallow-submodules
667 - (this branch is used by sb/t5614-modernize.)
668 -
669 - Fix an unintended regression in v2.9 that breaks "clone --depth"
670 - that recurses down to submodules by forcing the submodules to also
671 - be cloned shallowly, which many server instances that host upstream
672 - of the submodules are not prepared for.
673 -
674 - Will merge to 'master'.
675 -
676 -
901 * js/find-commit-subject-ignore-leading-blanks (2016-06-29) 5 commits
902 (merged to 'next' on 2016-06-29 at 9717e00)
903 + reset --hard: skip blank lines when reporting the commit subject
@@ -692,17 +916,18 @@ of the repositories listed at
916
917
918 * js/log-to-diffopt-file (2016-06-28) 11 commits
695 - - diff: do not color output when --color=auto and --output=<file> is given
696 - - t4211: ensure that log respects --output=<file>
697 - - shortlog: respect the --output=<file> setting
698 - - format-patch: use stdout directly
699 - - format-patch: avoid freopen()
700 - - format-patch: explicitly switch off color when writing to files
701 - - shortlog: support outputting to streams other than stdout
702 - - graph: respect the diffopt.file setting
703 - - line-log: respect diffopt's configured output file stream
704 - - log-tree: respect diffopt's configured output file stream
705 - - log: prepare log/log-tree to reuse the diffopt.close_file attribute
919 + (merged to 'next' on 2016-07-06 at 39e7a5f)
920 + + diff: do not color output when --color=auto and --output=<file> is given
921 + + t4211: ensure that log respects --output=<file>
922 + + shortlog: respect the --output=<file> setting
923 + + format-patch: use stdout directly
924 + + format-patch: avoid freopen()
925 + + format-patch: explicitly switch off color when writing to files
926 + + shortlog: support outputting to streams other than stdout
927 + + graph: respect the diffopt.file setting
928 + + line-log: respect diffopt's configured output file stream
929 + + log-tree: respect diffopt's configured output file stream
930 + + log: prepare log/log-tree to reuse the diffopt.close_file attribute
931
932 The commands in the "log/diff" family had an FILE* pointer in the
933 data structure they pass around for a long time, but some codepaths
@@ -711,177 +936,50 @@ of the repositories listed at
936 codepaths have been updated to consistently write into that FILE*
937 instead.
938
714 - Will merge to 'next'.
715 -
716 -
717 -* js/mingw-parameter-less-c-functions (2016-06-20) 1 commit
718 - (merged to 'next' on 2016-06-28 at e673c65)
719 - + mingw: let the build succeed with DEVELOPER=1
720 -
721 - Some platform-specific code had non-ANSI strict declarations of C
722 - functions that do not take any parameters, which has been
723 - corrected.
724 -
939 Will merge to 'master'.
940
941
942 * bc/cocci (2016-06-28) 11 commits
729 - - diff: convert prep_temp_blob() to struct object_id
730 - - merge-recursive: convert merge_recursive_generic() to object_id
731 - - merge-recursive: convert leaf functions to use struct object_id
732 - - merge-recursive: convert struct merge_file_info to object_id
733 - - merge-recursive: convert struct stage_data to use object_id
734 - - diff: rename struct diff_filespec's sha1_valid member
735 - - diff: convert struct diff_filespec to struct object_id
736 - - coccinelle: apply object_id Coccinelle transformations
737 - - coccinelle: convert hashcpy() with null_sha1 to hashclr()
738 - - contrib/coccinelle: add basic Coccinelle transforms
739 - - hex: add oid_to_hex_r()
943 + (merged to 'next' on 2016-07-06 at f2e8e2a)
944 + + diff: convert prep_temp_blob() to struct object_id
945 + + merge-recursive: convert merge_recursive_generic() to object_id
946 + + merge-recursive: convert leaf functions to use struct object_id
947 + + merge-recursive: convert struct merge_file_info to object_id
948 + + merge-recursive: convert struct stage_data to use object_id
949 + + diff: rename struct diff_filespec's sha1_valid member
950 + + diff: convert struct diff_filespec to struct object_id
951 + + coccinelle: apply object_id Coccinelle transformations
952 + + coccinelle: convert hashcpy() with null_sha1 to hashclr()
953 + + contrib/coccinelle: add basic Coccinelle transforms
954 + + hex: add oid_to_hex_r()
955
956 Conversion from unsigned char sha1[20] to struct object_id
957 continues.
958
744 - Needs review.
745 -
746 -
747 -* jk/tzoffset-fix (2016-06-20) 3 commits
748 - (merged to 'next' on 2016-06-28 at 08ec8c5)
749 - + local_tzoffset: detect errors from tm_to_time_t
750 - + t0006: test various date formats
751 - + t0006: rename test-date's "show" to "relative"
752 -
753 - The internal code used to show local timezone offset is not
754 - prepared to handle timestamps beyond year 2100, and gave a
755 - bogus offset value to the caller. Use a more benign looking
756 - +0000 instead and let "git log" going in such a case, instead
757 - of aborting.
758 -
759 - Will merge to 'master'.
760 -
761 -
762 -* jk/add-i-diff-compact-heuristics (2016-06-16) 1 commit
763 - (merged to 'next' on 2016-06-27 at 568f892)
764 - + add--interactive: respect diff.compactionHeuristic
765 -
766 - "git add -i/-p" learned to honor diff.compactionHeuristic
767 - experimental knob, so that the user can work on the same hunk split
768 - as "git diff" output.
769 -
770 - Will merge to 'master'.
959 + Will cook a bit in 'next' and then merge to 'master'.
960
961
962 * jk/big-and-future-archive-tar (2016-07-01) 5 commits
774 - - archive-tar: drop return value
775 - - archive-tar: write extended headers for far-future mtime
776 - - archive-tar: write extended headers for file sizes >= 8GB
777 - - t5000: test tar files that overflow ustar headers
778 - - t9300: factor out portable "head -c" replacement
963 + (merged to 'next' on 2016-07-06 at 89f3835)
964 + + archive-tar: drop return value
965 + + archive-tar: write extended headers for far-future mtime
966 + + archive-tar: write extended headers for file sizes >= 8GB
967 + + t5000: test tar files that overflow ustar headers
968 + + t9300: factor out portable "head -c" replacement
969
970 "git archive" learned to handle files that are larger than 8GB and
971 commits far in the future than expressible by the traditional US-TAR
972 format.
973
784 - Will merge to 'next'.
785 -
786 -
787 -* jk/gpg-interface-cleanup (2016-06-17) 7 commits
788 - (merged to 'next' on 2016-06-28 at eed3498)
789 - + gpg-interface: check gpg signature creation status
790 - + sign_buffer: use pipe_command
791 - + verify_signed_buffer: use pipe_command
792 - + run-command: add pipe_command helper
793 - + verify_signed_buffer: use tempfile object
794 - + verify_signed_buffer: drop pbuf variable
795 - + gpg-interface: use child_process.args
796 -
797 - A new run-command API function pipe_command() is introduced to
798 - sanely feed data to the standard input while capturing data from
799 - the standard output and the standard error of an external process,
800 - which is cumbersome to hand-roll correctly without deadlocking.
801 -
802 - The codepath to sign data in a prepared buffer with GPG has been
803 - updated to use this API to read from the status-fd to check for
804 - errors (instead of relying on GPG's exit status).
805 -
806 - Will merge to 'master'.
807 -
808 -
809 -* lf/sideband-returns-void (2016-06-16) 2 commits
810 - (merged to 'next' on 2016-06-27 at 558c781)
811 - + upload-pack.c: make send_client_data() return void
812 - + sideband.c: make send_sideband() return void
813 -
814 - A small internal API cleanup.
815 -
816 - Will merge to 'master'.
817 -
818 -
819 -* nd/graph-width-padded (2016-06-16) 2 commits
820 - (merged to 'next' on 2016-06-28 at 0f733ef)
821 - + pretty.c: support <direction>|(<negative number>) forms
822 - + pretty: pass graph width to pretty formatting for use in '%>|(N)'
823 -
824 - "log --graph --format=" learned that "%>|(N)" specifies the width
825 - relative to the terminal's left edge, not relative to the area to
826 - draw text that is to the right of the ancestry-graph section. It
827 - also now accepts negative N that means the column limit is relative
828 - to the right border.
829 -
830 - Will merge to 'master'.
831 -
832 -
833 -* jk/bisect-show-tree (2016-06-16) 1 commit
834 - (merged to 'next' on 2016-06-27 at 6970f87e)
835 - + bisect: always call setup_revisions after init_revisions
836 -
837 - "git bisect" makes an internal call to "git diff-tree" when
838 - bisection finds the culprit, but this call did not initialize the
839 - data structure to pass to the diff-tree API correctly.
840 -
841 - Will merge to 'master'.
842 -
843 -
844 -* jk/parseopt-string-list (2016-06-13) 3 commits
845 - (merged to 'next' on 2016-06-27 at 27462e6)
846 - + blame,shortlog: don't make local option variables static
847 - + interpret-trailers: don't duplicate option strings
848 - + parse_opt_string_list: stop allocating new strings
849 - (this branch is used by jk/string-list-static-init.)
850 -
851 - The command line argument parsing that uses OPT_STRING_LIST() often
852 - made a copy of the argv[] element, which was unnecessary.
853 -
854 - Will merge to 'master'.
855 -
856 -
857 -* jk/repack-keep-unreachable (2016-06-14) 3 commits
858 - (merged to 'next' on 2016-06-28 at 802b849)
859 - + repack: extend --keep-unreachable to loose objects
860 - + repack: add --keep-unreachable option
861 - + repack: document --unpack-unreachable option
862 -
863 - "git repack" learned the "--keep-unreachable" option, which sends
864 - loose unreachable objects to a pack instead of leaving them loose.
865 - This helps heuristics based on the number of loose objects
866 - (e.g. "gc --auto").
867 -
974 Will merge to 'master'.
975
976
871 -* lf/recv-sideband-cleanup (2016-07-01) 1 commit
872 - - sideband.c: refactor recv_sideband()
873 -
874 - Code simplification. It however seems to add unnecessary trailing
875 - output in some cases.
876 -
877 - Will merge to 'next'.
878 -
879 -
880 -* nd/test-lib-httpd-show-error-log-in-verbose (2016-06-13) 1 commit
881 - (merged to 'next' on 2016-06-27 at 9793d81)
882 - + lib-httpd.sh: print error.log on error
977 +* lf/recv-sideband-cleanup (2016-07-06) 2 commits
978 + (merged to 'next' on 2016-07-06 at d527bcb)
979 + + sideband.c: small optimization of strbuf usage
980 + + sideband.c: refactor recv_sideband()
981
884 - Debugging aid.
982 + Code simplification.
983
984 Will merge to 'master'.
985
@@ -910,16 +1008,6 @@ of the repositories listed at
1008 Any supporters? Otherwise will drop.
1009
1010
913 -* km/fetch-do-not-free-remote-name (2016-06-14) 1 commit
914 - (merged to 'next' on 2016-06-27 at 4bc34c4)
915 - + builtin/fetch.c: don't free remote->name after fetch
916 -
917 - The ownership rule for the piece of memory that hold references to
918 - be fetched in "git fetch" was screwy, which has been cleaned up.
919 -
920 - Will merge to 'master'.
921 -
922 -
1011 * nd/shallow-deepen (2016-06-13) 27 commits
1012 - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
1013 - upload-pack: add get_reachable_list()
@@ -963,25 +1051,6 @@ of the repositories listed at
1051 would think.
1052
1053
966 -* jk/send-pack-stdio (2016-06-10) 2 commits
967 - (merged to 'next' on 2016-06-27 at 2cfb0ff)
968 - + write_or_die: remove the unused write_or_whine() function
969 - + send-pack: use buffered I/O to talk to pack-objects
970 -
971 - Code clean-up.
972 -
973 - Will merge to 'master'.
974 -
975 -
976 -* pb/commit-editmsg-path (2016-06-09) 1 commit
977 - (merged to 'next' on 2016-06-27 at 0f01ce1)
978 - + builtin/commit.c: memoize git-path for COMMIT_EDITMSG
979 -
980 - Code clean-up.
981 -
982 - Will merge to 'master'.
983 -
984 -
1054 * jc/attr-more (2016-06-09) 8 commits
1055 - attr.c: outline the future plans by heavily commenting
1056 - attr.c: always pass check[] to collect_some_attrs()
@@ -1022,19 +1091,6 @@ of the repositories listed at
1091 If so, will merge to 'next'.
1092
1093
1025 -* ew/mboxrd-format-am (2016-06-06) 3 commits
1026 - (merged to 'next' on 2016-06-28 at ee0a088)
1027 - + am: support --patch-format=mboxrd
1028 - + mailsplit: support unescaping mboxrd messages
1029 - + pretty: support "mboxrd" output format
1030 -
1031 - Teach format-patch and mailsplit (hence "am") how a line that
1032 - happens to begin with "From " in the e-mail message is quoted with
1033 - ">", so that these lines can be restored to their original shape.
1034 -
1035 - Will merge to 'master'.
1036 -
1037 -
1094 * mh/connect (2016-06-06) 10 commits
1095 - connect: [host:port] is legacy for ssh
1096 - connect: move ssh command line preparation to a separate function
@@ -1113,7 +1169,6 @@ of the repositories listed at
1169 - worktree.c: add is_worktree_locked()
1170 - worktree.c: add is_main_worktree()
1171 - worktree.c: add find_worktree()
1116 - (this branch uses nd/worktree-cleanup-post-head-protection.)
1172
1173 "git worktree prune" protected worktrees that are marked as
1174 "locked" by creating a file in a known location. "git worktree"
@@ -1123,22 +1178,6 @@ of the repositories listed at
1178 Need to squash one fixup before merging to 'next'.
1179
1180
1126 -* jk/upload-pack-hook (2016-06-02) 7 commits
1127 - (merged to 'next' on 2016-06-28 at e5e5bb6)
1128 - + upload-pack: provide a hook for running pack-objects
1129 - + t1308: do not get fooled by symbolic links to the source tree
1130 - + config: add a notion of "scope"
1131 - + config: return configset value for current_config_ functions
1132 - + config: set up config_source for command-line config
1133 - + git_config_parse_parameter: refactor cleanup code
1134 - + git_config_with_options: drop "found" counting
1135 -
1136 - Allow a custom "git upload-pack" replacement to respond to
1137 - "fetch/clone" request.
1138 -
1139 - Will merge to 'master'.
1140 -
1141 -
1181 * sb/submodule-default-paths (2016-06-20) 5 commits
1182 - completion: clone can recurse into submodules
1183 - clone: add --init-submodule=<pathspec> switch
@@ -1151,17 +1190,6 @@ of the repositories listed at
1190 the command line of "git clone" that clones the superproject.
1191
1192
1154 -* ep/http-curl-trace (2016-05-24) 2 commits
1155 - (merged to 'next' on 2016-06-27 at c290515)
1156 - + imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
1157 - + http.c: implement the GIT_TRACE_CURL environment variable
1158 -
1159 - HTTP transport gained an option to produce more detailed debugging
1160 - trace.
1161 -
1162 - Will merge to 'master'.
1163 -
1164 -
1193 * jc/attr (2016-05-25) 18 commits
1194 - attr: support quoting pathname patterns in C style
1195 - attr: expose validity check for attribute names
@@ -1223,21 +1251,6 @@ of the repositories listed at
1251 not thread-ready.
1252
1253
1226 -* nd/worktree-cleanup-post-head-protection (2016-05-24) 6 commits
1227 - (merged to 'next' on 2016-06-28 at 55414fa)
1228 - + worktree: simplify prefixing paths
1229 - + worktree: avoid 0{40}, too many zeroes, hard to read
1230 - + worktree.c: use is_dot_or_dotdot()
1231 - + git-worktree.txt: keep subcommand listing in alphabetical order
1232 - + worktree.c: rewrite mark_current_worktree() to avoid strbuf
1233 - + completion: support git-worktree
1234 - (this branch is used by nd/worktree-lock.)
1235 -
1236 - Further preparatory clean-up for "worktree" feature.
1237 -
1238 - Will merge to 'master'.
1239 -
1240 -
1254 * mh/split-under-lock (2016-06-13) 33 commits
1255 - lock_ref_sha1_basic(): only handle REF_NODEREF mode
1256 - commit_ref_update(): remove the flags parameter
@@ -1321,9 +1334,8 @@ of the repositories listed at
1334 This also really needs review.
1335
1336
1324 -* dt/index-helper (2016-06-27) 21 commits
1325 - - unix-socket.c: add stub implementation when unix sockets are not supported
1326 - - index-helper: indexhelper.exitafter config
1337 +* dt/index-helper (2016-07-06) 21 commits
1338 + - index-helper: indexhelper.exitAfter config
1339 - trace: measure where the time is spent in the index-heavy operations
1340 - index-helper: optionally automatically run
1341 - index-helper: autorun mode
@@ -1340,6 +1352,7 @@ of the repositories listed at
1352 - daemonize(): set a flag before exiting the main process
1353 - index-helper: add --strict
1354 - index-helper: new daemon for caching index and related stuff
1355 + - unix-socket.c: add stub implementation when unix sockets are not supported
1356 - pkt-line: add gentle version of packet_write
1357 - read-cache: allow to keep mmap'd memory after reading
1358 - read-cache.c: fix constness of verify_hdr()
@@ -1349,8 +1362,8 @@ of the repositories listed at
1362 optionally interface with the watchman daemon to further reduce the
1363 refresh cost.
1364
1352 - Expecting a reroll.
1353 - ($gmane/298331, $gmane/298319).
1365 + Is everybody happy with this version?
1366 + At v14.
1367
1368
1369 * jc/bundle (2016-03-03) 6 commits