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