What's cooking (2018/11 #05)

Junio C Hamano committed Nov 17, 2018 at 23:35 UTC c5902703106f24a69a6d31aa816a1f3e2fd2f22d
1 file changed +271 -472
whats-cooking.txt
+271 -472
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2018, #04; Tue, 13)
3 +Subject: What's cooking in git.git (Nov 2018, #05; Sat, 17)
4 X-master-at: d166e6afe5f257217836ef24a73764eba390c58d
5 -X-next-at: 17fedb746fde9e40924a6ce11c0976a097eb126b
5 +X-next-at: 2fe598284e7f22561137927e87b2ef6d70e8ab2c
6
7 -What's cooking in git.git (Nov 2018, #04; Tue, 13)
7 +What's cooking in git.git (Nov 2018, #05; Sat, 17)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -18,428 +18,225 @@ of the repositories listed at
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 --------------------------------------------------
21 -[Graduated to "master"]
21 +[New Topics]
22 +
23 +* ab/push-example-in-doc (2018-11-14) 1 commit
24 + - push: change needlessly ambiguous example in error
25
23 -* ab/pack-tests-cleanup (2018-10-31) 3 commits
24 - (merged to 'next' on 2018-11-03 at b4a39595bb)
25 - + index-pack tests: don't leave test repo dirty at end
26 - + pack-objects tests: don't leave test .git corrupt at end
27 - + pack-objects test: modernize style
26 + An error message that sugggests how to give correct arguments to
27 + "git push" has been updated.
28
29 - A couple of tests used to leave the repository in a state that is
30 - deliberately corrupt, which have been corrected.
29 + Will merge to 'next'.
30
31
33 -* ag/rebase-i-in-c (2018-11-05) 1 commit
34 - (merged to 'next' on 2018-11-06 at 8fa9d64898)
35 - + sequencer.c: remove a stray semicolon
32 +* dd/poll-dot-h (2018-11-14) 1 commit
33 + - git-compat-util: prefer poll.h to sys/poll.h
34
37 - Code clean-up for a topic already in 'master'.
35 + A build update.
36
37 + Will merge to 'next'.
38
40 -* ag/rev-parse-all-exclude-fix (2018-11-01) 1 commit
41 - (merged to 'next' on 2018-11-03 at 49730558fa)
42 - + rev-parse: clear --exclude list after 'git rev-parse --all'
39
44 - "git rev-parse --exclude=* --branches --branches" (i.e. first
45 - saying "add only things that do not match '*' out of all branches"
46 - and then adding all branches, without any exclusion this time")
47 - worked as expected, but "--exclude=* --all --all" did not work the
48 - same way, which has been fixed.
40 +* en/fast-export-import (2018-11-17) 11 commits
41 + - fast-export: add a --show-original-ids option to show original names
42 + - fast-import: remove unmaintained duplicate documentation
43 + - fast-export: add --reference-excluded-parents option
44 + - fast-export: ensure we export requested refs
45 + - fast-export: when using paths, avoid corrupt stream with non-existent mark
46 + - fast-export: move commit rewriting logic into a function for reuse
47 + - fast-export: avoid dying when filtering by paths and old tags exist
48 + - fast-export: use value from correct enum
49 + - git-fast-export.txt: clarify misleading documentation about rev-list args
50 + - git-fast-import.txt: fix documentation for --quiet option
51 + - fast-export: convert sha1 to oid
52
53 + Small fixes and features for fast-export and fast-import, mostly on
54 + the fast-export side.
55
51 -* al/send-email-auto-cte-fixup (2018-11-02) 1 commit
52 - (merged to 'next' on 2018-11-05 at 4ecb1133ce)
53 - + send-email: avoid empty transfer encoding header
56 + Will merge to 'next'.
57
55 - "git send-email --transfer-encoding=..." in recent versions of Git
56 - sometimes produced an empty "Content-Transfer-Encoding:" header,
57 - which has been corrected.
58
59 +* js/mingw-create-hard-link (2018-11-14) 1 commit
60 + (merged to 'next' on 2018-11-17 at 27f866db16)
61 + + mingw: use `CreateHardLink()` directly
62 +
63 + Windows update.
64 +
65 + Will merge to 'master'.
66 +
67 +
68 +* js/test-git-installed (2018-11-16) 5 commits
69 + - tests: explicitly use `git.exe` on Windows
70 + - tests: do not require Git to be built when testing an installed Git
71 + - t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set
72 + - tests: respect GIT_TEST_INSTALLED when initializing repositories
73 + - tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/
74 +
75 + Update the "test installed Git" mode of our test suite to work better.
76 +
77 + Will merge to 'next'.
78
60 -* ao/submodule-wo-gitmodules-checked-out (2018-10-31) 10 commits
61 - (merged to 'next' on 2018-11-03 at 00c3377ef0)
62 - + t/helper: add test-submodule-nested-repo-config
63 - + submodule: support reading .gitmodules when it's not in the working tree
64 - + submodule: add a helper to check if it is safe to write to .gitmodules
65 - + t7506: clean up .gitmodules properly before setting up new scenario
66 - + submodule: use the 'submodule--helper config' command
67 - + submodule--helper: add a new 'config' subcommand
68 - + t7411: be nicer to future tests and really clean things up
69 - + t7411: merge tests 5 and 6
70 - + submodule: factor out a config_set_in_gitmodules_file_gently function
71 - + submodule: add a print_config_from_gitmodules() helper
72 - (this branch is used by sb/submodule-recursive-fetch-gets-the-tip.)
79
74 - The submodule support has been updated to read from the blob at
75 - HEAD:.gitmodules when the .gitmodules file is missing from the
76 - working tree.
80 +* lj/mingw-pthread-cond (2018-11-14) 1 commit
81 + (merged to 'next' on 2018-11-17 at 46abe4100d)
82 + + win32: replace pthread_cond_*() with much simpler code
83
84 + Code simplification.
85
79 -* bp/add-diff-files-optim (2018-11-03) 1 commit
80 - (merged to 'next' on 2018-11-06 at cdaeb7924a)
81 - + add: speed up cmd_add() by utilizing read_cache_preload()
86 + Will merge to 'master'.
87
83 - "git add" needs to internally run "diff-files" equivalent, and the
84 - codepath learned the same optimization as "diff-files" has to run
85 - lstat(2) in parallel to find which paths have been updated in the
86 - working tree.
88
89 +* nd/checkout-dwim-fix (2018-11-14) 1 commit
90 + - checkout: disambiguate dwim tracking branches and local files
91
89 -* bp/refresh-index-using-preload (2018-11-06) 2 commits
90 - (merged to 'next' on 2018-11-06 at d9b9d8f559)
91 - + refresh_index: remove unnecessary calls to preload_index()
92 - (merged to 'next' on 2018-11-01 at 289e6bcece)
93 - + speed up refresh_index() by utilizing preload_index()
92 + "git checkout frotz" (without any double-dash) avoids ambiguity by
93 + making sure 'frotz' cannot be interpreted as a revision and as a
94 + path at the same time. This safety has been updated to check also
95 + a unique remote-tracking branch 'frotz' in a remote, when dwimming
96 + to create a local branch 'frotz' out of a remote-tracking branch
97 + 'frotz' from a remote.
98
95 - The helper function to refresh the cached stat information in the
96 - in-core index has learned to perform the lstat() part of the
97 - operation in parallel on multi-core platforms.
99 + Will merge to 'next'.
100
101
100 -* bp/reset-quiet (2018-10-24) 3 commits
101 - (merged to 'next' on 2018-10-29 at 71f4fbc802)
102 - + reset: warn when refresh_index() takes more than 2 seconds
103 - + reset: add new reset.quiet config setting
104 - + reset: don't compute unstaged changes after reset when --quiet
105 - (this branch is used by nd/config-split.)
102 +* nd/checkout-noisy (2018-11-14) 1 commit
103 + - checkout: print something when checking out paths
104
107 - "git reset --quiet" no longer runs "update-index --refresh"
108 - internally, which shifts the refresh cost away from the command.
105 + "git checkout [<tree-ish>] path..." learned to report the number of
106 + paths that have been checked out of the index or the tree-ish,
107 + which gives it the same degree of noisy-ness as the case in which
108 + the command checks out a branch.
109
110
111 -* ds/add-missing-tags (2018-11-03) 3 commits
112 - (merged to 'next' on 2018-11-05 at 8388baf76d)
113 - + remote: make add_missing_tags() linear
114 - + test-reach: test get_reachable_subset
115 - + commit-reach: implement get_reachable_subset
111 +* ab/rebase-in-c-escape-hatch (2018-11-16) 2 commits
112 + (merged to 'next' on 2018-11-17 at a01be221c7)
113 + + tests: add a special setup where rebase.useBuiltin is off
114 + + rebase doc: document rebase.useBuiltin
115
117 - The history traversal used to implement the tag-following has been
118 - optimized by introducing a new helper.
116 + The recently merged "rebase in C" has an escape hatch to use the
117 + scripted version when necessary, but it hasn't been documented,
118 + which has been corrected.
119
120 + Will merge to 'master'.
121
121 -* ds/test-multi-pack-index (2018-10-26) 4 commits
122 - (merged to 'next' on 2018-11-03 at 624c415a45)
123 - + packfile: close multi-pack-index in close_all_packs
124 - + multi-pack-index: define GIT_TEST_MULTI_PACK_INDEX
125 - + midx: close multi-pack-index on repack
126 - + midx: fix broken free() in close_midx()
122
128 - Tests for the recently introduced multi-pack index machinery.
123 +* js/config-sequence (2018-11-16) 1 commit
124 + (merged to 'next' on 2018-11-17 at fefca0bbe8)
125 + + config: report a bug if git_dir exists without commondir
126
127 + A sanity check for start-up sequence has been added in the config
128 + API codepath.
129
131 -* jc/war-on-string-list (2018-11-01) 1 commit
132 - (merged to 'next' on 2018-11-03 at 2ff65073f1)
133 - + fetch: replace string-list used as a look-up table with a hashmap
130 + Will merge to 'master'.
131
135 - Replace three string-list instances used as look-up tables in "git
136 - fetch" with hashmaps.
132
133 +* js/fuzz-cxxflags (2018-11-16) 1 commit
134 + (merged to 'next' on 2018-11-17 at 5e589a5237)
135 + + Makefile: use FUZZ_CXXFLAGS for linking fuzzers
136
139 -* jk/detect-truncated-zlib-input (2018-10-31) 4 commits
140 - (merged to 'next' on 2018-11-03 at 4952b4412b)
141 - + Adjust for 2.19.x series
142 - + cat-file: handle streaming failures consistently
143 - + check_stream_sha1(): handle input underflow
144 - + t1450: check large blob in trailing-garbage test
137 + The build procedure to link for fuzzing test has been made
138 + customizable with a new Makefile variable.
139
146 - A regression in Git 2.12 era made "git fsck" fall into an infinite
147 - loop while processing truncated loose objects.
140 + Will merge to 'master'.
141
142
150 -* jk/misc-unused-fixes (2018-11-07) 4 commits
151 - (merged to 'next' on 2018-11-07 at 8438c0b245)
152 - + approxidate: fix NULL dereference in date_time()
153 - (merged to 'next' on 2018-11-05 at 03429f23c4)
154 - + pathspec: handle non-terminated strings with :(attr)
155 - + approxidate: handle pending number for "specials"
156 - + rev-list: handle flags for --indexed-objects
143 +* js/mingw-msdn-url (2018-11-16) 1 commit
144 + (merged to 'next' on 2018-11-17 at a6a9afddbf)
145 + + mingw: replace an obsolete link with the superseding one
146
158 - Assorted fixes for bugs found while auditing -Wunused-parameter
159 - warnings.
147 + The URL to an MSDN page in a comment has been updated.
148
149 + Will merge to 'master'.
150
162 -* jk/proto-v2-ref-prefix-fix (2018-10-31) 2 commits
163 - (merged to 'next' on 2018-11-03 at 3a203db692)
164 - + ls-remote: pass heads/tags prefixes to transport
165 - + ls-remote: do not send ref prefixes for patterns
151
167 - "git ls-remote $there foo" was broken by recent update for the
168 - protocol v2 and stopped showing refs that match 'foo' that are not
169 - refs/{heads,tags}/foo, which has been fixed.
152 +* js/rebase-am-options (2018-11-16) 2 commits
153 + (merged to 'next' on 2018-11-17 at f956d9b948)
154 + + rebase: validate -C<n> and --whitespace=<mode> parameters early
155 + + rebase: really just passthru the `git am` options
156
157 + The way "git rebase" parses and forwards the command line options
158 + meant for underlying "git am" has been revamped, which fixed for
159 + options with parameters that were not passed correctly.
160
172 -* jk/stream-pack-non-delta-clarification (2018-10-31) 1 commit
173 - (merged to 'next' on 2018-11-03 at bd386692c8)
174 - + read_istream_pack_non_delta(): document input handling
161 + Will merge to 'master'.
162
176 - Additional comment on a tricky piece of code to help developers.
163
164 +* nd/doc-extensions (2018-11-16) 1 commit
165 + (merged to 'next' on 2018-11-17 at 09306064d5)
166 + + doc: move extensions.worktreeConfig to the right place
167
179 -* jk/xdiff-interface (2018-11-05) 9 commits
180 - (merged to 'next' on 2018-11-05 at 0edd69cdad)
181 - + xdiff-interface: drop parse_hunk_header()
182 - + range-diff: use a hunk callback
183 - + diff: convert --check to use a hunk callback
184 - + combine-diff: use an xdiff hunk callback
185 - + diff: use hunk callback for word-diff
186 - + diff: discard hunk headers for patch-ids earlier
187 - + diff: avoid generating unused hunk header lines
188 - + xdiff-interface: provide a separate consume callback for hunks
189 - + xdiff: provide a separate emit callback for hunks
168 + Doc update.
169
191 - The interface into "xdiff" library used to discover the offset and
192 - size of a generated patch hunk by first formatting it into the
193 - textual hunk header "@@ -n,m +k,l @@" and then parsing the numbers
194 - out. A new interface has been introduced to allow callers a more
195 - direct access to them.
170 + Will merge to 'master'.
171
172
198 -* js/mingw-isatty-and-dup2 (2018-10-31) 1 commit
199 - (merged to 'next' on 2018-11-03 at 0616899d9e)
200 - + mingw: fix isatty() after dup2()
173 +* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits
174 + - Documentation/clone: document ignored configuration variables
175 + - clone: respect additional configured fetch refspecs during initial fetch
176 + - clone: use a more appropriate variable name for the default refspec
177
202 - Windows fix.
178 + Refspecs configured with "git -c var=val clone" did not propagate
179 + to the resulting repository, which has been corrected.
180
181 + Will merge to 'next'.
182
205 -* js/mingw-perl5lib (2018-10-31) 4 commits
206 - (merged to 'next' on 2018-11-03 at 2fa516f3ae)
207 - + mingw: unset PERL5LIB by default
208 - + config: move Windows-specific config settings into compat/mingw.c
209 - + config: allow for platform-specific core.* config settings
210 - + config: rename `dummy` parameter to `cb` in git_default_config()
211 -
212 - Windows fix.
213 -
214 -
215 -* js/mingw-utf8-env (2018-10-31) 2 commits
216 - (merged to 'next' on 2018-11-03 at f6c5a8b609)
217 - + mingw: reencode environment variables on the fly (UTF-16 <-> UTF-8)
218 - + t7800: fix quoting
219 -
220 - Windows fix.
221 -
222 -
223 -* js/rebase-p-tests (2018-11-02) 3 commits
224 - (merged to 'next' on 2018-11-03 at fc8d97465f)
225 - + tests: optionally skip `git rebase -p` tests
226 - + t3418: decouple test cases from a previous `rebase -p` test case
227 - + t3404: decouple some test cases from outcomes of previous test cases
228 -
229 - In preparation to the day when we can deprecate and remove the
230 - "rebase -p", make sure we can skip and later remove tests for
231 - it.
232 -
233 -
234 -* jt/tighten-fetch-proto-v2-response (2018-11-01) 1 commit
235 - (merged to 'next' on 2018-11-03 at 310fe3f2c3)
236 - + fetch-pack: be more precise in parsing v2 response
237 -
238 - "git fetch" was a bit loose in parsing resposes from the other side
239 - when talking over the protocol v2.
240 -
241 -
242 -* ma/sequencer-do-reset-saner-loop-termination (2018-10-31) 1 commit
243 - (merged to 'next' on 2018-11-03 at 99da78997d)
244 - + sequencer: break out of loop explicitly
245 -
246 - Code readability fix.
247 -
248 -
249 -* nb/worktree-api-doc (2018-10-31) 2 commits
250 - (merged to 'next' on 2018-11-03 at de9befb1f3)
251 - + worktree: rename is_worktree_locked to worktree_lock_reason
252 - + worktree: update documentation for lock_reason and lock_reason_valid
253 -
254 - Code readability fix.
255 -
256 -
257 -* nd/complete-format-patch (2018-11-06) 1 commit
258 - (merged to 'next' on 2018-11-06 at 7f4c58c9d0)
259 - + completion: use __gitcomp_builtin for format-patch
260 -
261 - The support for format-patch (and send-email) by the command-line
262 - completion script (in contrib/) has been simplified a bit.
263 -
264 -
265 -* nd/config-split (2018-10-29) 79 commits
266 - (merged to 'next' on 2018-11-03 at a336559101)
267 - + config.txt: remove config/dummy.txt
268 - + config.txt: move worktree.* to a separate file
269 - + config.txt: move web.* to a separate file
270 - + config.txt: move versionsort.* to a separate file
271 - + config.txt: move user.* to a separate file
272 - + config.txt: move url.* to a separate file
273 - + config.txt: move uploadpack.* to a separate file
274 - + config.txt: move uploadarchive.* to a separate file
275 - + config.txt: move transfer.* to a separate file
276 - + config.txt: move tag.* to a separate file
277 - + config.txt: move submodule.* to a separate file
278 - + config.txt: move stash.* to a separate file
279 - + config.txt: move status.* to a separate file
280 - + config.txt: move splitIndex.* to a separate file
281 - + config.txt: move showBranch.* to a separate file
282 - + config.txt: move sequencer.* to a separate file
283 - + config.txt: move sendemail-config.txt to config/
284 - + config.txt: move reset.* to a separate file
285 - + config.txt: move rerere.* to a separate file
286 - + config.txt: move repack.* to a separate file
287 - + config.txt: move remotes.* to a separate file
288 - + config.txt: move remote.* to a separate file
289 - + config.txt: move receive-config.txt to config/
290 - + config.txt: move rebase-config.txt to config/
291 - + config.txt: move push-config.txt to config/
292 - + config.txt: move pull-config.txt to config/
293 - + config.txt: move protocol.* to a separate file
294 - + config.txt: move pretty.* to a separate file
295 - + config.txt: move pager.* to a separate file
296 - + config.txt: move pack.* to a separate file
297 - + config.txt: move notes.* to a separate file
298 - + config.txt: move mergetool.* to a separate file
299 - + config.txt: move merge-config.txt to config/
300 - + config.txt: move man.* to a separate file
301 - + config.txt: move mailmap.* to a separate file
302 - + config.txt: move mailinfo.* to a separate file
303 - + config.txt: move log.* to a separate file
304 - + config.txt: move interactive.* to a separate file
305 - + config.txt: move instaweb.* to a separate file
306 - + config.txt: move init.* to a separate file
307 - + config.txt: move index.* to a separate file
308 - + git-imap-send.txt: move imap.* to a separate file
309 - + config.txt: move i18n.* to a separate file
310 - + config.txt: move http.* to a separate file
311 - + config.txt: move ssh.* to a separate file
312 - + config.txt: move help.* to a separate file
313 - + config.txt: move guitool.* to a separate file
314 - + config.txt: move gui-config.txt to config/
315 - + config.txt: move gpg.* to a separate file
316 - + config.txt: move grep.* to a separate file
317 - + config.txt: move gitweb.* to a separate file
318 - + config.txt: move gitcvs-config.txt to config/
319 - + config.txt: move gc.* to a separate file
320 - + config.txt: move fsck.* to a separate file
321 - + config.txt: move fmt-merge-msg-config.txt to config/
322 - + config.txt: move format-config.txt to config/
323 - + config.txt: move filter.* to a separate file
324 - + config.txt: move fetch-config.txt to config/
325 - + config.txt: move fastimport.* to a separate file
326 - + config.txt: move difftool.* to a separate file
327 - + config.txt: move diff-config.txt to config/
328 - + config.txt: move completion.* to a separate file
329 - + config.txt: move credential.* to a separate file
330 - + config.txt: move commit.* to a separate file
331 - + config.txt: move column.* to a separate file
332 - + config.txt: move color.* to a separate file
333 - + config.txt: move clean.* to a separate file
334 - + config.txt: move checkout.* to a separate file
335 - + config.txt: move browser.* to a separate file
336 - + config.txt: move branch.* to a separate file
337 - + config.txt: move blame.* to a separate file
338 - + config.txt: move apply.* to a separate file
339 - + config.txt: move am.* to a separate file
340 - + config.txt: move alias.* to a separate file
341 - + config.txt: move add.* to a separate file
342 - + config.txt: move core.* to a separate file
343 - + config.txt: move advice.* to a separate file
344 - + Update makefile in preparation for Documentation/config/*.txt
345 - + Merge branches 'bp/reset-quiet' and 'js/mingw-http-ssl' into nd/config-split
346 - (this branch uses bp/reset-quiet.)
347 -
348 - Split the overly large Documentation/config.txt file into million
349 - little pieces. This potentially allows each individual piece
350 - included into the manual page of the command it affects more easily.
351 -
352 - This is a painful conversions while many other topics in flight
353 - wants to add to or edit the documentation of configuration
354 - variables.
355 -
356 -
357 -* nd/per-worktree-config (2018-10-22) 2 commits
358 - (merged to 'next' on 2018-11-01 at 3746343ca8)
359 - + worktree: add per-worktree config files
360 - + t1300: extract and use test_cmp_config()
361 -
362 - A fourth class of configuration files (in addition to the
363 - traditional "system wide", "per user in the $HOME directory" and
364 - "per repository in the $GIT_DIR/config") has been introduced so
365 - that different worktrees that share the same repository (hence the
366 - same $GIT_DIR/config file) can use different customization.
367 -
368 -
369 -* nd/per-worktree-ref-iteration (2018-11-05) 9 commits
370 - (merged to 'next' on 2018-11-06 at 53803cedf3)
371 - + git-worktree.txt: correct linkgit command name
372 - (merged to 'next' on 2018-11-03 at 4cbe49a704)
373 - + reflog expire: cover reflog from all worktrees
374 - + fsck: check HEAD and reflog from other worktrees
375 - + fsck: move fsck_head_link() to get_default_heads() to avoid some globals
376 - + revision.c: better error reporting on ref from different worktrees
377 - + revision.c: correct a parameter name
378 - + refs: new ref types to make per-worktree refs visible to all worktrees
379 - + Add a place for (not) sharing stuff between worktrees
380 - + refs.c: indent with tabs, not spaces
381 -
382 - The code to traverse objects for reachability, used to decide what
383 - objects are unreferenced and expendable, have been taught to also
384 - consider per-worktree refs of other worktrees as starting points to
385 - prevent data loss.
386 -
387 -
388 -* nd/tree-walk-path-exclusion (2018-11-05) 1 commit
389 - (merged to 'next' on 2018-11-06 at 6499b2d327)
390 - + tree-walk.c: fix overoptimistic inclusion in :(exclude) matching
391 -
392 - Pathspec matching against a tree object were buggy when negative
393 - pathspec elements were involved, which has been fixed.
394 -
395 -
396 -* nd/wildmatch-double-asterisk (2018-10-29) 1 commit
397 - (merged to 'next' on 2018-11-01 at 627186d020)
398 - + wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode
399 -
400 - A pattern with '**' that does not have a slash on either side used
401 - to be an invalid one, but the code now treats such double-asterisks
402 - the same way as two normal asterisks that happen to be adjacent to
403 - each other.
404 -
405 -
406 -* pw/am-rebase-read-author-script (2018-11-01) 5 commits
407 - (merged to 'next' on 2018-11-03 at bb6c32fe16)
408 - + sequencer: use read_author_script()
409 - + add read_author_script() to libgit
410 - + am: rename read_author_script()
411 - + am: improve author-script error reporting
412 - + am: don't die in read_author_script()
413 -
414 - Unify code to read the author-script used in "git am" and the
415 - commands that use the sequencer machinery, e.g. "git rebase -i".
416 -
417 -
418 -* sg/travis-install-dependencies (2018-11-02) 1 commit
419 - (merged to 'next' on 2018-11-06 at b86e3a2792)
420 - + travis-ci: install packages in 'ci/install-dependencies.sh'
421 -
422 - The procedure to install dependencies before testing at Travis CI
423 - is getting revamped for both simplicity and flexibility, taking
424 - advantage of the recent move to the vm-based environment.
425 -
426 -
427 -* sh/mingw-safer-compat-poll (2018-11-05) 1 commit
428 - (merged to 'next' on 2018-11-05 at 933a940a68)
429 - + poll: use GetTickCount64() to avoid wrap-around issues
430 -
431 - Windows fix.
183 +
184 +* sg/ref-filter-wo-repository (2018-11-16) 1 commit
185 + (merged to 'next' on 2018-11-17 at c0bec63990)
186 + + ref-filter: don't look for objects when outside of a repository
187 +
188 + "git ls-remote --sort=<thing>" can feed an object that is not yet
189 + available into the comparison machinery and segfault, which has
190 + been corrected to check such a request upfront and reject it.
191 +
192 + Will merge to 'master'.
193 +
194 +
195 +* cc/shared-index-permbits (2018-11-17) 1 commit
196 + - read-cache: write all indexes with the same permissions
197 +
198 + The way .git/index and .git/sharedindex* files were initially
199 + created gave these files different perm bits until they were
200 + adjusted for shared repository settings. This was made consistent.
201 +
202 + Expecting a reroll.
203 +
204 +
205 +* jk/close-duped-fd-before-unlock-for-bundle (2018-11-17) 1 commit
206 + (merged to 'next' on 2018-11-17 at 2fe598284e)
207 + + bundle: dup() output descriptor closer to point-of-use
208 +
209 + When "git bundle" aborts due to an empty commit ranges
210 + (i.e. resulting in an empty pack), it left a file descriptor to an
211 + lockfile open, which resulted in leftover lockfile on Windows where
212 + you cannot remove a file with an open file descriptor. This has
213 + been corrected.
214 +
215 + Will merge to 'master'.
216
217 --------------------------------------------------
434 -[New Topics]
218 +[Stalled]
219 +
220 +* lt/date-human (2018-07-09) 1 commit
221 + - Add 'human' date format
222 +
223 + A new date format "--date=human" that morphs its output depending
224 + on how far the time is from the current time has been introduced.
225 + "--date=auto" can be used to use this new format when the output is
226 + goint to the pager or to the terminal and otherwise the default
227 + format.
228 +
229 +--------------------------------------------------
230 +[Cooking]
231
232 * js/rebase-autostash-detach-fix (2018-11-08) 2 commits
437 - - built-in rebase --autostash: leave the current branch alone if possible
438 - - built-in rebase: demonstrate regression with --autostash
233 + (merged to 'next' on 2018-11-17 at 15957b4a5a)
234 + + built-in rebase --autostash: leave the current branch alone if possible
235 + + built-in rebase: demonstrate regression with --autostash
236
237 "git rebase --autostash" did not correctly re-attach the HEAD at times.
238
442 - Will merge to 'next'.
239 + Will merge to 'master'.
240
241
242 * en/rebase-merge-on-sequencer (2018-11-08) 2 commits
@@ -451,12 +248,13 @@ of the repositories listed at
248
249
250 * js/mailmap (2018-11-12) 1 commit
454 - - Update .mailmap
251 + (merged to 'next' on 2018-11-17 at 673bfc4cfa)
252 + + Update .mailmap
253
254 Update the mailmap to unify multiple entries for the authors with
255 commits since v2.10.
256
459 - Will merge to 'next'.
257 + Will merge to 'master'.
258
259
260 * fc/http-version (2018-11-09) 1 commit
@@ -470,19 +268,21 @@ of the repositories listed at
268
269
270 * ag/p3400-force-checkout (2018-11-12) 1 commit
473 - - p3400: replace calls to `git checkout -b' by `git checkout -B'
271 + (merged to 'next' on 2018-11-17 at 87ff48d52a)
272 + + p3400: replace calls to `git checkout -b' by `git checkout -B'
273
274 Perf test tweak.
275
477 - Will merge to 'next'.
276 + Will merge to 'master'.
277
278
279 * cb/notes-freeing-always-null-fix (2018-11-13) 1 commit
481 - - builtin/notes: remove unnecessary free
280 + (merged to 'next' on 2018-11-17 at 47aeec5fc9)
281 + + builtin/notes: remove unnecessary free
282
283 Code cleanup.
284
485 - Will merge to 'next'.
285 + Will merge to 'master'.
286
287
288 * dl/remote-save-to-push (2018-11-13) 1 commit
@@ -513,30 +313,31 @@ of the repositories listed at
313
314
315 * js/apply-recount-allow-noop (2018-11-13) 1 commit
516 - - apply --recount: allow "no-op hunks"
316 + (merged to 'next' on 2018-11-17 at e413fa105f)
317 + + apply --recount: allow "no-op hunks"
318
319 When editing a patch in a "git add -i" session, a hunk could be
320 made to no-op. The "git apply" program used to reject a patch with
321 such a no-op hunk to catch user mistakes, but it is now updated to
322 explicitly allow a no-op hunk in an edited patch.
323
523 - Will merge to 'next'.
324 + Will merge to 'master'.
325
326
327 * js/builtin-rebase-perf-fix (2018-11-13) 3 commits
527 - - built-in rebase: reinstate `checkout -q` behavior where appropriate
528 - - rebase: prepare reset_head() for more flags
529 - - rebase: consolidate clean-up code before leaving reset_head()
328 + (merged to 'next' on 2018-11-17 at 9e9db8c8e1)
329 + + built-in rebase: reinstate `checkout -q` behavior where appropriate
330 + + rebase: prepare reset_head() for more flags
331 + + rebase: consolidate clean-up code before leaving reset_head()
332
333 Code clean-up with correction to make the reimplemented "git
334 rebase" a more faithful rewrite of the original, which also regains
335 performance.
336
535 - Will merge to 'next'.
337 + Will merge to 'master'.
338
339
538 -* js/protocol-advertise-multi (2018-11-13) 2 commits
539 - - SQUASH??? apply cocci fix
340 +* js/protocol-advertise-multi (2018-11-17) 1 commit
341 - protocol: advertise multiple supported versions
342
343 The transport layer has been updated so that the protocol version
@@ -546,19 +347,22 @@ of the repositories listed at
347
348
349 * js/rebase-r-and-merge-head (2018-11-13) 5 commits
549 - - status: rebase and merge can be in progress at the same time
550 - - built-in rebase --skip/--abort: clean up stale .git/<name> files
551 - - rebase -i: include MERGE_HEAD into files to clean up
552 - - rebase -r: do not write MERGE_HEAD unless needed
553 - - rebase -r: demonstrate bug with conflicting merges
350 + (merged to 'next' on 2018-11-17 at 6bb27df7b1)
351 + + status: rebase and merge can be in progress at the same time
352 + + built-in rebase --skip/--abort: clean up stale .git/<name> files
353 + + rebase -i: include MERGE_HEAD into files to clean up
354 + + rebase -r: do not write MERGE_HEAD unless needed
355 + + rebase -r: demonstrate bug with conflicting merges
356
357 Bugfix for the recently graduated "git rebase --rebase-merges".
358
557 - Will merge to 'next'.
359 + Will merge to 'master'.
360
361
560 -* js/smart-http-detect-remote-error (2018-11-13) 1 commit
362 +* js/smart-http-detect-remote-error (2018-11-17) 3 commits
363 - remote-curl: die on server-side errors
364 + - remote-curl: tighten "version 2" check for smart-http
365 + - remote-curl: refactor smart-http discovery
366
367 Some errors from the other side coming over smart HTTP transport
368 were not noticed, which has been corrected.
@@ -579,11 +383,12 @@ of the repositories listed at
383
384
385 * nd/command-list-gen-fix (2018-11-12) 1 commit
582 - - build: fix broken command-list.h generation with core.autocrlf
386 + (merged to 'next' on 2018-11-17 at a6ff6baa0b)
387 + + build: fix broken command-list.h generation with core.autocrlf
388
389 Build tweak.
390
586 - Will merge to 'next'.
391 + Will merge to 'master'.
392
393
394 * nd/format-patch-cover-letter-stat-width (2018-11-13) 1 commit
@@ -640,16 +445,17 @@ of the repositories listed at
445
446
447 * ra/rev-parse-exclude-glob (2018-11-13) 2 commits
643 - - refs: fix some exclude patterns being ignored
644 - - refs: show --exclude failure with --branches/tags/remotes=glob
448 + (merged to 'next' on 2018-11-17 at 396dd7a2c2)
449 + + refs: fix some exclude patterns being ignored
450 + + refs: show --exclude failure with --branches/tags/remotes=glob
451
452 "rev-parse --exclude=<pattern> --branches=<pattern>" etc. did not
453 quite work, which has been corrected.
454
649 - Will merge to 'next'.
455 + Will merge to 'master'.
456
457
652 -* sb/cocci-pending (2018-11-11) 1 commit
458 +* sb/cocci-pending (2018-11-14) 1 commit
459 - coccicheck: introduce 'pending' semantic patches
460
461 A coding convention around the Coccinelle semantic patches to have
@@ -678,20 +484,6 @@ of the repositories listed at
484
485 Will merge to 'next'.
486
681 ---------------------------------------------------
682 -[Stalled]
683 -
684 -* lt/date-human (2018-07-09) 1 commit
685 - - Add 'human' date format
686 -
687 - A new date format "--date=human" that morphs its output depending
688 - on how far the time is from the current time has been introduced.
689 - "--date=auto" can be used to use this new format when the output is
690 - goint to the pager or to the terminal and otherwise the default
691 - format.
692 -
693 ---------------------------------------------------
694 -[Cooking]
487
488 * jk/curl-ldflags (2018-11-05) 1 commit
489 (merged to 'next' on 2018-11-13 at d1387a3aa0)
@@ -713,22 +505,22 @@ of the repositories listed at
505 Will merge to 'master'.
506
507
716 -* sb/diff-color-moved-config-option-fixup (2018-11-05) 1 commit
717 - - diff: differentiate error handling in parse_color_moved_ws
508 +* sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit
509 + - diff: align move detection error handling with other options
510
511
720 -* ab/range-diff-no-patch (2018-11-12) 4 commits
721 - - SQUASH???
722 - - range-diff: make diff option behavior (e.g. --stat) consistent
723 - - range-diff: fix regression in passing along diff options
724 - - range-diff doc: add a section about output stability
512 +* ab/range-diff-no-patch (2018-11-14) 3 commits
513 + (merged to 'next' on 2018-11-17 at c42e0891d0)
514 + + range-diff: make diff option behavior (e.g. --stat) consistent
515 + + range-diff: fix regression in passing along diff options
516 + + range-diff doc: add a section about output stability
517
518 The "--no-patch" option, which can be used to get a high-level
519 overview without the actual line-by-line patch difference shown, of
520 the "range-diff" command was earlier broken, which has been
521 corrected.
522
731 - Waiting for a response to squashable fix.
523 + Will merge to 'master'.
524
525
526 * jk/unused-parameter-fixes (2018-11-06) 14 commits
@@ -791,15 +583,16 @@ of the repositories listed at
583 - Makefile: ease dynamic-gettext-poison transition
584 - i18n: make GETTEXT_POISON a runtime option
585
794 - On hold.
795 - The tip one may be controversial, but at least it would get me going.
796 - cf. <xmqqpnvg8d5z.fsf@gitster-ct.c.googlers.com>
586 + Our testing framework uses a special i18n "poisoned localization"
587 + feature to find messages that ought to stay constant but are
588 + incorrectly marked to be translated. This feature has been made
589 + into a runtime option (it used to be a compile-time option).
590 +
591 + Will merge to 'next'.
592
593
799 -* ab/push-dwim-dst (2018-10-29) 9 commits
800 - - SQUASH???
594 +* ab/push-dwim-dst (2018-11-14) 7 commits
595 - push doc: document the DWYM behavior pushing to unqualified <dst>
802 - - push: add DWYM support for "git push refs/remotes/...:<dst>"
596 - push: test that <src> doesn't DWYM if <dst> is unqualified
597 - push: add an advice on unqualified <dst> push
598 - push: move unqualified refname error into a function
@@ -814,8 +607,7 @@ of the repositories listed at
607 object into account (e.g. a tag object would want to go under
608 refs/tags/).
609
817 - The last few steps are questionable.
818 - cf. <87in1lkw54.fsf@evledraar.gmail.com>
610 + Will merge to 'next'.
611
612
613 * md/list-lazy-objects-fix (2018-10-29) 1 commit
@@ -875,34 +667,35 @@ of the repositories listed at
667 Will merge to 'master'.
668
669
878 -* sb/more-repo-in-api (2018-10-19) 19 commits
670 +* sb/more-repo-in-api (2018-11-14) 23 commits
671 + - t/helper/test-repository: celebrate independence from the_repository
672 + - path.h: make REPO_GIT_PATH_FUNC repository agnostic
673 + - commit: prepare free_commit_buffer and release_commit_memory for any repo
674 + - commit-graph: convert remaining functions to handle any repo
675 - submodule: don't add submodule as odb for push
676 - submodule: use submodule repos for object lookup
677 - pretty: prepare format_commit_message to handle arbitrary repositories
678 - commit: prepare logmsg_reencode to handle arbitrary repositories
883 - - commit: prepare repo_unuse_commit_buffer to handle arbitrary repositories
884 - - commit: prepare get_commit_buffer to handle arbitrary repositories
885 - - commit-reach: prepare in_merge_bases[_many] to handle arbitrary repositories
886 - - commit-reach: prepare get_merge_bases to handle arbitrary repositories
887 - - commit-reach.c: allow get_merge_bases_many_0 to handle arbitrary repositories
888 - - commit-reach.c: allow remove_redundant to handle arbitrary repositories
889 - - commit-reach.c: allow merge_bases_many to handle arbitrary repositories
890 - - commit-reach.c: allow paint_down_to_common to handle arbitrary repositories
891 - - commit: allow parse_commit* to handle arbitrary repositories
679 + - commit: prepare repo_unuse_commit_buffer to handle any repo
680 + - commit: prepare get_commit_buffer to handle any repo
681 + - commit-reach: prepare in_merge_bases[_many] to handle any repo
682 + - commit-reach: prepare get_merge_bases to handle any repo
683 + - commit-reach.c: allow get_merge_bases_many_0 to handle any repo
684 + - commit-reach.c: allow remove_redundant to handle any repo
685 + - commit-reach.c: allow merge_bases_many to handle any repo
686 + - commit-reach.c: allow paint_down_to_common to handle any repo
687 + - commit: allow parse_commit* to handle any repo
688 - object: parse_object to honor its repository argument
893 - - object-store: prepare has_{sha1, object}_file[_with_flags] to handle arbitrary repositories
894 - - object-store: prepare read_object_file to deal with arbitrary repositories
895 - - object-store: allow read_object_file_extended to read from arbitrary repositories
689 + - object-store: prepare has_{sha1, object}_file to handle any repo
690 + - object-store: prepare read_object_file to deal with any repo
691 + - object-store: allow read_object_file_extended to read from any repo
692 - packfile: allow has_packed_and_bad to handle arbitrary repositories
693 - sha1_file: allow read_object to read objects in arbitrary repositories
694
695 The in-core repository instances are passed through more codepaths.
696
901 - On hold.
902 - Not quite correct?
903 - cf. <20181025091406.GK30222@szeder.dev>
904 - Reroll being worked on.
905 - cf. <20181030220817.61691-1-sbeller@google.com>
697 + Will merge to 'next'.
698 + cf. <20181115221254.45373-1-jonathantanmy@google.com>
699
700
701 * en/merge-path-collision (2018-11-08) 10 commits
@@ -922,13 +715,17 @@ of the repositories listed at
715 Will merge to 'next'.
716
717
925 -* sd/stash-wo-user-name (2018-11-02) 1 commit
718 +* sd/stash-wo-user-name (2018-11-16) 2 commits
719 + - stash: tolerate missing user identity
720 - t3903-stash: test without configured user.name and user.email
721
928 - An early part of a wip.
722 + A properly configured username/email is required under
723 + user.useConfigOnly in order to create commits; now "git stash"
724 + (even though it creates commit objects to represent stash entries)
725 + command is excempt from the requirement.
726
727
931 -* bc/sha-256 (2018-11-05) 12 commits
728 +* bc/sha-256 (2018-11-14) 12 commits
729 - hash: add an SHA-256 implementation using OpenSSL
730 - sha256: add an SHA-256 implementation using libgcrypt
731 - Add a base implementation of SHA-256 support
@@ -978,8 +775,7 @@ of the repositories listed at
775
776 "git branch" learned a new subcommand "--show-current".
777
981 - On hold, monitoring the discussion.
982 - cf. <CAPig+cRVdogY8VLXcftbY=n9tQ9wDo4YrnrdU6+pZ3ch6uhZGA@mail.gmail.com>
778 + Is the discussion on this topic over? What was the outcome?
779
780
781 * mk/use-size-t-in-zlib (2018-10-15) 1 commit
@@ -1002,9 +798,7 @@ of the repositories listed at
798 version 2 of the protocol is defined to allow going over http(s) as
799 well as Git native transport.
800
1005 - Will hold.
1006 - cf. <20181016212008.GA249669@google.com>
1007 - Breaks interoperability.
801 + Reverted out of next.
802
803
804 * ag/sequencer-reduce-rewriting-todo (2018-11-12) 16 commits
@@ -1068,8 +862,7 @@ of the repositories listed at
862 "git fetch --recurse-submodules" may not fetch the necessary commit
863 that is bound to the superproject, which is getting corrected.
864
1071 - On hold, monitoring the discussion.
1072 - cf. <20181025233231.102245-1-sbeller@google.com>
865 + Is the discussion on this topic over? What was the outcome?
866
867
868 * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
@@ -1083,27 +876,27 @@ of the repositories listed at
876
877
878 * ps/stash-in-c (2018-10-15) 21 commits
1086 - - stash: replace all `write-tree` child processes with API calls
1087 - - stash: optimize `get_untracked_files()` and `check_changes()`
1088 - - stash: convert `stash--helper.c` into `stash.c`
1089 - - stash: convert save to builtin
1090 - - stash: make push -q quiet
1091 - - stash: convert push to builtin
1092 - - stash: convert create to builtin
1093 - - stash: convert store to builtin
1094 - - stash: convert show to builtin
1095 - - stash: convert list to builtin
1096 - - stash: convert pop to builtin
1097 - - stash: convert branch to builtin
1098 - - stash: convert drop and clear to builtin
1099 - - stash: convert apply to builtin
1100 - - stash: mention options in `show` synopsis
1101 - - stash: add tests for `git stash show` config
1102 - - stash: rename test cases to be more descriptive
1103 - - t3903: modernize style
1104 - - stash: improve option parsing test coverage
1105 - - strbuf.c: add `strbuf_join_argv()`
1106 - - sha1-name.c: add `get_oidf()` which acts like `get_oid()`
879 + . stash: replace all `write-tree` child processes with API calls
880 + . stash: optimize `get_untracked_files()` and `check_changes()`
881 + . stash: convert `stash--helper.c` into `stash.c`
882 + . stash: convert save to builtin
883 + . stash: make push -q quiet
884 + . stash: convert push to builtin
885 + . stash: convert create to builtin
886 + . stash: convert store to builtin
887 + . stash: convert show to builtin
888 + . stash: convert list to builtin
889 + . stash: convert pop to builtin
890 + . stash: convert branch to builtin
891 + . stash: convert drop and clear to builtin
892 + . stash: convert apply to builtin
893 + . stash: mention options in `show` synopsis
894 + . stash: add tests for `git stash show` config
895 + . stash: rename test cases to be more descriptive
896 + . t3903: modernize style
897 + . stash: improve option parsing test coverage
898 + . strbuf.c: add `strbuf_join_argv()`
899 + . sha1-name.c: add `get_oidf()` which acts like `get_oid()`
900
901 "git stash" rewritten in C.
902
@@ -1141,3 +934,9 @@ of the repositories listed at
934 Discarded.
935 Reverted out of 'next'.
936 cf. <87sh0slvxm.fsf@evledraar.gmail.com>
937 +
938 +
939 +* gl/bundle-unlock-before-aborting (2018-11-14) 1 commit
940 + . bundle: rollback lock file while refusing to create an empty bundle
941 +
942 + Superseded by jk/close-duped-fd-before-unlock-for-bundle