What's cooking (2019/05 #02)

Junio C Hamano committed May 14, 2019 at 01:00 UTC 0f4b6a451ae9c57ad90f2c413cfbc107743a192c
1 file changed +492 -609
whats-cooking.txt
+492 -609
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (May 2019, #01; Thu, 9)
4 -X-master-at: 6a6c0f10a70a6eb101c213b09ae82a9cad252743
5 -X-next-at: 81c186ecd2768836c2dc37eefd32d2e2a5e6dfb5
3 +Subject: What's cooking in git.git (May 2019, #02; Tue, 14)
4 +X-master-at: ab15ad1a3b4b04a29415aef8c9afa2f64fc194a2
5 +X-next-at: e745c3d227fefd28dbcf0011398e178098d621e4
6
7 -What's cooking in git.git (May 2019, #01; Thu, 9)
7 +What's cooking in git.git (May 2019, #02; Tue, 14)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,12 +12,9 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The 8th batch of topics, which Hopefully is the final one before
16 --rc0, have been pushed out to 'master'. The "no-extern" topic is
17 -now in 'next', with its merge conflict with many other topics, is
18 -still slowing me down when it is moved earlier in the merge order.
19 -I expect it to need only one more topic shuffling before merged to
20 -'master', so I hope I'd survive.
15 +An early preview 2.22-rc0 has been tagged. Among the topics merged
16 +to 'master' there might be some that are a bit undercooked, but
17 +hopefully we can stabilize them quickly enough.
18
19 You can find the changes described here in the integration branches
20 of the repositories listed at
@@ -27,492 +24,325 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
30 -* cc/aix-has-fileno-as-a-macro (2019-04-25) 1 commit
31 - (merged to 'next' on 2019-04-25 at f1d6464f98)
32 - + Makefile: use fileno macro work around on AIX
33 - (this branch is used by cc/access-on-aix-workaround.)
34 -
35 - AIX shared the same build issues with other BSDs around fileno(fp),
36 - which has been corrected.
37 -
38 -
39 -* cc/replace-graft-peel-tags (2019-04-15) 4 commits
40 - (merged to 'next' on 2019-04-25 at f8d0db27ba)
41 - + replace: peel tag when passing a tag first to --graft
42 - + replace: peel tag when passing a tag as parent to --graft
43 - + t6050: redirect expected error output to a file
44 - + t6050: use test_line_count instead of wc -l
45 -
46 - When given a tag that points at a commit-ish, "git replace --graft"
47 - failed to peel the tag before writing a replace ref, which did not
48 - make sense because the old graft mechanism the feature wants to
49 - mimick only allowed to replace one commit object with another.
50 - This has been fixed.
51 -
52 -
53 -* dl/merge-cleanup-scissors-fix (2019-04-19) 10 commits
54 - (merged to 'next' on 2019-04-25 at 2014eef6b1)
55 - + cherry-pick/revert: add scissors line on merge conflict
56 - + sequencer.c: save and restore cleanup mode
57 - + merge: add scissors line on merge conflict
58 - + merge: cleanup messages like commit
59 - + parse-options.h: extract common --cleanup option
60 - + commit: extract cleanup_mode functions to sequencer
61 - + t7502: clean up style
62 - + t7604: clean up style
63 - + t3507: clean up style
64 - + t7600: clean up style
65 - (this branch uses pw/sequencer-cleanup-with-signoff-x-fix.)
66 -
67 - The list of conflicted paths shown in the editor while concluding a
68 - conflicted merge was shown above the scissors line when the
69 - clean-up mode is set to "scissors", even though it was commented
70 - out just like the list of updated paths and other information to
71 - help the user explain the merge better.
72 -
73 -
74 -* dl/warn-tagging-a-tag (2019-04-12) 2 commits
75 - (merged to 'next' on 2019-04-25 at 8b966d7fe8)
76 - + tag: advise on nested tags
77 - + tag: fix formatting
27 +* cc/access-on-aix-workaround (2019-04-25) 1 commit
28 + (merged to 'next' on 2019-05-09 at 79b25b1954)
29 + + git-compat-util: work around for access(X_OK) under root
30
79 - "git tag" learned to give an advice suggesting it might be a
80 - mistake when creating an annotated or signed tag that points at
81 - another tag.
31 + Workaround for standard-compliant but less-than-useful behaviour of
32 + access(2) for the root user.
33
34
84 -* dr/ref-filter-push-track-fix (2019-04-18) 1 commit
85 - (merged to 'next' on 2019-04-25 at 07db067adc)
86 - + ref-filter: use correct branch for %(push:track)
35 +* dl/no-extern-in-func-decl (2019-05-05) 3 commits
36 + (merged to 'next' on 2019-05-09 at d165ac4cee)
37 + + *.[ch]: manually align parameter lists
38 + + *.[ch]: remove extern from function declarations using sed
39 + + *.[ch]: remove extern from function declarations using spatch
40
88 - %(push:track) token used in the --format option to "git
89 - for-each-ref" and friends was not showing the right branch, which
90 - has been fixed.
41 + Mechanically and systematically drop "extern" from function
42 + declarlation.
43
44
93 -* en/merge-directory-renames (2019-04-08) 15 commits
94 - (merged to 'next' on 2019-04-25 at fd5b4f57b4)
95 - + merge-recursive: switch directory rename detection default
96 - + merge-recursive: give callers of handle_content_merge() access to contents
97 - + merge-recursive: track information associated with directory renames
98 - + t6043: fix copied test description to match its purpose
99 - + merge-recursive: switch from (oid,mode) pairs to a diff_filespec
100 - + merge-recursive: cleanup handle_rename_* function signatures
101 - + merge-recursive: track branch where rename occurred in rename struct
102 - + merge-recursive: remove ren[12]_other fields from rename_conflict_info
103 - + merge-recursive: shrink rename_conflict_info
104 - + merge-recursive: move some struct declarations together
105 - + merge-recursive: use 'ci' for rename_conflict_info variable name
106 - + merge-recursive: rename locals 'o' and 'a' to 'obuf' and 'abuf'
107 - + merge-recursive: rename diff_filespec 'one' to 'o'
108 - + merge-recursive: rename merge_options argument from 'o' to 'opt'
109 - + Use 'unsigned short' for mode, like diff_filespec does
110 -
111 - "git merge-recursive" backend recently learned a new heuristics to
112 - infer file movement based on how other files in the same directory
113 - moved. As this is inherently less robust heuristics than the one
114 - based on the content similarity of the file itself (rather than
115 - based on what its neighbours are doing), it sometimes gives an
116 - outcome unexpected by the end users. This has been toned down to
117 - leave the renamed paths in higher/conflicted stages in the index so
118 - that the user can examine and confirm the result.
119 -
120 -
121 -* jk/pack-objects-reports-num-objects-to-trace2 (2019-04-12) 1 commit
122 - (merged to 'next' on 2019-04-25 at e79464c054)
123 - + pack-objects: write objects packed to trace2
124 -
125 - The "git pack-objects" command learned to report the number of
126 - objects it packed via the trace2 mechanism.
127 -
128 -
129 -* jk/prune-optim (2019-04-19) 1 commit
130 - (merged to 'next' on 2019-04-25 at c50353b27f)
131 - + t5304: add a test for pruning with bitmaps
132 -
133 - A follow-up test for an earlier "git prune" improvements.
134 -
135 -
136 -* jk/untracked-cache-more-fixes (2019-04-19) 3 commits
137 - (merged to 'next' on 2019-04-25 at a6037ddd54)
138 - + untracked-cache: simplify parsing by dropping "len"
139 - + untracked-cache: simplify parsing by dropping "next"
140 - + untracked-cache: be defensive about missing NULs in index
141 -
142 - Code clean-up.
143 -
144 -
145 -* js/misc-doc-fixes (2019-04-19) 8 commits
146 - (merged to 'next' on 2019-04-25 at 6898f709d0)
147 - + Turn `git serve` into a test helper
148 - + test-tool: handle the `-C <directory>` option just like `git`
149 - + check-docs: do not bother checking for legacy scripts' documentation
150 - + docs: exclude documentation for commands that have been excluded
151 - + check-docs: allow command-list.txt to contain excluded commands
152 - + help -a: do not list commands that are excluded from the build
153 - + Makefile: drop the NO_INSTALL variable
154 - + remote-testgit: move it into the support directory for t5801
155 -
156 - "make check-docs", "git help -a", etc. did not account for cases
157 - where a particular build may deliberately omit some subcommands,
158 - which has been corrected.
159 -
160 -
161 -* js/trace2-to-directory (2019-03-22) 1 commit
162 - (merged to 'next' on 2019-04-25 at 53adf71c41)
163 - + trace2: write to directory targets
164 -
165 - The trace2 tracing facility learned to auto-generate a filename
166 - when told to log to a directory.
167 -
168 -
169 -* jt/clone-server-option (2019-04-18) 2 commits
170 - (merged to 'next' on 2019-04-25 at 21f07cc85d)
171 - + clone: send server options when using protocol v2
172 - + transport: die if server options are unsupported
173 -
174 - "git clone" learned a new --server-option option when talking over
175 - the protocol version 2.
176 -
177 -
178 -* jt/submodule-repo-is-with-worktree (2019-04-21) 1 commit
179 - (merged to 'next' on 2019-04-25 at da2c6d684d)
180 - + worktree: update is_bare heuristics
181 -
182 - The logic to tell if a Git repository has a working tree protects
183 - "git branch -D" from removing the branch that is currently checked
184 - out by mistake. The implementation of this logic was broken for
185 - repositories with unusual name, which unfortunately is the norm for
186 - submodules these days. This has been fixed.
187 -
188 -
189 -* km/empty-repo-is-still-a-repo (2019-04-10) 3 commits
190 - (merged to 'next' on 2019-04-25 at bb3d4406a5)
191 - + add: error appropriately on repository with no commits
192 - + dir: do not traverse repositories with no commits
193 - + submodule: refuse to add repository with no commits
194 -
195 - Running "git add" on a repository created inside the current
196 - repository is an explicit indication that the user wants to add it
197 - as a submodule, but when the HEAD of the inner repository is on an
198 - unborn branch, it cannot be added as a submodule. Worse, the files
199 - in its working tree can be added as if they are a part of the outer
200 - repository, which is not what the user wants. These problems are
201 - being addressed.
202 -
203 -
204 -* nd/sha1-name-c-wo-the-repository (2019-04-16) 34 commits
205 - (merged to 'next' on 2019-04-25 at d826918329)
206 - + sha1-name.c: remove the_repo from get_oid_mb()
207 - + sha1-name.c: remove the_repo from other get_oid_*
208 - + sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
209 - + submodule-config.c: use repo_get_oid for reading .gitmodules
210 - + sha1-name.c: add repo_get_oid()
211 - + sha1-name.c: remove the_repo from get_oid_with_context_1()
212 - + sha1-name.c: remove the_repo from resolve_relative_path()
213 - + sha1-name.c: remove the_repo from diagnose_invalid_index_path()
214 - + sha1-name.c: remove the_repo from handle_one_ref()
215 - + sha1-name.c: remove the_repo from get_oid_1()
216 - + sha1-name.c: remove the_repo from get_oid_basic()
217 - + sha1-name.c: remove the_repo from get_describe_name()
218 - + sha1-name.c: remove the_repo from get_oid_oneline()
219 - + sha1-name.c: add repo_interpret_branch_name()
220 - + sha1-name.c: remove the_repo from interpret_branch_mark()
221 - + sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
222 - + sha1-name.c: remove the_repo from get_short_oid()
223 - + sha1-name.c: add repo_for_each_abbrev()
224 - + sha1-name.c: store and use repo in struct disambiguate_state
225 - + sha1-name.c: add repo_find_unique_abbrev_r()
226 - + sha1-name.c: remove the_repo from find_abbrev_len_packed()
227 - + sha1-name.c: remove the_repo from sort_ambiguous()
228 - + commit.c: add repo_get_commit_tree()
229 - + commit.cocci: refactor code, avoid double rewrite
230 - + refs.c: remove the_repo from read_ref_at()
231 - + refs.c: add repo_dwim_log()
232 - + refs.c: add repo_dwim_ref()
233 - + refs.c: remove the_repo from expand_ref()
234 - + refs.c: remove the_repo from substitute_branch_name()
235 - + refs.c: add refs_shorten_unambiguous_ref()
236 - + refs.c: add refs_ref_exists()
237 - + packfile.c: add repo_approximate_object_count()
238 - + builtin rebase: use oideq()
239 - + builtin rebase: use FREE_AND_NULL
240 -
241 - Further code clean-up to allow the lowest level of name-to-object
242 - mapping layer to work with a passed-in repository other than the
243 - default one.
244 -
245 -
246 -* pw/sequencer-cleanup-with-signoff-x-fix (2019-04-18) 1 commit
247 - (merged to 'next' on 2019-04-25 at cc587fb2b9)
248 - + sequencer: fix cleanup with --signoff and -x
249 - (this branch is used by dl/merge-cleanup-scissors-fix.)
250 -
251 - "git cherry-pick" run with the "-x" or the "--signoff" option used
252 - to (and more importantly, ought to) clean up the commit log message
253 - with the --cleanup=space option by default, but this has been
254 - broken since late 2017. This has been fixed.
255 -
256 -
257 -* ss/msvc-path-utils-fix (2019-04-09) 1 commit
258 - (merged to 'next' on 2019-04-25 at ee2850da18)
259 - + MSVC: include compat/win32/path-utils.h for MSVC, too, for real_path()
260 -
261 - An earlier update for MinGW and Cygwin accidentally broke MSVC build,
262 - which has been fixed.
263 -
264 -
265 -* tb/unexpected (2019-04-10) 7 commits
266 - (merged to 'next' on 2019-04-25 at c49927fca0)
267 - + rev-list: detect broken root trees
268 - + rev-list: let traversal die when --missing is not in use
269 - + get_commit_tree(): return NULL for broken tree
270 - + list-objects.c: handle unexpected non-tree entries
271 - + list-objects.c: handle unexpected non-blob entries
272 - + t: introduce tests for unexpected object types
273 - + t: move 'hex2oct' into test-lib-functions.sh
274 -
275 - Code tightening against a "wrong" object appearing where an object
276 - of a different type is expected, instead of blindly assuming that
277 - the connection between objects are correctly made.
278 -
279 -
280 -* tz/git-svn-doc-markup-fix (2019-04-10) 1 commit
281 - (merged to 'next' on 2019-04-25 at 3efaa6285c)
282 - + Documentation/git-svn: improve asciidoctor compatibility
283 -
284 - Doc formatting fix.
285 -
286 -
287 -* vk/autoconf-gettext (2019-04-19) 1 commit
288 - (merged to 'next' on 2019-04-25 at 918870cbc2)
289 - + autoconf: #include <libintl.h> when checking for gettext()
290 -
291 - The autoconf generated configure script failed to use the right
292 - gettext() implementations from -libintl by ignoring useless stub
293 - implementations shipped in some C library, which has been
294 - corrected.
295 -
296 ---------------------------------------------------
297 -[New Topics]
45 +* dl/rev-tilde-doc-clarify (2019-05-08) 4 commits
46 + (merged to 'next' on 2019-05-09 at 6efd564b11)
47 + + revisions.txt: remove ambibuity between <rev>:<path> and :<path>
48 + + revisions.txt: mention <rev>~ form
49 + + revisions.txt: mark optional rev arguments with []
50 + + revisions.txt: change "rev" to "<rev>"
51
299 -* ab/perf-installed-fix (2019-05-08) 6 commits
300 - - perf-lib.sh: forbid the use of GIT_TEST_INSTALLED
301 - - perf tests: add "bindir" prefix to git tree test results
302 - - perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh
303 - - perf-lib.sh: make "./run <revisions>" use the correct gits
304 - - perf aggregate: remove GIT_TEST_INSTALLED from --codespeed
305 - - perf README: correct docs for 3c8f12c96c regression
52 + Docfix.
53
307 - Performance test framework has been broken and measured the version
308 - of Git that happens to be on $PATH, not the specified one to
309 - measure, for a while, which has been corrected.
54
311 - Will merge to 'next'.
312 - cf. <20190507105434.9600-1-avarab@gmail.com>
55 +* ew/repack-with-bitmaps-by-default (2019-03-18) 3 commits
56 + (merged to 'next' on 2019-05-09 at 4f8e8b01c8)
57 + + pack-objects: default to writing bitmap hash-cache
58 + + t5310: correctly remove bitmaps for jgit test
59 + + repack: enable bitmaps by default on bare repos
60
61 + The connectivity bitmaps are created by default in bare
62 + repositories now; also the pathname hash-cache is created by
63 + default to avoid making crappy deltas when repacking.
64 + cf. <87a7g2iuem.fsf@evledraar.gmail.com>
65
315 -* an/ignore-doc-update (2019-05-08) 1 commit
316 - - gitignore.txt: make slash-rules more readable
66
318 - The description about slashes in gitignore patterns (used to
319 - indicate things like "anchored to this level only" and "only
320 - matches directories") has been revamped.
67 +* jc/make-dedup-ls-files-output (2019-04-22) 1 commit
68 + (merged to 'next' on 2019-05-09 at e3d5825003)
69 + + Makefile: dedup list of files obtained from ls-files
70
322 - Almost there.
323 - cf. <20190507104507.18735-1-admin@in-ici.net>
71 + A "ls-files" that emulates "find" to enumerate files in the working
72 + tree resulted in duplicated Makefile rules that caused the build to
73 + issue an unnecessary warning during a trial build after merge
74 + conflicts are resolved in working tree *.h files but before the
75 + resolved results are added to the index. This has been corrected.
76 + A not-so-low hanging fruit to teach ls-files to dedup either optionally
77 + or always has also been discussed, which probably is a good idea,
78 + to prevent mistakes similar to the bug this topic fixes in the future.
79
80
326 -* bl/t4253-exit-code-from-format-patch (2019-05-07) 1 commit
327 - - t4253-am-keep-cr-dos: avoid using pipes
81 +* jh/trace2 (2019-05-10) 2 commits
82 + (merged to 'next' on 2019-05-10 at 8b4b5564af)
83 + + trace2: fix up a missing "leave" entry point
84 + (merged to 'next' on 2019-05-09 at e1bba8aeac)
85 + + trace2: fix incorrect function pointer check
86
329 - Avoid patterns to pipe output from a git command to feed another
330 - command in tests.
87 + A few embarrassing bugfixes.
88
332 - Will merge to 'next'.
89
90 +* jh/trace2-sid-fix (2019-05-07) 11 commits
91 + (merged to 'next' on 2019-05-10 at 71c39675ec)
92 + + trace2: fixup access problem on /etc/gitconfig in read_very_early_config
93 + (merged to 'next' on 2019-04-25 at a5c08f1226)
94 + + trace2: update docs to describe system/global config settings
95 + + trace2: make SIDs more unique
96 + + trace2: clarify UTC datetime formatting
97 + + trace2: report peak memory usage of the process
98 + + trace2: use system/global config for default trace2 settings
99 + + config: add read_very_early_config()
100 + + trace2: find exec-dir before trace2 initialization
101 + + trace2: add absolute elapsed time to start event
102 + + trace2: refactor setting process starting time
103 + + config: initialize opts structure in repo_read_config()
104
335 -* cm/notes-comment-fix (2019-05-07) 1 commit
336 - - notes: correct documentation of format_display_notes()
105 + Polishing of the new trace2 facility continues. The system-level
106 + configuration can specify site-wide trace2 settings, which can be
107 + overridden with per-user configuration and environment variables.
108 + cf. <pull.169.v4.git.gitgitgadget@gmail.com> (v4)
109
338 - A stale in-code comment has been updated.
110
340 - Will merge to 'next'.
111 +* jk/ls-files-doc-markup-fix (2019-04-23) 1 commit
112 + (merged to 'next' on 2019-05-09 at a68fe0ae72)
113 + + doc/ls-files: put nested list for "-t" option into block
114
115 + Docfix.
116
343 -* dl/branch-from-3dot-merge-base (2019-05-07) 2 commits
344 - - branch: make create_branch accept a merge base rev
345 - - t2018: cleanup in current test
117
347 - "git branch new A...B" and "git checkout -b new A...B" have been
348 - taught that in their contexts, the notation A...B means "the merge
349 - base between these two commits", just like "git checkout A...B"
350 - detaches HEAD at that commit.
118 +* jk/p5302-avoid-collision-check-cost (2019-04-23) 1 commit
119 + (merged to 'next' on 2019-05-09 at 8dc92cad96)
120 + + p5302: create the repo in each index-pack test
121
352 - Will merge to 'next'.
353 - cf. <cover.1556366347.git.liu.denton@gmail.com>
122 + Fix index-pack perf test so that the repeated invocations always
123 + run in an empty repository, which emulates the initial clone
124 + situation better.
125
126
356 -* ds/cvsexportcommit-force-text (2019-05-07) 1 commit
357 - - cvsexportcommit: force crlf translation
127 +* jk/perf-aggregate-wo-libjson (2019-04-24) 1 commit
128 + (merged to 'next' on 2019-05-09 at e697c1993b)
129 + + t/perf: depend on perl JSON only when using --codespeed
130
359 - "git cvsexportcommit" running on msys did not expect cvsnt showed
360 - "cvs status" output with CRLF line endings.
131 + The script to aggregate perf result unconditionally depended on
132 + libjson-perl even though it did not have to, which has been
133 + corrected.
134
362 - Will merge to 'next'.
135
136 +* js/partial-clone-connectivity-check (2019-05-05) 2 commits
137 + (merged to 'next' on 2019-05-10 at e1d3a6ebde)
138 + + t/perf: add perf script for partial clones
139 + (merged to 'next' on 2019-04-25 at ebd8b4bffd)
140 + + clone: do faster object check for partial clones
141
365 -* en/fast-export-encoding (2019-05-07) 5 commits
366 - - fast-export: do automatic reencoding of commit messages only if requested
367 - - fast-export: differentiate between explicitly utf-8 and implicitly utf-8
368 - - fast-export: avoid stripping encoding header if we cannot reencode
369 - - fast-import: support 'encoding' commit header
370 - - t9350: fix encoding test to actually test reencoding
142 + During an initial "git clone --depth=..." partial clone, it is
143 + pointless to spend cycles for a large portion of the connectivity
144 + check that enumerates and skips promisor objects (which by
145 + definition is all objects fetched from the other side). This has
146 + been optimized out.
147
372 - The "git fast-export/import" pair has been taught to handle commits
373 - with log messages in encoding other than UTF-8 better.
148
375 - Will merge to 'next'.
149 +* pw/clean-sequencer-state-upon-final-commit (2019-04-17) 2 commits
150 + (merged to 'next' on 2019-05-09 at cf6cce8ca7)
151 + + fix cherry-pick/revert status after commit
152 + + commit/reset: try to clean up sequencer state
153
154 + "git chery-pick" (and "revert" that shares the same runtime engine)
155 + that deals with multiple commits got confused when the final step
156 + gets stopped with a conflict and the user concluded the sequence
157 + with "git commit". Attempt to fix it by cleaning up the state
158 + files used by these commands in such a situation.
159
378 -* jh/trace2 (2019-04-26) 1 commit
379 - (merged to 'next' on 2019-05-09 at e1bba8aeac)
380 - + trace2: fix incorrect function pointer check
160
382 - An embarrassing bugfix.
161 +* pw/rebase-i-internal (2019-04-19) 13 commits
162 + (merged to 'next' on 2019-05-09 at 1206aa6865)
163 + + rebase -i: run without forking rebase--interactive
164 + + rebase: use a common action enum
165 + + rebase -i: use struct rebase_options in do_interactive_rebase()
166 + + rebase -i: use struct rebase_options to parse args
167 + + rebase -i: use struct object_id for squash_onto
168 + + rebase -i: use struct commit when parsing options
169 + + rebase -i: remove duplication
170 + + rebase -i: combine rebase--interactive.c with rebase.c
171 + + rebase: use OPT_RERERE_AUTOUPDATE()
172 + + rebase: rename write_basic_state()
173 + + rebase: don't translate trace strings
174 + + sequencer: always discard index after checkout
175 + + Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal
176 + (this branch is used by pw/rebase-abort-clean-rewritten.)
177 +
178 + The internal implementation of "git rebase -i" has been updated to
179 + avoid forking a separate "rebase--interactive" process.
180 +
181 +--------------------------------------------------
182 +[New Topics]
183 +
184 +* cw/diff-highlight (2019-05-09) 1 commit
185 + (merged to 'next' on 2019-05-13 at 050d707166)
186 + + diff-highlight: use correct /dev/null for UNIX and Windows
187 +
188 + Portability fix for a diff-highlight tool (in contrib/).
189
190 Will merge to 'master'.
191
192
387 -* jk/apache-lsan (2019-05-08) 1 commit
388 - - t/lib-httpd: pass LSAN_OPTIONS through apache
193 +* dl/warn-tagging-a-tag (2019-05-09) 1 commit
194 + (merged to 'next' on 2019-05-13 at a2f6365923)
195 + + tag: fix typo in nested tagging hint
196
390 - Allow tests that involve httpd to be run under leak sanitizer, just
391 - like we can already do so under address sanitizer.
197 + Typofix.
198
393 - Will merge to 'next'.
199 + Will merge to 'master'.
200
201
396 -* jk/cocci-batch (2019-05-08) 2 commits
397 - - coccicheck: make batch size of 0 mean "unlimited"
398 - - coccicheck: optionally batch spatch invocations
202 +* js/difftool-no-index (2019-05-09) 1 commit
203 + - difftool --no-index: error out on --dir-diff (and don't crash)
204
400 - Optionally "make coccicheck" can feed multiple source files to
401 - spatch, gaining performance while spending more memory.
205 + The "--dir-diff" mode of "git difftool" is not useful in "--no-index"
206 + mode; they are now explicitly marked as mutually incompatible.
207
208 Will merge to 'next'.
209
210
406 -* js/commit-graph-parse-leakfix (2019-05-07) 1 commit
407 - - commit-graph: fix memory leak
211 +* nd/submodule-helper-incomplete-line-fix (2019-05-08) 1 commit
212 + (merged to 'next' on 2019-05-13 at cd52f49825)
213 + + submodule--helper: add a missing \n
214
409 - Leakfix.
215 + Typofix.
216
411 - Will merge to 'next'.
217 + Will merge to 'master'.
218
219
414 -* js/fsmonitor-refresh-after-discarding-index (2019-05-08) 2 commits
415 - - fsmonitor: force a refresh after the index was discarded
416 - - fsmonitor: demonstrate that it is not refreshed after discard_index()
220 +* sb/format-patch-base-patch-id-fix (2019-05-08) 2 commits
221 + - format-patch: make --base patch-id output stable
222 + - format-patch: inform user that patch-id generation is unstable
223
418 - The fsmonitor interface got out of sync after the in-core index
419 - file gets discarded, which has been corrected.
224 + The recently added "--base" option of "format-patch" computed the
225 + patch-ids for prerequisite patches in an unstable way, which has
226 + been updated to compute in a way that is compatible with "git
227 + patch-id --stable".
228
229 Will merge to 'next'.
230
231
424 -* js/t5580-unc-alternate-test (2019-05-07) 1 commit
425 - - t5580: verify that alternates can be UNC paths
232 +* ab/send-email-transferencoding-fix (2019-05-13) 3 commits
233 + (merged to 'next' on 2019-05-13 at 38c6a1e7e0)
234 + + send-email: do defaults -> config -> getopt in that order
235 + + send-email: rename the @bcclist variable for consistency
236 + + send-email: move the read_config() function above getopts
237
427 - An additional test for MinGW
238 + Since "git send-email" learned to take 'auto' as the value for the
239 + transfer-encoding, it by mistake stopped honoring the values given
240 + to the configuration variables sendemail.transferencoding and/or
241 + sendemail.<ident>.transferencoding. This has been corrected to
242 + (finally) redoing the order of setting the default, reading the
243 + configuration and command line options.
244
429 - Will merge to 'next'.
245 + Will merge to 'master'.
246
247
432 -* js/t6500-use-windows-pid-on-mingw (2019-05-08) 1 commit
433 - - t6500(mingw): use the Windows PID of the shell
248 +* ab/trace2-typofix (2019-05-13) 1 commit
249 + (merged to 'next' on 2019-05-13 at f1229d4d9d)
250 + + trace2: fix up a missing "leave" entry point
251
435 - Future-proof a test against an update to MSYS2 runtime v3.x series.
252 + Typofix.
253
437 - Will merge to 'next'.
438 - cf. <pull.185.git.gitgitgadget@gmail.com>
439 - It might be helpful in the longer term to encapsulate the code that
440 - uses /proc/$$/winpid into a helper function and use it anywhere $$
441 - is referenced, but let's defer it until we see such a callsite that
442 - would be helped by such a move.
254 + Will merge to 'master'.
255
256
445 -* mh/http-fread-api-fix (2019-05-08) 1 commit
446 - - Make fread/fwrite-like functions in http.c more like fread/fwrite.
257 +* dl/format-patch-notes-config (2019-05-13) 2 commits
258 + - format-patch: teach format.notes config option
259 + - git-format-patch.txt: document --no-notes option
260
448 - A pair of private functions in http.c that had names similar to
449 - fread/fwrite did not return the number of elements, which was found
450 - to be confusing.
261 + "git format-patch" learns a configuration to set the default for
262 + its --notes=<ref> option.
263
452 - Will merge to 'next'.
264 + The interaction between config and option may be a little iffy.
265 + cf. <xmqqimufdqey.fsf@gitster-ct.c.googlers.com>
266
267
455 -* nd/merge-quit (2019-05-07) 2 commits
456 - - merge: add --quit
457 - - merge: remove drop_save() in favor of remove_merge_branch_state()
268 +* ds/midx-too-many-packs (2019-05-07) 2 commits
269 + - midx: add packs to packed_git linked list
270 + - midx: pass a repository pointer
271
459 - "git merge" learned "--quit" option that cleans up the in-progress
460 - merge while leaving the working tree and the index still in a mess.
272 + The code to generate the multi-pack idx file was not prepared to
273 + see too many packfiles and ran out of open file descriptor, which
274 + has been corrected.
275
462 - Hmph, why is this a good idea?
276 + Will merge to 'next'.
277
278
465 -* nd/parse-options-aliases (2019-05-07) 1 commit
466 - - parse-options: don't emit "ambiguous option" for aliases
279 +* ds/trace2-document-env-vars (2019-05-13) 1 commit
280 + - trace2: add variable description to git.txt
281
468 - Attempt to use an abbreviated option in "git clone --recurs" is
469 - responded by a request to disambiguate between --recursive and
470 - --recurse-submodules, which is bad because these two are synonyms.
471 - The parse-options API has been extended to define such synonyms
472 - more easily and not produce an unnecessary failure.
282 + Doc update.
283
284 Will merge to 'next'.
285
286
477 -* pw/rebase-abort-clean-rewritten (2019-05-08) 1 commit
478 - - rebase --abort: cleanup refs/rewritten
479 - (this branch uses pw/rebase-i-internal.)
287 +* es/check-non-portable-pre-5.10 (2019-05-13) 1 commit
288 + - check-non-portable-shell: support Perl versions older than 5.10
289
481 - "git rebase --abort" used to leave refs/rewritten/ when concluding
482 - "git rebase -r", which has been corrected.
290 + Developer support update.
291
292 Will merge to 'next'.
293
294
487 -* sg/ci-libsvn-perl (2019-05-07) 1 commit
488 - - ci: install 'libsvn-perl' instead of 'git-svn'
295 +* id/windows-dep-aslr (2019-05-13) 2 commits
296 + (merged to 'next' on 2019-05-13 at 33d57069f8)
297 + + mingw: enable DEP and ASLR
298 + + mingw: do not let ld strip relocations
299
490 - To run tests for Git SVN, our scripts for CI used to install the
491 - git-svn package (in the hope that it would bring in the right
492 - dependencies). This has been updated to install the more direct
493 - dependency, namely, libsvn-perl.
300 + Allow DEP and ASLR for Windows build to for security hardening.
301 +
302 + Will merge to 'master'.
303 +
304 +
305 +* jk/unused-params-final-batch (2019-05-13) 14 commits
306 + - verify-commit: simplify parameters to run_gpg_verify()
307 + - show-branch: drop unused parameter from show_independent()
308 + - rev-list: drop unused void pointer from finish_commit()
309 + - remove_all_fetch_refspecs(): drop unused "remote" parameter
310 + - receive-pack: drop unused "commands" from prepare_shallow_update()
311 + - pack-objects: drop unused rev_info parameters
312 + - name-rev: drop unused parameters from is_better_name()
313 + - mktree: drop unused length parameter
314 + - wt-status: drop unused status parameter
315 + - read-cache: drop unused parameter from threaded load
316 + - clone: drop dest parameter from copy_alternates()
317 + - submodule: drop unused prefix parameter from some functions
318 + - builtin: consistently pass cmd_* prefix to parse_options
319 + - cmd_{read,write}_tree: rename "unused" variable that is used
320 +
321 + Remove many unused parameters throughout the codebase, with the
322 + ultimate aim to allow us compile with -Wunused-parameter cleanly.
323
324 Will merge to 'next'.
325
326
498 -* tt/no-ipv6-fallback-for-winxp (2019-05-07) 1 commit
499 - - mingw: remove obsolete IPv6-related code
327 +* js/rebase-i-label-shown-in-status-fix (2019-05-13) 1 commit
328 + - status: fix display of rebase -ir's `label` command
329
501 - Code cleanup.
330 + "git status" did not know that the "label" instruction in the
331 + todo-list "rebase -i -r" uses should not be shown as a hex object
332 + name.
333
334 Will merge to 'next'.
335
336
506 -* jc/send-email-transferencoding-fix (2019-05-08) 2 commits
507 - - send-email: honor transferencoding config option again
508 - - send-email: update the mechanism to set default configuration values
337 +* nd/init-relative-template-fix (2019-05-13) 1 commit
338 + - init: make --template path relative to $CWD
339
510 - Since "git send-email" learned to take 'auto' as the value for the
511 - transfer-encoding, it by mistake stopped honoring the values given
512 - to the configuration variables sendemail.transferencoding and/or
513 - sendemail.<ident>.transferencoding. Attempt to correct this.
340 + A relative pathname given to "git init --template=<path> <repo>"
341 + ought to be relative to the directory "git init" gets invoked in,
342 + but it instead was made relative to the repository, which has been
343 + corrected.
344
515 - cf. <20190508105607.178244-1-gitster@pobox.com> (v2)
345 + Will merge to 'next'.
346
347 --------------------------------------------------
348 [Stalled]
@@ -578,123 +408,265 @@ of the repositories listed at
408 cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
409
410
581 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
582 - - zlib.c: use size_t for size
411 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
412 + - zlib.c: use size_t for size
413 +
414 + The wrapper to call into zlib followed our long tradition to use
415 + "unsigned long" for sizes of regions in memory, which have been
416 + updated to use "size_t".
417 +
418 +
419 +* dl/remote-save-to-push (2018-12-11) 1 commit
420 + - remote: add --save-to-push option to git remote set-url
421 +
422 + "git remote set-url" learned a new option that moves existing value
423 + of the URL field to pushURL field of the remote before replacing
424 + the URL field with a new value.
425 +
426 + Anybody who wants to champion this topic?
427 + I am personally not yet quite convinced if this is worth pursuing.
428 +
429 +--------------------------------------------------
430 +[Cooking]
431 +
432 +* ab/perf-installed-fix (2019-05-08) 6 commits
433 + (merged to 'next' on 2019-05-13 at ccd997a142)
434 + + perf-lib.sh: forbid the use of GIT_TEST_INSTALLED
435 + + perf tests: add "bindir" prefix to git tree test results
436 + + perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh
437 + + perf-lib.sh: make "./run <revisions>" use the correct gits
438 + + perf aggregate: remove GIT_TEST_INSTALLED from --codespeed
439 + + perf README: correct docs for 3c8f12c96c regression
440 +
441 + Performance test framework has been broken and measured the version
442 + of Git that happens to be on $PATH, not the specified one to
443 + measure, for a while, which has been corrected.
444 +
445 + Will merge to 'master'.
446 + cf. <20190507105434.9600-1-avarab@gmail.com>
447 +
448 +
449 +* an/ignore-doc-update (2019-05-08) 1 commit
450 + - gitignore.txt: make slash-rules more readable
451 +
452 + The description about slashes in gitignore patterns (used to
453 + indicate things like "anchored to this level only" and "only
454 + matches directories") has been revamped.
455 +
456 + Almost there.
457 + cf. <20190507104507.18735-1-admin@in-ici.net>
458 +
459 +
460 +* bl/t4253-exit-code-from-format-patch (2019-05-07) 1 commit
461 + - t4253-am-keep-cr-dos: avoid using pipes
462 +
463 + Avoid patterns to pipe output from a git command to feed another
464 + command in tests.
465 +
466 + Will merge to 'next'.
467 +
468 +
469 +* cm/notes-comment-fix (2019-05-07) 1 commit
470 + - notes: correct documentation of format_display_notes()
471 +
472 + A stale in-code comment has been updated.
473 +
474 + Will merge to 'next'.
475 +
476 +
477 +* dl/branch-from-3dot-merge-base (2019-05-07) 2 commits
478 + (merged to 'next' on 2019-05-13 at 2eb387070e)
479 + + branch: make create_branch accept a merge base rev
480 + + t2018: cleanup in current test
481 +
482 + "git branch new A...B" and "git checkout -b new A...B" have been
483 + taught that in their contexts, the notation A...B means "the merge
484 + base between these two commits", just like "git checkout A...B"
485 + detaches HEAD at that commit.
486 +
487 + Will merge to 'master'.
488 + cf. <cover.1556366347.git.liu.denton@gmail.com>
489 +
490 +
491 +* ds/cvsexportcommit-force-text (2019-05-07) 1 commit
492 + - cvsexportcommit: force crlf translation
493 +
494 + "git cvsexportcommit" running on msys did not expect cvsnt showed
495 + "cvs status" output with CRLF line endings.
496 +
497 + Will merge to 'next'.
498 +
499 +
500 +* en/fast-export-encoding (2019-05-13) 5 commits
501 + - fast-export: do automatic reencoding of commit messages only if requested
502 + - fast-export: differentiate between explicitly utf-8 and implicitly utf-8
503 + - fast-export: avoid stripping encoding header if we cannot reencode
504 + - fast-import: support 'encoding' commit header
505 + - t9350: fix encoding test to actually test reencoding
506 +
507 + The "git fast-export/import" pair has been taught to handle commits
508 + with log messages in encoding other than UTF-8 better.
509 +
510 + Will merge to 'next'.
511 + cf. <20190510205335.19968-1-newren@gmail.com>
512 +
513 +
514 +* jk/apache-lsan (2019-05-08) 1 commit
515 + (merged to 'next' on 2019-05-13 at 1a055a6df0)
516 + + t/lib-httpd: pass LSAN_OPTIONS through apache
517 +
518 + Allow tests that involve httpd to be run under leak sanitizer, just
519 + like we can already do so under address sanitizer.
520 +
521 + Will merge to 'master'.
522 +
523 +
524 +* jk/cocci-batch (2019-05-08) 2 commits
525 + (merged to 'next' on 2019-05-13 at 8bbbfd3438)
526 + + coccicheck: make batch size of 0 mean "unlimited"
527 + + coccicheck: optionally batch spatch invocations
528 +
529 + Optionally "make coccicheck" can feed multiple source files to
530 + spatch, gaining performance while spending more memory.
531 +
532 + Will merge to 'master'.
533 +
534 +
535 +* js/commit-graph-parse-leakfix (2019-05-07) 1 commit
536 + (merged to 'next' on 2019-05-13 at 18df8ac778)
537 + + commit-graph: fix memory leak
538 +
539 + Leakfix.
540 +
541 + Will merge to 'master'.
542 +
543 +
544 +* js/fsmonitor-refresh-after-discarding-index (2019-05-08) 2 commits
545 + - fsmonitor: force a refresh after the index was discarded
546 + - fsmonitor: demonstrate that it is not refreshed after discard_index()
547 +
548 + The fsmonitor interface got out of sync after the in-core index
549 + file gets discarded, which has been corrected.
550
584 - The wrapper to call into zlib followed our long tradition to use
585 - "unsigned long" for sizes of regions in memory, which have been
586 - updated to use "size_t".
551 + Will merge to 'next'.
552
553
589 -* dl/remote-save-to-push (2018-12-11) 1 commit
590 - - remote: add --save-to-push option to git remote set-url
554 +* js/t5580-unc-alternate-test (2019-05-07) 1 commit
555 + - t5580: verify that alternates can be UNC paths
556
592 - "git remote set-url" learned a new option that moves existing value
593 - of the URL field to pushURL field of the remote before replacing
594 - the URL field with a new value.
557 + An additional test for MinGW
558
596 - Anybody who wants to champion this topic?
597 - I am personally not yet quite convinced if this is worth pursuing.
559 + Will merge to 'next'.
560
599 ---------------------------------------------------
600 -[Cooking]
561
602 -* nb/branch-show-other-worktrees-head (2019-05-07) 3 commits
603 - - branch: add worktree info on verbose output
604 - - branch: update output to include worktree info
605 - - ref-filter: add worktreepath atom
562 +* js/t6500-use-windows-pid-on-mingw (2019-05-08) 1 commit
563 + (merged to 'next' on 2019-05-13 at 24e5e27eb7)
564 + + t6500(mingw): use the Windows PID of the shell
565
607 - "git branch --list" learned to show branches that are checked out
608 - in other worktrees connected to the same repository prefixed with
609 - '+', similar to the way the currently checked out branch is shown
610 - with '*' in front.
566 + Future-proof a test against an update to MSYS2 runtime v3.x series.
567
568 + Will merge to 'master'.
569 + cf. <pull.185.git.gitgitgadget@gmail.com>
570 + It might be helpful in the longer term to encapsulate the code that
571 + uses /proc/$$/winpid into a helper function and use it anywhere $$
572 + is referenced, but let's defer it until we see such a callsite that
573 + would be helped by such a move.
574
613 -* jc/make-dedup-ls-files-output (2019-04-22) 1 commit
614 - (merged to 'next' on 2019-05-09 at e3d5825003)
615 - + Makefile: dedup list of files obtained from ls-files
575
617 - A "ls-files" that emulates "find" to enumerate files in the working
618 - tree resulted in duplicated Makefile rules that caused the build to
619 - issue an unnecessary warning during a trial build after merge
620 - conflicts are resolved in working tree *.h files but before the
621 - resolved results are added to the index. This has been corrected.
576 +* mh/http-fread-api-fix (2019-05-08) 1 commit
577 + (merged to 'next' on 2019-05-13 at f6af2d38d7)
578 + + Make fread/fwrite-like functions in http.c more like fread/fwrite.
579 +
580 + A pair of private functions in http.c that had names similar to
581 + fread/fwrite did not return the number of elements, which was found
582 + to be confusing.
583
584 Will merge to 'master'.
624 - A not-so-low hanging fruit to teach ls-files to dedup either optionally
625 - or always has also been discussed, which probably is a good idea,
626 - to prevent mistakes similar to the bug this topic fixes in the future.
585
586
629 -* jk/ls-files-doc-markup-fix (2019-04-23) 1 commit
630 - (merged to 'next' on 2019-05-09 at a68fe0ae72)
631 - + doc/ls-files: put nested list for "-t" option into block
587 +* nd/merge-quit (2019-05-13) 2 commits
588 + - merge: add --quit
589 + - merge: remove drop_save() in favor of remove_merge_branch_state()
590
633 - Docfix.
591 + "git merge" learned "--quit" option that cleans up the in-progress
592 + merge while leaving the working tree and the index still in a mess.
593
635 - Will merge to 'master'.
594 + On hold.
595 + cf. <CACsJy8DTErpeoNHUkCieDafnjc3iwg6QKAp2VP-8tUNYh33tJA@mail.gmail.com>
596 + Windows seems to have problems with the code, and may need a
597 + follow-up fixes.
598
599
638 -* jk/p5302-avoid-collision-check-cost (2019-04-23) 1 commit
639 - (merged to 'next' on 2019-05-09 at 8dc92cad96)
640 - + p5302: create the repo in each index-pack test
600 +* nd/parse-options-aliases (2019-05-07) 1 commit
601 + (merged to 'next' on 2019-05-13 at c77cc06452)
602 + + parse-options: don't emit "ambiguous option" for aliases
603
642 - Fix index-pack perf test so that the repeated invocations always
643 - run in an empty repository, which emulates the initial clone
644 - situation better.
604 + Attempt to use an abbreviated option in "git clone --recurs" is
605 + responded by a request to disambiguate between --recursive and
606 + --recurse-submodules, which is bad because these two are synonyms.
607 + The parse-options API has been extended to define such synonyms
608 + more easily and not produce an unnecessary failure.
609
610 Will merge to 'master'.
611
612
649 -* dl/rev-tilde-doc-clarify (2019-05-08) 4 commits
650 - (merged to 'next' on 2019-05-09 at 6efd564b11)
651 - + revisions.txt: remove ambibuity between <rev>:<path> and :<path>
652 - + revisions.txt: mention <rev>~ form
653 - + revisions.txt: mark optional rev arguments with []
654 - + revisions.txt: change "rev" to "<rev>"
613 +* pw/rebase-abort-clean-rewritten (2019-05-08) 1 commit
614 + - rebase --abort: cleanup refs/rewritten
615
656 - Docfix.
616 + "git rebase --abort" used to leave refs/rewritten/ when concluding
617 + "git rebase -r", which has been corrected.
618
658 - Will merge to 'master'.
619 + On hold.
620 + cf. <6726f99a-ec27-b72f-39d7-03eecb555197@gmail.com>
621
622
661 -* en/unicode-in-refnames (2019-04-26) 1 commit
662 - - Honor core.precomposeUnicode in more places
623 +* sg/ci-libsvn-perl (2019-05-07) 1 commit
624 + - ci: install 'libsvn-perl' instead of 'git-svn'
625
664 - The names of the refs stored as filesystem entities may become
665 - different from what the end-user expects, just like files in the
666 - working tree gets "renamed", on a filesystem like HFS+. Work it
667 - around by paying attemption to the core.precomposeUnicode
668 - configuration.
626 + To run tests for Git SVN, our scripts for CI used to install the
627 + git-svn package (in the hope that it would bring in the right
628 + dependencies). This has been updated to install the more direct
629 + dependency, namely, libsvn-perl.
630
670 - Looked sensible. Ready for next?
631 + Will merge to 'next'.
632
633
673 -* jk/perf-aggregate-wo-libjson (2019-04-24) 1 commit
674 - (merged to 'next' on 2019-05-09 at e697c1993b)
675 - + t/perf: depend on perl JSON only when using --codespeed
634 +* tt/no-ipv6-fallback-for-winxp (2019-05-07) 1 commit
635 + - mingw: remove obsolete IPv6-related code
636
677 - The script to aggregate perf result unconditionally depended on
678 - libjson-perl even though it did not have to, which has been
679 - corrected.
637 + Code cleanup.
638
681 - Will merge to 'master'.
639 + Will merge to 'next'.
640
641
684 -* cc/access-on-aix-workaround (2019-04-25) 1 commit
685 - (merged to 'next' on 2019-05-09 at 79b25b1954)
686 - + git-compat-util: work around for access(X_OK) under root
642 +* nb/branch-show-other-worktrees-head (2019-05-07) 3 commits
643 + - branch: add worktree info on verbose output
644 + - branch: update output to include worktree info
645 + - ref-filter: add worktreepath atom
646
688 - Workaround for standard-compliant but less-than-useful behaviour of
689 - access(2) for the root user.
647 + "git branch --list" learned to show branches that are checked out
648 + in other worktrees connected to the same repository prefixed with
649 + '+', similar to the way the currently checked out branch is shown
650 + with '*' in front.
651
691 - Will merge to 'master'.
652 +
653 +* en/unicode-in-refnames (2019-04-26) 1 commit
654 + - Honor core.precomposeUnicode in more places
655 +
656 + On a filesystem like HFS+, the names of the refs stored as filesystem
657 + entities may become different from what the end-user expects, just
658 + like files in the working tree get "renamed". Work around the
659 + mismatch by paying attention to the core.precomposeUnicode
660 + configuration.
661 +
662 + Will merge to 'next'.
663
664
694 -* dl/difftool-mergetool (2019-04-25) 6 commits
665 +* dl/difftool-mergetool (2019-05-13) 7 commits
666 - difftool: fallback on merge.guitool
667 - difftool: make --gui, --tool and --extcmd mutually exclusive
668 - mergetool: fallback to tool when guitool unavailable
669 + - mergetool--lib: create gui_mode function
670 - mergetool: use get_merge_tool function
671 - t7610: add mergetool --gui tests
672 - t7610: unsuppress output
@@ -704,27 +676,7 @@ of the repositories listed at
676 fallback settings of each other in a sensible order.
677
678 Will merge to 'next'.
707 -
708 -
709 -* ds/midx-expire-repack (2019-04-25) 11 commits
710 - - t5319-multi-pack-index.sh: test batch size zero
711 - - midx: add test that 'expire' respects .keep files
712 - - multi-pack-index: test expire while adding packs
713 - - midx: implement midx_repack()
714 - - multi-pack-index: prepare 'repack' subcommand
715 - - multi-pack-index: implement 'expire' subcommand
716 - - midx: refactor permutation logic and pack sorting
717 - - midx: simplify computation of pack name lengths
718 - - multi-pack-index: prepare for 'expire' subcommand
719 - - Docs: rearrange subcommands for multi-pack-index
720 - - repack: refactor pack deletion for future use
721 -
722 - "git multi-pack-index expire/repack" are new subcommands that
723 - consult midx file and are used to drop unused pack files and
724 - coalesce small pack files that are still in use.
725 -
726 - Ready for next?
727 - cf. <20190424151428.170316-1-dstolee@microsoft.com> (v5)
679 + cf. <cover.1556518203.git.liu.denton@gmail.com> (v5)
680
681
682 * es/first-contrib-tutorial (2019-05-08) 2 commits
@@ -738,46 +690,6 @@ of the repositories listed at
690 cf. <20190507213040.151799-1-emilyshaffer@google.com> (v5)
691
692
741 -* pw/clean-sequencer-state-upon-final-commit (2019-04-17) 2 commits
742 - (merged to 'next' on 2019-05-09 at cf6cce8ca7)
743 - + fix cherry-pick/revert status after commit
744 - + commit/reset: try to clean up sequencer state
745 -
746 - "git chery-pick" (and "revert" that shares the same runtime engine)
747 - that deals with multiple commits got confused when the final step
748 - gets stopped with a conflict and the user concluded the sequence
749 - with "git commit". Attempt to fix it by cleaning up the state
750 - files used by these commands in such a situation.
751 -
752 - Will merge to 'master'.
753 -
754 -
755 -* dl/no-extern-in-func-decl (2019-05-05) 3 commits
756 - (merged to 'next' on 2019-05-09 at d165ac4cee)
757 - + *.[ch]: manually align parameter lists
758 - + *.[ch]: remove extern from function declarations using sed
759 - + *.[ch]: remove extern from function declarations using spatch
760 -
761 - Mechanically and systematically drop "extern" from function
762 - declarlation.
763 -
764 - Will merge to 'master'.
765 -
766 -
767 -* js/partial-clone-connectivity-check (2019-05-05) 2 commits
768 - - t/perf: add perf script for partial clones
769 - (merged to 'next' on 2019-04-25 at ebd8b4bffd)
770 - + clone: do faster object check for partial clones
771 -
772 - During an initial "git clone --depth=..." partial clone, it is
773 - pointless to spend cycles for a large portion of the connectivity
774 - check that enumerates and skips promisor objects (which by
775 - definition is all objects fetched from the other side). This has
776 - been optimized out.
777 -
778 - Will merge to 'next' and then to 'master'.
779 -
780 -
693 * cc/multi-promisor (2019-04-15) 17 commits
694 - Move core_partial_clone_filter_default to promisor-remote.c
695 - Move repository_format_partial_clone to promisor-remote.c
@@ -861,20 +773,6 @@ of the repositories listed at
773 cf. <20190425094600.15673-1-pclouds@gmail.com> (restore v3)
774
775
864 -* ew/repack-with-bitmaps-by-default (2019-03-18) 3 commits
865 - (merged to 'next' on 2019-05-09 at 4f8e8b01c8)
866 - + pack-objects: default to writing bitmap hash-cache
867 - + t5310: correctly remove bitmaps for jgit test
868 - + repack: enable bitmaps by default on bare repos
869 -
870 - The connectivity bitmaps are created by default in bare
871 - repositories now; also the pathname hash-cache is created by
872 - default to avoid making crappy deltas when repacking.
873 -
874 - Will merge to 'master'.
875 - cf. <87a7g2iuem.fsf@evledraar.gmail.com>
876 -
877 -
776 * jc/format-patch-noclobber (2019-02-22) 1 commit
777 - format-patch: --no-clobber refrains from overwriting output files
778
@@ -920,51 +818,6 @@ of the repositories listed at
818 cf. <xmqqa7fxionx.fsf@gitster-ct.c.googlers.com>
819
820
923 -* jh/trace2-sid-fix (2019-05-07) 11 commits
924 - - trace2: fixup access problem on /etc/gitconfig in read_very_early_config
925 - (merged to 'next' on 2019-04-25 at a5c08f1226)
926 - + trace2: update docs to describe system/global config settings
927 - + trace2: make SIDs more unique
928 - + trace2: clarify UTC datetime formatting
929 - + trace2: report peak memory usage of the process
930 - + trace2: use system/global config for default trace2 settings
931 - + config: add read_very_early_config()
932 - + trace2: find exec-dir before trace2 initialization
933 - + trace2: add absolute elapsed time to start event
934 - + trace2: refactor setting process starting time
935 - + config: initialize opts structure in repo_read_config()
936 -
937 - Polishing of the new trace2 facility continues. The system-level
938 - configuration can specify site-wide trace2 settings, which can be
939 - overridden with per-user configuration and environment variables.
940 -
941 - Will merge to 'next' and then to 'master'.
942 - cf. <pull.169.v4.git.gitgitgadget@gmail.com> (v4)
943 -
944 -
945 -* pw/rebase-i-internal (2019-04-19) 13 commits
946 - (merged to 'next' on 2019-05-09 at 1206aa6865)
947 - + rebase -i: run without forking rebase--interactive
948 - + rebase: use a common action enum
949 - + rebase -i: use struct rebase_options in do_interactive_rebase()
950 - + rebase -i: use struct rebase_options to parse args
951 - + rebase -i: use struct object_id for squash_onto
952 - + rebase -i: use struct commit when parsing options
953 - + rebase -i: remove duplication
954 - + rebase -i: combine rebase--interactive.c with rebase.c
955 - + rebase: use OPT_RERERE_AUTOUPDATE()
956 - + rebase: rename write_basic_state()
957 - + rebase: don't translate trace strings
958 - + sequencer: always discard index after checkout
959 - + Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal
960 - (this branch is used by pw/rebase-abort-clean-rewritten.)
961 -
962 - The internal implementation of "git rebase -i" has been updated to
963 - avoid forking a separate "rebase--interactive" process.
964 -
965 - Will merge to 'master'.
966 -
967 -
821 * nd/worktree-name-sanitization (2019-03-20) 2 commits
822 - SQUASH???
823 - worktree add: sanitize worktree names
@@ -978,19 +831,25 @@ of the repositories listed at
831 to 'next'. Opinions?
832
833
981 -* ds/commit-graph-format-v2 (2019-05-08) 6 commits
834 +* ds/commit-graph-write-refactor (2019-05-13) 11 commits
835 + - commit-graph: extract write_commit_graph_file()
836 + - commit-graph: extract copy_oids_to_commits()
837 + - commit-graph: extract count_distinct_commits()
838 + - commit-graph: extract fill_oids_from_all_packs()
839 + - commit-graph: extract fill_oids_from_commit_hex()
840 + - commit-graph: extract fill_oids_from_packs()
841 + - commit-graph: create write_commit_graph_context
842 - commit-graph: remove Future Work section
983 - - commit-graph: implement file format version 2
984 - - commit-graph: add --version=<n> option
985 - - commit-graph: create new version parameter
843 - commit-graph: collapse parameters into flags
844 - commit-graph: return with errors during write
845 + - commit-graph: fix the_repository reference
846
989 - Introduce version 2 of the commit-graph format to correct
990 - deficiency in the initial version.
847 + Renamed from commit-graph-format-v2 and changed scope.
848
992 - Still actively discussed.
993 - cf. <pull.112.v3.git.gitgitgadget@gmail.com> (v3)
849 + Expecting a reroll.
850 + I think it is almost there, modulo a few internal API details..
851 + cf. <pull.112.v4.git.gitgitgadget@gmail.com> (v4)
852 + cf. <17829620-1084-74e5-54ad-aa95990f4dbd@gmail.com>
853
854
855 * br/blame-ignore (2019-04-14) 6 commits
@@ -1013,7 +872,7 @@ of the repositories listed at
872 [Discarded]
873
874 * nd/precious (2019-04-09) 1 commit
1016 - - Introduce "precious" file concept
875 + . Introduce "precious" file concept
876
877 "git clean" learned to pay attention to the 'precious' attributes
878 and keep untracked paths with the attribute instead of removing
@@ -1054,11 +913,35 @@ of the repositories listed at
913 * hs/send-email-transferencoding-fix (2019-04-10) 1 commit
914 . send-email: honor transferencoding config option again
915
1057 - Since "git send-email" learned to take 'auto' as the value for the
1058 - transfer-encoding, it by mistake stopped honoring the values given
1059 - to the configuration variables sendemail.transferencoding and/or
1060 - sendemail.<ident>.transferencoding. Attempt to correct this.
1061 -
1062 - Not quite.
916 cf. <xmqq8swi34h5.fsf@gitster-ct.c.googlers.com>
917 Replaced by jc/send-email-transferencoding-fix
918 +
919 +
920 +* jc/send-email-transferencoding-fix (2019-05-09) 2 commits
921 + . send-email: honor transferencoding config option again
922 + . send-email: update the mechanism to set default configuration values
923 +
924 + Replaced by Ævar's "do the default in the right order" approach.
925 + cf. <20190508105607.178244-1-gitster@pobox.com> (v2)
926 +
927 +
928 +* ds/midx-expire-repack (2019-04-25) 11 commits
929 + . t5319-multi-pack-index.sh: test batch size zero
930 + . midx: add test that 'expire' respects .keep files
931 + . multi-pack-index: test expire while adding packs
932 + . midx: implement midx_repack()
933 + . multi-pack-index: prepare 'repack' subcommand
934 + . multi-pack-index: implement 'expire' subcommand
935 + . midx: refactor permutation logic and pack sorting
936 + . midx: simplify computation of pack name lengths
937 + . multi-pack-index: prepare for 'expire' subcommand
938 + . Docs: rearrange subcommands for multi-pack-index
939 + . repack: refactor pack deletion for future use
940 +
941 + "git multi-pack-index expire/repack" are new subcommands that
942 + consult midx file and are used to drop unused pack files and
943 + coalesce small pack files that are still in use.
944 +
945 + Tentatively dropped
946 + cf. <20190424151428.170316-1-dstolee@microsoft.com> (v5)
947 + cf. <1733843e-f0e4-0e25-468b-64727f6855d5@gmail.com>