What's cooking (2016/08 #04)

Junio C Hamano committed Aug 11, 2016 at 15:11 UTC 8800e191a80e338a195dd4178fe1496204a3c045
1 file changed +276 -438
whats-cooking.txt
+276 -438
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2016, #03; Mon, 8)
4 -X-master-at: a0a1831b034af10e5d5b37b99489a7558f9cc547
5 -X-next-at: 2eb946ae7c35488b71879c33eec3b14b822dee14
3 +Subject: What's cooking in git.git (Aug 2016, #04; Thu, 11)
4 +X-master-at: a42d7b6a5b5addcce01f483547ad96825c7a96e0
5 +X-next-at: 6810c6f841759a3ef9550927d6a884fffbc88cda
6
7 -What's cooking in git.git (Aug 2016, #03; Mon, 8)
7 +What's cooking in git.git (Aug 2016, #04; Thu, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,19 +12,9 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -Many topics in "Cooking" section without seeing activity have been
16 -moved to "Stalled" status and marked as "Will discard". This is
17 -unfortunate but with way many people wanting to throw random new
18 -topics while too few people able/willing to review them, it is
19 -inevitable.
20 -
21 -On the 'master' front, the individual commit count now exceeds 500
22 -since the last major release, and the early preview -rc0 is expected
23 -to happen at the end of the week.
24 -
15 The 'maint' branch has been accumulating enough material to make it
26 -the next maintenance release v2.9.3, which hopefully happen late
27 -this week.
16 +the next maintenance release v2.9.3, which hopefully happen very
17 +soon.
18
19 You can find the changes described here in the integration branches
20 of the repositories listed at
@@ -34,291 +24,169 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
37 -* ab/gitweb-link-html-escape (2016-08-01) 1 commit
38 - (merged to 'next' on 2016-08-03 at 44b6088)
39 - + gitweb: escape link body in format_ref_marker
40 -
41 - The characters in the label shown for tags/refs for commits in
42 - "gitweb" output are now properly escaped for proper HTML output.
43 -
44 -
45 -* cp/completion-clone-recurse-submodules (2016-07-27) 1 commit
46 - (merged to 'next' on 2016-08-03 at cbf0d94)
47 - + completion: add option '--recurse-submodules' to 'git clone'
48 -
49 -
50 -
51 -* da/subtree-modernize (2016-07-27) 2 commits
52 - (merged to 'next' on 2016-08-03 at 06ad015)
53 - + subtree: adjust function definitions to match CodingGuidelines
54 - + subtree: adjust style to match CodingGuidelines
55 -
56 - Style fixes for "git subtree" (in contrib/).
57 -
58 -
59 -* ew/build-time-pager-tweaks (2016-08-04) 1 commit
60 - (merged to 'next' on 2016-08-05 at 4f0b11b)
61 - + pager: move pager-specific setup into the build
62 -
63 - The build procedure learned PAGER_ENV knob that lists what default
64 - environment variable settings to export for popular pagers. This
65 - mechanism is used to tweak the default settings to MORE on FreeBSD.
66 -
67 -
68 -* ew/git-svn-http-tests (2016-07-25) 2 commits
69 - (merged to 'next' on 2016-08-03 at 2b23920)
70 - + git svn: migrate tests to use lib-httpd
71 - + t/t91*: do not say how to avoid the tests
72 -
73 - Tests for "git svn" have been taught to reuse the lib-httpd test
74 - infrastructure when testing the subversion integration that
75 - interacts with subversion repositories served over the http://
76 - protocol.
77 -
78 -
79 -* ib/t3700-add-chmod-x-updates (2016-08-01) 3 commits
80 - (merged to 'next' on 2016-08-03 at 1753346)
81 - + t3700: add a test_mode_in_index helper function
82 - + t3700: merge two tests into one
83 - + t3700: remove unwanted leftover files before running new tests
84 -
85 - The t3700 test about "add --chmod=-x" have been made a bit more
86 - robust and generally cleaned up.
87 -
88 -
89 -* jc/hashmap-doc-init (2016-08-02) 1 commit
90 - (merged to 'next' on 2016-08-05 at 2eb946a)
91 - + hashmap: clarify that hashmap_entry can safely be discarded
92 -
93 - The API documentation for hashmap was unclear if hashmap_entry
94 - can be safely discarded without any other consideration. State
95 - that it is safe to do so.
96 -
97 -
98 -* jh/clean-smudge-f-doc (2016-08-03) 1 commit
99 - (merged to 'next' on 2016-08-04 at c2fc8e6)
100 - + clarify %f documentation
101 -
102 - A minor documentation update.
103 -
104 - This was split out from a stalled jh/clean-smudge-annex topic
105 - before discarding it.
106 -
107 -
108 -* jk/difftool-in-subdir (2016-07-28) 3 commits
109 - (merged to 'next' on 2016-08-03 at 90f195a)
110 - + difftool: use Git::* functions instead of passing around state
111 - + difftool: avoid $GIT_DIR and $GIT_WORK_TREE
112 - + difftool: fix argument handling in subdirs
113 -
114 - "git difftool <paths>..." started in a subdirectory failed to
115 - interpret the paths relative to that directory, which has been
116 - fixed.
117 -
118 -
119 -* jk/pack-objects-optim (2016-07-29) 6 commits
120 - (merged to 'next' on 2016-08-03 at ad8caca)
121 - + pack-objects: compute local/ignore_pack_keep early
122 - + pack-objects: break out of want_object loop early
123 - + find_pack_entry: replace last_found_pack with MRU cache
124 - + add generic most-recently-used list
125 - + sha1_file: drop free_pack_by_name
126 - + t/perf: add tests for many-pack scenarios
127 - (this branch is used by jk/pack-objects-optim-mru and ks/pack-objects-bitmap.)
128 -
129 - "git pack-objects" has a few options that tell it not to pack
130 - objects found in certain packfiles, which require it to scan .idx
131 - files of all available packs. The codepaths involved in these
132 - operations have been optimized for a common case of not having any
133 - non-local pack and/or any .kept pack.
134 -
135 -
136 -* jk/parseopt-string-list (2016-08-03) 1 commit
137 - (merged to 'next' on 2016-08-04 at a7f0cd2)
138 - + blame: drop strdup of string literal
139 -
140 - A small memory leak in the command line parsing of "git blame"
141 - has been plugged.
142 -
143 -
144 -* jk/reflog-date (2016-07-27) 7 commits
145 - (merged to 'next' on 2016-08-03 at cd8e92b)
146 - + date: clarify --date=raw description
147 - + date: add "unix" format
148 - + date: document and test "raw-local" mode
149 - + doc/pretty-formats: explain shortening of %gd
150 - + doc/pretty-formats: describe index/time formats for %gd
151 - + doc/rev-list-options: explain "-g" output formats
152 - + doc/rev-list-options: clarify "commit@{Nth}" for "-g" option
153 -
154 - The reflog output format is documented better, and a new format
155 - --date=unix to report the seconds-since-epoch (without timezone)
156 - has been added.
27 +* cc/mailmap-tuxfamily (2016-08-08) 1 commit
28 + (merged to 'next' on 2016-08-10 at 5905fbf)
29 + + .mailmap: use Christian Couder's Tuxfamily address
30
31
159 -* jk/t4205-cleanup (2016-07-27) 2 commits
160 - (merged to 'next' on 2016-08-03 at ba9b594)
161 - + t4205: indent here documents
162 - + t4205: drop top-level &&-chaining
32 +* jk/completion-diff-submodule (2016-08-09) 1 commit
33 + (merged to 'next' on 2016-08-10 at 146ca11)
34 + + completion: add completion for --submodule=* diff option
35
164 - Test modernization.
36
37 +* jk/push-force-with-lease-creation (2016-08-04) 4 commits
38 + (merged to 'next' on 2016-08-04 at e42ce85)
39 + + t5533: make it pass on case-sensitive filesystems
40 + (merged to 'next' on 2016-08-03 at 475c080)
41 + + push: allow pushing new branches with --force-with-lease
42 + + push: add shorthand for --force-with-lease branch creation
43 + + Documentation/git-push: fix placeholder formatting
44
167 -* js/nedmalloc-gcc6-warnings (2016-08-05) 2 commits
168 - (merged to 'next' on 2016-08-05 at b31baa7)
169 - + nedmalloc: work around overzealous GCC 6 warning
170 - + nedmalloc: fix misleading indentation
171 -
172 - Squelch compiler warnings for netmalloc (in compat/) library.
173 -
174 -
175 -* js/rebase-i-progress-tidy (2016-07-28) 1 commit
176 - (merged to 'next' on 2016-08-03 at bb1b414)
177 - + rebase-interactive: trim leading whitespace from progress count
178 -
179 - Regression fix for an i18n topic already in 'master'.
180 -
181 -
182 -* js/t4130-rename-without-ino (2016-08-03) 1 commit
183 - (merged to 'next' on 2016-08-04 at 044fb33)
184 - + t4130: work around Windows limitation
185 -
186 - Windows port was failing some tests in t4130, due to the lack of
187 - inum in the returned values by its lstat(2) emulation.
188 -
189 - Will merge to 'maint'.
190 -
191 -
192 -* nd/fbsd-lazy-mtime (2016-08-04) 1 commit
193 - (merged to 'next' on 2016-08-05 at 7294870)
194 - + t7063: work around FreeBSD's lazy mtime update feature
195 -
196 - FreeBSD can lie when asked mtime of a directory, which made the
197 - untracked cache code to fall back to a slow-path, which in turn
198 - caused tests in t7063 to fail because it wanted to verify the
199 - behaviour of the fast-path.
200 -
201 -
202 -* nd/fetch-ref-summary (2016-07-26) 1 commit
203 - (merged to 'next' on 2016-08-03 at c045704)
204 - + t5510: skip tests under GETTEXT_POISON build
205 -
206 - Hotfix of a test in a topic that has already been merged to 'master'.
45 + "git push --force-with-lease" already had enough logic to allow
46 + ensuring that such a push results in creation of a ref (i.e. the
47 + receiving end did not have another push from sideways that would be
48 + discarded by our force-pushing), but didn't expose this possibility
49 + to the users. It does so now.
50
51
209 -* nd/log-decorate-color-head-arrow (2016-07-12) 1 commit
210 - (merged to 'next' on 2016-08-05 at a966c0e)
211 - + log: decorate HEAD -> branch with the same color for arrow and HEAD
52 +* jk/reset-ident-time-per-commit (2016-08-01) 1 commit
53 + (merged to 'next' on 2016-08-03 at 76d569c)
54 + + am: reset cached ident date for each patch
55
213 - An entry "git log --decorate" for the tip of the current branch is
214 - shown as "HEAD -> name" (where "name" is the name of the branch);
215 - paint the arrow in the same color as "HEAD", not in the color for
216 - commits.
56 + Not-so-recent rewrite of "git am" that started making internal
57 + calls into the commit machinery had an unintended regression, in
58 + that no matter how many seconds it took to apply many patches, the
59 + resulting committer timestamp for the resulting commits were all
60 + the same.
61
62
219 -* rs/st-mult (2016-08-01) 1 commit
220 - (merged to 'next' on 2016-08-03 at 5c6956a)
221 - + pass constants as first argument to st_mult()
63 +* js/am-3-merge-recursive-direct (2016-08-01) 16 commits
64 + (merged to 'next' on 2016-08-05 at dc1c9bb)
65 + + merge-recursive: flush output buffer even when erroring out
66 + + merge_trees(): ensure that the callers release output buffer
67 + + merge-recursive: offer an option to retain the output in 'obuf'
68 + + merge-recursive: write the commit title in one go
69 + + merge-recursive: flush output buffer before printing error messages
70 + + am -3: use merge_recursive() directly again
71 + + merge-recursive: switch to returning errors instead of dying
72 + + merge-recursive: handle return values indicating errors
73 + + merge-recursive: allow write_tree_from_memory() to error out
74 + + merge-recursive: avoid returning a wholesale struct
75 + + merge_recursive: abort properly upon errors
76 + + prepare the builtins for a libified merge_recursive()
77 + + merge-recursive: clarify code in was_tracked()
78 + + die(_("BUG")): avoid translating bug messages
79 + + die("bug"): report bugs consistently
80 + + t5520: verify that `pull --rebase` shows the helpful advice when failing
81
223 - Micro optimization of st_mult() facility used to check the integer
224 - overflow coming from multiplication to compute size of memory
225 - allocation.
82 + "git am -3" calls "git merge-recursive" when it needs to fall back
83 + to a three-way merge; this call has been turned into an internal
84 + subroutine call instead of spawning a separate subprocess.
85
86
228 -* rs/use-strbuf-addstr (2016-08-05) 2 commits
229 - (merged to 'next' on 2016-08-05 at 62d16d7)
230 - + use strbuf_addstr() instead of strbuf_addf() with "%s"
231 - (merged to 'next' on 2016-08-03 at 523422f)
232 - + use strbuf_addstr() for adding constant strings to a strbuf
87 +* js/commit-slab-decl-fix (2016-08-09) 2 commits
88 + (merged to 'next' on 2016-08-10 at 6675402)
89 + + commit-slab.h: avoid duplicated global static variables
90 + + config.c: avoid duplicated global static variables
91
92
235 -* sb/submodule-recommend-shallowness (2016-08-03) 1 commit
236 - (merged to 'next' on 2016-08-04 at 9f23a7e)
237 - + gitmodules: document shallow recommendation
93 +* jt/format-patch-from-config (2016-08-01) 1 commit
94 + (merged to 'next' on 2016-08-05 at 897e986)
95 + + format-patch: format.from gives the default for --from
96
239 - Doc update.
97 + "git format-patch" learned format.from configuration variable to
98 + specify the default settings for its "--from" option.
99
100
242 -* va/i18n (2016-07-28) 2 commits
243 - (merged to 'next' on 2016-08-03 at cf753d2)
244 - + i18n: config: unfold error messages marked for translation
245 - + i18n: notes: mark comment for translation
101 +* sb/submodule-update-dot-branch (2016-08-10) 8 commits
102 + (merged to 'next' on 2016-08-10 at 40ba945)
103 + + t7406: fix breakage on OSX
104 + (merged to 'next' on 2016-08-04 at 47bff41)
105 + + submodule update: allow '.' for branch value
106 + + submodule--helper: add remote-branch helper
107 + + submodule-config: keep configured branch around
108 + + submodule--helper: fix usage string for relative-path
109 + + submodule update: narrow scope of local variable
110 + + submodule update: respect depth in subsequent fetches
111 + + t7406: future proof tests with hard coded depth
112
247 - More i18n marking.
113 + A few updates to "git submodule update".
114
115 --------------------------------------------------
116 [New Topics]
117
252 -* jk/big-and-future-archive-tar (2016-08-06) 1 commit
253 - - archive-tar: make write_extended_header() void
254 -
255 - A small code clean-up.
256 -
257 - Will merge to 'next'.
258 -
118 +* sb/submodule-clone-retry (2016-08-09) 1 commit
119 + (merged to 'next' on 2016-08-11 at 4600b20)
120 + + submodule--helper: use parallel processor correctly
121
260 -* js/mv-dir-to-new-directory (2016-08-08) 1 commit
261 - - git mv: do not keep slash in `git mv dir non-existing-dir/`
122 + Fix-up to an error codepath in a topic already in 'master'.
123
263 - "git mv dir non-existing-dir/" did not work in some environments
264 - the same way as existing mainstream platforms. The code now moves
265 - "dir" to "non-existing-dir", without relying on rename("A", "B/")
266 - that strips the trailing slash of '/'.
124 + Will merge to 'master'.
125
268 - Will merge to 'next'.
126
127 +* vs/completion-branch-fully-spelled-d-m-r (2016-08-09) 1 commit
128 + (merged to 'next' on 2016-08-11 at a6f189c)
129 + + completion: complete --delete, --move, and --remotes for git branch
130
271 -* ks/pack-objects-bitmap (2016-08-08) 2 commits
272 - - pack-objects: use reachability bitmap index when generating non-stdout pack
273 - - pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
131 + Will merge to 'master'.
132
275 - Waiting for review discussion to settle.
276 - cf. <20160808185541.6433-1-kirr@nexedi.com>
277 - cf. <20160808181942.GD3995@teco.navytux.spb.ru>
133
134 +* vs/typofix (2016-08-11) 1 commit
135 + (merged to 'next' on 2016-08-11 at 435c418)
136 + + Spelling fixes
137
280 -* rs/child-process-init (2016-08-05) 1 commit
281 - - use CHILD_PROCESS_INIT to initialize automatic variables
138 + Will merge to 'master'.
139
283 - A small code clean-up.
140
285 - Will merge to 'next'.
141 +* va/i18n (2016-08-10) 3 commits
142 + (merged to 'next' on 2016-08-11 at d6e1422)
143 + + i18n: git-stash: mark messages for translation
144 + + i18n: archive: mark errors for translation
145 + + i18n: setup: mark error messages for translation
146
147 + Will merge to 'master'.
148
288 -* rs/merge-add-strategies-simplification (2016-08-05) 1 commit
289 - - merge: use string_list_split() in add_strategies()
149
291 - A small code clean-up.
150 +* ew/http-backend-batch-headers (2016-08-10) 1 commit
151 + (merged to 'next' on 2016-08-11 at 93476b4)
152 + + http-backend: buffer headers before sending
153
293 - Will merge to 'next'.
154 + The http-backend (the server-side component of smart-http
155 + transport) used to trickle the HTTP header one at a time. Now
156 + these write(2)s are batched.
157
158 + Will merge to 'master'.
159
296 -* rs/merge-recursive-string-list-init (2016-08-05) 1 commit
297 - - merge-recursive: use STRING_LIST_INIT_NODUP
160
299 - A small code clean-up.
161 +* ms/document-pack-window-memory-is-per-thread (2016-08-10) 1 commit
162 + (merged to 'next' on 2016-08-11 at 228e96d)
163 + + document git-repack interaction of pack.threads and pack.windowMemory
164
301 - Will merge to 'next'.
165 + Will merge to 'master'.
166
167
304 -* rs/use-strbuf-add-unique-abbrev (2016-08-06) 1 commit
305 - - use strbuf_add_unique_abbrev() for adding short hashes
168 +* jk/diff-submodule-diff-inline (2016-08-11) 5 commits
169 + - SQUASH??? clarify the if/{if/else} nesting
170 + - SQUASH???
171 + - diff: add SUBMODULE_DIFF format to display submodule diff
172 + - diff: add --line-prefix option for passing in a prefix
173 + - diff.c: remove output_prefix_length field
174
307 - A small code clean-up.
175 + The "git diff --submodule={short,log}" mechanism has been enhanced
176 + to allow "--submodule=diff" to show the patch between the submodule
177 + commits bound to the superproject.
178
309 - Will merge to 'next'.
179
180 +* jk/reduce-gc-aggressive-depth (2016-08-11) 1 commit
181 + (merged to 'next' on 2016-08-11 at 6810c6f)
182 + + gc: default aggressive depth to 50
183
312 -* sb/submodule-clone-rr (2016-08-06) 6 commits
313 - - clone: reference flag is used for submodules as well
314 - - submodule update: add super-reference flag
315 - - submodule--helper update-clone: allow multiple references
316 - - submodule--helper module-clone: allow multiple references
317 - - t7408: merge short tests, factor out testing method
318 - - t7408: modernize style
184 + "git gc --aggressive" used to limit the delta-chain length to 250,
185 + which is way too deep for gaining additional space savings and is
186 + detrimental for runtime performance. The limit has been reduced to
187 + 50.
188
320 - Waiting for review discussion to settle.
321 - cf. <20160806012318.17968-1-sbeller@google.com>
189 + Will hold to see if people scream.
190
191 --------------------------------------------------
192 [Stalled]
@@ -623,13 +491,93 @@ of the repositories listed at
491 --------------------------------------------------
492 [Cooking]
493
626 -* jh/status-v2-porcelain (2016-08-05) 10 commits
494 +* jk/big-and-future-archive-tar (2016-08-06) 1 commit
495 + (merged to 'next' on 2016-08-11 at 0abbd07)
496 + + archive-tar: make write_extended_header() void
497 +
498 + A small code clean-up.
499 +
500 + Will merge to 'master'.
501 +
502 +
503 +* js/mv-dir-to-new-directory (2016-08-08) 1 commit
504 + (merged to 'next' on 2016-08-11 at c806ba2)
505 + + git mv: do not keep slash in `git mv dir non-existing-dir/`
506 +
507 + "git mv dir non-existing-dir/" did not work in some environments
508 + the same way as existing mainstream platforms. The code now moves
509 + "dir" to "non-existing-dir", without relying on rename("A", "B/")
510 + that strips the trailing slash of '/'.
511 +
512 + Will merge to 'master'.
513 +
514 +
515 +* ks/pack-objects-bitmap (2016-08-09) 2 commits
516 + - pack-objects: use reachability bitmap index when generating non-stdout pack
517 + - pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
518 +
519 + Waiting for review discussion to settle.
520 + cf. <20160808185541.6433-1-kirr@nexedi.com>
521 + cf. <20160808181942.GD3995@teco.navytux.spb.ru>
522 +
523 +
524 +* rs/child-process-init (2016-08-05) 1 commit
525 + (merged to 'next' on 2016-08-11 at 860857b)
526 + + use CHILD_PROCESS_INIT to initialize automatic variables
527 +
528 + A small code clean-up.
529 +
530 + Will merge to 'master'.
531 +
532 +
533 +* rs/merge-add-strategies-simplification (2016-08-05) 1 commit
534 + (merged to 'next' on 2016-08-11 at 6b8dfc1)
535 + + merge: use string_list_split() in add_strategies()
536 +
537 + A small code clean-up.
538 +
539 + Will merge to 'master'.
540 +
541 +
542 +* rs/merge-recursive-string-list-init (2016-08-05) 1 commit
543 + (merged to 'next' on 2016-08-11 at 37e62ba)
544 + + merge-recursive: use STRING_LIST_INIT_NODUP
545 +
546 + A small code clean-up.
547 +
548 + Will merge to 'master'.
549 +
550 +
551 +* rs/use-strbuf-add-unique-abbrev (2016-08-06) 1 commit
552 + (merged to 'next' on 2016-08-11 at 81ac5ff)
553 + + use strbuf_add_unique_abbrev() for adding short hashes
554 +
555 + A small code clean-up.
556 +
557 + Will merge to 'master'.
558 +
559 +
560 +* sb/submodule-clone-rr (2016-08-09) 9 commits
561 + - submodule: try alternates when superproject has an alternate
562 + - submodule helper: pass through --reference-if-able
563 + - clone: implement optional references
564 + - clone: clarify option_reference as required
565 + - submodule--helper update-clone: allow multiple references
566 + - submodule--helper module-clone: allow multiple references
567 + - SQUASH???
568 + - t7408: merge short tests, factor out testing method
569 + - t7408: modernize style
570 +
571 + Waiting for review discussion to settle.
572 + cf. <20160806012318.17968-1-sbeller@google.com>
573 +
574 +
575 +* jh/status-v2-porcelain (2016-08-11) 9 commits
576 - status: unit tests for --porcelain=v2
628 - - test-lib-functions.sh: Add lf_to_nul
577 + - test-lib-functions.sh: add lf_to_nul helper
578 - git-status.txt: describe --porcelain=v2 format
579 - status: print branch info with --porcelain=v2 --branch
580 - status: print per-file porcelain v2 status data
632 - - SQUASH???
581 - status: collect per-file data for --porcelain=v2
582 - status: support --porcelain[=<version>]
583 - status: cleanup API to wt_status_print
@@ -641,33 +589,34 @@ of the repositories listed at
589 calls to git.
590
591 Waiting for review discussion to settle.
644 - cf. <1470147137-17498-1-git-send-email-git@jeffhostetler.com>
592
593
594 * js/import-tars-hardlinks (2016-08-03) 1 commit
648 - - import-tars: support hard links
595 + (merged to 'next' on 2016-08-11 at 034230e)
596 + + import-tars: support hard links
597
598 "import-tars" fast-import script (in contrib/) used to ignore a
599 hardlink target and replaced it with an empty file, which has been
600 corrected to record the same blob as the other file the hardlink is
601 shared with.
602
655 - Will merge to 'next'.
603 + Will merge to 'master'.
604
605
606 * jk/trace-fixup (2016-08-05) 8 commits
659 - - trace: do not fall back to stderr
660 - - write_or_die: drop write_or_whine_pipe()
661 - - trace: disable key after write error
662 - - trace: correct variable name in write() error message
663 - - trace: cosmetic fixes for error messages
664 - - trace: use warning() for printing trace errors
665 - - trace: stop using write_or_whine_pipe()
666 - - trace: handle NULL argument in trace_disable()
607 + (merged to 'next' on 2016-08-11 at 56f7621)
608 + + trace: do not fall back to stderr
609 + + write_or_die: drop write_or_whine_pipe()
610 + + trace: disable key after write error
611 + + trace: correct variable name in write() error message
612 + + trace: cosmetic fixes for error messages
613 + + trace: use warning() for printing trace errors
614 + + trace: stop using write_or_whine_pipe()
615 + + trace: handle NULL argument in trace_disable()
616
617 Various small fixups to the "GIT_TRACE" facility.
618
670 - Will merge to 'next'.
619 + Will merge to 'master'.
620
621
622 * mh/diff-indent-heuristic (2016-08-04) 8 commits
@@ -693,99 +642,73 @@ of the repositories listed at
642 cf. <29c40cdd-363a-df09-f9e2-fe9070bb8a9c@ramsayjones.plus.com>
643
644
696 -* jt/format-patch-from-config (2016-08-01) 1 commit
697 - (merged to 'next' on 2016-08-05 at 897e986)
698 - + format-patch: format.from gives the default for --from
699 -
700 - "git format-patch" learned format.from configuration variable to
701 - specify the default settings for its "--from" option.
702 -
703 - Will merge to 'master'.
704 -
705 -
706 -* sb/submodule-update-dot-branch (2016-08-03) 7 commits
707 - (merged to 'next' on 2016-08-04 at 47bff41)
708 - + submodule update: allow '.' for branch value
709 - + submodule--helper: add remote-branch helper
710 - + submodule-config: keep configured branch around
711 - + submodule--helper: fix usage string for relative-path
712 - + submodule update: narrow scope of local variable
713 - + submodule update: respect depth in subsequent fetches
714 - + t7406: future proof tests with hard coded depth
715 -
716 - A few updates to "git submodule update".
717 -
718 - Will merge to 'master'.
719 -
720 -
721 -* cc/apply-am (2016-08-01) 42 commits
722 - . fixup! apply: make it possible to silently apply
723 - . builtin/am: use apply api in run_apply()
724 - . apply: refactor `git apply` option parsing
725 - . apply: change error_routine when silent
726 - . usage: add get_error_routine() and get_warn_routine()
727 - . usage: add set_warn_routine()
728 - . apply: don't print on stdout in verbosity_silent mode
729 - . apply: make it possible to silently apply
730 - . write_or_die: use warning() instead of fprintf(stderr, ...)
731 - . environment: add set_index_file()
732 - . apply: use error_errno() where possible
733 - . apply: make some parsing functions static again
734 - . apply: move libified code from builtin/apply.c to apply.{c,h}
735 - . apply: rename and move opt constants to apply.h
736 - . builtin/apply: rename option parsing functions
737 - . builtin/apply: make create_one_file() return -1 on error
738 - . builtin/apply: make try_create_file() return -1 on error
739 - . builtin/apply: make write_out_results() return -1 on error
740 - . builtin/apply: make write_out_one_result() return -1 on error
741 - . builtin/apply: make create_file() return -1 on error
742 - . builtin/apply: make add_index_file() return -1 on error
743 - . builtin/apply: make add_conflicted_stages_file() return -1 on error
744 - . builtin/apply: make remove_file() return -1 on error
745 - . builtin/apply: make build_fake_ancestor() return -1 on error
746 - . builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
747 - . builtin/apply: make gitdiff_*() return -1 on error
748 - . builtin/apply: make gitdiff_*() return 1 at end of header
749 - . builtin/apply: make parse_traditional_patch() return -1 on error
750 - . builtin/apply: make apply_all_patches() return 128 or 1 on error
751 - . builtin/apply: move check_apply_state() to apply.c
752 - . builtin/apply: make check_apply_state() return -1 instead of die()ing
753 - . apply: make init_apply_state() return -1 instead of exit()ing
754 - . builtin/apply: move init_apply_state() to apply.c
755 - . builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
756 - . builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
757 - . builtin/apply: make parse_single_patch() return -1 on error
758 - . builtin/apply: make parse_chunk() return a negative integer on error
759 - . builtin/apply: make find_header() return -128 instead of die()ing
760 - . builtin/apply: read_patch_file() return -1 instead of die()ing
761 - . builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
762 - . apply: move 'struct apply_state' to apply.h
763 - . apply: make some names more specific
764 - (this branch is used by jh/clean-smudge-annex.)
645 +* cc/apply-am (2016-08-11) 40 commits
646 + - builtin/am: use apply API in run_apply()
647 + - apply: learn to use a different index file
648 + - apply: refactor `git apply` option parsing
649 + - apply: change error_routine when silent
650 + - usage: add get_error_routine() and get_warn_routine()
651 + - usage: add set_warn_routine()
652 + - apply: don't print on stdout in verbosity_silent mode
653 + - apply: make it possible to silently apply
654 + - apply: use error_errno() where possible
655 + - apply: make some parsing functions static again
656 + - apply: move libified code from builtin/apply.c to apply.{c,h}
657 + - apply: rename and move opt constants to apply.h
658 + - builtin/apply: rename option parsing functions
659 + - builtin/apply: make create_one_file() return -1 on error
660 + - builtin/apply: make try_create_file() return -1 on error
661 + - builtin/apply: make write_out_results() return -1 on error
662 + - builtin/apply: make write_out_one_result() return -1 on error
663 + - builtin/apply: make create_file() return -1 on error
664 + - builtin/apply: make add_index_file() return -1 on error
665 + - builtin/apply: make add_conflicted_stages_file() return -1 on error
666 + - builtin/apply: make remove_file() return -1 on error
667 + - builtin/apply: make build_fake_ancestor() return -1 on error
668 + - builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
669 + - builtin/apply: make gitdiff_*() return -1 on error
670 + - builtin/apply: make gitdiff_*() return 1 at end of header
671 + - builtin/apply: make parse_traditional_patch() return -1 on error
672 + - builtin/apply: make apply_all_patches() return 128 or 1 on error
673 + - builtin/apply: move check_apply_state() to apply.c
674 + - builtin/apply: make check_apply_state() return -1 instead of die()ing
675 + - apply: make init_apply_state() return -1 instead of exit()ing
676 + - builtin/apply: move init_apply_state() to apply.c
677 + - builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
678 + - builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
679 + - builtin/apply: make parse_single_patch() return -1 on error
680 + - builtin/apply: make parse_chunk() return a negative integer on error
681 + - builtin/apply: make find_header() return -128 instead of die()ing
682 + - builtin/apply: read_patch_file() return -1 instead of die()ing
683 + - builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
684 + - apply: move 'struct apply_state' to apply.h
685 + - apply: make some names more specific
686
687 "git am" has been taught to make an internal call to "git apply"'s
688 innards without spawning the latter as a separate process.
689
769 - Temporarily kicked out of 'pu', as it adds more calling sites to a
770 - function that is going away.
690
772 - cf. <20160804212157.cn7ecyxcbyf4okd7@sigill.intra.peff.net>
691 +* jk/pack-objects-optim-mru (2016-08-11) 4 commits
692 + (merged to 'next' on 2016-08-11 at c0a7dae)
693 + + pack-objects: use mru list when iterating over packs
694 + + pack-objects: break delta cycles before delta-search phase
695 + + sha1_file: make packed_object_info public
696 + + provide an initializer for "struct object_info"
697
698 + "git pack-objects" in a repository with many packfiles used to
699 + spend a lot of time looking for/at objects in them; the accesses to
700 + the packfiles are now optimized by checking the most-recently-used
701 + packfile first.
702
775 -* jk/pack-objects-optim-mru (2016-07-29) 1 commit
776 - - pack-objects: use mru list when iterating over packs
703 + Will hold to see if people scream.
704
778 - This is still questionable in that it can attempt to create a cycle
779 - in delta-chain, only to be stopped by the last-ditch recovery logic
780 - in there.
705
782 -
783 -* kw/patch-ids-optim (2016-08-04) 5 commits
784 - - SQUASH???
785 - - rebase: avoid computing unnecessary patch IDs
786 - - patch-ids: add flag to create the diff patch id using header only data
787 - - patch-ids: replace the seen indicator with a commit pointer
788 - - patch-ids: stop using a hand-rolled hashmap implementation
706 +* kw/patch-ids-optim (2016-08-11) 4 commits
707 + (merged to 'next' on 2016-08-11 at f3ba3d0)
708 + + rebase: avoid computing unnecessary patch IDs
709 + + patch-ids: add flag to create the diff patch id using header only data
710 + + patch-ids: replace the seen indicator with a commit pointer
711 + + patch-ids: stop using a hand-rolled hashmap implementation
712
713 When "git rebase" tries to compare set of changes on the updated
714 upstream and our own branch, it computes patch-id for all of these
@@ -793,7 +716,7 @@ of the repositories listed at
716 lazily computing the full patch-id (which is expensive) to be
717 compared only for changes that touch the same set of paths.
718
796 - Will merge to 'next' after squashing the fix in.
719 + Will merge to 'master'.
720
721
722 * jk/rebase-i-drop-ident-check (2016-07-29) 1 commit
@@ -811,66 +734,6 @@ of the repositories listed at
734 cf. <20160729224944.GA23242@sigill.intra.peff.net>
735
736
814 -* jk/reset-ident-time-per-commit (2016-08-01) 1 commit
815 - (merged to 'next' on 2016-08-03 at 76d569c)
816 - + am: reset cached ident date for each patch
817 -
818 - Not-so-recent rewrite of "git am" that started making internal
819 - calls into the commit machinery had an unintended regression, in
820 - that no matter how many seconds it took to apply many patches, the
821 - resulting committer timestamp for the resulting commits were all
822 - the same.
823 -
824 - Will merge to 'master'.
825 -
826 -
827 -* jk/push-force-with-lease-creation (2016-08-04) 4 commits
828 - (merged to 'next' on 2016-08-04 at e42ce85)
829 - + t5533: make it pass on case-sensitive filesystems
830 - (merged to 'next' on 2016-08-03 at 475c080)
831 - + push: allow pushing new branches with --force-with-lease
832 - + push: add shorthand for --force-with-lease branch creation
833 - + Documentation/git-push: fix placeholder formatting
834 -
835 - "git push --force-with-lease" already had enough logic to allow
836 - ensuring that such a push results in creation of a ref (i.e. the
837 - receiving end did not have another push from sideways that would be
838 - discarded by our force-pushing), but didn't expose this possibility
839 - to the users. It does so now.
840 -
841 - Will merge to 'master'.
842 -
843 -
844 -* js/am-3-merge-recursive-direct (2016-08-01) 16 commits
845 - (merged to 'next' on 2016-08-05 at dc1c9bb)
846 - + merge-recursive: flush output buffer even when erroring out
847 - + merge_trees(): ensure that the callers release output buffer
848 - + merge-recursive: offer an option to retain the output in 'obuf'
849 - + merge-recursive: write the commit title in one go
850 - + merge-recursive: flush output buffer before printing error messages
851 - + am -3: use merge_recursive() directly again
852 - + merge-recursive: switch to returning errors instead of dying
853 - + merge-recursive: handle return values indicating errors
854 - + merge-recursive: allow write_tree_from_memory() to error out
855 - + merge-recursive: avoid returning a wholesale struct
856 - + merge_recursive: abort properly upon errors
857 - + prepare the builtins for a libified merge_recursive()
858 - + merge-recursive: clarify code in was_tracked()
859 - + die(_("BUG")): avoid translating bug messages
860 - + die("bug"): report bugs consistently
861 - + t5520: verify that `pull --rebase` shows the helpful advice when failing
862 -
863 - "git am -3" calls "git merge-recursive" when it needs to fall back
864 - to a three-way merge; this call has been turned into an internal
865 - subroutine call instead of spawning a separate subprocess.
866 -
867 - Will merge to 'master'.
868 -
869 - Eyes from other people are highly appreciated, as my eyes (and the
870 - original author's, too) have rotten by staring many rerolls of the
871 - same topic and are not effective in spotting errors.
872 -
873 -
737 * dp/autoconf-curl-ssl (2016-06-28) 1 commit
738 - ./configure.ac: detect SSL in libcurl using curl-config
739
@@ -1056,28 +919,3 @@ of the repositories listed at
919 It has been reported that git-gui still uses the deprecated syntax,
920 which needs to be fixed before this final step can proceed.
921 cf. <5671DB28.8020901@kdbg.org>
1059 -
1060 ---------------------------------------------------
1061 -[Discarded]
1062 -
1063 -* jh/clean-smudge-annex (2016-08-01) 9 commits
1064 - . use smudgeToFile filter in recursive merge
1065 - . use smudgeToFile filter in git am
1066 - . better recovery from failure of smudgeToFile filter
1067 - . warn on unusable smudgeToFile/cleanFromFile config
1068 - . use smudgeToFile in git checkout etc
1069 - . use cleanFromFile in git add
1070 - . add smudgeToFile and cleanFromFile filter configs
1071 - . clarify %f documentation
1072 - . Merge branch 'cc/apply-am' into HEAD
1073 - (this branch uses cc/apply-am.)
1074 -
1075 - The interface to "clean/smudge" filters require Git to feed the
1076 - whole contents via pipe, which is suboptimal for some applications.
1077 - "cleanFromFile/smudgeToFile" commands are the moral equilvalents
1078 - for these filters but they interact with the files on the
1079 - filesystem directly.
1080 -
1081 - This is starting to bit-rot, as the topic it is built upon keeps
1082 - getting rerolled. I _think_ I rebased it correctly, but I would
1083 - not be surprised if I made a mistake.