What's cooking (2017/10 #02)
Junio C Hamano committed
Oct 11, 2017 at 15:18 UTC
10d07ef2699b869badeefc4a092dcf1ef45f0008
1 file changed
+329
-318
whats-cooking.txt
+329
-318
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Oct 2017, #01; Wed, 4)
4
-X-master-at: 8fb8a945bc2dea2bb04249213ad8dacffbfc604f
5
-X-next-at: 6663358d3414aff4d7dac0c6f06cbfcc2cb48ddb
3
+Subject: What's cooking in git.git (Oct 2017, #02; Wed, 11)
4
+X-master-at: 111ef79afe185f8731920569450f6a65320f5d5f
5
+X-next-at: 92ea9504509327dacaba929d631d198e57533c14
6
7
-What's cooking in git.git (Oct 2017, #01; Wed, 4)
7
+What's cooking in git.git (Oct 2017, #02; Wed, 11)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,9 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-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.
15
+2.15-rc1 has been tagged. Some of the topic marked "Will merge to
16
+'master'" below might still become part of 2.15 final, while others
17
+may be left to be merged after the final, to become part of the
18
+release after that one (2.16?).
19
20
You can find the changes described here in the integration branches
21
of the repositories listed at
@@ -24,248 +25,145 @@ of the repositories listed at
25
--------------------------------------------------
26
[Graduated to "master"]
27
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
+* ar/request-pull-phrasofix (2017-10-03) 1 commit
29
+ (merged to 'next' on 2017-10-03 at 07807bba90)
30
+ + request-pull: capitalise "Git" to make it a proper noun
31
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
32
+ Spell the name of our system as "Git" in the output from
33
+ request-pull script.
34
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.
35
36
+* ds/avoid-overflow-in-midpoint-computation (2017-10-10) 1 commit
37
+ (merged to 'next' on 2017-10-10 at 6279867a5d)
38
+ + cleanup: fix possible overflow errors in binary search
39
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.)
40
+ Code clean-up.
41
55
- Adjust clang-format penalty parameters.
42
43
+* er/fast-import-dump-refs-on-checkpoint (2017-09-29) 1 commit
44
+ (merged to 'next' on 2017-10-03 at 4e7b0e7ec1)
45
+ + fast-import: checkpoint: dump branches/tags/marks even if object_count==0
46
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
47
+ The checkpoint command "git fast-import" did not flush updates to
48
+ refs and marks unless at least one object was created since the
49
+ last checkpoint, which has been corrected, as these things can
50
+ happen without any new object getting created.
51
63
- Add comment to a few functions that use a short-lived buffer the
64
- caller can peek and copy out of.
52
53
+* hn/string-list-doc (2017-10-06) 1 commit
54
+ (merged to 'next' on 2017-10-10 at d214a7c369)
55
+ + api-argv-array.txt: remove broken link to string-list API
56
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
57
+ Docfix.
58
71
- Doc reorg.
59
60
+* jk/refs-df-conflict (2017-10-07) 2 commits
61
+ (merged to 'next' on 2017-10-10 at d5953a1ced)
62
+ + refs_resolve_ref_unsafe: handle d/f conflicts for writes
63
+ + t3308: create a real ref directory/file conflict
64
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
65
+ An ancient bug that made Git misbehave with creation/renaming of
66
+ refs has been fixed.
67
68
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
69
+* jk/sha1-loose-object-info-fix (2017-10-06) 1 commit
70
+ (merged to 'next' on 2017-10-10 at bcfd9c4e3f)
71
+ + sha1_loose_object_info: handle errors from unpack_sha1_rest
72
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.
73
+ Leakfix and futureproofing.
74
75
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
76
+* jk/ui-color-always-to-auto (2017-10-04) 3 commits
77
+ (merged to 'next' on 2017-10-05 at 792ae936cf)
78
+ + Merge branch 'jk/ui-color-always-to-auto-maint' into jk/ui-color-always-to-auto
79
+ + t7301: use test_terminal to check color
80
+ + t4015: use --color with --color-moved
81
+ (this branch uses jk/ui-color-always-to-auto-maint.)
82
99
- Code clean-up to prevent future mistakes by copying and pasting
100
- code that checks the result of read_in_full() function.
83
+ Fix regression of "git add -p" for users with "color.ui = always"
84
+ in their configuration, by merging the topic below and adjusting it
85
+ for the 'master' front.
86
87
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
88
+* jk/ui-color-always-to-auto-maint (2017-10-04) 10 commits
89
+ + color: make "always" the same as "auto" in config
90
+ + provide --color option for all ref-filter users
91
+ + t3205: use --color instead of color.branch=always
92
+ + t3203: drop "always" color test
93
+ + t6006: drop "always" color config tests
94
+ + t7502: use diff.noprefix for --verbose test
95
+ + t7508: use test_terminal for color output
96
+ + t3701: use test-terminal to collect color output
97
+ + t4015: prefer --color to -c color.diff=always
98
+ + test-terminal: set TERM=vt100
99
+ (this branch is used by jk/ui-color-always-to-auto.)
100
109
- Code clean-up.
101
+ Users with "color.ui = always" in their configuration were broken
102
+ by a recent change that made plumbing commands to pay attention to
103
+ them as the patch created internally by "git add -p" were colored
104
+ (heh) and made unusable. Fix this regression by redefining
105
+ 'always' to mean the same thing as 'auto'.
106
107
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
-
125
- The final batch to "git rebase -i" updates to move more code from
126
- the shell script to C.
127
-
128
-
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
-
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
-
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
-
163
- Doc updates.
164
-
165
-
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
-
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
-
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
108
+* jn/strbuf-doc-re-reuse (2017-10-04) 1 commit
109
+ (merged to 'next' on 2017-10-04 at 5940d412d9)
110
+ + strbuf doc: reuse after strbuf_release is fine
111
179
- Error message tweak.
112
113
+* jr/hash-migration-plan-doc (2017-09-28) 1 commit
114
+ (merged to 'next' on 2017-10-04 at b47b3bb656)
115
+ + technical doc: add a design doc for hash function transition
116
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
117
+ Lay out plans for weaning us off of SHA-1.
118
119
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
120
+* jt/oidmap (2017-10-01) 1 commit
121
+ (merged to 'next' on 2017-10-05 at e41445fc33)
122
+ + oidmap: map with OID as key
123
194
- "git branch" learned "-c/-C" to create a new branch by copying an
195
- existing one.
124
+ Introduce a new "oidmap" API and rewrite oidset to use it.
125
197
---------------------------------------------------
198
-[New Topics]
126
200
-* jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
201
- - merge: teach -Xours/-Xtheirs to symbolic link merge
127
+* ks/branch-tweak-error-message-for-extra-args (2017-10-04) 1 commit
128
+ (merged to 'next' on 2017-10-05 at aa0b656bf0)
129
+ + branch: change the error messages to be more meaningful
130
203
- "git merge -Xours/-Xtheirs" learned to use our/their version when
204
- resolving a conflicting updates to a symbolic link.
131
+ Error message tweak.
132
206
- Needs review.
133
134
+* ks/verify-filename-non-option-error-message-tweak (2017-10-04) 1 commit
135
+ (merged to 'next' on 2017-10-05 at 2a7030f6fe)
136
+ + setup: update error message to be more meaningful
137
209
-* jt/oidmap (2017-10-01) 1 commit
210
- - oidmap: map with OID as key
138
+ Error message tweak.
139
212
- Introduce a new "oidmap" API and rewrite oidset to use it.
140
214
- Will merge to 'next'.
141
+* ls/filter-process-delayed (2017-10-10) 5 commits
142
+ (merged to 'next' on 2017-10-10 at 7b26d72991)
143
+ + write_entry: untangle symlink and regular-file cases
144
+ + write_entry: avoid reading blobs in CE_RETRY case
145
+ + write_entry: fix leak when retrying delayed filter
146
+ + entry.c: check if file exists after checkout
147
+ + entry.c: update cache entry only for existing files
148
216
-
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.
149
+ Bugfixes to an already graduated series.
150
151
152
* ma/builtin-unleak (2017-10-02) 1 commit
245
- - builtin/: add UNLEAKs
153
+ (merged to 'next' on 2017-10-05 at 380cb74320)
154
+ + builtin/: add UNLEAKs
155
156
Many variables that points at a region of memory that will live
157
throughout the life of the program have been marked with UNLEAK
158
marker to help the leak checkers concentrate on real leaks..
159
160
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`
161
+* rb/compat-poll-fix (2017-09-29) 1 commit
162
+ (merged to 'next' on 2017-10-05 at c31029202d)
163
+ + poll.c: always set revents, even if to zero
164
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.
165
+ Backports a moral equivalent of 2015 fix to the poll emulation from
166
+ the upstream gnulib to fix occasional breakages on HPE NonStop.
167
168
169
* rs/cleanup-strbuf-users (2017-10-02) 3 commits
@@ -276,8 +174,6 @@ of the repositories listed at
174
175
Code clean-up.
176
279
- Will merge to 'master'.
280
-
177
178
* rs/cocci-de-paren-call-params (2017-10-02) 1 commit
179
(merged to 'next' on 2017-10-03 at ee97fe5c24)
@@ -285,7 +181,30 @@ of the repositories listed at
181
182
Code clean-up.
183
288
- Will merge to 'master'.
184
+
185
+* rs/fsck-null-return-from-lookup (2017-10-06) 1 commit
186
+ (merged to 'next' on 2017-10-10 at 32dfa424cf)
187
+ + fsck: handle NULL return of lookup_blob() and lookup_tree()
188
+
189
+ Improve behaviour of "git fsck" upon finding a missing object.
190
+
191
+
192
+* rs/qsort-s (2017-10-04) 1 commit
193
+ (merged to 'next' on 2017-10-04 at 5f10a6e263)
194
+ + test-stringlist: avoid buffer underrun when sorting nothing
195
+
196
+
197
+* rs/resolve-ref-optional-result (2017-10-01) 2 commits
198
+ (merged to 'next' on 2017-10-03 at f129d4b0e9)
199
+ + refs: pass NULL to resolve_refdup() if hash is not needed
200
+ + refs: pass NULL to refs_resolve_refdup() if hash is not needed
201
+
202
+ Code clean-up.
203
+
204
+
205
+* rs/rs-mailmap (2017-10-06) 1 commit
206
+ (merged to 'next' on 2017-10-10 at 020d29b68c)
207
+ + .mailmap: normalize name for René Scharfe
208
209
210
* rs/run-command-use-alloc-array (2017-10-03) 1 commit
@@ -294,8 +213,6 @@ of the repositories listed at
213
214
Code clean-up.
215
297
- Will merge to 'master'.
298
-
216
217
* rs/tag-null-pointer-arith-fix (2017-10-02) 1 commit
218
(merged to 'next' on 2017-10-03 at e05d92fec9)
@@ -303,8 +220,6 @@ of the repositories listed at
220
221
Code clean-up.
222
306
- Will merge to 'master'.
307
-
223
224
* rs/use-free-and-null (2017-10-02) 1 commit
225
(merged to 'next' on 2017-10-03 at 6340234d67)
@@ -312,7 +227,10 @@ of the repositories listed at
227
228
Code clean-up.
229
315
- Will merge to 'master'.
230
+
231
+* sb/branch-avoid-repeated-strbuf-release (2017-10-04) 1 commit
232
+ (merged to 'next' on 2017-10-04 at bd86ef77fc)
233
+ + branch: reset instead of release a strbuf
234
235
236
* sb/git-clang-format (2017-10-02) 1 commit
@@ -322,102 +240,153 @@ of the repositories listed at
240
Add comment to clarify that the style file is meant to be used with
241
clang-5 and the rules are still work in progress.
242
325
- Will merge to 'master'.
243
244
+* sb/test-cmp-expect-actual (2017-10-07) 1 commit
245
+ (merged to 'next' on 2017-10-10 at c47a4dcc72)
246
+ + tests: fix diff order arguments in test_cmp
247
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
248
+ Test tweak.
249
333
- Code clean-up.
250
335
- Will merge to 'master'.
251
+* tb/complete-describe (2017-10-07) 1 commit
252
+ (merged to 'next' on 2017-10-10 at 2607253946)
253
+ + completion: add --broken and --dirty to describe
254
255
+ Docfix.
256
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
257
342
- Spell the name of our system as "Git" in the output from
343
- request-pull script.
258
+* tb/delimit-pretty-trailers-args-with-comma (2017-10-02) 1 commit
259
+ (merged to 'next' on 2017-10-04 at de5446a01c)
260
+ + pretty.c: delimit "%(trailers)" arguments with ","
261
+ (this branch is used by tb/show-trailers-in-ref-filter.)
262
345
- Will merge to 'master'.
263
+ The feature that allows --pretty='%(trailers)' to take modifiers
264
+ like "fold" and "only" used to separate these modifiers with a
265
+ comma, i.e. "%(trailers:fold:only)", but we changed our mind and
266
+ use a comma, i.e. "%(trailers:fold,only)". Fast track this change
267
+ before this new feature becomes part of any official release.
268
269
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 ","
270
+* tb/ref-filter-empty-modifier (2017-10-05) 1 commit
271
+ (merged to 'next' on 2017-10-05 at 62cb67688a)
272
+ + ref-filter.c: pass empty-string as NULL to atom parsers
273
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.
274
+ In the "--format=..." option of the "git for-each-ref" command (and
275
+ its friends, i.e. the listing mode of "git branch/tag"), "%(atom:)"
276
+ (e.g. "%(refname:)", "%(body:)" used to error out. Instead, treat
277
+ them as if the colon and an empty string that follows it were not
278
+ there.
279
361
- Will merge to 'next'.
280
281
+* tb/show-trailers-in-ref-filter (2017-10-02) 6 commits
282
+ (merged to 'next' on 2017-10-05 at c7a697f15d)
283
+ + ref-filter.c: parse trailers arguments with %(contents) atom
284
+ + ref-filter.c: use trailer_opts to format trailers
285
+ + t6300: refactor %(trailers) tests
286
+ + doc: use "`<literal>`"-style quoting for literal strings
287
+ + doc: 'trailers' is the preferred way to format trailers
288
+ + t4205: unfold across multiple lines
289
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.)
290
+ "git for-each-ref --format=..." learned a new format element,
291
+ %(trailers), to show only the commit log trailer part of the log
292
+ message.
293
294
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.)
295
+* tg/memfixes (2017-10-04) 3 commits
296
+ (merged to 'next' on 2017-10-04 at fb338a5531)
297
+ + sub-process: use child_process.args instead of child_process.argv
298
+ + http-push: fix construction of hex value from path
299
+ + path.c: fix uninitialized memory access
300
301
+ Fixes for a handful memory access issues identified by valgrind.
302
385
-* jn/strbuf-doc-re-reuse (2017-10-04) 1 commit
386
- - strbuf doc: reuse after strbuf_release is fine
303
+--------------------------------------------------
304
+[New Topics]
305
388
- Will merge to 'next'.
306
+* dm/run-command-ignored-hook-advise (2017-10-10) 1 commit
307
+ (merged to 'next' on 2017-10-10 at 0827814922)
308
+ + run-command: add hint when a hook is ignored
309
310
+ A hook script that is set unexecutable is simply ignored. Git
311
+ notifies when such a file is ignored, unless the message is
312
+ squelched via advice.ignoredHook configuration.
313
391
-* ks/branch-tweak-error-message-for-extra-args (2017-10-04) 1 commit
392
- - branch: change the error messages to be more meaningful
314
+ Will cook in 'next'.
315
394
- Error message tweak.
316
317
+* hv/fetch-moved-submodules-on-demand (2017-10-08) 5 commits
318
+ - DONTMERGE: mark failing tests for now
319
+ - submodule: simplify decision tree whether to or not to fetch
320
+ - implement fetching of moved submodules
321
+ - change submodule push test to use proper repository setup
322
+ - fetch: add test to make sure we stay backwards compatible
323
397
-* ks/verify-filename-non-option-error-message-tweak (2017-10-04) 1 commit
398
- - setup: update error message to be more meaningful
324
+ WIP.
325
400
- Error message tweak.
326
327
+* js/for-each-ref-remote-name-and-ref (2017-10-11) 3 commits
328
+ - for-each-ref: test :remotename and :remoteref
329
+ - for-each-ref: let upstream/push optionally report the remote ref name
330
+ - for-each-ref: let upstream/push optionally report the remote name
331
403
-* rs/qsort-s (2017-10-04) 1 commit
404
- - test-stringlist: avoid buffer underrun when sorting nothing
332
+ The "--format=..." option "git for-each-ref" takes learned to show
333
+ the name of the 'remote' repository and the ref at the remote side
334
+ that is affected for 'upstream' and 'push' via "%(push:remotename)"
335
+ and friends.
336
406
- Will merge to 'next'.
337
338
+* pb/bisect-helper (2017-10-06) 6 commits
339
+ - bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
340
+ - t6030: explicitly test for bisection cleanup
341
+ - bisect--helper: `bisect_clean_state` shell function in C
342
+ - bisect--helper: `write_terms` shell function in C
343
+ - bisect--helper: rewrite `check_term_format` shell function in C
344
+ - bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
345
409
-* sb/branch-avoid-repeated-strbuf-release (2017-10-04) 1 commit
410
- - branch: reset instead of release a strbuf
346
+ An early part of piece-by-piece rewrite of "git bisect".
347
348
Will merge to 'next'.
349
350
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.
351
+* bc/object-id (2017-10-09) 24 commits
352
+ - refs/files-backend: convert static functions to object_id
353
+ - refs: convert read_raw_ref backends to struct object_id
354
+ - refs: convert peel_object to struct object_id
355
+ - refs: convert resolve_ref_unsafe to struct object_id
356
+ - worktree: convert struct worktree to object_id
357
+ - refs: convert resolve_gitlink_ref to struct object_id
358
+ - resolve_gitlink_ref(): convert remaining callers to object_id
359
+ - sha1_file: convert index_path and index_fd to struct object_id
360
+ - refs: convert reflog_expire parameter to struct object_id
361
+ - refs: convert read_ref_at to struct object_id
362
+ - refs: convert peel_ref to struct object_id
363
+ - builtin/pack-objects: convert to struct object_id
364
+ - pack-bitmap: convert traverse_bitmap_commit_list to object_id
365
+ - refs: convert dwim_log to struct object_id
366
+ - builtin/reflog: convert remaining unsigned char uses to object_id
367
+ - refs: convert dwim_ref and expand_ref to struct object_id
368
+ - refs: convert read_ref and read_ref_full to object_id
369
+ - refs: convert resolve_refdup and refs_resolve_refdup to struct object_id
370
+ - check_connected(): use struct object_id
371
+ - refs: update ref transactions to use struct object_id
372
+ - refs: convert update_ref and refs_update_ref to use struct object_id
373
+ - refs: convert delete_ref and refs_delete_ref to struct object_id
374
+ - refs/files-backend: convert struct ref_to_prune to object_id
375
+ - walker: convert to struct object_id
376
+
377
+
378
+* jc/no-cmd-as-subroutine (2017-10-11) 2 commits
379
+ - merge-ours: do not use cmd_*() as a subroutine
380
+ - describe: do not use cmd_*() as a subroutine
381
+
382
+ Calling cmd_foo() as if it is a general purpose helper function is
383
+ a no-no. Correct two instances of such to set an example.
384
+
385
+
386
+* jc/doc-checkout (2017-10-11) 1 commit
387
+ - checkout doc: clarify command line args for "checkout paths" mode
388
+
389
+ Doc update.
390
391
Will merge to 'next'.
392
@@ -478,43 +447,72 @@ of the repositories listed at
447
--------------------------------------------------
448
[Cooking]
449
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
450
+* jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
451
+ - merge: teach -Xours/-Xtheirs to symbolic link merge
452
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.
453
+ "git merge -Xours/-Xtheirs" learned to use our/their version when
454
+ resolving a conflicting updates to a symbolic link.
455
490
- Will merge to 'master'.
456
+ Needs review.
457
458
493
-* jr/hash-migration-plan-doc (2017-09-28) 1 commit
494
- - technical doc: add a design doc for hash function transition
459
+* jt/partial-clone-lazy-fetch (2017-10-02) 18 commits
460
+ - fetch-pack: restore save_commit_buffer after use
461
+ - unpack-trees: batch fetching of missing blobs
462
+ - clone: configure blobmaxbytes in created repos
463
+ - clone: support excluding large blobs
464
+ - fetch: support excluding large blobs
465
+ - fetch: refactor calculation of remote list
466
+ - fetch-pack: support excluding large blobs
467
+ - pack-objects: support --blob-max-bytes
468
+ - pack-objects: rename want_.* to ignore_.*
469
+ - gc: do not repack promisor packfiles
470
+ - rev-list: support termination at promisor objects
471
+ - sha1_file: support lazily fetching missing objects
472
+ - introduce fetch-object: fetch one promisor object
473
+ - index-pack: refactor writing of .keep files
474
+ - fsck: support promisor objects as CLI argument
475
+ - fsck: support referenced promisor objects
476
+ - fsck: support refs pointing to promisor objects
477
+ - fsck: introduce partialclone extension
478
496
- Lay out plans for weaning us off of SHA-1.
479
+ A journey for "git clone" and "git fetch" to become "lazier" by
480
+ depending more on its remote repository---this is the beginning of
481
+ it.
482
498
- Will merge to 'next'.
483
+ Needs review.
484
485
501
-* ot/mru-on-list (2017-10-01) 1 commit
502
- - mru: use double-linked list from list.h
486
+* ma/lockfile-fixes (2017-10-07) 12 commits
487
+ - read_cache: roll back lock in `update_index_if_able()`
488
+ - read-cache: leave lock in right state in `write_locked_index()`
489
+ - read-cache: drop explicit `CLOSE_LOCK`-flag
490
+ - cache.h: document `write_locked_index()`
491
+ - apply: remove `newfd` from `struct apply_state`
492
+ - apply: move lockfile into `apply_state`
493
+ - cache-tree: simplify locking logic
494
+ - checkout-index: simplify locking logic
495
+ - tempfile: fix documentation on `delete_tempfile()`
496
+ - lockfile: fix documentation on `close_lock_file_gently()`
497
+ - treewide: prefer lockfiles on the stack
498
+ - sha1_file: do not leak `lock_file`
499
504
- The first step to getting rid of mru API and using the
505
- doubly-linked list API directly instead.
500
+ An earlier update made it possible to use an on-stack in-core
501
+ lockfile structure (as opposed to having to deliberately leak an
502
+ on-heap one). Many codepaths have been updated to take advantage
503
+ of this new facility.
504
507
- Needs review.
508
- Outreachy.
505
+ Looking good. Is this ready for 'next'?
506
507
511
-* rb/compat-poll-fix (2017-09-29) 1 commit
512
- - poll.c: always set revents, even if to zero
508
+* ot/mru-on-list (2017-10-01) 1 commit
509
+ (merged to 'next' on 2017-10-07 at e6ad4a16a2)
510
+ + mru: use double-linked list from list.h
511
514
- Backports a moral equivalent of 2015 fix to the poll emulation from
515
- the upstream gnulib to fix occasional breakages on HPE NonStop.
512
+ The first step to getting rid of mru API and using the
513
+ doubly-linked list API directly instead.
514
517
- Needs review.
515
+ Will cook in 'next'.
516
517
518
* jm/svn-pushmergeinfo-fix (2017-09-17) 1 commit
@@ -555,12 +553,16 @@ of the repositories listed at
553
What's the doneness of this one?
554
555
558
-* ds/find-unique-abbrev-optim (2017-10-03) 5 commits
556
+* ds/find-unique-abbrev-optim (2017-10-09) 4 commits
557
- sha1_name: minimize OID comparisons during disambiguation
558
- sha1_name: parse less while finding common prefix
559
- sha1_name: unroll len loop in find_unique_abbrev_r()
562
- - p0008-abbrev.sh: test find_unique_abbrev() perf
563
- - test-list-objects: list a subset of object ids
560
+ - p4211-line-log.sh: add log --online --raw --parents perf test
561
+
562
+ Optimize the code to find shortest unique prefix of object names.
563
+
564
+ Almost there.
565
+ cf. <20171009134933.vmba67adelqbkx4y@sigill.intra.peff.net>
566
567
568
* cc/perf-run-config (2017-09-24) 9 commits
@@ -589,8 +591,11 @@ of the repositories listed at
591
Waiting for review to conclude.
592
593
592
-* bp/fsmonitor (2017-10-04) 13 commits
593
- - fsmonitor: MINGW support for watchman integration
594
+* bp/fsmonitor (2017-10-05) 15 commits
595
+ (merged to 'next' on 2017-10-05 at 964a029d13)
596
+ + fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
597
+ + fsmonitor: read entirety of watchman output
598
+ + fsmonitor: MINGW support for watchman integration
599
(merged to 'next' on 2017-10-02 at cf0c67979c)
600
+ fsmonitor: add a performance test
601
+ fsmonitor: add a sample integration script for Watchman
@@ -608,6 +613,8 @@ of the repositories listed at
613
We learned to talk to watchman to speed up "git status" and other
614
operations that need to see which paths have been modified.
615
616
+ Will cook in 'next'.
617
+
618
619
* bw/protocol-v1 (2017-10-04) 10 commits
620
- ssh: introduce a 'simple' ssh variant
@@ -625,8 +632,14 @@ of the repositories listed at
632
and demonstrated that it works with the older versions of Git
633
without harming them.
634
635
+ Expecting a reroll.
636
+ cf. <20171003214206.GY19555@aiede.mtv.corp.google.com>
637
+ The tip one needs to clarify that it is not just '-o' but also '-p'
638
+ option in the documentation. Other than that, the approach taken
639
+ by the series basically seems sane and well received.
640
+
641
629
-* pc/submodule-helper (2017-10-02) 3 commits
642
+* pc/submodule-helper (2017-10-07) 3 commits
643
- submodule: port submodule subcommand 'status' from shell to C
644
- submodule--helper: introduce for_each_listed_submodule()
645
- submodule--helper: introduce get_submodule_displaypath()
@@ -635,7 +648,8 @@ of the repositories listed at
648
Is this ready for 'next'?
649
650
638
-* bc/hash-algo (2017-08-20) 5 commits
651
+* bc/hash-algo (2017-10-04) 6 commits
652
+ - fixup! hash-algo: integrate hash algorithm support with repo setup
653
- hash-algo: switch empty tree and blob lookups to use hash abstraction
654
- hash-algo: integrate hash algorithm support with repo setup
655
- hash-algo: add structure representing hash algorithm
@@ -690,23 +704,6 @@ of the repositories listed at
704
cf. <f59c8256-716b-9305-2a4f-d4fe49f666ff@web.de>
705
706
693
-* jc/allow-lazy-cas (2017-07-06) 1 commit
694
- - push: disable lazy --force-with-lease by default
695
-
696
- Because "git push --force-with-lease[=<ref>]" that relies on the
697
- stability of remote-tracking branches is unsafe when something
698
- fetches into the repository behind user's back, it is now disabled
699
- by default. A new configuration variable can be used to enable it
700
- by users who know what they are doing. This would pave the way to
701
- possibly turn `--force` into `--force-with-lease`.
702
-
703
- Will discard.
704
- Independent from disabling the feature by default, this stirred up
705
- a discussion to replace the DWIM heuristics with a better one, which
706
- deserves to be its own topic.
707
- cf. <alpine.DEB.2.21.1.1707131435220.4193@virtualbox>
708
-
709
-
707
* ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
708
(merged to 'next' on 2017-08-14 at 24db08a6e8)
709
+ pathspec: die on empty strings as pathspec
@@ -724,7 +721,6 @@ of the repositories listed at
721
As the draft RelNotes says, let's merge this to 'master' after
722
this release cycle.
723
727
-
724
--------------------------------------------------
725
[Discarded]
726
@@ -742,3 +738,18 @@ of the repositories listed at
738
one) until we come up with a different fix to the problem.
739
740
741
+* jc/allow-lazy-cas (2017-07-06) 1 commit
742
+ . push: disable lazy --force-with-lease by default
743
+
744
+ Because "git push --force-with-lease[=<ref>]" that relies on the
745
+ stability of remote-tracking branches is unsafe when something
746
+ fetches into the repository behind user's back, it is now disabled
747
+ by default. A new configuration variable can be used to enable it
748
+ by users who know what they are doing. This would pave the way to
749
+ possibly turn `--force` into `--force-with-lease`.
750
+
751
+ Will discard.
752
+ Independent from disabling the feature by default, this stirred up
753
+ a discussion to replace the DWIM heuristics with a better one, which
754
+ deserves to be its own topic.
755
+ cf. <alpine.DEB.2.21.1.1707131435220.4193@virtualbox>