What's cooking (2019/04 #05)
Junio C Hamano committed
Apr 25, 2019 at 19:08 UTC
23ba6effff2106be187c0f4893dc3c275675b564
1 file changed
+756
-909
whats-cooking.txt
+756
-909
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Apr 2019, #04; Mon, 22)
4
-X-master-at: 14c0f8d3ab6c36672189cd2dd217f4617d12ccba
5
-X-next-at: 7a2cf3c8d2cfe6df8d13e6d8a2e2431b74241674
3
+Subject: What's cooking in git.git (Apr 2019, #05; Thu, 25)
4
+X-master-at: 83232e38648b51abbcbdb56c94632b6906cc85a6
5
+X-next-at: f2820cf01acf778d953a46357a6160ba42711eb1
6
7
-What's cooking in git.git (Apr 2019, #04; Mon, 22)
7
+What's cooking in git.git (Apr 2019, #05; Thu, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -20,291 +20,566 @@ of the repositories listed at
20
--------------------------------------------------
21
[Graduated to "master"]
22
23
-* cb/doco-mono (2019-03-13) 2 commits
24
- (merged to 'next' on 2019-04-16 at 91f5d71452)
25
- + doc: format pathnames and URLs as monospace.
26
- + doc/CodingGuidelines: URLs and paths as monospace
23
+* ab/commit-graph-fixes (2019-04-01) 8 commits
24
+ (merged to 'next' on 2019-04-16 at 97f4ba02f0)
25
+ + commit-graph: improve & i18n error messages
26
+ + commit-graph write: don't die if the existing graph is corrupt
27
+ + commit-graph verify: detect inability to read the graph
28
+ + commit-graph: don't pass filename to load_commit_graph_one_fd_st()
29
+ + commit-graph: don't early exit(1) on e.g. "git status"
30
+ + commit-graph: fix segfault on e.g. "git status"
31
+ + commit-graph tests: test a graph that's too small
32
+ + commit-graph tests: split up corrupt_graph_and_verify()
33
+ (this branch is used by ds/commit-graph-format-v2.)
34
28
- Clean-up markup in the documentation suite.
35
+ Code cleanup with more careful error checking before using data
36
+ read from the commit-graph file.
37
38
31
-* da/smerge (2019-04-04) 2 commits
32
- (merged to 'next' on 2019-04-16 at 80bf79fee1)
33
- + contrib/completion: add smerge to the mergetool completion candidates
34
- + mergetools: add support for smerge (Sublime Merge)
39
+* ab/gc-docs (2019-04-08) 11 commits
40
+ (merged to 'next' on 2019-04-22 at 02785d40f5)
41
+ + gc docs: remove incorrect reference to gc.auto=0
42
+ + gc docs: clarify that "gc" doesn't throw away referenced objects
43
+ + gc docs: note "gc --aggressive" in "fast-import"
44
+ + gc docs: downplay the usefulness of --aggressive
45
+ + gc docs: note how --aggressive impacts --window & --depth
46
+ + gc docs: fix formatting for "gc.writeCommitGraph"
47
+ + gc docs: re-flow the "gc.*" section in "config"
48
+ + gc docs: include the "gc.*" section from "config" in "gc"
49
+ + gc docs: clean grammar for "gc.bigPackThreshold"
50
+ + gc docs: stop noting "repack" flags
51
+ + gc docs: modernize the advice for manually running "gc"
52
36
- "git mergetool" learned to offer Sublime Merge (smerge) as one of
37
- its backends.
53
+ Update docs around "gc".
54
55
40
-* dl/flex-str-cocci (2019-04-04) 2 commits
41
- (merged to 'next' on 2019-04-16 at e5cb2927b3)
42
- + cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR
43
- + midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR
56
+* ab/gc-reflog (2019-04-01) 7 commits
57
+ (merged to 'next' on 2019-04-16 at aa27f951a8)
58
+ + gc: handle & check gc.reflogExpire config
59
+ + reflog tests: assert lack of early exit with expiry="never"
60
+ + reflog tests: test for the "points nowhere" warning
61
+ + reflog tests: make use of "test_config" idiom
62
+ + gc: refactor a "call me once" pattern
63
+ + gc: convert to using the_hash_algo
64
+ + gc: remove redundant check for gc_auto_threshold
65
45
- Code clean-up.
66
+ Fix various glitches in "git gc" around reflog handling.
67
+
68
+
69
+* ab/test-lib-pass-trace2-env (2019-04-01) 1 commit
70
+ (merged to 'next' on 2019-04-16 at 4dad6d6d7a)
71
+ + test-lib: whitelist GIT_TR2_* in the environment
72
73
+ Allow tracing of Git executable while running the testsuite.
74
48
-* js/check-docs-exe (2019-04-01) 5 commits
49
- (merged to 'next' on 2019-04-16 at 98570caa8c)
50
- + check-docs: fix for setups where executables have an extension
51
- + check-docs: do not expect guide pages to correspond to commands
52
- + check-docs: really look at the documented commands again
53
- + docs: do not document the `git remote-testgit` command
54
- + docs: move gitremote-helpers into section 7
55
- (this branch is used by js/misc-doc-fixes.)
56
-
57
- Dev support update.
58
-
59
-
60
-* js/spell-out-options-in-tests (2019-04-15) 8 commits
61
- (merged to 'next' on 2019-04-16 at 1cfd7698b6)
62
- + tests: disallow the use of abbreviated options (by default)
63
- + tests (pack-objects): use the full, unabbreviated `--revs` option
64
- + tests (status): spell out the `--find-renames` option in full
65
- + tests (push): do not abbreviate the `--follow-tags` option
66
- + t5531: avoid using an abbreviated option
67
- + t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
68
- + tests (rebase): spell out the `--force-rebase` option
69
- + tests (rebase): spell out the `--keep-empty` option
70
- (this branch is tangled with dl/rebase-i-keep-base.)
71
-
72
- The tests have been updated not to rely on the abbreviated option
73
- names the parse-options API offers, to protect us from an
74
- abbreviated form of an option that used to be unique within the
75
- command getting non-unique when a new option that share the same
76
- prefix is added.
77
-
78
-
79
-* js/stash-in-c-pathspec-fix (2019-03-12) 3 commits
80
- (merged to 'next' on 2019-03-20 at e81d08af7a)
81
- + stash: pass pathspec as pointer
82
- + built-in stash: handle :(glob) pathspecs again
83
- + legacy stash: fix "rudimentary backport of -q"
84
- (this branch uses ps/stash-in-c; is tangled with tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
85
-
86
- Further fixes to "git stash" reimplemented in C.
87
-
88
-
89
-* nd/include-if-wildmatch (2019-04-01) 1 commit
90
- (merged to 'next' on 2019-04-16 at db8b6a578a)
91
- + config: correct '**' matching in includeIf patterns
92
-
93
- A buglet in configuration parser has been fixed.
94
-
95
-
96
-* nd/interpret-trailers-docfix (2019-04-01) 1 commit
97
- (merged to 'next' on 2019-04-16 at 6a57abc7e6)
98
- + interpret-trailers.txt: start the desc line with a capital letter
99
-
100
- Doc update.
101
-
102
-
103
-* nd/read-tree-reset-doc (2019-04-02) 1 commit
104
- (merged to 'next' on 2019-04-16 at f2bef91774)
105
- + read-tree.txt: clarify --reset and worktree changes
106
-
107
- The documentation for "git read-tree --reset -u" has been updated.
108
-
109
-
110
-* ps/stash-in-c (2019-03-07) 29 commits
111
- (merged to 'next' on 2019-03-11 at f568e3be72)
112
- + tests: add a special setup where stash.useBuiltin is off
113
- + stash: optionally use the scripted version again
114
- + stash: add back the original, scripted `git stash`
115
- + stash: convert `stash--helper.c` into `stash.c`
116
- + stash: replace all `write-tree` child processes with API calls
117
- + stash: optimize `get_untracked_files()` and `check_changes()`
118
- + stash: convert save to builtin
119
- + stash: make push -q quiet
120
- + stash: convert push to builtin
121
- + stash: convert create to builtin
122
- + stash: convert store to builtin
123
- + stash: convert show to builtin
124
- + stash: convert list to builtin
125
- + stash: convert pop to builtin
126
- + stash: convert branch to builtin
127
- + stash: convert drop and clear to builtin
128
- + stash: convert apply to builtin
129
- + stash: mention options in `show` synopsis
130
- + stash: add tests for `git stash show` config
131
- + stash: rename test cases to be more descriptive
132
- + t3903: add test for --intent-to-add file
133
- + t3903: modernize style
134
- + stash: improve option parsing test coverage
135
- + ident: don't require calling prepare_fallback_ident first
136
- + ident: add the ability to provide a "fallback identity"
137
- + strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`
138
- + strbuf.c: add `strbuf_join_argv()`
139
- + sha1-name.c: add `get_oidf()` which acts like `get_oid()`
140
- + Merge branch 'sd/stash-wo-user-name'
141
- (this branch is used by js/stash-in-c-pathspec-fix, tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
142
-
143
- Originally merged to 'next' on 2019-03-07
144
-
145
- "git stash" rewritten in C.
146
-
147
-
148
-* sg/asciidoctor-in-ci (2019-04-05) 6 commits
149
- (merged to 'next' on 2019-04-16 at efdf919c16)
150
- + ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job
151
- + ci: stick with Asciidoctor v1.5.8 for now
152
- + ci: install Asciidoctor in 'ci/install-dependencies.sh'
153
- + Documentation/technical/protocol-v2.txt: fix formatting
154
- + Documentation/technical/api-config.txt: fix formatting
155
- + Documentation/git-diff-tree.txt: fix formatting
156
-
157
- Update our support to format documentation in the CI environment,
158
- either with AsciiDoc ro Asciidoctor.
159
-
160
-
161
-* tb/stash-in-c-unused-param-fix (2019-03-11) 1 commit
162
- (merged to 'next' on 2019-03-20 at 5ccac5f80d)
163
- + stash: drop unused parameter
164
- (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tg/stash-in-c-show-default-to-p-fix.)
75
166
- Code clean-up.
76
+* ag/sequencer-reduce-rewriting-todo (2019-03-07) 18 commits
77
+ (merged to 'next' on 2019-04-10 at 7eab7c7800)
78
+ + rebase--interactive: move transform_todo_file()
79
+ + sequencer: use edit_todo_list() in complete_action()
80
+ + rebase-interactive: rewrite edit_todo_list() to handle the initial edit
81
+ + rebase-interactive: append_todo_help() changes
82
+ + rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
83
+ + sequencer: refactor skip_unnecessary_picks() to work on a todo_list
84
+ + rebase--interactive: move rearrange_squash_in_todo_file()
85
+ + rebase--interactive: move sequencer_add_exec_commands()
86
+ + sequencer: change complete_action() to use the refactored functions
87
+ + sequencer: make sequencer_make_script() write its script to a strbuf
88
+ + sequencer: refactor rearrange_squash() to work on a todo_list
89
+ + sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
90
+ + sequencer: refactor check_todo_list() to work on a todo_list
91
+ + sequencer: introduce todo_list_write_to_file()
92
+ + sequencer: refactor transform_todos() to work on a todo_list
93
+ + sequencer: remove the 'arg' field from todo_item
94
+ + sequencer: make the todo_list structure public
95
+ + sequencer: changes in parse_insn_buffer()
96
+ (this branch is used by pw/rebase-i-internal.)
97
+
98
+ The scripted version of "git rebase -i" wrote and rewrote the todo
99
+ list many times during a single step of its operation, and the
100
+ recent C-rewrite made a faithful conversion of the logic to C. The
101
+ implementation has been updated to carry necessary information
102
+ around in-core to avoid rewriting the same file over and over
103
+ unnecessarily.
104
+ cf. <20190305191805.13561-1-alban.gruin@gmail.com> (v8)
105
+
106
+
107
+* bc/hash-transition-16 (2019-04-01) 35 commits
108
+ (merged to 'next' on 2019-04-16 at 8227fea6fa)
109
+ + gitweb: make hash size independent
110
+ + Git.pm: make hash size independent
111
+ + read-cache: read data in a hash-independent way
112
+ + dir: make untracked cache extension hash size independent
113
+ + builtin/difftool: use parse_oid_hex
114
+ + refspec: make hash size independent
115
+ + archive: convert struct archiver_args to object_id
116
+ + builtin/get-tar-commit-id: make hash size independent
117
+ + get-tar-commit-id: parse comment record
118
+ + hash: add a function to lookup hash algorithm by length
119
+ + remote-curl: make hash size independent
120
+ + http: replace sha1_to_hex
121
+ + http: compute hash of downloaded objects using the_hash_algo
122
+ + http: replace hard-coded constant with the_hash_algo
123
+ + http-walker: replace sha1_to_hex
124
+ + http-push: remove remaining uses of sha1_to_hex
125
+ + http-backend: allow 64-character hex names
126
+ + http-push: convert to use the_hash_algo
127
+ + builtin/pull: make hash-size independent
128
+ + builtin/am: make hash size independent
129
+ + fast-import: replace sha1_to_hex
130
+ + fast-import: make hash-size independent
131
+ + builtin/name-rev: make hash-size independent
132
+ + object-store: rename and expand packed_git's sha1 member
133
+ + notes: replace sha1_to_hex
134
+ + notes: make hash size independent
135
+ + notes-merge: switch to use the_hash_algo
136
+ + submodule: avoid hard-coded constants
137
+ + pack-bitmap: switch hash tables to use struct object_id
138
+ + pack-bitmap: switch hard-coded constants to the_hash_algo
139
+ + pack-bitmap: replace sha1_to_hex
140
+ + pack-bitmap: convert struct stored_bitmap to object_id
141
+ + pack-bitmap: make bitmap header handling hash agnostic
142
+ + khash: move oid hash table definition
143
+ + t/lib-submodule-update: use appropriate length constant
144
+
145
+ Conversion from unsigned char[20] to struct object_id continues.
146
+
147
+
148
+* bc/send-email-qp-cr (2019-04-14) 1 commit
149
+ (merged to 'next' on 2019-04-22 at 69398b0ea8)
150
+ + send-email: default to quoted-printable when CR is present
151
+
152
+ "git send-email" has been taught to use quoted-printable when the
153
+ payload contains carriage-return. The use of the mechanism is in
154
+ line with the design originally added the codepath that chooses QP
155
+ when the payload has overly long lines.
156
+
157
+
158
+* bp/post-index-change-hook (2019-02-15) 1 commit
159
+ (merged to 'next' on 2019-03-11 at cb96d1d7c4)
160
+ + read-cache: add post-index-change hook
161
+
162
+ Originally merged to 'next' on 2019-02-23
163
+
164
+ A new hook "post-index-change" is called when the on-disk index
165
+ file changes, which can help e.g. a virtualized working tree
166
+ implementation.
167
+
168
+
169
+* bs/sendemail-tighten-anything-by (2019-04-04) 1 commit
170
+ (merged to 'next' on 2019-04-22 at 0a0680f234)
171
+ + send-email: don't cc *-by lines with '-' prefix
172
+
173
+ The recently added feature to add addresses that are on
174
+ anything-by: trailers in 'git send-email' was found to be way too
175
+ eager and considered nonsense strings as if they can be legitimate
176
+ beginning of *-by: trailer. This has been tightened.
177
+
178
+
179
+* dk/blame-keep-origin-blob (2019-04-03) 1 commit
180
+ (merged to 'next' on 2019-04-16 at 39679dde8b)
181
+ + blame.c: don't drop origin blobs as eagerly
182
+
183
+ Performance fix around "git blame", especially in a linear history
184
+ (which is the norm we should optimize for).
185
+
186
+
187
+* dl/submodule-set-branch (2019-04-10) 3 commits
188
+ (merged to 'next' on 2019-04-22 at 3b640715ae)
189
+ + submodule: teach set-branch subcommand
190
+ + submodule--helper: teach config subcommand --unset
191
+ + git-submodule.txt: "--branch <branch>" option defaults to 'master'
192
+
193
+ "git submodule" learns "set-branch" subcommand that allows the
194
+ submodule.*.branch settings to be modified.
195
196
169
-* tg/stash-in-c-show-default-to-p-fix (2019-03-21) 1 commit
170
- (merged to 'next' on 2019-04-10 at 9489a31a36)
171
- + stash: setup default diff output format if necessary
172
- (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tb/stash-in-c-unused-param-fix.)
197
+* en/fast-import-parsing-fix (2019-04-01) 5 commits
198
+ (merged to 'next' on 2019-04-16 at b318831bde)
199
+ + fast-import: fix erroneous handling of get-mark with empty orphan commits
200
+ + fast-import: only allow cat-blob requests where it makes sense
201
+ + fast-import: check most prominent commands first
202
+ + git-fast-import.txt: fix wording about where ls command can appear
203
+ + t9300: demonstrate bug with get-mark and empty orphan commits
204
174
- A regression fix.
205
+ "git fast-import" update.
206
207
177
-* tz/asciidoctor-fixes (2019-04-01) 2 commits
178
- (merged to 'next' on 2019-04-16 at 0cb17f579b)
179
- + Documentation/git-status: fix titles in porcelain v2 section
180
- + Documentation/rev-list-options: wrap --date=<format> block with "--"
208
+* jc/gettext-test-fix (2019-04-15) 1 commit
209
+ (merged to 'next' on 2019-04-22 at 7c57deeb04)
210
+ + gettext tests: export the restored GIT_TEST_GETTEXT_POISON
211
+
212
+ The GETTEXT_POISON test option has been quite broken ever since it
213
+ was made runtime-tunable, which has been fixed.
214
+
215
+
216
+* jk/fetch-reachability-error-fix (2019-04-15) 7 commits
217
+ (merged to 'next' on 2019-04-22 at b4ce8375c0)
218
+ + fetch: do not consider peeled tags as advertised tips
219
+ + remote.c: make singular free_ref() public
220
+ + fetch: use free_refs()
221
+ + pkt-line: prepare buffer before handling ERR packets
222
+ + upload-pack: send ERR packet for non-tip objects
223
+ + t5530: check protocol response for "not our ref"
224
+ + t5516: drop ok=sigpipe from unreachable-want tests
225
+
226
+ Code clean-up and a fix for "git fetch" by an explicit object name
227
+ (as opposed to fetching refs by name).
228
+
229
+
230
+* jk/revision-rewritten-parents-in-prio-queue (2019-04-04) 1 commit
231
+ (merged to 'next' on 2019-04-16 at bdc1465128)
232
+ + revision: use a prio_queue to hold rewritten parents
233
+
234
+ Performance fix for "rev-list --parents -- pathspec".
235
+
236
+
237
+* jk/server-info-rabbit-hole (2019-04-16) 13 commits
238
+ (merged to 'next' on 2019-04-16 at 3dded8be9a)
239
+ + update_info_refs(): drop unused force parameter
240
+ + server-info: drop objdirlen pointer arithmetic
241
+ + server-info: drop nr_alloc struct member
242
+ + server-info: use strbuf to read old info/packs file
243
+ + server-info: simplify cleanup in parse_pack_def()
244
+ + server-info: fix blind pointer arithmetic
245
+ + http: simplify parsing of remote objects/info/packs
246
+ + packfile: fix pack basename computation
247
+ + midx: check both pack and index names for containment
248
+ + t5319: drop useless --buffer from cat-file
249
+ + t5319: fix bogus cat-file argument
250
+ + pack-revindex: open index if necessary
251
+ + packfile.h: drop extern from function declarations
252
+
253
+ Code clean-up around a much-less-important-than-it-used-to-be
254
+ update_server_info() funtion.
255
+
256
+
257
+* jk/unused-params-even-more (2019-03-21) 13 commits
258
+ (merged to 'next' on 2019-04-10 at 12edf8872f)
259
+ + parse_opt_ref_sorting: always use with NONEG flag
260
+ + pretty: drop unused strbuf from parse_padding_placeholder()
261
+ + pretty: drop unused "type" parameter in needs_rfc2047_encoding()
262
+ + parse-options: drop unused ctx parameter from show_gitcomp()
263
+ + fetch_pack(): drop unused parameters
264
+ + report_path_error(): drop unused prefix parameter
265
+ + unpack-trees: drop unused error_type parameters
266
+ + unpack-trees: drop name_entry from traverse_by_cache_tree()
267
+ + test-date: drop unused "now" parameter from parse_dates()
268
+ + update-index: drop unused prefix_length parameter from do_reupdate()
269
+ + log: drop unused "len" from show_tagger()
270
+ + log: drop unused rev_info from early output
271
+ + revision: drop some unused "revs" parameters
272
+
273
+ Code cleanup.
274
+
275
+
276
+* jk/xmalloc (2019-04-12) 4 commits
277
+ (merged to 'next' on 2019-04-22 at 1a907289fa)
278
+ + progress: use xmalloc/xcalloc
279
+ + xdiff: use xmalloc/xrealloc
280
+ + xdiff: use git-compat-util
281
+ + test-prio-queue: use xmalloc
282
+
283
+ The code is updated to check the result of memory allocation before
284
+ it is used in more places, by using xmalloc and/or xcalloc calls.
285
+
286
+
287
+* js/difftool-no-index (2019-03-18) 3 commits
288
+ (merged to 'next' on 2019-04-16 at 7313f9ff18)
289
+ + difftool: allow running outside Git worktrees with --no-index
290
+ + parse-options: make OPT_ARGUMENT() more useful
291
+ + difftool: remove obsolete (and misleading) comment
292
+
293
+ "git difftool" can now run outside a repository.
294
+
295
+
296
+* js/iso8895-test-on-apfs (2019-04-15) 1 commit
297
+ (merged to 'next' on 2019-04-22 at c2fadead33)
298
+ + t9822: skip tests if file names cannot be ISO-8859-1 encoded
299
+
300
+ Test fix on APFS that is incapable of store paths in Latin-1.
301
+
302
+
303
+* js/macos-gettext-build (2019-04-15) 1 commit
304
+ (merged to 'next' on 2019-04-22 at de4cbb1431)
305
+ + macOS: make sure that gettext is found
306
+
307
+ Build with gettext breaks on recent macOS w/ Homebrew when
308
+ /usr/local/bin is not on PATH, which has been corrected.
309
+
310
+
311
+* js/t3301-unbreak-notes-test (2019-04-09) 1 commit
312
+ (merged to 'next' on 2019-04-22 at a015b00bd9)
313
+ + t3301: fix false negative
314
+
315
+ Test fix.
316
+
317
+
318
+* js/untracked-cache-allocfix (2019-04-12) 1 commit
319
+ (merged to 'next' on 2019-04-22 at 004a544075)
320
+ + untracked cache: fix off-by-one
321
+ (this branch is used by jk/untracked-cache-more-fixes.)
322
+
323
+ An underallocation in the code to read the untracked cache
324
+ extension has been corrected.
325
+
326
+
327
+* jt/batch-fetch-blobs-in-diff (2019-04-08) 2 commits
328
+ (merged to 'next' on 2019-04-22 at 0598bae567)
329
+ + diff: batch fetching of missing blobs
330
+ + sha1-file: support OBJECT_INFO_FOR_PREFETCH
331
+ (this branch is used by cc/multi-promisor.)
332
+
333
+ While running "git diff" in a lazy clone, we can upfront know which
334
+ missing blobs we will need, instead of waiting for the on-demand
335
+ machinery to discover them one by one. Aim to achieve better
336
+ performance by batching the request for these promised blobs.
337
+
338
+
339
+* jt/fetch-no-update-shallow-in-proto-v2 (2019-04-01) 3 commits
340
+ (merged to 'next' on 2019-04-16 at 05c5ebe471)
341
+ + fetch-pack: respect --no-update-shallow in v2
342
+ + fetch-pack: call prepare_shallow_info only if v0
343
+ + Merge branch 'jt/test-protocol-version' into jt/fetch-no-update-shallow-in-proto-v2
344
+
345
+ Fix for protocol v2 support in "git fetch-pack" of shallow clones.
346
+
347
+
348
+* jt/fetch-pack-wanted-refs-optim (2019-04-01) 1 commit
349
+ (merged to 'next' on 2019-04-16 at 051f6bd38a)
350
+ + fetch-pack: binary search when storing wanted-refs
351
+
352
+ Performance fix around "git fetch" that grabs many refs.
353
+
354
+
355
+* km/t3000-retitle (2019-04-12) 1 commit
356
+ (merged to 'next' on 2019-04-22 at 2d5aa01ca6)
357
+ + t3000 (ls-files -o): widen description to reflect current tests
358
+
359
+ A test update.
360
+
361
+
362
+* nd/checkout-m (2019-03-24) 4 commits
363
+ (merged to 'next' on 2019-04-16 at 4d7c322bed)
364
+ + checkout: prevent losing staged changes with --merge
365
+ + read-tree: add --quiet
366
+ + unpack-trees: rename "gently" flag to "quiet"
367
+ + unpack-trees: keep gently check inside add_rejected_path
368
+
369
+ "git checkout -m <other>" was about carrying the differences
370
+ between HEAD and the working-tree files forward while checking out
371
+ another branch, and ignored the differences between HEAD and the
372
+ index. The command has been taught to abort when the index and the
373
+ HEAD are different.
374
+
375
+
376
+* nd/commit-a-with-paths-msg-update (2019-03-22) 1 commit
377
+ (merged to 'next' on 2019-04-16 at a36c712b39)
378
+ + commit: improve error message in "-a <paths>" case
379
+
380
+ The message given when "git commit -a <paths>" errors out has been
381
+ updated.
382
+
383
+
384
+* nd/diff-parseopt-4 (2019-03-24) 20 commits
385
+ (merged to 'next' on 2019-04-10 at 893b135f10)
386
+ + am: avoid diff_opt_parse()
387
+ + diff --no-index: use parse_options() instead of diff_opt_parse()
388
+ + range-diff: use parse_options() instead of diff_opt_parse()
389
+ + diff.c: allow --no-color-moved-ws
390
+ + diff-parseopt: convert --color-moved-ws
391
+ + diff-parseopt: convert --[no-]color-moved
392
+ + diff-parseopt: convert --inter-hunk-context
393
+ + diff-parseopt: convert --no-prefix
394
+ + diff-parseopt: convert --line-prefix
395
+ + diff-parseopt: convert --[src|dst]-prefix
396
+ + diff-parseopt: convert --[no-]abbrev
397
+ + diff-parseopt: convert --diff-filter
398
+ + diff-parseopt: convert --find-object
399
+ + diff-parseopt: convert -O
400
+ + diff-parseopt: convert --pickaxe-all|--pickaxe-regex
401
+ + diff-parseopt: convert -S|-G
402
+ + diff-parseopt: convert -l
403
+ + diff-parseopt: convert -z
404
+ + diff-parseopt: convert --ita-[in]visible-in-index
405
+ + diff-parseopt: convert --ws-error-highlight
406
+
407
+ Fourth batch to teach the diff machinery to use the parse-options
408
+ API.
409
+
410
+
411
+* nd/submodule-foreach-quiet (2019-04-15) 1 commit
412
+ (merged to 'next' on 2019-04-22 at bf982bca7b)
413
+ + submodule foreach: fix "<command> --quiet" not being respected
414
+
415
+ "git submodule foreach <command> --quiet" did not pass the option
416
+ down correctly, which has been corrected.
417
+
418
+
419
+* po/describe-not-necessarily-7 (2019-04-08) 1 commit
420
+ (merged to 'next' on 2019-04-22 at 65b47ca73f)
421
+ + describe doc: remove '7-char' abbreviation reference
422
+
423
+ Docfix.
424
+
425
+
426
+* po/rerere-doc-fmt (2019-04-08) 1 commit
427
+ (merged to 'next' on 2019-04-22 at 780c0d2450)
428
+ + rerere doc: quote `rerere.enabled`
429
+
430
+ Docfix.
431
+
432
+
433
+* pw/cherry-pick-continue (2019-03-18) 3 commits
434
+ (merged to 'next' on 2019-04-16 at 1bfd7a7179)
435
+ + cherry-pick --continue: remember options
436
+ + cherry-pick: demonstrate option amnesia
437
+ + sequencer: break some long lines
438
+
439
+ "git cherry-pick --options A..B", after giving control back to the
440
+ user to ask help resolving a conflicted step, did not honor the
441
+ options it originally received, which has been corrected.
442
+
443
+
444
+* sg/blame-in-bare-start-at-head (2019-04-08) 1 commit
445
+ (merged to 'next' on 2019-04-22 at 159777c280)
446
+ + blame: default to HEAD in a bare repo when no start commit is given
447
+
448
+ "git blame -- path" in a non-bare repository starts blaming from
449
+ the working tree, and the same command in a bare repository errors
450
+ out because there is no working tree by definition. The command
451
+ has been taught to instead start blaming from the commit at HEAD,
452
+ which is more useful.
453
+
454
+
455
+* sg/index-pack-progress (2019-04-01) 1 commit
456
+ (merged to 'next' on 2019-04-16 at a10bfdd950)
457
+ + index-pack: show progress while checking objects
458
+
459
+ A progress indicator has been added to the "index-pack" step, which
460
+ often makes users wait for completion during "git clone".
461
182
- Doc updates.
462
184
---------------------------------------------------
185
-[New Topics]
463
+* sg/overlong-progress-fix (2019-04-15) 4 commits
464
+ (merged to 'next' on 2019-04-22 at 69921cdf09)
465
+ + progress: break too long progress bar lines
466
+ + progress: clear previous progress update dynamically
467
+ + progress: assemble percentage and counters in a strbuf before printing
468
+ + progress: make display_progress() return void
469
187
-* es/first-contrib-tutorial (2019-04-21) 1 commit
188
- - documentation: add lab for first contribution
470
+ Updating the display with progress message has been cleaned up to
471
+ deal better with overlong messages.
472
190
- A WIP of a new tutorial targetting specifically aspiring git-core
191
- developers.
473
474
+* sg/test-atexit (2019-03-14) 11 commits
475
+ (merged to 'next' on 2019-04-10 at 7839135291)
476
+ + t9811-git-p4-label-import: fix pipeline negation
477
+ + git p4 test: disable '-x' tracing in the p4d watchdog loop
478
+ + git p4 test: simplify timeout handling
479
+ + git p4 test: clean up the p4d cleanup functions
480
+ + git p4 test: use 'test_atexit' to kill p4d and the watchdog process
481
+ + t0301-credential-cache: use 'test_atexit' to stop the credentials helper
482
+ + tests: use 'test_atexit' to stop httpd
483
+ + git-daemon: use 'test_atexit` to stop 'git-daemon'
484
+ + test-lib: introduce 'test_atexit'
485
+ + t/lib-git-daemon: make sure to kill the 'git-daemon' process
486
+ + test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
487
194
-* pw/clean-sequencer-state-upon-final-commit (2019-04-17) 2 commits
195
- - fix cherry-pick/revert status after commit
196
- - commit/reset: try to clean up sequencer state
488
+ Test framework update to more robustly clean up leftover files and
489
+ processes after tests are done.
490
198
- "git chery-pick" (and "revert" that shares the same runtime engine)
199
- that deals with multiple commits got confused when the final step
200
- gets stopped with a conflict and the user concluded the sequence
201
- with "git commit". Attempt to fix it by cleaning up the state
202
- files used by these commands in such a situation.
491
204
- Will merge to 'next'.
492
+* tg/ls-files-debug-format-fix (2019-04-08) 1 commit
493
+ (merged to 'next' on 2019-04-22 at a5ac1ca49f)
494
+ + ls-files: use correct format string
495
496
+ Debugging code fix.
497
207
-* pw/sequencer-cleanup-with-signoff-x-fix (2019-04-18) 1 commit
208
- - sequencer: fix cleanup with --signoff and -x
209
- (this branch is used by dl/merge-cleanup-scissors-fix.)
498
211
- "git cherry-pick" run with the "-x" or the "--signoff" option used
212
- to (and more importantly, ought to) clean up the commit log message
213
- with the --cleanup=space option by default, but this has been
214
- broken since late 2017. This has been fixed.
499
+* tz/doc-apostrophe-no-longer-needed (2019-04-10) 1 commit
500
+ (merged to 'next' on 2019-04-22 at 8ff03863ce)
501
+ + Documentation/git-show-branch: avoid literal {apostrophe}
502
216
- Will merge to 'next'.
503
+ Doc formatting fix.
504
505
+--------------------------------------------------
506
+[New Topics]
507
219
-* dr/ref-filter-push-track-fix (2019-04-18) 1 commit
220
- - ref-filter: use correct branch for %(push:track)
508
+* jc/make-dedup-ls-files-output (2019-04-22) 1 commit
509
+ - Makefile: dedup list of files obtained from ls-files
510
222
- %(push:track) token used in the --format option to "git
223
- for-each-ref" and friends was not showing the right branch, which
224
- has been fixed.
511
+ A "ls-files" that emulates "find" to enumerate files in the working
512
+ tree resulted in duplicated Makefile rules that caused the build to
513
+ issue an unnecessary warning during a trial build after merge
514
+ conflicts are resolved in working tree *.h files but before the
515
+ resolved results are added to the index. This has been corrected.
516
517
Will merge to 'next'.
518
+ A not-so-low hanging fruit to teach ls-files to dedup either optionally
519
+ or always has also been discussed, which probably is a good idea,
520
+ to prevent mistakes similar to the bug this topic fixes in the future.
521
522
229
-* cc/aix-has-fileno-as-a-macro (2019-04-19) 1 commit
230
- - Makefile: use fileno macro work around on AIX
523
+* jk/ls-files-doc-markup-fix (2019-04-23) 1 commit
524
+ - doc/ls-files: put nested list for "-t" option into block
525
232
- AIX shared the same build issues with other BSDs around fileno(fp),
233
- which has been corrected.
526
+ Docfix.
527
528
Will merge to 'next'.
529
530
238
-* jk/prune-optim (2019-04-19) 1 commit
239
- - t5304: add a test for pruning with bitmaps
531
+* jk/p5302-avoid-collision-check-cost (2019-04-23) 1 commit
532
+ - p5302: create the repo in each index-pack test
533
241
- A follow-up test for an earlier "git prune" improvements.
534
+ Fix index-pack perf test so that the repeated invocations always
535
+ run in an empty repository, which emulates the initial clone
536
+ situation better.
537
538
Will merge to 'next'.
539
540
246
-* jk/untracked-cache-more-fixes (2019-04-19) 3 commits
247
- - untracked-cache: simplify parsing by dropping "len"
248
- - untracked-cache: simplify parsing by dropping "next"
249
- - untracked-cache: be defensive about missing NULs in index
250
- (this branch uses js/untracked-cache-allocfix.)
541
+* dl/rev-tilde-doc-clarify (2019-04-24) 1 commit
542
+ - revisions.txt: mention <rev>~ form
543
252
- Code clean-up.
544
+ Docfix.
545
546
Will merge to 'next'.
547
548
257
-* jt/submodule-repo-is-with-worktree (2019-04-21) 1 commit
258
- - worktree: update is_bare heuristics
549
+* en/unicode-in-refnames (2019-04-24) 1 commit
550
+ - Honor core.precomposeUnicode in more places
551
260
- The logic to tell if a Git repository has a working tree protects
261
- "git branch -D" from removing the branch that is currently checked
262
- out by mistake. The implementation of this logic was broken for
263
- repositories with unusual name, which unfortunately is the norm for
264
- submodules these days. This has been fixed.
552
+ The names of the refs stored as filesystem entities may become
553
+ different from what the end-user expects, just like files in the
554
+ working tree gets "renamed", on a filesystem like HFS+. Work it
555
+ around by paying attemption to the core.precomposeUnicode
556
+ configuration.
557
266
- Will merge to 'next'.
558
+ Looked sensible. Ready for next?
559
560
269
-* vk/autoconf-gettext (2019-04-19) 1 commit
270
- - autoconf: #include <libintl.h> when checking for gettext()
561
+* jk/perf-aggregate-wo-libjson (2019-04-24) 1 commit
562
+ - t/perf: depend on perl JSON only when using --codespeed
563
272
- The autoconf generated configure script failed to use the right
273
- gettext() implementations from -libintl by ignoring useless stub
274
- implementations shipped in some C library, which has been
564
+ The script to aggregate perf result unconditionally depended on
565
+ libjson-perl even though it did not have to, which has been
566
corrected.
567
568
Will merge to 'next'.
569
570
280
-* dl/no-extern-in-func-decl (2019-04-21) 4 commits
281
- - cocci: prevent extern function declarations
282
- - *.[ch]: manually align parameter lists
283
- - *.[ch]: remove extern from function declarations using sed
284
- - *.[ch]: remove extern from function declarations using spatch
285
-
286
- Mechanically and systematically drop "extern" from function
287
- declarlation.
288
-
289
- This is the kind of code churn patch that causes heavy conflicts
290
- with multiple topics in flight, which causes conflicts in slightly
291
- different shape when it gets merged with them in different order.
292
- I've queued it moderately early in 'pu' for the night, and I am
293
- reasonably sure the merge of the topic itself is OK, but I do not
294
- have much confidence in the resolutions of conflicts with other
295
- topics later merged to 'pu'.
296
-
297
-
298
-* js/partial-clone-connectivity-check (2019-04-21) 1 commit
299
- - clone: do faster object check for partial clones
571
+* cc/access-on-aix-workaround (2019-04-25) 1 commit
572
+ - git-compat-util: work around for access(X_OK) under root
573
+ (this branch uses cc/aix-has-fileno-as-a-macro.)
574
301
- During an initial "git clone --depth=..." partial clone, it is
302
- pointless to spend cycles for a large portion of the connectivity
303
- check that enumerates and skips promisor objects (which by
304
- definition is all objects fetched from the other side). This has
305
- been optimized out.
575
307
- Will merge to 'next'.
576
+* dl/difftool-mergetool (2019-04-25) 6 commits
577
+ - difftool: fallback on merge.guitool
578
+ - difftool: make --gui, --tool and --extcmd mutually exclusive
579
+ - mergetool: fallback to tool when guitool unavailable
580
+ - mergetool: use get_merge_tool function
581
+ - t7610: add mergetool --gui tests
582
+ - t7610: unsuppress output
583
584
--------------------------------------------------
585
[Stalled]
@@ -338,7 +613,7 @@ of the repositories listed at
613
WIP for allowing a response to "git fetch" to instruct the bulk of
614
the pack contents to be instead taken from elsewhere (aka CDN).
615
341
- Waiting for the final version.
616
+ Still being discussed.
617
618
619
* js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
@@ -351,25 +626,6 @@ of the repositories listed at
626
cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net>
627
628
354
-* ds/midx-expire-repack (2019-01-27) 10 commits
355
- - midx: add test that 'expire' respects .keep files
356
- - multi-pack-index: test expire while adding packs
357
- - midx: implement midx_repack()
358
- - multi-pack-index: prepare 'repack' subcommand
359
- - multi-pack-index: implement 'expire' subcommand
360
- - midx: refactor permutation logic and pack sorting
361
- - midx: simplify computation of pack name lengths
362
- - multi-pack-index: prepare for 'expire' subcommand
363
- - Docs: rearrange subcommands for multi-pack-index
364
- - repack: refactor pack deletion for future use
365
-
366
- "git multi-pack-index expire/repack" are new subcommands that
367
- consult midx file and are used to drop unused pack files and
368
- coalesce small pack files that are still in use.
369
-
370
- Comments?
371
-
372
-
629
* js/protocol-advertise-multi (2018-12-28) 1 commit
630
- protocol: advertise multiple supported versions
631
@@ -403,165 +659,211 @@ of the repositories listed at
659
--------------------------------------------------
660
[Cooking]
661
406
-* hs/send-email-transferencoding-fix (2019-04-10) 1 commit
407
- - send-email: honor transferencoding config option again
662
+* ds/midx-expire-repack (2019-04-25) 11 commits
663
+ - t5319-multi-pack-index.sh: test batch size zero
664
+ - midx: add test that 'expire' respects .keep files
665
+ - multi-pack-index: test expire while adding packs
666
+ - midx: implement midx_repack()
667
+ - multi-pack-index: prepare 'repack' subcommand
668
+ - multi-pack-index: implement 'expire' subcommand
669
+ - midx: refactor permutation logic and pack sorting
670
+ - midx: simplify computation of pack name lengths
671
+ - multi-pack-index: prepare for 'expire' subcommand
672
+ - Docs: rearrange subcommands for multi-pack-index
673
+ - repack: refactor pack deletion for future use
674
409
- Since "git send-email" learned to take 'auto' as the value for the
410
- transfer-encoding, it by mistake stopped honoring the values given
411
- to the configuration variables sendemail.transferencoding and/or
412
- sendemail.<ident>.transferencoding. Attempt to correct this.
675
+ "git multi-pack-index expire/repack" are new subcommands that
676
+ consult midx file and are used to drop unused pack files and
677
+ coalesce small pack files that are still in use.
678
414
- Not quite.
415
- cf. <xmqq8swi34h5.fsf@gitster-ct.c.googlers.com>
679
+ cf. <20190424151428.170316-1-dstolee@microsoft.com> (v5)
680
681
418
-* jk/xmalloc (2019-04-12) 4 commits
419
- (merged to 'next' on 2019-04-22 at 1a907289fa)
420
- + progress: use xmalloc/xcalloc
421
- + xdiff: use xmalloc/xrealloc
422
- + xdiff: use git-compat-util
423
- + test-prio-queue: use xmalloc
682
+* es/first-contrib-tutorial (2019-04-25) 1 commit
683
+ - documentation: add tutorial for first contribution
684
425
- The code is updated to check the result of memory allocation before
426
- it is used in more places, by using xmalloc and/or xcalloc calls.
685
+ A new tutorial targetting specifically aspiring git-core
686
+ developers.
687
428
- Will merge to 'master'.
688
+ cf. <20190423193410.101803-1-emilyshaffer@google.com> (v4)
689
690
431
-* js/untracked-cache-allocfix (2019-04-12) 1 commit
432
- (merged to 'next' on 2019-04-22 at 004a544075)
433
- + untracked cache: fix off-by-one
434
- (this branch is used by jk/untracked-cache-more-fixes.)
691
+* pw/clean-sequencer-state-upon-final-commit (2019-04-17) 2 commits
692
+ - fix cherry-pick/revert status after commit
693
+ - commit/reset: try to clean up sequencer state
694
436
- An underallocation in the code to read the untracked cache
437
- extension has been corrected.
695
+ "git chery-pick" (and "revert" that shares the same runtime engine)
696
+ that deals with multiple commits got confused when the final step
697
+ gets stopped with a conflict and the user concluded the sequence
698
+ with "git commit". Attempt to fix it by cleaning up the state
699
+ files used by these commands in such a situation.
700
+
701
+ Will merge to 'next'.
702
+
703
+
704
+* pw/sequencer-cleanup-with-signoff-x-fix (2019-04-18) 1 commit
705
+ (merged to 'next' on 2019-04-25 at cc587fb2b9)
706
+ + sequencer: fix cleanup with --signoff and -x
707
+ (this branch is used by dl/merge-cleanup-scissors-fix.)
708
+
709
+ "git cherry-pick" run with the "-x" or the "--signoff" option used
710
+ to (and more importantly, ought to) clean up the commit log message
711
+ with the --cleanup=space option by default, but this has been
712
+ broken since late 2017. This has been fixed.
713
714
Will merge to 'master'.
715
716
442
-* km/t3000-retitle (2019-04-12) 1 commit
443
- (merged to 'next' on 2019-04-22 at 2d5aa01ca6)
444
- + t3000 (ls-files -o): widen description to reflect current tests
717
+* dr/ref-filter-push-track-fix (2019-04-18) 1 commit
718
+ (merged to 'next' on 2019-04-25 at 07db067adc)
719
+ + ref-filter: use correct branch for %(push:track)
720
446
- A test update.
721
+ %(push:track) token used in the --format option to "git
722
+ for-each-ref" and friends was not showing the right branch, which
723
+ has been fixed.
724
725
Will merge to 'master'.
726
727
451
-* bc/send-email-qp-cr (2019-04-14) 1 commit
452
- (merged to 'next' on 2019-04-22 at 69398b0ea8)
453
- + send-email: default to quoted-printable when CR is present
728
+* cc/aix-has-fileno-as-a-macro (2019-04-25) 1 commit
729
+ (merged to 'next' on 2019-04-25 at f1d6464f98)
730
+ + Makefile: use fileno macro work around on AIX
731
+ (this branch is used by cc/access-on-aix-workaround.)
732
455
- "git send-email" has been taught to use quoted-printable when the
456
- payload contains carriage-return. The use of the mechanism is in
457
- line with the design originally added the codepath that chooses QP
458
- when the payload has overly long lines.
733
+ AIX shared the same build issues with other BSDs around fileno(fp),
734
+ which has been corrected.
735
736
Will merge to 'master'.
737
738
463
-* jc/gettext-test-fix (2019-04-15) 1 commit
464
- (merged to 'next' on 2019-04-22 at 7c57deeb04)
465
- + gettext tests: export the restored GIT_TEST_GETTEXT_POISON
739
+* jk/prune-optim (2019-04-19) 1 commit
740
+ (merged to 'next' on 2019-04-25 at c50353b27f)
741
+ + t5304: add a test for pruning with bitmaps
742
467
- The GETTEXT_POISON test option has been quite broken ever since it
468
- was made runtime-tunable, which has been fixed.
743
+ A follow-up test for an earlier "git prune" improvements.
744
745
Will merge to 'master'.
746
747
473
-* jk/fetch-reachability-error-fix (2019-04-15) 7 commits
474
- (merged to 'next' on 2019-04-22 at b4ce8375c0)
475
- + fetch: do not consider peeled tags as advertised tips
476
- + remote.c: make singular free_ref() public
477
- + fetch: use free_refs()
478
- + pkt-line: prepare buffer before handling ERR packets
479
- + upload-pack: send ERR packet for non-tip objects
480
- + t5530: check protocol response for "not our ref"
481
- + t5516: drop ok=sigpipe from unreachable-want tests
748
+* jk/untracked-cache-more-fixes (2019-04-19) 3 commits
749
+ (merged to 'next' on 2019-04-25 at a6037ddd54)
750
+ + untracked-cache: simplify parsing by dropping "len"
751
+ + untracked-cache: simplify parsing by dropping "next"
752
+ + untracked-cache: be defensive about missing NULs in index
753
483
- Code clean-up and a fix for "git fetch" by an explicit object name
484
- (as opposed to fetching refs by name).
754
+ Code clean-up.
755
756
Will merge to 'master'.
757
758
489
-* jk/pack-objects-reports-num-objects-to-trace2 (2019-04-12) 1 commit
490
- - pack-objects: write objects packed to trace2
759
+* jt/submodule-repo-is-with-worktree (2019-04-21) 1 commit
760
+ (merged to 'next' on 2019-04-25 at da2c6d684d)
761
+ + worktree: update is_bare heuristics
762
492
- The "git pack-objects" command learned to report the number of
493
- objects it packed via the trace2 mechanism.
763
+ The logic to tell if a Git repository has a working tree protects
764
+ "git branch -D" from removing the branch that is currently checked
765
+ out by mistake. The implementation of this logic was broken for
766
+ repositories with unusual name, which unfortunately is the norm for
767
+ submodules these days. This has been fixed.
768
495
- Will merge to 'next'.
769
+ Will merge to 'master'.
770
771
498
-* js/iso8895-test-on-apfs (2019-04-15) 1 commit
499
- (merged to 'next' on 2019-04-22 at c2fadead33)
500
- + t9822: skip tests if file names cannot be ISO-8859-1 encoded
772
+* vk/autoconf-gettext (2019-04-19) 1 commit
773
+ (merged to 'next' on 2019-04-25 at 918870cbc2)
774
+ + autoconf: #include <libintl.h> when checking for gettext()
775
502
- Test fix on APFS that is incapable of store paths in Latin-1.
776
+ The autoconf generated configure script failed to use the right
777
+ gettext() implementations from -libintl by ignoring useless stub
778
+ implementations shipped in some C library, which has been
779
+ corrected.
780
781
Will merge to 'master'.
782
783
507
-* js/macos-gettext-build (2019-04-15) 1 commit
508
- (merged to 'next' on 2019-04-22 at de4cbb1431)
509
- + macOS: make sure that gettext is found
784
+* dl/no-extern-in-func-decl (2019-04-24) 4 commits
785
+ - cocci: prevent extern function declarations
786
+ - *.[ch]: manually align parameter lists
787
+ - *.[ch]: remove extern from function declarations using sed
788
+ - *.[ch]: remove extern from function declarations using spatch
789
511
- Build with gettext breaks on recent macOS w/ Homebrew when
512
- /usr/local/bin is not on PATH, which has been corrected.
790
+ Mechanically and systematically drop "extern" from function
791
+ declarlation.
792
+
793
+ Will merge to 'next'.
794
+
795
+ This is the kind of code churn patch that causes heavy conflicts
796
+ with multiple topics in flight, which causes conflicts in slightly
797
+ different shape when it gets merged with them in different order.
798
+ I've queued it moderately early in 'pu' for the night, and I am
799
+ reasonably sure the merge of the topic itself is OK, but I do not
800
+ have much confidence in the resolutions of conflicts with other
801
+ topics later merged to 'pu'.
802
+
803
+
804
+* js/partial-clone-connectivity-check (2019-04-21) 1 commit
805
+ (merged to 'next' on 2019-04-25 at ebd8b4bffd)
806
+ + clone: do faster object check for partial clones
807
+
808
+ During an initial "git clone --depth=..." partial clone, it is
809
+ pointless to spend cycles for a large portion of the connectivity
810
+ check that enumerates and skips promisor objects (which by
811
+ definition is all objects fetched from the other side). This has
812
+ been optimized out.
813
814
Will merge to 'master'.
815
816
517
-* js/misc-doc-fixes (2019-04-19) 8 commits
518
- - Turn `git serve` into a test helper
519
- - test-tool: handle the `-C <directory>` option just like `git`
520
- - check-docs: do not bother checking for legacy scripts' documentation
521
- - docs: exclude documentation for commands that have been excluded
522
- - check-docs: allow command-list.txt to contain excluded commands
523
- - help -a: do not list commands that are excluded from the build
524
- - Makefile: drop the NO_INSTALL variable
525
- - remote-testgit: move it into the support directory for t5801
817
+* hs/send-email-transferencoding-fix (2019-04-10) 1 commit
818
+ - send-email: honor transferencoding config option again
819
527
- "make check-docs", "git help -a", etc. did not account for cases
528
- where a particular build may deliberately omit some subcommands,
529
- which has been corrected.
820
+ Since "git send-email" learned to take 'auto' as the value for the
821
+ transfer-encoding, it by mistake stopped honoring the values given
822
+ to the configuration variables sendemail.transferencoding and/or
823
+ sendemail.<ident>.transferencoding. Attempt to correct this.
824
531
- Will merge to 'next'.
825
+ Not quite.
826
+ cf. <xmqq8swi34h5.fsf@gitster-ct.c.googlers.com>
827
828
534
-* nd/submodule-foreach-quiet (2019-04-15) 1 commit
535
- (merged to 'next' on 2019-04-22 at bf982bca7b)
536
- + submodule foreach: fix "<command> --quiet" not being respected
829
+* jk/pack-objects-reports-num-objects-to-trace2 (2019-04-12) 1 commit
830
+ (merged to 'next' on 2019-04-25 at e79464c054)
831
+ + pack-objects: write objects packed to trace2
832
538
- "git submodule foreach <command> --quiet" did not pass the option
539
- down correctly, which has been corrected.
833
+ The "git pack-objects" command learned to report the number of
834
+ objects it packed via the trace2 mechanism.
835
836
Will merge to 'master'.
837
838
544
-* bs/sendemail-tighten-anything-by (2019-04-04) 1 commit
545
- (merged to 'next' on 2019-04-22 at 0a0680f234)
546
- + send-email: don't cc *-by lines with '-' prefix
839
+* js/misc-doc-fixes (2019-04-19) 8 commits
840
+ (merged to 'next' on 2019-04-25 at 6898f709d0)
841
+ + Turn `git serve` into a test helper
842
+ + test-tool: handle the `-C <directory>` option just like `git`
843
+ + check-docs: do not bother checking for legacy scripts' documentation
844
+ + docs: exclude documentation for commands that have been excluded
845
+ + check-docs: allow command-list.txt to contain excluded commands
846
+ + help -a: do not list commands that are excluded from the build
847
+ + Makefile: drop the NO_INSTALL variable
848
+ + remote-testgit: move it into the support directory for t5801
849
548
- The recently added feature to add addresses that are on
549
- anything-by: trailers in 'git send-email' was found to be way too
550
- eager and considered nonsense strings as if they can be legitimate
551
- beginning of *-by: trailer. This has been tightened.
850
+ "make check-docs", "git help -a", etc. did not account for cases
851
+ where a particular build may deliberately omit some subcommands,
852
+ which has been corrected.
853
854
Will merge to 'master'.
855
856
857
* dl/warn-tagging-a-tag (2019-04-12) 2 commits
557
- - tag: advise on nested tags
558
- - tag: fix formatting
858
+ (merged to 'next' on 2019-04-25 at 8b966d7fe8)
859
+ + tag: advise on nested tags
860
+ + tag: fix formatting
861
862
"git tag" learned to give an advice suggesting it might be a
863
mistake when creating an annotated or signed tag that points at
864
another tag.
865
564
- Will merge to 'next'.
866
+ Will merge to 'master'.
867
868
869
* jc/format-patch-delay-message-id (2019-04-05) 1 commit
@@ -576,47 +878,40 @@ of the repositories listed at
878
Needs tests.
879
880
579
-* jk/revision-rewritten-parents-in-prio-queue (2019-04-04) 1 commit
580
- (merged to 'next' on 2019-04-16 at bdc1465128)
581
- + revision: use a prio_queue to hold rewritten parents
582
-
583
- Performance fix for "rev-list --parents -- pathspec".
584
-
585
- Will merge to 'master'.
586
-
587
-
881
* tb/unexpected (2019-04-10) 7 commits
589
- - rev-list: detect broken root trees
590
- - rev-list: let traversal die when --missing is not in use
591
- - get_commit_tree(): return NULL for broken tree
592
- - list-objects.c: handle unexpected non-tree entries
593
- - list-objects.c: handle unexpected non-blob entries
594
- - t: introduce tests for unexpected object types
595
- - t: move 'hex2oct' into test-lib-functions.sh
882
+ (merged to 'next' on 2019-04-25 at c49927fca0)
883
+ + rev-list: detect broken root trees
884
+ + rev-list: let traversal die when --missing is not in use
885
+ + get_commit_tree(): return NULL for broken tree
886
+ + list-objects.c: handle unexpected non-tree entries
887
+ + list-objects.c: handle unexpected non-blob entries
888
+ + t: introduce tests for unexpected object types
889
+ + t: move 'hex2oct' into test-lib-functions.sh
890
891
Code tightening against a "wrong" object appearing where an object
892
of a different type is expected, instead of blindly assuming that
893
the connection between objects are correctly made.
894
601
- Will merge to 'next'.
895
+ Will merge to 'master'.
896
897
898
* en/merge-directory-renames (2019-04-08) 15 commits
605
- - merge-recursive: switch directory rename detection default
606
- - merge-recursive: give callers of handle_content_merge() access to contents
607
- - merge-recursive: track information associated with directory renames
608
- - t6043: fix copied test description to match its purpose
609
- - merge-recursive: switch from (oid,mode) pairs to a diff_filespec
610
- - merge-recursive: cleanup handle_rename_* function signatures
611
- - merge-recursive: track branch where rename occurred in rename struct
612
- - merge-recursive: remove ren[12]_other fields from rename_conflict_info
613
- - merge-recursive: shrink rename_conflict_info
614
- - merge-recursive: move some struct declarations together
615
- - merge-recursive: use 'ci' for rename_conflict_info variable name
616
- - merge-recursive: rename locals 'o' and 'a' to 'obuf' and 'abuf'
617
- - merge-recursive: rename diff_filespec 'one' to 'o'
618
- - merge-recursive: rename merge_options argument from 'o' to 'opt'
619
- - Use 'unsigned short' for mode, like diff_filespec does
899
+ (merged to 'next' on 2019-04-25 at fd5b4f57b4)
900
+ + merge-recursive: switch directory rename detection default
901
+ + merge-recursive: give callers of handle_content_merge() access to contents
902
+ + merge-recursive: track information associated with directory renames
903
+ + t6043: fix copied test description to match its purpose
904
+ + merge-recursive: switch from (oid,mode) pairs to a diff_filespec
905
+ + merge-recursive: cleanup handle_rename_* function signatures
906
+ + merge-recursive: track branch where rename occurred in rename struct
907
+ + merge-recursive: remove ren[12]_other fields from rename_conflict_info
908
+ + merge-recursive: shrink rename_conflict_info
909
+ + merge-recursive: move some struct declarations together
910
+ + merge-recursive: use 'ci' for rename_conflict_info variable name
911
+ + merge-recursive: rename locals 'o' and 'a' to 'obuf' and 'abuf'
912
+ + merge-recursive: rename diff_filespec 'one' to 'o'
913
+ + merge-recursive: rename merge_options argument from 'o' to 'opt'
914
+ + Use 'unsigned short' for mode, like diff_filespec does
915
916
"git merge-recursive" backend recently learned a new heuristics to
917
infer file movement based on how other files in the same directory
@@ -627,114 +922,37 @@ of the repositories listed at
922
leave the renamed paths in higher/conflicted stages in the index so
923
that the user can examine and confirm the result.
924
630
- Will merge to 'next'.
631
-
632
-
633
-* jk/server-info-rabbit-hole (2019-04-16) 13 commits
634
- (merged to 'next' on 2019-04-16 at 3dded8be9a)
635
- + update_info_refs(): drop unused force parameter
636
- + server-info: drop objdirlen pointer arithmetic
637
- + server-info: drop nr_alloc struct member
638
- + server-info: use strbuf to read old info/packs file
639
- + server-info: simplify cleanup in parse_pack_def()
640
- + server-info: fix blind pointer arithmetic
641
- + http: simplify parsing of remote objects/info/packs
642
- + packfile: fix pack basename computation
643
- + midx: check both pack and index names for containment
644
- + t5319: drop useless --buffer from cat-file
645
- + t5319: fix bogus cat-file argument
646
- + pack-revindex: open index if necessary
647
- + packfile.h: drop extern from function declarations
648
-
649
- Code clean-up around a much-less-important-than-it-used-to-be
650
- update_server_info() funtion.
651
-
925
Will merge to 'master'.
926
927
928
* jt/clone-server-option (2019-04-18) 2 commits
656
- - clone: send server options when using protocol v2
657
- - transport: die if server options are unsupported
929
+ (merged to 'next' on 2019-04-25 at 21f07cc85d)
930
+ + clone: send server options when using protocol v2
931
+ + transport: die if server options are unsupported
932
933
"git clone" learned a new --server-option option when talking over
934
the protocol version 2.
935
662
- Will merge to 'next'.
663
-
664
-
665
-* po/describe-not-necessarily-7 (2019-04-08) 1 commit
666
- (merged to 'next' on 2019-04-22 at 65b47ca73f)
667
- + describe doc: remove '7-char' abbreviation reference
668
-
669
- Docfix.
670
-
671
- Will merge to 'master'.
672
-
673
-
674
-* po/rerere-doc-fmt (2019-04-08) 1 commit
675
- (merged to 'next' on 2019-04-22 at 780c0d2450)
676
- + rerere doc: quote `rerere.enabled`
677
-
678
- Docfix.
679
-
680
- Will merge to 'master'.
681
-
682
-
683
-* sg/blame-in-bare-start-at-head (2019-04-08) 1 commit
684
- (merged to 'next' on 2019-04-22 at 159777c280)
685
- + blame: default to HEAD in a bare repo when no start commit is given
686
-
687
- "git blame -- path" in a non-bare repository starts blaming from
688
- the working tree, and the same command in a bare repository errors
689
- out because there is no working tree by definition. The command
690
- has been taught to instead start blaming from the commit at HEAD,
691
- which is more useful.
692
-
693
- Will merge to 'master'.
694
-
695
-
696
-* tg/ls-files-debug-format-fix (2019-04-08) 1 commit
697
- (merged to 'next' on 2019-04-22 at a5ac1ca49f)
698
- + ls-files: use correct format string
699
-
700
- Debugging code fix.
701
-
702
- Will merge to 'master'.
703
-
704
-
705
-* tz/doc-apostrophe-no-longer-needed (2019-04-10) 1 commit
706
- (merged to 'next' on 2019-04-22 at 8ff03863ce)
707
- + Documentation/git-show-branch: avoid literal {apostrophe}
708
-
709
- Doc formatting fix.
710
-
936
Will merge to 'master'.
937
938
939
* tz/git-svn-doc-markup-fix (2019-04-10) 1 commit
715
- - Documentation/git-svn: improve asciidoctor compatibility
940
+ (merged to 'next' on 2019-04-25 at 3efaa6285c)
941
+ + Documentation/git-svn: improve asciidoctor compatibility
942
943
Doc formatting fix.
944
719
- Will merge to 'next'.
720
-
721
-
722
-* js/t3301-unbreak-notes-test (2019-04-09) 1 commit
723
- (merged to 'next' on 2019-04-22 at a015b00bd9)
724
- + t3301: fix false negative
725
-
726
- Test fix.
727
-
945
Will merge to 'master'.
946
947
948
* ss/msvc-path-utils-fix (2019-04-09) 1 commit
732
- - MSVC: include compat/win32/path-utils.h for MSVC, too, for real_path()
949
+ (merged to 'next' on 2019-04-25 at ee2850da18)
950
+ + MSVC: include compat/win32/path-utils.h for MSVC, too, for real_path()
951
952
An earlier update for MinGW and Cygwin accidentally broke MSVC build,
953
which has been fixed.
954
737
- Will merge to 'next'.
955
+ Will merge to 'master'.
956
957
958
* cc/multi-promisor (2019-04-15) 17 commits
@@ -755,7 +973,6 @@ of the repositories listed at
973
- fetch-object: make functions return an error code
974
- t0410: remove pipes after git commands
975
- Merge branch 'jt/batch-fetch-blobs-in-diff' into cc/multi-promisor
758
- (this branch uses jt/batch-fetch-blobs-in-diff.)
976
977
Teach the lazy clone machinery that there can be more than one
978
promisor remote and consult them in order when downloading missing
@@ -821,21 +1038,6 @@ of the repositories listed at
1038
cf. <20190411131218.19195-1-pclouds@gmail.com> (restore v2)
1039
1040
824
-* ab/gc-reflog (2019-04-01) 7 commits
825
- (merged to 'next' on 2019-04-16 at aa27f951a8)
826
- + gc: handle & check gc.reflogExpire config
827
- + reflog tests: assert lack of early exit with expiry="never"
828
- + reflog tests: test for the "points nowhere" warning
829
- + reflog tests: make use of "test_config" idiom
830
- + gc: refactor a "call me once" pattern
831
- + gc: convert to using the_hash_algo
832
- + gc: remove redundant check for gc_auto_threshold
833
-
834
- Fix various glitches in "git gc" around reflog handling.
835
-
836
- Will merge to 'master'.
837
-
838
-
1041
* ew/repack-with-bitmaps-by-default (2019-03-18) 3 commits
1042
- pack-objects: default to writing bitmap hash-cache
1043
- t5310: correctly remove bitmaps for jgit test
@@ -848,123 +1050,13 @@ of the repositories listed at
1050
Will merge to 'next'.
1051
1052
851
-* js/difftool-no-index (2019-03-18) 3 commits
852
- (merged to 'next' on 2019-04-16 at 7313f9ff18)
853
- + difftool: allow running outside Git worktrees with --no-index
854
- + parse-options: make OPT_ARGUMENT() more useful
855
- + difftool: remove obsolete (and misleading) comment
856
-
857
- "git difftool" can now run outside a repository.
858
-
859
- Will merge to 'master'.
860
-
861
-
862
-* pw/cherry-pick-continue (2019-03-18) 3 commits
863
- (merged to 'next' on 2019-04-16 at 1bfd7a7179)
864
- + cherry-pick --continue: remember options
865
- + cherry-pick: demonstrate option amnesia
866
- + sequencer: break some long lines
867
-
868
- "git cherry-pick --options A..B", after giving control back to the
869
- user to ask help resolving a conflicted step, did not honor the
870
- options it originally received, which has been corrected.
871
-
872
- Will merge to 'master'.
873
-
874
-
875
-* sg/test-atexit (2019-03-14) 11 commits
876
- (merged to 'next' on 2019-04-10 at 7839135291)
877
- + t9811-git-p4-label-import: fix pipeline negation
878
- + git p4 test: disable '-x' tracing in the p4d watchdog loop
879
- + git p4 test: simplify timeout handling
880
- + git p4 test: clean up the p4d cleanup functions
881
- + git p4 test: use 'test_atexit' to kill p4d and the watchdog process
882
- + t0301-credential-cache: use 'test_atexit' to stop the credentials helper
883
- + tests: use 'test_atexit' to stop httpd
884
- + git-daemon: use 'test_atexit` to stop 'git-daemon'
885
- + test-lib: introduce 'test_atexit'
886
- + t/lib-git-daemon: make sure to kill the 'git-daemon' process
887
- + test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
888
-
889
- Test framework update to more robustly clean up leftover files and
890
- processes after tests are done.
891
-
892
- Will merge to 'master'.
893
-
894
-
895
-* jc/format-patch-noclobber (2019-02-22) 1 commit
896
- - format-patch: --no-clobber refrains from overwriting output files
897
-
898
- "git format-patch" used to overwrite an existing patch/cover-letter
899
- file. A new "--no-clobber" option stops it.
900
-
901
- Undecided but inclined to discard.
902
-
903
-
904
-* jk/unused-params-even-more (2019-03-21) 13 commits
905
- (merged to 'next' on 2019-04-10 at 12edf8872f)
906
- + parse_opt_ref_sorting: always use with NONEG flag
907
- + pretty: drop unused strbuf from parse_padding_placeholder()
908
- + pretty: drop unused "type" parameter in needs_rfc2047_encoding()
909
- + parse-options: drop unused ctx parameter from show_gitcomp()
910
- + fetch_pack(): drop unused parameters
911
- + report_path_error(): drop unused prefix parameter
912
- + unpack-trees: drop unused error_type parameters
913
- + unpack-trees: drop name_entry from traverse_by_cache_tree()
914
- + test-date: drop unused "now" parameter from parse_dates()
915
- + update-index: drop unused prefix_length parameter from do_reupdate()
916
- + log: drop unused "len" from show_tagger()
917
- + log: drop unused rev_info from early output
918
- + revision: drop some unused "revs" parameters
919
-
920
- Code cleanup.
921
-
922
- Will merge to 'master'.
923
-
924
-
925
-* ab/commit-graph-fixes (2019-04-01) 8 commits
926
- (merged to 'next' on 2019-04-16 at 97f4ba02f0)
927
- + commit-graph: improve & i18n error messages
928
- + commit-graph write: don't die if the existing graph is corrupt
929
- + commit-graph verify: detect inability to read the graph
930
- + commit-graph: don't pass filename to load_commit_graph_one_fd_st()
931
- + commit-graph: don't early exit(1) on e.g. "git status"
932
- + commit-graph: fix segfault on e.g. "git status"
933
- + commit-graph tests: test a graph that's too small
934
- + commit-graph tests: split up corrupt_graph_and_verify()
935
-
936
- Code cleanup with more careful error checking before using data
937
- read from the commit-graph file.
938
-
939
- Will merge to 'master'.
940
-
941
-
942
-* ab/gc-docs (2019-04-08) 11 commits
943
- (merged to 'next' on 2019-04-22 at 02785d40f5)
944
- + gc docs: remove incorrect reference to gc.auto=0
945
- + gc docs: clarify that "gc" doesn't throw away referenced objects
946
- + gc docs: note "gc --aggressive" in "fast-import"
947
- + gc docs: downplay the usefulness of --aggressive
948
- + gc docs: note how --aggressive impacts --window & --depth
949
- + gc docs: fix formatting for "gc.writeCommitGraph"
950
- + gc docs: re-flow the "gc.*" section in "config"
951
- + gc docs: include the "gc.*" section from "config" in "gc"
952
- + gc docs: clean grammar for "gc.bigPackThreshold"
953
- + gc docs: stop noting "repack" flags
954
- + gc docs: modernize the advice for manually running "gc"
955
-
956
- Update docs around "gc".
957
-
958
- Will merge to 'master'.
959
-
960
-
961
-* ab/test-lib-pass-trace2-env (2019-04-01) 1 commit
962
- (merged to 'next' on 2019-04-16 at 4dad6d6d7a)
963
- + test-lib: whitelist GIT_TR2_* in the environment
1053
+* jc/format-patch-noclobber (2019-02-22) 1 commit
1054
+ - format-patch: --no-clobber refrains from overwriting output files
1055
965
- Allow tracing of Git executable while running the testsuite.
1056
+ "git format-patch" used to overwrite an existing patch/cover-letter
1057
+ file. A new "--no-clobber" option stops it.
1058
967
- Will merge to 'master'.
1059
+ Undecided but inclined to discard.
1060
1061
1062
* am/p4-branches-excludes (2019-04-02) 8 commits
@@ -982,54 +1074,12 @@ of the repositories listed at
1074
Is this ready for 'next'?
1075
1076
985
-* bc/hash-transition-16 (2019-04-01) 35 commits
986
- (merged to 'next' on 2019-04-16 at 8227fea6fa)
987
- + gitweb: make hash size independent
988
- + Git.pm: make hash size independent
989
- + read-cache: read data in a hash-independent way
990
- + dir: make untracked cache extension hash size independent
991
- + builtin/difftool: use parse_oid_hex
992
- + refspec: make hash size independent
993
- + archive: convert struct archiver_args to object_id
994
- + builtin/get-tar-commit-id: make hash size independent
995
- + get-tar-commit-id: parse comment record
996
- + hash: add a function to lookup hash algorithm by length
997
- + remote-curl: make hash size independent
998
- + http: replace sha1_to_hex
999
- + http: compute hash of downloaded objects using the_hash_algo
1000
- + http: replace hard-coded constant with the_hash_algo
1001
- + http-walker: replace sha1_to_hex
1002
- + http-push: remove remaining uses of sha1_to_hex
1003
- + http-backend: allow 64-character hex names
1004
- + http-push: convert to use the_hash_algo
1005
- + builtin/pull: make hash-size independent
1006
- + builtin/am: make hash size independent
1007
- + fast-import: replace sha1_to_hex
1008
- + fast-import: make hash-size independent
1009
- + builtin/name-rev: make hash-size independent
1010
- + object-store: rename and expand packed_git's sha1 member
1011
- + notes: replace sha1_to_hex
1012
- + notes: make hash size independent
1013
- + notes-merge: switch to use the_hash_algo
1014
- + submodule: avoid hard-coded constants
1015
- + pack-bitmap: switch hash tables to use struct object_id
1016
- + pack-bitmap: switch hard-coded constants to the_hash_algo
1017
- + pack-bitmap: replace sha1_to_hex
1018
- + pack-bitmap: convert struct stored_bitmap to object_id
1019
- + pack-bitmap: make bitmap header handling hash agnostic
1020
- + khash: move oid hash table definition
1021
- + t/lib-submodule-update: use appropriate length constant
1022
-
1023
- Conversion from unsigned char[20] to struct object_id continues.
1024
-
1025
- Will merge to 'master'.
1026
-
1027
-
1077
* cc/replace-graft-peel-tags (2019-04-15) 4 commits
1029
- - replace: peel tag when passing a tag first to --graft
1030
- - replace: peel tag when passing a tag as parent to --graft
1031
- - t6050: redirect expected error output to a file
1032
- - t6050: use test_line_count instead of wc -l
1078
+ (merged to 'next' on 2019-04-25 at f8d0db27ba)
1079
+ + replace: peel tag when passing a tag first to --graft
1080
+ + replace: peel tag when passing a tag as parent to --graft
1081
+ + t6050: redirect expected error output to a file
1082
+ + t6050: use test_line_count instead of wc -l
1083
1084
When given a tag that points at a commit-ish, "git replace --graft"
1085
failed to peel the tag before writing a replace ref, which did not
@@ -1037,20 +1087,10 @@ of the repositories listed at
1087
mimick only allowed to replace one commit object with another.
1088
This has been fixed.
1089
1040
- Will merge to 'next'.
1041
-
1042
-
1043
-* dk/blame-keep-origin-blob (2019-04-03) 1 commit
1044
- (merged to 'next' on 2019-04-16 at 39679dde8b)
1045
- + blame.c: don't drop origin blobs as eagerly
1046
-
1047
- Performance fix around "git blame", especially in a linear history
1048
- (which is the norm we should optimize for).
1049
-
1090
Will merge to 'master'.
1091
1092
1053
-* dl/rebase-i-keep-base (2019-04-21) 6 commits
1093
+* dl/rebase-i-keep-base (2019-04-25) 6 commits
1094
- rebase: teach rebase --keep-base
1095
- rebase: fast-forward --fork-point in more cases
1096
- rebase: fast-forward --onto in more cases
@@ -1069,86 +1109,42 @@ of the repositories listed at
1109
Will merge to 'next'.
1110
1111
1072
-* en/fast-import-parsing-fix (2019-04-01) 5 commits
1073
- (merged to 'next' on 2019-04-16 at b318831bde)
1074
- + fast-import: fix erroneous handling of get-mark with empty orphan commits
1075
- + fast-import: only allow cat-blob requests where it makes sense
1076
- + fast-import: check most prominent commands first
1077
- + git-fast-import.txt: fix wording about where ls command can appear
1078
- + t9300: demonstrate bug with get-mark and empty orphan commits
1079
-
1080
- "git fast-import" update.
1081
-
1082
- Will merge to 'master'.
1083
-
1084
-
1112
* jh/trace2-sid-fix (2019-04-16) 10 commits
1086
- - trace2: update docs to describe system/global config settings
1087
- - trace2: make SIDs more unique
1088
- - trace2: clarify UTC datetime formatting
1089
- - trace2: report peak memory usage of the process
1090
- - trace2: use system/global config for default trace2 settings
1091
- - config: add read_very_early_config()
1092
- - trace2: find exec-dir before trace2 initialization
1093
- - trace2: add absolute elapsed time to start event
1094
- - trace2: refactor setting process starting time
1095
- - config: initialize opts structure in repo_read_config()
1113
+ (merged to 'next' on 2019-04-25 at a5c08f1226)
1114
+ + trace2: update docs to describe system/global config settings
1115
+ + trace2: make SIDs more unique
1116
+ + trace2: clarify UTC datetime formatting
1117
+ + trace2: report peak memory usage of the process
1118
+ + trace2: use system/global config for default trace2 settings
1119
+ + config: add read_very_early_config()
1120
+ + trace2: find exec-dir before trace2 initialization
1121
+ + trace2: add absolute elapsed time to start event
1122
+ + trace2: refactor setting process starting time
1123
+ + config: initialize opts structure in repo_read_config()
1124
1125
Polishing of the new trace2 facility continues. The system-level
1126
configuration can specify site-wide trace2 settings, which can be
1127
overridden with per-user configuration and environment variables.
1128
1101
- Will merge to 'next'.
1129
+ Will merge to 'master'.
1130
cf. <pull.169.v4.git.gitgitgadget@gmail.com> (v4)
1131
1132
1133
* js/trace2-to-directory (2019-03-22) 1 commit
1106
- - trace2: write to directory targets
1134
+ (merged to 'next' on 2019-04-25 at 53adf71c41)
1135
+ + trace2: write to directory targets
1136
1137
The trace2 tracing facility learned to auto-generate a filename
1138
when told to log to a directory.
1139
1111
- Will merge to 'next'.
1112
-
1113
-
1114
-* jt/batch-fetch-blobs-in-diff (2019-04-08) 2 commits
1115
- (merged to 'next' on 2019-04-22 at 0598bae567)
1116
- + diff: batch fetching of missing blobs
1117
- + sha1-file: support OBJECT_INFO_FOR_PREFETCH
1118
- (this branch is used by cc/multi-promisor.)
1119
-
1120
- While running "git diff" in a lazy clone, we can upfront know which
1121
- missing blobs we will need, instead of waiting for the on-demand
1122
- machinery to discover them one by one. Aim to achieve better
1123
- performance by batching the request for these promised blobs.
1124
-
1125
- Will merge to 'master'.
1126
-
1127
-
1128
-* jt/fetch-no-update-shallow-in-proto-v2 (2019-04-01) 3 commits
1129
- (merged to 'next' on 2019-04-16 at 05c5ebe471)
1130
- + fetch-pack: respect --no-update-shallow in v2
1131
- + fetch-pack: call prepare_shallow_info only if v0
1132
- + Merge branch 'jt/test-protocol-version' into jt/fetch-no-update-shallow-in-proto-v2
1133
-
1134
- Fix for protocol v2 support in "git fetch-pack" of shallow clones.
1135
-
1136
- Will merge to 'master'.
1137
-
1138
-
1139
-* jt/fetch-pack-wanted-refs-optim (2019-04-01) 1 commit
1140
- (merged to 'next' on 2019-04-16 at 051f6bd38a)
1141
- + fetch-pack: binary search when storing wanted-refs
1142
-
1143
- Performance fix around "git fetch" that grabs many refs.
1144
-
1140
Will merge to 'master'.
1141
1142
1143
* km/empty-repo-is-still-a-repo (2019-04-10) 3 commits
1149
- - add: error appropriately on repository with no commits
1150
- - dir: do not traverse repositories with no commits
1151
- - submodule: refuse to add repository with no commits
1144
+ (merged to 'next' on 2019-04-25 at bb3d4406a5)
1145
+ + add: error appropriately on repository with no commits
1146
+ + dir: do not traverse repositories with no commits
1147
+ + submodule: refuse to add repository with no commits
1148
1149
Running "git add" on a repository created inside the current
1150
repository is an explicit indication that the user wants to add it
@@ -1158,61 +1154,6 @@ of the repositories listed at
1154
repository, which is not what the user wants. These problems are
1155
being addressed.
1156
1161
- Will merge to 'next'.
1162
-
1163
-
1164
-* nd/checkout-m (2019-03-24) 4 commits
1165
- (merged to 'next' on 2019-04-16 at 4d7c322bed)
1166
- + checkout: prevent losing staged changes with --merge
1167
- + read-tree: add --quiet
1168
- + unpack-trees: rename "gently" flag to "quiet"
1169
- + unpack-trees: keep gently check inside add_rejected_path
1170
-
1171
- "git checkout -m <other>" was about carrying the differences
1172
- between HEAD and the working-tree files forward while checking out
1173
- another branch, and ignored the differences between HEAD and the
1174
- index. The command has been taught to abort when the index and the
1175
- HEAD are different.
1176
-
1177
- Will merge to 'master'.
1178
-
1179
-
1180
-* nd/commit-a-with-paths-msg-update (2019-03-22) 1 commit
1181
- (merged to 'next' on 2019-04-16 at a36c712b39)
1182
- + commit: improve error message in "-a <paths>" case
1183
-
1184
- The message given when "git commit -a <paths>" errors out has been
1185
- updated.
1186
-
1187
- Will merge to 'master'.
1188
-
1189
-
1190
-* nd/diff-parseopt-4 (2019-03-24) 20 commits
1191
- (merged to 'next' on 2019-04-10 at 893b135f10)
1192
- + am: avoid diff_opt_parse()
1193
- + diff --no-index: use parse_options() instead of diff_opt_parse()
1194
- + range-diff: use parse_options() instead of diff_opt_parse()
1195
- + diff.c: allow --no-color-moved-ws
1196
- + diff-parseopt: convert --color-moved-ws
1197
- + diff-parseopt: convert --[no-]color-moved
1198
- + diff-parseopt: convert --inter-hunk-context
1199
- + diff-parseopt: convert --no-prefix
1200
- + diff-parseopt: convert --line-prefix
1201
- + diff-parseopt: convert --[src|dst]-prefix
1202
- + diff-parseopt: convert --[no-]abbrev
1203
- + diff-parseopt: convert --diff-filter
1204
- + diff-parseopt: convert --find-object
1205
- + diff-parseopt: convert -O
1206
- + diff-parseopt: convert --pickaxe-all|--pickaxe-regex
1207
- + diff-parseopt: convert -S|-G
1208
- + diff-parseopt: convert -l
1209
- + diff-parseopt: convert -z
1210
- + diff-parseopt: convert --ita-[in]visible-in-index
1211
- + diff-parseopt: convert --ws-error-highlight
1212
-
1213
- Fourth batch to teach the diff machinery to use the parse-options
1214
- API.
1215
-
1157
Will merge to 'master'.
1158
1159
@@ -1233,46 +1174,47 @@ of the repositories listed at
1174
1175
1176
* nd/sha1-name-c-wo-the-repository (2019-04-16) 34 commits
1236
- - sha1-name.c: remove the_repo from get_oid_mb()
1237
- - sha1-name.c: remove the_repo from other get_oid_*
1238
- - sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
1239
- - submodule-config.c: use repo_get_oid for reading .gitmodules
1240
- - sha1-name.c: add repo_get_oid()
1241
- - sha1-name.c: remove the_repo from get_oid_with_context_1()
1242
- - sha1-name.c: remove the_repo from resolve_relative_path()
1243
- - sha1-name.c: remove the_repo from diagnose_invalid_index_path()
1244
- - sha1-name.c: remove the_repo from handle_one_ref()
1245
- - sha1-name.c: remove the_repo from get_oid_1()
1246
- - sha1-name.c: remove the_repo from get_oid_basic()
1247
- - sha1-name.c: remove the_repo from get_describe_name()
1248
- - sha1-name.c: remove the_repo from get_oid_oneline()
1249
- - sha1-name.c: add repo_interpret_branch_name()
1250
- - sha1-name.c: remove the_repo from interpret_branch_mark()
1251
- - sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
1252
- - sha1-name.c: remove the_repo from get_short_oid()
1253
- - sha1-name.c: add repo_for_each_abbrev()
1254
- - sha1-name.c: store and use repo in struct disambiguate_state
1255
- - sha1-name.c: add repo_find_unique_abbrev_r()
1256
- - sha1-name.c: remove the_repo from find_abbrev_len_packed()
1257
- - sha1-name.c: remove the_repo from sort_ambiguous()
1258
- - commit.c: add repo_get_commit_tree()
1259
- - commit.cocci: refactor code, avoid double rewrite
1260
- - refs.c: remove the_repo from read_ref_at()
1261
- - refs.c: add repo_dwim_log()
1262
- - refs.c: add repo_dwim_ref()
1263
- - refs.c: remove the_repo from expand_ref()
1264
- - refs.c: remove the_repo from substitute_branch_name()
1265
- - refs.c: add refs_shorten_unambiguous_ref()
1266
- - refs.c: add refs_ref_exists()
1267
- - packfile.c: add repo_approximate_object_count()
1268
- - builtin rebase: use oideq()
1269
- - builtin rebase: use FREE_AND_NULL
1177
+ (merged to 'next' on 2019-04-25 at d826918329)
1178
+ + sha1-name.c: remove the_repo from get_oid_mb()
1179
+ + sha1-name.c: remove the_repo from other get_oid_*
1180
+ + sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
1181
+ + submodule-config.c: use repo_get_oid for reading .gitmodules
1182
+ + sha1-name.c: add repo_get_oid()
1183
+ + sha1-name.c: remove the_repo from get_oid_with_context_1()
1184
+ + sha1-name.c: remove the_repo from resolve_relative_path()
1185
+ + sha1-name.c: remove the_repo from diagnose_invalid_index_path()
1186
+ + sha1-name.c: remove the_repo from handle_one_ref()
1187
+ + sha1-name.c: remove the_repo from get_oid_1()
1188
+ + sha1-name.c: remove the_repo from get_oid_basic()
1189
+ + sha1-name.c: remove the_repo from get_describe_name()
1190
+ + sha1-name.c: remove the_repo from get_oid_oneline()
1191
+ + sha1-name.c: add repo_interpret_branch_name()
1192
+ + sha1-name.c: remove the_repo from interpret_branch_mark()
1193
+ + sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
1194
+ + sha1-name.c: remove the_repo from get_short_oid()
1195
+ + sha1-name.c: add repo_for_each_abbrev()
1196
+ + sha1-name.c: store and use repo in struct disambiguate_state
1197
+ + sha1-name.c: add repo_find_unique_abbrev_r()
1198
+ + sha1-name.c: remove the_repo from find_abbrev_len_packed()
1199
+ + sha1-name.c: remove the_repo from sort_ambiguous()
1200
+ + commit.c: add repo_get_commit_tree()
1201
+ + commit.cocci: refactor code, avoid double rewrite
1202
+ + refs.c: remove the_repo from read_ref_at()
1203
+ + refs.c: add repo_dwim_log()
1204
+ + refs.c: add repo_dwim_ref()
1205
+ + refs.c: remove the_repo from expand_ref()
1206
+ + refs.c: remove the_repo from substitute_branch_name()
1207
+ + refs.c: add refs_shorten_unambiguous_ref()
1208
+ + refs.c: add refs_ref_exists()
1209
+ + packfile.c: add repo_approximate_object_count()
1210
+ + builtin rebase: use oideq()
1211
+ + builtin rebase: use FREE_AND_NULL
1212
1213
Further code clean-up to allow the lowest level of name-to-object
1214
mapping layer to work with a passed-in repository other than the
1215
default one.
1216
1275
- Will merge to 'next'.
1217
+ Will merge to 'master'.
1218
1219
1220
* pw/rebase-i-internal (2019-04-19) 13 commits
@@ -1289,7 +1231,6 @@ of the repositories listed at
1231
- rebase: don't translate trace strings
1232
- sequencer: always discard index after checkout
1233
- Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal
1292
- (this branch uses ag/sequencer-reduce-rewriting-todo.)
1234
1235
The internal implementation of "git rebase -i" has been updated to
1236
avoid forking a separate "rebase--interactive" process.
@@ -1297,29 +1238,6 @@ of the repositories listed at
1238
Will merge to 'next'.
1239
1240
1300
-* sg/index-pack-progress (2019-04-01) 1 commit
1301
- (merged to 'next' on 2019-04-16 at a10bfdd950)
1302
- + index-pack: show progress while checking objects
1303
-
1304
- A progress indicator has been added to the "index-pack" step, which
1305
- often makes users wait for completion during "git clone".
1306
-
1307
- Will merge to 'master'.
1308
-
1309
-
1310
-* sg/overlong-progress-fix (2019-04-15) 4 commits
1311
- (merged to 'next' on 2019-04-22 at 69921cdf09)
1312
- + progress: break too long progress bar lines
1313
- + progress: clear previous progress update dynamically
1314
- + progress: assemble percentage and counters in a strbuf before printing
1315
- + progress: make display_progress() return void
1316
-
1317
- Updating the display with progress message has been cleaned up to
1318
- deal better with overlong messages.
1319
-
1320
- Will merge to 'master'.
1321
-
1322
-
1241
* nd/worktree-name-sanitization (2019-03-20) 2 commits
1242
- SQUASH???
1243
- worktree add: sanitize worktree names
@@ -1329,30 +1247,8 @@ of the repositories listed at
1247
must be a valid refname component. The code now sanitizes the names
1248
given to worktrees, to make sure these refs are well-formed.
1249
1332
-
1333
-* bp/post-index-change-hook (2019-02-15) 1 commit
1334
- (merged to 'next' on 2019-03-11 at cb96d1d7c4)
1335
- + read-cache: add post-index-change hook
1336
-
1337
- Originally merged to 'next' on 2019-02-23
1338
-
1339
- A new hook "post-index-change" is called when the on-disk index
1340
- file changes, which can help e.g. a virtualized working tree
1341
- implementation.
1342
-
1343
- Will merge to 'master'.
1344
-
1345
-
1346
-* dl/submodule-set-branch (2019-04-10) 3 commits
1347
- (merged to 'next' on 2019-04-22 at 3b640715ae)
1348
- + submodule: teach set-branch subcommand
1349
- + submodule--helper: teach config subcommand --unset
1350
- + git-submodule.txt: "--branch <branch>" option defaults to 'master'
1351
-
1352
- "git submodule" learns "set-branch" subcommand that allows the
1353
- submodule.*.branch settings to be modified.
1354
-
1355
- Will merge to 'master'.
1250
+ I am inclined to squash the fix at the tip in and merge the result
1251
+ to 'next'. Opinions?
1252
1253
1254
* dm/some-stdio-functions-are-macro-on-freebsd (2019-02-01) 1 commit
@@ -1365,20 +1261,17 @@ of the repositories listed at
1261
cf. <49B9198C-53E5-42BD-8834-B1EDEB3332CB@usask.ca>
1262
1263
1368
-* ds/commit-graph-format-v2 (2019-01-29) 8 commits
1369
- - SQUASH : misnamed variables and style fix
1370
- - commit-graph: test verifying a corrupt v2 header
1264
+* ds/commit-graph-format-v2 (2019-04-25) 5 commits
1265
- commit-graph: implement file format version 2
1266
- commit-graph: add --version=<n> option
1267
- commit-graph: create new version flags
1268
- commit-graph: collapse parameters into flags
1269
- commit-graph: return with errors during write
1376
- - Merge branch 'bc/sha-256' into ds/commit-graph-format-v2
1270
1271
Introduce version 2 of the commit-graph format to correct
1272
deficiency in the initial version.
1273
1381
- Needs update before merging to 'next'.
1274
+ cf. <pull.112.v2.git.gitgitgadget@gmail.com> (v2)
1275
1276
1277
* br/blame-ignore (2019-04-14) 6 commits
@@ -1411,16 +1304,17 @@ of the repositories listed at
1304
1305
1306
* dl/merge-cleanup-scissors-fix (2019-04-19) 10 commits
1414
- - cherry-pick/revert: add scissors line on merge conflict
1415
- - sequencer.c: save and restore cleanup mode
1416
- - merge: add scissors line on merge conflict
1417
- - merge: cleanup messages like commit
1418
- - parse-options.h: extract common --cleanup option
1419
- - commit: extract cleanup_mode functions to sequencer
1420
- - t7502: clean up style
1421
- - t7604: clean up style
1422
- - t3507: clean up style
1423
- - t7600: clean up style
1307
+ (merged to 'next' on 2019-04-25 at 2014eef6b1)
1308
+ + cherry-pick/revert: add scissors line on merge conflict
1309
+ + sequencer.c: save and restore cleanup mode
1310
+ + merge: add scissors line on merge conflict
1311
+ + merge: cleanup messages like commit
1312
+ + parse-options.h: extract common --cleanup option
1313
+ + commit: extract cleanup_mode functions to sequencer
1314
+ + t7502: clean up style
1315
+ + t7604: clean up style
1316
+ + t3507: clean up style
1317
+ + t7600: clean up style
1318
(this branch uses pw/sequencer-cleanup-with-signoff-x-fix.)
1319
1320
The list of conflicted paths shown in the editor while concluding a
@@ -1429,7 +1323,7 @@ of the repositories listed at
1323
out just like the list of updated paths and other information to
1324
help the user explain the merge better.
1325
1432
- Will merge to 'next'.
1326
+ Will merge to 'master'.
1327
1328
1329
* jn/unknown-index-extensions (2018-11-21) 2 commits
@@ -1440,50 +1334,3 @@ of the repositories listed at
1334
exist is getting revamped.
1335
1336
Expecting a reroll.
1443
-
1444
-
1445
-* ag/sequencer-reduce-rewriting-todo (2019-03-07) 18 commits
1446
- (merged to 'next' on 2019-04-10 at 7eab7c7800)
1447
- + rebase--interactive: move transform_todo_file()
1448
- + sequencer: use edit_todo_list() in complete_action()
1449
- + rebase-interactive: rewrite edit_todo_list() to handle the initial edit
1450
- + rebase-interactive: append_todo_help() changes
1451
- + rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
1452
- + sequencer: refactor skip_unnecessary_picks() to work on a todo_list
1453
- + rebase--interactive: move rearrange_squash_in_todo_file()
1454
- + rebase--interactive: move sequencer_add_exec_commands()
1455
- + sequencer: change complete_action() to use the refactored functions
1456
- + sequencer: make sequencer_make_script() write its script to a strbuf
1457
- + sequencer: refactor rearrange_squash() to work on a todo_list
1458
- + sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
1459
- + sequencer: refactor check_todo_list() to work on a todo_list
1460
- + sequencer: introduce todo_list_write_to_file()
1461
- + sequencer: refactor transform_todos() to work on a todo_list
1462
- + sequencer: remove the 'arg' field from todo_item
1463
- + sequencer: make the todo_list structure public
1464
- + sequencer: changes in parse_insn_buffer()
1465
- (this branch is used by pw/rebase-i-internal.)
1466
-
1467
- The scripted version of "git rebase -i" wrote and rewrote the todo
1468
- list many times during a single step of its operation, and the
1469
- recent C-rewrite made a faithful conversion of the logic to C. The
1470
- implementation has been updated to carry necessary information
1471
- around in-core to avoid rewriting the same file over and over
1472
- unnecessarily.
1473
-
1474
- Will merge to 'master'.
1475
- cf. <20190305191805.13561-1-alban.gruin@gmail.com> (v8)
1476
-
1477
---------------------------------------------------
1478
-[Discarded]
1479
-
1480
-* js/rev-list-exclude-promisor-objects (2019-04-09) 1 commit
1481
- . rev-list: exclude promisor objects at walk time
1482
-
1483
- "git rev-list --exclude-promisor-objects" learned not to bother
1484
- enumerating all promisor objects, and instead filter these objects
1485
- at walk time for performance.
1486
-
1487
- Discarded; js/partial-clone-connectivity-check replaces this.
1488
- cf. <9856e7fc74f51b60ae162cbed3f5c0cf8c603222.1554757275.git.steadmon@google.com> (v3)
1489
- cf. <20190413053434.GA31884@sigill.intra.peff.net>