What's cooking (2018/11 #06)

Junio C Hamano committed Nov 21, 2018 at 17:57 UTC d696d380480c15566484ab7bb5d3045ce60fc32e
1 file changed +578 -474
whats-cooking.txt
+578 -474
@@ -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, #05; Sat, 17)
4 -X-master-at: d166e6afe5f257217836ef24a73764eba390c58d
5 -X-next-at: 2fe598284e7f22561137927e87b2ef6d70e8ab2c
3 +Subject: What's cooking in git.git (Nov 2018, #06; Wed, 21)
4 +X-master-at: bb75be6cb916297f271c846f2f9caa3daaaec718
5 +X-next-at: 68bc7959f8dc2d629c09be1a52f1b95b977b3a13
6
7 -What's cooking in git.git (Nov 2018, #05; Sat, 17)
7 +What's cooking in git.git (Nov 2018, #06; Wed, 21)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -18,106 +18,156 @@ of the repositories listed at
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 --------------------------------------------------
21 -[New Topics]
21 +[Graduated to "master"]
22
23 -* ab/push-example-in-doc (2018-11-14) 1 commit
24 - - push: change needlessly ambiguous example in error
23 +* ab/dynamic-gettext-poison (2018-11-09) 2 commits
24 + (merged to 'next' on 2018-11-18 at 13247a3be6)
25 + + Makefile: ease dynamic-gettext-poison transition
26 + + i18n: make GETTEXT_POISON a runtime option
27
26 - An error message that sugggests how to give correct arguments to
27 - "git push" has been updated.
28 + Our testing framework uses a special i18n "poisoned localization"
29 + feature to find messages that ought to stay constant but are
30 + incorrectly marked to be translated. This feature has been made
31 + into a runtime option (it used to be a compile-time option).
32
29 - Will merge to 'next'.
33
34 +* ab/range-diff-no-patch (2018-11-14) 3 commits
35 + (merged to 'next' on 2018-11-17 at c42e0891d0)
36 + + range-diff: make diff option behavior (e.g. --stat) consistent
37 + + range-diff: fix regression in passing along diff options
38 + + range-diff doc: add a section about output stability
39
32 -* dd/poll-dot-h (2018-11-14) 1 commit
33 - - git-compat-util: prefer poll.h to sys/poll.h
40 + The "--no-patch" option, which can be used to get a high-level
41 + overview without the actual line-by-line patch difference shown, of
42 + the "range-diff" command was earlier broken, which has been
43 + corrected.
44
35 - A build update.
45
37 - Will merge to 'next'.
46 +* ab/rebase-in-c-escape-hatch (2018-11-16) 2 commits
47 + (merged to 'next' on 2018-11-17 at a01be221c7)
48 + + tests: add a special setup where rebase.useBuiltin is off
49 + + rebase doc: document rebase.useBuiltin
50
51 + The recently merged "rebase in C" has an escape hatch to use the
52 + scripted version when necessary, but it hasn't been documented,
53 + which has been corrected.
54
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
55
53 - Small fixes and features for fast-export and fast-import, mostly on
54 - the fast-export side.
56 +* ag/p3400-force-checkout (2018-11-12) 1 commit
57 + (merged to 'next' on 2018-11-17 at 87ff48d52a)
58 + + p3400: replace calls to `git checkout -b' by `git checkout -B'
59
56 - Will merge to 'next'.
60 + Perf test tweak.
61
62
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
63 +* cb/notes-freeing-always-null-fix (2018-11-13) 1 commit
64 + (merged to 'next' on 2018-11-17 at 47aeec5fc9)
65 + + builtin/notes: remove unnecessary free
66
63 - Windows update.
67 + Code cleanup.
68
65 - Will merge to 'master'.
69
70 +* dd/poll-dot-h (2018-11-14) 1 commit
71 + (merged to 'next' on 2018-11-18 at b6745f3308)
72 + + git-compat-util: prefer poll.h to sys/poll.h
73
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 + A build update.
75
75 - Update the "test installed Git" mode of our test suite to work better.
76
77 - Will merge to 'next'.
77 +* ds/push-squelch-ambig-warning (2018-11-07) 1 commit
78 + (merged to 'next' on 2018-11-18 at 5e8b3db129)
79 + + pack-objects: ignore ambiguous object warnings
80
81 + "git push" used to check ambiguities between object-names and
82 + refnames while processing the list of refs' old and new values,
83 + which was unnecessary (as it knew that it is feeding raw object
84 + names). This has been optimized out.
85
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
86
84 - Code simplification.
87 +* ds/reachable-topo-order (2018-11-02) 7 commits
88 + (merged to 'next' on 2018-11-13 at 4155d01aee)
89 + + t6012: make rev-list tests more interesting
90 + + revision.c: generation-based topo-order algorithm
91 + + commit/revisions: bookkeeping before refactoring
92 + + revision.c: begin refactoring --topo-order logic
93 + + test-reach: add rev-list tests
94 + + test-reach: add run_three_modes method
95 + + prio-queue: add 'peek' operation
96
86 - Will merge to 'master'.
97 + The revision walker machinery learned to take advantage of the
98 + commit generation numbers stored in the commit-graph file.
99
100
89 -* nd/checkout-dwim-fix (2018-11-14) 1 commit
90 - - checkout: disambiguate dwim tracking branches and local files
101 +* jk/close-duped-fd-before-unlock-for-bundle (2018-11-17) 1 commit
102 + (merged to 'next' on 2018-11-17 at 2fe598284e)
103 + + bundle: dup() output descriptor closer to point-of-use
104
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.
105 + When "git bundle" aborts due to an empty commit ranges
106 + (i.e. resulting in an empty pack), it left a file descriptor to an
107 + lockfile open, which resulted in leftover lockfile on Windows where
108 + you cannot remove a file with an open file descriptor. This has
109 + been corrected.
110
99 - Will merge to 'next'.
111
112 +* jk/curl-ldflags (2018-11-05) 1 commit
113 + (merged to 'next' on 2018-11-13 at d1387a3aa0)
114 + + build: link with curl-defined linker flags
115
102 -* nd/checkout-noisy (2018-11-14) 1 commit
103 - - checkout: print something when checking out paths
116 + The way -lcurl library gets linked has been simplified by taking
117 + advantage of the fact that we can just ask curl-config command how.
118
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.
119
120 +* jk/unused-parameter-fixes (2018-11-06) 14 commits
121 + (merged to 'next' on 2018-11-13 at 8d3625b4ae)
122 + + midx: double-check large object write loop
123 + + assert NOARG/NONEG behavior of parse-options callbacks
124 + + parse-options: drop OPT_DATE()
125 + + apply: return -1 from option callback instead of calling exit(1)
126 + + cat-file: report an error on multiple --batch options
127 + + tag: mark "--message" option with NONEG
128 + + show-branch: mark --reflog option as NONEG
129 + + format-patch: mark "--no-numbered" option with NONEG
130 + + status: mark --find-renames option with NONEG
131 + + cat-file: mark batch options with NONEG
132 + + pack-objects: mark index-version option as NONEG
133 + + ls-files: mark exclude options as NONEG
134 + + am: handle --no-patch-format option
135 + + apply: mark include/exclude options as NONEG
136 +
137 + Various functions have been audited for "-Wunused-parameter" warnings
138 + and bugs in them got fixed.
139
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
140
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.
141 +* jk/verify-sig-merge-into-void (2018-11-07) 3 commits
142 + (merged to 'next' on 2018-11-13 at a207be60ed)
143 + + pull: handle --verify-signatures for unborn branch
144 + + merge: handle --verify-signatures for unborn branch
145 + + merge: extract verify_merge_signature() helper
146
120 - Will merge to 'master'.
147 + "git merge" and "git pull" that merges into an unborn branch used
148 + to completely ignore "--verify-signatures", which has been
149 + corrected.
150 +
151 +
152 +* js/apply-recount-allow-noop (2018-11-13) 1 commit
153 + (merged to 'next' on 2018-11-17 at e413fa105f)
154 + + apply --recount: allow "no-op hunks"
155 +
156 + When editing a patch in a "git add -i" session, a hunk could be
157 + made to no-op. The "git apply" program used to reject a patch with
158 + such a no-op hunk to catch user mistakes, but it is now updated to
159 + explicitly allow a no-op hunk in an edited patch.
160 +
161 +
162 +* js/builtin-rebase-perf-fix (2018-11-13) 3 commits
163 + (merged to 'next' on 2018-11-17 at 9e9db8c8e1)
164 + + built-in rebase: reinstate `checkout -q` behavior where appropriate
165 + + rebase: prepare reset_head() for more flags
166 + + rebase: consolidate clean-up code before leaving reset_head()
167 +
168 + Code clean-up with correction to make the reimplemented "git
169 + rebase" a more faithful rewrite of the original, which also regains
170 + performance.
171
172
173 * js/config-sequence (2018-11-16) 1 commit
@@ -127,8 +177,6 @@ of the repositories listed at
177 A sanity check for start-up sequence has been added in the config
178 API codepath.
179
130 - Will merge to 'master'.
131 -
180
181 * js/fuzz-cxxflags (2018-11-16) 1 commit
182 (merged to 'next' on 2018-11-17 at 5e589a5237)
@@ -137,7 +185,20 @@ of the repositories listed at
185 The build procedure to link for fuzzing test has been made
186 customizable with a new Makefile variable.
187
140 - Will merge to 'master'.
188 +
189 +* js/mailmap (2018-11-12) 1 commit
190 + (merged to 'next' on 2018-11-17 at 673bfc4cfa)
191 + + Update .mailmap
192 +
193 + Update the mailmap to unify multiple entries for the authors with
194 + commits since v2.10.
195 +
196 +
197 +* js/mingw-create-hard-link (2018-11-14) 1 commit
198 + (merged to 'next' on 2018-11-17 at 27f866db16)
199 + + mingw: use `CreateHardLink()` directly
200 +
201 + Windows update.
202
203
204 * js/mingw-msdn-url (2018-11-16) 1 commit
@@ -146,7 +207,12 @@ of the repositories listed at
207
208 The URL to an MSDN page in a comment has been updated.
209
149 - Will merge to 'master'.
210 +
211 +* js/mingw-res-rebuild (2018-11-07) 1 commit
212 + (merged to 'next' on 2018-11-13 at fb736827d1)
213 + + Windows: force-recompile git.res for differing architectures
214 +
215 + Windows build update.
216
217
218 * js/rebase-am-options (2018-11-16) 2 commits
@@ -158,447 +224,516 @@ of the repositories listed at
224 meant for underlying "git am" has been revamped, which fixed for
225 options with parameters that were not passed correctly.
226
161 - Will merge to 'master'.
227
228 +* js/rebase-autostash-detach-fix (2018-11-08) 2 commits
229 + (merged to 'next' on 2018-11-17 at 15957b4a5a)
230 + + built-in rebase --autostash: leave the current branch alone if possible
231 + + built-in rebase: demonstrate regression with --autostash
232
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
233 + "git rebase --autostash" did not correctly re-attach the HEAD at times.
234
168 - Doc update.
235
170 - Will merge to 'master'.
236 +* js/rebase-r-and-merge-head (2018-11-13) 5 commits
237 + (merged to 'next' on 2018-11-17 at 6bb27df7b1)
238 + + status: rebase and merge can be in progress at the same time
239 + + built-in rebase --skip/--abort: clean up stale .git/<name> files
240 + + rebase -i: include MERGE_HEAD into files to clean up
241 + + rebase -r: do not write MERGE_HEAD unless needed
242 + + rebase -r: demonstrate bug with conflicting merges
243
244 + Bugfix for the recently graduated "git rebase --rebase-merges".
245
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
246
178 - Refspecs configured with "git -c var=val clone" did not propagate
179 - to the resulting repository, which has been corrected.
247 +* js/test-git-installed (2018-11-16) 5 commits
248 + (merged to 'next' on 2018-11-18 at 61474ba19e)
249 + + tests: explicitly use `git.exe` on Windows
250 + + tests: do not require Git to be built when testing an installed Git
251 + + t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set
252 + + tests: respect GIT_TEST_INSTALLED when initializing repositories
253 + + tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/
254
181 - Will merge to 'next'.
255 + Update the "test installed Git" mode of our test suite to work better.
256
257
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
258 +* lj/mingw-pthread-cond (2018-11-14) 1 commit
259 + (merged to 'next' on 2018-11-17 at 46abe4100d)
260 + + win32: replace pthread_cond_*() with much simpler code
261
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.
262 + Code simplification.
263
192 - Will merge to 'master'.
264
265 +* mg/gpg-fingerprint-test (2018-11-05) 2 commits
266 + (merged to 'next' on 2018-11-13 at 71f11020c4)
267 + + t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key
268 + + t/t7510-signed-commit.sh: Add %GP to custom format checks
269
195 -* cc/shared-index-permbits (2018-11-17) 1 commit
196 - - read-cache: write all indexes with the same permissions
270 + Add a few tests for a topic already in 'master'.
271
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.
272
202 - Expecting a reroll.
273 +* nd/command-list-gen-fix (2018-11-12) 1 commit
274 + (merged to 'next' on 2018-11-17 at a6ff6baa0b)
275 + + build: fix broken command-list.h generation with core.autocrlf
276
277 + Build tweak.
278
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
279
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.
280 +* nd/doc-extensions (2018-11-16) 1 commit
281 + (merged to 'next' on 2018-11-17 at 09306064d5)
282 + + doc: move extensions.worktreeConfig to the right place
283
215 - Will merge to 'master'.
284 + Doc update.
285
217 ---------------------------------------------------
218 -[Stalled]
286
220 -* lt/date-human (2018-07-09) 1 commit
221 - - Add 'human' date format
287 +* nd/format-patch-cover-letter-stat-width (2018-11-13) 1 commit
288 + (merged to 'next' on 2018-11-18 at 65a464977d)
289 + + format-patch: respect --stat in cover letter's diffstat
290
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.
291 + "git format-patch --stat=<width>" can be used to specify the width
292 + used by the diffstat (shown in the cover letter).
293
229 ---------------------------------------------------
230 -[Cooking]
294
232 -* js/rebase-autostash-detach-fix (2018-11-08) 2 commits
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
295 +* nd/pthreads (2018-11-05) 14 commits
296 + (merged to 'next' on 2018-11-13 at bb6914b3f8)
297 + + Clean up pthread_create() error handling
298 + + read-cache.c: initialize copy_len to shut up gcc 8
299 + + read-cache.c: reduce branching based on HAVE_THREADS
300 + + read-cache.c: remove #ifdef NO_PTHREADS
301 + + pack-objects: remove #ifdef NO_PTHREADS
302 + + preload-index.c: remove #ifdef NO_PTHREADS
303 + + grep: clean up num_threads handling
304 + + grep: remove #ifdef NO_PTHREADS
305 + + attr.c: remove #ifdef NO_PTHREADS
306 + + name-hash.c: remove #ifdef NO_PTHREADS
307 + + index-pack: remove #ifdef NO_PTHREADS
308 + + send-pack.c: move async's #ifdef NO_PTHREADS back to run-command.c
309 + + run-command.h: include thread-utils.h instead of pthread.h
310 + + thread-utils: macros to unconditionally compile pthreads API
311
237 - "git rebase --autostash" did not correctly re-attach the HEAD at times.
312 + The codebase has been cleaned up to reduce "#ifndef NO_PTHREADS".
313
239 - Will merge to 'master'.
314
315 +* ra/rev-parse-exclude-glob (2018-11-13) 2 commits
316 + (merged to 'next' on 2018-11-17 at 396dd7a2c2)
317 + + refs: fix some exclude patterns being ignored
318 + + refs: show --exclude failure with --branches/tags/remotes=glob
319
242 -* en/rebase-merge-on-sequencer (2018-11-08) 2 commits
243 - - rebase: implement --merge via git-rebase--interactive
244 - - git-rebase, sequencer: extend --quiet option for the interactive machinery
320 + "rev-parse --exclude=<pattern> --branches=<pattern>" etc. did not
321 + quite work, which has been corrected.
322
246 - "git rebase --merge" as been reimplemented by reusing the internal
247 - machinery used for "git rebase -i".
323
324 +* sb/cocci-pending (2018-11-14) 1 commit
325 + (merged to 'next' on 2018-11-18 at dd271722d3)
326 + + coccicheck: introduce 'pending' semantic patches
327
250 -* js/mailmap (2018-11-12) 1 commit
251 - (merged to 'next' on 2018-11-17 at 673bfc4cfa)
252 - + Update .mailmap
328 + A coding convention around the Coccinelle semantic patches to have
329 + two classes to ease code migration process has been proposed and
330 + its support has been added to the Makefile.
331
254 - Update the mailmap to unify multiple entries for the authors with
255 - commits since v2.10.
332
257 - Will merge to 'master'.
333 +* sg/ref-filter-wo-repository (2018-11-16) 1 commit
334 + (merged to 'next' on 2018-11-17 at c0bec63990)
335 + + ref-filter: don't look for objects when outside of a repository
336
337 + "git ls-remote --sort=<thing>" can feed an object that is not yet
338 + available into the comparison machinery and segfault, which has
339 + been corrected to check such a request upfront and reject it.
340
260 -* fc/http-version (2018-11-09) 1 commit
261 - - http: add support selecting http version
341
263 - The "http.version" configuration variable can be used with recent
264 - enough cURL library to force the version of HTTP used to talk when
265 - fetching and pushing.
342 +* tb/print-size-t-with-uintmax-format (2018-11-12) 1 commit
343 + (merged to 'next' on 2018-11-18 at 752e51c7ed)
344 + + Upcast size_t variables to uintmax_t when printing
345 +
346 + Code preparation to replace ulong vars with size_t vars where
347 + appropriate.
348 +
349 +
350 +* tb/xcurl-off-t (2018-11-12) 1 commit
351 + (merged to 'next' on 2018-11-18 at ac2a4bc14a)
352 + + remote-curl.c: xcurl_off_t is not portable (on 32 bit platfoms)
353 +
354 + The xcurl_off_t() helper function is used to cast size_t to
355 + curl_off_t, but some compilers gave warnings against the code to
356 + ensure the casting is done without wraparound, when size_t is
357 + narrower than curl_off_t. This warning has been squelched.
358 +
359 +--------------------------------------------------
360 +[New Topics]
361 +
362 +* dl/merge-cleanup-scissors-fix (2018-11-21) 2 commits
363 + - merge: add scissors line on merge conflict
364 + - t7600: clean up 'merge --squash c3 with c7' test
365 +
366 + The list of conflicted paths shown in the editor while concluding a
367 + conflicted merge was shown above the scissors line when the
368 + clean-up mode is set to "scissors", even though it was commented
369 + out just like the list of updated paths and other information to
370 + help the user explain the merge better.
371
372 Will merge to 'next'.
373
374
270 -* ag/p3400-force-checkout (2018-11-12) 1 commit
271 - (merged to 'next' on 2018-11-17 at 87ff48d52a)
272 - + p3400: replace calls to `git checkout -b' by `git checkout -B'
375 +* aw/pretty-trailers (2018-11-19) 5 commits
376 + - pretty: add support for separator option in %(trailers)
377 + - strbuf: separate callback for strbuf_expand:ing literals
378 + - pretty: add support for "valueonly" option in %(trailers)
379 + - pretty: allow showing specific trailers
380 + - pretty: single return path in %(trailers) handling
381
274 - Perf test tweak.
382 + The %(trailers) formatter in "git log --format=..." now allows to
383 + optionally pick trailers selectively by keyword, show only values,
384 + etc.
385
276 - Will merge to 'master'.
386
387 +* nd/attr-pathspec-in-tree-walk (2018-11-19) 5 commits
388 + - tree-walk: support :(attr) matching
389 + - dir.c: move, rename and export match_attrs()
390 + - pathspec.h: clean up "extern" in function declarations
391 + - tree-walk.c: make tree_entry_interesting() take an index
392 + - tree.c: make read_tree*() take 'struct repository *'
393
279 -* cb/notes-freeing-always-null-fix (2018-11-13) 1 commit
280 - (merged to 'next' on 2018-11-17 at 47aeec5fc9)
281 - + builtin/notes: remove unnecessary free
394 + The traversal over tree objects has learned to honor
395 + ":(attr:label)" pathspec match, which has been implemented only for
396 + enumerating paths on the filesystem.
397
283 - Code cleanup.
398
285 - Will merge to 'master'.
399 +* ab/commit-graph-progress-fix (2018-11-20) 1 commit
400 + - commit-graph: split up close_reachable() progress output
401
402
288 -* dl/remote-save-to-push (2018-11-13) 1 commit
289 - - remote: add --save-to-push option to git remote set-url
403 +* sg/test-BUG (2018-11-20) 1 commit
404 + - tests: send "bug in the test script" errors to the script's stderr
405
291 - "git remote set-url" learned a new option that moves existing value
292 - of the URL field to pushURL field of the remote before replacing
293 - the URL field with a new value.
406 + test framework has been updated to make a bug in the test script
407 + (as opposed to bugs in Git that are discovered by running the
408 + tests) stand out more prominently.
409
295 - Undecided.
410 + Will merge to 'next'.
411
412
298 -* jk/loose-object-cache (2018-11-13) 9 commits
299 - - fetch-pack: drop custom loose object cache
300 - - sha1-file: use loose object cache for quick existence check
301 - - object-store: provide helpers for loose_objects_cache
302 - - sha1-file: use an object_directory for the main object dir
303 - - handle alternates paths the same as the main object dir
304 - - sha1_file_name(): overwrite buffer instead of appending
305 - - rename "alternate_object_database" to "object_directory"
306 - - submodule--helper: prefer strip_suffix() to ends_with()
307 - - fsck: do not reuse child_process structs
413 +* sg/test-cmp-rev (2018-11-20) 1 commit
414 + - test-lib-functions: make 'test_cmp_rev' more informative on failure
415
309 - Code clean-up with optimization for the codepath that checks
310 - (non-)existence of loose objects.
416 + Test framework update.
417
418 Will merge to 'next'.
419
420
315 -* js/apply-recount-allow-noop (2018-11-13) 1 commit
316 - (merged to 'next' on 2018-11-17 at e413fa105f)
317 - + apply --recount: allow "no-op hunks"
421 +* ss/msvc-strcasecmp (2018-11-20) 1 commit
422 + - msvc: directly use MS version (_stricmp) of strcasecmp
423
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.
424 + MSVC update.
425 +
426 + Will merge to 'next'.
427 +
428 +
429 +* cc/delta-islands (2018-11-21) 3 commits
430 + (merged to 'next' on 2018-11-21 at 3bac399f83)
431 + + pack-objects: fix off-by-one in delta-island tree-depth computation
432 + + pack-objects: zero-initialize tree_depth/layer arrays
433 + + pack-objects: fix tree_depth and layer invariants
434 +
435 + A few issues in the implementation of "delta-islands" feature has
436 + been corrected.
437
438 Will merge to 'master'.
439
440
327 -* js/builtin-rebase-perf-fix (2018-11-13) 3 commits
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()
441 +* jn/eoie-ieot (2018-11-21) 3 commits
442 + (merged to 'next' on 2018-11-21 at 9eb98a38f0)
443 + + index: make index.threads=true enable ieot and eoie
444 + + ieot: default to not writing IEOT section
445 + + eoie: default to not writing EOIE section
446 + (this branch is used by jn/unknown-index-extensions.)
447
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.
448 + As the warning message shown by existing versions of Git for
449 + unknown index extensions is a bit too alarming, two new extensions
450 + are held back and not written by default for the upcoming release.
451
452 Will merge to 'master'.
453
454
340 -* js/protocol-advertise-multi (2018-11-17) 1 commit
341 - - protocol: advertise multiple supported versions
455 +* jn/unknown-index-extensions (2018-11-21) 2 commits
456 + - index: offer advice for unknown index extensions
457 + - index: do not warn about unrecognized extensions
458 + (this branch uses jn/eoie-ieot.)
459
343 - The transport layer has been updated so that the protocol version
344 - used can be negotiated between the parties, by the initiator
345 - listing the protocol versions it is willing to talk, and the other
346 - side choosing from one of them.
460 + A bit too alarming warning given when unknown index extensions
461 + exist is getting revamped.
462
463 + Expecting a reroll.
464
349 -* js/rebase-r-and-merge-head (2018-11-13) 5 commits
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
465
357 - Bugfix for the recently graduated "git rebase --rebase-merges".
466 +* js/builtin-rebase-perf-fix-err-fix (2018-11-21) 1 commit
467 + (merged to 'next' on 2018-11-21 at 9c351cfc4a)
468 + + rebase: warn about the correct tree's OID
469 +
470 + The object name of the tree reported in a recently added error
471 + message was wrong, which has been corrected.
472
473 Will merge to 'master'.
474
475
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
476 +* js/rebase-am-options-fix (2018-11-21) 1 commit
477 + (merged to 'next' on 2018-11-21 at 4da85e17c2)
478 + + legacy-rebase: backport -C<n> and --whitespace=<option> checks
479
367 - Some errors from the other side coming over smart HTTP transport
368 - were not noticed, which has been corrected.
480 + Recently, built-in "rebase" tightened the error checking for a few
481 + options that are passed to underlying "am", but we forgot to make
482 + the matching change to the scripted version, which has been
483 + corrected.
484
370 - Will merge to 'next'.
485 + Will merge to 'master'.
486
487
373 -* nb/branch-show-other-worktrees-head (2018-11-12) 2 commits
374 - - branch: mark and colorize a branch differently if it is checked out in a linked worktree
375 - - ref-filter: add worktree atom
488 +* nd/clone-case-smashing-warning (2018-11-21) 1 commit
489 + (merged to 'next' on 2018-11-21 at 68bc7959f8)
490 + + clone: fix colliding file detection on APFS
491
377 - "git branch --list" learned to show branches that are checked out
378 - in other worktrees connected to the same repository prefixed with
379 - '+', similar to the way the currently checked out branch is shown
380 - with '*' in front.
492 + Recently added check for case smashing filesystems did not
493 + correctly utilize the cached stat information, leading to false
494 + breakage detected by our test suite, which has been corrected.
495
382 - Expecting a reroll.
496 + Will merge to 'master'.
497
498
385 -* nd/command-list-gen-fix (2018-11-12) 1 commit
386 - (merged to 'next' on 2018-11-17 at a6ff6baa0b)
387 - + build: fix broken command-list.h generation with core.autocrlf
499 +* tz/build-tech-midx-doc (2018-11-21) 1 commit
500 + (merged to 'next' on 2018-11-21 at 15dd462db0)
501 + + Documentation: build technical/multi-pack-index
502
389 - Build tweak.
503 + A documentation page that is referred to by other pages was not
504 + built by mistake, which has been corrected.
505
506 Will merge to 'master'.
507
508 +--------------------------------------------------
509 +[Stalled]
510
394 -* nd/format-patch-cover-letter-stat-width (2018-11-13) 1 commit
395 - - format-patch: respect --stat in cover letter's diffstat
396 -
397 - "git format-patch --stat=<width>" can be used to specify the width
398 - used by the diffstat (shown in the cover letter).
511 +* lt/date-human (2018-07-09) 1 commit
512 + - Add 'human' date format
513
400 - Will merge to 'next'.
514 + A new date format "--date=human" that morphs its output depending
515 + on how far the time is from the current time has been introduced.
516 + "--date=auto" can be used to use this new format when the output is
517 + goint to the pager or to the terminal and otherwise the default
518 + format.
519
520 +--------------------------------------------------
521 +[Cooking]
522
403 -* nd/the-index (2018-11-12) 22 commits
404 - - rebase-interactive.c: remove the_repository references
405 - - rerere.c: remove the_repository references
406 - - pack-*.c: remove the_repository references
407 - - pack-check.c: remove the_repository references
408 - - notes-cache.c: remove the_repository references
409 - - line-log.c: remove the_repository reference
410 - - diff-lib.c: remove the_repository references
411 - - delta-islands.c: remove the_repository references
412 - - cache-tree.c: remove the_repository references
413 - - bundle.c: remove the_repository references
414 - - branch.c: remove the_repository reference
415 - - bisect.c: remove the_repository reference
416 - - blame.c: remove implicit dependency the_repository
417 - - sequencer.c: remove implicit dependency on the_repository
418 - - sequencer.c: remove implicit dependency on the_index
419 - - transport.c: remove implicit dependency on the_index
420 - - notes-merge.c: remove implicit dependency the_repository
421 - - notes-merge.c: remove implicit dependency on the_index
422 - - list-objects.c: reduce the_repository references
423 - - list-objects-filter.c: remove implicit dependency on the_index
424 - - wt-status.c: remove implicit dependency the_repository
425 - - wt-status.c: remove implicit dependency on the_index
523 +* ab/push-example-in-doc (2018-11-14) 1 commit
524 + (merged to 'next' on 2018-11-18 at 8fd935a19c)
525 + + push: change needlessly ambiguous example in error
526
427 - More codepaths become aware of working with in-core repository
428 - instance other than the default "the_repository".
527 + An error message that sugggests how to give correct arguments to
528 + "git push" has been updated.
529
430 - Will merge to 'next'.
530 + Will cook in 'next'.
531
532
433 -* ot/ref-filter-object-info (2018-11-12) 5 commits
434 - - ref-filter: add docs for new options
435 - - ref-filter: add tests for deltabase
436 - - ref-filter: add deltabase option
437 - - ref-filter: add tests for objectsize:disk
438 - - ref-filter: add objectsize:disk option
533 +* en/fast-export-import (2018-11-17) 11 commits
534 + (merged to 'next' on 2018-11-18 at 87bbbffc95)
535 + + fast-export: add a --show-original-ids option to show original names
536 + + fast-import: remove unmaintained duplicate documentation
537 + + fast-export: add --reference-excluded-parents option
538 + + fast-export: ensure we export requested refs
539 + + fast-export: when using paths, avoid corrupt stream with non-existent mark
540 + + fast-export: move commit rewriting logic into a function for reuse
541 + + fast-export: avoid dying when filtering by paths and old tags exist
542 + + fast-export: use value from correct enum
543 + + git-fast-export.txt: clarify misleading documentation about rev-list args
544 + + git-fast-import.txt: fix documentation for --quiet option
545 + + fast-export: convert sha1 to oid
546
440 - The "--format=<placeholder>" option of for-each-ref, branch and tag
441 - learned to show a few more traits of objects that can be learned by
442 - the object_info API.
547 + Small fixes and features for fast-export and fast-import, mostly on
548 + the fast-export side.
549
444 - Will merge to 'next'.
550 + Will cook in 'next'.
551
552
447 -* ra/rev-parse-exclude-glob (2018-11-13) 2 commits
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
553 +* nd/checkout-dwim-fix (2018-11-14) 1 commit
554 + (merged to 'next' on 2018-11-18 at 3d714e7719)
555 + + checkout: disambiguate dwim tracking branches and local files
556
452 - "rev-parse --exclude=<pattern> --branches=<pattern>" etc. did not
453 - quite work, which has been corrected.
557 + "git checkout frotz" (without any double-dash) avoids ambiguity by
558 + making sure 'frotz' cannot be interpreted as a revision and as a
559 + path at the same time. This safety has been updated to check also
560 + a unique remote-tracking branch 'frotz' in a remote, when dwimming
561 + to create a local branch 'frotz' out of a remote-tracking branch
562 + 'frotz' from a remote.
563
455 - Will merge to 'master'.
564 + Will cook in 'next'.
565
566
458 -* sb/cocci-pending (2018-11-14) 1 commit
459 - - coccicheck: introduce 'pending' semantic patches
567 +* nd/checkout-noisy (2018-11-20) 2 commits
568 + - t0027: squelch checkout path run outside test_expect_* block
569 + - checkout: print something when checking out paths
570
461 - A coding convention around the Coccinelle semantic patches to have
462 - two classes to ease code migration process has been proposed and
463 - its support has been added to the Makefile.
571 + "git checkout [<tree-ish>] path..." learned to report the number of
572 + paths that have been checked out of the index or the tree-ish,
573 + which gives it the same degree of noisy-ness as the case in which
574 + the command checks out a branch.
575
465 - Will merge to 'next'.
576
577 +* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits
578 + (merged to 'next' on 2018-11-18 at cae0f3985b)
579 + + Documentation/clone: document ignored configuration variables
580 + + clone: respect additional configured fetch refspecs during initial fetch
581 + + clone: use a more appropriate variable name for the default refspec
582
468 -* tb/print-size-t-with-uintmax-format (2018-11-12) 1 commit
469 - - Upcast size_t variables to uintmax_t when printing
583 + Refspecs configured with "git -c var=val clone" did not propagate
584 + to the resulting repository, which has been corrected.
585
471 - Code preparation to replace ulong vars with size_t vars where
472 - appropriate.
586 + Will cook in 'next'.
587
474 - Will merge to 'next'.
588
589 +* cc/shared-index-permbits (2018-11-19) 1 commit
590 + (merged to 'next' on 2018-11-19 at 79df716844)
591 + + read-cache: make the split index obey umask settings
592
477 -* tb/xcurl-off-t (2018-11-12) 1 commit
478 - - remote-curl.c: xcurl_off_t is not portable (on 32 bit platfoms)
593 + The way .git/index and .git/sharedindex* files were initially
594 + created gave these files different perm bits until they were
595 + adjusted for shared repository settings. This was made consistent.
596
480 - The xcurl_off_t() helper function is used to cast size_t to
481 - curl_off_t, but some compilers gave warnings against the code to
482 - ensure the casting is done without wraparound, when size_t is
483 - narrower than curl_off_t. This warning has been squelched.
597 + Will merge to 'master'.
598
485 - Will merge to 'next'.
599
600 +* en/rebase-merge-on-sequencer (2018-11-08) 2 commits
601 + - rebase: implement --merge via git-rebase--interactive
602 + - git-rebase, sequencer: extend --quiet option for the interactive machinery
603
488 -* jk/curl-ldflags (2018-11-05) 1 commit
489 - (merged to 'next' on 2018-11-13 at d1387a3aa0)
490 - + build: link with curl-defined linker flags
604 + "git rebase --merge" as been reimplemented by reusing the internal
605 + machinery used for "git rebase -i".
606
492 - The way -lcurl library gets linked has been simplified by taking
493 - advantage of the fact that we can just ask curl-config command how.
607
495 - Will merge to 'master'.
608 +* fc/http-version (2018-11-09) 1 commit
609 + (merged to 'next' on 2018-11-18 at 42f5155095)
610 + + http: add support selecting http version
611
612 + The "http.version" configuration variable can be used with recent
613 + enough cURL library to force the version of HTTP used to talk when
614 + fetching and pushing.
615
498 -* mg/gpg-fingerprint-test (2018-11-05) 2 commits
499 - (merged to 'next' on 2018-11-13 at 71f11020c4)
500 - + t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key
501 - + t/t7510-signed-commit.sh: Add %GP to custom format checks
616 + Will cook in 'next'.
617
503 - Add a few tests for a topic already in 'master'.
618
505 - Will merge to 'master'.
619 +* dl/remote-save-to-push (2018-11-13) 1 commit
620 + - remote: add --save-to-push option to git remote set-url
621
622 + "git remote set-url" learned a new option that moves existing value
623 + of the URL field to pushURL field of the remote before replacing
624 + the URL field with a new value.
625
508 -* sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit
509 - - diff: align move detection error handling with other options
626
627 +* jk/loose-object-cache (2018-11-13) 9 commits
628 + (merged to 'next' on 2018-11-18 at 276691a21b)
629 + + fetch-pack: drop custom loose object cache
630 + + sha1-file: use loose object cache for quick existence check
631 + + object-store: provide helpers for loose_objects_cache
632 + + sha1-file: use an object_directory for the main object dir
633 + + handle alternates paths the same as the main object dir
634 + + sha1_file_name(): overwrite buffer instead of appending
635 + + rename "alternate_object_database" to "object_directory"
636 + + submodule--helper: prefer strip_suffix() to ends_with()
637 + + fsck: do not reuse child_process structs
638
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
639 + Code clean-up with optimization for the codepath that checks
640 + (non-)existence of loose objects.
641
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.
642 + Will cook in 'next'.
643
523 - Will merge to 'master'.
644
645 +* js/protocol-advertise-multi (2018-11-17) 1 commit
646 + - protocol: advertise multiple supported versions
647
526 -* jk/unused-parameter-fixes (2018-11-06) 14 commits
527 - (merged to 'next' on 2018-11-13 at 8d3625b4ae)
528 - + midx: double-check large object write loop
529 - + assert NOARG/NONEG behavior of parse-options callbacks
530 - + parse-options: drop OPT_DATE()
531 - + apply: return -1 from option callback instead of calling exit(1)
532 - + cat-file: report an error on multiple --batch options
533 - + tag: mark "--message" option with NONEG
534 - + show-branch: mark --reflog option as NONEG
535 - + format-patch: mark "--no-numbered" option with NONEG
536 - + status: mark --find-renames option with NONEG
537 - + cat-file: mark batch options with NONEG
538 - + pack-objects: mark index-version option as NONEG
539 - + ls-files: mark exclude options as NONEG
540 - + am: handle --no-patch-format option
541 - + apply: mark include/exclude options as NONEG
648 + The transport layer has been updated so that the protocol version
649 + used can be negotiated between the parties, by the initiator
650 + listing the protocol versions it is willing to talk, and the other
651 + side choosing from one of them.
652
543 - Various functions have been audited for "-Wunused-parameter" warnings
544 - and bugs in them got fixed.
653
546 - Will merge to 'master'.
654 +* js/smart-http-detect-remote-error (2018-11-17) 3 commits
655 + (merged to 'next' on 2018-11-18 at 5c6edfcb85)
656 + + remote-curl: die on server-side errors
657 + + remote-curl: tighten "version 2" check for smart-http
658 + + remote-curl: refactor smart-http discovery
659
660 + Some errors from the other side coming over smart HTTP transport
661 + were not noticed, which has been corrected.
662
549 -* ds/push-squelch-ambig-warning (2018-11-07) 1 commit
550 - - pack-objects: ignore ambiguous object warnings
663 + Will cook in 'next'.
664
552 - "git push" used to check ambiguities between object-names and
553 - refnames while processing the list of refs' old and new values,
554 - which was unnecessary (as it knew that it is feeding raw object
555 - names). This has been optimized out.
665
557 - Will merge to 'next'.
666 +* nb/branch-show-other-worktrees-head (2018-11-12) 2 commits
667 + - branch: mark and colorize a branch differently if it is checked out in a linked worktree
668 + - ref-filter: add worktree atom
669
670 + "git branch --list" learned to show branches that are checked out
671 + in other worktrees connected to the same repository prefixed with
672 + '+', similar to the way the currently checked out branch is shown
673 + with '*' in front.
674
560 -* jk/verify-sig-merge-into-void (2018-11-07) 3 commits
561 - (merged to 'next' on 2018-11-13 at a207be60ed)
562 - + pull: handle --verify-signatures for unborn branch
563 - + merge: handle --verify-signatures for unborn branch
564 - + merge: extract verify_merge_signature() helper
675 + Expecting a reroll.
676
566 - "git merge" and "git pull" that merges into an unborn branch used
567 - to completely ignore "--verify-signatures", which has been
568 - corrected.
677
570 - Will merge to 'master'.
678 +* nd/the-index (2018-11-12) 22 commits
679 + (merged to 'next' on 2018-11-18 at 73d1d8594e)
680 + + rebase-interactive.c: remove the_repository references
681 + + rerere.c: remove the_repository references
682 + + pack-*.c: remove the_repository references
683 + + pack-check.c: remove the_repository references
684 + + notes-cache.c: remove the_repository references
685 + + line-log.c: remove the_repository reference
686 + + diff-lib.c: remove the_repository references
687 + + delta-islands.c: remove the_repository references
688 + + cache-tree.c: remove the_repository references
689 + + bundle.c: remove the_repository references
690 + + branch.c: remove the_repository reference
691 + + bisect.c: remove the_repository reference
692 + + blame.c: remove implicit dependency the_repository
693 + + sequencer.c: remove implicit dependency on the_repository
694 + + sequencer.c: remove implicit dependency on the_index
695 + + transport.c: remove implicit dependency on the_index
696 + + notes-merge.c: remove implicit dependency the_repository
697 + + notes-merge.c: remove implicit dependency on the_index
698 + + list-objects.c: reduce the_repository references
699 + + list-objects-filter.c: remove implicit dependency on the_index
700 + + wt-status.c: remove implicit dependency the_repository
701 + + wt-status.c: remove implicit dependency on the_index
702
703 + More codepaths become aware of working with in-core repository
704 + instance other than the default "the_repository".
705
573 -* js/mingw-res-rebuild (2018-11-07) 1 commit
574 - (merged to 'next' on 2018-11-13 at fb736827d1)
575 - + Windows: force-recompile git.res for differing architectures
706 + Will cook in 'next'.
707
577 - Windows build update.
708
579 - Will merge to 'master'.
709 +* ot/ref-filter-object-info (2018-11-12) 5 commits
710 + (merged to 'next' on 2018-11-18 at ad4c086678)
711 + + ref-filter: add docs for new options
712 + + ref-filter: add tests for deltabase
713 + + ref-filter: add deltabase option
714 + + ref-filter: add tests for objectsize:disk
715 + + ref-filter: add objectsize:disk option
716
717 + The "--format=<placeholder>" option of for-each-ref, branch and tag
718 + learned to show a few more traits of objects that can be learned by
719 + the object_info API.
720
582 -* ab/dynamic-gettext-poison (2018-11-09) 2 commits
583 - - Makefile: ease dynamic-gettext-poison transition
584 - - i18n: make GETTEXT_POISON a runtime option
721 + Will cook in 'next'.
722
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).
723
591 - Will merge to 'next'.
724 +* sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit
725 + - diff: align move detection error handling with other options
726
727
728 * ab/push-dwim-dst (2018-11-14) 7 commits
595 - - push doc: document the DWYM behavior pushing to unqualified <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
599 - - push: improve the error shown on unqualified <dst> push
600 - - i18n: remote.c: mark error(...) messages for translation
601 - - remote.c: add braces in anticipation of a follow-up change
729 + (merged to 'next' on 2018-11-18 at 36567023be)
730 + + push doc: document the DWYM behavior pushing to unqualified <dst>
731 + + push: test that <src> doesn't DWYM if <dst> is unqualified
732 + + push: add an advice on unqualified <dst> push
733 + + push: move unqualified refname error into a function
734 + + push: improve the error shown on unqualified <dst> push
735 + + i18n: remote.c: mark error(...) messages for translation
736 + + remote.c: add braces in anticipation of a follow-up change
737
738 "git push $there $src:$dst" rejects when $dst is not a fully
739 qualified refname and not clear what the end user meant. The
@@ -607,7 +742,7 @@ of the repositories listed at
742 object into account (e.g. a tag object would want to go under
743 refs/tags/).
744
610 - Will merge to 'next'.
745 + Will cook in 'next'.
746
747
748 * md/list-lazy-objects-fix (2018-10-29) 1 commit
@@ -623,107 +758,90 @@ of the repositories listed at
758
759
760 * nd/i18n (2018-11-12) 16 commits
626 - - fsck: mark strings for translation
627 - - fsck: reduce word legos to help i18n
628 - - parse-options.c: mark more strings for translation
629 - - parse-options.c: turn some die() to BUG()
630 - - parse-options: replace opterror() with optname()
631 - - repack: mark more strings for translation
632 - - remote.c: mark messages for translation
633 - - remote.c: turn some error() or die() to BUG()
634 - - reflog: mark strings for translation
635 - - read-cache.c: add missing colon separators
636 - - read-cache.c: mark more strings for translation
637 - - read-cache.c: turn die("internal error") to BUG()
638 - - attr.c: mark more string for translation
639 - - archive.c: mark more strings for translation
640 - - alias.c: mark split_cmdline_strerror() strings for translation
641 - - git.c: mark more strings for translation
761 + (merged to 'next' on 2018-11-18 at 5215bd2f7d)
762 + + fsck: mark strings for translation
763 + + fsck: reduce word legos to help i18n
764 + + parse-options.c: mark more strings for translation
765 + + parse-options.c: turn some die() to BUG()
766 + + parse-options: replace opterror() with optname()
767 + + repack: mark more strings for translation
768 + + remote.c: mark messages for translation
769 + + remote.c: turn some error() or die() to BUG()
770 + + reflog: mark strings for translation
771 + + read-cache.c: add missing colon separators
772 + + read-cache.c: mark more strings for translation
773 + + read-cache.c: turn die("internal error") to BUG()
774 + + attr.c: mark more string for translation
775 + + archive.c: mark more strings for translation
776 + + alias.c: mark split_cmdline_strerror() strings for translation
777 + + git.c: mark more strings for translation
778
779 More _("i18n") markings.
780
645 - Will merge to 'next'.
646 -
647 -
648 -* nd/pthreads (2018-11-05) 14 commits
649 - (merged to 'next' on 2018-11-13 at bb6914b3f8)
650 - + Clean up pthread_create() error handling
651 - + read-cache.c: initialize copy_len to shut up gcc 8
652 - + read-cache.c: reduce branching based on HAVE_THREADS
653 - + read-cache.c: remove #ifdef NO_PTHREADS
654 - + pack-objects: remove #ifdef NO_PTHREADS
655 - + preload-index.c: remove #ifdef NO_PTHREADS
656 - + grep: clean up num_threads handling
657 - + grep: remove #ifdef NO_PTHREADS
658 - + attr.c: remove #ifdef NO_PTHREADS
659 - + name-hash.c: remove #ifdef NO_PTHREADS
660 - + index-pack: remove #ifdef NO_PTHREADS
661 - + send-pack.c: move async's #ifdef NO_PTHREADS back to run-command.c
662 - + run-command.h: include thread-utils.h instead of pthread.h
663 - + thread-utils: macros to unconditionally compile pthreads API
664 -
665 - The codebase has been cleaned up to reduce "#ifndef NO_PTHREADS".
666 -
667 - Will merge to 'master'.
781 + Will cook in 'next'.
782
783
784 * 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
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
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
785 + (merged to 'next' on 2018-11-19 at e5d2a129da)
786 + + t/helper/test-repository: celebrate independence from the_repository
787 + + path.h: make REPO_GIT_PATH_FUNC repository agnostic
788 + + commit: prepare free_commit_buffer and release_commit_memory for any repo
789 + + commit-graph: convert remaining functions to handle any repo
790 + + submodule: don't add submodule as odb for push
791 + + submodule: use submodule repos for object lookup
792 + + pretty: prepare format_commit_message to handle arbitrary repositories
793 + + commit: prepare logmsg_reencode to handle arbitrary repositories
794 + + commit: prepare repo_unuse_commit_buffer to handle any repo
795 + + commit: prepare get_commit_buffer to handle any repo
796 + + commit-reach: prepare in_merge_bases[_many] to handle any repo
797 + + commit-reach: prepare get_merge_bases to handle any repo
798 + + commit-reach.c: allow get_merge_bases_many_0 to handle any repo
799 + + commit-reach.c: allow remove_redundant to handle any repo
800 + + commit-reach.c: allow merge_bases_many to handle any repo
801 + + commit-reach.c: allow paint_down_to_common to handle any repo
802 + + commit: allow parse_commit* to handle any repo
803 + + object: parse_object to honor its repository argument
804 + + object-store: prepare has_{sha1, object}_file to handle any repo
805 + + object-store: prepare read_object_file to deal with any repo
806 + + object-store: allow read_object_file_extended to read from any repo
807 + + packfile: allow has_packed_and_bad to handle arbitrary repositories
808 + + sha1_file: allow read_object to read objects in arbitrary repositories
809
810 The in-core repository instances are passed through more codepaths.
811
697 - Will merge to 'next'.
812 + Will cook in 'next'.
813 cf. <20181115221254.45373-1-jonathantanmy@google.com>
814
815
816 * en/merge-path-collision (2018-11-08) 10 commits
702 - - merge-recursive: combine error handling
703 - - t6036, t6043: increase code coverage for file collision handling
704 - - merge-recursive: improve rename/rename(1to2)/add[/add] handling
705 - - merge-recursive: use handle_file_collision for add/add conflicts
706 - - merge-recursive: improve handling for rename/rename(2to1) conflicts
707 - - merge-recursive: fix rename/add conflict handling
708 - - merge-recursive: new function for better colliding conflict resolutions
709 - - merge-recursive: increase marker length with depth of recursion
710 - - t6036, t6042: testcases for rename collision of already conflicting files
711 - - t6042: add tests for consistency in file collision conflict handling
817 + (merged to 'next' on 2018-11-18 at 3ec9286e0b)
818 + + merge-recursive: combine error handling
819 + + t6036, t6043: increase code coverage for file collision handling
820 + + merge-recursive: improve rename/rename(1to2)/add[/add] handling
821 + + merge-recursive: use handle_file_collision for add/add conflicts
822 + + merge-recursive: improve handling for rename/rename(2to1) conflicts
823 + + merge-recursive: fix rename/add conflict handling
824 + + merge-recursive: new function for better colliding conflict resolutions
825 + + merge-recursive: increase marker length with depth of recursion
826 + + t6036, t6042: testcases for rename collision of already conflicting files
827 + + t6042: add tests for consistency in file collision conflict handling
828
829 Updates for corner cases in merge-recursive.
830
715 - Will merge to 'next'.
831 + Will cook in 'next'.
832
833
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
834 +* sd/stash-wo-user-name (2018-11-19) 1 commit
835 + (merged to 'next' on 2018-11-19 at 0838b091ea)
836 + + stash: tolerate missing user identity
837
838 A properly configured username/email is required under
839 user.useConfigOnly in order to create commits; now "git stash"
840 (even though it creates commit objects to represent stash entries)
841 command is excempt from the requirement.
842
843 + Will cook in 'next'.
844 +
845
846 * bc/sha-256 (2018-11-14) 12 commits
847 - hash: add an SHA-256 implementation using OpenSSL
@@ -786,21 +904,6 @@ of the repositories listed at
904 updated to use "size_t".
905
906
789 -* js/remote-archive-v2 (2018-09-28) 4 commits
790 - (merged to 'next' on 2018-10-12 at 5f34377f60)
791 - + archive: allow archive over HTTP(S) with proto v2
792 - + archive: implement protocol v2 archive command
793 - + archive: use packet_reader for communications
794 - + archive: follow test standards around assertions
795 -
796 - The original implementation of "git archive --remote" more or less
797 - bypassed the transport layer and did not work over http(s). The
798 - version 2 of the protocol is defined to allow going over http(s) as
799 - well as Git native transport.
800 -
801 - Reverted out of next.
802 -
803 -
907 * ag/sequencer-reduce-rewriting-todo (2018-11-12) 16 commits
908 . rebase--interactive: move transform_todo_file() to rebase--interactive.c
909 . sequencer: fix a call to error() in transform_todo_file()
@@ -830,22 +933,6 @@ of the repositories listed at
933 this need to wait giving precedence to other topics that fix bugs.
934
935
833 -* ds/reachable-topo-order (2018-11-02) 7 commits
834 - (merged to 'next' on 2018-11-13 at 4155d01aee)
835 - + t6012: make rev-list tests more interesting
836 - + revision.c: generation-based topo-order algorithm
837 - + commit/revisions: bookkeeping before refactoring
838 - + revision.c: begin refactoring --topo-order logic
839 - + test-reach: add rev-list tests
840 - + test-reach: add run_three_modes method
841 - + prio-queue: add 'peek' operation
842 -
843 - The revision walker machinery learned to take advantage of the
844 - commit generation numbers stored in the commit-graph file.
845 -
846 - Will merge to 'master'.
847 -
848 -
936 * sb/submodule-recursive-fetch-gets-the-tip (2018-10-31) 11 commits
937 - builtin/fetch: check for submodule updates in any ref update
938 - fetch: try fetching submodules if needed objects were not fetched
@@ -900,7 +987,8 @@ of the repositories listed at
987
988 "git stash" rewritten in C.
989
903 - Almost there.
990 + Expecting a reroll, probably on top of the sd/stash-wo-user-name
991 + topic after it stabilizes. The series is almost there.
992 cf. <20181015221040.GD4883@hank.intra.tgummerer.com>
993
994
@@ -940,3 +1028,19 @@ of the repositories listed at
1028 . bundle: rollback lock file while refusing to create an empty bundle
1029
1030 Superseded by jk/close-duped-fd-before-unlock-for-bundle
1031 +
1032 +
1033 +* js/remote-archive-v2 (2018-09-28) 4 commits
1034 + (merged to 'next' on 2018-10-12 at 5f34377f60)
1035 + + archive: allow archive over HTTP(S) with proto v2
1036 + + archive: implement protocol v2 archive command
1037 + + archive: use packet_reader for communications
1038 + + archive: follow test standards around assertions
1039 +
1040 + The original implementation of "git archive --remote" more or less
1041 + bypassed the transport layer and did not work over http(s). The
1042 + version 2 of the protocol is defined to allow going over http(s) as
1043 + well as Git native transport.
1044 +
1045 + Retracted; reverted out of next.
1046 + cf. <20181114195142.GI126896@google.com>