What's cooking (2020/04 #03)

Junio C Hamano committed Apr 28, 2020 at 16:31 UTC d4f20befc63a71177f0736931e4f433897ee29f4
1 file changed +842 -676
whats-cooking.txt
+842 -676
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Apr 2020, #02; Mon, 20)
4 -X-master-at: 048abe1751e6727bfbacf7b80466d78e04631f94
5 -X-next-at: 435bf60bd57ed99bd0d44f7afa315bac6c9e97ab
3 +Subject: What's cooking in git.git (Apr 2020, #03; Tue, 28)
4 +X-master-at: 86ab15cb154862b6fa5cc646dac27532f881e1fb
5 +X-next-at: 6140810f5a86d69e4bee74d360b936fb4a8a3b1f
6
7 -What's cooking in git.git (Apr 2020, #02; Mon, 20)
7 +What's cooking in git.git (Apr 2020, #03; Tue, 28)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,11 +12,10 @@ 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 -Having to issue two security fixes on a pair of very similar issues
16 -was embarrassing, but hopefully that's behind us. Let's restart
17 -merging things down. I am hoping that we can merge all topics
18 -marked to be merged to 'next' by early next week, so please make
19 -loud noises if I mistakenly marked stuff that are not yet ready.
15 +Quite a few topics have been merged to 'next' and also to 'master'.
16 +There are a few more important topics that need to be merged down to
17 +'master' before we're comfortable cutting the next maintenance
18 +update but hopefully we'd get there during this week.
19
20 You can find the changes described here in the integration branches
21 of the repositories listed at
@@ -24,117 +23,70 @@ of the repositories listed at
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 --------------------------------------------------
27 -[New Topics]
28 -
29 -* eb/mboxrd-doc (2020-04-15) 1 commit
30 - - Documentation: explain "mboxrd" pretty format
31 -
32 - Doc update.
33 -
34 - Will merge to 'next'.
35 -
36 -
37 -* mt/grep-cquote-path (2020-04-20) 1 commit
38 - - grep: follow conventions for printing paths w/ unusual chars
39 -
40 - "git grep" did not quote a path with unusual character like other
41 - commands (like "git diff", "git status") do, but did quote when run
42 - from a subdirectory, both of which has been corrected.
43 -
44 - Will merge to 'next'.
45 -
46 -
47 -* tb/diff-tree-with-notes (2020-04-20) 1 commit
48 - - diff-tree.c: load notes machinery when required
49 -
50 - "git diff-tree --pretty --notes" used to hit an assertion failure,
51 - as it forgot to initialize the notes subsystem.
26 +[Graduated to "master"]
27
53 - Will merge to 'next'.
54 -
55 -
56 -* tm/zsh-complete-switch-restore (2020-04-17) 1 commit
57 - - complete: zsh: add missing sub cmd completion candidates
58 -
59 - zsh command line completion (in contrib/) update.
60 -
61 - Will merge to 'next'.
62 -
63 -
64 -* vd/range-diff-with-custom-pretty-format-fix (2020-04-15) 2 commits
65 - - range-diff: avoid negative string precision
66 - - range-diff: fix a crash in parsing git-log output
67 -
68 - "git range-diff" fixes.
69 -
70 - Will merge to 'next'.
71 - cf. <20200416010734.GE36156@syl.local>
72 -
73 -
74 -* dl/test-must-fail-fixes-4 (2020-04-20) 8 commits
75 - - t9902: don't use `test_must_fail __git_*`
76 - - t9819: don't use test_must_fail with p4
77 - - t9164: use test_must_fail only on git commands
78 - - t9160: use test_path_is_missing()
79 - - t9141: use test_path_is_missing()
80 - - t7508: don't use `test_must_fail test_cmp`
81 - - t7408: replace incorrect uses of test_must_fail
82 - - t6030: use test_path_is_missing()
83 -
84 - Test clean-up.
85 -
86 - Will merge to 'next'.
28 +* ag/rebase-merge-allow-ff-under-abbrev-command (2020-03-30) 2 commits
29 + (merged to 'next' on 2020-04-15 at b4679f7c7c)
30 + + t3432: test `--merge' with `rebase.abbreviateCommands = true', too
31 + + sequencer: don't abbreviate a command if it doesn't have a short form
32
88 ---------------------------------------------------
89 -[Stalled]
33 + "git rebase" with the merge backend did not work well when the
34 + rebase.abbreviateCommands configuration was set.
35
91 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
92 - - zlib.c: use size_t for size
36
94 - The wrapper to call into zlib followed our long tradition to use
95 - "unsigned long" for sizes of regions in memory, which have been
96 - updated to use "size_t".
37 +* ag/sequencer-i18n-messages (2020-03-28) 1 commit
38 + (merged to 'next' on 2020-04-15 at d6b38d12cf)
39 + + sequencer: mark messages for translation
40
98 ---------------------------------------------------
99 -[Cooking]
41 + Message fix.
42
101 -* jk/use-quick-lookup-in-clone-for-tag-following (2020-04-01) 1 commit
102 - (merged to 'next' on 2020-04-15 at 11d6110e99)
103 - + clone: use "quick" lookup while following tags
43
105 - The logic to auto-follow tags by "git clone --single-branch" was
106 - not careful to avoid lazy-fetching unnecessary tags, which has been
107 - corrected.
44 +* ak/run-command-on-cygwin-fix (2020-03-27) 1 commit
45 + (merged to 'next' on 2020-04-15 at 9e98b82a7f)
46 + + run-command: trigger PATH lookup properly on Cygwin
47
109 - Will merge to 'master'.
48 + Utitiles run via the run_command() API were not spawned correctly
49 + on Cygwin, when the paths to them are given as a full path with
50 + backslashes.
51
52
112 -* ds/commit-graph-expiry-fix (2020-04-01) 1 commit
113 - (merged to 'next' on 2020-04-20 at 4afb3de947)
114 - + commit-graph: fix buggy --expire-time option
53 +* ar/test-style-fixes (2020-03-22) 2 commits
54 + (merged to 'next' on 2020-04-15 at 50ed75bccf)
55 + + t: fix whitespace around &&
56 + + t9500: remove spaces after redirect operators
57
116 - "git commit-graph write --expire-time=<timestamp>" did not use the
117 - given timestamp correctly, which has been corrected.
58 + Style fixes.
59
119 - Will merge to 'master'.
60
61 +* bc/constant-memequal (2020-04-22) 2 commits
62 + (merged to 'next' on 2020-04-22 at 6d2b10b1e7)
63 + + receive-pack: compilation fix
64 + (merged to 'next' on 2020-04-20 at 31180dae7d)
65 + + builtin/receive-pack: use constant-time comparison for HMAC value
66
122 -* ds/t5319-touch-fix (2020-04-01) 1 commit
123 - (merged to 'next' on 2020-04-20 at 41ccdb3fcd)
124 - + t5319: replace 'touch -m' with 'test-tool chmtime'
67 + Validation of push certificate has been made more robust against
68 + timing attacks.
69
126 - Tests update to use "test-chmtime" instead of "touch -t".
70
128 - Will merge to 'master'.
71 +* bc/faq (2020-03-30) 1 commit
72 + (merged to 'next' on 2020-04-15 at 2d4c46ca7a)
73 + + docs: add a FAQ
74
75 + Doc update.
76
131 -* en/sequencer-reflog-action (2020-04-07) 1 commit
132 - (merged to 'next' on 2020-04-15 at 6c635bdaa1)
133 - + sequencer: honor GIT_REFLOG_ACTION
77
135 - "git rebase -i" did not leave the reflog entries correctly.
78 +* bk/p4-pre-edit-changelist (2020-02-14) 7 commits
79 + (merged to 'next' on 2020-04-15 at 3e7cecd445)
80 + + git-p4: add RCS keyword status message
81 + + git-p4: add p4 submit hooks
82 + + git-p4: restructure code in submit
83 + + git-p4: add --no-verify option
84 + + git-p4: add p4-pre-submit exit text
85 + + git-p4: create new function run_git_hook
86 + + git-p4: rewrite prompt to be Windows compatible
87
137 - Will merge to 'master'.
88 + "git p4" learned four new hooks and also "--no-verify" option to
89 + bypass them (and the existing "p4-pre-submit" hook).
90
91
92 * dd/no-gpg-sign (2020-04-03) 6 commits
@@ -149,98 +101,118 @@ of the repositories listed at
101 "git rebase" learned the "--no-gpg-sign" option to countermand
102 commit.gpgSign the user may have.
103
152 - Will merge to 'master'.
104
105 +* dd/test-with-busybox (2020-03-26) 8 commits
106 + (merged to 'next' on 2020-04-15 at 8177191066)
107 + + t5703: feed raw data into test-tool unpack-sideband
108 + + t4124: tweak test so that non-compliant diff(1) can also be used
109 + + t7063: drop non-POSIX argument "-ls" from find(1)
110 + + t5616: use rev-parse instead to get HEAD's object_id
111 + + t5003: skip conversion test if unzip -a is unavailable
112 + + t5003: drop the subshell in test_lazy_prereq
113 + + test-lib-functions: test_cmp: eval $GIT_TEST_CMP
114 + + t4061: use POSIX compliant regex(7)
115 + (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
116
155 -* en/rebase-doc-hooks-called-by-accident (2020-04-05) 1 commit
156 - (merged to 'next' on 2020-04-20 at 1011f8a876)
157 - + git-rebase.txt: add another hook to the hooks section, and explain more
117 + Various tests have been updated to work around issues found with
118 + shell utilities that come with busybox etc.
119
159 - "git rebase" happens to call some hooks meant for "checkout" and
160 - "commit" by this was not a designed behaviour than historical
161 - accident. This has been documented.
120
163 - Will merge to 'master'.
121 +* dl/libify-a-few (2020-03-24) 2 commits
122 + (merged to 'next' on 2020-04-20 at 84eb704a32)
123 + + Lib-ify prune-packed
124 + + Lib-ify fmt-merge-msg
125
126 + Code in builtin/*, i.e. those can only be called from within
127 + built-in subcommands, that implements bulk of a couple of
128 + subcommands have been moved to libgit.a so that they could be used
129 + by others.
130
166 -* jk/fast-import-use-hashmap (2020-04-06) 1 commit
167 - (merged to 'next' on 2020-04-20 at 76e8908efe)
168 - + fast-import: replace custom hash with hashmap.c
131
170 - The custom hash function used by "git fast-import" has been
171 - replaced with the one from hashmap.c, which gave us a nice
172 - performance boost.
132 +* dl/test-must-fail-fixes-3 (2020-03-27) 8 commits
133 + (merged to 'next' on 2020-04-15 at dd0130c158)
134 + + t5801: teach compare_refs() to accept !
135 + + t5612: stop losing return codes of git commands
136 + + t5612: don't use `test_must_fail test_cmp`
137 + + t5607: reorder `nongit test_must_fail`
138 + + t5550: simplify no matching line check
139 + + t5512: stop losing return codes of git commands
140 + + t5512: stop losing git exit code in here-docs
141 + + t5512: don't use `test_must_fail test_cmp`
142
174 - Will merge to 'master'.
143 + Test clean-up continues.
144
145
177 -* js/t0007-typofix (2020-04-05) 1 commit
178 - (merged to 'next' on 2020-04-15 at ac9f86e08f)
179 - + t0007: fix a typo
146 +* dl/wrapper-fix-indentation (2020-03-28) 1 commit
147 + (merged to 'next' on 2020-04-15 at e6b9c16b1b)
148 + + wrapper: indent with tabs
149
181 - Typofix in a test script.
150 + Coding style fix.
151
183 - Will merge to 'master'.
152
153 +* dr/doc-recurse-submodules (2020-04-06) 5 commits
154 + (merged to 'next' on 2020-04-20 at 601e10f9a1)
155 + + doc: --recurse-submodules mostly applies to active submodules
156 + + doc: be more precise on (fetch|push).recurseSubmodules
157 + + doc: explain how to deactivate submodule.recurse completely
158 + + doc: document --recurse-submodules for reset and restore
159 + + doc: list all commands affected by submodule.recurse
160
186 -* jt/avoid-prefetch-when-able-in-diff (2020-04-07) 4 commits
187 - (merged to 'next' on 2020-04-20 at 02b52c34bf)
188 - + diff: restrict when prefetching occurs
189 - + diff: refactor object read
190 - + diff: make diff_populate_filespec_options struct
191 - + promisor-remote: accept 0 as oid_nr in function
161 + Documentation updates around the "--recurse-submodules" option.
162
193 - "git diff" in a partial clone learned to avoid lazy loading blob
194 - objects in more casese when they are not needed.
163
196 - Will merge to 'master'.
164 +* dr/midx-avoid-int-underflow (2020-03-28) 1 commit
165 + (merged to 'next' on 2020-04-15 at eb2343a5eb)
166 + + midx.c: fix an integer underflow
167
168 + When fed a midx that records no objects, some codepaths tried to
169 + loop from 0 through (num_objects-1), which, due to integer
170 + arithmetic wrapping around, made it nonsense operation with out of
171 + bounds array accesses. The code has been corrected to reject such
172 + an midx file.
173
199 -* lx/submodule-clear-variables (2020-04-02) 1 commit
200 - (merged to 'next' on 2020-04-20 at c18cd924c9)
201 - + git-submodule.sh: setup uninitialized variables
174
203 - The "git submodule" command did not initialize a few variables it
204 - internally uses and was affected by variable settings leaked from
205 - the environment.
175 +* ds/commit-graph-expiry-fix (2020-04-01) 1 commit
176 + (merged to 'next' on 2020-04-20 at 4afb3de947)
177 + + commit-graph: fix buggy --expire-time option
178
207 - Will merge to 'master'.
179 + "git commit-graph write --expire-time=<timestamp>" did not use the
180 + given timestamp correctly, which has been corrected.
181
182
210 -* pb/pull-fetch-doc (2020-04-05) 2 commits
211 - (merged to 'next' on 2020-04-15 at cf530f230f)
212 - + pull doc: correct outdated description of an example
213 - + pull doc: refer to a specific section in 'fetch' doc
183 +* ds/doc-clone-filter (2020-03-22) 1 commit
184 + (merged to 'next' on 2020-04-15 at 16276689b3)
185 + + clone: document --filter options
186
215 - The more aggressive updates to remote-tracking branches we had for
216 - the past 7 years or so were not reflected in the documentation,
217 - which has been corrected.
187 + Doc update.
188
219 - Will merge to 'master'.
189
190 +* ds/log-exclude-decoration-config (2020-04-16) 2 commits
191 + (merged to 'next' on 2020-04-22 at 7dc5fae7d9)
192 + + log: add log.excludeDecoration config option
193 + + log-tree: make ref_filter_match() a helper method
194
222 -* dd/ci-swap-azure-pipelines-with-github-actions (2020-04-10) 14 commits
223 - (merged to 'next' on 2020-04-20 at 40d0486c23)
224 - + ci: let GitHub Actions upload failed tests' directories
225 - + ci: add a problem matcher for GitHub Actions
226 - + tests: when run in Bash, annotate test failures with file name/line number
227 - + ci: retire the Azure Pipelines definition
228 - + README: add a build badge for the GitHub Actions runs
229 - + ci: configure GitHub Actions for CI/PR
230 - + ci: run gem with sudo to install asciidoctor
231 - + ci: explicit install all required packages
232 - + ci: fix the `jobname` of the `GETTEXT_POISON` job
233 - + ci/lib: set TERM environment variable if not exist
234 - + ci/lib: allow running in GitHub Actions
235 - + ci/lib: if CI type is unknown, show the environment variables
236 - + Merge branch 'dd/ci-musl-libc' into HEAD
237 - + Merge branch 'dd/test-with-busybox' into HEAD
238 - (this branch uses dd/ci-musl-libc and dd/test-with-busybox.)
195 + The "--decorate-refs" and "--decorate-refs-exclude" options "git
196 + log" takes have learned a companion configuration variable
197 + log.excludeDecoration that sits at the lowest priority in the
198 + family.
199
240 - Update the CI configuration to use GitHub Actions, retiring the one
241 - based on Azure Pipelines.
200
243 - Will merge to 'master'.
201 +* ds/revision-show-pulls (2020-04-10) 1 commit
202 + (merged to 'next' on 2020-04-15 at 89b4d86a3a)
203 + + revision: --show-pulls adds helpful merges
204 +
205 + "git log" learned "--show-pulls" that helps pathspec limited
206 + history views; a merge commit that takes the whole change from a
207 + side branch, which is normally omitted from the output, is shown
208 + in addition to the commits that introduce real changes.
209 +
210 +
211 +* ds/t5319-touch-fix (2020-04-01) 1 commit
212 + (merged to 'next' on 2020-04-20 at 41ccdb3fcd)
213 + + t5319: replace 'touch -m' with 'test-tool chmtime'
214 +
215 + Tests update to use "test-chmtime" instead of "touch -t".
216
217
218 * eb/format-patch-no-encode-headers (2020-04-07) 1 commit
@@ -252,76 +224,30 @@ of the repositories listed at
224 directly be fed to e-mail programs. A new option has been added
225 to produce these headers in raw.
226
255 - Will merge to 'master'.
256 -
257 -
258 -* js/mingw-fixes (2020-04-10) 3 commits
259 - (merged to 'next' on 2020-04-15 at 11a3d39d2b)
260 - + mingw: help debugging by optionally executing bash with strace
261 - + mingw: do not treat `COM0` as a reserved file name
262 - + mingw: use modern strftime implementation if possible
263 -
264 - Misc fixes for Windows.
265 -
266 - Will merge to 'master'.
267 -
268 -
269 -* js/stash-p-fix (2020-04-08) 2 commits
270 - (merged to 'next' on 2020-04-20 at 435bf60bd5)
271 - + stash -p: (partially) fix bug concerning split hunks
272 - + t3904: fix incorrect demonstration of a bug
227
274 - Allowing the user to split a patch hunk while "git stash -p" does
275 - not work well; a band-aid has been added to make this (partially)
276 - work better.
277 -
278 - Will merge to 'master'.
279 -
280 -
281 -* js/subtree-doc-update-to-asciidoctor-2 (2020-04-08) 1 commit
282 - (merged to 'next' on 2020-04-20 at db1ed7a858)
283 - + subtree: fix build with AsciiDoctor 2
284 -
285 - Doc markup update.
286 -
287 - Will merge to 'master'.
288 -
289 -
290 -* pw/rebase-i-more-options (2020-04-07) 7 commits
291 - - SQUASH??? - avoid test numbering crashes
292 - - t3433: improve coverage
293 - - Revert "sequencer: allow callers of read_author_script() to ignore fields"
294 - - rebase -i: fix --committer-date-is-author-date
295 - - t3433: only compare commit dates
296 - - t3433: remove loops from tests
297 - - Revert "Revert "Merge branch 'ra/rebase-i-more-options'""
298 -
299 - "git rebase -i" learns a bit more options.
300 -
301 - Expecting a reroll.
302 - cf. <43d06bc0-b2ee-0ae6-f22c-9850e4033d45@gmail.com>
228 +* eb/mboxrd-doc (2020-04-15) 1 commit
229 + (merged to 'next' on 2020-04-22 at 8935542c17)
230 + + Documentation: explain "mboxrd" pretty format
231
232 + Doc update.
233
305 -* bc/constant-memequal (2020-04-09) 1 commit
306 - (merged to 'next' on 2020-04-20 at 31180dae7d)
307 - + builtin/receive-pack: use constant-time comparison for HMAC value
234
309 - Validation of push certificate has been made more robust against
310 - timing attacks.
311 -
312 - Will merge to 'master'.
235 +* en/pull-do-not-rebase-after-fast-forwarding (2020-03-27) 1 commit
236 + (merged to 'next' on 2020-04-15 at 3aa725ff45)
237 + + pull: avoid running both merge and rebase
238
239 + "git pull --rebase" tried to run a rebase even after noticing that
240 + the pull results in a fast-forward and no rebase is needed nor
241 + sensible, for the past few years due to a mistake nobody noticed.
242
315 -* ds/revision-show-pulls (2020-04-10) 1 commit
316 - (merged to 'next' on 2020-04-15 at 89b4d86a3a)
317 - + revision: --show-pulls adds helpful merges
243
319 - "git log" learned "--show-pulls" that helps pathspec limited
320 - history views; a merge commit that takes the whole change from a
321 - side branch, which is normally omitted from the output, is shown
322 - in addition to the commits that introduce real changes.
244 +* en/rebase-doc-hooks-called-by-accident (2020-04-05) 1 commit
245 + (merged to 'next' on 2020-04-20 at 1011f8a876)
246 + + git-rebase.txt: add another hook to the hooks section, and explain more
247
324 - Will merge to 'master'.
248 + "git rebase" happens to call some hooks meant for "checkout" and
249 + "commit" by this was not a designed behaviour than historical
250 + accident. This has been documented.
251
252
253 * en/rebase-no-keep-empty (2020-04-11) 3 commits
@@ -336,7 +262,43 @@ of the repositories listed at
262 opposed to the ones that become empty because of rebasing). The
263 interactive rebase also marks commits that are empty in the todo.
264
339 - Will merge to 'master'.
265 +
266 +* en/sequencer-reflog-action (2020-04-07) 1 commit
267 + (merged to 'next' on 2020-04-15 at 6c635bdaa1)
268 + + sequencer: honor GIT_REFLOG_ACTION
269 +
270 + "git rebase -i" did not leave the reflog entries correctly.
271 +
272 +
273 +* jc/allow-strlen-substitution-in-shell-scripts (2020-03-29) 1 commit
274 + (merged to 'next' on 2020-04-15 at 262424efdc)
275 + + CodingGuidelines: allow ${#posix} == strlen($posix)
276 +
277 + Coding guideline update.
278 +
279 +
280 +* jc/doc-test-leaving-early (2020-03-29) 1 commit
281 + (merged to 'next' on 2020-04-20 at 4bd94585d1)
282 + + t/README: suggest how to leave test early with failure
283 +
284 + Document the recommended way to abort a failing test early (e.g. by
285 + exiting a loop), which is to say "return 1".
286 +
287 +
288 +* jc/gnu-hurd-lets-fread-read-dirs (2020-04-22) 1 commit
289 + (merged to 'next' on 2020-04-22 at 8cd50b8150)
290 + + config.mak.uname: Define FREAD_READS_DIRECTORIES for GNU/Hurd
291 +
292 + GNU/Hurd is also among the ones that need the fopen() wrapper.
293 +
294 +
295 +* jc/log-no-mailmap (2020-03-16) 3 commits
296 + (merged to 'next' on 2020-04-20 at b43968e73e)
297 + + log: give --[no-]use-mailmap a more sensible synonym --[no-]mailmap
298 + + clone: reorder --recursive/--recurse-submodules
299 + + parse-options: teach "git cmd -h" to show alias as alias
300 +
301 + "git log" learns "--[no-]mailmap" as a synonym to "--[no-]use-mailmap"
302
303
304 * jc/missing-ref-store-fix (2020-04-09) 2 commits
@@ -348,8 +310,6 @@ of the repositories listed at
310 about a full year without anybody noticing, which has been
311 corrected.
312
351 - Will merge to 'master'.
352 -
313
314 * jk/config-use-size-t (2020-04-10) 6 commits
315 (merged to 'next' on 2020-04-20 at 4af9fea74f)
@@ -364,7 +324,92 @@ of the repositories listed at
324 length of various pieces of text it parsed, which has been updated
325 to use the correct type (i.e. size_t) throughout.
326
367 - Will merge to 'master'.
327 +
328 +* jk/credential-parsing-end-of-host-in-URL (2020-04-15) 1 commit
329 + (merged to 'next' on 2020-04-15 at 55bc3eb7cb)
330 + + credential: treat "?" and "#" in URLs as end of host
331 +
332 + Parsing of URL for the credential helper has been corrected.
333 +
334 +
335 +* jk/fast-import-use-hashmap (2020-04-06) 1 commit
336 + (merged to 'next' on 2020-04-20 at 76e8908efe)
337 + + fast-import: replace custom hash with hashmap.c
338 +
339 + The custom hash function used by "git fast-import" has been
340 + replaced with the one from hashmap.c, which gave us a nice
341 + performance boost.
342 +
343 +
344 +* jk/harden-protocol-v2-delim-handling (2020-03-29) 3 commits
345 + (merged to 'next' on 2020-04-15 at c983535405)
346 + + test-lib-functions: simplify packetize() stdin code
347 + + upload-pack: handle unexpected delim packets
348 + + test-lib-functions: make packetize() more efficient
349 +
350 + The server-end of the v2 protocol to serve "git clone" and "git
351 + fetch" was not prepared to see a delim packets at unexpected
352 + places, which led to a crash.
353 +
354 +
355 +* jk/oid-array-cleanups (2020-03-30) 7 commits
356 + (merged to 'next' on 2020-04-15 at d6155cd023)
357 + + oidset: stop referring to sha1-array
358 + + ref-filter: stop referring to "sha1 array"
359 + + bisect: stop referring to sha1_array
360 + + test-tool: rename sha1-array to oid-array
361 + + oid_array: rename source file from sha1-array
362 + + oid_array: use size_t for iteration
363 + + oid_array: use size_t for count and allocation
364 +
365 + Code cleanup.
366 +
367 +
368 +* jk/p5310-drop-non-bitmap-timing (2020-03-27) 1 commit
369 + (merged to 'next' on 2020-04-15 at 7aac76cab2)
370 + + p5310: stop timing non-bitmap pack-to-disk
371 +
372 + Perf-test update.
373 +
374 +
375 +* jk/t3419-drop-expensive-tests (2020-03-22) 1 commit
376 + (merged to 'next' on 2020-04-15 at a17ac8f996)
377 + + t3419: drop EXPENSIVE tests
378 +
379 + Test update.
380 +
381 +
382 +* jk/test-cleanup (2020-03-27) 2 commits
383 + (merged to 'next' on 2020-04-15 at bce8b2d5ed)
384 + + t/lib-*.sh: drop executable bit
385 + + t/lib-credential.sh: drop shebang line
386 +
387 + Test cleanup.
388 +
389 +
390 +* jk/use-quick-lookup-in-clone-for-tag-following (2020-04-01) 1 commit
391 + (merged to 'next' on 2020-04-15 at 11d6110e99)
392 + + clone: use "quick" lookup while following tags
393 +
394 + The logic to auto-follow tags by "git clone --single-branch" was
395 + not careful to avoid lazy-fetching unnecessary tags, which has been
396 + corrected.
397 +
398 +
399 +* jm/gitweb-fastcgi-utf8 (2020-03-29) 1 commit
400 + (merged to 'next' on 2020-04-15 at adb7f2373a)
401 + + gitweb: fix UTF-8 encoding when using CGI::Fast
402 +
403 + Gitweb update.
404 +
405 +
406 +* jn/demote-proto2-from-default (2020-04-22) 1 commit
407 + (merged to 'next' on 2020-04-22 at 1a5e0b221a)
408 + + Revert "fetch: default to protocol version 2"
409 +
410 + Those fetching over protocol v2 from linux-next and other kernel
411 + repositories are reporting that v2 often fetches way too much than
412 + needed.
413
414
415 * js/flush-prompt-before-interative-input (2020-04-10) 2 commits
@@ -375,7 +420,25 @@ of the repositories listed at
420 The interactive input from various codepaths are consolidated and
421 any prompt possibly issued earlier are fflush()ed before we read.
422
378 - Will merge to 'master'.
423 +
424 +* js/import-tars-do-not-make-phony-files-from-pax-headers (2020-03-24) 1 commit
425 + (merged to 'next' on 2020-04-15 at 408afae2c9)
426 + + import-tars: ignore the global PAX header
427 +
428 + The import-tars importer (in contrib/fast-import/) used to create
429 + phony files at the top-level of the repository when the archive
430 + contains global PAX headers, which made its own logic to detect and
431 + omit the common leading directory ineffective, which has been
432 + corrected.
433 +
434 +
435 +* js/mingw-fixes (2020-04-10) 3 commits
436 + (merged to 'next' on 2020-04-15 at 11a3d39d2b)
437 + + mingw: help debugging by optionally executing bash with strace
438 + + mingw: do not treat `COM0` as a reserved file name
439 + + mingw: use modern strftime implementation if possible
440 +
441 + Misc fixes for Windows.
442
443
444 * js/mingw-is-hidden-test-fix (2020-04-11) 3 commits
@@ -387,8 +450,6 @@ of the repositories listed at
450 A Windows-specific test element has been made more robust against
451 misuse from both user's environment and programmer's errors.
452
390 - Will merge to 'master'.
391 -
453
454 * js/mingw-isilon-nfs (2020-04-10) 1 commit
455 (merged to 'next' on 2020-04-15 at 4bac536980)
@@ -397,666 +458,767 @@ of the repositories listed at
458 Will merge to 'master'.
459
460
400 -* ma/config-doc-fix (2020-04-09) 1 commit
401 - (merged to 'next' on 2020-04-15 at 256175ec38)
402 - + config.txt: move closing "----" to cover entire listing
403 -
404 - Doc update.
405 -
406 - Will merge to 'master'.
407 -
461 +* js/stash-p-fix (2020-04-08) 2 commits
462 + (merged to 'next' on 2020-04-20 at 435bf60bd5)
463 + + stash -p: (partially) fix bug concerning split hunks
464 + + t3904: fix incorrect demonstration of a bug
465
409 -* ma/simplify-merge-config-parsing (2020-04-11) 1 commit
410 - (merged to 'next' on 2020-04-15 at d2915301e4)
411 - + merge: use skip_prefix to parse config key
466 + Allowing the user to split a patch hunk while "git stash -p" does
467 + not work well; a band-aid has been added to make this (partially)
468 + work better.
469
413 - Code simplification.
470
415 - Will merge to 'master'.
471 +* js/subtree-doc-update-to-asciidoctor-2 (2020-04-08) 1 commit
472 + (merged to 'next' on 2020-04-20 at db1ed7a858)
473 + + subtree: fix build with AsciiDoctor 2
474
475 + Doc markup update.
476
418 -* ds/blame-on-bloom (2020-04-16) 3 commits
419 - - blame: use changed-path Bloom filters
420 - - tests: write commit-graph with Bloom filters
421 - - revision: complicated pathspecs disable filters
422 - (this branch uses gs/commit-graph-path-filter.)
477
424 - "git blame" learns to take advantage of the "changed-paths" Bloom
425 - filter stored in the commit-graph file.
478 +* js/t0007-typofix (2020-04-05) 1 commit
479 + (merged to 'next' on 2020-04-15 at ac9f86e08f)
480 + + t0007: fix a typo
481
427 - Will merge to 'next'.
482 + Typofix in a test script.
483
484
430 -* dd/iso-8601-updates (2020-04-15) 2 commits
431 - - date.c: allow compact version of ISO-8601 datetime
432 - - date.c: skip fractional second part of ISO-8601
485 +* js/test-junit-finalization-fix (2020-03-23) 1 commit
486 + (merged to 'next' on 2020-04-15 at 0d6a975146)
487 + + tests(junit-xml): avoid invalid XML
488
434 - The approxidate parser learns to parse seconds with fraction.
489 + Test fix.
490
436 - Expecting further work.
437 - cf. <20200417133647.GA26701@danh.dev>
491
492 +* js/tests-gpg-integration-on-windows (2020-03-26) 5 commits
493 + (merged to 'next' on 2020-04-15 at 48a13eb0b2)
494 + + tests: increase the verbosity of the GPG-related prereqs
495 + + tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
496 + + tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
497 + + t/lib-gpg.sh: stop pretending to be a stand-alone script
498 + + tests(gpg): allow the gpg-agent to start on Windows
499
440 -* ds/log-exclude-decoration-config (2020-04-16) 2 commits
441 - - log: add log.excludeDecoration config option
442 - - log-tree: make ref_filter_match() a helper method
500 + Enable tests that require GnuPG on Windows.
501
444 - The "--decorate-refs" and "--decorate-refs-exclude" options "git
445 - log" takes have learned a companion configuration variable
446 - log.excludeDecoration that sits at the lowest priority in the
447 - family.
502
449 - Will merge to 'next'.
503 +* js/trace2-env-vars (2020-03-23) 1 commit
504 + (merged to 'next' on 2020-04-15 at 1aad0adfa0)
505 + + trace2: teach Git to log environment variables
506
507 + Trace2 enhancement to allow logging of the environment variables.
508
452 -* jk/credential-parsing-end-of-host-in-URL (2020-04-15) 1 commit
453 - (merged to 'next' on 2020-04-15 at 55bc3eb7cb)
454 - + credential: treat "?" and "#" in URLs as end of host
509
456 - Parsing of URL for the credential helper has been corrected.
510 +* js/walk-doc-optim (2020-03-30) 1 commit
511 + (merged to 'next' on 2020-04-15 at ca36c04a23)
512 + + MyFirstObjectWalk: remove unnecessary conditional statement
513
458 - Will merge to 'master'.
514 + Code cleanup.
515
516
461 -* lr/freshen-file-fix (2020-04-15) 1 commit
462 - (merged to 'next' on 2020-04-20 at e9370b0a81)
463 - + freshen_file(): use NULL `times' for implicit current-time
517 +* jt/avoid-prefetch-when-able-in-diff (2020-04-07) 4 commits
518 + (merged to 'next' on 2020-04-20 at 02b52c34bf)
519 + + diff: restrict when prefetching occurs
520 + + diff: refactor object read
521 + + diff: make diff_populate_filespec_options struct
522 + + promisor-remote: accept 0 as oid_nr in function
523
465 - The code that refreshes the last access and modified time of
466 - on-disk packfiles and loose object files have been updated.
524 + "git diff" in a partial clone learned to avoid lazy loading blob
525 + objects in more casese when they are not needed.
526
468 - Will merge to 'master'.
527
528 +* jt/connectivity-check-optim-in-partial-clone (2020-03-29) 1 commit
529 + (merged to 'next' on 2020-04-15 at 1b3692b7fb)
530 + + connected: always use partial clone optimization
531
471 -* tb/commit-graph-split-strategy (2020-04-15) 7 commits
472 - - commit-graph.c: introduce '--[no-]check-oids'
473 - - commit-graph.h: replace 'commit_hex' with 'commits'
474 - - oidset: introduce 'oidset_size'
475 - - builtin/commit-graph.c: introduce split strategy 'replace'
476 - - builtin/commit-graph.c: introduce split strategy 'no-merge'
477 - - builtin/commit-graph.c: support for '--split[=<strategy>]'
478 - - t/helper/test-read-graph.c: support commit-graph chains
532 + Simplify the commit ancestry connectedness check in a partial clone
533 + repository in which "promised" objects are assumed to be obtainable
534 + lazily on-demand from promisor remote repositories.
535
480 - "git commit-graph write" learned different ways to write out split
481 - files.
536
537 +* jt/rebase-allow-duplicate (2020-04-11) 1 commit
538 + (merged to 'next' on 2020-04-15 at 56a9d83adf)
539 + + rebase --merge: optionally skip upstreamed commits
540 + (this branch uses en/rebase-no-keep-empty.)
541
484 -* gs/commit-graph-path-filter (2020-04-09) 16 commits
485 - - bloom: ignore renames when computing changed paths
486 - - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
487 - - t4216: add end to end tests for git log with Bloom filters
488 - - revision.c: add trace2 stats around Bloom filter usage
489 - - revision.c: use Bloom filters to speed up path based revision walks
490 - - commit-graph: add --changed-paths option to write subcommand
491 - - commit-graph: reuse existing Bloom filters during write
492 - - commit-graph: write Bloom filters to commit graph file
493 - - commit-graph: examine commits by generation number
494 - - commit-graph: examine changed-path objects in pack order
495 - - commit-graph: compute Bloom filters for changed paths
496 - - diff: halt tree-diff early after max_changes
497 - - bloom.c: core Bloom filter implementation for changed paths.
498 - - bloom.c: introduce core Bloom filter constructs
499 - - bloom.c: add the murmur3 hash implementation
500 - - commit-graph: define and use MAX_NUM_CHUNKS
501 - (this branch is used by ds/blame-on-bloom.)
542 + Allow "git rebase" to reapply all local commits, even if the may be
543 + already in the upstream, without checking first.
544
503 - Introduce an extension to the commit-graph to make it efficient to
504 - check for the paths that were modified at each commit using Bloom
505 - filters.
545
507 - Will merge to 'next'.
546 +* jx/atomic-push (2020-04-17) 5 commits
547 + (merged to 'next' on 2020-04-20 at 266d6934d8)
548 + + transport-helper: new method reject_atomic_push()
549 + + transport-helper: mark failure for atomic push
550 + + send-pack: mark failure of atomic push properly
551 + + t5543: never report what we do not push
552 + + send-pack: fix inconsistent porcelain output
553
554 + "git push --atomic" used to show failures for refs that weren't
555 + even pushed, which has been corrected.
556
510 -* ag/rebase-merge-allow-ff-under-abbrev-command (2020-03-30) 2 commits
511 - (merged to 'next' on 2020-04-15 at b4679f7c7c)
512 - + t3432: test `--merge' with `rebase.abbreviateCommands = true', too
513 - + sequencer: don't abbreviate a command if it doesn't have a short form
557
515 - "git rebase" with the merge backend did not work well when the
516 - rebase.abbreviateCommands configuration was set.
558 +* lr/freshen-file-fix (2020-04-15) 1 commit
559 + (merged to 'next' on 2020-04-20 at e9370b0a81)
560 + + freshen_file(): use NULL `times' for implicit current-time
561
518 - Will merge to 'master'.
562 + The code that refreshes the last access and modified time of
563 + on-disk packfiles and loose object files have been updated.
564
565
521 -* jk/oid-array-cleanups (2020-03-30) 7 commits
522 - (merged to 'next' on 2020-04-15 at d6155cd023)
523 - + oidset: stop referring to sha1-array
524 - + ref-filter: stop referring to "sha1 array"
525 - + bisect: stop referring to sha1_array
526 - + test-tool: rename sha1-array to oid-array
527 - + oid_array: rename source file from sha1-array
528 - + oid_array: use size_t for iteration
529 - + oid_array: use size_t for count and allocation
566 +* lx/submodule-clear-variables (2020-04-02) 1 commit
567 + (merged to 'next' on 2020-04-20 at c18cd924c9)
568 + + git-submodule.sh: setup uninitialized variables
569
531 - Code cleanup.
570 + The "git submodule" command did not initialize a few variables it
571 + internally uses and was affected by variable settings leaked from
572 + the environment.
573
533 - Will merge to 'master'.
574
575 +* ma/config-doc-fix (2020-04-09) 1 commit
576 + (merged to 'next' on 2020-04-15 at 256175ec38)
577 + + config.txt: move closing "----" to cover entire listing
578
536 -* jx/proc-receive-hook (2020-04-15) 8 commits
537 - - SQUASH???
538 - - doc: add documentation for the proc-receive hook
539 - - receive-pack: new config receive.procReceiveRefs
540 - - refs.c: refactor to reuse ref_is_hidden()
541 - - send-pack: extension for client-side status report
542 - - receive-pack: add new proc-receive hook
543 - - connect: export parse_feature_value()
544 - - transport: not report a non-head push as a branch
579 + Doc update.
580
546 - "git receive-pack" that accepts requests by "git push" learned to
547 - outsource most of the ref updates to the new "proc-receive" hook.
581
582 +* ma/doc-discard-docbook-xsl-1.73 (2020-03-31) 7 commits
583 + (merged to 'next' on 2020-04-20 at c280472e02)
584 + + user-manual.conf: don't specify [listingblock]
585 + + INSTALL: drop support for docbook-xsl before 1.74
586 + + manpage-normal.xsl: fold in manpage-base.xsl
587 + + manpage-bold-literal.xsl: stop using git.docbook.backslash
588 + + Doc: drop support for docbook-xsl before 1.73.0
589 + + Doc: drop support for docbook-xsl before 1.72.0
590 + + Doc: drop support for docbook-xsl before 1.71.1
591
550 -* dr/midx-avoid-int-underflow (2020-03-28) 1 commit
551 - (merged to 'next' on 2020-04-15 at eb2343a5eb)
552 - + midx.c: fix an integer underflow
592 + Raise the minimum required version of docbook-xsl package to 1.74,
593 + as 1.74.0 was from late 2008, which is more than 10 years old, and
594 + drop compatibility cruft from our documentation suite.
595
554 - When fed a midx that records no objects, some codepaths tried to
555 - loop from 0 through (num_objects-1), which, due to integer
556 - arithmetic wrapping around, made it nonsense operation with out of
557 - bounds array accesses. The code has been corrected to reject such
558 - an midx file.
596
560 - Will merge to 'master'.
597 +* ma/simplify-merge-config-parsing (2020-04-11) 1 commit
598 + (merged to 'next' on 2020-04-15 at d2915301e4)
599 + + merge: use skip_prefix to parse config key
600
601 + Code simplification.
602
563 -* ak/run-command-on-cygwin-fix (2020-03-27) 1 commit
564 - (merged to 'next' on 2020-04-15 at 9e98b82a7f)
565 - + run-command: trigger PATH lookup properly on Cygwin
603
567 - Utitiles run via the run_command() API were not spawned correctly
568 - on Cygwin, when the paths to them are given as a full path with
569 - backslashes.
604 +* ms/doc-revision-illustration-fix (2020-04-21) 1 commit
605 + (merged to 'next' on 2020-04-22 at 245c0b78d5)
606 + + docs: fix minor glitch in illustration
607
571 - Will merge to 'master'.
608 + Docfix.
609
610
574 -* dd/ci-musl-libc (2020-04-06) 6 commits
575 - + travis: build and test on Linux with musl libc and busybox
576 - + ci/linux32: libify install-dependencies step
577 - + ci: refactor docker runner script
578 - + ci/linux32: parameterise command to switch arch
579 - + ci/lib-docker: preserve required environment variables
580 - + ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
581 - (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
611 +* mt/grep-cquote-path (2020-04-20) 1 commit
612 + (merged to 'next' on 2020-04-22 at 55cf00e322)
613 + + grep: follow conventions for printing paths w/ unusual chars
614
583 - A new CI job to build and run test suite on linux with musl libc
584 - has been added.
615 + "git grep" did not quote a path with unusual character like other
616 + commands (like "git diff", "git status") do, but did quote when run
617 + from a subdirectory, both of which has been corrected.
618
586 - Will merge to 'master'.
619
620 +* mt/test-lib-bundled-short-options (2020-03-25) 1 commit
621 + (merged to 'next' on 2020-04-15 at 7fa0c56d91)
622 + + test-lib: allow short options to be bundled
623
589 -* dr/doc-recurse-submodules (2020-04-06) 5 commits
590 - (merged to 'next' on 2020-04-20 at 601e10f9a1)
591 - + doc: --recurse-submodules mostly applies to active submodules
592 - + doc: be more precise on (fetch|push).recurseSubmodules
593 - + doc: explain how to deactivate submodule.recurse completely
594 - + doc: document --recurse-submodules for reset and restore
595 - + doc: list all commands affected by submodule.recurse
624 + Minor test usability improvement.
625
597 - Documentation updates around the "--recurse-submodules" option.
626
599 - Will merge to 'master'.
627 +* pb/pull-fetch-doc (2020-04-05) 2 commits
628 + (merged to 'next' on 2020-04-15 at cf530f230f)
629 + + pull doc: correct outdated description of an example
630 + + pull doc: refer to a specific section in 'fetch' doc
631
632 + The more aggressive updates to remote-tracking branches we had for
633 + the past 7 years or so were not reflected in the documentation,
634 + which has been corrected.
635
602 -* dr/push-remoteref-fix (2020-04-06) 2 commits
603 - (merged to 'next' on 2020-04-15 at ecf60dc488)
604 - + remote.c: fix handling of %(push:remoteref)
605 - + remote.c: fix %(push) for triangular workflows
636
607 - The "%(push:remoteref)" placeholder in the "--format=" argument of
608 - "git format-patch" (and friends) only showed what got explicitly
609 - configured, not what ref at the receiving end would be updated when
610 - "git push" was used, as it ignored the default behaviour (e.g. update
611 - the same ref as the source).
637 +* pb/rebase-doc-typofix (2020-03-28) 1 commit
638 + (merged to 'next' on 2020-04-15 at 8cd8422990)
639 + + git-rebase.txt: fix typo
640
613 - Will merge to 'master'.
641 + Typofix.
642
643
616 -* jc/doc-test-leaving-early (2020-03-29) 1 commit
617 - (merged to 'next' on 2020-04-20 at 4bd94585d1)
618 - + t/README: suggest how to leave test early with failure
644 +* rs/pull-options-sync-code-and-doc (2020-03-28) 2 commits
645 + (merged to 'next' on 2020-04-15 at d743f43034)
646 + + pull: pass documented fetch options on
647 + + pull: remove --update-head-ok from documentation
648
620 - Document the recommended way to abort a failing test early (e.g. by
621 - exiting a loop), which is to say "return 1".
649 + "git pull" shares many options with underlying "git fetch", but
650 + some of them were not documented and some of those that would make
651 + sense to pass down were not passed down.
652
623 - Will merge to 'master'.
653
654 +* tb/diff-tree-with-notes (2020-04-20) 1 commit
655 + (merged to 'next' on 2020-04-22 at c06610c916)
656 + + diff-tree.c: load notes machinery when required
657
626 -* jk/build-with-right-curl (2020-04-05) 3 commits
627 - - Makefile: avoid running curl-config unnecessarily
628 - - Makefile: use curl-config --cflags
629 - - Makefile: avoid running curl-config multiple times
658 + "git diff-tree --pretty --notes" used to hit an assertion failure,
659 + as it forgot to initialize the notes subsystem.
660
631 - The build procedure did not use the libcurl library and its include
632 - files correctly for a custom-built installation.
661
634 - On hold.
635 - cf. <20200404145829.GB679473@coredump.intra.peff.net>
662 +* tm/zsh-complete-switch-restore (2020-04-17) 1 commit
663 + (merged to 'next' on 2020-04-22 at 8c65d7f051)
664 + + complete: zsh: add missing sub cmd completion candidates
665
666 + zsh command line completion (in contrib/) update.
667
638 -* jk/harden-protocol-v2-delim-handling (2020-03-29) 3 commits
639 - (merged to 'next' on 2020-04-15 at c983535405)
640 - + test-lib-functions: simplify packetize() stdin code
641 - + upload-pack: handle unexpected delim packets
642 - + test-lib-functions: make packetize() more efficient
668
644 - The server-end of the v2 protocol to serve "git clone" and "git
645 - fetch" was not prepared to see a delim packets at unexpected
646 - places, which led to a crash.
669 +* vd/range-diff-with-custom-pretty-format-fix (2020-04-15) 2 commits
670 + (merged to 'next' on 2020-04-22 at da607b5dda)
671 + + range-diff: avoid negative string precision
672 + + range-diff: fix a crash in parsing git-log output
673
648 - Will merge to 'master'.
674 + "git range-diff" fixes.
675 + cf. <20200416010734.GE36156@syl.local>
676
677 +--------------------------------------------------
678 +[New Topics]
679
651 -* jk/p5310-drop-non-bitmap-timing (2020-03-27) 1 commit
652 - (merged to 'next' on 2020-04-15 at 7aac76cab2)
653 - + p5310: stop timing non-bitmap pack-to-disk
680 +* bc/wildcard-credential (2020-04-27) 1 commit
681 + (merged to 'next' on 2020-04-28 at 1a0d6b91dc)
682 + + credential: fix matching URLs with multiple levels in path
683
655 - Perf-test update.
684 + Update the parser used for credential.<URL>.<variable>
685 + configuration, to handle <URL>s with '/' in them correctly.
686
687 Will merge to 'master'.
688
689
660 -* jk/test-cleanup (2020-03-27) 2 commits
661 - (merged to 'next' on 2020-04-15 at bce8b2d5ed)
662 - + t/lib-*.sh: drop executable bit
663 - + t/lib-credential.sh: drop shebang line
690 +* dd/mailinfo-with-nul (2020-04-22) 3 commits
691 + (merged to 'next' on 2020-04-28 at b1d3e40d49)
692 + + mailinfo: disallow NUL character in mail's header
693 + + mailinfo.c: avoid strlen on strings that can contains NUL
694 + + t4254: merge 2 steps of a single test
695
665 - Test cleanup.
696 + Tighten "git mailinfo" to notice and error out when decoded result
697 + contains NUL in it.
698
699 Will merge to 'master'.
700
701
670 -* ps/transactional-update-ref-stdin (2020-04-02) 9 commits
671 - - update-ref: implement interactive transaction handling
672 - - update-ref: read commands in a line-wise fashion
673 - - update-ref: move transaction handling into `update_refs_stdin()`
674 - - update-ref: pass end pointer instead of strbuf
675 - - update-ref: drop unused argument for `parse_refname`
676 - - update-ref: organize commands in an array
677 - - strbuf: provide function to append whole lines
678 - - git-update-ref.txt: add missing word
679 - - refs: fix segfault when aborting empty transaction
680 -
681 - "git update-ref --stdin" learned a handful of new verbs to let the
682 - user control ref update transactions more explicitly, which helps
683 - as an ingredient to implement two-phase commit-style atomic
684 - ref-updates across multiple repositories.
702 +* ah/userdiff-markdown (2020-04-23) 1 commit
703 + - userdiff: support Markdown
704
686 - Will merge to 'next'.
705 + Expecting a reroll.
706 + cf. <C28ZA0MZKHK6.2CCZPZF15D32W@what>
707
708
689 -* ag/sequencer-i18n-messages (2020-03-28) 1 commit
690 - (merged to 'next' on 2020-04-15 at d6b38d12cf)
691 - + sequencer: mark messages for translation
709 +* dd/sparse-fixes (2020-04-27) 4 commits
710 + (merged to 'next' on 2020-04-28 at d809f916ee)
711 + + progress.c: silence cgcc suggestion about internal linkage
712 + + graph.c: limit linkage of internal variable
713 + + compat/regex: move stdlib.h up in inclusion chain
714 + + test-parse-pathspec-file.c: s/0/NULL/ for pointer type
715
693 - Message fix.
716 + Compilation fix.
717
718 Will merge to 'master'.
719
720
698 -* dl/wrapper-fix-indentation (2020-03-28) 1 commit
699 - (merged to 'next' on 2020-04-15 at e6b9c16b1b)
700 - + wrapper: indent with tabs
721 +* mr/bisect-in-c-2 (2020-04-23) 12 commits
722 + - bisect--helper: retire `--bisect-autostart` subcommand
723 + - bisect--helper: retire `--write-terms` subcommand
724 + - bisect--helper: retire `--check-expected-revs` subcommand
725 + - bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
726 + - bisect--helper: retire `--next-all` subcommand
727 + - bisect--helper: retire `--bisect-clean-state` subcommand
728 + - bisect--helper: finish porting `bisect_start()` to C
729 + - bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C
730 + - bisect--helper: reimplement `bisect_autostart` shell function in C
731 + - bisect--helper: introduce new `write_in_file()` function
732 + - bisect--helper: use '-res' in 'cmd_bisect__helper' return
733 + - bisect--helper: fix `cmd_*()` function switch default return
734
702 - Coding style fix.
735 + Rewrite of the remainder of "git bisect" script in C continues.
736
704 - Will merge to 'master'.
737 + Any volunteer to review this?
738
739
707 -* en/pull-do-not-rebase-after-fast-forwarding (2020-03-27) 1 commit
708 - (merged to 'next' on 2020-04-15 at 3aa725ff45)
709 - + pull: avoid running both merge and rebase
740 +* tb/reset-shallow (2020-04-24) 2 commits
741 + (merged to 'next' on 2020-04-28 at 9510639ae8)
742 + + shallow.c: use '{commit,rollback}_shallow_file'
743 + + t5537: use test_write_lines and indented heredocs for readability
744
711 - "git pull --rebase" tried to run a rebase even after noticing that
712 - the pull results in a fast-forward and no rebase is needed nor
713 - sensible, for the past few years due to a mistake nobody noticed.
745 + Fix in-core inconsistency after fetching into a shallow repository
746 + that broke the code to write out commit-graph.
747
748 Will merge to 'master'.
749
750
718 -* jc/allow-strlen-substitution-in-shell-scripts (2020-03-29) 1 commit
719 - (merged to 'next' on 2020-04-15 at 262424efdc)
720 - + CodingGuidelines: allow ${#posix} == strlen($posix)
751 +* ds/build-homebrew-gettext-fix (2020-04-27) 1 commit
752 + (merged to 'next' on 2020-04-28 at 70c6eca470)
753 + + macOS/brew: let the build find gettext headers/libraries/msgfmt
754
722 - Coding guideline update.
755 + Recent update to Homebrew used by macOS folks breaks build by
756 + moving gettext library and necessary headers.
757
758 Will merge to 'master'.
759
760
727 -* jm/gitweb-fastcgi-utf8 (2020-03-29) 1 commit
728 - (merged to 'next' on 2020-04-15 at adb7f2373a)
729 - + gitweb: fix UTF-8 encoding when using CGI::Fast
761 +* tb/commit-graph-fd-exhaustion-fix (2020-04-24) 4 commits
762 + (merged to 'next' on 2020-04-28 at 6d5fd6bc49)
763 + + commit-graph: close descriptors after mmap
764 + + commit-graph.c: gracefully handle file descriptor exhaustion
765 + + t/test-lib.sh: make ULIMIT_FILE_DESCRIPTORS available to tests
766 + + commit-graph.c: don't use discarded graph_name in error
767 + (this branch uses tb/commit-graph-split-strategy.)
768
731 - Gitweb update.
769 + The commit-graph code exhausted file descriptors easily when it
770 + does not have to.
771
772 Will merge to 'master'.
773
774
736 -* js/walk-doc-optim (2020-03-30) 1 commit
737 - (merged to 'next' on 2020-04-15 at ca36c04a23)
738 - + MyFirstObjectWalk: remove unnecessary conditional statement
775 +* ds/multi-pack-index (2020-04-24) 1 commit
776 + (merged to 'next' on 2020-04-28 at b8f9691cbc)
777 + + multi-pack-index: close file descriptor after mmap
778
740 - Code cleanup.
779 + The multi-pack-index left mmapped file descriptors open when it
780 + does not have to.
781
782 Will merge to 'master'.
783
784
745 -* jx/atomic-push (2020-04-17) 5 commits
746 - (merged to 'next' on 2020-04-20 at 266d6934d8)
747 - + transport-helper: new method reject_atomic_push()
748 - + transport-helper: mark failure for atomic push
749 - + send-pack: mark failure of atomic push properly
750 - + t5543: never report what we do not push
751 - + send-pack: fix inconsistent porcelain output
785 +* js/anonymise-push-url-in-errors (2020-04-28) 1 commit
786 + (merged to 'next' on 2020-04-28 at 49539cf116)
787 + + push: anonymize URLs in error messages and warnings
788
753 - "git push --atomic" used to show failures for refs that weren't
754 - even pushed, which has been corrected.
789 + Error and verbose trace messages from "git push" did not redact
790 + credential material embedded in URLs.
791
792 Will merge to 'master'.
793
794
759 -* ma/doc-discard-docbook-xsl-1.73 (2020-03-31) 7 commits
760 - (merged to 'next' on 2020-04-20 at c280472e02)
761 - + user-manual.conf: don't specify [listingblock]
762 - + INSTALL: drop support for docbook-xsl before 1.74
763 - + manpage-normal.xsl: fold in manpage-base.xsl
764 - + manpage-bold-literal.xsl: stop using git.docbook.backslash
765 - + Doc: drop support for docbook-xsl before 1.73.0
766 - + Doc: drop support for docbook-xsl before 1.72.0
767 - + Doc: drop support for docbook-xsl before 1.71.1
795 +* js/partial-urlmatch (2020-04-24) 3 commits
796 + - Sync with js/partial-urlmatch-2.17
797 + - credential: handle `credential.<partial-URL>.<key>` again
798 + - credential: optionally allow partial URLs in credential_from_url_gently()
799 + (this branch uses js/partial-urlmatch-2.17.)
800
769 - Raise the minimum required version of docbook-xsl package to 1.74,
770 - as 1.74.0 was from late 2008, which is more than 10 years old, and
771 - drop compatibility cruft from our documentation suite.
801
773 - Will merge to 'master'.
802 +* js/partial-urlmatch-2.17 (2020-04-24) 4 commits
803 + - SQUASH??? lose excess blank line to match the other side of the eventual merge
804 + - credential: handle `credential.<partial-URL>.<key>` again
805 + - credential: optionally allow partial URLs in credential_from_url_gently()
806 + - credential: fix grammar
807 + (this branch is used by js/partial-urlmatch.)
808
809
776 -* pb/rebase-doc-typofix (2020-03-28) 1 commit
777 - (merged to 'next' on 2020-04-15 at 8cd8422990)
778 - + git-rebase.txt: fix typo
810 +* eb/gitweb-more-trailers (2020-04-24) 1 commit
811 + (merged to 'next' on 2020-04-28 at 7b16ac0810)
812 + + gitweb: Recognize *-to and Closes/Fixes trailers
813
780 - Typofix.
814 + Gitweb updates.
815
816 Will merge to 'master'.
817
818
785 -* rs/pull-options-sync-code-and-doc (2020-03-28) 2 commits
786 - (merged to 'next' on 2020-04-15 at d743f43034)
787 - + pull: pass documented fetch options on
788 - + pull: remove --update-head-ok from documentation
819 +* en/rebase-root-and-fork-point-are-incompatible (2020-04-27) 1 commit
820 + (merged to 'next' on 2020-04-28 at 8ea4882905)
821 + + rebase: display an error if --root and --fork-point are both provided
822
790 - "git pull" shares many options with underlying "git fetch", but
791 - some of them were not documented and some of those that would make
792 - sense to pass down were not passed down.
823 + Incompatible options "--root" and "--fork-point" of "git rebase"
824 + have been marked and documented as being incompatible.
825
826 Will merge to 'master'.
827
828
797 -* en/fill-directory-exponential (2020-04-01) 12 commits
798 - - completion: fix 'git add' on paths under an untracked directory
799 - - Fix error-prone fill_directory() API; make it only return matches
800 - - dir: replace double pathspec matching with single in treat_directory()
801 - - dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
802 - - dir: replace exponential algorithm with a linear one
803 - - dir: refactor treat_directory to clarify control flow
804 - - dir: fix confusion based on variable tense
805 - - dir: fix broken comment
806 - - dir: consolidate treat_path() and treat_one_path()
807 - - dir: fix simple typo in comment
808 - - t3000: add more testcases testing a variety of ls-files issues
809 - - t7063: more thorough status checking
829 +* jc/credential-store-file-format-doc (2020-04-27) 1 commit
830 + - credential-store: document the file format a bit more
831
811 - The directory traversal code had redundant recursive calls which
812 - made its performance characteristics exponential with respect to
813 - the depth of the tree, which was corrected.
832
815 - Will merge to 'next'.
833 +* jk/complete-git-switch (2020-04-28) 11 commits
834 + - completion: complete remote branches for git switch --track
835 + - completion: recognize -c/-C when completing for git switch
836 + - completion: fix completion for git switch with no options
837 + - completion: perform DWIM logic directly in __git_complete_refs
838 + - completion: extract function __git_dwim_remote_heads
839 + - completion: rename --track option of __git_complete_refs
840 + - completion: stop completing refs for git switch --orphan
841 + - completion: add tests showing lack of support for git switch -c/-C
842 + - completion: add test highlighting subpar git switch --track completion
843 + - completion: add test showing subpar git switch completion
844 + - completion: add some simple test cases for git switch completion
845
846 + The command line completion (in contrib/) learned to complete
847 + options that the "git switch" command takes.
848
818 -* dd/test-with-busybox (2020-03-26) 8 commits
819 - (merged to 'next' on 2020-04-15 at 8177191066)
820 - + t5703: feed raw data into test-tool unpack-sideband
821 - + t4124: tweak test so that non-compliant diff(1) can also be used
822 - + t7063: drop non-POSIX argument "-ls" from find(1)
823 - + t5616: use rev-parse instead to get HEAD's object_id
824 - + t5003: skip conversion test if unzip -a is unavailable
825 - + t5003: drop the subshell in test_lazy_prereq
826 - + test-lib-functions: test_cmp: eval $GIT_TEST_CMP
827 - + t4061: use POSIX compliant regex(7)
828 - (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
849
830 - Various tests have been updated to work around issues found with
831 - shell utilities that come with busybox etc.
850 +* jt/v2-fetch-nego-fix (2020-04-28) 3 commits
851 + (merged to 'next' on 2020-04-28 at c6f9ebf2f7)
852 + + fetch-pack: in protocol v2, reset in_vain upon ACK
853 + + fetch-pack: in protocol v2, in_vain only after ACK
854 + + fetch-pack: return enum from process_acks()
855 +
856 + The upload-pack protocol v2 gave up too early before finding a
857 + common ancestor, resulting in a wasteful fetch from a fork of a
858 + project. This has been corrected to match the behaviour of v0
859 + protocol.
860
861 Will merge to 'master'.
862
863
836 -* dl/libify-a-few (2020-03-24) 2 commits
837 - (merged to 'next' on 2020-04-20 at 84eb704a32)
838 - + Lib-ify prune-packed
839 - + Lib-ify fmt-merge-msg
864 +* mt/doc-worktree-ref (2020-04-24) 1 commit
865 + (merged to 'next' on 2020-04-28 at d96c05cb0a)
866 + + config doc: fix reference to config.worktree info
867
841 - Code in builtin/*, i.e. those can only be called from within
842 - built-in subcommands, that implements bulk of a couple of
843 - subcommands have been moved to libgit.a so that they could be used
844 - by others.
868 + Docfix.
869
870 Will merge to 'master'.
871
872
849 -* dl/test-must-fail-fixes-3 (2020-03-27) 8 commits
850 - (merged to 'next' on 2020-04-15 at dd0130c158)
851 - + t5801: teach compare_refs() to accept !
852 - + t5612: stop losing return codes of git commands
853 - + t5612: don't use `test_must_fail test_cmp`
854 - + t5607: reorder `nongit test_must_fail`
855 - + t5550: simplify no matching line check
856 - + t5512: stop losing return codes of git commands
857 - + t5512: stop losing git exit code in here-docs
858 - + t5512: don't use `test_must_fail test_cmp`
873 +* tb/commit-graph-perm-bits (2020-04-27) 6 commits
874 + - commit-graph.c: make 'commit-graph-chain's read-only
875 + - commit-graph.c: ensure graph layers respect core.sharedRepository
876 + - SQUASH??? force known umask if you are going to check the resulting mode bits
877 + - commit-graph.c: write non-split graphs as read-only
878 + - lockfile.c: introduce 'hold_lock_file_for_update_mode'
879 + - tempfile.c: introduce 'create_tempfile_mode'
880
860 - Test clean-up continues.
881 + Some of the files commit-graph subsystem keeps on disk did not
882 + correctly honor the core.sharedRepository settings and some were
883 + left read-write.
884
862 - Will merge to 'master'.
885 + Expecting a reroll.
886
887
865 -* en/sparse-checkout (2020-03-27) 18 commits
866 - (merged to 'next' on 2020-04-15 at 3e295e445d)
867 - + sparse-checkout: provide a new reapply subcommand
868 - + unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
869 - + unpack-trees: provide warnings on sparse updates for unmerged paths too
870 - + unpack-trees: make sparse path messages sound like warnings
871 - + unpack-trees: split display_error_msgs() into two
872 - + unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
873 - + unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
874 - + sparse-checkout: use improved unpack_trees porcelain messages
875 - + sparse-checkout: use new update_sparsity() function
876 - + unpack-trees: add a new update_sparsity() function
877 - + unpack-trees: pull sparse-checkout pattern reading into a new function
878 - + unpack-trees: do not mark a dirty path with SKIP_WORKTREE
879 - + unpack-trees: allow check_updates() to work on a different index
880 - + t1091: make some tests a little more defensive against failures
881 - + unpack-trees: simplify pattern_list freeing
882 - + unpack-trees: simplify verify_absent_sparse()
883 - + unpack-trees: remove unused error type
884 - + unpack-trees: fix minor typo in comment
888 +* dl/merge-autostash-rebase-quit-fix (2020-04-28) 1 commit
889 + (merged to 'next' on 2020-04-28 at 24dcf3edc1)
890 + + rebase: save autostash entry into stash reflog on --quit
891 + (this branch uses dl/merge-autostash.)
892
886 - "sparse-checkout" UI improvements.
893 + The stash entry created by "git rebase --autosquash" to keep the
894 + initial dirty state were discarded by mistake upon "git rebase
895 + --quit", which has been corrected.
896
897 Will merge to 'master'.
898
899
891 -* js/import-tars-do-not-make-phony-files-from-pax-headers (2020-03-24) 1 commit
892 - (merged to 'next' on 2020-04-15 at 408afae2c9)
893 - + import-tars: ignore the global PAX header
900 +* dl/opt-callback-cleanup (2020-04-28) 1 commit
901 + (merged to 'next' on 2020-04-28 at aa773e183a)
902 + + Use OPT_CALLBACK and OPT_CALLBACK_F
903
895 - The import-tars importer (in contrib/fast-import/) used to create
896 - phony files at the top-level of the repository when the archive
897 - contains global PAX headers, which made its own logic to detect and
898 - omit the common leading directory ineffective, which has been
899 - corrected.
904 + Code cleanup.
905
906 Will merge to 'master'.
907
908
904 -* js/test-junit-finalization-fix (2020-03-23) 1 commit
905 - (merged to 'next' on 2020-04-15 at 0d6a975146)
906 - + tests(junit-xml): avoid invalid XML
909 +* dl/push-recurse-submodules-fix (2020-04-28) 1 commit
910 + (merged to 'next' on 2020-04-28 at c2cd20ef9e)
911 + + push: unset PARSE_OPT_OPTARG for --recurse-submodules
912
908 - Test fix.
913 + Code cleanup.
914
915 Will merge to 'master'.
916
917
913 -* js/tests-gpg-integration-on-windows (2020-03-26) 5 commits
914 - (merged to 'next' on 2020-04-15 at 48a13eb0b2)
915 - + tests: increase the verbosity of the GPG-related prereqs
916 - + tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
917 - + tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
918 - + t/lib-gpg.sh: stop pretending to be a stand-alone script
919 - + tests(gpg): allow the gpg-agent to start on Windows
918 +* jk/test-fail-prereqs-fix (2020-04-28) 1 commit
919 + (merged to 'next' on 2020-04-28 at 75787711c0)
920 + + t0000: disable GIT_TEST_FAIL_PREREQS in sub-tests
921
921 - Enable tests that require GnuPG on Windows.
922 + Test update.
923
924 Will merge to 'master'.
925
926 +--------------------------------------------------
927 +[Stalled]
928
926 -* dl/merge-autostash (2020-04-10) 22 commits
927 - - pull: pass --autostash to merge
928 - - t5520: make test_pull_autostash() accept expect_parent_num
929 - - merge: teach --autostash option
930 - - sequencer: implement apply_autostash_oid()
931 - - sequencer: implement save_autostash()
932 - - sequencer: unlink autostash in apply_autostash()
933 - - sequencer: extract perform_autostash() from rebase
934 - - rebase: generify create_autostash()
935 - - rebase: extract create_autostash()
936 - - reset: extract reset_head() from rebase
937 - - rebase: generify reset_head()
938 - - rebase: use apply_autostash() from sequencer.c
939 - - sequencer: rename stash_sha1 to stash_oid
940 - - sequencer: make apply_autostash() accept a path
941 - - rebase: use read_oneliner()
942 - - sequencer: make read_oneliner() extern
943 - - sequencer: configurably warn on non-existent files
944 - - sequencer: make read_oneliner() accept flags
945 - - sequencer: make file exists check more efficient
946 - - sequencer: stop leaking buf
947 - - t7600: use test_write_lines()
948 - - Makefile: ASCII-sort += lists
929 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
930 + - zlib.c: use size_t for size
931
950 - "git merge" learns the "--autostash" option.
932 + The wrapper to call into zlib followed our long tradition to use
933 + "unsigned long" for sizes of regions in memory, which have been
934 + updated to use "size_t".
935
952 - Will merge to 'next'.
936 +--------------------------------------------------
937 +[Cooking]
938
939 +* dr/push-remoteref-fix (2020-04-23) 1 commit
940 + - remote.c: fix handling of %(push:remoteref)
941
955 -* js/trace2-env-vars (2020-03-23) 1 commit
956 - (merged to 'next' on 2020-04-15 at 1aad0adfa0)
957 - + trace2: teach Git to log environment variables
942 + The "%(push:remoteref)" placeholder in the "--format=" argument of
943 + "git format-patch" (and friends) only showed what got explicitly
944 + configured, not what ref at the receiving end would be updated when
945 + "git push" was used, as it ignored the default behaviour (e.g. update
946 + the same ref as the source).
947 +
948 + Expecting a reroll.
949 + cf. <20200416152145.wp2zeibxmuyas6y6@feanor>
950
959 - Trace2 enhancement to allow logging of the environment variables.
951 +
952 +* dl/test-must-fail-fixes-4 (2020-04-20) 7 commits
953 + (merged to 'next' on 2020-04-28 at 6f4804aa09)
954 + + t9819: don't use test_must_fail with p4
955 + + t9164: use test_must_fail only on git commands
956 + + t9160: use test_path_is_missing()
957 + + t9141: use test_path_is_missing()
958 + + t7508: don't use `test_must_fail test_cmp`
959 + + t7408: replace incorrect uses of test_must_fail
960 + + t6030: use test_path_is_missing()
961 +
962 + Test clean-up.
963
964 Will merge to 'master'.
965
966
964 -* ar/test-style-fixes (2020-03-22) 2 commits
965 - (merged to 'next' on 2020-04-15 at 50ed75bccf)
966 - + t: fix whitespace around &&
967 - + t9500: remove spaces after redirect operators
967 +* dd/ci-swap-azure-pipelines-with-github-actions (2020-04-10) 14 commits
968 + (merged to 'next' on 2020-04-20 at 40d0486c23)
969 + + ci: let GitHub Actions upload failed tests' directories
970 + + ci: add a problem matcher for GitHub Actions
971 + + tests: when run in Bash, annotate test failures with file name/line number
972 + + ci: retire the Azure Pipelines definition
973 + + README: add a build badge for the GitHub Actions runs
974 + + ci: configure GitHub Actions for CI/PR
975 + + ci: run gem with sudo to install asciidoctor
976 + + ci: explicit install all required packages
977 + + ci: fix the `jobname` of the `GETTEXT_POISON` job
978 + + ci/lib: set TERM environment variable if not exist
979 + + ci/lib: allow running in GitHub Actions
980 + + ci/lib: if CI type is unknown, show the environment variables
981 + + Merge branch 'dd/ci-musl-libc' into HEAD
982 + + Merge branch 'dd/test-with-busybox' into HEAD
983 + (this branch uses dd/ci-musl-libc.)
984
969 - Style fixes.
985 + Update the CI configuration to use GitHub Actions, retiring the one
986 + based on Azure Pipelines.
987
971 - Will merge to 'master'.
988 + Will merge to 'master', together with dd/ci-musl-libc.
989
990
974 -* ds/doc-clone-filter (2020-03-22) 1 commit
975 - (merged to 'next' on 2020-04-15 at 16276689b3)
976 - + clone: document --filter options
991 +* pw/rebase-i-more-options (2020-04-07) 7 commits
992 + - SQUASH??? - avoid test numbering crashes
993 + - t3433: improve coverage
994 + - Revert "sequencer: allow callers of read_author_script() to ignore fields"
995 + - rebase -i: fix --committer-date-is-author-date
996 + - t3433: only compare commit dates
997 + - t3433: remove loops from tests
998 + - Revert "Revert "Merge branch 'ra/rebase-i-more-options'""
999
978 - Doc update.
1000 + "git rebase -i" learns a bit more options.
1001
980 - Will merge to 'master'.
1002 + Expecting a reroll.
1003 + cf. <43d06bc0-b2ee-0ae6-f22c-9850e4033d45@gmail.com>
1004
1005
983 -* jk/t3419-drop-expensive-tests (2020-03-22) 1 commit
984 - (merged to 'next' on 2020-04-15 at a17ac8f996)
985 - + t3419: drop EXPENSIVE tests
1006 +* ds/blame-on-bloom (2020-04-23) 6 commits
1007 + (merged to 'next' on 2020-04-28 at 6152eb2eb3)
1008 + + test-bloom: check that we have expected arguments
1009 + + test-bloom: fix some whitespace issues
1010 + + blame: drop unused parameter from maybe_changed_path
1011 + (merged to 'next' on 2020-04-22 at dc4f24e54b)
1012 + + blame: use changed-path Bloom filters
1013 + + tests: write commit-graph with Bloom filters
1014 + + revision: complicated pathspecs disable filters
1015 + (this branch uses gs/commit-graph-path-filter.)
1016 +
1017 + "git blame" learns to take advantage of the "changed-paths" Bloom
1018 + filter stored in the commit-graph file.
1019 +
1020 + Will merge to 'master', together with gs/commit-graph-path-filter.
1021
987 - Test update.
1022 +
1023 +* dd/iso-8601-updates (2020-04-24) 4 commits
1024 + (merged to 'next' on 2020-04-28 at 18fba39171)
1025 + + date.c: allow compact version of ISO-8601 datetime
1026 + + date.c: skip fractional second part of ISO-8601
1027 + + date.c: validate and set time in a helper function
1028 + + date.c: s/is_date/set_date/
1029 +
1030 + The approxidate parser learns to parse seconds with fraction.
1031
1032 Will merge to 'master'.
1033
1034
992 -* jt/connectivity-check-optim-in-partial-clone (2020-03-29) 1 commit
993 - (merged to 'next' on 2020-04-15 at 1b3692b7fb)
994 - + connected: always use partial clone optimization
1035 +* tb/commit-graph-split-strategy (2020-04-15) 7 commits
1036 + + commit-graph.c: introduce '--[no-]check-oids'
1037 + + commit-graph.h: replace 'commit_hex' with 'commits'
1038 + + oidset: introduce 'oidset_size'
1039 + + builtin/commit-graph.c: introduce split strategy 'replace'
1040 + + builtin/commit-graph.c: introduce split strategy 'no-merge'
1041 + + builtin/commit-graph.c: support for '--split[=<strategy>]'
1042 + + t/helper/test-read-graph.c: support commit-graph chains
1043 + (this branch is used by tb/commit-graph-fd-exhaustion-fix.)
1044
996 - Simplify the commit ancestry connectedness check in a partial clone
997 - repository in which "promised" objects are assumed to be obtainable
998 - lazily on-demand from promisor remote repositories.
1045 + "git commit-graph write" learned different ways to write out split
1046 + files.
1047
1048 Will merge to 'master'.
1049
1050
1003 -* mt/test-lib-bundled-short-options (2020-03-25) 1 commit
1004 - (merged to 'next' on 2020-04-15 at 7fa0c56d91)
1005 - + test-lib: allow short options to be bundled
1051 +* gs/commit-graph-path-filter (2020-04-09) 16 commits
1052 + (merged to 'next' on 2020-04-22 at 34b35f43bd)
1053 + + bloom: ignore renames when computing changed paths
1054 + + commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
1055 + + t4216: add end to end tests for git log with Bloom filters
1056 + + revision.c: add trace2 stats around Bloom filter usage
1057 + + revision.c: use Bloom filters to speed up path based revision walks
1058 + + commit-graph: add --changed-paths option to write subcommand
1059 + + commit-graph: reuse existing Bloom filters during write
1060 + + commit-graph: write Bloom filters to commit graph file
1061 + + commit-graph: examine commits by generation number
1062 + + commit-graph: examine changed-path objects in pack order
1063 + + commit-graph: compute Bloom filters for changed paths
1064 + + diff: halt tree-diff early after max_changes
1065 + + bloom.c: core Bloom filter implementation for changed paths.
1066 + + bloom.c: introduce core Bloom filter constructs
1067 + + bloom.c: add the murmur3 hash implementation
1068 + + commit-graph: define and use MAX_NUM_CHUNKS
1069 + (this branch is used by ds/blame-on-bloom.)
1070
1007 - Minor test usability improvement.
1071 + Introduce an extension to the commit-graph to make it efficient to
1072 + check for the paths that were modified at each commit using Bloom
1073 + filters.
1074 +
1075 + Will merge to 'master' together with ds/blame-on-bloom.
1076 +
1077 +
1078 +* jx/proc-receive-hook (2020-04-15) 8 commits
1079 + - SQUASH???
1080 + - doc: add documentation for the proc-receive hook
1081 + - receive-pack: new config receive.procReceiveRefs
1082 + - refs.c: refactor to reuse ref_is_hidden()
1083 + - send-pack: extension for client-side status report
1084 + - receive-pack: add new proc-receive hook
1085 + - connect: export parse_feature_value()
1086 + - transport: not report a non-head push as a branch
1087 +
1088 + "git receive-pack" that accepts requests by "git push" learned to
1089 + outsource most of the ref updates to the new "proc-receive" hook.
1090 +
1091 +
1092 +* dd/ci-musl-libc (2020-04-06) 6 commits
1093 + + travis: build and test on Linux with musl libc and busybox
1094 + + ci/linux32: libify install-dependencies step
1095 + + ci: refactor docker runner script
1096 + + ci/linux32: parameterise command to switch arch
1097 + + ci/lib-docker: preserve required environment variables
1098 + + ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
1099 + (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
1100 +
1101 + A new CI job to build and run test suite on linux with musl libc
1102 + has been added.
1103
1104 Will merge to 'master'.
1105
1106
1012 -* bk/p4-pre-edit-changelist (2020-02-14) 7 commits
1013 - (merged to 'next' on 2020-04-15 at 3e7cecd445)
1014 - + git-p4: add RCS keyword status message
1015 - + git-p4: add p4 submit hooks
1016 - + git-p4: restructure code in submit
1017 - + git-p4: add --no-verify option
1018 - + git-p4: add p4-pre-submit exit text
1019 - + git-p4: create new function run_git_hook
1020 - + git-p4: rewrite prompt to be Windows compatible
1107 +* jk/build-with-right-curl (2020-04-05) 3 commits
1108 + (merged to 'next' on 2020-04-28 at 1718c25b44)
1109 + + Makefile: avoid running curl-config unnecessarily
1110 + + Makefile: use curl-config --cflags
1111 + + Makefile: avoid running curl-config multiple times
1112
1022 - "git p4" learned four new hooks and also "--no-verify" option to
1023 - bypass them (and the existing "p4-pre-submit" hook).
1113 + The build procedure did not use the libcurl library and its include
1114 + files correctly for a custom-built installation.
1115
1116 Will merge to 'master'.
1117 + cf. <20200428033611.GB2369457@coredump.intra.peff.net>
1118
1119
1028 -* jt/rebase-allow-duplicate (2020-04-11) 1 commit
1029 - (merged to 'next' on 2020-04-15 at 56a9d83adf)
1030 - + rebase --merge: optionally skip upstreamed commits
1031 - (this branch uses en/rebase-no-keep-empty.)
1120 +* ps/transactional-update-ref-stdin (2020-04-02) 9 commits
1121 + (merged to 'next' on 2020-04-22 at 5c92add109)
1122 + + update-ref: implement interactive transaction handling
1123 + + update-ref: read commands in a line-wise fashion
1124 + + update-ref: move transaction handling into `update_refs_stdin()`
1125 + + update-ref: pass end pointer instead of strbuf
1126 + + update-ref: drop unused argument for `parse_refname`
1127 + + update-ref: organize commands in an array
1128 + + strbuf: provide function to append whole lines
1129 + + git-update-ref.txt: add missing word
1130 + + refs: fix segfault when aborting empty transaction
1131
1033 - Allow "git rebase" to reapply all local commits, even if the may be
1034 - already in the upstream, without checking first.
1132 + "git update-ref --stdin" learned a handful of new verbs to let the
1133 + user control ref update transactions more explicitly, which helps
1134 + as an ingredient to implement two-phase commit-style atomic
1135 + ref-updates across multiple repositories.
1136
1137 Will merge to 'master'.
1138
1139
1039 -* bc/faq (2020-03-30) 1 commit
1040 - (merged to 'next' on 2020-04-15 at 2d4c46ca7a)
1041 - + docs: add a FAQ
1140 +* en/fill-directory-exponential (2020-04-01) 12 commits
1141 + (merged to 'next' on 2020-04-22 at e2577e3dc9)
1142 + + completion: fix 'git add' on paths under an untracked directory
1143 + + Fix error-prone fill_directory() API; make it only return matches
1144 + + dir: replace double pathspec matching with single in treat_directory()
1145 + + dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
1146 + + dir: replace exponential algorithm with a linear one
1147 + + dir: refactor treat_directory to clarify control flow
1148 + + dir: fix confusion based on variable tense
1149 + + dir: fix broken comment
1150 + + dir: consolidate treat_path() and treat_one_path()
1151 + + dir: fix simple typo in comment
1152 + + t3000: add more testcases testing a variety of ls-files issues
1153 + + t7063: more thorough status checking
1154
1043 - Doc update.
1155 + The directory traversal code had redundant recursive calls which
1156 + made its performance characteristics exponential with respect to
1157 + the depth of the tree, which was corrected.
1158
1159 Will merge to 'master'.
1160
1161
1048 -* jc/log-no-mailmap (2020-03-16) 3 commits
1049 - (merged to 'next' on 2020-04-20 at b43968e73e)
1050 - + log: give --[no-]use-mailmap a more sensible synonym --[no-]mailmap
1051 - + clone: reorder --recursive/--recurse-submodules
1052 - + parse-options: teach "git cmd -h" to show alias as alias
1162 +* en/sparse-checkout (2020-03-27) 18 commits
1163 + (merged to 'next' on 2020-04-15 at 3e295e445d)
1164 + + sparse-checkout: provide a new reapply subcommand
1165 + + unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
1166 + + unpack-trees: provide warnings on sparse updates for unmerged paths too
1167 + + unpack-trees: make sparse path messages sound like warnings
1168 + + unpack-trees: split display_error_msgs() into two
1169 + + unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
1170 + + unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
1171 + + sparse-checkout: use improved unpack_trees porcelain messages
1172 + + sparse-checkout: use new update_sparsity() function
1173 + + unpack-trees: add a new update_sparsity() function
1174 + + unpack-trees: pull sparse-checkout pattern reading into a new function
1175 + + unpack-trees: do not mark a dirty path with SKIP_WORKTREE
1176 + + unpack-trees: allow check_updates() to work on a different index
1177 + + t1091: make some tests a little more defensive against failures
1178 + + unpack-trees: simplify pattern_list freeing
1179 + + unpack-trees: simplify verify_absent_sparse()
1180 + + unpack-trees: remove unused error type
1181 + + unpack-trees: fix minor typo in comment
1182
1054 - "git log" learns "--[no-]mailmap" as a synonym to "--[no-]use-mailmap"
1183 + "sparse-checkout" UI improvements.
1184
1185 Will merge to 'master'.
1186
1187
1059 -* hn/reftable (2020-04-20) 10 commits
1188 +* dl/merge-autostash (2020-04-10) 22 commits
1189 + (merged to 'next' on 2020-04-22 at 98b991e8f5)
1190 + + pull: pass --autostash to merge
1191 + + t5520: make test_pull_autostash() accept expect_parent_num
1192 + + merge: teach --autostash option
1193 + + sequencer: implement apply_autostash_oid()
1194 + + sequencer: implement save_autostash()
1195 + + sequencer: unlink autostash in apply_autostash()
1196 + + sequencer: extract perform_autostash() from rebase
1197 + + rebase: generify create_autostash()
1198 + + rebase: extract create_autostash()
1199 + + reset: extract reset_head() from rebase
1200 + + rebase: generify reset_head()
1201 + + rebase: use apply_autostash() from sequencer.c
1202 + + sequencer: rename stash_sha1 to stash_oid
1203 + + sequencer: make apply_autostash() accept a path
1204 + + rebase: use read_oneliner()
1205 + + sequencer: make read_oneliner() extern
1206 + + sequencer: configurably warn on non-existent files
1207 + + sequencer: make read_oneliner() accept flags
1208 + + sequencer: make file exists check more efficient
1209 + + sequencer: stop leaking buf
1210 + + t7600: use test_write_lines()
1211 + + Makefile: ASCII-sort += lists
1212 + (this branch is used by dl/merge-autostash-rebase-quit-fix.)
1213 +
1214 + "git merge" learns the "--autostash" option.
1215 +
1216 + Will merge to 'master' together with the "rebase --quit" fix.
1217 +
1218 +
1219 +* hn/reftable (2020-04-27) 12 commits
1220 + - t: use update-ref and show-ref to reading/writing refs
1221 + - Add some reftable testing infrastructure
1222 - Reftable support for git-core
1223 - Add reftable library
1224 - reftable: clarify how empty tables should be written
@@ -1073,20 +1235,24 @@ of the repositories listed at
1235 has been implemented and integrated for improved performance and
1236 atomicity.
1237
1076 - At v9
1077 - cf. <pull.539.v9.git.1587417295.gitgitgadget@gmail.com>
1238 + At v10. VCbuild may have to be updated to deal with the new lib.
1239 + cf. https://github.com/git/git/runs/624424705?check_suite_focus=true
1240 + cf. <pull.539.v10.git.1588018418.gitgitgadget@gmail.com>
1241
1242
1080 -* es/bugreport (2020-04-16) 5 commits
1081 - - bugreport: add compiler info
1082 - - bugreport: add uname info
1083 - - bugreport: gather git version and build info
1084 - - bugreport: add tool to generate debugging info
1085 - - help: move list_config_help to builtin/help
1243 +* es/bugreport (2020-04-27) 6 commits
1244 + (merged to 'next' on 2020-04-28 at fdfd36a5d7)
1245 + + bugreport: drop extraneous includes
1246 + (merged to 'next' on 2020-04-22 at f5a2ab988e)
1247 + + bugreport: add compiler info
1248 + + bugreport: add uname info
1249 + + bugreport: gather git version and build info
1250 + + bugreport: add tool to generate debugging info
1251 + + help: move list_config_help to builtin/help
1252
1253 The "bugreport" tool.
1254
1089 - Will merge to 'next'.
1255 + Will merge to 'master'.
1256
1257 --------------------------------------------------
1258 [Discarded]