What's cooking (2017/10 #01)
Junio C Hamano committed
Oct 4, 2017 at 16:18 UTC
8c3450d755d7bb5662ad79f351c50f09ca559e71
1 file changed
+353
-315
whats-cooking.txt
+353
-315
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Sep 2017, #06; Fri, 29)
4
-X-master-at: ea220ee40cbb03a63ebad2be902057bf742492fd
5
-X-next-at: c088eec7b5eaefc58ab32b335cb69cb3d5e2cd78
3
+Subject: What's cooking in git.git (Oct 2017, #01; Wed, 4)
4
+X-master-at: 8fb8a945bc2dea2bb04249213ad8dacffbfc604f
5
+X-next-at: 6663358d3414aff4d7dac0c6f06cbfcc2cb48ddb
6
7
-What's cooking in git.git (Sep 2017, #06; Fri, 29)
7
+What's cooking in git.git (Oct 2017, #01; Wed, 4)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +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
+I wanted to do v2.15-rc0 today but it seems that this has to slip,
16
+with too many topics still in flight in 'next' among which many are
17
+fixes, one is even a fix for a recent regression.
18
+
19
You can find the changes described here in the integration branches
20
of the repositories listed at
21
@@ -20,336 +24,402 @@ of the repositories listed at
24
--------------------------------------------------
25
[Graduated to "master"]
26
23
-* hn/typofix (2017-09-22) 1 commit
24
- (merged to 'next' on 2017-09-25 at 489ad60f5b)
25
- + submodule.h: typofix
27
+* ad/doc-markup-fix (2017-09-29) 1 commit
28
+ (merged to 'next' on 2017-10-02 at fdf600e8f3)
29
+ + doc: correct command formatting
30
31
+ Docfix.
32
28
-* ic/fix-filter-branch-to-handle-tag-without-tagger (2017-09-22) 4 commits
29
- (merged to 'next' on 2017-09-25 at c7550033df)
30
- + filter-branch: use hash-object instead of mktag
31
- + filter-branch: stash away ref map in a branch
32
- + filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_*
33
- + filter-branch: reset $GIT_* before cleaning up
33
35
- "git filter-branch" cannot reproduce a history with a tag without
36
- the tagger field, which only ancient versions of Git allowed to be
37
- created. This has been corrected.
34
+* bc/rev-parse-parseopt-fix (2017-09-25) 7 commits
35
+ (merged to 'next' on 2017-09-26 at f3e013eaa4)
36
+ + parse-options: only insert newline in help text if needed
37
+ + parse-options: write blank line to correct output stream
38
+ + t0040,t1502: Demonstrate parse_options bugs
39
+ (merged to 'next' on 2017-09-24 at e479bce0ff)
40
+ + git-rebase: don't ignore unexpected command line arguments
41
+ + rev-parse parseopt: interpret any whitespace as start of help text
42
+ + rev-parse parseopt: do not search help text for flag chars
43
+ + t1502: demonstrate rev-parse --parseopt option mis-parsing
44
45
+ Recent versions of "git rev-parse --parseopt" did not parse the
46
+ option specification that does not have the optional flags (*=?!)
47
+ correctly, which has been corrected.
48
40
-* ik/userdiff-html-h-element-fix (2017-09-24) 1 commit
41
- (merged to 'next' on 2017-09-25 at e3cbe89672)
42
- + userdiff: fix HTML hunk header regexp
49
44
- The built-in pattern to detect the "function header" for HTML did
45
- not match <H1>..<H6> elements without any attributes, which has
46
- been fixed.
50
+* bw/git-clang-format (2017-10-01) 1 commit
51
+ (merged to 'next' on 2017-10-02 at ee84c89b07)
52
+ + clang-format: adjust line break penalties
53
+ (this branch is used by sb/git-clang-format.)
54
55
+ Adjust clang-format penalty parameters.
56
49
-* jc/merge-x-theirs-docfix (2017-09-25) 1 commit
50
- (merged to 'next' on 2017-09-26 at 5a7d954982)
51
- + merge-strategies: avoid implying that "-s theirs" exists
57
53
- The documentation for '-X<option>' for merges was misleadingly
54
- written to suggest that "-s theirs" exists, which is not the case.
58
+* hn/path-ownership-comment (2017-09-27) 2 commits
59
+ (merged to 'next' on 2017-09-28 at 7cf8481c29)
60
+ + read_gitfile_gently: clarify return value ownership.
61
+ + real_path: clarify return value ownership
62
63
+ Add comment to a few functions that use a short-lived buffer the
64
+ caller can peek and copy out of.
65
57
-* jk/describe-omit-some-refs (2017-09-17) 1 commit
58
- (merged to 'next' on 2017-09-24 at c373c71279)
59
- + describe: fix matching to actually match all patterns
60
- (this branch is used by mk/describe-match-with-all.)
66
62
- "git describe --match" learned to take multiple patterns in v2.13
63
- series, but the feature ignored the patterns after the first one
64
- and did not work at all. This has been fixed.
67
+* hn/string-list-doc (2017-09-27) 1 commit
68
+ (merged to 'next' on 2017-09-28 at ffc8f65f4a)
69
+ + string-list.h: move documentation from Documentation/api/ into header
70
71
+ Doc reorg.
72
67
-* jk/diff-blob (2017-09-22) 1 commit
68
- (merged to 'next' on 2017-09-25 at 38286c8ff5)
69
- + cat-file: handle NULL object_context.path
73
71
- "git cat-file --textconv" started segfaulting recently, which
72
- has been corrected.
74
+* hn/submodule-comment (2017-09-26) 1 commit
75
+ (merged to 'next' on 2017-09-28 at a071ca3fde)
76
+ + submodule.c: describe submodule_to_gitdir() in a new comment
77
78
75
-* jk/doc-read-tree-table-asciidoctor-fix (2017-09-24) 1 commit
76
- (merged to 'next' on 2017-09-25 at 070163b964)
77
- + doc: put literal block delimiter around table
79
+* jk/no-optional-locks (2017-09-27) 1 commit
80
+ (merged to 'next' on 2017-09-28 at eaffe9c638)
81
+ + git: add --no-optional-locks option
82
79
- A docfix.
83
+ Some commands (most notably "git status") makes an opportunistic
84
+ update when performing a read-only operation to help optimize later
85
+ operations in the same repository. The new "--no-optional-locks"
86
+ option can be passed to Git to disable them.
87
88
82
-* jk/fallthrough (2017-09-22) 3 commits
83
- (merged to 'next' on 2017-09-25 at ad96c37620)
84
- + consistently use "fallthrough" comments in switches
85
- + curl_trace(): eliminate switch fallthrough
86
- + test-line-buffer: simplify command parsing
89
+* jk/read-in-full (2017-09-27) 7 commits
90
+ (merged to 'next' on 2017-09-28 at 9d109b9233)
91
+ + worktree: check the result of read_in_full()
92
+ + worktree: use xsize_t to access file size
93
+ + distinguish error versus short read from read_in_full()
94
+ + avoid looking at errno for short read_in_full() returns
95
+ + prefer "!=" when checking read_in_full() result
96
+ + notes-merge: drop dead zero-write code
97
+ + files-backend: prefer "0" for write_in_full() error check
98
88
- Many codepaths have been updated to squelch -Wimplicit-fallthrough
89
- warnings from Gcc 7 (which is a good code hygiene).
99
+ Code clean-up to prevent future mistakes by copying and pasting
100
+ code that checks the result of read_in_full() function.
101
102
92
-* jm/status-ignored-directory-optim (2017-09-19) 1 commit
93
- (merged to 'next' on 2017-09-24 at ca50f5ed41)
94
- + Improve performance of git status --ignored
103
+* jk/validate-headref-fix (2017-09-27) 3 commits
104
+ (merged to 'next' on 2017-09-28 at dcea9d16f9)
105
+ + validate_headref: use get_oid_hex for detached HEADs
106
+ + validate_headref: use skip_prefix for symref parsing
107
+ + validate_headref: NUL-terminate HEAD buffer
108
96
- "git status --ignored", when noticing that a directory without any
97
- tracked path is ignored, still enumerated all the ignored paths in
98
- the directory, which is unnecessary. The codepath has been
99
- optimized to avoid this overhead.
109
+ Code clean-up.
110
111
102
-* js/win32-lazyload-dll (2017-09-26) 1 commit
103
- (merged to 'next' on 2017-09-26 at 04577bf1c5)
104
- + Win32: simplify loading of DLL functions
112
+* js/rebase-i-final (2017-07-27) 10 commits
113
+ (merged to 'next' on 2017-09-26 at ea3f8f5e11)
114
+ + rebase -i: rearrange fixup/squash lines using the rebase--helper
115
+ + t3415: test fixup with wrapped oneline
116
+ + rebase -i: skip unnecessary picks using the rebase--helper
117
+ + rebase -i: check for missing commits in the rebase--helper
118
+ + t3404: relax rebase.missingCommitsCheck tests
119
+ + rebase -i: also expand/collapse the SHA-1s via the rebase--helper
120
+ + rebase -i: do not invent onelines when expanding/collapsing SHA-1s
121
+ + rebase -i: remove useless indentation
122
+ + rebase -i: generate the script via rebase--helper
123
+ + t3415: verify that an empty instructionFormat is handled as before
124
106
- Add a helper in anticipation for its need in a future topic RSN.
125
+ The final batch to "git rebase -i" updates to move more code from
126
+ the shell script to C.
127
128
109
-* jt/fast-export-copy-modify-fix (2017-09-21) 1 commit
110
- (merged to 'next' on 2017-09-24 at c02bfe1902)
111
- + fast-export: do not copy from modified file
129
+* mh/mmap-packed-refs (2017-09-25) 21 commits
130
+ (merged to 'next' on 2017-09-29 at 3639417666)
131
+ + packed-backend.c: rename a bunch of things and update comments
132
+ + mmapped_ref_iterator: inline into `packed_ref_iterator`
133
+ + ref_cache: remove support for storing peeled values
134
+ + packed_ref_store: get rid of the `ref_cache` entirely
135
+ + ref_store: implement `refs_peel_ref()` generically
136
+ + packed_read_raw_ref(): read the reference from the mmapped buffer
137
+ + packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
138
+ + read_packed_refs(): ensure that references are ordered when read
139
+ + packed_ref_cache: keep the `packed-refs` file mmapped if possible
140
+ + packed-backend.c: reorder some definitions
141
+ + mmapped_ref_iterator_advance(): no peeled value for broken refs
142
+ + mmapped_ref_iterator: add iterator over a packed-refs file
143
+ + packed_ref_cache: remember the file-wide peeling state
144
+ + read_packed_refs(): read references with minimal copying
145
+ + read_packed_refs(): make parsing of the header line more robust
146
+ + read_packed_refs(): only check for a header at the top of the file
147
+ + read_packed_refs(): use mmap to read the `packed-refs` file
148
+ + die_unterminated_line(), die_invalid_line(): new functions
149
+ + packed_ref_cache: add a backlink to the associated `packed_ref_store`
150
+ + prefix_ref_iterator: break when we leave the prefix
151
+ + ref_iterator: keep track of whether the iterator output is ordered
152
113
- "git fast-export" with -M/-C option issued "copy" instruction on a
114
- path that is simultaneously modified, which was incorrect.
153
+ Operations that do not touch (majority of) packed refs have been
154
+ optimized by making accesses to packed-refs file lazy; we no longer
155
+ pre-parse everything, and an access to a single ref in the
156
+ packed-refs does not touch majority of irrelevant refs, either.
157
158
117
-* ks/doc-use-camelcase-for-config-name (2017-09-25) 1 commit
118
- (merged to 'next' on 2017-09-26 at 7b4d2115af)
119
- + doc: camelCase the config variables to improve readability
159
+* mr/doc-negative-pathspec (2017-09-25) 1 commit
160
+ (merged to 'next' on 2017-09-29 at 147bb7ef8b)
161
+ + docs: improve discoverability of exclude pathspec
162
121
- Doc update.
163
+ Doc updates.
164
165
124
-* ma/leakplugs (2017-09-24) 6 commits
125
- (merged to 'next' on 2017-09-25 at 69d381a96a)
126
- + pack-bitmap[-write]: use `object_array_clear()`, don't leak
127
- + object_array: add and use `object_array_pop()`
128
- + object_array: use `object_array_clear()`, not `free()`
129
- + leak_pending: use `object_array_clear()`, not `free()`
130
- + commit: fix memory leak in `reduce_heads()`
131
- + builtin/commit: fix memory leak in `prepare_index()`
166
+* sb/diff-color-move (2017-09-28) 1 commit
167
+ (merged to 'next' on 2017-09-28 at cbdbc741be)
168
+ + diff: correct newline in summary for renamed files
169
133
- Memory leaks in various codepaths have been plugged.
170
+ The output from "git diff --summary" was broken in a recent topic
171
+ that has been merged to 'master' and lost a LF after reporting of
172
+ mode change. This has been fixed.
173
174
136
-* mk/describe-match-with-all (2017-09-20) 2 commits
137
- (merged to 'next' on 2017-09-24 at f96d58dd83)
138
- + describe: teach --match to handle branches and remotes
139
- + Merge branch 'jk/describe-omit-some-refs' into mk/describe-match-with-all
175
+* sb/submodule-diff-header-fix (2017-09-28) 1 commit
176
+ (merged to 'next' on 2017-09-28 at 10e0f59303)
177
+ + submodule: correct error message for missing commits
178
141
- "git describe --match <pattern>" has been taught to play well with
142
- the "--all" option.
179
+ Error message tweak.
180
181
145
-* mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
146
- (merged to 'next' on 2017-09-26 at b4983ac027)
147
- + diff-delta: do not allow delta offset truncation
182
+* sb/test-submodule-update-config (2017-09-27) 1 commit
183
+ (merged to 'next' on 2017-09-28 at 497214603c)
184
+ + t7406: submodule.<name>.update command must not be run from .gitmodules
185
149
- The delta format used in the packfile cannot reference data at
150
- offset larger than what can be expressed in 4-byte, but the
151
- generator for the data failed to make sure the offset does not
152
- overflow. This has been corrected.
186
187
+* sd/branch-copy (2017-09-24) 4 commits
188
+ (merged to 'next' on 2017-09-28 at a6eceefa02)
189
+ + branch: fix "copy" to never touch HEAD
190
+ + branch: add a --copy (-c) option to go with --move (-m)
191
+ + branch: add test for -m renaming multiple config sections
192
+ + config: create a function to format section headers
193
155
-* mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
156
- (merged to 'next' on 2017-09-26 at 0ccd9346d7)
157
- + diff-delta: fix encoding size that would not fit in "unsigned int"
194
+ "git branch" learned "-c/-C" to create a new branch by copying an
195
+ existing one.
196
159
- The machinery to create xdelta used in pack files received the
160
- sizes of the data in size_t, but lost the higher bits of them by
161
- storing them in "unsigned int" during the computation, which is
162
- fixed.
197
+--------------------------------------------------
198
+[New Topics]
199
200
+* jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
201
+ - merge: teach -Xours/-Xtheirs to symbolic link merge
202
165
-* rj/no-sign-compare (2017-09-22) 4 commits
166
- (merged to 'next' on 2017-09-25 at 71ee264ce6)
167
- + ALLOC_GROW: avoid -Wsign-compare warnings
168
- + cache.h: hex2chr() - avoid -Wsign-compare warnings
169
- + commit-slab.h: avoid -Wsign-compare warnings
170
- + git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings
203
+ "git merge -Xours/-Xtheirs" learned to use our/their version when
204
+ resolving a conflicting updates to a symbolic link.
205
172
- Many codepaths have been updated to squelch -Wsign-compare
173
- warnings.
206
+ Needs review.
207
208
176
-* rs/mailinfo-qp-decode-fix (2017-09-24) 1 commit
177
- (merged to 'next' on 2017-09-25 at d48c594041)
178
- + mailinfo: don't decode invalid =XY quoted-printable sequences
209
+* jt/oidmap (2017-10-01) 1 commit
210
+ - oidmap: map with OID as key
211
180
- "git mailinfo" was loose in decoding quoted printable and produced
181
- garbage when the two letters after the equal sign are not
182
- hexadecimal. This has been fixed.
212
+ Introduce a new "oidmap" API and rewrite oidset to use it.
213
214
+ Will merge to 'next'.
215
185
-* rs/resolve-ref-optional-result (2017-09-24) 3 commits
186
- (merged to 'next' on 2017-09-25 at b0f31228bb)
187
- + refs: pass NULL to resolve_ref_unsafe() if hash is not needed
188
- + refs: pass NULL to refs_resolve_ref_unsafe() if hash is not needed
189
- + refs: make sha1 output parameter of refs_resolve_ref_unsafe() optional
216
191
- Code clean-up.
217
+* jt/partial-clone-lazy-fetch (2017-10-02) 18 commits
218
+ - fetch-pack: restore save_commit_buffer after use
219
+ - unpack-trees: batch fetching of missing blobs
220
+ - clone: configure blobmaxbytes in created repos
221
+ - clone: support excluding large blobs
222
+ - fetch: support excluding large blobs
223
+ - fetch: refactor calculation of remote list
224
+ - fetch-pack: support excluding large blobs
225
+ - pack-objects: support --blob-max-bytes
226
+ - pack-objects: rename want_.* to ignore_.*
227
+ - gc: do not repack promisor packfiles
228
+ - rev-list: support termination at promisor objects
229
+ - sha1_file: support lazily fetching missing objects
230
+ - introduce fetch-object: fetch one promisor object
231
+ - index-pack: refactor writing of .keep files
232
+ - fsck: support promisor objects as CLI argument
233
+ - fsck: support referenced promisor objects
234
+ - fsck: support refs pointing to promisor objects
235
+ - fsck: introduce partialclone extension
236
+
237
+ A journey for "git clone" and "git fetch" to become "lazier" by
238
+ depending more on its remote repository---this is the beginning of
239
+ it.
240
241
+ Needs review.
242
194
-* sb/doc-config-submodule-update (2017-09-24) 1 commit
195
- (merged to 'next' on 2017-09-25 at 447014b4ce)
196
- + Documentation/config: clarify the meaning of submodule.<name>.update
243
244
+* ma/builtin-unleak (2017-10-02) 1 commit
245
+ - builtin/: add UNLEAKs
246
199
-* sb/merge-commit-msg-hook (2017-09-22) 1 commit
200
- (merged to 'next' on 2017-09-25 at 096e0502a8)
201
- + Documentation/githooks: mention merge in commit-msg hook
247
+ Many variables that points at a region of memory that will live
248
+ throughout the life of the program have been marked with UNLEAK
249
+ marker to help the leak checkers concentrate on real leaks..
250
203
- As "git commit" to conclude a conflicted "git merge" honors the
204
- commit-msg hook, "git merge" that records a merge commit that
205
- cleanly auto-merges should, but it didn't.
206
- * sb/merge-commit-msg-hook (2017-09-22) 1 commit
207
- (merged to 'next' on 2017-09-25 at 096e0502a8)
208
- + Documentation/githooks: mention merge in commit-msg hook
251
210
- Add documentation for a topic that has recently graduated to the
211
- 'master' branch.
252
+* ma/lockfile-fixes (2017-10-02) 11 commits
253
+ - read-cache: roll back lock on error with `COMMIT_LOCK`
254
+ - read-cache: don't leave dangling pointer in `do_write_index()`
255
+ - read-cache: require flags for `write_locked_index()`
256
+ - cache.h: document `write_locked_index()`
257
+ - apply: remove `newfd` from `struct apply_state`
258
+ - apply: move lockfile into `apply_state`
259
+ - cache-tree: simplify locking logic
260
+ - tempfile: fix documentation on `delete_tempfile()`
261
+ - lockfile: fix documentation on `close_lock_file_gently()`
262
+ - treewide: prefer lockfiles on the stack
263
+ - sha1_file: do not leak `lock_file`
264
213
---------------------------------------------------
214
-[New Topics]
265
+ An earlier update made it possible to use an on-stack in-core
266
+ lockfile structure (as opposed to having to deliberately leak an
267
+ on-heap one). Many codepaths have been updated to take advantage
268
+ of this new facility.
269
216
-* er/fast-import-dump-refs-on-checkpoint (2017-09-29) 2 commits
217
- - SQUASH???
218
- - fast-import: checkpoint: dump branches/tags/marks even if object_count==0
270
220
- The checkpoint command "git fast-import" did not flush updates to
221
- refs and marks unless at least one object was created since the
222
- last checkpoint, which has been corrected, as these things can
223
- happen without any new object getting created.
271
+* rs/cleanup-strbuf-users (2017-10-02) 3 commits
272
+ (merged to 'next' on 2017-10-03 at 322ec33ad8)
273
+ + graph: use strbuf_addchars() to add spaces
274
+ + use strbuf_addstr() for adding strings to strbufs
275
+ + path: use strbuf_add_real_path()
276
277
+ Code clean-up.
278
226
-* hn/path-ownership-comment (2017-09-27) 2 commits
227
- (merged to 'next' on 2017-09-28 at 7cf8481c29)
228
- + read_gitfile_gently: clarify return value ownership.
229
- + real_path: clarify return value ownership
279
+ Will merge to 'master'.
280
231
- Add comment to a few functions that use a short-lived buffer the
232
- caller can peek and copy out of.
281
+
282
+* rs/cocci-de-paren-call-params (2017-10-02) 1 commit
283
+ (merged to 'next' on 2017-10-03 at ee97fe5c24)
284
+ + coccinelle: remove parentheses that become unnecessary
285
+
286
+ Code clean-up.
287
288
Will merge to 'master'.
289
290
237
-* hn/string-list-doc (2017-09-27) 1 commit
238
- (merged to 'next' on 2017-09-28 at ffc8f65f4a)
239
- + string-list.h: move documentation from Documentation/api/ into header
291
+* rs/run-command-use-alloc-array (2017-10-03) 1 commit
292
+ (merged to 'next' on 2017-10-03 at e3869b6c32)
293
+ + run-command: use ALLOC_ARRAY
294
241
- Doc reorg.
295
+ Code clean-up.
296
297
Will merge to 'master'.
298
299
246
-* hn/submodule-comment (2017-09-26) 1 commit
247
- (merged to 'next' on 2017-09-28 at a071ca3fde)
248
- + submodule.c: describe submodule_to_gitdir() in a new comment
300
+* rs/tag-null-pointer-arith-fix (2017-10-02) 1 commit
301
+ (merged to 'next' on 2017-10-03 at e05d92fec9)
302
+ + tag: avoid NULL pointer arithmetic
303
+
304
+ Code clean-up.
305
306
Will merge to 'master'.
307
308
253
-* jk/no-optional-locks (2017-09-27) 1 commit
254
- (merged to 'next' on 2017-09-28 at eaffe9c638)
255
- + git: add --no-optional-locks option
309
+* rs/use-free-and-null (2017-10-02) 1 commit
310
+ (merged to 'next' on 2017-10-03 at 6340234d67)
311
+ + repository: use FREE_AND_NULL
312
257
- Some commands (most notably "git status") makes an opportunistic
258
- update when performing a read-only operation to help optimize later
259
- operations in the same repository. The new "--no-optional-locks"
260
- option can be passed to Git to disable them.
313
+ Code clean-up.
314
315
Will merge to 'master'.
316
317
265
-* jk/read-in-full (2017-09-27) 7 commits
266
- (merged to 'next' on 2017-09-28 at 9d109b9233)
267
- + worktree: check the result of read_in_full()
268
- + worktree: use xsize_t to access file size
269
- + distinguish error versus short read from read_in_full()
270
- + avoid looking at errno for short read_in_full() returns
271
- + prefer "!=" when checking read_in_full() result
272
- + notes-merge: drop dead zero-write code
273
- + files-backend: prefer "0" for write_in_full() error check
318
+* sb/git-clang-format (2017-10-02) 1 commit
319
+ (merged to 'next' on 2017-10-03 at b40d47b9d5)
320
+ + clang-format: add a comment about the meaning/status of the
321
275
- Code clean-up to prevent future mistakes by copying and pasting
276
- code that checks the result of read_in_full() function.
322
+ Add comment to clarify that the style file is meant to be used with
323
+ clang-5 and the rules are still work in progress.
324
325
Will merge to 'master'.
326
327
281
-* jk/validate-headref-fix (2017-09-27) 3 commits
282
- (merged to 'next' on 2017-09-28 at dcea9d16f9)
283
- + validate_headref: use get_oid_hex for detached HEADs
284
- + validate_headref: use skip_prefix for symref parsing
285
- + validate_headref: NUL-terminate HEAD buffer
328
+* rs/resolve-ref-optional-result (2017-10-01) 2 commits
329
+ (merged to 'next' on 2017-10-03 at f129d4b0e9)
330
+ + refs: pass NULL to resolve_refdup() if hash is not needed
331
+ + refs: pass NULL to refs_resolve_refdup() if hash is not needed
332
333
Code clean-up.
334
335
Will merge to 'master'.
336
337
292
-* sb/diff-color-move (2017-09-28) 1 commit
293
- (merged to 'next' on 2017-09-28 at cbdbc741be)
294
- + diff: correct newline in summary for renamed files
338
+* ar/request-pull-phrasofix (2017-10-03) 1 commit
339
+ (merged to 'next' on 2017-10-03 at 07807bba90)
340
+ + request-pull: capitalise "Git" to make it a proper noun
341
296
- The output from "git diff --summary" was broken in a recent topic
297
- that has been merged to 'master' and lost a LF after reporting of
298
- mode change. This has been fixed.
342
+ Spell the name of our system as "Git" in the output from
343
+ request-pull script.
344
345
Will merge to 'master'.
346
347
303
-* sb/submodule-diff-header-fix (2017-09-28) 1 commit
304
- (merged to 'next' on 2017-09-28 at 10e0f59303)
305
- + submodule: correct error message for missing commits
348
+* tb/show-trailers-in-ref-filter (2017-10-02) 7 commits
349
+ - ref-filter.c: parse trailers arguments with %(contents) atom
350
+ - ref-filter.c: use trailer_opts to format trailers
351
+ - t6300: refactor %(trailers) tests
352
+ - doc: use "`<literal>`"-style quoting for literal strings
353
+ - doc: 'trailers' is the preferred way to format trailers
354
+ - t4205: unfold across multiple lines
355
+ - pretty.c: delimit "%(trailers)" arguments with ","
356
307
- Error message tweak.
357
+ "git for-each-ref --format=..." learned a new format element,
358
+ %(trailers), to show only the commit log trailer part of the log
359
+ message.
360
309
- Will merge to 'master'.
361
+ Will merge to 'next'.
362
363
312
-* sb/test-submodule-update-config (2017-09-27) 1 commit
313
- (merged to 'next' on 2017-09-28 at 497214603c)
314
- + t7406: submodule.<name>.update command must not be run from .gitmodules
364
+* jk/ui-color-always-to-auto (2017-10-04) 3 commits
365
+ - Merge branch 'jk/ui-color-always-to-auto-maint' into jk/ui-color-always-to-auto
366
+ - t7301: use test_terminal to check color
367
+ - t4015: use --color with --color-moved
368
+ (this branch uses jk/ui-color-always-to-auto-maint.)
369
316
- Will merge to 'master'.
370
371
+* jk/ui-color-always-to-auto-maint (2017-10-04) 10 commits
372
+ - color: make "always" the same as "auto" in config
373
+ - provide --color option for all ref-filter users
374
+ - t3205: use --color instead of color.branch=always
375
+ - t3203: drop "always" color test
376
+ - t6006: drop "always" color config tests
377
+ - t7502: use diff.noprefix for --verbose test
378
+ - t7508: use test_terminal for color output
379
+ - t3701: use test-terminal to collect color output
380
+ - t4015: prefer --color to -c color.diff=always
381
+ - test-terminal: set TERM=vt100
382
+ (this branch is used by jk/ui-color-always-to-auto.)
383
319
-* ad/doc-markup-fix (2017-09-29) 1 commit
320
- - doc: correct command formatting
384
322
- Docfix.
385
+* jn/strbuf-doc-re-reuse (2017-10-04) 1 commit
386
+ - strbuf doc: reuse after strbuf_release is fine
387
388
Will merge to 'next'.
389
390
327
-* jr/hash-migration-plan-doc (2017-09-28) 1 commit
328
- - technical doc: add a design doc for hash function transition
391
+* ks/branch-tweak-error-message-for-extra-args (2017-10-04) 1 commit
392
+ - branch: change the error messages to be more meaningful
393
330
- Lay out plans for weaning us off of SHA-1.
394
+ Error message tweak.
395
332
- Will merge to 'next'.
396
397
+* ks/verify-filename-non-option-error-message-tweak (2017-10-04) 1 commit
398
+ - setup: update error message to be more meaningful
399
335
-* ot/mru-on-list (2017-09-28) 1 commit
336
- - mru: use double-linked list from list.h
400
+ Error message tweak.
401
338
- The first step to getting rid of mru API and using the
339
- doubly-linked list API directly instead.
402
341
- Needs review.
342
- Outreachy.
403
+* rs/qsort-s (2017-10-04) 1 commit
404
+ - test-stringlist: avoid buffer underrun when sorting nothing
405
406
+ Will merge to 'next'.
407
345
-* rb/compat-poll-fix (2017-09-29) 1 commit
346
- - poll.c: always set revents, even if to zero
408
348
- Backports a moral equivalent of 2015 fix to the poll emulation from
349
- the upstream gnulib to fix occasional breakages on HPE NonStop.
409
+* sb/branch-avoid-repeated-strbuf-release (2017-10-04) 1 commit
410
+ - branch: reset instead of release a strbuf
411
351
- Needs review.
412
+ Will merge to 'next'.
413
+
414
+
415
+* tg/memfixes (2017-10-04) 3 commits
416
+ - sub-process: use child_process.args instead of child_process.argv
417
+ - http-push: fix construction of hex value from path
418
+ - path.c: fix uninitialized memory access
419
420
+ Fixes for a handful memory access issues identified by valgrind.
421
+
422
+ Will merge to 'next'.
423
424
--------------------------------------------------
425
[Stalled]
@@ -408,15 +478,45 @@ of the repositories listed at
478
--------------------------------------------------
479
[Cooking]
480
411
-* mr/doc-negative-pathspec (2017-09-25) 1 commit
412
- (merged to 'next' on 2017-09-29 at 147bb7ef8b)
413
- + docs: improve discoverability of exclude pathspec
481
+* er/fast-import-dump-refs-on-checkpoint (2017-09-29) 1 commit
482
+ (merged to 'next' on 2017-10-03 at 4e7b0e7ec1)
483
+ + fast-import: checkpoint: dump branches/tags/marks even if object_count==0
484
415
- Doc updates.
485
+ The checkpoint command "git fast-import" did not flush updates to
486
+ refs and marks unless at least one object was created since the
487
+ last checkpoint, which has been corrected, as these things can
488
+ happen without any new object getting created.
489
490
Will merge to 'master'.
491
492
493
+* jr/hash-migration-plan-doc (2017-09-28) 1 commit
494
+ - technical doc: add a design doc for hash function transition
495
+
496
+ Lay out plans for weaning us off of SHA-1.
497
+
498
+ Will merge to 'next'.
499
+
500
+
501
+* ot/mru-on-list (2017-10-01) 1 commit
502
+ - mru: use double-linked list from list.h
503
+
504
+ The first step to getting rid of mru API and using the
505
+ doubly-linked list API directly instead.
506
+
507
+ Needs review.
508
+ Outreachy.
509
+
510
+
511
+* rb/compat-poll-fix (2017-09-29) 1 commit
512
+ - poll.c: always set revents, even if to zero
513
+
514
+ Backports a moral equivalent of 2015 fix to the poll emulation from
515
+ the upstream gnulib to fix occasional breakages on HPE NonStop.
516
+
517
+ Needs review.
518
+
519
+
520
* jm/svn-pushmergeinfo-fix (2017-09-17) 1 commit
521
- git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames.
522
@@ -455,29 +555,12 @@ of the repositories listed at
555
What's the doneness of this one?
556
557
458
-* bc/rev-parse-parseopt-fix (2017-09-25) 7 commits
459
- (merged to 'next' on 2017-09-26 at f3e013eaa4)
460
- + parse-options: only insert newline in help text if needed
461
- + parse-options: write blank line to correct output stream
462
- + t0040,t1502: Demonstrate parse_options bugs
463
- (merged to 'next' on 2017-09-24 at e479bce0ff)
464
- + git-rebase: don't ignore unexpected command line arguments
465
- + rev-parse parseopt: interpret any whitespace as start of help text
466
- + rev-parse parseopt: do not search help text for flag chars
467
- + t1502: demonstrate rev-parse --parseopt option mis-parsing
468
-
469
- Recent versions of "git rev-parse --parseopt" did not parse the
470
- option specification that does not have the optional flags (*=?!)
471
- correctly, which has been corrected.
472
-
473
- Will merge to 'master'.
474
-
475
-
476
-* ds/find-unique-abbrev-optim (2017-09-19) 4 commits
477
- - SQUASH???
558
+* ds/find-unique-abbrev-optim (2017-10-03) 5 commits
559
+ - sha1_name: minimize OID comparisons during disambiguation
560
- sha1_name: parse less while finding common prefix
561
- sha1_name: unroll len loop in find_unique_abbrev_r()
480
- - sha1_name: create perf test for find_unique_abbrev()
562
+ - p0008-abbrev.sh: test find_unique_abbrev() perf
563
+ - test-list-objects: list a subset of object ids
564
565
566
* cc/perf-run-config (2017-09-24) 9 commits
@@ -506,46 +589,28 @@ of the repositories listed at
589
Waiting for review to conclude.
590
591
509
-* js/rebase-i-final (2017-07-27) 10 commits
510
- (merged to 'next' on 2017-09-26 at ea3f8f5e11)
511
- + rebase -i: rearrange fixup/squash lines using the rebase--helper
512
- + t3415: test fixup with wrapped oneline
513
- + rebase -i: skip unnecessary picks using the rebase--helper
514
- + rebase -i: check for missing commits in the rebase--helper
515
- + t3404: relax rebase.missingCommitsCheck tests
516
- + rebase -i: also expand/collapse the SHA-1s via the rebase--helper
517
- + rebase -i: do not invent onelines when expanding/collapsing SHA-1s
518
- + rebase -i: remove useless indentation
519
- + rebase -i: generate the script via rebase--helper
520
- + t3415: verify that an empty instructionFormat is handled as before
521
-
522
- The final batch to "git rebase -i" updates to move more code from
523
- the shell script to C.
524
-
525
- Will merge to 'master'.
526
-
527
-
528
-* bp/fsmonitor (2017-09-24) 12 commits
529
- - fsmonitor: add a performance test
530
- - fsmonitor: add a sample integration script for Watchman
531
- - fsmonitor: add test cases for fsmonitor extension
532
- - split-index: disable the fsmonitor extension when running the split index test
533
- - fsmonitor: add a test tool to dump the index extension
534
- - update-index: add fsmonitor support to update-index
535
- - ls-files: Add support in ls-files to display the fsmonitor valid bit
536
- - fsmonitor: add documentation for the fsmonitor extension.
537
- - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
538
- - update-index: add a new --force-write-index option
539
- - preload-index: add override to enable testing preload-index
540
- - bswap: add 64 bit endianness helper get_be64
592
+* bp/fsmonitor (2017-10-04) 13 commits
593
+ - fsmonitor: MINGW support for watchman integration
594
+ (merged to 'next' on 2017-10-02 at cf0c67979c)
595
+ + fsmonitor: add a performance test
596
+ + fsmonitor: add a sample integration script for Watchman
597
+ + fsmonitor: add test cases for fsmonitor extension
598
+ + split-index: disable the fsmonitor extension when running the split index test
599
+ + fsmonitor: add a test tool to dump the index extension
600
+ + update-index: add fsmonitor support to update-index
601
+ + ls-files: Add support in ls-files to display the fsmonitor valid bit
602
+ + fsmonitor: add documentation for the fsmonitor extension.
603
+ + fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
604
+ + update-index: add a new --force-write-index option
605
+ + preload-index: add override to enable testing preload-index
606
+ + bswap: add 64 bit endianness helper get_be64
607
608
We learned to talk to watchman to speed up "git status" and other
609
operations that need to see which paths have been modified.
610
545
- Looking mostly ready. Further comments?
611
547
-
548
-* bw/protocol-v1 (2017-09-27) 9 commits
612
+* bw/protocol-v1 (2017-10-04) 10 commits
613
+ - ssh: introduce a 'simple' ssh variant
614
- i5700: add interop test for protocol transition
615
- http: tell server that the client understands v1
616
- connect: tell server that the client understands v1
@@ -561,46 +626,13 @@ of the repositories listed at
626
without harming them.
627
628
564
-* mh/mmap-packed-refs (2017-09-25) 21 commits
565
- (merged to 'next' on 2017-09-29 at 3639417666)
566
- + packed-backend.c: rename a bunch of things and update comments
567
- + mmapped_ref_iterator: inline into `packed_ref_iterator`
568
- + ref_cache: remove support for storing peeled values
569
- + packed_ref_store: get rid of the `ref_cache` entirely
570
- + ref_store: implement `refs_peel_ref()` generically
571
- + packed_read_raw_ref(): read the reference from the mmapped buffer
572
- + packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
573
- + read_packed_refs(): ensure that references are ordered when read
574
- + packed_ref_cache: keep the `packed-refs` file mmapped if possible
575
- + packed-backend.c: reorder some definitions
576
- + mmapped_ref_iterator_advance(): no peeled value for broken refs
577
- + mmapped_ref_iterator: add iterator over a packed-refs file
578
- + packed_ref_cache: remember the file-wide peeling state
579
- + read_packed_refs(): read references with minimal copying
580
- + read_packed_refs(): make parsing of the header line more robust
581
- + read_packed_refs(): only check for a header at the top of the file
582
- + read_packed_refs(): use mmap to read the `packed-refs` file
583
- + die_unterminated_line(), die_invalid_line(): new functions
584
- + packed_ref_cache: add a backlink to the associated `packed_ref_store`
585
- + prefix_ref_iterator: break when we leave the prefix
586
- + ref_iterator: keep track of whether the iterator output is ordered
587
-
588
- Operations that do not touch (majority of) packed refs have been
589
- optimized by making accesses to packed-refs file lazy; we no longer
590
- pre-parse everything, and an access to a single ref in the
591
- packed-refs does not touch majority of irrelevant refs, either.
592
-
593
- Will merge to 'master'.
594
-
595
-
596
-* pc/submodule-helper (2017-09-25) 4 commits
629
+* pc/submodule-helper (2017-10-02) 3 commits
630
- submodule: port submodule subcommand 'status' from shell to C
598
- - submodule: port set_name_rev() from shell to C
631
- submodule--helper: introduce for_each_listed_submodule()
632
- submodule--helper: introduce get_submodule_displaypath()
633
634
GSoC.
603
- Looking better; it appeared to me that 3/4 is totally superfluous, though.
635
+ Is this ready for 'next'?
636
637
638
* bc/hash-algo (2017-08-20) 5 commits
@@ -693,14 +725,20 @@ of the repositories listed at
725
this release cycle.
726
727
696
-* sd/branch-copy (2017-09-24) 4 commits
697
- (merged to 'next' on 2017-09-28 at a6eceefa02)
698
- + branch: fix "copy" to never touch HEAD
699
- + branch: add a --copy (-c) option to go with --move (-m)
700
- + branch: add test for -m renaming multiple config sections
701
- + config: create a function to format section headers
728
+--------------------------------------------------
729
+[Discarded]
730
+
731
+* jc/ref-filter-colors-fix (2017-10-03) 2 commits
732
+ . colors: git_default_config() does not read color.ui
733
+ . Revert "color: check color.ui in git_default_config()"
734
+
735
+ Recent tip of 'master' and 'maint' (at least as of v2.14.2) has a
736
+ regression in "git add -p" for those who set ui.color=always in
737
+ their configuration, caused by us being overly aggressive in
738
+ allowing plumbing commands to honor the configuration to fix a
739
+ fallout from an earlier change that made everybody, even the
740
+ plumbing commands, to automatically color its output by default.
741
+ Revert it for now from the released version (and to be released
742
+ one) until we come up with a different fix to the problem.
743
703
- "git branch" learned "-c/-C" to create and switch to a new branch
704
- by copying an existing one.
744
706
- Will merge to 'master'.