What's cooking (2019/12 #01)
Junio C Hamano committed
Dec 2, 2019 at 06:08 UTC
86559a5ed775f2dd21cb86491fba72d7013719e2
1 file changed
+852
-720
whats-cooking.txt
+852
-720
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Nov 2019, #04; Mon, 25)
4
-X-master-at: d9f6f3b6195a0ca35642561e530798ad1469bd41
5
-X-next-at: 34dc348eaf04483f062911e310f14c9f4e8ddf1e
3
+Subject: What's cooking in git.git (Dec 2019, #01; Mon, 2)
4
+X-master-at: 228f53135a4a41a37b6be8e4d6e2b6153db4a8ed
5
+X-next-at: e41a19f04e19db375f8e58b74c6cb9d3a1495be5
6
7
-What's cooking in git.git (Nov 2019, #04; Mon, 25)
7
+What's cooking in git.git (Dec 2019, #01; Mon, 2)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,9 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-Quite a many topics are now marked to be merged to 'master', which
16
-may happen sometime next week (I'll be mostly offline this week).
17
-Please stop me if I mistakenly marked some that are not quite ready.
15
+The second batch of topics are now in 'master'; this was a rather
16
+large update, so there might be some fallout. Many topics are still
17
+in 'next' to be merged to 'master' soonish, and many others are
18
+waiting to be in 'next'.
19
20
You can find the changes described here in the integration branches
21
of the repositories listed at
@@ -22,1083 +23,1214 @@ of the repositories listed at
23
http://git-blame.blogspot.com/p/git-public-repositories.html
24
25
--------------------------------------------------
25
-[New Topics]
26
+[Graduated to "master"]
27
27
-* ds/commit-graph-delay-gen-progress (2019-11-22) 2 commits
28
- - commit-graph: use start_delayed_progress()
29
- - progress: create GIT_PROGRESS_DELAY
28
+* ar/install-doc-update-cmds-needing-the-shell (2019-11-15) 1 commit
29
+ (merged to 'next' on 2019-11-19 at 216468eb98)
30
+ + INSTALL: use existing shell scripts as example
31
31
- One kind of progress messages were always given during commit-graph
32
- generation, instead of following the "if it takes more than two
33
- seconds, show progress" pattern, which has been corrected.
32
+ Doc update.
33
34
36
-* ds/sparse-cone (2019-11-22) 19 commits
37
- - sparse-checkout: check for dirty status
38
- - sparse-checkout: update working directory in-process for 'init'
39
- - sparse-checkout: cone mode should not interact with .gitignore
40
- - sparse-checkout: write using lockfile
41
- - sparse-checkout: use in-process update for disable subcommand
42
- - sparse-checkout: update working directory in-process
43
- - sparse-checkout: sanitize for nested folders
44
- - unpack-trees: add progress to clear_ce_flags()
45
- - unpack-trees: hash less in cone mode
46
- - sparse-checkout: init and set in cone mode
47
- - sparse-checkout: use hashmaps for cone patterns
48
- - sparse-checkout: add 'cone' mode
49
- - trace2: add region in clear_ce_flags
50
- - sparse-checkout: create 'disable' subcommand
51
- - sparse-checkout: add '--stdin' option to set subcommand
52
- - sparse-checkout: 'set' subcommand
53
- - clone: add --sparse mode
54
- - sparse-checkout: create 'init' subcommand
55
- - sparse-checkout: create builtin with 'list' subcommand
35
+* cb/curl-use-xmalloc (2019-11-07) 1 commit
36
+ (merged to 'next' on 2019-11-19 at 1c587d0775)
37
+ + remote-curl: unbreak http.extraHeader with custom allocators
38
57
- Management of sparsely checked-out working tree has gained a
58
- dedicated "sparse-checkout" command.
39
+ HTTP transport had possible allocator/deallocator mismatch, which
40
+ has been corrected.
41
42
61
-* dl/range-diff-with-notes (2019-11-21) 10 commits
62
- (merged to 'next' on 2019-11-25 at dd6dad97c1)
63
- + format-patch: pass notes configuration to range-diff
64
- + range-diff: pass through --notes to `git log`
65
- + range-diff: output `## Notes ##` header
66
- + t3206: range-diff compares logs with commit notes
67
- + t3206: s/expected/expect/
68
- + t3206: disable parameter substitution in heredoc
69
- + t3206: remove spaces after redirect operators
70
- + pretty-options.txt: --notes accepts a ref instead of treeish
71
- + rev-list-options.txt: remove reference to --show-notes
72
- + argv-array: add space after `while`
43
+* dd/sequencer-utf8 (2019-11-11) 8 commits
44
+ (merged to 'next' on 2019-11-19 at 9432ddc32c)
45
+ + sequencer: reencode commit message for am/rebase --show-current-patch
46
+ + sequencer: reencode old merge-commit message
47
+ + sequencer: reencode squashing commit's message
48
+ + sequencer: reencode revert/cherry-pick's todo list
49
+ + sequencer: reencode to utf-8 before arrange rebase's todo list
50
+ + t3900: demonstrate git-rebase problem with multi encoding
51
+ + configure.ac: define ICONV_OMITS_BOM if necessary
52
+ + t0028: eliminate non-standard usage of printf
53
74
- "git range-diff" learned to take the "--notes=<ref>" and the
75
- "--no-notes" options to control the commit notes included in the
76
- log message that gets compared.
54
+ Handling of commit objects that use non UTF-8 encoding during
55
+ "rebase -i" has been improved.
56
78
- Will merge to 'master'.
57
58
+* dj/typofix-merge-strat (2019-11-11) 1 commit
59
+ (merged to 'next' on 2019-11-19 at 5b6c0cf125)
60
+ + merge-strategies: fix typo "reflected to" to "reflected in"
61
81
-* jc/azure-ci-osx-fix-fix (2019-11-20) 1 commit
82
- (merged to 'next' on 2019-11-25 at 7de6356e67)
83
- + ci(osx): update homebrew-cask repository with less noise
62
+ Typofix.
63
85
- CI jobs for macOS has been made less chatty when updating perforce
86
- package used during testing.
64
88
- Will merge to 'master'.
65
+* dl/complete-rebase-onto (2019-11-12) 1 commit
66
+ (merged to 'next' on 2019-11-19 at ba53946a3b)
67
+ + completion: learn to complete `git rebase --onto=`
68
69
+ The completion script (in contrib/) learned that the "--onto"
70
+ option of "git rebase" can take its argument as the value of the
71
+ option.
72
91
-* jk/fail-show-toplevel-outside-working-tree (2019-11-20) 1 commit
92
- (merged to 'next' on 2019-11-25 at cd97ae38bc)
93
- + rev-parse: make --show-toplevel without a worktree an error
73
95
- "git rev-parse --show-toplevel" run outside of any working tree did
96
- not error out, which has been corrected.
74
+* dl/doc-diff-no-index-implies-exit-code (2019-11-02) 1 commit
75
+ (merged to 'next' on 2019-11-19 at e2b2181e28)
76
+ + git-diff.txt: document return code of `--no-index`
77
98
- Will merge to 'master'.
78
+ Doc update.
79
80
101
-* pb/submodule-update-fetches (2019-11-24) 1 commit
102
- (merged to 'next' on 2019-11-25 at 7736f98351)
103
- + doc: mention that 'git submodule update' fetches missing commits
81
+* ds/test-read-graph (2019-11-13) 1 commit
82
+ (merged to 'next' on 2019-11-19 at 80152fc082)
83
+ + test-tool: use 'read-graph' helper
84
105
- Doc update.
85
+ Dev support for commit-graph feature.
86
107
- Will merge to 'master'.
87
88
+* en/doc-typofix (2019-11-10) 10 commits
89
+ (merged to 'next' on 2019-11-19 at e7bfe50de5)
90
+ + Fix spelling errors in no-longer-updated-from-upstream modules
91
+ + multimail: fix a few simple spelling errors
92
+ + sha1dc: fix trivial comment spelling error
93
+ + Fix spelling errors in test commands
94
+ + Fix spelling errors in messages shown to users
95
+ + Fix spelling errors in names of tests
96
+ + Fix spelling errors in comments of testcases
97
+ + Fix spelling errors in code comments
98
+ + Fix spelling errors in documentation outside of Documentation/
99
+ + Documentation: fix a bunch of typos, both old and new
100
110
-* sg/unpack-progress-throughput (2019-11-20) 1 commit
111
- (merged to 'next' on 2019-11-25 at 0418db6a27)
112
- + builtin/unpack-objects.c: show throughput progress
101
+ Docfix.
102
114
- "git unpack-objects" used to show progress based only on the number
115
- of received and unpacked objects, which stalled when it has to
116
- handle an unusually large object. It now shows the throughput as
117
- well.
103
119
- Will merge to 'master'.
104
+* en/misc-doc-fixes (2019-11-07) 3 commits
105
+ (merged to 'next' on 2019-11-19 at 7222cf3720)
106
+ + name-hash.c: remove duplicate word in comment
107
+ + hashmap: fix documentation misuses of -> versus .
108
+ + git-filter-branch.txt: correct argument name typo
109
110
+ Misc doc fixes.
111
122
-* dl/test-cleanup (2019-11-23) 22 commits
123
- - t7700: stop losing return codes of git commands
124
- - t7700: s/test -f/test_path_is_file/
125
- - t7700: move keywords onto their own line
126
- - t7700: remove spaces after redirect operators
127
- - t7700: drop redirections to /dev/null
128
- - t7501: stop losing return codes of git commands
129
- - t7501: remove spaces after redirect operators
130
- - t5703: stop losing return codes of git commands
131
- - t5703: simplify one-time-sed generation logic
132
- - t5317: use ! grep to check for no matching lines
133
- - t5317: stop losing return codes of git commands
134
- - t4138: stop losing return codes of git commands
135
- - t4015: use test_write_lines()
136
- - t4015: stop losing return codes of git commands
137
- - t3600: comment on inducing SIGPIPE in `git rm`
138
- - t3600: stop losing return codes of git commands
139
- - t3600: use test_line_count() where possible
140
- - t3301: stop losing return codes of git commands
141
- - t0090: stop losing return codes of git commands
142
- - t0014: remove git command upstream of pipe
143
- - apply-one-time-sed.sh: modernize style
144
- - lib-bash.sh: move `then` onto its own line
112
146
- Test cleanup.
113
+* en/t6024-style (2019-11-07) 1 commit
114
+ (merged to 'next' on 2019-11-19 at b41c2ed21b)
115
+ + t6024: modernize style
116
+
117
+ Test updates.
118
148
- Will merge to 'next'.
119
120
+* es/myfirstcontrib-updates (2019-11-02) 3 commits
121
+ (merged to 'next' on 2019-11-19 at 41d70e1db4)
122
+ + myfirstcontrib: hint to find gitgitgadget allower
123
+ + myfirstcontrib: add dependency installation step
124
+ + myfirstcontrib: add 'psuh' to command-list.txt
125
151
-* tg/perf-remove-stale-result (2019-11-21) 1 commit
152
- - perf-lib: remove old result files before running tests
126
+ Doc updates.
127
154
- PerfTest cleanup.
128
156
- Expecting a reroll.
157
- cf. <20191122081108.GA38815@cat>
129
+* hw/config-doc-in-header (2019-10-24) 1 commit
130
+ (merged to 'next' on 2019-11-19 at 7f314c649e)
131
+ + config: move documentation to config.h
132
133
+ Follow recent push to move API docs from Documentation/ to header
134
+ files and update config.h
135
160
-* us/unpack-trees-fsmonitor (2019-11-21) 1 commit
161
- - unpack-trees: skip stat on fsmonitor-valid files
162
- (this branch uses jc/fsmonitor-sanity-fix.)
136
164
- Users of oneway_merge() (like "reset --hard") learned to take
165
- advantage of fsmonitor to avoid unnecessary lstat(2) calls.
137
+* jc/fsmonitor-sanity-fix (2019-11-13) 1 commit
138
+ (merged to 'next' on 2019-11-19 at 1fceb9b55b)
139
+ + fsmonitor: do not compare bitmap size with size of split index
140
+ (this branch is used by us/unpack-trees-fsmonitor.)
141
167
- Will merge to 'next'.
142
+ Remove an incorrect BUG() that should not trigger.
143
144
170
-* ds/fsmonitor-testing (2019-11-22) 11 commits
171
- - test-lib: clear watchman watches at test completion
172
- - t7519: disable external GIT_TEST_FSMONITOR variable
173
- - t7063: disable fsmonitor with status cache
174
- - tests: disable fsmonitor in submodule tests
175
- - t3600-rm.sh: disable fsmonitor when deleting populated submodule
176
- - t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
177
- - fsmonitor: disable fsmonitor with worktrees
178
- - t1510-repo-setup.sh: disable fsmonitor if no .git dir
179
- - t1301-shared-repo.sh: disable FSMONITOR
180
- - fsmonitor: do not output to stderr for tests
181
- - fsmonitor: disable in a bare repo
145
+* jc/log-graph-simplify (2019-11-13) 14 commits
146
+ (merged to 'next' on 2019-11-19 at de6360c648)
147
+ + t4215: use helper function to check output
148
+ (merged to 'next' on 2019-11-10 at 79d2b8ff98)
149
+ + graph: fix coloring of octopus dashes
150
+ + graph: flatten edges that fuse with their right neighbor
151
+ + graph: smooth appearance of collapsing edges on commit lines
152
+ + graph: rename `new_mapping` to `old_mapping`
153
+ + graph: commit and post-merge lines for left-skewed merges
154
+ + graph: tidy up display of left-skewed merges
155
+ + graph: example of graph output that can be simplified
156
+ + graph: extract logic for moving to GRAPH_PRE_COMMIT state
157
+ + graph: remove `mapping_idx` and `graph_update_width()`
158
+ + graph: reduce duplication in `graph_insert_into_new_columns()`
159
+ + graph: reuse `find_new_column_by_commit()`
160
+ + graph: handle line padding in `graph_next_line()`
161
+ + graph: automatically track display width of graph lines
162
183
- Updates around testing fsmoitor integration.
163
+ The implementation of "git log --graph" got refactored and then its
164
+ output got simplified.
165
+
166
+
167
+* jk/cleanup-object-parsing-and-fsck (2019-10-28) 23 commits
168
+ (merged to 'next' on 2019-11-10 at 50b2267a2a)
169
+ + fsck: accept an oid instead of a "struct tree" for fsck_tree()
170
+ + fsck: accept an oid instead of a "struct commit" for fsck_commit()
171
+ + fsck: accept an oid instead of a "struct tag" for fsck_tag()
172
+ + fsck: rename vague "oid" local variables
173
+ + fsck: don't require an object struct in verify_headers()
174
+ + fsck: don't require an object struct for fsck_ident()
175
+ + fsck: drop blob struct from fsck_finish()
176
+ + fsck: accept an oid instead of a "struct blob" for fsck_blob()
177
+ + fsck: don't require an object struct for report()
178
+ + fsck: only require an oid for skiplist functions
179
+ + fsck: only provide oid/type in fsck_error callback
180
+ + fsck: don't require object structs for display functions
181
+ + fsck: use oids rather than objects for object_name API
182
+ + fsck_describe_object(): build on our get_object_name() primitive
183
+ + fsck: unify object-name code
184
+ + fsck: require an actual buffer for non-blobs
185
+ + fsck: stop checking tag->tagged
186
+ + fsck: stop checking commit->parent counts
187
+ + fsck: stop checking commit->tree value
188
+ + commit, tag: don't set parsed bit for parse failures
189
+ + parse_tag_buffer(): treat NULL tag pointer as parse error
190
+ + parse_commit_buffer(): treat lookup_tree() failure as parse error
191
+ + parse_commit_buffer(): treat lookup_commit() failure as parse error
192
+
193
+ Originally merged to 'next' on 2019-10-30
194
+
195
+ Crufty code and logic accumulated over time around the object
196
+ parsing and low-level object access used in "git fsck" have been
197
+ cleaned up.
198
+
199
+
200
+* jk/gitweb-anti-xss (2019-11-18) 4 commits
201
+ (merged to 'next' on 2019-11-19 at 69ef04c013)
202
+ + gitweb: escape URLs generated by href()
203
+ + t/gitweb-lib.sh: set $REQUEST_URI
204
+ + t/gitweb-lib.sh: drop confusing quotes
205
+ + t9502: pass along all arguments in xss helper
206
+
207
+ Some codepaths in "gitweb" that forgot to escape URLs generated
208
+ based on end-user input have been corrected.
209
+
210
+
211
+* jk/optim-in-pack-idx-conversion (2019-11-12) 1 commit
212
+ (merged to 'next' on 2019-11-19 at a81ebc7b8d)
213
+ + pack-objects: avoid pointless oe_map_new_pack() calls
214
+
215
+ Code clean-up.
216
+
217
+
218
+* jk/remove-sha1-to-hex (2019-11-13) 2 commits
219
+ (merged to 'next' on 2019-11-19 at fb68824870)
220
+ + hex: drop sha1_to_hex()
221
+ + hex: drop sha1_to_hex_r()
222
+
223
+ Code clean-up.
224
+
225
+
226
+* jk/send-pack-remote-failure (2019-11-13) 1 commit
227
+ (merged to 'next' on 2019-11-19 at d02c0107ee)
228
+ + send-pack: check remote ref status on pack-objects failure
229
+
230
+ Error handling after "git push" finishes sending the packdata and
231
+ waits for the response to the remote side has been improved.
232
+
233
+
234
+* js/complete-svn-recursive (2019-11-13) 1 commit
235
+ (merged to 'next' on 2019-11-19 at fa2a97911c)
236
+ + completion: tab-complete "git svn --recursive"
237
+
238
+ The completion script (in contrib/) has been taught that "git svn"
239
+ supports the "--recursive" option.
240
+
241
+
242
+* js/fetch-multi-lockfix (2019-11-06) 2 commits
243
+ (merged to 'next' on 2019-11-19 at b9683b7ec9)
244
+ + fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
245
+ + fetch: add the command-line option `--write-commit-graph`
246
+
247
+ Fetching from multiple remotes into the same repository in parallel
248
+ had a bad interaction with the recent change to (optionally) update
249
+ the commit-graph after a fetch job finishes, as these parallel
250
+ fetches compete with each other. Which has been corrected.
251
+
252
+
253
+* js/git-path-head-dot-lock-fix (2019-10-29) 2 commits
254
+ (merged to 'next' on 2019-11-19 at b406944979)
255
+ + git_path(): handle `.lock` files correctly
256
+ + t1400: wrap setup code in test case
257
+
258
+ "git rev-parse --git-path HEAD.lock" did not give the right path
259
+ when run in a secondary worktree.
260
+
261
+
262
+* js/vreportf-wo-buffering (2019-11-02) 1 commit
263
+ (merged to 'next' on 2019-11-19 at cae61b9899)
264
+ + vreportf(): avoid relying on stdio buffering
265
+
266
+ Messages from die() etc. can be mixed up from multiple processes
267
+ without even line buffering on Windows, which has been worked
268
+ around.
269
185
- Will merge to 'next'.
270
271
+* jt/fetch-remove-lazy-fetch-plugging (2019-11-13) 3 commits
272
+ (merged to 'next' on 2019-11-19 at 1b26c28dcd)
273
+ + promisor-remote: remove fetch_if_missing=0
274
+ + clone: remove fetch_if_missing=0
275
+ + fetch: remove fetch_if_missing=0
276
188
-* hi/gpg-optional-pkfp-fix (2019-11-23) 2 commits
189
- (merged to 'next' on 2019-11-25 at b0d668176f)
190
- + gpg-interface: limit search for primary key fingerprint
191
- + gpg-interface: refactor the free-and-xmemdupz pattern
277
+ "git fetch" codepath had a big "do not lazily fetch missing objects
278
+ when I ask if something exists" switch. This has been corrected by
279
+ marking the "does this thing exist?" calls with "if not please do not
280
+ lazily fetch it" flag.
281
193
- The code to parse GPG output used to assume incorrectly that the
194
- finterprint for the primary key would always be present for a valid
195
- signature, which has been corrected.
282
197
- Will merge to 'master'.
283
+* kw/fsmonitor-watchman-fix (2019-11-06) 1 commit
284
+ (merged to 'next' on 2019-11-19 at ee786a5c39)
285
+ + fsmonitor: fix watchman integration
286
287
+ The watchman integration for fsmonitor was racy, which has been
288
+ corrected to be more conservative.
289
200
-* hv/assume-priumax-is-available-anywhere (2019-11-25) 1 commit
201
- - git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
290
203
- We have had compatibility fallback macro definitions for "PRIuMAX",
204
- "PRIu32", etc. but did not for "PRIdMAX", while the code used the
205
- last one apparently without any hiccup reported recently. The
206
- fallback macro definitions for these <inttypes.h> macros that must
207
- appear in C99 systems have been removed.
291
+* ln/userdiff-elixir (2019-11-10) 1 commit
292
+ (merged to 'next' on 2019-11-19 at 6318918ba8)
293
+ + userdiff: add Elixir to supported userdiff languages
294
209
- Will merge to 'next'.
295
+ The patterns to detect function boundary for Elixir language has
296
+ been added.
297
298
212
-* js/git-svn-use-rebase-merges (2019-11-23) 1 commit
213
- (merged to 'next' on 2019-11-25 at 9585fe30f8)
214
- + git svn: stop using `rebase --preserve-merges`
299
+* ma/bisect-doc-sample-update (2019-10-29) 1 commit
300
+ (merged to 'next' on 2019-11-19 at bde6adce1b)
301
+ + Documentation/git-bisect.txt: add --no-ff to merge command
302
216
- Prepare further for "rebase --preserve-merges" deprecation.
303
+ "git merge --no-commit" needs "--no-ff" if you do not want to move
304
+ HEAD, which has been corrected in the manual page for "git bisect".
305
218
- Will merge to 'master'.
306
307
+* ma/t7004 (2019-11-14) 1 commit
308
+ (merged to 'next' on 2019-11-19 at 789a0a0f05)
309
+ + t7004: check existence of correct tag
310
221
-* js/mingw-inherit-only-std-handles (2019-11-23) 4 commits
222
- - mingw: restrict file handle inheritance only on Windows 7 and later
223
- - mingw: spawned processes need to inherit only standard handles
224
- - mingw: work around incorrect standard handles
225
- - mingw: demonstrate that all file handles are inherited by child processes
311
+ Test fix.
312
227
- Work around a issue where a FD that is left open when spawning a
228
- child process and is kept open in the child can interfere with the
229
- operation in the parent process on Windows.
313
231
- Will merge to 'next'.
314
+* mr/clone-dir-exists-to-path-exists (2019-10-29) 1 commit
315
+ (merged to 'next' on 2019-11-19 at 07b6ab25de)
316
+ + clone: rename static function `dir_exists()`.
317
318
+ Code cleanup.
319
234
-* mg/doc-submodule-status-cached (2019-11-24) 1 commit
235
- (merged to 'next' on 2019-11-25 at fa833392a3)
236
- + doc: document 'git submodule status --cached'
320
238
- "git submodule status" and "git submodule status --cached" show
239
- different things, but the documentation did not cover them
240
- correctly, which has been corrected.
321
+* nn/doc-rebase-merges (2019-11-12) 1 commit
322
+ (merged to 'next' on 2019-11-19 at db74ff488c)
323
+ + doc: improve readability of --rebase-merges in git-rebase
324
242
- Will merge to 'master'.
325
+ Doc update.
326
327
245
-* mg/submodule-status-from-a-subdirectory (2019-11-25) 1 commit
246
- - submodule: fix 'submodule status' when called from a subdirectory
328
+* ns/test-desc-typofix (2019-11-07) 1 commit
329
+ (merged to 'next' on 2019-11-19 at 804861f385)
330
+ + t: fix typo in test descriptions
331
248
- "git submodule status" that is run from a subdirectory of the
249
- superproject did not work well, which has been corrected.
332
+ Typofix.
333
251
- Will merge to 'next'.
334
335
+* pb/help-list-gitsubmodules-among-guides (2019-10-29) 1 commit
336
+ (merged to 'next' on 2019-11-19 at 3c6f5c1901)
337
+ + help: add gitsubmodules to the list of guides
338
254
-* mh/clear-topo-walk-upon-reset (2019-11-25) 2 commits
255
- - revision: free topo_walk_info before creating a new one in init_topo_walk
256
- - revision: clear the topo-walk flags in reset_revision_walk
339
+ Help update.
340
258
- The revision walking machinery uses resources like per-object flag
259
- bits that need to be reset before a new iteration of walking
260
- begins, but the resources related to topological walk were not
261
- cleared correctly, which has been corrected.
341
263
- Will merge to 'next'.
342
+* pb/no-recursive-reset-hard-in-worktree-add (2019-10-30) 1 commit
343
+ (merged to 'next' on 2019-11-19 at cdfb0643e9)
344
+ + worktree: teach "add" to ignore submodule.recurse config
345
346
+ "git worktree add" internally calls "reset --hard" that should not
347
+ descend into submodules, even when submodule.recurse configuration
348
+ is set, but it was affected. This has been corrected.
349
266
-* nl/reset-patch-takes-a-tree (2019-11-25) 1 commit
267
- (merged to 'next' on 2019-11-25 at 34dc348eaf)
268
- + reset: parse rev as tree-ish in patch mode
350
270
- "git reset --patch $object" without any pathspec should allow a
271
- tree object to be given, but incorrectly required a committish,
272
- which has been corrected.
351
+* py/shortlog-list-options-for-log (2019-11-10) 1 commit
352
+ (merged to 'next' on 2019-11-19 at 92a10e39f7)
353
+ + git-shortlog.txt: include commit limiting options
354
274
- Will merge to 'master'.
355
+ Documentation pages for "git shortlog" now lists commit limiting
356
+ options explicitly.
357
358
277
-* pw/sequencer-compare-with-right-parent-to-check-empty-commits (2019-11-23) 1 commit
278
- (merged to 'next' on 2019-11-25 at a4e4f06286)
279
- + sequencer: fix empty commit check when amending
359
+* rj/bundle-ui-updates (2019-11-11) 3 commits
360
+ (merged to 'next' on 2019-11-19 at d88f626256)
361
+ + bundle-verify: add --quiet
362
+ + bundle-create: progress output control
363
+ + bundle: framework for options before bundle file
364
281
- The sequencer machinery compared the HEAD and the state it is
282
- attempting to commit to decide if the result would be a no-op
283
- commit, even when amending a commit, which was incorrect, and
284
- has been corrected.
365
+ "git bundle" has been taught to use the parse options API. "git
366
+ bundle verify" learned "--quiet" and "git bundle create" learned
367
+ options to control the progress output.
368
286
- Will merge to 'master'.
369
370
+* rs/parse-options-dup-null-fix (2019-11-13) 1 commit
371
+ (merged to 'next' on 2019-11-19 at 73040e1605)
372
+ + parse-options: avoid arithmetic on pointer that's potentially NULL
373
289
-* sg/assume-no-todo-update-in-cherry-pick (2019-11-24) 1 commit
290
- - sequencer: don't re-read todo for revert and cherry-pick
374
+ Code cleanup.
375
292
- While running "revert" or "cherry-pick --edit" for multiple
293
- commits, a recent regression incorrectly detected "nothing to
294
- commit, working tree clean", instead of replaying the commits,
295
- which has been corrected.
376
297
- Will merge to 'next'.
377
+* rs/skip-iprefix (2019-11-10) 2 commits
378
+ (merged to 'next' on 2019-11-19 at c87ae31b14)
379
+ + convert: use skip_iprefix() in validate_encoding()
380
+ + utf8: use skip_iprefix() in same_utf_encoding()
381
382
+ Code simplification.
383
300
-* sg/test-bool-env (2019-11-23) 2 commits
301
- - t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
302
- - tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
384
304
- Recently we have declared that GIT_TEST_* variables take the
305
- usual boolean values (it used to be that some used "non-empty
306
- means true" and taking GIT_TEST_VAR=YesPlease as true); make
307
- sure we notice and fail when non-bool strings are given to
308
- these variables.
385
+* rs/trace2-dots (2019-11-06) 1 commit
386
+ (merged to 'next' on 2019-11-19 at a045233ad0)
387
+ + trace2: add dots directly to strbuf in perf_fmt_prepare()
388
310
- Will merge to 'next'.
389
+ Code cleanup.
390
312
---------------------------------------------------
313
-[Stalled]
391
315
-* js/advise-rebase-skip (2019-10-23) 3 commits
316
- - commit: give correct advice for empty commit during a rebase
317
- - sequencer: export the function to get the path of `.git/rebase-merge/`
318
- - cherry-pick: add test for `--skip` advice in `git commit`
392
+* rs/use-copy-array-in-mingw-shell-command-preparation (2019-11-13) 1 commit
393
+ (merged to 'next' on 2019-11-19 at 52ee6a8887)
394
+ + mingw: use COPY_ARRAY for copying array
395
320
- The logic used in "git commit" to give hints and errors depending
321
- on what operation was in progress learned to distinguish rebase and
322
- cherry-pick better.
396
+ Code cleanup.
397
324
- Kicked back to 'pu'.
325
- cf. <nycvar.QRO.7.76.6.1911081508560.46@tvgsbejvaqbjf.bet>
398
399
+* rt/fetch-message-fix (2019-11-02) 1 commit
400
+ (merged to 'next' on 2019-11-19 at 69eb337cd8)
401
+ + fetch.c: fix typo in a warning message
402
328
-* vn/reset-deleted-ita (2019-07-26) 1 commit
329
- - reset: unstage empty deleted ita files
403
+ A small message update.
404
331
- "git reset HEAD [<pathspec>]" did not reset an empty file that was
332
- added with the intent-to-add bit.
405
334
- Expecting a reroll.
406
+* sg/blame-indent-heuristics-is-now-the-default (2019-10-29) 1 commit
407
+ (merged to 'next' on 2019-11-19 at 68e60f08cc)
408
+ + builtin/blame.c: remove '--indent-heuristic' from usage string
409
410
+ Message update.
411
337
-* jn/unknown-index-extensions (2018-11-21) 2 commits
338
- - index: offer advice for unknown index extensions
339
- - index: do not warn about unrecognized extensions
412
341
- A bit too alarming warning given when unknown index extensions
342
- exist is getting revamped.
413
+* sg/skip-skipped-prereq (2019-11-13) 1 commit
414
+ (merged to 'next' on 2019-11-19 at 10d344fed7)
415
+ + test-lib: don't check prereqs of test cases that won't be run anyway
416
344
- Expecting a reroll.
417
+ Test update to avoid wasted cycles.
418
419
347
-* jc/format-patch-delay-message-id (2019-04-05) 1 commit
348
- - format-patch: move message-id and related headers to the end
420
+* tg/stash-refresh-index (2019-11-14) 1 commit
421
+ (merged to 'next' on 2019-11-19 at 4d67af8d3f)
422
+ + stash: make sure we have a valid index before writing it
423
350
- The location "git format-patch --thread" adds the Message-Id:
351
- header in the series of header fields has been moved down, which
352
- may help working around a suspected bug in GMail MSA, reported at
353
- <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
424
+ Recent update to "git stash pop" made the command empty the index
425
+ when run with the "--quiet" option, which has been corrected.
426
355
- Waiting for feedback to see if it truly helps.
356
- Needs tests.
427
+--------------------------------------------------
428
+[New Topics]
429
430
+* ds/commit-graph-delay-gen-progress (2019-11-27) 2 commits
431
+ - commit-graph: use start_delayed_progress()
432
+ - progress: create GIT_PROGRESS_DELAY
433
359
-* js/protocol-advertise-multi (2018-12-28) 1 commit
360
- - protocol: advertise multiple supported versions
434
+ One kind of progress messages were always given during commit-graph
435
+ generation, instead of following the "if it takes more than two
436
+ seconds, show progress" pattern, which has been corrected.
437
362
- The transport layer has been updated so that the protocol version
363
- used can be negotiated between the parties, by the initiator
364
- listing the protocol versions it is willing to talk, and the other
365
- side choosing from one of them.
438
+ Will merge to 'next'.
439
367
- Expecting a reroll.
368
- cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
440
441
+* ds/sparse-cone (2019-11-22) 19 commits
442
+ - sparse-checkout: check for dirty status
443
+ - sparse-checkout: update working directory in-process for 'init'
444
+ - sparse-checkout: cone mode should not interact with .gitignore
445
+ - sparse-checkout: write using lockfile
446
+ - sparse-checkout: use in-process update for disable subcommand
447
+ - sparse-checkout: update working directory in-process
448
+ - sparse-checkout: sanitize for nested folders
449
+ - unpack-trees: add progress to clear_ce_flags()
450
+ - unpack-trees: hash less in cone mode
451
+ - sparse-checkout: init and set in cone mode
452
+ - sparse-checkout: use hashmaps for cone patterns
453
+ - sparse-checkout: add 'cone' mode
454
+ - trace2: add region in clear_ce_flags
455
+ - sparse-checkout: create 'disable' subcommand
456
+ - sparse-checkout: add '--stdin' option to set subcommand
457
+ - sparse-checkout: 'set' subcommand
458
+ - clone: add --sparse mode
459
+ - sparse-checkout: create 'init' subcommand
460
+ - sparse-checkout: create builtin with 'list' subcommand
461
371
-* mk/use-size-t-in-zlib (2018-10-15) 1 commit
372
- - zlib.c: use size_t for size
462
+ Management of sparsely checked-out working tree has gained a
463
+ dedicated "sparse-checkout" command.
464
374
- The wrapper to call into zlib followed our long tradition to use
375
- "unsigned long" for sizes of regions in memory, which have been
376
- updated to use "size_t".
465
+ How well is this topic done at this point?
466
378
---------------------------------------------------
379
-[Cooking]
467
381
-* rs/skip-iprefix (2019-11-10) 2 commits
382
- (merged to 'next' on 2019-11-19 at c87ae31b14)
383
- + convert: use skip_iprefix() in validate_encoding()
384
- + utf8: use skip_iprefix() in same_utf_encoding()
468
+* dl/range-diff-with-notes (2019-11-21) 10 commits
469
+ (merged to 'next' on 2019-11-25 at dd6dad97c1)
470
+ + format-patch: pass notes configuration to range-diff
471
+ + range-diff: pass through --notes to `git log`
472
+ + range-diff: output `## Notes ##` header
473
+ + t3206: range-diff compares logs with commit notes
474
+ + t3206: s/expected/expect/
475
+ + t3206: disable parameter substitution in heredoc
476
+ + t3206: remove spaces after redirect operators
477
+ + pretty-options.txt: --notes accepts a ref instead of treeish
478
+ + rev-list-options.txt: remove reference to --show-notes
479
+ + argv-array: add space after `while`
480
386
- Code simplification.
481
+ "git range-diff" learned to take the "--notes=<ref>" and the
482
+ "--no-notes" options to control the commit notes included in the
483
+ log message that gets compared.
484
485
Will merge to 'master'.
486
487
391
-* dj/typofix-merge-strat (2019-11-11) 1 commit
392
- (merged to 'next' on 2019-11-19 at 5b6c0cf125)
393
- + merge-strategies: fix typo "reflected to" to "reflected in"
488
+* jc/azure-ci-osx-fix-fix (2019-11-20) 1 commit
489
+ (merged to 'next' on 2019-11-25 at 7de6356e67)
490
+ + ci(osx): update homebrew-cask repository with less noise
491
395
- Typofix.
492
+ CI jobs for macOS has been made less chatty when updating perforce
493
+ package used during testing.
494
495
Will merge to 'master'.
496
497
400
-* jh/userdiff-python-async (2019-11-20) 1 commit
401
- (merged to 'next' on 2019-11-25 at 74e4a4ed9f)
402
- + userdiff: support Python async functions
498
+* jk/fail-show-toplevel-outside-working-tree (2019-11-20) 1 commit
499
+ (merged to 'next' on 2019-11-25 at cd97ae38bc)
500
+ + rev-parse: make --show-toplevel without a worktree an error
501
404
- The userdiff machinery has been taught that "async def" is another
405
- way to begin a "function" in Python.
502
+ "git rev-parse --show-toplevel" run outside of any working tree did
503
+ not error out, which has been corrected.
504
505
Will merge to 'master'.
506
507
410
-* rj/bundle-ui-updates (2019-11-11) 3 commits
411
- (merged to 'next' on 2019-11-19 at d88f626256)
412
- + bundle-verify: add --quiet
413
- + bundle-create: progress output control
414
- + bundle: framework for options before bundle file
508
+* pb/submodule-update-fetches (2019-11-24) 1 commit
509
+ (merged to 'next' on 2019-11-25 at 7736f98351)
510
+ + doc: mention that 'git submodule update' fetches missing commits
511
416
- "git bundle" has been taught to use the parse options API. "git
417
- bundle verify" learned "--quiet" and "git bundle create" learned
418
- options to control the progress output.
512
+ Doc update.
513
514
Will merge to 'master'.
515
516
423
-* ar/install-doc-update-cmds-needing-the-shell (2019-11-15) 1 commit
424
- (merged to 'next' on 2019-11-19 at 216468eb98)
425
- + INSTALL: use existing shell scripts as example
517
+* sg/unpack-progress-throughput (2019-11-20) 1 commit
518
+ (merged to 'next' on 2019-11-25 at 0418db6a27)
519
+ + builtin/unpack-objects.c: show throughput progress
520
427
- Doc update.
521
+ "git unpack-objects" used to show progress based only on the number
522
+ of received and unpacked objects, which stalled when it has to
523
+ handle an unusually large object. It now shows the throughput as
524
+ well.
525
526
Will merge to 'master'.
527
528
432
-* dl/complete-rebase-onto (2019-11-12) 1 commit
433
- (merged to 'next' on 2019-11-19 at ba53946a3b)
434
- + completion: learn to complete `git rebase --onto=`
529
+* dl/test-cleanup (2019-11-29) 26 commits
530
+ - t7700: stop losing return codes of git commands
531
+ - t7700: make references to SHA-1 generic
532
+ - t7700: replace egrep with grep
533
+ - t7700: consolidate code into test_has_duplicate_object()
534
+ - t7700: consolidate code into test_no_missing_in_packs()
535
+ - t7700: s/test -f/test_path_is_file/
536
+ - t7700: move keywords onto their own line
537
+ - t7700: remove spaces after redirect operators
538
+ - t7700: drop redirections to /dev/null
539
+ - t7501: stop losing return codes of git commands
540
+ - t7501: remove spaces after redirect operators
541
+ - t5703: stop losing return codes of git commands
542
+ - t5703: simplify one-time-sed generation logic
543
+ - t5317: use ! grep to check for no matching lines
544
+ - t5317: stop losing return codes of git commands
545
+ - t4138: stop losing return codes of git commands
546
+ - t4015: use test_write_lines()
547
+ - t4015: stop losing return codes of git commands
548
+ - t3600: comment on inducing SIGPIPE in `git rm`
549
+ - t3600: stop losing return codes of git commands
550
+ - t3600: use test_line_count() where possible
551
+ - t3301: stop losing return codes of git commands
552
+ - t0090: stop losing return codes of git commands
553
+ - t0014: remove git command upstream of pipe
554
+ - apply-one-time-sed.sh: modernize style
555
+ - lib-bash.sh: move `then` onto its own line
556
436
- The completion script (in contrib/) learned that the "--onto"
437
- option of "git rebase" can take its argument as the value of the
438
- option.
557
+ Test cleanup.
558
440
- Will merge to 'master'.
559
+ Will merge to 'next'.
560
561
443
-* dl/pretty-reference (2019-11-20) 11 commits
444
- - SubmittingPatches: use `--pretty=reference`
445
- - pretty: implement 'reference' format
446
- - pretty: add struct cmt_fmt_map::default_date_mode_type
447
- - pretty: provide short date format
448
- - t4205: cover `git log --reflog -z` blindspot
449
- - pretty.c: inline initalize format_context
450
- - revision: make get_revision_mark() return const pointer
451
- - completion: complete `tformat:` pretty format
452
- - SubmittingPatches: remove dq from commit reference
453
- - pretty-formats.txt: use generic terms for hash
454
- - SubmittingPatches: use generic terms for hash
562
+* tg/perf-remove-stale-result (2019-11-27) 1 commit
563
+ - perf-lib: use a single filename for all measurement types
564
456
- "git log" family learned "--pretty=ref" that gives the name of a
457
- commit in the format that is often used to refer to it in log
458
- messages.
565
+ PerfTest fix to avoid stale result mixed up with the latest round
566
+ of test results.
567
460
- Willl merge to 'next'.
568
+ Will merge to 'next'.
569
570
463
-* ds/test-read-graph (2019-11-13) 1 commit
464
- (merged to 'next' on 2019-11-19 at 80152fc082)
465
- + test-tool: use 'read-graph' helper
571
+* us/unpack-trees-fsmonitor (2019-11-21) 1 commit
572
+ (merged to 'next' on 2019-11-27 at 4c06f74957)
573
+ + unpack-trees: skip stat on fsmonitor-valid files
574
467
- Dev support for commit-graph feature.
575
+ Users of oneway_merge() (like "reset --hard") learned to take
576
+ advantage of fsmonitor to avoid unnecessary lstat(2) calls.
577
578
Will merge to 'master'.
579
580
472
-* hw/doc-in-header (2019-11-18) 20 commits
473
- - trace2: move doc to trace2.h
474
- - submodule-config: move doc to submodule-config.h
475
- - tree-walk: move doc to tree-walk.h
476
- - trace: move doc to trace.h
477
- - run-command: move doc to run-command.h
478
- - parse-options: add link to doc file in parse-options.h
479
- - credential: move doc to credential.h
480
- - argv-array: move doc to argv-array.h
481
- - cache: move doc to cache.h
482
- - sigchain: move doc to sigchain.h
483
- - pathspec: move doc to pathspec.h
484
- - revision: move doc to revision.h
485
- - attr: move doc to attr.h
486
- - refs: move doc to refs.h
487
- - remote: move doc to remote.h and refspec.h
488
- - sha1-array: move doc to sha1-array.h
489
- - merge: move doc to ll-merge.h
490
- - graph: move doc to graph.h and graph.c
491
- - dir: move doc to dir.h
492
- - diff: move doc to diff.h and diffcore.h
581
+* ds/fsmonitor-testing (2019-11-22) 11 commits
582
+ - test-lib: clear watchman watches at test completion
583
+ - t7519: disable external GIT_TEST_FSMONITOR variable
584
+ - t7063: disable fsmonitor with status cache
585
+ - tests: disable fsmonitor in submodule tests
586
+ - t3600-rm.sh: disable fsmonitor when deleting populated submodule
587
+ - t3030-merge-recursive.sh: disable fsmonitor when tweaking GIT_WORK_TREE
588
+ - fsmonitor: disable fsmonitor with worktrees
589
+ - t1510-repo-setup.sh: disable fsmonitor if no .git dir
590
+ - t1301-shared-repo.sh: disable FSMONITOR
591
+ - fsmonitor: do not output to stderr for tests
592
+ - fsmonitor: disable in a bare repo
593
594
+ Updates around testing fsmoitor integration.
595
495
-* jc/fsmonitor-sanity-fix (2019-11-13) 1 commit
496
- (merged to 'next' on 2019-11-19 at 1fceb9b55b)
497
- + fsmonitor: do not compare bitmap size with size of split index
498
- (this branch is used by us/unpack-trees-fsmonitor.)
596
+ Will merge to 'next'.
597
500
- Remove an incorrect BUG() that should not trigger.
598
+
599
+* hi/gpg-optional-pkfp-fix (2019-11-23) 2 commits
600
+ (merged to 'next' on 2019-11-25 at b0d668176f)
601
+ + gpg-interface: limit search for primary key fingerprint
602
+ + gpg-interface: refactor the free-and-xmemdupz pattern
603
+ (this branch is used by hi/gpg-use-check-signature.)
604
+
605
+ The code to parse GPG output used to assume incorrectly that the
606
+ finterprint for the primary key would always be present for a valid
607
+ signature, which has been corrected.
608
609
Will merge to 'master'.
610
611
505
-* jk/gitweb-anti-xss (2019-11-18) 4 commits
506
- (merged to 'next' on 2019-11-19 at 69ef04c013)
507
- + gitweb: escape URLs generated by href()
508
- + t/gitweb-lib.sh: set $REQUEST_URI
509
- + t/gitweb-lib.sh: drop confusing quotes
510
- + t9502: pass along all arguments in xss helper
612
+* hv/assume-priumax-is-available-anywhere (2019-11-25) 1 commit
613
+ (merged to 'next' on 2019-11-27 at caac4f633d)
614
+ + git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
615
512
- Some codepaths in "gitweb" that forgot to escape URLs generated
513
- based on end-user input have been corrected.
616
+ We have had compatibility fallback macro definitions for "PRIuMAX",
617
+ "PRIu32", etc. but did not for "PRIdMAX", while the code used the
618
+ last one apparently without any hiccup reported recently. The
619
+ fallback macro definitions for these <inttypes.h> macros that must
620
+ appear in C99 systems have been removed.
621
622
Will merge to 'master'.
623
624
518
-* jk/optim-in-pack-idx-conversion (2019-11-12) 1 commit
519
- (merged to 'next' on 2019-11-19 at a81ebc7b8d)
520
- + pack-objects: avoid pointless oe_map_new_pack() calls
625
+* js/git-svn-use-rebase-merges (2019-11-23) 1 commit
626
+ (merged to 'next' on 2019-11-25 at 9585fe30f8)
627
+ + git svn: stop using `rebase --preserve-merges`
628
522
- Code clean-up.
629
+ Prepare further for "rebase --preserve-merges" deprecation.
630
631
Will merge to 'master'.
632
633
527
-* jk/remove-sha1-to-hex (2019-11-13) 2 commits
528
- (merged to 'next' on 2019-11-19 at fb68824870)
529
- + hex: drop sha1_to_hex()
530
- + hex: drop sha1_to_hex_r()
634
+* js/mingw-inherit-only-std-handles (2019-12-02) 6 commits
635
+ - mingw: translate ERROR_SUCCESS to errno = 0
636
+ (merged to 'next' on 2019-12-02 at 798a952eca)
637
+ + mingw: do set `errno` correctly when trying to restrict handle inheritance
638
+ (merged to 'next' on 2019-11-27 at 4736894af6)
639
+ + mingw: restrict file handle inheritance only on Windows 7 and later
640
+ + mingw: spawned processes need to inherit only standard handles
641
+ + mingw: work around incorrect standard handles
642
+ + mingw: demonstrate that all file handles are inherited by child processes
643
532
- Code clean-up.
644
+ Work around a issue where a FD that is left open when spawning a
645
+ child process and is kept open in the child can interfere with the
646
+ operation in the parent process on Windows.
647
534
- Will merge to 'master'.
648
+ Will wait for a bit before merging to 'next'.
649
650
537
-* jk/send-pack-remote-failure (2019-11-13) 1 commit
538
- (merged to 'next' on 2019-11-19 at d02c0107ee)
539
- + send-pack: check remote ref status on pack-objects failure
651
+* mg/doc-submodule-status-cached (2019-11-24) 1 commit
652
+ (merged to 'next' on 2019-11-25 at fa833392a3)
653
+ + doc: document 'git submodule status --cached'
654
541
- Error handling after "git push" finishes sending the packdata and
542
- waits for the response to the remote side has been improved.
655
+ "git submodule status" and "git submodule status --cached" show
656
+ different things, but the documentation did not cover them
657
+ correctly, which has been corrected.
658
659
Will merge to 'master'.
660
661
547
-* js/builtin-add-i-cmds (2019-11-18) 8 commits
548
- - built-in add -i: offer the `quit` command
549
- - built-in add -i: re-implement the `diff` command
550
- - built-in add -i: implement the `patch` command
551
- - built-in add -i: re-implement `add-untracked` in C
552
- - built-in add -i: re-implement `revert` in C
553
- - built-in add -i: implement the `update` command
554
- - built-in add -i: prepare for multi-selection commands
555
- - built-in add -i: allow filtering the modified files list
556
- (this branch uses js/builtin-add-i.)
662
+* mg/submodule-status-from-a-subdirectory (2019-11-25) 1 commit
663
+ (merged to 'next' on 2019-11-27 at 24cb2d79ff)
664
+ + submodule: fix 'submodule status' when called from a subdirectory
665
558
- "git add -i" that is getting rewritten in C has been extended to
559
- cover subcommands other than the "patch".
666
+ "git submodule status" that is run from a subdirectory of the
667
+ superproject did not work well, which has been corrected.
668
669
+ Will merge to 'master'.
670
562
-* js/complete-svn-recursive (2019-11-13) 1 commit
563
- (merged to 'next' on 2019-11-19 at fa2a97911c)
564
- + completion: tab-complete "git svn --recursive"
671
566
- The completion script (in contrib/) has been taught that "git svn"
567
- supports the "--recursive" option.
672
+* mh/clear-topo-walk-upon-reset (2019-11-25) 2 commits
673
+ (merged to 'next' on 2019-11-27 at 15871c1c2a)
674
+ + revision: free topo_walk_info before creating a new one in init_topo_walk
675
+ + revision: clear the topo-walk flags in reset_revision_walk
676
+
677
+ The revision walking machinery uses resources like per-object flag
678
+ bits that need to be reset before a new iteration of walking
679
+ begins, but the resources related to topological walk were not
680
+ cleared correctly, which has been corrected.
681
682
Will merge to 'master'.
683
684
572
-* js/rebase-r-safer-label (2019-11-18) 2 commits
573
- (merged to 'next' on 2019-11-21 at 791d51b0d7)
574
- + rebase -r: let `label` generate safer labels
575
- + rebase-merges: move labels' whitespace mangling into `label_oid()`
576
- (this branch is used by dd/rebase-merge-reserves-onto-label.)
685
+* nl/reset-patch-takes-a-tree (2019-11-25) 1 commit
686
+ (merged to 'next' on 2019-11-25 at 34dc348eaf)
687
+ + reset: parse rev as tree-ish in patch mode
688
578
- A label used in the todo list that are generated by "git rebase
579
- --rebase-merges" is used as a part of a refname; the logic to come
580
- up with the label has been tightened to avoid names that cannot be
581
- used as such.
689
+ "git reset --patch $object" without any pathspec should allow a
690
+ tree object to be given, but incorrectly required a committish,
691
+ which has been corrected.
692
693
Will merge to 'master'.
694
695
586
-* dd/rebase-merge-reserves-onto-label (2019-11-20) 1 commit
587
- (merged to 'next' on 2019-11-21 at a6e4e5af0a)
588
- + sequencer: handle rebase-merges for "onto" message
589
- (this branch uses js/rebase-r-safer-label.)
696
+* pw/sequencer-compare-with-right-parent-to-check-empty-commits (2019-11-23) 1 commit
697
+ (merged to 'next' on 2019-11-25 at a4e4f06286)
698
+ + sequencer: fix empty commit check when amending
699
591
- The logic to avoid duplicate label names generated by "git rebase
592
- --rebase-merges" forgot that the machinery itself uses "onto" as a
593
- label name, which must be avoided by auto-generated labels, which
700
+ The sequencer machinery compared the HEAD and the state it is
701
+ attempting to commit to decide if the result would be a no-op
702
+ commit, even when amending a commit, which was incorrect, and
703
has been corrected.
704
705
Will merge to 'master'.
706
707
599
-* ma/config-bool-valex (2019-11-14) 8 commits
600
- - builtin/config: die if "value_regex" doesn't canonicalize as boolean
601
- - builtin/config: warn if "value_regex" doesn't canonicalize as boolean
602
- - builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
603
- - builtin/config: canonicalize "value_regex" with `--type=bool`
604
- - builtin/config: collect "value_regexp" data in a struct
605
- - builtin/config: extract `handle_value_regex()` from `get_value()`
606
- - t1300: modernize part of script
607
- - config: make `git_parse_maybe_bool_text()` public
708
+* sg/assume-no-todo-update-in-cherry-pick (2019-11-24) 1 commit
709
+ (merged to 'next' on 2019-11-27 at 6908186f85)
710
+ + sequencer: don't re-read todo for revert and cherry-pick
711
+
712
+ While running "revert" or "cherry-pick --edit" for multiple
713
+ commits, a recent regression incorrectly detected "nothing to
714
+ commit, working tree clean", instead of replaying the commits,
715
+ which has been corrected.
716
+
717
+ Will merge to 'master'.
718
+
719
+
720
+* sg/test-bool-env (2019-11-23) 2 commits
721
+ (merged to 'next' on 2019-11-27 at e1874e422f)
722
+ + t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
723
+ + tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
724
725
+ Recently we have declared that GIT_TEST_* variables take the
726
+ usual boolean values (it used to be that some used "non-empty
727
+ means true" and taking GIT_TEST_VAR=YesPlease as true); make
728
+ sure we notice and fail when non-bool strings are given to
729
+ these variables.
730
610
-* ma/t7004 (2019-11-14) 1 commit
611
- (merged to 'next' on 2019-11-19 at 789a0a0f05)
612
- + t7004: check existence of correct tag
731
+ Will merge to 'master'.
732
614
- Test fix.
733
616
- Will merge to 'master'.
734
+* as/t7812-missing-redirects-fix (2019-12-01) 2 commits
735
+ - t7812: expect failure for grep -i with invalid UTF-8 data
736
+ - t7812: add missing redirects
737
738
+ Test fix.
739
619
-* nn/doc-rebase-merges (2019-11-12) 1 commit
620
- (merged to 'next' on 2019-11-19 at db74ff488c)
621
- + doc: improve readability of --rebase-merges in git-rebase
740
+ Will merge to 'next'.
741
623
- Doc update.
742
625
- Will merge to 'master'.
743
+* jk/perf-wo-git-dot-pm (2019-11-27) 1 commit
744
+ - t/perf: don't depend on Git.pm
745
746
+ Test cleanup.
747
628
-* rs/parse-options-dup-null-fix (2019-11-13) 1 commit
629
- (merged to 'next' on 2019-11-19 at 73040e1605)
630
- + parse-options: avoid arithmetic on pointer that's potentially NULL
748
+ Will merge to 'next'.
749
632
- Code cleanup.
750
634
- Will merge to 'master'.
751
+* jt/clone-recursesub-ref-advise (2019-11-27) 2 commits
752
+ - submodule--helper: advise on fatal alternate error
753
+ - Documentation: explain submodule.alternateErrorStrategy
754
755
+ The interaction between "git clone --recurse-submodules" and
756
+ alternate object store was ill-designed. The documentation and
757
+ code have been taught to make more clear recommendations when the
758
+ users see failures.
759
637
-* rs/use-copy-array-in-mingw-shell-command-preparation (2019-11-13) 1 commit
638
- (merged to 'next' on 2019-11-19 at 52ee6a8887)
639
- + mingw: use COPY_ARRAY for copying array
760
+ Will merge to 'next'.
761
641
- Code cleanup.
762
643
- Will merge to 'master'.
763
+* ra/t5150-depends-on-perl (2019-11-27) 1 commit
764
+ . t5150: skip request-pull test if Perl is disabled
765
766
+ Some Porcelain commands are written in Perl, and tests on them are
767
+ expected not to work when the platform lacks a working perl.
768
646
-* sg/name-rev-wo-recursion (2019-11-13) 13 commits
647
- - name-rev: cleanup name_ref()
648
- - name-rev: eliminate recursion in name_rev()
649
- - name-rev: drop name_rev()'s 'generation' and 'distance' parameters
650
- - name-rev: restructure creating/updating 'struct rev_name' instances
651
- - name-rev: restructure parsing commits and applying date cutoff
652
- - name-rev: pull out deref handling from the recursion
653
- - name-rev: extract creating/updating a 'struct name_rev' into a helper
654
- - t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
655
- - name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
656
- - name-rev: avoid unnecessary cast in name_ref()
657
- - name-rev: use strbuf_strip_suffix() in get_rev_name()
658
- - t6120-describe: modernize the 'check_describe' helper
659
- - t6120-describe: correct test repo history graph in comment
769
+ Redo.
770
771
662
-* sg/skip-skipped-prereq (2019-11-13) 1 commit
663
- (merged to 'next' on 2019-11-19 at 10d344fed7)
664
- + test-lib: don't check prereqs of test cases that won't be run anyway
772
+* rs/simplify-prepare-cmd (2019-11-27) 1 commit
773
+ - run-command: use prepare_git_cmd() in prepare_cmd()
774
666
- Test update to avoid wasted cycles.
775
+ Code cleanup.
776
668
- Will merge to 'master'.
777
+ Will merge to 'next'.
778
779
671
-* tg/stash-refresh-index (2019-11-14) 1 commit
672
- (merged to 'next' on 2019-11-19 at 4d67af8d3f)
673
- + stash: make sure we have a valid index before writing it
780
+* rs/test-cleanup (2019-11-30) 7 commits
781
+ - t7811: don't create unused file
782
+ - t9300: don't create unused file
783
+ - test: use test_must_be_empty F instead of test_cmp empty F
784
+ - test: use test_must_be_empty F instead of test -z $(cat F)
785
+ - t1400: use test_must_be_empty
786
+ - t1410: use test_line_count
787
+ - t1512: use test_line_count
788
675
- Recent update to "git stash pop" made the command empty the index
676
- when run with the "--quiet" option, which has been corrected.
789
+ Test cleanup.
790
678
- Will merge to 'master'.
791
+ Will merge to 'next'.
792
793
681
-* am/pathspec-from-file (2019-11-20) 6 commits
682
- - commit: support the --pathspec-from-file option
683
- - doc: commit: synchronize <pathspec> description
684
- - reset: support the `--pathspec-from-file` option
685
- - doc: reset: synchronize <pathspec> description
686
- - pathspec: add new function to parse file
687
- - parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
794
+* rs/use-skip-prefix-more (2019-11-27) 5 commits
795
+ - name-rev: use skip_prefix() instead of starts_with()
796
+ - push: use skip_prefix() instead of starts_with()
797
+ - shell: use skip_prefix() instead of starts_with()
798
+ - fmt-merge-msg: use skip_prefix() instead of starts_with()
799
+ - fetch: use skip_prefix() instead of starts_with()
800
689
- A few commands learned to take the pathspec from the
690
- standard input or a named file, instead of taking it as the command
691
- line arguments.
801
+ Code cleanup.
802
803
Will merge to 'next'.
804
805
696
-* cb/curl-use-xmalloc (2019-11-07) 1 commit
697
- (merged to 'next' on 2019-11-19 at 1c587d0775)
698
- + remote-curl: unbreak http.extraHeader with custom allocators
806
+* sg/test-squelch-noise-in-commit-bulk (2019-11-27) 1 commit
807
+ - test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
808
700
- HTTP transport had possible allocator/deallocator mismatch, which
701
- has been corrected.
809
+ Code cleanup.
810
703
- Will merge to 'master'.
811
+ Will merge to 'next'.
812
813
706
-* ec/fetch-mark-common-refs-trace2 (2019-11-20) 1 commit
707
- (merged to 'next' on 2019-11-25 at c2b8e1546c)
708
- + fetch: add trace2 instrumentation
814
+* ag/sequencer-continue-leakfix (2019-11-30) 1 commit
815
+ - sequencer: fix a memory leak in sequencer_continue()
816
710
- Trace2 annotation.
817
+ Leakfix.
818
712
- Will merge to 'master'.
819
+ Will merge to 'next'.
820
821
715
-* en/misc-doc-fixes (2019-11-07) 3 commits
716
- (merged to 'next' on 2019-11-19 at 7222cf3720)
717
- + name-hash.c: remove duplicate word in comment
718
- + hashmap: fix documentation misuses of -> versus .
719
- + git-filter-branch.txt: correct argument name typo
822
+* bc/t9001-zsh-in-posix-emulation-mode (2019-11-30) 1 commit
823
+ - t9001: avoid including non-trailing NUL bytes in variables
824
721
- Misc doc fixes.
825
+ Test portability fix.
826
723
- Will merge to 'master'.
827
+ Will merge to 'next'.
828
829
726
-* en/t6024-style (2019-11-07) 1 commit
727
- (merged to 'next' on 2019-11-19 at b41c2ed21b)
728
- + t6024: modernize style
830
+* cs/store-packfiles-in-hashmap (2019-12-01) 1 commit
831
+ - packfile.c: speed up loading lots of packfiles
832
730
- Test updates.
833
+ In a repository with many packfiles, the cost of the procedure that
834
+ avoids registering the same packfile twice was unnecessarily high
835
+ by using an inefficient search algorithm, which has been corrected.
836
732
- Will merge to 'master'.
837
+ Will merge to 'next'.
838
839
735
-* ep/guard-kset-tar-headers (2019-11-07) 1 commit
736
- (merged to 'next' on 2019-11-21 at 6c9574b01d)
737
- + kset.h, tar.h: add missing header guard to prevent multiple inclusion
840
+* dd/time-reentrancy (2019-12-01) 3 commits
841
+ - mingw: use {gm,local}time_s as backend for {gm,local}time_r
842
+ - archive-zip.c: switch to reentrant localtime_r
843
+ - date.c: switch to reentrant {gm,local}time_r
844
739
- Code clean-up.
845
+ Avoid gmtime() and localtime() and prefer their reentrant
846
+ counterparts.
847
741
- Will merge to 'master'.
848
+ Will merge to 'next'.
849
850
744
-* js/fetch-multi-lockfix (2019-11-06) 2 commits
745
- (merged to 'next' on 2019-11-19 at b9683b7ec9)
746
- + fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
747
- + fetch: add the command-line option `--write-commit-graph`
851
+* em/test-skip-regex-illseq (2019-11-30) 1 commit
852
+ - t4210: skip i18n tests that don't work on FreeBSD
853
749
- Fetching from multiple remotes into the same repository in parallel
750
- had a bad interaction with the recent change to (optionally) update
751
- the commit-graph after a fetch job finishes, as these parallel
752
- fetches compete with each other. Which has been corrected.
854
+ Test portability fix.
855
754
- Will merge to 'master'.
856
+ Will merge to 'next'.
857
858
757
-* jt/fetch-remove-lazy-fetch-plugging (2019-11-13) 3 commits
758
- (merged to 'next' on 2019-11-19 at 1b26c28dcd)
759
- + promisor-remote: remove fetch_if_missing=0
760
- + clone: remove fetch_if_missing=0
761
- + fetch: remove fetch_if_missing=0
859
+* hi/gpg-use-check-signature (2019-11-30) 1 commit
860
+ - gpg-interface: prefer check_signature() for GPG verification
861
+ (this branch uses hi/gpg-optional-pkfp-fix.)
862
763
- "git fetch" codepath had a big "do not lazily fetch missing objects
764
- when I ask if something exists" switch. This has been corrected by
765
- marking the "does this thing exist?" calls with "if not please do not
766
- lazily fetch it" flag.
863
+ Hide lower-level verify_signed-buffer() API as a pure helper to
864
+ implement the public check_signature() function, in order to
865
+ encourage new callers to use the correct and more strict
866
+ validation.
867
768
- Will merge to 'master'.
868
+ Will merge to 'next'.
869
870
771
-* kw/fsmonitor-watchman-fix (2019-11-06) 1 commit
772
- (merged to 'next' on 2019-11-19 at ee786a5c39)
773
- + fsmonitor: fix watchman integration
871
+* hi/grep-do-not-return-void (2019-11-30) 1 commit
872
+ - grep: don't return an expression from pcre2_free()
873
775
- The watchman integration for fsmonitor was racy, which has been
776
- corrected to be more conservative.
874
+ Code cleanup.
875
778
- Will merge to 'master'.
876
+ Will merge to 'next'.
877
878
781
-* ln/userdiff-elixir (2019-11-10) 1 commit
782
- (merged to 'next' on 2019-11-19 at 6318918ba8)
783
- + userdiff: add Elixir to supported userdiff languages
879
+* jk/lore-is-the-archive (2019-11-30) 2 commits
880
+ - doc: replace public-inbox links with lore.kernel.org
881
+ - doc: recommend lore.kernel.org over public-inbox.org
882
785
- The patterns to detect function boundary for Elixir language has
786
- been added.
883
+ Doc update for the mailing list archiving and nntp service.
884
788
- Will merge to 'master'.
885
+ Will merge to 'next'.
886
887
791
-* ns/test-desc-typofix (2019-11-07) 1 commit
792
- (merged to 'next' on 2019-11-19 at 804861f385)
793
- + t: fix typo in test descriptions
888
+* jk/send-pack-check-negative-with-quick (2019-11-30) 1 commit
889
+ - send-pack: use OBJECT_INFO_QUICK to check negative objects
890
795
- Typofix.
891
+ Performance tweak on "git push" into a repository with many refs
892
+ that point at objects we have never heard of.
893
797
- Will merge to 'master'.
894
+ Will merge to 'next'.
895
896
800
-* py/shortlog-list-options-for-log (2019-11-10) 1 commit
801
- (merged to 'next' on 2019-11-19 at 92a10e39f7)
802
- + git-shortlog.txt: include commit limiting options
897
+* sg/osx-force-gcc-9 (2019-11-29) 1 commit
898
+ - ci: build Git with GCC 9 in the 'osx-gcc' build job
899
804
- Documentation pages for "git shortlog" now lists commit limiting
805
- options explicitly.
900
+ TravisCI update.
901
807
- Will merge to 'master'.
902
+ Will merge to 'next'.
903
904
+--------------------------------------------------
905
+[Stalled]
906
810
-* rs/trace2-dots (2019-11-06) 1 commit
811
- (merged to 'next' on 2019-11-19 at a045233ad0)
812
- + trace2: add dots directly to strbuf in perf_fmt_prepare()
907
+* po/bundle-doc-clonable (2019-10-21) 1 commit
908
+ - Doc: Bundle file usage
909
814
- Code cleanup.
910
+ Doc update.
911
816
- Will merge to 'master'.
912
+ Expecting a reroll.
913
914
819
-* dd/sequencer-utf8 (2019-11-11) 8 commits
820
- (merged to 'next' on 2019-11-19 at 9432ddc32c)
821
- + sequencer: reencode commit message for am/rebase --show-current-patch
822
- + sequencer: reencode old merge-commit message
823
- + sequencer: reencode squashing commit's message
824
- + sequencer: reencode revert/cherry-pick's todo list
825
- + sequencer: reencode to utf-8 before arrange rebase's todo list
826
- + t3900: demonstrate git-rebase problem with multi encoding
827
- + configure.ac: define ICONV_OMITS_BOM if necessary
828
- + t0028: eliminate non-standard usage of printf
915
+* js/advise-rebase-skip (2019-10-23) 3 commits
916
+ - commit: give correct advice for empty commit during a rebase
917
+ - sequencer: export the function to get the path of `.git/rebase-merge/`
918
+ - cherry-pick: add test for `--skip` advice in `git commit`
919
830
- Handling of commit objects that use non UTF-8 encoding during
831
- "rebase -i" has been improved.
920
+ The logic used in "git commit" to give hints and errors depending
921
+ on what operation was in progress learned to distinguish rebase and
922
+ cherry-pick better.
923
833
- Will merge to 'master'.
924
+ Kicked back to 'pu'.
925
+ cf. <nycvar.QRO.7.76.6.1911081508560.46@tvgsbejvaqbjf.bet>
926
927
836
-* dl/t5520-cleanup (2019-11-21) 15 commits
837
- - t5520: replace `! git` with `test_must_fail git`
838
- - t5520: remove redundant lines in test cases
839
- - t5520: replace $(cat ...) comparison with test_cmp
840
- - t5520: don't put git in upstream of pipe
841
- - t5520: test single-line files by git with test_cmp
842
- - t5520: use test_cmp_rev where possible
843
- - t5520: replace test -{n,z} with test-lib functions
844
- - t5520: use test_line_count where possible
845
- - t5520: remove spaces after redirect operator
846
- - t5520: replace test -f with test-lib functions
847
- - t5520: let sed open its own input
848
- - t5520: use sq for test case names
849
- - t5520: improve test style
850
- - t: teach test_cmp_rev to accept ! for not-equals
851
- - t0000: test multiple local assignment
928
+* vn/reset-deleted-ita (2019-07-26) 1 commit
929
+ - reset: unstage empty deleted ita files
930
853
- Test cleanup.
931
+ "git reset HEAD [<pathspec>]" did not reset an empty file that was
932
+ added with the intent-to-add bit.
933
855
- Will merge to 'next'.
934
+ Expecting a reroll.
935
936
858
-* js/builtin-add-i (2019-11-18) 9 commits
859
- (merged to 'next' on 2019-11-21 at caefa55b89)
860
- + built-in add -i: implement the `help` command
861
- + built-in add -i: use color in the main loop
862
- + built-in add -i: support `?` (prompt help)
863
- + built-in add -i: show unique prefixes of the commands
864
- + built-in add -i: implement the main loop
865
- + built-in add -i: color the header in the `status` command
866
- + built-in add -i: implement the `status` command
867
- + diff: export diffstat interface
868
- + Start to implement a built-in version of `git add --interactive`
869
- (this branch is used by js/builtin-add-i-cmds.)
937
+* jn/unknown-index-extensions (2018-11-21) 2 commits
938
+ - index: offer advice for unknown index extensions
939
+ - index: do not warn about unrecognized extensions
940
871
- The beginning of rewriting "git add -i" in C.
941
+ A bit too alarming warning given when unknown index extensions
942
+ exist is getting revamped.
943
873
- Will merge to 'master'.
944
+ Expecting a reroll.
945
946
876
-* es/myfirstcontrib-updates (2019-11-02) 3 commits
877
- (merged to 'next' on 2019-11-19 at 41d70e1db4)
878
- + myfirstcontrib: hint to find gitgitgadget allower
879
- + myfirstcontrib: add dependency installation step
880
- + myfirstcontrib: add 'psuh' to command-list.txt
947
+* jc/format-patch-delay-message-id (2019-04-05) 1 commit
948
+ - format-patch: move message-id and related headers to the end
949
882
- Doc updates.
950
+ The location "git format-patch --thread" adds the Message-Id:
951
+ header in the series of header fields has been moved down, which
952
+ may help working around a suspected bug in GMail MSA, reported at
953
+ <CAHk-=whP1stFZNAaJiMi5eZ9rj0MRt20Y_yHVczZPH+O01d+sA@mail.gmail.com>
954
884
- Will merge to 'master'.
955
+ Waiting for feedback to see if it truly helps.
956
+ Needs tests.
957
958
887
-* rt/fetch-message-fix (2019-11-02) 1 commit
888
- (merged to 'next' on 2019-11-19 at 69eb337cd8)
889
- + fetch.c: fix typo in a warning message
959
+* js/protocol-advertise-multi (2018-12-28) 1 commit
960
+ - protocol: advertise multiple supported versions
961
891
- A small message update.
962
+ The transport layer has been updated so that the protocol version
963
+ used can be negotiated between the parties, by the initiator
964
+ listing the protocol versions it is willing to talk, and the other
965
+ side choosing from one of them.
966
893
- Will merge to 'master'.
967
+ Expecting a reroll.
968
+ cf. <CANq=j3u-zdb_FvNJGPCmygNMScseav63GhVvBX3NcVS4f7TejA@mail.gmail.com>
969
+
970
+
971
+* mk/use-size-t-in-zlib (2018-10-15) 1 commit
972
+ - zlib.c: use size_t for size
973
974
+ The wrapper to call into zlib followed our long tradition to use
975
+ "unsigned long" for sizes of regions in memory, which have been
976
+ updated to use "size_t".
977
896
-* ra/rebase-i-more-options (2019-11-25) 7 commits
897
- - rebase -i: finishing touches to --reset-author-date
898
- - rebase: add --reset-author-date
899
- - rebase -i: support --ignore-date
900
- - sequencer: rename amend_author to author_to_rename
901
- - rebase -i: support --committer-date-is-author-date
902
- - sequencer: allow callers of read_author_script() to ignore fields
903
- - rebase -i: add --ignore-whitespace flag
978
+--------------------------------------------------
979
+[Cooking]
980
905
- "git rebase -i" learned a few options that are known by "git
906
- rebase" proper.
981
+* jh/userdiff-python-async (2019-11-20) 1 commit
982
+ (merged to 'next' on 2019-11-25 at 74e4a4ed9f)
983
+ + userdiff: support Python async functions
984
908
- Will merge to 'next'.
985
+ The userdiff machinery has been taught that "async def" is another
986
+ way to begin a "function" in Python.
987
988
+ Will merge to 'master'.
989
911
-* en/doc-typofix (2019-11-10) 10 commits
912
- (merged to 'next' on 2019-11-19 at e7bfe50de5)
913
- + Fix spelling errors in no-longer-updated-from-upstream modules
914
- + multimail: fix a few simple spelling errors
915
- + sha1dc: fix trivial comment spelling error
916
- + Fix spelling errors in test commands
917
- + Fix spelling errors in messages shown to users
918
- + Fix spelling errors in names of tests
919
- + Fix spelling errors in comments of testcases
920
- + Fix spelling errors in code comments
921
- + Fix spelling errors in documentation outside of Documentation/
922
- + Documentation: fix a bunch of typos, both old and new
990
924
- Docfix.
991
+* dl/pretty-reference (2019-11-20) 11 commits
992
+ - SubmittingPatches: use `--pretty=reference`
993
+ - pretty: implement 'reference' format
994
+ - pretty: add struct cmt_fmt_map::default_date_mode_type
995
+ - pretty: provide short date format
996
+ - t4205: cover `git log --reflog -z` blindspot
997
+ - pretty.c: inline initalize format_context
998
+ - revision: make get_revision_mark() return const pointer
999
+ - completion: complete `tformat:` pretty format
1000
+ - SubmittingPatches: remove dq from commit reference
1001
+ - pretty-formats.txt: use generic terms for hash
1002
+ - SubmittingPatches: use generic terms for hash
1003
926
- Will merge to 'master'.
1004
+ "git log" family learned "--pretty=ref" that gives the name of a
1005
+ commit in the format that is often used to refer to it in log
1006
+ messages.
1007
1008
+ Will merge to 'next'.
1009
929
-* dl/doc-diff-no-index-implies-exit-code (2019-11-02) 1 commit
930
- (merged to 'next' on 2019-11-19 at e2b2181e28)
931
- + git-diff.txt: document return code of `--no-index`
1010
933
- Doc update.
1011
+* hw/doc-in-header (2019-11-18) 20 commits
1012
+ - trace2: move doc to trace2.h
1013
+ - submodule-config: move doc to submodule-config.h
1014
+ - tree-walk: move doc to tree-walk.h
1015
+ - trace: move doc to trace.h
1016
+ - run-command: move doc to run-command.h
1017
+ - parse-options: add link to doc file in parse-options.h
1018
+ - credential: move doc to credential.h
1019
+ - argv-array: move doc to argv-array.h
1020
+ - cache: move doc to cache.h
1021
+ - sigchain: move doc to sigchain.h
1022
+ - pathspec: move doc to pathspec.h
1023
+ - revision: move doc to revision.h
1024
+ - attr: move doc to attr.h
1025
+ - refs: move doc to refs.h
1026
+ - remote: move doc to remote.h and refspec.h
1027
+ - sha1-array: move doc to sha1-array.h
1028
+ - merge: move doc to ll-merge.h
1029
+ - graph: move doc to graph.h and graph.c
1030
+ - dir: move doc to dir.h
1031
+ - diff: move doc to diff.h and diffcore.h
1032
935
- Will merge to 'master'.
1033
1034
+* js/builtin-add-i-cmds (2019-12-01) 9 commits
1035
+ - built-in add -i: offer the `quit` command
1036
+ - built-in add -i: re-implement the `diff` command
1037
+ - built-in add -i: implement the `patch` command
1038
+ - built-in add -i: re-implement `add-untracked` in C
1039
+ - built-in add -i: re-implement `revert` in C
1040
+ - built-in add -i: implement the `update` command
1041
+ - built-in add -i: prepare for multi-selection commands
1042
+ - built-in add -i: allow filtering the modified files list
1043
+ - add-interactive: make sure to release `rev.prune_data`
1044
+ (this branch uses js/builtin-add-i.)
1045
938
-* dl/submodule-set-url (2019-10-30) 1 commit
939
- - submodule: teach set-url subcommand
1046
+ "git add -i" that is getting rewritten in C has been extended to
1047
+ cover subcommands other than the "patch".
1048
941
- "git submodule" learned a subcommand "set-url".
1049
+ Will merge to 'next'.
1050
1051
944
-* js/vreportf-wo-buffering (2019-11-02) 1 commit
945
- (merged to 'next' on 2019-11-19 at cae61b9899)
946
- + vreportf(): avoid relying on stdio buffering
1052
+* js/rebase-r-safer-label (2019-11-18) 2 commits
1053
+ (merged to 'next' on 2019-11-21 at 791d51b0d7)
1054
+ + rebase -r: let `label` generate safer labels
1055
+ + rebase-merges: move labels' whitespace mangling into `label_oid()`
1056
+ (this branch is used by dd/rebase-merge-reserves-onto-label.)
1057
948
- Messages from die() etc. can be mixed up from multiple processes
949
- without even line buffering on Windows, which has been worked
950
- around.
1058
+ A label used in the todo list that are generated by "git rebase
1059
+ --rebase-merges" is used as a part of a refname; the logic to come
1060
+ up with the label has been tightened to avoid names that cannot be
1061
+ used as such.
1062
1063
Will merge to 'master'.
1064
1065
955
-* ma/bisect-doc-sample-update (2019-10-29) 1 commit
956
- (merged to 'next' on 2019-11-19 at bde6adce1b)
957
- + Documentation/git-bisect.txt: add --no-ff to merge command
1066
+* dd/rebase-merge-reserves-onto-label (2019-11-20) 1 commit
1067
+ (merged to 'next' on 2019-11-21 at a6e4e5af0a)
1068
+ + sequencer: handle rebase-merges for "onto" message
1069
+ (this branch uses js/rebase-r-safer-label.)
1070
959
- "git merge --no-commit" needs "--no-ff" if you do not want to move
960
- HEAD, which has been corrected in the manual page for "git bisect".
1071
+ The logic to avoid duplicate label names generated by "git rebase
1072
+ --rebase-merges" forgot that the machinery itself uses "onto" as a
1073
+ label name, which must be avoided by auto-generated labels, which
1074
+ has been corrected.
1075
1076
Will merge to 'master'.
1077
1078
965
-* mr/clone-dir-exists-to-path-exists (2019-10-29) 1 commit
966
- (merged to 'next' on 2019-11-19 at 07b6ab25de)
967
- + clone: rename static function `dir_exists()`.
1079
+* ma/config-bool-valex (2019-11-14) 8 commits
1080
+ - builtin/config: die if "value_regex" doesn't canonicalize as boolean
1081
+ - builtin/config: warn if "value_regex" doesn't canonicalize as boolean
1082
+ - builtin/config: canonicalize "value_regex" with `--type=bool-or-int`
1083
+ - builtin/config: canonicalize "value_regex" with `--type=bool`
1084
+ - builtin/config: collect "value_regexp" data in a struct
1085
+ - builtin/config: extract `handle_value_regex()` from `get_value()`
1086
+ - t1300: modernize part of script
1087
+ - config: make `git_parse_maybe_bool_text()` public
1088
969
- Code cleanup.
1089
+ "git config" can be told to affect the existing entries that
1090
+ "match" the given value via its value_regex argument. It learned
1091
+ to normalize the value set in the configuration and the value given
1092
+ from the command line before computing they "match", e.g. "true" in
1093
+ the configuration file can now match with "yes" given from the
1094
+ command line.
1095
971
- Will merge to 'master'.
1096
+ Needs a bit more work?
1097
+ cf. <CAN0heSrtwi9V607vBX9PMSfNLQ8iGcno6_iGuR4Fs8ndGxqh8A@mail.gmail.com>
1098
1099
974
-* pb/help-list-gitsubmodules-among-guides (2019-10-29) 1 commit
975
- (merged to 'next' on 2019-11-19 at 3c6f5c1901)
976
- + help: add gitsubmodules to the list of guides
1100
+* sg/name-rev-wo-recursion (2019-11-13) 13 commits
1101
+ - name-rev: cleanup name_ref()
1102
+ - name-rev: eliminate recursion in name_rev()
1103
+ - name-rev: drop name_rev()'s 'generation' and 'distance' parameters
1104
+ - name-rev: restructure creating/updating 'struct rev_name' instances
1105
+ - name-rev: restructure parsing commits and applying date cutoff
1106
+ - name-rev: pull out deref handling from the recursion
1107
+ - name-rev: extract creating/updating a 'struct name_rev' into a helper
1108
+ - t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
1109
+ - name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
1110
+ - name-rev: avoid unnecessary cast in name_ref()
1111
+ - name-rev: use strbuf_strip_suffix() in get_rev_name()
1112
+ - t6120-describe: modernize the 'check_describe' helper
1113
+ - t6120-describe: correct test repo history graph in comment
1114
978
- Help update.
1115
+ Redo "git name-rev" to avoid recursive calls.
1116
980
- Will merge to 'master'.
1117
+ Looks more-or-less ready for 'next'?
1118
+ cf. <20191127181322.171734-1-jonathantanmy@google.com>
1119
+ cf. <20191127180210.168901-1-jonathantanmy@google.com>
1120
+ cf. <20191112103821.30265-1-szeder.dev@gmail.com>
1121
1122
983
-* pb/no-recursive-reset-hard-in-worktree-add (2019-10-30) 1 commit
984
- (merged to 'next' on 2019-11-19 at cdfb0643e9)
985
- + worktree: teach "add" to ignore submodule.recurse config
1123
+* am/pathspec-from-file (2019-11-20) 6 commits
1124
+ (merged to 'next' on 2019-11-27 at ee131b80fb)
1125
+ + commit: support the --pathspec-from-file option
1126
+ + doc: commit: synchronize <pathspec> description
1127
+ + reset: support the `--pathspec-from-file` option
1128
+ + doc: reset: synchronize <pathspec> description
1129
+ + pathspec: add new function to parse file
1130
+ + parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
1131
987
- "git worktree add" internally calls "reset --hard" that should not
988
- descend into submodules, even when submodule.recurse configuration
989
- is set, but it was affected. This has been corrected.
1132
+ A few commands learned to take the pathspec from the
1133
+ standard input or a named file, instead of taking it as the command
1134
+ line arguments.
1135
1136
Will merge to 'master'.
1137
1138
994
-* sg/blame-indent-heuristics-is-now-the-default (2019-10-29) 1 commit
995
- (merged to 'next' on 2019-11-19 at 68e60f08cc)
996
- + builtin/blame.c: remove '--indent-heuristic' from usage string
1139
+* ec/fetch-mark-common-refs-trace2 (2019-11-20) 1 commit
1140
+ (merged to 'next' on 2019-11-25 at c2b8e1546c)
1141
+ + fetch: add trace2 instrumentation
1142
998
- Message update.
1143
+ Trace2 annotation.
1144
1145
Will merge to 'master'.
1146
1147
1003
-* jk/cleanup-object-parsing-and-fsck (2019-10-28) 23 commits
1004
- (merged to 'next' on 2019-11-10 at 50b2267a2a)
1005
- + fsck: accept an oid instead of a "struct tree" for fsck_tree()
1006
- + fsck: accept an oid instead of a "struct commit" for fsck_commit()
1007
- + fsck: accept an oid instead of a "struct tag" for fsck_tag()
1008
- + fsck: rename vague "oid" local variables
1009
- + fsck: don't require an object struct in verify_headers()
1010
- + fsck: don't require an object struct for fsck_ident()
1011
- + fsck: drop blob struct from fsck_finish()
1012
- + fsck: accept an oid instead of a "struct blob" for fsck_blob()
1013
- + fsck: don't require an object struct for report()
1014
- + fsck: only require an oid for skiplist functions
1015
- + fsck: only provide oid/type in fsck_error callback
1016
- + fsck: don't require object structs for display functions
1017
- + fsck: use oids rather than objects for object_name API
1018
- + fsck_describe_object(): build on our get_object_name() primitive
1019
- + fsck: unify object-name code
1020
- + fsck: require an actual buffer for non-blobs
1021
- + fsck: stop checking tag->tagged
1022
- + fsck: stop checking commit->parent counts
1023
- + fsck: stop checking commit->tree value
1024
- + commit, tag: don't set parsed bit for parse failures
1025
- + parse_tag_buffer(): treat NULL tag pointer as parse error
1026
- + parse_commit_buffer(): treat lookup_tree() failure as parse error
1027
- + parse_commit_buffer(): treat lookup_commit() failure as parse error
1028
-
1029
- Originally merged to 'next' on 2019-10-30
1148
+* ep/guard-kset-tar-headers (2019-11-07) 1 commit
1149
+ (merged to 'next' on 2019-11-21 at 6c9574b01d)
1150
+ + kset.h, tar.h: add missing header guard to prevent multiple inclusion
1151
1031
- Crufty code and logic accumulated over time around the object
1032
- parsing and low-level object access used in "git fsck" have been
1033
- cleaned up.
1152
+ Code clean-up.
1153
1154
Will merge to 'master'.
1155
1156
1038
-* po/bundle-doc-clonable (2019-10-21) 1 commit
1039
- - Doc: Bundle file usage
1157
+* dl/t5520-cleanup (2019-11-21) 15 commits
1158
+ (merged to 'next' on 2019-11-27 at 523d920acf)
1159
+ + t5520: replace `! git` with `test_must_fail git`
1160
+ + t5520: remove redundant lines in test cases
1161
+ + t5520: replace $(cat ...) comparison with test_cmp
1162
+ + t5520: don't put git in upstream of pipe
1163
+ + t5520: test single-line files by git with test_cmp
1164
+ + t5520: use test_cmp_rev where possible
1165
+ + t5520: replace test -{n,z} with test-lib functions
1166
+ + t5520: use test_line_count where possible
1167
+ + t5520: remove spaces after redirect operator
1168
+ + t5520: replace test -f with test-lib functions
1169
+ + t5520: let sed open its own input
1170
+ + t5520: use sq for test case names
1171
+ + t5520: improve test style
1172
+ + t: teach test_cmp_rev to accept ! for not-equals
1173
+ + t0000: test multiple local assignment
1174
1041
- Doc update.
1175
+ Test cleanup.
1176
1043
- Expecting a reroll.
1177
+ Will merge to 'master'.
1178
1179
1046
-* hw/config-doc-in-header (2019-10-24) 1 commit
1047
- (merged to 'next' on 2019-11-19 at 7f314c649e)
1048
- + config: move documentation to config.h
1180
+* js/builtin-add-i (2019-11-18) 9 commits
1181
+ (merged to 'next' on 2019-11-21 at caefa55b89)
1182
+ + built-in add -i: implement the `help` command
1183
+ + built-in add -i: use color in the main loop
1184
+ + built-in add -i: support `?` (prompt help)
1185
+ + built-in add -i: show unique prefixes of the commands
1186
+ + built-in add -i: implement the main loop
1187
+ + built-in add -i: color the header in the `status` command
1188
+ + built-in add -i: implement the `status` command
1189
+ + diff: export diffstat interface
1190
+ + Start to implement a built-in version of `git add --interactive`
1191
+ (this branch is used by js/builtin-add-i-cmds.)
1192
1050
- Follow recent push to move API docs from Documentation/ to header
1051
- files and update config.h
1193
+ The beginning of rewriting "git add -i" in C.
1194
1195
Will merge to 'master'.
1196
1197
1056
-* jc/log-graph-simplify (2019-11-13) 14 commits
1057
- (merged to 'next' on 2019-11-19 at de6360c648)
1058
- + t4215: use helper function to check output
1059
- (merged to 'next' on 2019-11-10 at 79d2b8ff98)
1060
- + graph: fix coloring of octopus dashes
1061
- + graph: flatten edges that fuse with their right neighbor
1062
- + graph: smooth appearance of collapsing edges on commit lines
1063
- + graph: rename `new_mapping` to `old_mapping`
1064
- + graph: commit and post-merge lines for left-skewed merges
1065
- + graph: tidy up display of left-skewed merges
1066
- + graph: example of graph output that can be simplified
1067
- + graph: extract logic for moving to GRAPH_PRE_COMMIT state
1068
- + graph: remove `mapping_idx` and `graph_update_width()`
1069
- + graph: reduce duplication in `graph_insert_into_new_columns()`
1070
- + graph: reuse `find_new_column_by_commit()`
1071
- + graph: handle line padding in `graph_next_line()`
1072
- + graph: automatically track display width of graph lines
1198
+* ra/rebase-i-more-options (2019-11-25) 7 commits
1199
+ (merged to 'next' on 2019-11-27 at e8a6d1e281)
1200
+ + rebase -i: finishing touches to --reset-author-date
1201
+ + rebase: add --reset-author-date
1202
+ + rebase -i: support --ignore-date
1203
+ + sequencer: rename amend_author to author_to_rename
1204
+ + rebase -i: support --committer-date-is-author-date
1205
+ + sequencer: allow callers of read_author_script() to ignore fields
1206
+ + rebase -i: add --ignore-whitespace flag
1207
1074
- The implementation of "git log --graph" got refactored and then its
1075
- output got simplified.
1208
+ "git rebase -i" learned a few options that are known by "git
1209
+ rebase" proper.
1210
1211
Will merge to 'master'.
1212
1213
1080
-* js/git-path-head-dot-lock-fix (2019-10-29) 2 commits
1081
- (merged to 'next' on 2019-11-19 at b406944979)
1082
- + git_path(): handle `.lock` files correctly
1083
- + t1400: wrap setup code in test case
1214
+* dl/submodule-set-url (2019-10-30) 1 commit
1215
+ - submodule: teach set-url subcommand
1216
1085
- "git rev-parse --git-path HEAD.lock" did not give the right path
1086
- when run in a secondary worktree.
1217
+ "git submodule" learned a subcommand "set-url".
1218
1088
- Will merge to 'master'.
1219
+ Will merge to 'next'.
1220
1221
1222
* ag/sequencer-todo-updates (2019-11-25) 5 commits
1092
- - sequencer: directly call pick_commits() from complete_action()
1093
- - rebase: fill `squash_onto' in get_replay_opts()
1094
- - sequencer: move the code writing total_nr on the disk to a new function
1095
- - sequencer: update `done_nr' when skipping commands in a todo list
1096
- - sequencer: update `total_nr' when adding an item to a todo list
1223
+ (merged to 'next' on 2019-11-27 at 3258d51dfc)
1224
+ + sequencer: directly call pick_commits() from complete_action()
1225
+ + rebase: fill `squash_onto' in get_replay_opts()
1226
+ + sequencer: move the code writing total_nr on the disk to a new function
1227
+ + sequencer: update `done_nr' when skipping commands in a todo list
1228
+ + sequencer: update `total_nr' when adding an item to a todo list
1229
1230
Reduce unnecessary reading of state variables back from the disk
1099
- during sequener operation.
1231
+ during sequencer operation.
1232
1101
- Will merge to 'next'.
1233
+ Will merge to 'master'.
1234
1235
1236
* mt/threaded-grep-in-object-store (2019-10-02) 11 commits