What's cooking (2018/03 #01)
Junio C Hamano committed
Mar 1, 2018 at 14:15 UTC
2c1b63bb2ccb9b99580ff0128ee60c9201d50efb
1 file changed
+591
-514
whats-cooking.txt
+591
-514
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Feb 2018, #03; Wed, 21)
4
-X-master-at: e3a80781f5932f5fea12a49eb06f3ade4ed8945c
5
-X-next-at: 2e18187dfdb805eb42926ca430828b89b45f5da7
3
+Subject: What's cooking in git.git (Mar 2018, #01; Thu, 1)
4
+X-master-at: 7e31236f652ad9db221511eaf157ce0ef55585d6
5
+X-next-at: cb683e0bf615cfbbe729b561a6ca9484c4bf4596
6
7
-What's cooking in git.git (Feb 2018, #03; Wed, 21)
7
+What's cooking in git.git (Mar 2018, #01; Thu, 1)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -20,396 +20,529 @@ of the repositories listed at
20
--------------------------------------------------
21
[Graduated to "master"]
22
23
-* ab/sha1dc-build (2017-12-08) 3 commits
24
- (merged to 'next' on 2018-02-08 at ba9ff2b836)
25
- + sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
26
- + Makefile: under "make dist", include the sha1collisiondetection submodule
27
- + Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
23
+* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits
24
+ (merged to 'next' on 2018-02-14 at 11d2d07c4a)
25
+ + update-index doc: note the caveat with "could not open..."
26
+ + update-index doc: note a fixed bug in the untracked cache
27
+ (this branch uses nd/fix-untracked-cache-invalidation.)
28
29
- Push the submodule version of collision-detecting SHA-1 hash
30
- implementation a bit harder on builders.
29
+ Doc update to warn against remaining bugs in untracked cache.
30
31
33
-* ab/wildmatch-tests (2018-01-30) 10 commits
34
- (merged to 'next' on 2018-02-08 at f999a3d732)
35
- + wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
36
- + test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
37
- + wildmatch test: create & test files on disk in addition to in-memory
38
- + wildmatch test: perform all tests under all wildmatch() modes
39
- + wildmatch test: use test_must_fail, not ! for test-wildmatch
40
- + wildmatch test: remove dead fnmatch() test code
41
- + wildmatch test: use a paranoia pattern from nul_match()
42
- + wildmatch test: don't try to vertically align our output
43
- + wildmatch test: use more standard shell style
44
- + wildmatch test: indent with tabs, not spaces
32
+* as/ll-i18n (2018-02-13) 1 commit
33
+ (merged to 'next' on 2018-02-14 at b30154a04c)
34
+ + Mark messages for translations
35
46
- More tests for wildmatch functions.
36
+ Some messages in low level start-up codepath have been i18n-ized.
37
38
49
-* bc/hash-algo (2018-02-09) 13 commits
50
- (merged to 'next' on 2018-02-09 at 4437f3f132)
51
- + hash: update obsolete reference to SHA1_HEADER
52
- (merged to 'next' on 2018-02-08 at 18f36d12ed)
53
- + bulk-checkin: abstract SHA-1 usage
54
- + csum-file: abstract uses of SHA-1
55
- + csum-file: rename sha1file to hashfile
56
- + read-cache: abstract away uses of SHA-1
57
- + pack-write: switch various SHA-1 values to abstract forms
58
- + pack-check: convert various uses of SHA-1 to abstract forms
59
- + fast-import: switch various uses of SHA-1 to the_hash_algo
60
- + sha1_file: switch uses of SHA-1 to the_hash_algo
61
- + builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo
62
- + builtin/index-pack: improve hash function abstraction
63
- + hash: create union for hash context allocation
64
- + hash: move SHA-1 macros to hash.h
39
+* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit
40
+ (merged to 'next' on 2018-02-14 at 940e6dc7a5)
41
+ + docs/interpret-trailers: fix agreement error
42
66
- More abstraction of hash function from the codepath.
43
+ Docfix.
44
45
69
-* cc/perf-aggregate (2018-02-02) 3 commits
70
- (merged to 'next' on 2018-02-08 at d8f074e6fb)
71
- + perf/aggregate: sort JSON fields in output
72
- + perf/aggregate: add --reponame option
73
- + perf/aggregate: add --subsection option
46
+* bp/fsmonitor (2018-02-14) 1 commit
47
+ (merged to 'next' on 2018-02-14 at 5c508858fb)
48
+ + fsmonitor: update documentation to remove reference to invalid config settings
49
75
- "make perf" enhancement.
50
+ Doc update for a recently added feature.
51
52
78
-* en/merge-recursive-fixes (2018-01-19) 3 commits
79
- (merged to 'next' on 2018-02-08 at c254292070)
80
- + merge-recursive: add explanation for src_entry and dst_entry
81
- + merge-recursive: fix logic ordering issue
82
- + Tighten and correct a few testcases for merging and cherry-picking
83
- (this branch is used by en/rename-directory-detection.)
53
+* bp/name-hash-dirname-fix (2018-02-08) 1 commit
54
+ (merged to 'next' on 2018-02-14 at 2f564fb4b3)
55
+ + name-hash: properly fold directory names in adjust_dirname_case()
56
57
+ "git add" files in the same directory, but spelling the directory
58
+ path in different cases on case insensitive filesystem, corrupted
59
+ the name hash data structure and led to unexpected results. This
60
+ has been corrected.
61
86
-* gs/rebase-allow-empty-message (2018-02-07) 1 commit
87
- (merged to 'next' on 2018-02-08 at 9d81a2496c)
88
- + rebase: add --allow-empty-message option
62
90
- "git rebase" learned to take "--allow-empty-message" option.
63
+* es/worktree-add-post-checkout-hook (2018-02-15) 1 commit
64
+ (merged to 'next' on 2018-02-21 at 6ef6a130bf)
65
+ + worktree: add: fix 'post-checkout' not knowing new worktree location
66
67
+ "git worktree add" learned to run the post-checkout hook, just like
68
+ "git clone" runs it upon the initial checkout.
69
93
-* jc/worktree-add-short-help (2018-01-17) 1 commit
94
- (merged to 'next' on 2018-02-08 at 9f59ca72ab)
95
- + worktree: say that "add" takes an arbitrary commit in short-help
70
97
- Error message fix.
71
+* gs/test-unset-xdg-cache-home (2018-02-16) 1 commit
72
+ (merged to 'next' on 2018-02-21 at 9aec46d404)
73
+ + test-lib.sh: unset XDG_CACHE_HOME
74
75
+ Test update.
76
100
-* jt/fsck-code-cleanup (2018-01-23) 1 commit
101
- (merged to 'next' on 2018-02-08 at 199ad41486)
102
- + fsck: fix leak when traversing trees
77
104
- Plug recently introduced leaks in fsck.
78
+* jc/blame-missing-path (2018-02-07) 1 commit
79
+ (merged to 'next' on 2018-02-14 at 883d266e1e)
80
+ + blame: tighten command line parser
81
82
+ "git blame HEAD COPYING" in a bare repository failed to run, while
83
+ "git blame HEAD -- COPYING" run just fine. This has been corrected.
84
107
-* kg/packed-ref-cache-fix (2018-01-24) 6 commits
108
- (merged to 'next' on 2018-02-08 at 370f06a565)
109
- + packed_ref_cache: don't use mmap() for small files
110
- + load_contents(): don't try to mmap an empty file
111
- + packed_ref_iterator_begin(): make optimization more general
112
- + find_reference_location(): make function safe for empty snapshots
113
- + create_snapshot(): use `xmemdupz()` rather than a strbuf
114
- + struct snapshot: store `start` rather than `header_len`
85
116
- Avoid mmapping small files while using packed refs (especially ones
117
- with zero size, which would cause later munmap() to fail).
118
- A change to a binsearch loop to work around picky complers was
119
- unnecessarily hard to reason about, but it should do.
86
+* jk/doc-do-not-write-extern (2018-02-08) 1 commit
87
+ (merged to 'next' on 2018-02-14 at e55b5127de)
88
+ + CodingGuidelines: mention "static" and "extern"
89
90
+ Devdoc update.
91
122
-* lw/daemon-log-destination (2018-02-05) 1 commit
123
- (merged to 'next' on 2018-02-08 at da91bd56f4)
124
- + daemon: add --log-destination=(stderr|syslog|none)
92
126
- The log from "git daemon" can be redirected with a new option; one
127
- relevant use case is to send the log to standard error (instead of
128
- syslog) when running it from inetd.
93
+* jk/gettext-poison (2018-02-08) 2 commits
94
+ (merged to 'next' on 2018-02-14 at cca3719a59)
95
+ + git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
96
+ + t0205: drop redundant test
97
98
+ Test updates.
99
131
-* nd/format-patch-stat-width (2018-02-02) 2 commits
132
- (merged to 'next' on 2018-02-08 at c03e8a084e)
133
- + format-patch: reduce patch diffstat width to 72
134
- + format-patch: keep cover-letter diffstat wrapped in 72 columns
100
136
- "git format-patch" learned to give 72-cols to diffstat, which is
137
- consistent with other line length limits the subcommand uses for
138
- its output meant for e-mails.
101
+* jk/push-options-via-transport-fix (2018-02-20) 2 commits
102
+ (merged to 'next' on 2018-02-21 at a037cbfa2b)
103
+ + remote-curl: unquote incoming push-options
104
+ + t5545: factor out http repository setup
105
106
+ "git push" over http transport did not unquote the push-options
107
+ correctly.
108
141
-* nd/ignore-glob-doc-update (2018-02-02) 1 commit
142
- (merged to 'next' on 2018-02-08 at 22ba92e49b)
143
- + gitignore.txt: elaborate shell glob syntax
109
145
- Doc update.
110
+* jk/sq-dequote-on-bogus-input (2018-02-14) 1 commit
111
+ (merged to 'next' on 2018-02-14 at 75d4f1eaf8)
112
+ + sq_dequote: fix extra consumption of source string
113
114
+ Code to unquote single-quoted string (used in the parser for
115
+ configuration files, etc.) did not diagnose bogus input correctly
116
+ and produced bogus results instead.
117
148
-* nd/trace-index-ops (2018-02-02) 1 commit
149
- (merged to 'next' on 2018-02-08 at 91e362b26a)
150
- + trace: measure where the time is spent in the index-heavy operations
118
119
+* jk/t0002-simplify (2018-02-12) 1 commit
120
+ (merged to 'next' on 2018-02-14 at a7a24f5f29)
121
+ + t0002: simplify error checking
122
153
-* po/object-id (2018-01-30) 12 commits
154
- (merged to 'next' on 2018-02-08 at 701311e8ea)
155
- + sha1_file: rename hash_sha1_file_literally
156
- + sha1_file: convert write_loose_object to object_id
157
- + sha1_file: convert force_object_loose to object_id
158
- + sha1_file: convert write_sha1_file to object_id
159
- + notes: convert write_notes_tree to object_id
160
- + notes: convert combine_notes_* to object_id
161
- + commit: convert commit_tree* to object_id
162
- + match-trees: convert splice_tree to object_id
163
- + cache: clear whole hash buffer with oidclr
164
- + sha1_file: convert hash_sha1_file to object_id
165
- + dir: convert struct sha1_stat to use object_id
166
- + sha1_file: convert pretend_sha1_file to object_id
123
+ Code cleanup.
124
168
- Conversion from uchar[20] to struct object_id continues.
125
126
+* jk/test-hashmap-updates (2018-02-14) 6 commits
127
+ (merged to 'next' on 2018-02-14 at a61a9bd8f0)
128
+ + test-hashmap: use "unsigned int" for hash storage
129
+ + test-hashmap: simplify alloc_test_entry
130
+ + test-hashmap: use strbuf_getline rather than fgets
131
+ + test-hashmap: use xsnprintf rather than snprintf
132
+ + test-hashmap: check allocation computation for overflow
133
+ + test-hashmap: use ALLOC_ARRAY rather than bare malloc
134
171
-* rs/cocci-strbuf-addf-to-addstr (2018-02-02) 1 commit
172
- (merged to 'next' on 2018-02-08 at 0016008a97)
173
- + cocci: simplify check for trivial format strings
135
+ Code clean-up.
136
137
176
-* sb/pull-rebase-submodule (2018-01-25) 1 commit
177
- (merged to 'next' on 2018-02-08 at 38fa97f855)
178
- + builtin/pull: respect verbosity settings in submodules
138
+* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit
139
+ (merged to 'next' on 2018-02-14 at 27ebf001a1)
140
+ + rebase -p: fix incorrect commit message when calling `git merge`.
141
180
- "git pull --rebase" did not pass verbosity setting down when
181
- recursing into a submodule.
142
+ "git rebase -p" mangled log messages of a merge commit, which is
143
+ now fixed.
144
145
184
-* sg/test-i18ngrep (2018-02-08) 9 commits
185
- (merged to 'next' on 2018-02-08 at e83eb33909)
186
- + t: make 'test_i18ngrep' more informative on failure
187
- + t: validate 'test_i18ngrep's parameters
188
- + t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
189
- + t5536: let 'test_i18ngrep' read the file without redirection
190
- + t5510: consolidate 'grep' and 'test_i18ngrep' patterns
191
- + t4001: don't run 'git status' upstream of a pipe
192
- + t6022: don't run 'git merge' upstream of a pipe
193
- + t5812: add 'test_i18ngrep's missing filename parameter
194
- + t5541: add 'test_i18ngrep's missing filename parameter
146
+* js/packet-read-line-check-null (2018-02-08) 2 commits
147
+ (merged to 'next' on 2018-02-14 at 6ba237b284)
148
+ + always check for NULL return from packet_read_line()
149
+ + correct error messages for NULL packet_read_line()
150
+
151
+ Some low level protocol codepath could crash when they get an
152
+ unexpected flush packet, which is now fixed.
153
+
154
+
155
+* jt/binsearch-with-fanout (2018-02-15) 2 commits
156
+ (merged to 'next' on 2018-02-15 at 7648891022)
157
+ + packfile: refactor hash search with fanout table
158
+ + packfile: remove GIT_DEBUG_LOOKUP log statements
159
+ (this branch is used by ds/commit-graph.)
160
+
161
+ Refactor the code to binary search starting from a fan-out table
162
+ (which is how the packfile is indexed with object names) into a
163
+ reusable helper.
164
+
165
+
166
+* nd/am-quit (2018-02-14) 1 commit
167
+ (merged to 'next' on 2018-02-21 at 9a9cb40c2f)
168
+ + am: support --quit
169
+
170
+ "git am" has learned the "--quit" option, in addition to the existing
171
+ "--abort" option; having the pair mirrors a few other commands like
172
+ "rebase" and "cherry-pick".
173
196
- Test fixes.
174
175
+* nd/fix-untracked-cache-invalidation (2018-02-07) 5 commits
176
+ (merged to 'next' on 2018-02-08 at 23bd5a5d2d)
177
+ + dir.c: ignore paths containing .git when invalidating untracked cache
178
+ + dir.c: stop ignoring opendir() error in open_cached_dir()
179
+ + dir.c: fix missing dir invalidation in untracked code
180
+ + dir.c: avoid stat() in valid_cached_dir()
181
+ + status: add a failing test showing a core.untrackedCache bug
182
+ (this branch is used by ab/untracked-cache-invalidation-docs.)
183
199
-* tg/reset-hard-show-head-with-pretty (2018-02-02) 1 commit
200
- (merged to 'next' on 2018-02-08 at 596a4ec00d)
201
- + reset --hard: make use of the pretty machinery
184
+ Some bugs around "untracked cache" feature have been fixed.
185
+ Seems to uncover bad untracked cache information a bit too loudly,
186
+ for which there is ab/untracked-cache-invalidation-docs topic.
187
+ cf. <87d11omi2o.fsf@evledraar.gmail.com>
188
+ They have to graduate together.
189
203
- The way "git reset --hard" reports the commit the updated HEAD
204
- points at is made consistent with the way how the commit title is
205
- generated by the other parts of the system. This matters when the
206
- title is spread across physically multiple lines.
190
+
191
+* rd/typofix (2018-02-14) 2 commits
192
+ (merged to 'next' on 2018-02-14 at e770601de4)
193
+ + Correct mispellings of ".gitmodule" to ".gitmodules"
194
+ + t/: correct obvious typo "detahced"
195
+
196
+ Typofix.
197
+
198
+
199
+* rj/sparse-updates (2018-02-12) 2 commits
200
+ (merged to 'next' on 2018-02-14 at 072df8ed5b)
201
+ + Makefile: suppress a sparse warning for pack-revindex.c
202
+ + config.mak.uname: remove SPARSE_FLAGS setting for cygwin
203
+
204
+ Devtool update.
205
+
206
+
207
+* rs/check-ignore-multi (2018-02-12) 1 commit
208
+ (merged to 'next' on 2018-02-14 at 43cb0704af)
209
+ + check-ignore: fix mix of directories and other file types
210
+
211
+ "git check-ignore" with multiple paths got confused when one is a
212
+ file and the other is a directory, which has been fixed.
213
+
214
+
215
+* sb/describe-blob (2018-02-12) 1 commit
216
+ (merged to 'next' on 2018-02-14 at 23e4c13944)
217
+ + describe: confirm that blobs actually exist
218
+
219
+ "git describe $garbage" stopped giving any errors when the garbage
220
+ happens to be a string with 40 hexadecimal letters.
221
+
222
+
223
+* sb/status-doc-fix (2018-02-15) 1 commit
224
+ (merged to 'next' on 2018-02-21 at 5e68f3dac8)
225
+ + Documentation/git-status: clarify status table for porcelain mode
226
+
227
+ Docfix.
228
+
229
+
230
+* sg/doc-test-must-fail-args (2018-02-12) 1 commit
231
+ (merged to 'next' on 2018-02-14 at 28662d145b)
232
+ + t: document 'test_must_fail ok=<signal-name>'
233
+
234
+ Devdoc update.
235
+
236
+
237
+* tg/worktree-create-tracking (2018-02-16) 2 commits
238
+ (merged to 'next' on 2018-02-21 at 3e00a10cd8)
239
+ + git-worktree.txt: fix indentation of example and text of 'add' command
240
+ + git-worktree.txt: fix missing ")" typo
241
+
242
+ Hotfix for a recent topic.
243
+
244
+
245
+* tk/apply-dev-null-verify-name-fix (2018-02-15) 2 commits
246
+ (merged to 'next' on 2018-02-21 at dab449203b)
247
+ + apply: handle Subversion diffs with /dev/null gracefully
248
+ + apply: demonstrate a problem applying svn diffs
249
+
250
+ Many places in "git apply" knew that "/dev/null" that signals
251
+ "there is no such file on this side of the diff" can be followed by
252
+ whitespace and garbage when parsing a patch, except for one, which
253
+ made an otherwise valid patch (e.g. ones from subversion) rejected.
254
+
255
+
256
+* tz/do-not-clean-spec-file (2018-02-17) 1 commit
257
+ (merged to 'next' on 2018-02-21 at c1336418a8)
258
+ + Makefile: remove *.spec from clean target
259
+
260
+ We no longer create any *.spec file, so "make clean" should not
261
+ remove it.
262
263
--------------------------------------------------
264
[New Topics]
265
211
-* bp/fsmonitor (2018-02-14) 1 commit
212
- (merged to 'next' on 2018-02-14 at 5c508858fb)
213
- + fsmonitor: update documentation to remove reference to invalid config settings
266
+* jk/cached-commit-buffer (2018-02-22) 2 commits
267
+ (merged to 'next' on 2018-02-27 at af791d9a1e)
268
+ + revision: drop --show-all option
269
+ + commit: drop uses of get_cached_commit_buffer()
270
215
- Doc update for a recently added feature.
271
+ Code clean-up.
272
273
Will merge to 'master'.
274
275
220
-* jk/sq-dequote-on-bogus-input (2018-02-14) 1 commit
221
- (merged to 'next' on 2018-02-14 at 75d4f1eaf8)
222
- + sq_dequote: fix extra consumption of source string
276
+* jk/test-helper-v-output-fix (2018-02-22) 1 commit
277
+ (merged to 'next' on 2018-02-27 at c9109977e8)
278
+ + t: send verbose test-helper output to fd 4
279
224
- Code to unquote single-quoted string (used in the parser for
225
- configuration files, etc.) did not diagnose bogus input correctly
226
- and produced bogus results instead.
280
+ Test framework update.
281
282
Will merge to 'master'.
283
284
231
-* jk/test-hashmap-updates (2018-02-14) 6 commits
232
- (merged to 'next' on 2018-02-14 at a61a9bd8f0)
233
- + test-hashmap: use "unsigned int" for hash storage
234
- + test-hashmap: simplify alloc_test_entry
235
- + test-hashmap: use strbuf_getline rather than fgets
236
- + test-hashmap: use xsnprintf rather than snprintf
237
- + test-hashmap: check allocation computation for overflow
238
- + test-hashmap: use ALLOC_ARRAY rather than bare malloc
285
+* ld/p4-unshelve (2018-02-22) 1 commit
286
+ - git-p4: add unshelve command
287
+
288
+ "git p4" learned to "unshelve" shelved commit from P4.
289
+
290
+ Will merge to 'next'.
291
+
292
+
293
+* ms/non-ascii-ticks (2018-02-22) 1 commit
294
+ (merged to 'next' on 2018-02-27 at 41159fc4f0)
295
+ + Documentation/gitsubmodules.txt: avoid non-ASCII apostrophes
296
+
297
+ Doc markup fix.
298
+
299
+ Will merge to 'master'.
300
+
301
+
302
+* rs/strbuf-read-file-or-whine (2018-02-22) 1 commit
303
+ (merged to 'next' on 2018-02-27 at 56017cb5e2)
304
+ + sequencer: factor out strbuf_read_file_or_whine()
305
306
Code clean-up.
307
308
Will merge to 'master'.
309
310
245
-* nd/am-quit (2018-02-14) 1 commit
246
- (merged to 'next' on 2018-02-21 at 9a9cb40c2f)
247
- + am: support --quit
311
+* jk/strbuf-read-file-close-error (2018-02-23) 1 commit
312
+ (merged to 'next' on 2018-02-27 at c5dfe33335)
313
+ + strbuf_read_file(): preserve errno across close() call
314
249
- "git am" has learned "--quit" option, in addition to the existing
250
- "--abort" option; having the pair mirrors a few other commands like
251
- "rebase" and "cherry-pick".
315
+ Code clean-up.
316
317
Will merge to 'master'.
318
319
256
-* nd/tilde-expand-opt-file-value (2018-02-14) 2 commits
257
- - init-db: change --template type to OPTION_FILENAME
258
- - parse-options: expand $HOME on filename options
320
+* bw/perl-timegm-timelocal-fix (2018-02-23) 1 commit
321
+ (merged to 'next' on 2018-02-27 at 565a3141ce)
322
+ + perl: call timegm and timelocal with 4-digit year
323
260
- "git cmd --opt=~u/path/to/file" did not tilde-expand "~u" part to
261
- the path to the home directory of user 'u'
324
+ Y2k20 fix ;-) for our perl scripts.
325
263
- Will discard.
264
- This may make the resulting whole more confusing, though.
265
- cf. <87wozffavp.fsf@evledraar.gmail.com>
326
+ Will merge to 'master'.
327
328
268
-* rd/typofix (2018-02-14) 2 commits
269
- (merged to 'next' on 2018-02-14 at e770601de4)
270
- + Correct mispellings of ".gitmodule" to ".gitmodules"
271
- + t/: correct obvious typo "detahced"
329
+* ps/contains-id-error-message (2018-02-23) 1 commit
330
+ (merged to 'next' on 2018-02-27 at 9623d6817b)
331
+ + ref-filter: make "--contains <id>" less chatty if <id> is invalid
332
273
- Typofix.
333
+ "git tag --contains no-such-commit" gave a full list of options
334
+ after giving an error message.
335
336
Will merge to 'master'.
337
+ As a follow-up we may want to also handle "branch --points-at <object>"
338
+ that shares the same problem.
339
340
278
-* jc/allow-ff-merging-kept-tags (2018-02-16) 1 commit
279
- - merge: allow fast-forward when merging a tracked tag
341
+* rv/grep-cleanup (2018-02-23) 2 commits
342
+ - grep: simplify grep_oid and grep_file
343
+ - grep: move grep_source_init outside critical section
344
281
- Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
282
- the side branch being merged is a descendant of the current commit,
283
- create a merge commit instead of fast-forwarding) when merging a
284
- tag object. This was appropriate default for integrators who pull
285
- signed tags from their downstream contributors, but caused an
286
- unnecessary merges when used by downstream contributors who
287
- habitually "catch up" their topic branches with tagged releases
288
- from the upstream. Update "git merge" to default to --no-ff only
289
- when merging a tag object that does *not* sit at its usual place in
290
- refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
291
- mitigate the problem.
345
+ Threaded "git grep" has been optimized to avoid allocation in code
346
+ section that is covered under a mutex.
347
348
Will merge to 'next'.
349
350
296
-* ab/perl-fixes (2018-02-15) 2 commits
297
- - perl: move CPAN loader wrappers to another namespace
298
- - perl: *.pm files should not have the executable bit
351
+* sg/subtree-signed-commits (2018-02-23) 1 commit
352
+ - subtree: fix add and pull for GPG-signed commits
353
300
- Only the first few of a series of several small patches.
354
+ "git subtree" script (in contrib/) scripted around "git log", whose
355
+ output got affected by end-user configuration like log.showsignature
356
302
- Expecting a reroll.
357
+ Will merge to 'next'.
358
359
305
-* ab/simplify-perl-makefile (2018-02-15) 1 commit
306
- - Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets
360
+* ds/find-unique-abbrev-optim (2018-02-27) 1 commit
361
+ - sha1_name: fix uninitialized memory errors
362
308
- Hotfix for a topic already in 'master'.
363
+ While finding unique object name abbreviation, the code may
364
+ accidentally have read beyond the end of the array of object names
365
+ in a pack.
366
367
Will merge to 'next'.
368
369
313
-* es/worktree-add-post-checkout-hook (2018-02-15) 1 commit
314
- (merged to 'next' on 2018-02-21 at 6ef6a130bf)
315
- + worktree: add: fix 'post-checkout' not knowing new worktree location
370
+* ds/mark-parents-uninteresting-optim (2018-02-27) 1 commit
371
+ - revision.c: reduce object database queries
372
317
- "git worktree add" learned to run the post-checkout hook, just like
318
- "git clone" runs it upon the initial checkout.
373
+ Micro optimization in revision traversal code.
374
320
- Will merge to 'master'.
375
+ Will merge to 'next'.
376
377
323
-* sb/status-doc-fix (2018-02-15) 1 commit
324
- (merged to 'next' on 2018-02-21 at 5e68f3dac8)
325
- + Documentation/git-status: clarify status table for porcelain mode
378
+* jc/test-must-be-empty (2018-02-27) 1 commit
379
+ - test_must_be_empty: make sure the file exists, not just empty
380
+
381
+ Test framework tweak to catch developer thinko.
382
+
383
+ Will merge to 'next'.
384
+
385
+
386
+* ma/roll-back-lockfiles (2018-02-28) 5 commits
387
+ - sequencer: do not roll back lockfile unnecessarily
388
+ - merge: always roll back lock in `checkout_fast_forward()`
389
+ - merge-recursive: always roll back lock in `merge_recursive_generic()`
390
+ - sequencer: always roll back lock in `do_recursive_merge()`
391
+ - sequencer: make lockfiles non-static
392
+ (this branch is used by ma/skip-writing-unchanged-index.)
393
+
394
+ Some codepaths used to take a lockfile and did not roll it back;
395
+ they are automatically rolled back at program exit, so there is no
396
+ real "breakage", but it still is a good practice to roll back when
397
+ you are done with a lockfile.
398
+
399
+ Will merge to 'next'.
400
+
401
+
402
+* mk/doc-pretty-fill (2018-02-27) 1 commit
403
+ - docs/pretty-formats: fix typo '% <(<N>)' -> '%<|(<N>)'
404
405
Docfix.
406
329
- Will merge to 'master'.
407
+ Will merge to 'next'.
408
409
332
-* tk/apply-dev-null-verify-name-fix (2018-02-15) 2 commits
333
- (merged to 'next' on 2018-02-21 at dab449203b)
334
- + apply: handle Subversion diffs with /dev/null gracefully
335
- + apply: demonstrate a problem applying svn diffs
410
+* nd/remove-ignore-env-field (2018-02-28) 4 commits
411
+ - repository: delete ignore_env member
412
+ - sha1_file.c: move delayed getenv(altdb) back to setup_git_env()
413
+ - repository.c: delete dead functions
414
+ - repository.c: move env-related setup code back to environment.c
415
+ (this branch uses sb/object-store; is tangled with sb/packfiles-in-repository.)
416
337
- Many places in "git apply" knew that "/dev/null" that signals
338
- "there is no such file on this side of the diff" can be followed by
339
- whitespace and garbage when parsing a patch, except for one, which
340
- made an otherwise valid patch (e.g. ones from subversion) rejected.
417
342
- Will merge to 'master'.
418
+* rj/test-i18ngrep (2018-02-28) 2 commits
419
+ - t5536: simplify checking of messages output to stderr
420
+ - t4151: consolidate multiple calls to test_i18ngrep
421
422
+ Test updates.
423
345
-* gs/test-unset-xdg-cache-home (2018-02-16) 1 commit
346
- (merged to 'next' on 2018-02-21 at 9aec46d404)
347
- + test-lib.sh: unset XDG_CACHE_HOME
424
+ Will merge to 'next'.
425
349
- Test update.
426
351
- Will merge to 'master'.
427
+* rs/perf-repeat-thrice-by-default (2018-02-27) 1 commit
428
+ - perf: use GIT_PERF_REPEAT_COUNT=3 by default even without config file
429
430
+ Perf test regression fix.
431
354
-* tg/worktree-create-tracking (2018-02-16) 2 commits
355
- (merged to 'next' on 2018-02-21 at 3e00a10cd8)
356
- + git-worktree.txt: fix indentation of example and text of 'add' command
357
- + git-worktree.txt: fix missing ")" typo
432
+ Will merge to 'next'.
433
359
- Hotfix for a recent topic.
434
361
- Will merge to 'master'.
435
+* sb/object-store (2018-02-28) 27 commits
436
+ - sha1_file: allow sha1_loose_object_info to handle arbitrary repositories
437
+ - sha1_file: allow map_sha1_file to handle arbitrary repositories
438
+ - sha1_file: allow map_sha1_file_1 to handle arbitrary repositories
439
+ - sha1_file: allow open_sha1_file to handle arbitrary repositories
440
+ - sha1_file: allow stat_sha1_file to handle arbitrary repositories
441
+ - sha1_file: allow sha1_file_name to handle arbitrary repositories
442
+ - sha1_file: add repository argument to sha1_loose_object_info
443
+ - sha1_file: add repository argument to map_sha1_file
444
+ - sha1_file: add repository argument to map_sha1_file_1
445
+ - sha1_file: add repository argument to open_sha1_file
446
+ - sha1_file: add repository argument to stat_sha1_file
447
+ - sha1_file: add repository argument to sha1_file_name
448
+ - sha1_file: allow prepare_alt_odb to handle arbitrary repositories
449
+ - sha1_file: allow link_alt_odb_entries to handle arbitrary repositories
450
+ - sha1_file: add repository argument to prepare_alt_odb
451
+ - sha1_file: add repository argument to link_alt_odb_entries
452
+ - sha1_file: add repository argument to read_info_alternates
453
+ - sha1_file: add repository argument to link_alt_odb_entry
454
+ - sha1_file: add raw_object_store argument to alt_odb_usable
455
+ - pack: move approximate object count to object store
456
+ - pack: move prepare_packed_git_run_once to object store
457
+ - object-store: close all packs upon clearing the object store
458
+ - object-store: move packed_git and packed_git_mru to object store
459
+ - object-store: free alt_odb_list
460
+ - object-store: move alt_odb_list and alt_odb_tail to object store
461
+ - object-store: migrate alternates struct and functions from cache.h
462
+ - repository: introduce raw object store field
463
+ (this branch is used by nd/remove-ignore-env-field and sb/packfiles-in-repository.)
464
+
465
+ Refactoring the internal global data structure to make it possible
466
+ to open multiple repositories, work with and then close them.
467
+
468
+
469
+* sb/packfiles-in-repository (2018-02-28) 11 commits
470
+ - packfile: allow find_pack_entry to handle arbitrary repositories
471
+ - packfile: add repository argument to find_pack_entry
472
+ - packfile: allow reprepare_packed_git to handle arbitrary repositories
473
+ - packfile: allow prepare_packed_git to handle arbitrary repositories
474
+ - packfile: allow prepare_packed_git_one to handle arbitrary repositories
475
+ - packfile: add repository argument to reprepare_packed_git
476
+ - packfile: add repository argument to prepare_packed_git
477
+ - packfile: add repository argument to prepare_packed_git_one
478
+ - packfile: allow install_packed_git to handle arbitrary repositories
479
+ - packfile: allow rearrange_packed_git to handle arbitrary repositories
480
+ - packfile: allow prepare_packed_git_mru to handle arbitrary repositories
481
+ (this branch uses sb/object-store; is tangled with nd/remove-ignore-env-field.)
482
+
483
+
484
+* sg/test-x (2018-02-28) 11 commits
485
+ - travis-ci: run tests with '-x' tracing
486
+ - t/README: add a note about don't saving stderr of compound commands
487
+ - t1510-repo-setup: mark as untraceable with '-x'
488
+ - t9903-bash-prompt: don't check the stderr of __git_ps1()
489
+ - t5570-git-daemon: don't check the stderr of a subshell
490
+ - t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file
491
+ - t5500-fetch-pack: don't check the stderr of a subshell
492
+ - t3030-merge-recursive: don't check the stderr of a subshell
493
+ - t1507-rev-parse-upstream: don't check the stderr of a shell function
494
+ - t: add means to disable '-x' tracing for individual test scripts
495
+ - t: prevent '-x' tracing from interfering with test helpers' stderr
496
+
497
+ Running test scripts under -x option of the shell is often not a
498
+ useful way to debug them, because the error messages from the
499
+ commands tests try to capture and inspect are contaminated by the
500
+ tracing output by the shell. An earlier work done to make it more
501
+ pleasant to run tests under -x with recent versions of bash is
502
+ extended to cover posix shells that do not support BASH_XTRACEFD.
503
504
+ Will merge to 'next'.
505
364
-* jk/push-options-via-transport-fix (2018-02-20) 2 commits
365
- (merged to 'next' on 2018-02-21 at a037cbfa2b)
366
- + remote-curl: unquote incoming push-options
367
- + t5545: factor out http repository setup
506
369
- "git push" over http transport did not unquote the push-options
370
- correctly.
507
+* ab/gc-auto-in-commit (2018-03-01) 1 commit
508
+ - commit: run git gc --auto just before the post-commit hook
509
372
- Will merge to 'master'.
510
+ "git commit" used to run "gc --auto" near the end, which was lost
511
+ when the command was reimplemented in C by mistake.
512
513
+ Will merge to 'next'.
514
375
-* tz/do-not-clean-spec-file (2018-02-17) 1 commit
376
- (merged to 'next' on 2018-02-21 at c1336418a8)
377
- + Makefile: remove *.spec from clean target
515
379
- We no longer create any *.spec file, so "make clean" should not
380
- remove it.
516
+* ab/pre-auto-gc-battery (2018-02-28) 1 commit
517
+ - hooks/pre-auto-gc-battery: allow gc to run on non-laptops
518
382
- Will merge to 'master'.
519
+ A sample auto-gc hook (in contrib/) to skip auto-gc while on
520
+ battery has been updated to almost always allow running auto-gc
521
+ unless on_ac_power command is absolutely sure that we are on
522
+ battery power (earlier, it skipped unless the command is sure that
523
+ we are on ac power).
524
525
+ Will merge to 'next'.
526
385
-* bw/doc-submodule-recurse-config-with-clone (2018-02-21) 1 commit
386
- - submodule: indicate that 'submodule.recurse' doesn't apply to clone
527
388
- Doc update.
528
+* ag/userdiff-go-funcname (2018-03-01) 1 commit
529
+ - userdiff: add built-in pattern for golang
530
+
531
+ "git diff" and friends learned funcname patterns for Go language
532
+ source files.
533
534
Will merge to 'next'.
535
536
393
-* ds/commit-graph (2018-02-20) 13 commits
394
- - commit-graph: build graph from starting commits
395
- - commit-graph: read only from specific pack-indexes
396
- - commit: integrate commit graph with commit parsing
397
- - commit-graph: close under reachability
398
- - commit-graph: add core.commitGraph setting
399
- - commit-graph: implement --delete-expired
400
- - commit-graph: implement --set-latest
401
- - commit-graph: implement git commit-graph read
402
- - commit-graph: implement 'git-commit-graph write'
403
- - commit-graph: implement write_commit_graph()
404
- - commit-graph: create git-commit-graph builtin
405
- - graph: add commit graph design document
406
- - commit-graph: add format document
407
- (this branch uses jt/binsearch-with-fanout.)
537
+* ma/skip-writing-unchanged-index (2018-03-01) 1 commit
538
+ - write_locked_index(): add flag to avoid writing unchanged index
539
+ (this branch uses ma/roll-back-lockfiles.)
540
541
+ Internal API clean-up to allow write_locked_index() optionally skip
542
+ writing the in-core index when it is not modified.
543
410
-* ot/ref-filter-cleanup (2018-02-21) 2 commits
411
- - ref-filter: get rid of goto
412
- - ref-filter: get rid of duplicate code
544
+ May want to merge into ma/roll-back-lockfiles topic before merging
545
+ to 'next'.
546
547
--------------------------------------------------
548
[Stalled]
@@ -427,20 +560,7 @@ of the repositories listed at
560
* sg/travis-build-during-script-phase (2018-01-08) 1 commit
561
- travis-ci: build Git during the 'script' phase
562
430
- So... what do we want to do with this thing?
431
-
432
-
433
-* jh/status-no-ahead-behind (2018-01-24) 4 commits
434
- - status: support --no-ahead-behind in long format
435
- - status: update short status to respect --no-ahead-behind
436
- - status: add --[no-]ahead-behind to status and commit for V2 format.
437
- - stat_tracking_info: return +1 when branches not equal
438
-
439
- "git status" can spend a lot of cycles to compute the relation
440
- between the current branch and its upstream, which can now be
441
- disabled with "--no-ahead-behind" option.
442
-
443
- At v5; is this ready for 'next'?
563
+ Stalled for too long without any response; will discard.
564
565
566
* av/fsmonitor-updates (2018-01-04) 6 commits
@@ -483,8 +603,7 @@ of the repositories listed at
603
way that has been possible on Windows for quite some time, for
604
Linux, BSDs and Darwin.
605
486
- Tentatively kicked out of 'next' to see how well another topic
487
- ab/simplify-perl-makefile that heavily conflicts with this fares.
606
+ Perhaps it is about time to reboot the effort?
607
608
609
* mk/http-backend-content-length (2017-11-27) 4 commits
@@ -515,7 +634,7 @@ of the repositories listed at
634
build. As a workaround, refuse to run a build when tclsh is not
635
installed and NO_TCLTK is not set.
636
518
- Undecided.
637
+ Stalled for too long without any response; will discard.
638
I still feel that requring tclsh to be installed, with or without
639
"escape hatch" for experts, may be too heavy-handed.
640
@@ -544,7 +663,7 @@ of the repositories listed at
663
into the feature, without affecting the current callers that may not
664
be prepared to accept a guess that is not known to be correct.
665
547
- What's the doneness of this one?
666
+ Stalled for too long without any response; will discard.
667
668
669
* jk/drop-ancient-curl (2017-08-09) 5 commits
@@ -577,106 +696,131 @@ of the repositories listed at
696
"git status" learns an option to report various operations
697
(e.g. "merging") that the user is in the middle of.
698
699
+ Stalled for too long without any response; will discard.
700
cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
701
702
--------------------------------------------------
703
[Cooking]
704
585
-* bp/name-hash-dirname-fix (2018-02-08) 1 commit
586
- (merged to 'next' on 2018-02-14 at 2f564fb4b3)
587
- + name-hash: properly fold directory names in adjust_dirname_case()
705
+* jh/status-no-ahead-behind (2018-01-24) 4 commits
706
+ - status: support --no-ahead-behind in long format
707
+ - status: update short status to respect --no-ahead-behind
708
+ - status: add --[no-]ahead-behind to status and commit for V2 format.
709
+ - stat_tracking_info: return +1 when branches not equal
710
589
- "git add" files in the same directory, but spelling the directory
590
- path in different cases on case insensitive filesystem, corrupted
591
- the name hash data structure and led to unexpected results. This
592
- has been corrected.
711
+ "git status" can spend a lot of cycles to compute the relation
712
+ between the current branch and its upstream, which can now be
713
+ disabled with "--no-ahead-behind" option.
714
594
- Will merge to 'master'.
715
+ Will merge to 'next'.
716
717
597
-* jk/doc-do-not-write-extern (2018-02-08) 1 commit
598
- (merged to 'next' on 2018-02-14 at e55b5127de)
599
- + CodingGuidelines: mention "static" and "extern"
718
+* nd/tilde-expand-opt-file-value (2018-02-14) 2 commits
719
+ - init-db: change --template type to OPTION_FILENAME
720
+ - parse-options: expand $HOME on filename options
721
601
- Devdoc update.
722
+ "git cmd --opt=~u/path/to/file" did not tilde-expand "~u" part to
723
+ the path to the home directory of user 'u'
724
603
- Will merge to 'master'.
725
+ Will discard.
726
+ This may make the resulting whole more confusing, though.
727
+ cf. <87wozffavp.fsf@evledraar.gmail.com>
728
729
606
-* jk/gettext-poison (2018-02-08) 2 commits
607
- (merged to 'next' on 2018-02-14 at cca3719a59)
608
- + git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
609
- + t0205: drop redundant test
730
+* jc/allow-ff-merging-kept-tags (2018-02-16) 1 commit
731
+ (merged to 'next' on 2018-02-27 at 8b03610d2b)
732
+ + merge: allow fast-forward when merging a tracked tag
733
611
- Test updates.
734
+ Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
735
+ the side branch being merged is a descendant of the current commit,
736
+ create a merge commit instead of fast-forwarding) when merging a
737
+ tag object. This was appropriate default for integrators who pull
738
+ signed tags from their downstream contributors, but caused an
739
+ unnecessary merges when used by downstream contributors who
740
+ habitually "catch up" their topic branches with tagged releases
741
+ from the upstream. Update "git merge" to default to --no-ff only
742
+ when merging a tag object that does *not* sit at its usual place in
743
+ refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
744
+ mitigate the problem.
745
746
Will merge to 'master'.
747
748
616
-* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit
617
- (merged to 'next' on 2018-02-14 at 27ebf001a1)
618
- + rebase -p: fix incorrect commit message when calling `git merge`.
749
+* ab/perl-fixes (2018-02-27) 13 commits
750
+ - perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS
751
+ - Makefile: add NO_PERL_CPAN_FALLBACKS knob
752
+ - perl: move the perl/Git/FromCPAN tree to perl/FromCPAN
753
+ - perl: generalize the Git::LoadCPAN facility
754
+ - perl: move CPAN loader wrappers to another namespace
755
+ - perl: update our copy of Mail::Address
756
+ - perl: update our ancient copy of Error.pm
757
+ - git-send-email: unconditionally use Net::{SMTP,Domain}
758
+ - Git.pm: hard-depend on the File::{Temp,Spec} modules
759
+ - gitweb: hard-depend on the Digest::MD5 5.8 module
760
+ - Git.pm: add the "use warnings" pragma
761
+ - Git.pm: remove redundant "use strict" from sub-package
762
+ - perl: *.pm files should not have the executable bit
763
620
- "git rebase -p" mangled log messages of a merge commit, which is
621
- now fixed.
764
+ Only the first few of a series of several small patches.
765
623
- Will merge to 'master'.
766
+ Expecting a reroll.
767
768
626
-* js/packet-read-line-check-null (2018-02-08) 2 commits
627
- (merged to 'next' on 2018-02-14 at 6ba237b284)
628
- + always check for NULL return from packet_read_line()
629
- + correct error messages for NULL packet_read_line()
769
+* ab/simplify-perl-makefile (2018-02-15) 1 commit
770
+ (merged to 'next' on 2018-02-27 at b0d68a2013)
771
+ + Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets
772
631
- Some low level protocol codepath could crash when they get an
632
- unexpected flush packet, which is now fixed.
773
+ Hotfix for a topic already in 'master'.
774
775
Will merge to 'master'.
776
777
637
-* sb/color-h-cleanup (2018-02-13) 1 commit
638
- - color.h: document and modernize header
639
- (this branch is used by sb/blame-color.)
640
-
641
- Devdoc update.
642
-
643
- Will merge to 'next'.
644
-
645
-
646
-* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits
647
- (merged to 'next' on 2018-02-14 at 11d2d07c4a)
648
- + update-index doc: note the caveat with "could not open..."
649
- + update-index doc: note a fixed bug in the untracked cache
650
- (this branch uses nd/fix-untracked-cache-invalidation.)
778
+* bw/doc-submodule-recurse-config-with-clone (2018-02-21) 1 commit
779
+ (merged to 'next' on 2018-02-27 at 5b12841508)
780
+ + submodule: indicate that 'submodule.recurse' doesn't apply to clone
781
652
- Doc update to warn against remaining bugs in untracked cache.
782
+ Doc update.
783
784
Will merge to 'master'.
785
786
657
-* as/ll-i18n (2018-02-13) 1 commit
658
- (merged to 'next' on 2018-02-14 at b30154a04c)
659
- + Mark messages for translations
787
+* ds/commit-graph (2018-02-20) 13 commits
788
+ - commit-graph: build graph from starting commits
789
+ - commit-graph: read only from specific pack-indexes
790
+ - commit: integrate commit graph with commit parsing
791
+ - commit-graph: close under reachability
792
+ - commit-graph: add core.commitGraph setting
793
+ - commit-graph: implement --delete-expired
794
+ - commit-graph: implement --set-latest
795
+ - commit-graph: implement git commit-graph read
796
+ - commit-graph: implement 'git-commit-graph write'
797
+ - commit-graph: implement write_commit_graph()
798
+ - commit-graph: create git-commit-graph builtin
799
+ - graph: add commit graph design document
800
+ - commit-graph: add format document
801
661
- Some messages in low level start-up codepath have been i18n-ized.
802
+ Precompute and store information necessary for ancestry traversal
803
+ in a separate file to optimize graph walking.
804
663
- Will merge to 'master'.
805
+ Reroll exists, but it appears that there will be a further reroll.
806
+ cf. <1519698787-190494-1-git-send-email-dstolee@microsoft.com>
807
808
666
-* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit
667
- (merged to 'next' on 2018-02-14 at 940e6dc7a5)
668
- + docs/interpret-trailers: fix agreement error
809
+* ot/ref-filter-cleanup (2018-02-21) 2 commits
810
+ - ref-filter: get rid of goto
811
+ - ref-filter: get rid of duplicate code
812
670
- Docfix.
813
+ Code cleanup.
814
672
- Will merge to 'master'.
815
+ Will merge to 'next'.
816
817
675
-* jk/t0002-simplify (2018-02-12) 1 commit
676
- (merged to 'next' on 2018-02-14 at a7a24f5f29)
677
- + t0002: simplify error checking
818
+* sb/color-h-cleanup (2018-02-13) 1 commit
819
+ (merged to 'next' on 2018-02-27 at 617345de77)
820
+ + color.h: document and modernize header
821
+ (this branch is used by sb/blame-color.)
822
679
- Code cleanup.
823
+ Devdoc update.
824
825
Will merge to 'master'.
826
@@ -691,7 +835,7 @@ of the repositories listed at
835
pager setting when it is used for setting values (i.e. when the
836
purpose of the operation is not to "show").
837
694
- Waiting for discussion to conclude.
838
+ Is this ready for 'next'?
839
840
841
* ot/cat-batch-format (2018-02-12) 23 commits
@@ -724,66 +868,30 @@ of the repositories listed at
868
869
Allocates flex-array on stack, etc.
870
cf. <58b2bdcd-d621-fd21-ab4d-6a9478319b19@ramsayjones.plus.com>
727
-
728
-
729
-* rj/sparse-updates (2018-02-12) 2 commits
730
- (merged to 'next' on 2018-02-14 at 072df8ed5b)
731
- + Makefile: suppress a sparse warning for pack-revindex.c
732
- + config.mak.uname: remove SPARSE_FLAGS setting for cygwin
733
-
734
- Devtool update.
735
-
736
- Will merge to 'master'.
737
-
738
-
739
-* rs/check-ignore-multi (2018-02-12) 1 commit
740
- (merged to 'next' on 2018-02-14 at 43cb0704af)
741
- + check-ignore: fix mix of directories and other file types
742
-
743
- "git check-ignore" with multiple paths got confused when one is a
744
- file and the other is a directory, which has been fixed.
745
-
746
- Will merge to 'master'.
747
-
748
-
749
-* sb/describe-blob (2018-02-12) 1 commit
750
- (merged to 'next' on 2018-02-14 at 23e4c13944)
751
- + describe: confirm that blobs actually exist
752
-
753
- "git describe $garbage" stopped giving any errors when the garbage
754
- happens to be a string with 40 hexadecimal letters.
755
-
756
- Will merge to 'master'.
757
-
758
-
759
-* sg/doc-test-must-fail-args (2018-02-12) 1 commit
760
- (merged to 'next' on 2018-02-14 at 28662d145b)
761
- + t: document 'test_must_fail ok=<signal-name>'
762
-
763
- Devdoc update.
764
-
765
- Will merge to 'master'.
871
+ Will discard--a rebooted effort is beginning elsewhere.
872
873
874
* sg/t6300-modernize (2018-02-13) 1 commit
769
- - t6300-for-each-ref: fix "more than one quoting style" tests
875
+ (merged to 'next' on 2018-02-27 at b6f13b6915)
876
+ + t6300-for-each-ref: fix "more than one quoting style" tests
877
878
Test update.
879
773
- Will merge to 'next'.
880
+ Will merge to 'master'.
881
882
883
* xz/send-email-batch-size (2018-02-12) 1 commit
777
- - send-email: error out when relogin delay is missing
884
+ (merged to 'next' on 2018-02-27 at da0247d532)
885
+ + send-email: error out when relogin delay is missing
886
887
"git send-email" learned to complain when the batch-size option is
888
not defined when the relogin-delay option is, since these two are
889
mutually required.
890
783
- Will merge to 'next'.
891
+ Will merge to 'master'.
892
893
786
-* pw/add-p-recount (2018-02-20) 9 commits
894
+* pw/add-p-recount (2018-03-01) 9 commits
895
- add -p: don't rely on apply's '--recount' option
896
- add -p: fix counting when splitting and coalescing
897
- add -p: calculate offset delta for edited patches
@@ -803,9 +911,10 @@ of the repositories listed at
911
912
913
* pw/add-p-single (2018-02-13) 3 commits
806
- - add -p: improve error messages
807
- - add -p: only bind search key if there's more than one hunk
808
- - add -p: only display help for active keys
914
+ (merged to 'next' on 2018-02-27 at 0e2bd585e3)
915
+ + add -p: improve error messages
916
+ + add -p: only bind search key if there's more than one hunk
917
+ + add -p: only display help for active keys
918
919
"git add -p" used to offer "/" (look for a matching hunk) as a
920
choice, even there was only one hunk, which has been corrected.
@@ -813,48 +922,30 @@ of the repositories listed at
922
enabled (e.g. help for '/' won't be shown when there is only one
923
hunk).
924
816
- Will merge to 'next'.
925
+ Will merge to 'master'.
926
927
819
-* bp/untracked-cache-noflush (2018-02-05) 1 commit
928
+* bp/untracked-cache-noflush (2018-02-28) 2 commits
929
+ - untracked cache: use git_env_bool() not getenv() for customization
930
- dir.c: don't flag the index as dirty for changes to the untracked cache
931
932
Writing out the index file when the only thing that changed in it
933
is the untracked cache information is often wasteful, and this has
934
been optimized out.
935
826
- Waiting for the discussion to finish.
827
- cf. <CACsJy8DLP=j-h3knwX9zOpejAfUbv1YJwfB-iw4476oy0hTfxg@mail.gmail.com>
828
-
829
-
830
-* jc/blame-missing-path (2018-02-07) 1 commit
831
- (merged to 'next' on 2018-02-14 at 883d266e1e)
832
- + blame: tighten command line parser
833
-
834
- "git blame HEAD COPYING" in a bare repository failed to run, while
835
- "git blame HEAD -- COPYING" run just fine. This has been corrected.
836
-
837
- Will merge to 'master'.
838
-
839
-
840
-* jt/binsearch-with-fanout (2018-02-15) 2 commits
841
- (merged to 'next' on 2018-02-15 at 7648891022)
842
- + packfile: refactor hash search with fanout table
843
- + packfile: remove GIT_DEBUG_LOOKUP log statements
844
- (this branch is used by ds/commit-graph.)
845
-
846
- Refactor the code to binary search starting from a fan-out table
847
- (which is how the packfile is indexed with object names) into a
848
- reusable helper.
849
-
850
- Will merge to 'master'.
936
+ Will merge to 'next'.
937
938
853
-* nd/diff-stat-with-summary (2018-02-02) 2 commits
854
- - diff: add --stat-with-summary
939
+* nd/diff-stat-with-summary (2018-02-27) 2 commits
940
+ - diff: add --compact-summary
941
- diff.c: refactor pprint_rename() to use strbuf
942
857
- Waiting for the discussion to finish.
943
+ "git diff" and friends learned "--compact-summary" that shows the
944
+ information usually given with the "--summary" option on the same
945
+ line as the diffstat output of the "--stat" option (which saves
946
+ vertical space and keeps info on a single path at the same place).
947
+
948
+ Will merge to 'next'.
949
950
951
* nd/parseopt-completion (2018-02-09) 41 commits
@@ -932,105 +1023,111 @@ of the repositories listed at
1023
1024
1025
* nm/tag-edit (2018-02-07) 1 commit
935
- - tag: add --edit option
1026
+ (merged to 'next' on 2018-02-27 at 3bc8345213)
1027
+ + tag: add --edit option
1028
1029
"git tag" learned an explicit "--edit" option that allows the
1030
message given via "-m" and "-F" to be further edited.
1031
940
- Will merge to 'next'.
1032
+ Will merge to 'master'.
1033
+
1034
1035
* sm/mv-dry-run-update (2018-02-07) 2 commits
943
- - mv: remove unneeded 'if (!show_only)'
944
- - t7001: add test case for --dry-run
1036
+ (merged to 'next' on 2018-02-27 at 17eef62ddf)
1037
+ + mv: remove unneeded 'if (!show_only)'
1038
+ + t7001: add test case for --dry-run
1039
1040
Code clean-up.
1041
948
- Will merge to 'next'.
1042
+ Will merge to 'master'.
1043
1044
1045
* ab/fetch-prune (2018-02-09) 17 commits
952
- - fetch: make the --prune-tags work with <url>
953
- - fetch: add a --prune-tags option and fetch.pruneTags config
954
- - fetch tests: add scaffolding for the new fetch.pruneTags
955
- - git-fetch & config doc: link to the new PRUNING section
956
- - git remote doc: correct dangerous lies about what prune does
957
- - git fetch doc: add a new section to explain the ins & outs of pruning
958
- - fetch tests: fetch <url> <spec> as well as fetch [<remote>]
959
- - fetch tests: expand case/esac for later change
960
- - fetch tests: double quote a variable for interpolation
961
- - fetch tests: test --prune and refspec interaction
962
- - fetch tests: add a tag to be deleted to the pruning tests
963
- - fetch tests: re-arrange arguments for future readability
964
- - fetch tests: refactor in preparation for testing tag pruning
965
- - remote: add a macro for "refs/tags/*:refs/tags/*"
966
- - fetch: stop accessing "remote" variable indirectly
967
- - fetch: trivially refactor assignment to ref_nr
968
- - fetch: don't redundantly NULL something calloc() gave us
1046
+ (merged to 'next' on 2018-02-27 at eafb648dd9)
1047
+ + fetch: make the --prune-tags work with <url>
1048
+ + fetch: add a --prune-tags option and fetch.pruneTags config
1049
+ + fetch tests: add scaffolding for the new fetch.pruneTags
1050
+ + git-fetch & config doc: link to the new PRUNING section
1051
+ + git remote doc: correct dangerous lies about what prune does
1052
+ + git fetch doc: add a new section to explain the ins & outs of pruning
1053
+ + fetch tests: fetch <url> <spec> as well as fetch [<remote>]
1054
+ + fetch tests: expand case/esac for later change
1055
+ + fetch tests: double quote a variable for interpolation
1056
+ + fetch tests: test --prune and refspec interaction
1057
+ + fetch tests: add a tag to be deleted to the pruning tests
1058
+ + fetch tests: re-arrange arguments for future readability
1059
+ + fetch tests: refactor in preparation for testing tag pruning
1060
+ + remote: add a macro for "refs/tags/*:refs/tags/*"
1061
+ + fetch: stop accessing "remote" variable indirectly
1062
+ + fetch: trivially refactor assignment to ref_nr
1063
+ + fetch: don't redundantly NULL something calloc() gave us
1064
1065
Clarify how configured fetch refspecs interact with the "--prune"
1066
option of "git fetch", and also add a handy short-hand for getting
1067
rid of stale tags that are locally held.
1068
1069
+ Will merge to 'master'.
1070
+
1071
975
-* bw/c-plus-plus (2018-02-14) 38 commits
976
- - fixup! diff: rename 'this' variables
977
- - replace: rename 'new' variables
978
- - trailer: rename 'template' variables
979
- - tempfile: rename 'template' variables
980
- - wrapper: rename 'template' variables
981
- - environment: rename 'namespace' variables
982
- - diff: rename 'template' variables
983
- - environment: rename 'template' variables
984
- - init-db: rename 'template' variables
985
- - unpack-trees: rename 'new' variables
986
- - trailer: rename 'new' variables
987
- - submodule: rename 'new' variables
988
- - split-index: rename 'new' variables
989
- - remote: rename 'new' variables
990
- - ref-filter: rename 'new' variables
991
- - read-cache: rename 'new' variables
992
- - line-log: rename 'new' variables
993
- - imap-send: rename 'new' variables
994
- - http: rename 'new' variables
995
- - entry: rename 'new' variables
996
- - diffcore-delta: rename 'new' variables
997
- - diff: rename 'new' variables
998
- - diff-lib: rename 'new' variable
999
- - commit: rename 'new' variables
1000
- - combine-diff: rename 'new' variables
1001
- - remote: rename 'new' variables
1002
- - reflog: rename 'new' variables
1003
- - pack-redundant: rename 'new' variables
1004
- - help: rename 'new' variables
1005
- - checkout: rename 'new' variables
1006
- - apply: rename 'new' variables
1007
- - apply: rename 'try' variables
1008
- - diff: rename 'this' variables
1009
- - rev-parse: rename 'this' variable
1010
- - pack-objects: rename 'this' variables
1011
- - blame: rename 'this' variables
1012
- - object: rename function 'typename' to 'type_name'
1013
- - object_info: change member name from 'typename' to 'type_name'
1072
+* bw/c-plus-plus (2018-02-22) 37 commits
1073
+ (merged to 'next' on 2018-02-27 at daf85c03de)
1074
+ + replace: rename 'new' variables
1075
+ + trailer: rename 'template' variables
1076
+ + tempfile: rename 'template' variables
1077
+ + wrapper: rename 'template' variables
1078
+ + environment: rename 'namespace' variables
1079
+ + diff: rename 'template' variables
1080
+ + environment: rename 'template' variables
1081
+ + init-db: rename 'template' variables
1082
+ + unpack-trees: rename 'new' variables
1083
+ + trailer: rename 'new' variables
1084
+ + submodule: rename 'new' variables
1085
+ + split-index: rename 'new' variables
1086
+ + remote: rename 'new' variables
1087
+ + ref-filter: rename 'new' variables
1088
+ + read-cache: rename 'new' variables
1089
+ + line-log: rename 'new' variables
1090
+ + imap-send: rename 'new' variables
1091
+ + http: rename 'new' variables
1092
+ + entry: rename 'new' variables
1093
+ + diffcore-delta: rename 'new' variables
1094
+ + diff: rename 'new' variables
1095
+ + diff-lib: rename 'new' variable
1096
+ + commit: rename 'new' variables
1097
+ + combine-diff: rename 'new' variables
1098
+ + remote: rename 'new' variables
1099
+ + reflog: rename 'new' variables
1100
+ + pack-redundant: rename 'new' variables
1101
+ + help: rename 'new' variables
1102
+ + checkout: rename 'new' variables
1103
+ + apply: rename 'new' variables
1104
+ + apply: rename 'try' variables
1105
+ + diff: rename 'this' variables
1106
+ + rev-parse: rename 'this' variable
1107
+ + pack-objects: rename 'this' variables
1108
+ + blame: rename 'this' variables
1109
+ + object: rename function 'typename' to 'type_name'
1110
+ + object_info: change member name from 'typename' to 'type_name'
1111
1112
Avoid using identifiers that clash with C++ keywords. Even though
1113
it is not a goal to compile Git with C++ compilers, changes like
1114
this help use of code analysis tools that targets C++ on our
1115
codebase.
1116
1020
- Is the 'fixup!' cleanly squashable to the problematic one, or does
1021
- this series require another reroll to get it in a good enough shape?
1117
+ Will merge to 'master'.
1118
1119
1120
* nd/rebase-show-current-patch (2018-02-12) 3 commits
1025
- - rebase: introduce and use pseudo-ref REBASE_HEAD
1026
- - rebase: add --show-current-patch
1027
- - am: add --show-current-patch
1121
+ (merged to 'next' on 2018-02-27 at 5a4e23a77c)
1122
+ + rebase: introduce and use pseudo-ref REBASE_HEAD
1123
+ + rebase: add --show-current-patch
1124
+ + am: add --show-current-patch
1125
1126
The new "--show-current-patch" option gives an end-user facing way
1127
to get the diff being applied when "git rebase" (and "git am")
1128
stops with a conflict.
1129
1033
- Will merge to 'next'.
1130
+ Will merge to 'master'.
1131
1132
1133
* nd/worktree-move (2018-02-12) 7 commits
@@ -1044,8 +1141,7 @@ of the repositories listed at
1141
1142
"git worktree" learned move and remove subcommands.
1143
1047
- Expecting a reroll.
1048
- cf. <20180124095357.19645-1-pclouds@gmail.com>
1144
+ Will merge to 'next'.
1145
1146
1147
* cl/send-email-reply-to (2018-01-17) 2 commits
@@ -1058,7 +1154,7 @@ of the repositories listed at
1154
cf. <CAN0heSqxmLoh33i65JPhyQbmPaAcJcwrTCO+ZD4eb+qh8Pf8+w@mail.gmail.com>
1155
1156
1061
-* js/rebase-recreate-merge (2018-02-12) 12 commits
1157
+* js/rebase-recreate-merge (2018-02-23) 12 commits
1158
- rebase -i: introduce --recreate-merges=[no-]rebase-cousins
1159
- pull: accept --rebase=recreate to recreate the branch topology
1160
- sequencer: handle post-rewrite for merge commands
@@ -1075,12 +1171,13 @@ of the repositories listed at
1171
"git rebase" learned "--recreate-merges" to transplant the whole
1172
topology of commit graph elsewhere.
1173
1078
- Is this ready for 'next'?
1174
+ Will merge to 'next'.
1175
1176
1081
-* bw/protocol-v2 (2018-02-07) 35 commits
1177
+* bw/protocol-v2 (2018-03-01) 35 commits
1178
- remote-curl: don't request v2 when pushing
1179
- remote-curl: implement stateless-connect command
1180
+ - http: eliminate "# service" line when using protocol v2
1181
- http: don't always add Git-Protocol header
1182
- http: allow providing extra headers for http requests
1183
- remote-curl: store the protocol version the server responded with
@@ -1092,7 +1189,6 @@ of the repositories listed at
1189
- connect: don't request v2 when pushing
1190
- connect: refactor git_connect to only get the protocol version once
1191
- fetch-pack: support shallow requests
1095
- - upload-pack: support shallow requests
1192
- fetch-pack: perform a fetch using v2
1193
- upload-pack: introduce fetch server command
1194
- push: pass ref patterns when pushing
@@ -1112,13 +1208,13 @@ of the repositories listed at
1208
- upload-pack: factor out processing lines
1209
- upload-pack: convert to a builtin
1210
- pkt-line: add delim packet support
1115
- - pkt-line: introduce struct packet_reader
1211
+ - pkt-line: allow peeking a packet line without consuming it
1212
- pkt-line: introduce packet_read_with_status
1213
1214
The beginning of the next-gen transfer protocol.
1215
1216
1121
-* ls/checkout-encoding (2018-02-15) 7 commits
1217
+* ls/checkout-encoding (2018-03-01) 7 commits
1218
- convert: add round trip check based on 'core.checkRoundtripEncoding'
1219
- convert: add tracing for 'working-tree-encoding' attribute
1220
- convert: add 'working-tree-encoding' attribute
@@ -1131,10 +1227,9 @@ of the repositories listed at
1227
contents to the specified encoding when checking out to the working
1228
tree (and the other way around when checking in).
1229
1134
- Expecting a reroll.
1135
- The code and general design looked ready. The documentation needs
1136
- to be refined to unconfuse general audience.
1137
- cf. <xmqq1shk7o2y.fsf@gitster-ct.c.googlers.com>
1230
+ Expecting a reroll; it is almost there, though.
1231
+ cf. <CAPig+cR81J3fTOtrgAumAs=RC5hqYFfSmeb-ru-Yf_ahFuBiew@mail.gmail.com>
1232
+ cf. <8EE59DC3-69E0-412B-AC50-5D348D6D5BE0@gmail.com>
1233
1234
1235
* sb/blame-color (2018-02-13) 3 commits
@@ -1148,25 +1243,7 @@ of the repositories listed at
1243
error messages are funny, can segfault, ...
1244
1245
1151
-* nd/fix-untracked-cache-invalidation (2018-02-07) 5 commits
1152
- (merged to 'next' on 2018-02-08 at 23bd5a5d2d)
1153
- + dir.c: ignore paths containing .git when invalidating untracked cache
1154
- + dir.c: stop ignoring opendir() error in open_cached_dir()
1155
- + dir.c: fix missing dir invalidation in untracked code
1156
- + dir.c: avoid stat() in valid_cached_dir()
1157
- + status: add a failing test showing a core.untrackedCache bug
1158
- (this branch is used by ab/untracked-cache-invalidation-docs.)
1159
-
1160
- Some bugs around "untracked cache" feature have been fixed.
1161
-
1162
- Will merge to 'master'.
1163
- Seems to uncover bad untracked cache information a bit too loudly,
1164
- for which there is ab/untracked-cache-invalidation-docs topic.
1165
- cf. <87d11omi2o.fsf@evledraar.gmail.com>
1166
- They have to graduate together.
1167
-
1168
-
1169
-* en/rename-directory-detection (2018-02-14) 29 commits
1246
+* en/rename-directory-detection (2018-02-27) 29 commits
1247
- merge-recursive: ensure we write updates for directory-renamed file
1248
- merge-recursive: avoid spurious rename/rename conflict from dir renames
1249
- directory rename detection: new testcases showcasing a pair of bugs