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>