What's cooking (2019/09 #02)

Junio C Hamano committed Sep 18, 2019 at 15:28 UTC 05a9aaeb4d32405fb2cbb72206c9bf8c73efe318
1 file changed +818 -562
whats-cooking.txt
+818 -562
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2019, #01; Sat, 7)
4 -X-master-at: 745f6812895b31c02b29bdfe4ae8e5498f776c26
5 -X-next-at: c6a4ce50a0d24c7b512b564eacb00d0bf92b22e4
3 +Subject: What's cooking in git.git (Sep 2019, #02; Wed, 18)
4 +X-master-at: 4c86140027f4a0d2caaa3ab4bd8bfc5ce3c11c8a
5 +X-next-at: 18eeb5a2650ef4d662f5c9bb888cac8694753ba5
6
7 -What's cooking in git.git (Sep 2019, #01; Sat, 7)
7 +What's cooking in git.git (Sep 2019, #02; Wed, 18)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,11 +12,8 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The tip of 'next' has been rewound. A handful of topics that have
16 -been in the stalled state need to be woken up, now the release is
17 -over (or they can be dropped without prejudice, just to unclutter
18 -the tree). As I said in an earlier message somewhere, I'd prefer to
19 -see the PCRE/JIT topics sorted out soonish. Ævar? Carlo?
15 +We have a new maintainer for git-gui now. Thanks Pratyush for
16 +volunteering.
17
18 You can find the changes described here in the integration branches
19 of the repositories listed at
@@ -24,339 +21,571 @@ of the repositories listed at
21 http://git-blame.blogspot.com/p/git-public-repositories.html
22
23 --------------------------------------------------
27 -[New Topics]
24 +[Graduated to "master"]
25
29 -* ar/mingw-run-external-with-non-ascii-path (2019-08-26) 1 commit
30 - - mingw: fix launching of externals from Unicode paths
26 +* bc/reread-attributes-during-rebase (2019-09-03) 2 commits
27 + (merged to 'next' on 2019-09-07 at 9f5e5db0b0)
28 + + am: reload .gitattributes after patching it
29 + + path: add a function to check for path suffix
30
32 - Windows update.
31 + The "git am" based backend of "git rebase" ignored the result of
32 + updating ".gitattributes" done in one step when replaying
33 + subsequent steps.
34
34 - Will merge to 'next'.
35
36 +* bm/repository-layout-typofix (2019-08-19) 1 commit
37 + (merged to 'next' on 2019-08-23 at 7b1fffbaea)
38 + + repository-layout.txt: correct pluralization of 'object'
39
37 -* cb/pcre1-cleanup (2019-08-26) 2 commits
38 - - grep: refactor and simplify PCRE1 support
39 - - grep: make sure NO_LIBPCRE1_JIT disable JIT in PCRE1
40 - (this branch uses ab/pcre-jit-fixes.)
40 + Typofix.
41
42 - PCRE fixes.
42
43 +* cb/curl-use-xmalloc (2019-08-15) 1 commit
44 + (merged to 'next' on 2019-09-07 at 07da24f51c)
45 + + http: use xmalloc with cURL
46 + (this branch uses jk/drop-release-pack-memory.)
47
45 -* dl/complete-cherry-pick-revert-skip (2019-08-27) 3 commits
46 - - status: mention --skip for revert and cherry-pick
47 - - completion: add --skip for cherry-pick and revert
48 - - completion: merge options for cherry-pick and revert
48 + Tell cURL library to use the same malloc() implementation, with the
49 + xmalloc() wrapper, as the rest of the system, for consistency.
50
50 - The command line completion support (in contrib/) learned about the
51 - "--skip" option of "git revert" and "git cherry-pick".
51
53 - Will merge to 'next'.
52 +* cb/fetch-set-upstream (2019-08-19) 1 commit
53 + (merged to 'next' on 2019-08-23 at cf8c2ea0a0)
54 + + pull, fetch: add --set-upstream option
55
56 + "git fetch" learned "--set-upstream" option to help those who first
57 + clone from their private fork they intend to push to, add the true
58 + upstream via "git remote add" and then "git fetch" from it.
59
56 -* ew/hashmap (2019-08-26) 11 commits
57 - - hashmap_get_next returns "struct hashmap_entry *"
58 - - introduce container_of macro
59 - - hashmap_put takes "struct hashmap_entry *"
60 - - hashmap_remove takes "const struct hashmap_entry *"
61 - - hashmap_get takes "const struct hashmap_entry *"
62 - - hashmap_add takes "struct hashmap_entry *"
63 - - hashmap_get_next takes "const struct hashmap_entry *"
64 - - hashmap_entry: detect improper initialization
65 - - hashmap_entry_init takes "struct hashmap_entry *"
66 - - packfile: use hashmap_entry in delta_base_cache_entry
67 - - diff: use hashmap_entry_init on moved_entry.ent
60
69 - Code clean-up of the hashmap API, both users and implementation.
61 +* cc/multi-promisor (2019-06-25) 15 commits
62 + (merged to 'next' on 2019-09-07 at 46faa86955)
63 + + Move core_partial_clone_filter_default to promisor-remote.c
64 + + Move repository_format_partial_clone to promisor-remote.c
65 + + Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}
66 + + remote: add promisor and partial clone config to the doc
67 + + partial-clone: add multiple remotes in the doc
68 + + t0410: test fetching from many promisor remotes
69 + + builtin/fetch: remove unique promisor remote limitation
70 + + promisor-remote: parse remote.*.partialclonefilter
71 + + Use promisor_remote_get_direct() and has_promisor_remote()
72 + + promisor-remote: use repository_format_partial_clone
73 + + promisor-remote: add promisor_remote_reinit()
74 + + promisor-remote: implement promisor_remote_get_direct()
75 + + Add initial support for many promisor remotes
76 + + fetch-object: make functions return an error code
77 + + t0410: remove pipes after git commands
78
71 - Will merge to 'next'.
79 + Teach the lazy clone machinery that there can be more than one
80 + promisor remote and consult them in order when downloading missing
81 + objects on demand.
82
83
74 -* jk/fast-import-history-bugfix (2019-08-27) 2 commits
75 - - fast-import: duplicate into history rather than passing ownership
76 - - fast-import: duplicate parsed encoding string
84 +* ds/feature-macros (2019-08-13) 6 commits
85 + (merged to 'next' on 2019-08-23 at 115f0c8df9)
86 + + repo-settings: create feature.experimental setting
87 + + repo-settings: create feature.manyFiles setting
88 + + repo-settings: parse core.untrackedCache
89 + + commit-graph: turn on commit-graph by default
90 + + t6501: use 'git gc' in quiet mode
91 + + repo-settings: consolidate some config settings
92 + (this branch is used by ds/commit-graph-on-fetch.)
93
78 - The memory ownership model of the "git fast-import" got
79 - straightened out.
94 + A mechanism to affect the default setting for a (related) group of
95 + configuration variables is introduced.
96
81 - Will merge to 'next'.
97
98 +* ds/midx-expire-repack (2019-08-20) 1 commit
99 + (merged to 'next' on 2019-08-23 at a998356b3b)
100 + + packfile.h: drop extern from function declaration
101
84 -* js/gitdir-at-unc-root (2019-08-26) 3 commits
85 - - setup_git_directory(): handle UNC root paths correctly
86 - - Fix .git/ discovery at the root of UNC shares
87 - - setup_git_directory(): handle UNC paths correctly
102 + Code cleanup.
103
89 - On Windows, the root level of UNC share is now allowed to be used
90 - just like any other directory.
104
92 - Will merge to 'next'.
105 +* en/checkout-mismerge-fix (2019-08-16) 1 commit
106 + (merged to 'next' on 2019-08-23 at 8ecb69414a)
107 + + checkout: remove duplicate code
108
109 + Fix a mismerge that happened in 2.22 timeframe.
110
95 -* js/honor-cflags-in-hdr-check (2019-08-26) 1 commit
96 - - hdr-check: make it work on Windows
111
98 - Build fix to make sure hdr-check is run with the same preprocessor
99 - macros predefined by the $(MAKE) procedure.
112 +* jk/drop-release-pack-memory (2019-08-13) 1 commit
113 + (merged to 'next' on 2019-09-07 at 30f841c42d)
114 + + packfile: drop release_pack_memory()
115 + (this branch is used by cb/curl-use-xmalloc.)
116
101 - Will merge to 'next'.
117 + xmalloc() used to have a mechanism to ditch memory and address
118 + space resources as the last resort upon seeing an allocation
119 + failure from the underlying malloc(), which made the code complex
120 + and thread-unsafe with dubious benefit, as major memory resource
121 + users already do limit their uses with various other mechanisms.
122 + It has been simplified away.
123
124
104 -* mh/http-urlmatch-cleanup (2019-08-26) 1 commit
105 - - http: don't leak urlmatch_config.vars
125 +* jk/eoo (2019-08-06) 3 commits
126 + (merged to 'next' on 2019-08-23 at 217e97127a)
127 + + gitcli: document --end-of-options
128 + + parse-options: allow --end-of-options as a synonym for "--"
129 + + revision: allow --end-of-options to end option parsing
130
107 - Leakfix.
131 + The command line parser learned "--end-of-options" notation; the
132 + standard convention for scripters to have hardcoded set of options
133 + first on the command line, and force the command to treat end-user
134 + input as non-options, has been to use "--" as the delimiter, but
135 + that would not work for commands that use "--" as a delimiter
136 + between revs and pathspec.
137
109 - Will merge to 'next'.
138
139 +* jk/repo-init-cleanup (2019-08-06) 3 commits
140 + (merged to 'next' on 2019-08-23 at 1a5e4c4f06)
141 + + config: stop checking whether the_repository is NULL
142 + + common-main: delay trace2 initialization
143 + + t1309: use short branch name in includeIf.onbranch test
144
112 -* mh/notes-duplicate-entries (2019-08-26) 2 commits
113 - - notes: avoid potential use-after-free during insertion
114 - - notes: avoid leaking duplicate entries
145 + Further clean-up of the initialization code.
146
116 - A few implementation fixes in the notes API.
147
118 - Will merge to 'next'.
148 +* js/partial-clone-sparse-blob (2019-08-30) 2 commits
149 + - list-objects-filter: handle unresolved sparse filter OID
150 + - list-objects-filter: only parse sparse OID when 'have_git_dir'
151
152 + Band-aid on "git clone --sparse:oid=X" that would hit BUG().
153
121 -* mh/release-commit-memory-fix (2019-08-26) 1 commit
122 - - commit: free the right buffer in release_commit_memory
154
124 - Leakfix.
155 +* js/pre-merge-commit-hook (2019-08-07) 4 commits
156 + (merged to 'next' on 2019-09-07 at 0c9f25399c)
157 + + merge: --no-verify to bypass pre-merge-commit hook
158 + + git-merge: honor pre-merge-commit hook
159 + + merge: do no-verify like commit
160 + + t7503: verify proper hook execution
161
126 - Will merge to 'next'.
162 + A new "pre-merge-commit" hook has been introduced.
163
164
129 -* rs/strbuf-detach (2019-08-26) 2 commits
130 - - grep: use return value of strbuf_detach()
131 - - log-tree: always use return value of strbuf_detach()
165 +* js/rebase-r-strategy (2019-09-05) 17 commits
166 + (merged to 'next' on 2019-09-07 at 71e2451f6c)
167 + + t3427: accelerate this test by using fast-export and fast-import
168 + + rebase -r: do not (re-)generate root commits with `--root` *and* `--onto`
169 + + t3418: test `rebase -r` with merge strategies
170 + + t/lib-rebase: prepare for testing `git rebase --rebase-merges`
171 + + rebase -r: support merge strategies other than `recursive`
172 + + t3427: fix another incorrect assumption
173 + + t3427: accommodate for the `rebase --merge` backend having been replaced
174 + + t3427: fix erroneous assumption
175 + + t3427: condense the unnecessarily repetitive test cases into three
176 + + t3427: move the `filter-branch` invocation into the `setup` case
177 + + t3427: simplify the `setup` test case significantly
178 + + t3427: add a clarifying comment
179 + + rebase: fold git-rebase--common into the -p backend
180 + + sequencer: the `am` and `rebase--interactive` scripts are gone
181 + + .gitignore: there is no longer a built-in `git-rebase--interactive`
182 + + t3400: stop referring to the scripted rebase
183 + + Drop unused git-rebase--am.sh
184
133 - Straighten out the use of strbuf_detach() API function.
185 + "git rebase --rebase-merges" learned to drive different merge
186 + strategies and pass strategy specific options to them.
187
135 - Will merge to 'next'.
188
189 +* jt/avoid-ls-refs-with-http (2019-08-22) 2 commits
190 + (merged to 'next' on 2019-09-07 at c6a4ce50a0)
191 + + transport: teach all vtables to allow fetch first
192 + + transport-helper: skip ls-refs if unnecessary
193
138 -* rs/trace2-dst-warning (2019-08-26) 1 commit
139 - - trace2: use warning() directly in tr2_dst_malformed_warning()
194 + The http transport lacked some optimization the native transports
195 + learned to avoid unnecessary ref advertisement, which has been
196 + corrected.
197
141 - Code cleanup.
198 +
199 +* jt/diff-lazy-fetch-submodule-fix (2019-08-20) 1 commit
200 + (merged to 'next' on 2019-08-23 at 16997cac26)
201 + + diff: skip GITLINK when lazy fetching missing objs
202 +
203 + On-demand object fetching in lazy clone incorrectly tried to fetch
204 + commits from submodule projects, while still working in the
205 + superproject, which has been corrected.
206 +
207 +
208 +* md/list-objects-filter-combo (2019-06-28) 10 commits
209 + (merged to 'next' on 2019-09-07 at 076a48aa57)
210 + + list-objects-filter-options: make parser void
211 + + list-objects-filter-options: clean up use of ALLOC_GROW
212 + + list-objects-filter-options: allow mult. --filter
213 + + strbuf: give URL-encoding API a char predicate fn
214 + + list-objects-filter-options: make filter_spec a string_list
215 + + list-objects-filter-options: move error check up
216 + + list-objects-filter: implement composite filters
217 + + list-objects-filter-options: always supply *errbuf
218 + + list-objects-filter: put omits set in filter struct
219 + + list-objects-filter: encapsulate filter components
220 + (this branch is used by ds/include-exclude.)
221 +
222 + The list-objects-filter API (used to create a sparse/lazy clone)
223 + learned to take a combined filter specification.
224 +
225 +
226 +* mp/for-each-ref-missing-name-or-email (2019-08-22) 1 commit
227 + (merged to 'next' on 2019-08-23 at d257cb2138)
228 + + ref-filter: initialize empty name or email fields
229 +
230 + "for-each-ref" and friends that shows refs did not protect themselves
231 + against ancient tags that did not record tagger names when asked to
232 + show "%(taggername)", which have been corrected.
233 +
234 +
235 +* nd/diff-parseopt (2019-08-20) 1 commit
236 + (merged to 'next' on 2019-08-23 at d80a83b1e4)
237 + + parseopt: move definition of enum parse_opt_result up
238 +
239 + Compilation fix.
240 +
241 +
242 +* py/git-gui-do-quit (2019-08-07) 2 commits
243 + (merged to 'next' on 2019-08-23 at 6544c9dbb3)
244 + + Merge branch 'py/call-do-quit-before-exit' of github.com:gitster/git-gui into py/git-gui-do-quit
245 + + git-gui: call do_quit before destroying the main window
246 +
247 + "git gui" learned to call the clean-up procedure before exiting.
248 +
249 +
250 +* rs/pax-extended-header-length-fix (2019-08-19) 4 commits
251 + (merged to 'next' on 2019-08-23 at de88e8e58a)
252 + + archive-tar: turn length miscalculation warning into BUG
253 + + archive-tar: use size_t in strbuf_append_ext_header()
254 + + archive-tar: fix pax extended header length calculation
255 + + archive-tar: report wrong pax extended header length
256 +
257 + "git archive" recorded incorrect length in extended pax header in
258 + some corner cases, which has been corrected.
259 +
260 +
261 +* rs/sort-oid-array-thread-safe (2019-08-20) 1 commit
262 + (merged to 'next' on 2019-08-23 at 5ce3126af2)
263 + + sha1-name: make sort_ambiguous_oid_array() thread-safe
264 +
265 + Prepare get_short_oid() codepath to be thread-safe.
266 +
267 +
268 +* sb/userdiff-dts (2019-08-21) 1 commit
269 + (merged to 'next' on 2019-08-23 at 2bce0b8f91)
270 + + userdiff: add a builtin pattern for dts files
271 +
272 + Device-tree files learned their own userdiff patterns.
273 +
274 +
275 +* sg/complete-configuration-variables (2019-08-13) 11 commits
276 + (merged to 'next' on 2019-09-07 at 9921f0e536)
277 + + completion: complete config variables and values for 'git clone --config='
278 + + completion: complete config variables names and values for 'git clone -c'
279 + + completion: complete values of configuration variables after 'git -c var='
280 + + completion: complete configuration sections and variable names for 'git -c'
281 + + completion: split _git_config()
282 + + completion: simplify inner 'case' pattern in __gitcomp()
283 + + completion: use 'sort -u' to deduplicate config variable names
284 + + completion: deduplicate configuration sections
285 + + completion: add tests for 'git config' completion
286 + + completion: complete more values of more 'color.*' configuration variables
287 + + completion: fix a typo in a comment
288 +
289 + Command line completion updates for "git -c var.name=val"
290 +
291 +
292 +* sg/diff-indent-heuristic-non-experimental (2019-08-15) 1 commit
293 + (merged to 'next' on 2019-08-23 at faab5e2a1e)
294 + + diff: 'diff.indentHeuristic' is no longer experimental
295 +
296 + We promoted the "indent heuristics" that decides where to split
297 + diff hunks from experimental to the default a few years ago, but
298 + some stale documentation still marked it as experimental, which has
299 + been corrected.
300 +
301 +
302 +* sg/line-log-tree-diff-optim (2019-08-21) 2 commits
303 + (merged to 'next' on 2019-09-07 at 8d5b7053fd)
304 + + line-log: avoid unnecessary full tree diffs
305 + + line-log: extract pathspec parsing from line ranges into a helper function
306 +
307 + Optimize unnecessary full-tree diff away from "git log -L" machinery.
308 +
309 +
310 +* tg/t0021-racefix (2019-08-22) 1 commit
311 + (merged to 'next' on 2019-08-23 at 0a3290393f)
312 + + t0021: make sure clean filter runs
313 +
314 + A test fix.
315 +
316 +--------------------------------------------------
317 +[New Topics]
318 +
319 +* cb/skip-utf8-check-with-pcre1 (2019-09-09) 1 commit
320 + - grep: skip UTF8 checks explicitly
321 +
322 + Make sure the grep machinery does not abort when seeing a payload
323 + that is not UTF-8 even when JIT is not in use with PCRE1.
324
325 Will merge to 'next'.
326
327
146 -* sg/clean-nested-repo-with-ignored (2019-08-26) 1 commit
147 - - t7300-clean: demonstrate deleting nested repo with an ignored file breakage
328 +* jk/commit-graph-cleanup (2019-09-09) 2 commits
329 + - commit-graph: turn off save_commit_buffer
330 + - commit-graph: don't show progress percentages while expanding reachable commits
331
149 - A bug documentation.
332 + A pair of small fixups to "git commit-graph" have been applied.
333
334 Will merge to 'next'.
335
336
154 -* tb/banned-vsprintf-namefix (2019-08-26) 1 commit
155 - - banned.h: fix vsprintf()'s ban message
337 +* ma/asciidoctor-more-fixes (2019-09-09) 7 commits
338 + - gitweb.conf.txt: switch pluses to backticks to help Asciidoctor
339 + - git-merge-index.txt: wrap shell listing in "----"
340 + - git-receive-pack.txt: wrap shell [script] listing in "----"
341 + - git-ls-remote.txt: wrap shell listing in "----"
342 + - Documentation: wrap config listings in "----"
343 + - git-merge-base.txt: render indentations correctly under Asciidoctor
344 + - Documentation: wrap blocks with "--"
345
157 - Error message fix.
346 + Doc formatting updates.
347
348 Will merge to 'next'.
349
350
162 -* tb/file-url-to-unc-path (2019-08-26) 1 commit
163 - - mingw: support UNC in git clone file://server/share/repo
351 +* rs/simplify-by-deco-with-deco-refs-exclude (2019-09-09) 2 commits
352 + - log-tree: call load_ref_decorations() in get_name_decoration()
353 + - log: test --decorate-refs-exclude with --simplify-by-decoration
354
165 - Windows update.
355 + "git log --decorate-refs-exclude=<pattern>" was incorrectly
356 + overruled when the "--simplify-by-decoration" option is used, which
357 + has been corrected.
358
359 Will merge to 'next'.
360
361
170 -* dl/compat-cleanup (2019-09-05) 2 commits
171 - - compat/*.[ch]: remove extern from function declarations using spatch
172 - - mingw: apply array.cocci rule
362 +* ss/get-time-cleanup (2019-09-18) 2 commits
363 + - test_date.c: remove reference to GIT_TEST_DATE_NOW
364 + - Quit passing 'now' to date code
365
174 - Code cleanup.
366 + Code simplification.
367
368 Will merge to 'next'.
369
370
179 -* dl/use-sq-from-test-lib (2019-09-06) 1 commit
180 - - t: use common $SQ variable
371 +* tb/commit-graph-harden (2019-09-09) 3 commits
372 + - commit-graph.c: handle corrupt/missing trees
373 + - commit-graph.c: handle commit parsing errors
374 + - t/t5318: introduce failing 'git commit-graph write' tests
375
182 - Code cleanup.
376 + The code to parse and use the commit-graph file has been made more
377 + robust against corrupted input.
378
379 Will merge to 'next'.
380
381
187 -* ds/commit-graph-on-fetch (2019-09-03) 1 commit
188 - - fetch: add fetch.writeCommitGraph config setting
189 - (this branch uses ds/feature-macros.)
382 +* cs/pretty-formats-doc-typofix (2019-09-12) 1 commit
383 + - doc: minor formatting fix
384
191 - A configuration variable tells "git fetch" to write the commit
192 - graph after finishing.
385 + Doc fix.
386
387 Will merge to 'next'.
388
389
197 -* ds/include-exclude (2019-09-05) 5 commits
198 - - unpack-trees: rename 'is_excluded_from_list()'
199 - - treewide: rename 'exclude' methods to 'pattern'
200 - - treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_'
201 - - treewide: rename 'struct exclude_list' to 'struct pattern_list'
202 - - treewide: rename 'struct exclude' to 'struct path_pattern'
203 - (this branch uses md/list-objects-filter-combo.)
390 +* dl/cocci-everywhere (2019-09-17) 4 commits
391 + - Makefile: run coccicheck on more source files
392 + - Makefile: strip leading ./ in $(FIND_SOURCE_FILES)
393 + - Makefile: define THIRD_PARTY_SOURCES
394 + - Makefile: strip leading ./ in $(LIB_H)
395 + (this branch uses dl/compat-cleanup.)
396
205 - The internal code originally invented for ".gitignore" processing
206 - got reshuffled and renamed to make it less tied to "excluding" and
207 - stress more that it is about "matching", as it has been reused for
208 - things like sparse checkout specification that want to check if a
209 - path is "included".
397 + Coccinelle checks are done on more source files than before now.
398
399 Will merge to 'next'.
400
401
214 -* dt/remote-helper-doc-re-lock-option (2019-08-30) 1 commit
215 - - clarify documentation for remote helpers
402 +* dl/complete-rebase-and-archive (2019-09-12) 2 commits
403 + - completion: teach archive to use __gitcomp_builtin
404 + - completion: teach rebase to use __gitcomp_builtin
405
217 - Doc update.
406 + The command line completion for "git archive" and "git rebase" are
407 + now made less prone to go out of sync with the binary.
408
409 Will merge to 'next'.
410
411
222 -* en/filter-branch-deprecation (2019-09-05) 3 commits
223 - - t9902: use a non-deprecated command for testing
224 - - Recommend git-filter-repo instead of git-filter-branch
225 - - t6006: simplify, fix, and optimize empty message test
412 +* gs/commit-graph-progress (2019-09-18) 1 commit
413 + - commit-graph: add --[no-]progress to write and verify
414
227 - Start discouraging the use of "git filter-branch".
415 + Will merge to 'next'.
416 +
417 +
418 +* jk/disable-commit-graph-during-upload-pack (2019-09-12) 2 commits
419 + - upload-pack: disable commit graph more gently for shallow traversal
420 + - commit-graph: bump DIE_ON_LOAD check to actual load-time
421 +
422 + The "upload-pack" (the counterpart of "git fetch") needs to disable
423 + commit-graph when responding to a shallow clone/fetch request, but
424 + the way this was done made Git panic, which has been corrected.
425
426 Will merge to 'next'.
427
428
232 -* en/merge-options-ff-and-friends (2019-09-01) 1 commit
233 - - merge-options.txt: clarify meaning of various ff-related options
429 +* jk/list-objects-optim-wo-trees (2019-09-12) 1 commit
430 + - list-objects: don't queue root trees unless revs->tree_objects is set
431
235 - Doc update.
432 + The object traversal machinery has been optimized not to load tree
433 + objects when we are only interested in commit history.
434
435 Will merge to 'next'.
436
437
240 -* jc/test-cleanup (2019-09-05) 2 commits
241 - - t3005: remove unused variable
242 - - t: use LF variable defined in the test harness
438 +* mr/complete-more-for-log-etc (2019-09-12) 1 commit
439 + - completion: add missing completions for log, diff, show
440
244 - Code cleanup.
441 + Completion updates.
442
443 Will merge to 'next'.
444
445
249 -* jk/misc-uninitialized-fixes (2019-09-06) 6 commits
250 - - pack-objects: drop packlist index_pos optimization
251 - - test-read-cache: drop namelen variable
252 - - diff-delta: set size out-parameter to 0 for NULL delta
253 - - bulk-checkin: zero-initialize hashfile_checkpoint
254 - - pack-objects: use object_id in packlist_alloc()
255 - - git-am: handle missing "author" when parsing commit
446 +* ah/doc-submodule-ignore-submodules (2019-09-18) 1 commit
447 + - doc: fix reference to --ignore-submodules
448
257 - Various fixes to codepaths gcc 9 had trouble following dataflow.
449 + Docfix.
450
451 Will merge to 'next'.
452
453
262 -* js/partial-clone-sparse-blob (2019-08-30) 2 commits
263 - - list-objects-filter: handle unresolved sparse filter OID
264 - - list-objects-filter: only parse sparse OID when 'have_git_dir'
454 +* bc/doc-use-docbook-5 (2019-09-16) 1 commit
455 + - Documentation: fix build with Asciidoctor 2
456
266 - Band-aid on "git clone --sparse:oid=X" that would hit BUG().
457 + Start using DocBook 5 (instead of DocBook 4.5) as Asciidoctor 2.0
458 + no longer works with the older one.
459
460 Will merge to 'next'.
461
462
271 -* js/visual-studio (2019-09-05) 1 commit
272 - - .gitignore: stop ignoring `.manifest` files
463 +* cc/svn-fe-py-shebang (2019-09-18) 1 commit
464 + - contrib/svn-fe: fix shebang for svnrdump_sim.py
465
274 - Adjust .gitignore to unignore a path that we started to track.
466 + Will merge to 'next'.
467 +
468 +
469 +* dl/submodule-set-branch (2019-09-16) 1 commit
470 + - git-submodule.txt: fix AsciiDoc formatting error
471 +
472 + Docfix.
473
474 Will merge to 'next'.
475
476
279 -* jt/cache-tree-avoid-lazy-fetch-during-merge (2019-09-03) 1 commit
280 - - cache-tree: do not lazy-fetch merge tree
477 +* en/clean-nested-with-ignored (2019-09-17) 12 commits
478 + - clean: fix theoretical path corruption
479 + - clean: rewrap overly long line
480 + - clean: avoid removing untracked files in a nested git repository
481 + - clean: disambiguate the definition of -d
482 + - git-clean.txt: do not claim we will delete files with -n/--dry-run
483 + - dir: add commentary explaining match_pathspec_item's return value
484 + - dir: if our pathspec might match files under a dir, recurse into it
485 + - dir: make the DO_MATCH_SUBMODULE code reusable for a non-submodule case
486 + - dir: also check directories for matching pathspecs
487 + - dir: fix off-by-one error in match_pathspec_item
488 + - dir: fix typo in comment
489 + - t7300: add testcases showing failure to clean specified pathspecs
490 + (this branch uses sg/clean-nested-repo-with-ignored.)
491
282 - The cache-tree code has been taught to be less aggressive in
283 - attempting to see if a tree object it computed already exists in
284 - the repository.
492 + "git clean" fixes.
493
286 - Expecting a clearified log message.
494 + Will merge to 'next'.
495
496
289 -* ma/asciidoctor-refmiscinfo (2019-09-03) 2 commits
290 - - doc-diff: replace --cut-header-footer with --cut-footer
291 - - asciidoctor-extensions: provide `<refmiscinfo/>`
497 +* hb/hg-to-git-py3 (2019-09-18) 1 commit
498 + - hg-to-git: make it compatible with both python3 and python2
499
293 - Update support for Asciidoctor documentation toolchain.
500 + The hg-to-git script (in contrib/) has been updated to work with
501 + Python 3.
502
503 Will merge to 'next'.
504
505
298 -* nd/switch-and-restore (2019-08-30) 1 commit
299 - - checkout: add simple check for 'git checkout -b'
506 +* jk/packfile-reuse-cleanup (2019-09-13) 10 commits
507 + - pack-objects: improve partial packfile reuse
508 + - builtin/pack-objects: introduce obj_is_packed()
509 + - pack-objects: introduce pack.allowPackReuse
510 + - csum-file: introduce hashfile_total()
511 + - pack-bitmap: introduce bitmap_walk_contains()
512 + - pack-bitmap: don't rely on bitmap_git->reuse_objects
513 + - ewah/bitmap: always allocate 2 more words
514 + - ewah/bitmap: introduce bitmap_word_alloc()
515 + - packfile: expose get_delta_base()
516 + - builtin/pack-objects: report reused packfile objects
517
301 - Resurrect a performance hack.
518 + The way "git pack-objects" reuses objects stored in existing pack
519 + to generate its result has been improved.
520 +
521 +
522 +* jk/partial-clone-sparse-blob (2019-09-16) 4 commits
523 + - list-objects-filter: use empty string instead of NULL for sparse "base"
524 + - list-objects-filter: give a more specific error sparse parsing error
525 + - list-objects-filter: delay parsing of sparse oid
526 + - t5616: test cloning/fetching with sparse:oid=<oid> filter
527 +
528 + The name of the blob object that stores the filter specification
529 + for sparse cloning/fetching was interpreted in a wrong place in the
530 + code, causing Git to abort.
531
532 Will merge to 'next'.
533
534
306 -* rs/get-tagged-oid (2019-09-05) 2 commits
307 - - use get_tagged_oid()
308 - - tag: factor out get_tagged_oid()
535 +* rs/commit-graph-use-list-count (2019-09-16) 1 commit
536 + - commit-graph: use commit_list_count()
537
538 Code cleanup.
539
540 Will merge to 'next'.
541
542
315 -* rs/help-unknown-ref-does-not-return (2019-08-30) 1 commit
316 - - help: make help_unknown_ref() NORETURN
543 +* js/doc-patch-text (2019-09-17) 2 commits
544 + - diff, log doc: small grammer, format, and language fixes
545 + - diff, log doc: say "patch text" instead of "patches"
546
318 - Code cleanup.
547 + Docfix.
548
549 Will merge to 'next'.
550
551
323 -* rs/parse-tree-indirect (2019-09-03) 1 commit
324 - - tree: simplify parse_tree_indirect()
552 +* ms/fetch-follow-tag-optim (2019-09-16) 1 commit
553 + - fetch: use oidset to keep the want OIDs for faster lookup
554
326 - Code cleanup.
555 + The code used in following tags in "git fetch" has been optimized.
556
557 Will merge to 'next'.
558
559
331 -* sg/git-test-boolean (2019-09-06) 2 commits
332 - - ci: restore running httpd tests
333 - - t/lib-git-svn.sh: check GIT_TEST_SVN_HTTPD when running SVN HTTP tests
560 +* rs/nth-parent-parse (2019-09-16) 2 commits
561 + - sha1-name: check for overflow of N in "foo^N" and "foo~N"
562 + - rev-parse: demonstrate overflow of N for "foo^N" and "foo~N"
563
335 - Fix an earlier regression in the test suite, which mistakenly
336 - stopped running HTTPD tests.
564 + The object name parser for "Nth parent" syntax has been made more
565 + robust against integer overflows.
566
567 Will merge to 'next'.
568
569
341 -* tg/push-all-in-mirror-forbidden (2019-09-03) 1 commit
342 - - push: disallow --all and refspecs when remote.<name>.mirror is set
570 +* rs/nth-switch-code-simplification (2019-09-18) 1 commit
571 + - sha1_name: simplify strbuf handling in interpret_nth_prior_checkout()
572
344 - Fix an earlier regression to "git push --all" which should have
345 - been forbidden when the target remote repository is set to be a
346 - mirror.
573 + Code simplification.
574
575 Will merge to 'next'.
576
577
351 -* tg/stash-refresh-index (2019-09-05) 3 commits
352 - - stash: make sure to write refreshed cache
353 - - merge: use refresh_and_write_cache
354 - - factor out refresh_and_write_cache function
578 +* sg/progress-fix (2019-09-17) 2 commits
579 + - Test the progress display
580 + - Revert "progress: use term_clear_line()"
581
356 - "git stash" learned to write refreshed index back to disk.
582 + Regression fix for progress output.
583 +
584 + Will merge to 'next'.
585
358 - Needs coordination with js/builtin-add-i topic, as they both wants
359 - the same kind of enhancement to the same API function.
586 +
587 +* jc/git-gui-has-maintainer (2019-09-18) 1 commit
588 + - SubmittingPatches: git-gui has a new maintainer
589
590 --------------------------------------------------
591 [Stalled]
@@ -419,41 +648,15 @@ of the repositories listed at
648 * mt/threaded-grep-in-object-store (2019-08-13) 4 commits
649 - grep: re-enable threads in some non-worktree cases
650 - grep: disable grep_read_mutex when possible
422 - - grep: allow locks to be enabled individually
423 - - object-store: add lock to read_object_file_extended()
424 -
425 - Traditionally, we avoided threaded grep while searching in objects
426 - (as opposed to files in the working tree) as accesses to the object
427 - layer is not thread-safe. This limitation is getting lifted.
428 -
429 - Comments?
430 - cf. <cover.1565468806.git.matheus.bernardino@usp.br>
431 -
432 -
433 -
434 -
435 -* pd/fetch-jobs (2019-08-13) 5 commits
436 - . fetch: make --jobs control submodules and remotes
437 - . fetch: add the --submodule-fetch-jobs option
438 - . fetch: add the fetch.jobs config key
439 - . fetch: add the "--fetch-jobs" option
440 - . fetch: rename max_children to max_children_for_submodules
441 -
442 - "git fetch --jobs" is getting taught to also run fetch jobs in
443 - parallel when fetching from multiple remote repositories.
444 -
445 - Comments?
446 -
447 -
448 -* js/trace2-json-schema (2019-07-25) 3 commits
449 - . ci: run trace2 schema validation in the CI suite
450 - . trace2: add a schema validator for trace2 events
451 - . trace2: add a JSON schema for trace2 events
651 + - grep: allow locks to be enabled individually
652 + - object-store: add lock to read_object_file_extended()
653
453 - The JSON output produced by "trace2" subsystem now has JSON schema
454 - defined on it, to allow us validate the output and catch deviation.
654 + Traditionally, we avoided threaded grep while searching in objects
655 + (as opposed to files in the working tree) as accesses to the object
656 + layer is not thread-safe. This limitation is getting lifted.
657
456 - The CI integration may be a bit too heavy-handed.
658 + Expecting a reroll.
659 + cf. <CAHd-oW4LZTFcoPvqd+FU03+64y7MzesMurCT7tUFQrF_z9ocnQ@mail.gmail.com>
660
661
662 * jn/unknown-index-extensions (2018-11-21) 2 commits
@@ -512,383 +715,484 @@ of the repositories listed at
715 "unsigned long" for sizes of regions in memory, which have been
716 updated to use "size_t".
717
718 +--------------------------------------------------
719 +[Cooking]
720
516 -* dl/remote-save-to-push (2018-12-11) 1 commit
517 - - remote: add --save-to-push option to git remote set-url
721 +* ar/mingw-run-external-with-non-ascii-path (2019-08-26) 1 commit
722 + (merged to 'next' on 2019-09-09 at 1973826628)
723 + + mingw: fix launching of externals from Unicode paths
724
519 - "git remote set-url" learned a new option that moves existing value
520 - of the URL field to pushURL field of the remote before replacing
521 - the URL field with a new value.
725 + Windows update.
726
523 - Anybody who wants to champion this topic?
524 - I am personally not yet quite convinced if this is worth pursuing.
727 + Will merge to 'master'.
728
526 ---------------------------------------------------
527 -[Cooking]
729
529 -* js/builtin-add-i (2019-08-30) 11 commits
530 - . built-in add -i: implement the `help` command
531 - . built-in add -i: use color in the main loop
532 - . built-in add -i: support `?` (prompt help)
533 - . built-in add -i: show unique prefixes of the commands
534 - . Add a function to determine unique prefixes for a list of strings
535 - . built-in add -i: implement the main loop
536 - . built-in add -i: color the header in the `status` command
537 - . built-in add -i: refresh the index before running `status`
538 - . built-in add -i: implement the `status` command
539 - . diff: export diffstat interface
540 - . Start to implement a built-in version of `git add --interactive`
730 +* cb/pcre1-cleanup (2019-08-26) 2 commits
731 + - grep: refactor and simplify PCRE1 support
732 + - grep: make sure NO_LIBPCRE1_JIT disable JIT in PCRE1
733 + (this branch uses ab/pcre-jit-fixes.)
734
542 - The beginning of rewriting "git add -i" in C.
735 + PCRE fixes.
736
544 - On hold, waiting for tg/stash-refresh-index to work well with this.
737
738 +* dl/complete-cherry-pick-revert-skip (2019-08-27) 3 commits
739 + (merged to 'next' on 2019-09-18 at 7dd173f824)
740 + + status: mention --skip for revert and cherry-pick
741 + + completion: add --skip for cherry-pick and revert
742 + + completion: merge options for cherry-pick and revert
743
547 -* jt/avoid-ls-refs-with-http (2019-08-22) 2 commits
548 - (merged to 'next' on 2019-09-07 at c6a4ce50a0)
549 - + transport: teach all vtables to allow fetch first
550 - + transport-helper: skip ls-refs if unnecessary
744 + The command line completion support (in contrib/) learned about the
745 + "--skip" option of "git revert" and "git cherry-pick".
746
552 - The http transport lacked some optimization the native transports
553 - learned to avoid unnecessary ref advertisement, which has been
554 - corrected.
747 + Will merge to 'master'.
748 +
749 +
750 +* ew/hashmap (2019-08-26) 11 commits
751 + - hashmap_get_next returns "struct hashmap_entry *"
752 + - introduce container_of macro
753 + - hashmap_put takes "struct hashmap_entry *"
754 + - hashmap_remove takes "const struct hashmap_entry *"
755 + - hashmap_get takes "const struct hashmap_entry *"
756 + - hashmap_add takes "struct hashmap_entry *"
757 + - hashmap_get_next takes "const struct hashmap_entry *"
758 + - hashmap_entry: detect improper initialization
759 + - hashmap_entry_init takes "struct hashmap_entry *"
760 + - packfile: use hashmap_entry in delta_base_cache_entry
761 + - diff: use hashmap_entry_init on moved_entry.ent
762 +
763 + Code clean-up of the hashmap API, both users and implementation.
764 +
765 + Expecting a reroll.
766 + cf. <20190908074953.kux7zz4y7iolqko4@whir>
767 +
768 +
769 +* jk/fast-import-history-bugfix (2019-08-27) 2 commits
770 + (merged to 'next' on 2019-09-09 at eeef864077)
771 + + fast-import: duplicate into history rather than passing ownership
772 + + fast-import: duplicate parsed encoding string
773 +
774 + The memory ownership model of the "git fast-import" got
775 + straightened out.
776
777 Will merge to 'master'.
778
779
559 -* cb/curl-use-xmalloc (2019-08-15) 1 commit
560 - (merged to 'next' on 2019-09-07 at 07da24f51c)
561 - + http: use xmalloc with cURL
562 - (this branch uses jk/drop-release-pack-memory.)
780 +* js/gitdir-at-unc-root (2019-08-26) 3 commits
781 + (merged to 'next' on 2019-09-09 at 70ccc59b4b)
782 + + setup_git_directory(): handle UNC root paths correctly
783 + + Fix .git/ discovery at the root of UNC shares
784 + + setup_git_directory(): handle UNC paths correctly
785
564 - Tell cURL library to use the same malloc() implementation, with the
565 - xmalloc() wrapper, as the rest of the system, for consistency.
786 + On Windows, the root level of UNC share is now allowed to be used
787 + just like any other directory.
788
789 Will merge to 'master'.
790
791
570 -* sg/diff-indent-heuristic-non-experimental (2019-08-15) 1 commit
571 - (merged to 'next' on 2019-08-23 at faab5e2a1e)
572 - + diff: 'diff.indentHeuristic' is no longer experimental
792 +* js/honor-cflags-in-hdr-check (2019-08-26) 1 commit
793 + (merged to 'next' on 2019-09-09 at fcd9ee9f1b)
794 + + hdr-check: make it work on Windows
795
574 - We promoted the "indent heuristics" that decides where to split
575 - diff hunks from experimental to the default a few years ago, but
576 - some stale documentation still marked it as experimental, which has
577 - been corrected.
796 + Build fix to make sure hdr-check is run with the same preprocessor
797 + macros predefined by the $(MAKE) procedure.
798
799 Will merge to 'master'.
800
801
582 -* en/checkout-mismerge-fix (2019-08-16) 1 commit
583 - (merged to 'next' on 2019-08-23 at 8ecb69414a)
584 - + checkout: remove duplicate code
802 +* mh/http-urlmatch-cleanup (2019-08-26) 1 commit
803 + (merged to 'next' on 2019-09-09 at 9971b626f1)
804 + + http: don't leak urlmatch_config.vars
805
586 - Fix a mismerge that happened in 2.22 timeframe.
806 + Leakfix.
807
808 Will merge to 'master'.
809
810
591 -* en/merge-recursive-cleanup (2019-08-19) 24 commits
592 - - merge-recursive: alphabetize include list
593 - - merge-recursive: add sanity checks for relevant merge_options
594 - - merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_*
595 - - merge-recursive: split internal fields into a separate struct
596 - - merge-recursive: avoid losing output and leaking memory holding that output
597 - - merge-recursive: comment and reorder the merge_options fields
598 - - merge-recursive: consolidate unnecessary fields in merge_options
599 - - merge-recursive: move some definitions around to clean up the header
600 - - merge-recursive: rename merge_options argument to opt in header
601 - - merge-recursive: rename 'mrtree' to 'result_tree', for clarity
602 - - merge-recursive: use common name for ancestors/common/base_list
603 - - merge-recursive: fix some overly long lines
604 - - cache-tree: share code between functions writing an index as a tree
605 - - merge-recursive: don't force external callers to do our logging
606 - - merge-recursive: remove useless parameter in merge_trees()
607 - - merge-recursive: exit early if index != head
608 - - Ensure index matches head before invoking merge machinery, round N
609 - - merge-recursive: remove another implicit dependency on the_repository
610 - - merge-recursive: future-proof update_file_flags() against memory leaks
611 - - merge-recursive: introduce an enum for detect_directory_renames values
612 - - merge-recursive: provide a better label for diff3 common ancestor
613 - - merge-recursive: enforce opt->ancestor != NULL when calling merge_trees()
614 - - checkout: provide better conflict hunk description with detached HEAD
615 - - merge-recursive: be consistent with assert
811 +* mh/notes-duplicate-entries (2019-08-26) 2 commits
812 + (merged to 'next' on 2019-09-09 at 6c44967c97)
813 + + notes: avoid potential use-after-free during insertion
814 + + notes: avoid leaking duplicate entries
815
617 - The merge-recursive machiery is one of the most complex parts of
618 - the system that accumulated cruft over time. This large series
619 - cleans up the implementation quite a bit.
816 + A few implementation fixes in the notes API.
817
621 - Will merge to 'next'.
818 + Will merge to 'master'.
819
820
624 -* bc/hash-independent-tests-part-5 (2019-08-26) 14 commits
625 - - t4009: make hash size independent
626 - - t4002: make hash independent
627 - - t4000: make hash size independent
628 - - t3903: abstract away SHA-1-specific constants
629 - - t3800: make hash-size independent
630 - - t3600: make hash size independent
631 - - t3506: make hash independent
632 - - t3430: avoid hard-coded object IDs
633 - - t3404: abstract away SHA-1-specific constants
634 - - t3306: abstract away SHA-1-specific constants
635 - - t3305: make hash size independent
636 - - t3301: abstract away SHA-1-specific constants
637 - - t3206: abstract away hash size constants
638 - - t3201: abstract away SHA-1-specific constants
821 +* mh/release-commit-memory-fix (2019-08-26) 1 commit
822 + (merged to 'next' on 2019-09-09 at 9fb7485032)
823 + + commit: free the right buffer in release_commit_memory
824
640 - Preparation for SHA-256 upgrade continues in the test department.
825 + Leakfix.
826
642 - Will merge to 'next'.
827 + Will merge to 'master'.
828
829
645 -* bm/repository-layout-typofix (2019-08-19) 1 commit
646 - (merged to 'next' on 2019-08-23 at 7b1fffbaea)
647 - + repository-layout.txt: correct pluralization of 'object'
830 +* rs/strbuf-detach (2019-08-26) 2 commits
831 + (merged to 'next' on 2019-09-09 at f6bba7d52f)
832 + + grep: use return value of strbuf_detach()
833 + + log-tree: always use return value of strbuf_detach()
834
649 - Typofix.
835 + Straighten out the use of strbuf_detach() API function.
836
837 Will merge to 'master'.
838
839
654 -* bw/rebase-autostash-keep-current-branch (2019-09-07) 2 commits
655 - - builtin/rebase.c: Remove pointless message
656 - - builtin/rebase.c: make sure the active branch isn't moved when autostashing
840 +* rs/trace2-dst-warning (2019-08-26) 1 commit
841 + (merged to 'next' on 2019-09-09 at 13893cdf8c)
842 + + trace2: use warning() directly in tr2_dst_malformed_warning()
843
658 - "git rebase --autostash <upstream> <branch>", when <branch> is
659 - different from the current branch, incorrectly moved the tip of the
660 - current branch, which has been corrected.
844 + Code cleanup.
845
662 - Will merge to 'next'.
846 + Will merge to 'master'.
847
848
665 -* dl/format-patch-doc-test-cleanup (2019-09-05) 13 commits
666 - - config/format.txt: specify default value of format.coverLetter
667 - - Doc: add more detail for git-format-patch
668 - - t4014: stop losing return codes of git commands
669 - - t4014: remove confusing pipe in check_threading()
670 - - t4014: use test_line_count() where possible
671 - - t4014: let sed open its own files
672 - - t4014: drop redirections to /dev/null
673 - - t4014: use indentable here-docs
674 - - t4014: remove spaces after redirect operators
675 - - t4014: use sq for test case names
676 - - t4014: move closing sq onto its own line
677 - - t4014: s/expected/expect/
678 - - t4014: drop unnecessary blank lines from test cases
679 - (this branch is used by dl/format-patch-cover-letter-subject.)
849 +* sg/clean-nested-repo-with-ignored (2019-08-26) 1 commit
850 + (merged to 'next' on 2019-09-18 at 0da1269f07)
851 + + t7300-clean: demonstrate deleting nested repo with an ignored file breakage
852 + (this branch is used by en/clean-nested-with-ignored.)
853
681 - The documentation and tests for "git format-patch" have been
682 - cleaned up.
854 + A bug documentation.
855
684 - Will merge to 'next'.
856 + Will merge to 'master'.
857
858
687 -* ds/midx-expire-repack (2019-08-20) 1 commit
688 - (merged to 'next' on 2019-08-23 at a998356b3b)
689 - + packfile.h: drop extern from function declaration
859 +* tb/banned-vsprintf-namefix (2019-08-26) 1 commit
860 + (merged to 'next' on 2019-09-09 at e0f6d18a10)
861 + + banned.h: fix vsprintf()'s ban message
862 +
863 + Error message fix.
864 +
865 + Will merge to 'master'.
866 +
867 +
868 +* tb/file-url-to-unc-path (2019-08-26) 1 commit
869 + (merged to 'next' on 2019-09-09 at 13d9c4000e)
870 + + mingw: support UNC in git clone file://server/share/repo
871 +
872 + Windows update.
873 +
874 + Will merge to 'master'.
875 +
876 +
877 +* dl/compat-cleanup (2019-09-05) 2 commits
878 + (merged to 'next' on 2019-09-09 at e33c896e16)
879 + + compat/*.[ch]: remove extern from function declarations using spatch
880 + + mingw: apply array.cocci rule
881 + (this branch is used by dl/cocci-everywhere.)
882
883 Code cleanup.
884
885 Will merge to 'master'.
886
887
696 -* jt/diff-lazy-fetch-submodule-fix (2019-08-20) 1 commit
697 - (merged to 'next' on 2019-08-23 at 16997cac26)
698 - + diff: skip GITLINK when lazy fetching missing objs
888 +* dl/use-sq-from-test-lib (2019-09-06) 1 commit
889 + (merged to 'next' on 2019-09-09 at 9a6619ddab)
890 + + t: use common $SQ variable
891
700 - On-demand object fetching in lazy clone incorrectly tried to fetch
701 - commits from submodule projects, while still working in the
702 - superproject, which has been corrected.
892 + Code cleanup.
893
894 Will merge to 'master'.
895
896
707 -* mp/for-each-ref-missing-name-or-email (2019-08-22) 1 commit
708 - (merged to 'next' on 2019-08-23 at d257cb2138)
709 - + ref-filter: initialize empty name or email fields
897 +* ds/commit-graph-on-fetch (2019-09-03) 1 commit
898 + (merged to 'next' on 2019-09-18 at 10702dd989)
899 + + fetch: add fetch.writeCommitGraph config setting
900
711 - "for-each-ref" and friends that shows refs did not protect themselves
712 - against ancient tags that did not record tagger names when asked to
713 - show "%(taggername)", which have been corrected.
901 + A configuration variable tells "git fetch" to write the commit
902 + graph after finishing.
903
904 Will merge to 'master'.
905
906
718 -* nd/diff-parseopt (2019-08-20) 1 commit
719 - (merged to 'next' on 2019-08-23 at d80a83b1e4)
720 - + parseopt: move definition of enum parse_opt_result up
907 +* ds/include-exclude (2019-09-05) 5 commits
908 + (merged to 'next' on 2019-09-18 at 1a3655a089)
909 + + unpack-trees: rename 'is_excluded_from_list()'
910 + + treewide: rename 'exclude' methods to 'pattern'
911 + + treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_'
912 + + treewide: rename 'struct exclude_list' to 'struct pattern_list'
913 + + treewide: rename 'struct exclude' to 'struct path_pattern'
914
722 - Compilation fix.
915 + The internal code originally invented for ".gitignore" processing
916 + got reshuffled and renamed to make it less tied to "excluding" and
917 + stress more that it is about "matching", as it has been reused for
918 + things like sparse checkout specification that want to check if a
919 + path is "included".
920
921 Will merge to 'master'.
922
923
727 -* pw/rebase-i-show-HEAD-to-reword (2019-08-19) 3 commits
728 - - sequencer: simplify root commit creation
729 - - rebase -i: check for updated todo after squash and reword
730 - - rebase -i: always update HEAD before rewording
924 +* dt/remote-helper-doc-re-lock-option (2019-08-30) 1 commit
925 + (merged to 'next' on 2019-09-09 at 970488992a)
926 + + clarify documentation for remote helpers
927
732 - "git rebase -i" showed a wrong HEAD while "reword" open the editor.
928 + Doc update.
929
734 - May want to split out the last one into a separate topic.
735 - Will merge to 'next'.
930 + Will merge to 'master'.
931
932
738 -* rs/pax-extended-header-length-fix (2019-08-19) 4 commits
739 - (merged to 'next' on 2019-08-23 at de88e8e58a)
740 - + archive-tar: turn length miscalculation warning into BUG
741 - + archive-tar: use size_t in strbuf_append_ext_header()
742 - + archive-tar: fix pax extended header length calculation
743 - + archive-tar: report wrong pax extended header length
933 +* en/filter-branch-deprecation (2019-09-05) 3 commits
934 + (merged to 'next' on 2019-09-09 at 311ed09ba8)
935 + + t9902: use a non-deprecated command for testing
936 + + Recommend git-filter-repo instead of git-filter-branch
937 + + t6006: simplify, fix, and optimize empty message test
938
745 - "git archive" recorded incorrect length in extended pax header in
746 - some corner cases, which has been corrected.
939 + Start discouraging the use of "git filter-branch".
940
941 Will merge to 'master'.
942
943
751 -* rs/sort-oid-array-thread-safe (2019-08-20) 1 commit
752 - (merged to 'next' on 2019-08-23 at 5ce3126af2)
753 - + sha1-name: make sort_ambiguous_oid_array() thread-safe
944 +* en/merge-options-ff-and-friends (2019-09-01) 1 commit
945 + (merged to 'next' on 2019-09-09 at b3bcc2cbc7)
946 + + merge-options.txt: clarify meaning of various ff-related options
947
755 - Prepare get_short_oid() codepath to be thread-safe.
948 + Doc update.
949 +
950 + Will merge to 'master'.
951 +
952 +
953 +* jc/test-cleanup (2019-09-05) 2 commits
954 + (merged to 'next' on 2019-09-09 at 41ced23598)
955 + + t3005: remove unused variable
956 + + t: use LF variable defined in the test harness
957 +
958 + Code cleanup.
959 +
960 + Will merge to 'master'.
961 +
962 +
963 +* jk/misc-uninitialized-fixes (2019-09-06) 6 commits
964 + (merged to 'next' on 2019-09-09 at 39ccd21475)
965 + + pack-objects: drop packlist index_pos optimization
966 + + test-read-cache: drop namelen variable
967 + + diff-delta: set size out-parameter to 0 for NULL delta
968 + + bulk-checkin: zero-initialize hashfile_checkpoint
969 + + pack-objects: use object_id in packlist_alloc()
970 + + git-am: handle missing "author" when parsing commit
971 +
972 + Various fixes to codepaths gcc 9 had trouble following dataflow.
973 +
974 + Will merge to 'master'.
975 +
976 +
977 +* js/visual-studio (2019-09-05) 1 commit
978 + (merged to 'next' on 2019-09-09 at 5493ee9474)
979 + + .gitignore: stop ignoring `.manifest` files
980 +
981 + Adjust .gitignore to unignore a path that we started to track.
982 +
983 + Will merge to 'master'.
984 +
985 +
986 +* jt/cache-tree-avoid-lazy-fetch-during-merge (2019-09-09) 1 commit
987 + - cache-tree: do not lazy-fetch tentative tree
988 +
989 + The cache-tree code has been taught to be less aggressive in
990 + attempting to see if a tree object it computed already exists in
991 + the repository.
992 +
993 + Waiting for a response to an updated log message.
994 +
995 +
996 +* ma/asciidoctor-refmiscinfo (2019-09-16) 3 commits
997 + - doc-diff: replace --cut-header-footer with --cut-footer
998 + - asciidoctor-extensions: provide `<refmiscinfo/>`
999 + - Doc/Makefile: give mansource/-version/-manual attributes
1000 +
1001 + Update support for Asciidoctor documentation toolchain.
1002 +
1003 + Expecting a reroll.
1004 + cf. <CAN0heSq9B8NSr7-Bcqpiags6wyMm_3KUGeo+7GZA85nd7GnG=w@mail.gmail.com>
1005 +
1006 +
1007 +* nd/switch-and-restore (2019-08-30) 1 commit
1008 + (merged to 'next' on 2019-09-09 at 97e7e06801)
1009 + + checkout: add simple check for 'git checkout -b'
1010 +
1011 + Resurrect a performance hack.
1012 +
1013 + Will merge to 'master'.
1014 +
1015 +
1016 +* rs/get-tagged-oid (2019-09-05) 2 commits
1017 + (merged to 'next' on 2019-09-09 at 0e9489a835)
1018 + + use get_tagged_oid()
1019 + + tag: factor out get_tagged_oid()
1020 +
1021 + Code cleanup.
1022
1023 Will merge to 'master'.
1024
1025
760 -* sb/userdiff-dts (2019-08-21) 1 commit
761 - (merged to 'next' on 2019-08-23 at 2bce0b8f91)
762 - + userdiff: add a builtin pattern for dts files
1026 +* rs/help-unknown-ref-does-not-return (2019-08-30) 1 commit
1027 + (merged to 'next' on 2019-09-09 at 4b00ea1ac9)
1028 + + help: make help_unknown_ref() NORETURN
1029
764 - Device-tree files learned their own userdiff patterns.
1030 + Code cleanup.
1031
1032 Will merge to 'master'.
1033
1034
769 -* sg/line-log-tree-diff-optim (2019-08-21) 2 commits
770 - (merged to 'next' on 2019-09-07 at 8d5b7053fd)
771 - + line-log: avoid unnecessary full tree diffs
772 - + line-log: extract pathspec parsing from line ranges into a helper function
1035 +* rs/parse-tree-indirect (2019-09-03) 1 commit
1036 + (merged to 'next' on 2019-09-09 at 157e836dba)
1037 + + tree: simplify parse_tree_indirect()
1038
774 - Optimize unnecessary full-tree diff away from "git log -L" machinery.
1039 + Code cleanup.
1040
1041 Will merge to 'master'.
1042
1043
779 -* tg/t0021-racefix (2019-08-22) 1 commit
780 - (merged to 'next' on 2019-08-23 at 0a3290393f)
781 - + t0021: make sure clean filter runs
1044 +* sg/git-test-boolean (2019-09-06) 2 commits
1045 + (merged to 'next' on 2019-09-09 at 90406d6375)
1046 + + ci: restore running httpd tests
1047 + + t/lib-git-svn.sh: check GIT_TEST_SVN_HTTPD when running SVN HTTP tests
1048
783 - A test fix.
1049 + Fix an earlier regression in the test suite, which mistakenly
1050 + stopped running HTTPD tests.
1051
1052 Will merge to 'master'.
1053
1054
788 -* py/git-gui-do-quit (2019-08-07) 2 commits
789 - (merged to 'next' on 2019-08-23 at 6544c9dbb3)
790 - + Merge branch 'py/call-do-quit-before-exit' of github.com:gitster/git-gui into py/git-gui-do-quit
791 - + git-gui: call do_quit before destroying the main window
1055 +* tg/push-all-in-mirror-forbidden (2019-09-03) 1 commit
1056 + (merged to 'next' on 2019-09-09 at 9db61400c8)
1057 + + push: disallow --all and refspecs when remote.<name>.mirror is set
1058
793 - "git gui" learned to call the clean-up procedure before exiting.
1059 + Fix an earlier regression to "git push --all" which should have
1060 + been forbidden when the target remote repository is set to be a
1061 + mirror.
1062
1063 Will merge to 'master'.
1064
1065
798 -* bc/reread-attributes-during-rebase (2019-09-03) 2 commits
799 - (merged to 'next' on 2019-09-07 at 9f5e5db0b0)
800 - + am: reload .gitattributes after patching it
801 - + path: add a function to check for path suffix
1066 +* tg/stash-refresh-index (2019-09-05) 3 commits
1067 + - stash: make sure to write refreshed cache
1068 + - merge: use refresh_and_write_cache
1069 + - factor out refresh_and_write_cache function
1070
803 - The "git am" based backend of "git rebase" ignored the result of
804 - updating ".gitattributes" done in one step when replaying
805 - subsequent steps.
1071 + "git stash" learned to write refreshed index back to disk.
1072
807 - Will merge to 'master'.
1073 + Needs coordination with js/builtin-add-i topic, as they both wants
1074 + the same kind of enhancement to the same API function.
1075
1076
810 -* jk/drop-release-pack-memory (2019-08-13) 1 commit
811 - (merged to 'next' on 2019-09-07 at 30f841c42d)
812 - + packfile: drop release_pack_memory()
813 - (this branch is used by cb/curl-use-xmalloc.)
1077 +* js/builtin-add-i (2019-08-30) 11 commits
1078 + . built-in add -i: implement the `help` command
1079 + . built-in add -i: use color in the main loop
1080 + . built-in add -i: support `?` (prompt help)
1081 + . built-in add -i: show unique prefixes of the commands
1082 + . Add a function to determine unique prefixes for a list of strings
1083 + . built-in add -i: implement the main loop
1084 + . built-in add -i: color the header in the `status` command
1085 + . built-in add -i: refresh the index before running `status`
1086 + . built-in add -i: implement the `status` command
1087 + . diff: export diffstat interface
1088 + . Start to implement a built-in version of `git add --interactive`
1089
815 - xmalloc() used to have a mechanism to ditch memory and address
816 - space resources as the last resort upon seeing an allocation
817 - failure from the underlying malloc(), which made the code complex
818 - and thread-unsafe with dubious benefit, as major memory resource
819 - users already do limit their uses with various other mechanisms.
820 - It has been simplified away.
1090 + The beginning of rewriting "git add -i" in C.
1091
822 - Will merge to 'master'.
1092 + On hold, waiting for tg/stash-refresh-index to work well with this.
1093
1094
825 -* sg/complete-configuration-variables (2019-08-13) 11 commits
826 - (merged to 'next' on 2019-09-07 at 9921f0e536)
827 - + completion: complete config variables and values for 'git clone --config='
828 - + completion: complete config variables names and values for 'git clone -c'
829 - + completion: complete values of configuration variables after 'git -c var='
830 - + completion: complete configuration sections and variable names for 'git -c'
831 - + completion: split _git_config()
832 - + completion: simplify inner 'case' pattern in __gitcomp()
833 - + completion: use 'sort -u' to deduplicate config variable names
834 - + completion: deduplicate configuration sections
835 - + completion: add tests for 'git config' completion
836 - + completion: complete more values of more 'color.*' configuration variables
837 - + completion: fix a typo in a comment
1095 +* en/merge-recursive-cleanup (2019-08-19) 24 commits
1096 + (merged to 'next' on 2019-09-18 at f52cb08a14)
1097 + + merge-recursive: alphabetize include list
1098 + + merge-recursive: add sanity checks for relevant merge_options
1099 + + merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_*
1100 + + merge-recursive: split internal fields into a separate struct
1101 + + merge-recursive: avoid losing output and leaking memory holding that output
1102 + + merge-recursive: comment and reorder the merge_options fields
1103 + + merge-recursive: consolidate unnecessary fields in merge_options
1104 + + merge-recursive: move some definitions around to clean up the header
1105 + + merge-recursive: rename merge_options argument to opt in header
1106 + + merge-recursive: rename 'mrtree' to 'result_tree', for clarity
1107 + + merge-recursive: use common name for ancestors/common/base_list
1108 + + merge-recursive: fix some overly long lines
1109 + + cache-tree: share code between functions writing an index as a tree
1110 + + merge-recursive: don't force external callers to do our logging
1111 + + merge-recursive: remove useless parameter in merge_trees()
1112 + + merge-recursive: exit early if index != head
1113 + + Ensure index matches head before invoking merge machinery, round N
1114 + + merge-recursive: remove another implicit dependency on the_repository
1115 + + merge-recursive: future-proof update_file_flags() against memory leaks
1116 + + merge-recursive: introduce an enum for detect_directory_renames values
1117 + + merge-recursive: provide a better label for diff3 common ancestor
1118 + + merge-recursive: enforce opt->ancestor != NULL when calling merge_trees()
1119 + + checkout: provide better conflict hunk description with detached HEAD
1120 + + merge-recursive: be consistent with assert
1121
839 - Command line completion updates for "git -c var.name=val"
1122 + The merge-recursive machiery is one of the most complex parts of
1123 + the system that accumulated cruft over time. This large series
1124 + cleans up the implementation quite a bit.
1125
1126 Will merge to 'master'.
1127
1128
844 -* cb/fetch-set-upstream (2019-08-19) 1 commit
845 - (merged to 'next' on 2019-08-23 at cf8c2ea0a0)
846 - + pull, fetch: add --set-upstream option
1129 +* bc/hash-independent-tests-part-5 (2019-08-26) 14 commits
1130 + (merged to 'next' on 2019-09-09 at 49defc07af)
1131 + + t4009: make hash size independent
1132 + + t4002: make hash independent
1133 + + t4000: make hash size independent
1134 + + t3903: abstract away SHA-1-specific constants
1135 + + t3800: make hash-size independent
1136 + + t3600: make hash size independent
1137 + + t3506: make hash independent
1138 + + t3430: avoid hard-coded object IDs
1139 + + t3404: abstract away SHA-1-specific constants
1140 + + t3306: abstract away SHA-1-specific constants
1141 + + t3305: make hash size independent
1142 + + t3301: abstract away SHA-1-specific constants
1143 + + t3206: abstract away hash size constants
1144 + + t3201: abstract away SHA-1-specific constants
1145
848 - "git fetch" learned "--set-upstream" option to help those who first
849 - clone from their private fork they intend to push to, add the true
850 - upstream via "git remote add" and then "git fetch" from it.
1146 + Preparation for SHA-256 upgrade continues in the test department.
1147
1148 Will merge to 'master'.
1149
1150
855 -* js/pre-merge-commit-hook (2019-08-07) 4 commits
856 - (merged to 'next' on 2019-09-07 at 0c9f25399c)
857 - + merge: --no-verify to bypass pre-merge-commit hook
858 - + git-merge: honor pre-merge-commit hook
859 - + merge: do no-verify like commit
860 - + t7503: verify proper hook execution
1151 +* bw/rebase-autostash-keep-current-branch (2019-09-07) 2 commits
1152 + (merged to 'next' on 2019-09-18 at 6d8ed846ed)
1153 + + builtin/rebase.c: Remove pointless message
1154 + + builtin/rebase.c: make sure the active branch isn't moved when autostashing
1155
862 - A new "pre-merge-commit" hook has been introduced.
1156 + "git rebase --autostash <upstream> <branch>", when <branch> is
1157 + different from the current branch, incorrectly moved the tip of the
1158 + current branch, which has been corrected.
1159
1160 Will merge to 'master'.
1161
1162
867 -* jk/eoo (2019-08-06) 3 commits
868 - (merged to 'next' on 2019-08-23 at 217e97127a)
869 - + gitcli: document --end-of-options
870 - + parse-options: allow --end-of-options as a synonym for "--"
871 - + revision: allow --end-of-options to end option parsing
1163 +* dl/format-patch-doc-test-cleanup (2019-09-05) 13 commits
1164 + (merged to 'next' on 2019-09-09 at b3022b4002)
1165 + + config/format.txt: specify default value of format.coverLetter
1166 + + Doc: add more detail for git-format-patch
1167 + + t4014: stop losing return codes of git commands
1168 + + t4014: remove confusing pipe in check_threading()
1169 + + t4014: use test_line_count() where possible
1170 + + t4014: let sed open its own files
1171 + + t4014: drop redirections to /dev/null
1172 + + t4014: use indentable here-docs
1173 + + t4014: remove spaces after redirect operators
1174 + + t4014: use sq for test case names
1175 + + t4014: move closing sq onto its own line
1176 + + t4014: s/expected/expect/
1177 + + t4014: drop unnecessary blank lines from test cases
1178 + (this branch is used by dl/format-patch-cover-letter-subject.)
1179
873 - The command line parser learned "--end-of-options" notation; the
874 - standard convention for scripters to have hardcoded set of options
875 - first on the command line, and force the command to treat end-user
876 - input as non-options, has been to use "--" as the delimiter, but
877 - that would not work for commands that use "--" as a delimiter
878 - between revs and pathspec.
1180 + The documentation and tests for "git format-patch" have been
1181 + cleaned up.
1182
1183 Will merge to 'master'.
1184
1185
883 -* jk/repo-init-cleanup (2019-08-06) 3 commits
884 - (merged to 'next' on 2019-08-23 at 1a5e4c4f06)
885 - + config: stop checking whether the_repository is NULL
886 - + common-main: delay trace2 initialization
887 - + t1309: use short branch name in includeIf.onbranch test
1186 +* pw/rebase-i-show-HEAD-to-reword (2019-08-19) 3 commits
1187 + - sequencer: simplify root commit creation
1188 + - rebase -i: check for updated todo after squash and reword
1189 + - rebase -i: always update HEAD before rewording
1190 + (this branch is used by ra/rebase-i-more-options.)
1191
889 - Further clean-up of the initialization code.
1192 + "git rebase -i" showed a wrong HEAD while "reword" open the editor.
1193
891 - Will merge to 'master'.
1194 + May want to split out the last one into a separate topic.
1195 + Will merge to 'next'.
1196
1197
1198 * cb/pcre2-chartables-leakfix (2019-08-06) 3 commits
@@ -900,32 +1204,17 @@ of the repositories listed at
1204
1205
1206 * jh/trace2-pretty-output (2019-08-09) 7 commits
903 - - trace2: cleanup whitespace in perf format
904 - - trace2: cleanup whitespace in normal format
905 - - quote: add sq_append_quote_argv_pretty()
906 - - trace2: trim trailing whitespace in normal format error message
907 - - trace2: remove dead code in maybe_add_string_va()
908 - - trace2: trim whitespace in region messages in perf target format
909 - - trace2: cleanup column alignment in perf target format
1207 + (merged to 'next' on 2019-09-18 at 503974aa46)
1208 + + trace2: cleanup whitespace in perf format
1209 + + trace2: cleanup whitespace in normal format
1210 + + quote: add sq_append_quote_argv_pretty()
1211 + + trace2: trim trailing whitespace in normal format error message
1212 + + trace2: remove dead code in maybe_add_string_va()
1213 + + trace2: trim whitespace in region messages in perf target format
1214 + + trace2: cleanup column alignment in perf target format
1215
1216 Output from trace2 subsystem is formatted more prettily now.
1217
913 - Will merge to 'next'.
914 -
915 -
916 -* ds/feature-macros (2019-08-13) 6 commits
917 - (merged to 'next' on 2019-08-23 at 115f0c8df9)
918 - + repo-settings: create feature.experimental setting
919 - + repo-settings: create feature.manyFiles setting
920 - + repo-settings: parse core.untrackedCache
921 - + commit-graph: turn on commit-graph by default
922 - + t6501: use 'git gc' in quiet mode
923 - + repo-settings: consolidate some config settings
924 - (this branch is used by ds/commit-graph-on-fetch.)
925 -
926 - A mechanism to affect the default setting for a (related) group of
927 - configuration variables is introduced.
928 -
1218 Will merge to 'master'.
1219
1220
@@ -938,13 +1227,14 @@ of the repositories listed at
1227 Expecting a reroll.
1228
1229
941 -* ra/rebase-i-more-options (2019-08-20) 6 commits
1230 +* ra/rebase-i-more-options (2019-09-09) 6 commits
1231 - rebase: add --reset-author-date
1232 - rebase -i: support --ignore-date
1233 - sequencer: rename amend_author to author_to_rename
1234 - rebase -i: support --committer-date-is-author-date
946 - - sequencer: add NULL checks under read_author_script
1235 + - sequencer: allow callers of read_author_script() to ignore fields
1236 - rebase -i: add --ignore-whitespace flag
1237 + (this branch uses pw/rebase-i-show-HEAD-to-reword.)
1238
1239 "git rebase -i" learned a few options that are known by "git
1240 rebase" proper.
@@ -952,32 +1242,6 @@ of the repositories listed at
1242 Looking good.
1243
1244
955 -* js/rebase-r-strategy (2019-09-05) 17 commits
956 - (merged to 'next' on 2019-09-07 at 71e2451f6c)
957 - + t3427: accelerate this test by using fast-export and fast-import
958 - + rebase -r: do not (re-)generate root commits with `--root` *and* `--onto`
959 - + t3418: test `rebase -r` with merge strategies
960 - + t/lib-rebase: prepare for testing `git rebase --rebase-merges`
961 - + rebase -r: support merge strategies other than `recursive`
962 - + t3427: fix another incorrect assumption
963 - + t3427: accommodate for the `rebase --merge` backend having been replaced
964 - + t3427: fix erroneous assumption
965 - + t3427: condense the unnecessarily repetitive test cases into three
966 - + t3427: move the `filter-branch` invocation into the `setup` case
967 - + t3427: simplify the `setup` test case significantly
968 - + t3427: add a clarifying comment
969 - + rebase: fold git-rebase--common into the -p backend
970 - + sequencer: the `am` and `rebase--interactive` scripts are gone
971 - + .gitignore: there is no longer a built-in `git-rebase--interactive`
972 - + t3400: stop referring to the scripted rebase
973 - + Drop unused git-rebase--am.sh
974 -
975 - "git rebase --rebase-merges" learned to drive different merge
976 - strategies and pass strategy specific options to them.
977 -
978 - Will merge to 'master'.
979 -
980 -
1245 * ab/pcre-jit-fixes (2019-08-19) 18 commits
1246 - grep: under --debug, show whether PCRE JIT is enabled
1247 - grep: do not enter PCRE2_UTF mode on fixed matching
@@ -1002,61 +1266,17 @@ of the repositories listed at
1266 A few simplification and bugfixes to PCRE interface.
1267
1268
1005 -* md/list-objects-filter-combo (2019-06-28) 10 commits
1006 - (merged to 'next' on 2019-09-07 at 076a48aa57)
1007 - + list-objects-filter-options: make parser void
1008 - + list-objects-filter-options: clean up use of ALLOC_GROW
1009 - + list-objects-filter-options: allow mult. --filter
1010 - + strbuf: give URL-encoding API a char predicate fn
1011 - + list-objects-filter-options: make filter_spec a string_list
1012 - + list-objects-filter-options: move error check up
1013 - + list-objects-filter: implement composite filters
1014 - + list-objects-filter-options: always supply *errbuf
1015 - + list-objects-filter: put omits set in filter struct
1016 - + list-objects-filter: encapsulate filter components
1017 - (this branch is used by ds/include-exclude.)
1018 -
1019 - The list-objects-filter API (used to create a sparse/lazy clone)
1020 - learned to take a combined filter specification.
1021 -
1022 - Will merge to 'master'.
1023 -
1024 -
1025 -* cc/multi-promisor (2019-06-25) 15 commits
1026 - (merged to 'next' on 2019-09-07 at 46faa86955)
1027 - + Move core_partial_clone_filter_default to promisor-remote.c
1028 - + Move repository_format_partial_clone to promisor-remote.c
1029 - + Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}
1030 - + remote: add promisor and partial clone config to the doc
1031 - + partial-clone: add multiple remotes in the doc
1032 - + t0410: test fetching from many promisor remotes
1033 - + builtin/fetch: remove unique promisor remote limitation
1034 - + promisor-remote: parse remote.*.partialclonefilter
1035 - + Use promisor_remote_get_direct() and has_promisor_remote()
1036 - + promisor-remote: use repository_format_partial_clone
1037 - + promisor-remote: add promisor_remote_reinit()
1038 - + promisor-remote: implement promisor_remote_get_direct()
1039 - + Add initial support for many promisor remotes
1040 - + fetch-object: make functions return an error code
1041 - + t0410: remove pipes after git commands
1042 -
1043 - Teach the lazy clone machinery that there can be more than one
1044 - promisor remote and consult them in order when downloading missing
1045 - objects on demand.
1046 -
1047 - Will merge to 'master'.
1048 -
1049 -
1269 * dl/rebase-i-keep-base (2019-08-27) 9 commits
1051 - - rebase: teach rebase --keep-base
1052 - - rebase tests: test linear branch topology
1053 - - rebase: fast-forward --fork-point in more cases
1054 - - rebase: fast-forward --onto in more cases
1055 - - rebase: refactor can_fast_forward into goto tower
1056 - - t3432: test for --no-ff's interaction with fast-forward
1057 - - t3432: distinguish "noop-same" v.s. "work-same" in "same head" tests
1058 - - t3432: test rebase fast-forward behavior
1059 - - t3431: add rebase --fork-point tests
1270 + (merged to 'next' on 2019-09-18 at f94f486724)
1271 + + rebase: teach rebase --keep-base
1272 + + rebase tests: test linear branch topology
1273 + + rebase: fast-forward --fork-point in more cases
1274 + + rebase: fast-forward --onto in more cases
1275 + + rebase: refactor can_fast_forward into goto tower
1276 + + t3432: test for --no-ff's interaction with fast-forward
1277 + + t3432: distinguish "noop-same" v.s. "work-same" in "same head" tests
1278 + + t3432: test rebase fast-forward behavior
1279 + + t3431: add rebase --fork-point tests
1280
1281 "git rebase --keep-base <upstream>" tries to find the original base
1282 of the topic being rebased and rebase on top of that same base,
@@ -1066,7 +1286,7 @@ of the repositories listed at
1286 The command also has learned to fast-forward in more cases where it
1287 can instead of replaying to recreate identical commits.
1288
1069 - Will merge to 'next'.
1289 + Will merge to 'master'.
1290
1291
1292 * jc/format-patch-noclobber (2019-02-22) 1 commit
@@ -1077,4 +1297,40 @@ of the repositories listed at
1297
1298 Will discard.
1299
1300 +--------------------------------------------------
1301 +[Discarded]
1302 +
1303 +* dl/remote-save-to-push (2018-12-11) 1 commit
1304 + . remote: add --save-to-push option to git remote set-url
1305 +
1306 + "git remote set-url" learned a new option that moves existing value
1307 + of the URL field to pushURL field of the remote before replacing
1308 + the URL field with a new value.
1309 +
1310 + Anybody who wants to champion this topic?
1311 + I am personally not yet quite convinced if this is worth pursuing.
1312 +
1313 +
1314 +* js/trace2-json-schema (2019-07-25) 3 commits
1315 + . ci: run trace2 schema validation in the CI suite
1316 + . trace2: add a schema validator for trace2 events
1317 + . trace2: add a JSON schema for trace2 events
1318 +
1319 + The JSON output produced by "trace2" subsystem now has JSON schema
1320 + defined on it, to allow us validate the output and catch deviation.
1321 +
1322 + Abandoned, at least for now.
1323 + cf. <20190910182305.GA11186@google.com>
1324 +
1325 +
1326 +* pd/fetch-jobs (2019-08-13) 5 commits
1327 + . fetch: make --jobs control submodules and remotes
1328 + . fetch: add the --submodule-fetch-jobs option
1329 + . fetch: add the fetch.jobs config key
1330 + . fetch: add the "--fetch-jobs" option
1331 + . fetch: rename max_children to max_children_for_submodules
1332 +
1333 + "git fetch --jobs" is getting taught to also run fetch jobs in
1334 + parallel when fetching from multiple remote repositories.
1335
1336 + cf. <nycvar.QRO.7.76.6.1909111359150.5377@tvgsbejvaqbjf.bet>