What's cooking (2017/08 #07)
Junio C Hamano committed
Aug 26, 2017 at 23:15 UTC
9c96b7b55200fe6c038dd5110a0d85a6a5414188
1 file changed
+302
-412
whats-cooking.txt
+302
-412
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Aug 2017, #06; Thu, 24)
4
-X-master-at: 3dc57ebfbd1bf30b9a6987f551af9b74641382a9
5
-X-next-at: eb51544efa2177e71821426b32f8c0299705a996
3
+Subject: What's cooking in git.git (Aug 2017, #07; Sat, 26)
4
+X-master-at: 238e487ea943f80734cc6dad665e7238b8cbc7ff
5
+X-next-at: f28d330327670643ea4cc6f8feceac4024df00a0
6
7
-What's cooking in git.git (Aug 2017, #06; Thu, 24)
7
+What's cooking in git.git (Aug 2017, #07; Sat, 26)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -27,242 +27,346 @@ of the repositories listed at
27
--------------------------------------------------
28
[Graduated to "master"]
29
30
-* ah/doc-empty-string-is-false (2017-08-14) 1 commit
31
- (merged to 'next' on 2017-08-19 at df47ffeffa)
32
- + doc: clarify "config --bool" behaviour with empty string
33
-
34
- Doc update.
30
+* bc/vcs-svn-cleanup (2017-08-20) 2 commits
31
+ (merged to 'next' on 2017-08-22 at d8494b5d5b)
32
+ + vcs-svn: rename repo functions to "svn_repo"
33
+ + vcs-svn: remove unused prototypes
34
+ (this branch is used by bc/hash-algo and jn/vcs-svn-cleanup.)
35
36
+ Code clean-up.
37
37
-* as/grep-quiet-no-match-exit-code-fix (2017-08-17) 1 commit
38
- (merged to 'next' on 2017-08-19 at 362f88fb41)
39
- + git-grep: correct exit code with --quiet and -L
38
41
- "git grep -L" and "git grep --quiet -L" reported different exit
42
- codes; this has been corrected.
39
+* bw/submodule-config-cleanup (2017-08-03) 17 commits
40
+ (merged to 'next' on 2017-08-24 at e35d58c4c6)
41
+ + submodule: remove gitmodules_config
42
+ + unpack-trees: improve loading of .gitmodules
43
+ + submodule-config: lazy-load a repository's .gitmodules file
44
+ + submodule-config: move submodule-config functions to submodule-config.c
45
+ + submodule-config: remove support for overlaying repository config
46
+ + diff: stop allowing diff to have submodules configured in .git/config
47
+ + submodule: remove submodule_config callback routine
48
+ + unpack-trees: don't respect submodule.update
49
+ + submodule: don't rely on overlayed config when setting diffopts
50
+ + fetch: don't overlay config with submodule-config
51
+ + submodule--helper: don't overlay config in update-clone
52
+ + submodule--helper: don't overlay config in remote_submodule_branch
53
+ + add, reset: ensure submodules can be added or reset
54
+ + submodule: don't use submodule_from_name
55
+ + t7411: check configuration parsing errors
56
+ + Merge branch 'bc/object-id' into bw/submodule-config-cleanup
57
+ + Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
58
59
+ Code clean-up to avoid mixing values read from the .gitmodules file
60
+ and values read from the .git/config file.
61
+ So, after the recent discussion around submodule.<name>.update (and
62
+ its resolution "use submodule.<name>.active; "reset --hard" must
63
+ ignore the .update thing"), this is now good to go, I presume?
64
+ Please yell at me that I am clueless if that is not the case ;-)
65
45
-* cc/subprocess-handshake-missing-capabilities (2017-08-16) 1 commit
46
- (merged to 'next' on 2017-08-19 at c512710fda)
47
- + sub-process: print the cmd when a capability is unsupported
66
49
- When handshake with a subprocess filter notices that the process
50
- asked for an unknown capability, Git did not report what program
51
- the offending subprocess was running. This has been corrected.
67
+* jc/cutoff-config (2017-08-22) 6 commits
68
+ (merged to 'next' on 2017-08-24 at 2dcbf9ae04)
69
+ + rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved
70
+ + rerere: represent time duration in timestamp_t internally
71
+ + t4200: parameterize "rerere gc" custom expiry test
72
+ + t4200: gather "rerere gc" together
73
+ + t4200: make "rerere gc" test more robust
74
+ + t4200: give us a clean slate after "rerere gc" tests
75
53
- We may want a follow-up fix to tighten the error checking, though.
76
+ "[gc] rerereResolved = 5.days" used to be invalid, as the variable
77
+ is defined to take an integer counting the number of days. It now
78
+ is allowed.
79
80
56
-* hv/t5526-andand-chain-fix (2017-08-17) 1 commit
57
- (merged to 'next' on 2017-08-19 at fa95053653)
58
- + t5526: fix some broken && chains
81
+* jk/trailers-parse (2017-08-20) 9 commits
82
+ (merged to 'next' on 2017-08-22 at 2d4d937141)
83
+ + doc/interpret-trailers: fix "the this" typo
84
+ (merged to 'next' on 2017-08-19 at faa63f8196)
85
+ + pretty: support normalization options for %(trailers)
86
+ + t4205: refactor %(trailers) tests
87
+ + pretty: move trailer formatting to trailer.c
88
+ + interpret-trailers: add --parse convenience option
89
+ + interpret-trailers: add an option to unfold values
90
+ + interpret-trailers: add an option to show only existing trailers
91
+ + interpret-trailers: add an option to show only the trailers
92
+ + trailer: put process_trailers() options into a struct
93
60
- Test fix.
94
+ "git interpret-trailers" has been taught a "--parse" and a few
95
+ other options to make it easier for scripts to grab existing
96
+ trailer lines from a commit log message.
97
+ Possible leftover bits are mentioned in
98
+ cf. <20170820094009.z23wclpku35txflg@sigill.intra.peff.net>
99
100
63
-* jc/diff-sane-truncate-no-more (2017-08-17) 1 commit
64
- (merged to 'next' on 2017-08-19 at 3ba3980eed)
65
- + diff: retire sane_truncate_fn
101
+* jn/vcs-svn-cleanup (2017-08-23) 4 commits
102
+ (merged to 'next' on 2017-08-24 at c184f08f5f)
103
+ + vcs-svn: move remaining repo_tree functions to fast_export.h
104
+ + vcs-svn: remove repo_delete wrapper function
105
+ + vcs-svn: remove custom mode constants
106
+ + vcs-svn: remove more unused prototypes and declarations
107
+ (this branch uses bc/vcs-svn-cleanup; is tangled with bc/hash-algo.)
108
109
Code clean-up.
110
111
70
-* jc/simplify-progress (2017-08-19) 1 commit
71
- (merged to 'next' on 2017-08-22 at 9077ff6912)
72
- + progress: simplify "delayed" progress API
73
-
74
- The API to start showing progress meter after a short delay has
75
- been simplified.
76
-
77
-
78
-* jk/doc-the-this (2017-08-20) 1 commit
79
- (merged to 'next' on 2017-08-22 at 6625e50025)
80
- + doc: fix typo in sendemail.identity
81
-
82
- Doc clean-up.
83
-
84
-
85
-* jt/sha1-file-cleanup (2017-08-11) 2 commits
86
- (merged to 'next' on 2017-08-19 at 93f4c94578)
87
- + sha1_file: remove read_packed_sha1()
88
- + sha1_file: set whence in storage-specific info fn
89
- (this branch is used by jt/packmigrate.)
112
+* js/gitweb-raw-blob-link-in-history (2017-08-22) 1 commit
113
+ (merged to 'next' on 2017-08-23 at 16258266e2)
114
+ + gitweb: add 'raw' blob_plain link in history overview
115
91
- Preparatory code clean-up.
116
+ "gitweb" shows a link to visit the 'raw' contents of blbos in the
117
+ history overview page.
118
119
94
-* kd/stash-with-bash-4.4 (2017-08-14) 1 commit
95
- (merged to 'next' on 2017-08-19 at 79b2c4b052)
96
- + stash: prevent warning about null bytes in input
120
+* jt/diff-color-move-fix (2017-08-16) 3 commits
121
+ (merged to 'next' on 2017-08-19 at 6ae3831c8c)
122
+ + diff: define block by number of alphanumeric chars
123
+ + diff: respect MIN_BLOCK_LENGTH for last block
124
+ + diff: avoid redundantly clearing a flag
125
+ (this branch uses sb/diff-color-move.)
126
98
- bash 4.4 or newer gave a warning on NUL byte in command
99
- substitution done in "git stash"; this has been squelched.
127
+ A handful of bugfixes and an improvement to "diff --color-moved".
128
129
102
-* ks/prepare-commit-msg-sample-fix (2017-08-14) 1 commit
103
- (merged to 'next' on 2017-08-19 at e75c30de64)
104
- + hook: use correct logical variable
130
+* jt/doc-pack-objects-fix (2017-08-23) 1 commit
131
+ (merged to 'next' on 2017-08-24 at 7e4c3c0c9f)
132
+ + Doc: clarify that pack-objects makes packs, plural
133
106
- An "oops" fix to a topic that is already in 'master'.
134
+ Doc updates.
135
136
109
-* kw/commit-keep-index-when-pre-commit-is-not-run (2017-08-16) 1 commit
110
- (merged to 'next' on 2017-08-19 at 2b5a25e5ae)
111
- + commit: skip discarding the index if there is no pre-commit hook
137
+* jt/packmigrate (2017-08-23) 23 commits
138
+ (merged to 'next' on 2017-08-24 at 34a628ae6c)
139
+ + pack: move for_each_packed_object()
140
+ + pack: move has_pack_index()
141
+ + pack: move has_sha1_pack()
142
+ + pack: move find_pack_entry() and make it global
143
+ + pack: move find_sha1_pack()
144
+ + pack: move find_pack_entry_one(), is_pack_valid()
145
+ + pack: move check_pack_index_ptr(), nth_packed_object_offset()
146
+ + pack: move nth_packed_object_{sha1,oid}
147
+ + pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry()
148
+ + pack: move unpack_object_header()
149
+ + pack: move get_size_from_delta()
150
+ + pack: move unpack_object_header_buffer()
151
+ + pack: move {,re}prepare_packed_git and approximate_object_count
152
+ + pack: move install_packed_git()
153
+ + pack: move add_packed_git()
154
+ + pack: move unuse_pack()
155
+ + pack: move use_pack()
156
+ + pack: move pack-closing functions
157
+ + pack: move release_pack_memory()
158
+ + pack: move open_pack_index(), parse_pack_index()
159
+ + pack: move pack_report()
160
+ + pack: move static state variables
161
+ + pack: move pack name-related functions
162
113
- "git commit" used to discard the index and re-read from the filesystem
114
- just in case the pre-commit hook has updated it in the middle; this
115
- has been optimized out when we know we do not run the pre-commit hook.
163
+ Code movement to make it easier to hack later.
164
165
118
-* kw/rebase-progress (2017-08-14) 2 commits
119
- (merged to 'next' on 2017-08-19 at 1958f378dd)
120
- + rebase: turn on progress option by default for format-patch
121
- + format-patch: have progress option while generating patches
166
+* jt/stash-tests (2017-08-19) 3 commits
167
+ (merged to 'next' on 2017-08-22 at 0b022697aa)
168
+ + stash: add a test for stashing in a detached state
169
+ + stash: add a test for when apply fails during stash branch
170
+ + stash: add a test for stash create with no files
171
123
- "git rebase", especially when it is run by mistake and ends up
124
- trying to replay many changes, spent long time in silence. The
125
- command has been taught to show progress report when it spends
126
- long time preparing these many changes to replay (which would give
127
- the user a chance to abort with ^C).
172
+ Test update to improve coverage for "git stash" operations.
173
174
130
-* lg/merge-signoff (2017-07-25) 1 commit
131
- (merged to 'next' on 2017-08-19 at cb53d7b026)
132
- + merge: add a --signoff flag
175
+* kw/write-index-reduce-alloc (2017-08-21) 3 commits
176
+ (merged to 'next' on 2017-08-24 at 29f7daad85)
177
+ + read-cache: avoid allocating every ondisk entry when writing
178
+ + read-cache: fix memory leak in do_write_index
179
+ + perf: add test for writing the index
180
134
- "git merge" learned a "--signoff" option to add the Signed-off-by:
135
- trailer with the committer's name.
181
+ We used to spend more than necessary cycles allocating and freeing
182
+ piece of memory while writing each index entry out. This has been
183
+ optimized.
184
185
138
-* mg/format-ref-doc-fix (2017-08-18) 2 commits
139
- (merged to 'next' on 2017-08-19 at 6490525c54)
140
- + Documentation/git-for-each-ref: clarify peeling of tags for --format
141
- + Documentation: use proper wording for ref format strings
186
+* mg/killed-merge (2017-08-23) 4 commits
187
+ (merged to 'next' on 2017-08-24 at 5db37fc192)
188
+ + merge: save merge state earlier
189
+ + merge: split write_merge_state in two
190
+ + merge: clarify call chain
191
+ + Documentation/git-merge: explain --continue
192
143
- Doc fix.
193
+ Killing "git merge --edit" before the editor returns control left
194
+ the repository in a state with MERGE_MSG but without MERGE_HEAD,
195
+ which incorrectly tells the subsequent "git commit" that there was
196
+ a squash merge in progress. This has been fixed.
197
198
146
-* nm/stash-untracked (2017-08-11) 1 commit
147
- (merged to 'next' on 2017-08-19 at 70990d7eb3)
148
- + stash: clean untracked files before reset
199
+* mh/ref-lock-entry (2017-08-23) 1 commit
200
+ (merged to 'next' on 2017-08-24 at 67760267f4)
201
+ + refs: retry acquiring reference locks for 100ms
202
150
- "git stash -u" used the contents of the committed version of the
151
- ".gitignore" file to decide which paths are ignored, even when the
152
- file has local changes. The command has been taught to instead use
153
- the locally modified contents.
203
+ The code to acquire a lock on a reference (e.g. while accepting a
204
+ push from a client) used to immediately fail when the reference is
205
+ already locked---now it waits for a very short while and retries,
206
+ which can make it succeed if the lock holder was holding it during
207
+ a read-only operation.
208
209
156
-* rs/commit-h-single-parent-cleanup (2017-08-19) 1 commit
157
- (merged to 'next' on 2017-08-22 at 7db01c4035)
158
- + commit: remove unused inline function single_parent()
210
+* pb/trailers-from-command-line (2017-08-14) 4 commits
211
+ (merged to 'next' on 2017-08-19 at b12342e49e)
212
+ + interpret-trailers: fix documentation typo
213
+ + interpret-trailers: add options for actions
214
+ + trailers: introduce struct new_trailer_item
215
+ + trailers: export action enums and corresponding lookup functions
216
160
- Code clean-up.
217
+ "git interpret-trailers" learned to take the trailer specifications
218
+ from the command line that overrides the configured values.
219
220
163
-* rs/object-id (2017-08-14) 1 commit
164
- (merged to 'next' on 2017-08-19 at 0f7283cd19)
165
- + tree-walk: convert fill_tree_descriptor() to object_id
221
+* po/object-id (2017-08-20) 6 commits
222
+ (merged to 'next' on 2017-08-23 at 0faff383a8)
223
+ + sha1_file: convert index_stream to struct object_id
224
+ + sha1_file: convert hash_sha1_file_literally to struct object_id
225
+ + sha1_file: convert index_fd to struct object_id
226
+ + sha1_file: convert index_path to struct object_id
227
+ + read-cache: convert to struct object_id
228
+ + builtin/hash-object: convert to struct object_id
229
230
Conversion from uchar[20] to struct object_id continues.
231
232
170
-* rs/t1002-do-not-use-sum (2017-08-15) 1 commit
171
- (merged to 'next' on 2017-08-19 at 15b2a5f21b)
172
- + t1002: stop using sum(1)
233
+* sb/diff-color-move (2017-06-30) 26 commits
234
+ (merged to 'next' on 2017-08-19 at a239d031bc)
235
+ + diff: document the new --color-moved setting
236
+ + diff.c: add dimming to moved line detection
237
+ + diff.c: color moved lines differently, plain mode
238
+ + diff.c: color moved lines differently
239
+ + diff.c: buffer all output if asked to
240
+ + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY
241
+ + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP
242
+ + diff.c: convert word diffing to use emit_diff_symbol
243
+ + diff.c: convert show_stats to use emit_diff_symbol
244
+ + diff.c: convert emit_binary_diff_body to use emit_diff_symbol
245
+ + submodule.c: migrate diff output to use emit_diff_symbol
246
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF
247
+ + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES
248
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER
249
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS}
250
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE
251
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN]
252
+ + diff.c: migrate emit_line_checked to use emit_diff_symbol
253
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
254
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO
255
+ + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER
256
+ + diff.c: introduce emit_diff_symbol
257
+ + diff.c: factor out diff_flush_patch_all_file_pairs
258
+ + diff.c: move line ending check into emit_hunk_header
259
+ + diff.c: readability fix
260
+ + Merge branch 'sb/hashmap-customize-comparison' into sb/diff-color-move
261
+ (this branch is used by jt/diff-color-move-fix.)
262
174
- Test simplification.
263
+ "git diff" has been taught to optionally paint new lines that are
264
+ the same as deleted lines elsewhere differently from genuinely new
265
+ lines.
266
267
177
-* sb/sha1-file-cleanup (2017-08-15) 1 commit
178
- (merged to 'next' on 2017-08-19 at 85898d1e7c)
179
- + sha1_file: make read_info_alternates static
268
+* tb/apply-with-crlf (2017-08-19) 2 commits
269
+ (merged to 'next' on 2017-08-22 at f92bf67061)
270
+ + apply: file commited with CRLF should roundtrip diff and apply
271
+ + convert: add SAFE_CRLF_KEEP_CRLF
272
+ (this branch is tangled with jc/apply-with-crlf.)
273
181
- Code clean-up.
274
+ "git apply" that is used as a better "patch -p1" failed to apply a
275
+ taken from a file with CRLF line endings to a file with CRLF line
276
+ endings. The root cause was because it misused convert_to_git()
277
+ that tried to do "safe-crlf" processing by looking at the index
278
+ entry at the same path, which is a nonsense---in that mode, "apply"
279
+ is not working on the data in (or derived from) the index at all.
280
+ This has been fixed.
281
282
+--------------------------------------------------
283
+[New Topics]
284
184
-* sb/submodule-parallel-update (2017-08-17) 1 commit
185
- (merged to 'next' on 2017-08-19 at c023a834f0)
186
- + submodule.sh: remove unused variable
285
+* jk/drop-sha1-entry-pos (2017-08-25) 1 commit
286
+ (merged to 'next' on 2017-08-25 at 7ef03bb281)
287
+ + sha1-lookup: remove sha1_entry_pos() from header file
288
289
Code clean-up.
290
291
+ Will merge to 'master'.
292
191
-* tc/curl-with-backports (2017-08-11) 2 commits
192
- (merged to 'next' on 2017-08-22 at 06c21e1eb9)
193
- + http: use a feature check to enable GSSAPI delegation control
194
- + http: fix handling of missing CURLPROTO_*
293
196
- Updates to the HTTP layer we made recently unconditionally used
197
- features of libCurl without checking the existence of them, causing
198
- compilation errors, which has been fixed. Also migrate the code to
199
- check feature macros, not version numbers, to cope better with
200
- libCurl that vendor ships with backported features.
294
+* ls/convert-filter-progress (2017-08-24) 1 commit
295
+ (merged to 'next' on 2017-08-25 at ce0bb30e8f)
296
+ + convert: display progress for filtered objects that have been delayed
297
202
---------------------------------------------------
203
-[New Topics]
204
-
205
-* js/gitweb-raw-blob-link-in-history (2017-08-22) 1 commit
206
- (merged to 'next' on 2017-08-23 at 16258266e2)
207
- + gitweb: add 'raw' blob_plain link in history overview
208
-
209
- "gitweb" shows a link to visit the 'raw' contents of blbos in the
210
- history overview page.
298
+ The codepath to call external process filter for smudge/clean
299
+ operation learned to show the progress meter.
300
301
Will merge to 'master'.
302
303
215
-* jn/vcs-svn-cleanup (2017-08-23) 4 commits
216
- (merged to 'next' on 2017-08-24 at c184f08f5f)
217
- + vcs-svn: move remaining repo_tree functions to fast_export.h
218
- + vcs-svn: remove repo_delete wrapper function
219
- + vcs-svn: remove custom mode constants
220
- + vcs-svn: remove more unused prototypes and declarations
221
- (this branch uses bc/vcs-svn-cleanup; is tangled with bc/hash-algo.)
304
+* mm/send-email-cc-cruft (2017-08-24) 2 commits
305
+ (merged to 'next' on 2017-08-25 at 65933523ab)
306
+ + send-email: don't use Mail::Address, even if available
307
+ + send-email: fix garbage removal after address
308
223
- Code clean-up.
309
+ In addition to "cc: <a@dd.re.ss> # cruft", "cc: a@dd.re.ss # cruft"
310
+ was taught to "git send-email" as a valid way to tell it that it
311
+ needs to also send a carbon copy to <a@dd.re.ss> in the trailer
312
+ section.
313
314
Will merge to 'master'.
315
316
228
-* jt/doc-pack-objects-fix (2017-08-23) 1 commit
229
- (merged to 'next' on 2017-08-24 at 7e4c3c0c9f)
230
- + Doc: clarify that pack-objects makes packs, plural
317
+* nd/worktree-kill-parse-ref (2017-08-24) 1 commit
318
+ (merged to 'next' on 2017-08-25 at a5da82b2ea)
319
+ + branch: fix branch renaming not updating HEADs correctly
320
232
- Doc updates.
321
+ "git branch -M a b" while on a branch that is completely unrelated
322
+ to either branch a or branch b misbehaved when multiple worktree
323
+ was in use. This has been fixed.
324
325
Will merge to 'master'.
326
327
237
-* ma/ts-cleanups (2017-08-23) 4 commits
238
- - ThreadSanitizer: add suppressions
239
- - strbuf_setlen: don't write to strbuf_slopbuf
240
- - pack-objects: take lock before accessing `remaining`
241
- - convert: always initialize attr_action in convert_attrs
328
+* pc/submodule-helper (2017-08-25) 4 commits
329
+ - submodule: port submodule subcommand 'status' from shell to C
330
+ - submodule: port set_name_rev() from shell to C
331
+ - submodule--helper: introduce for_each_listed_submodule()
332
+ - submodule--helper: introduce get_submodule_displaypath()
333
243
- Assorted bugfixes and clean-ups.
334
+ GSoC.
335
245
- Will merge to 'next'.
336
337
+* sb/parse-options-blank-line-before-option-list (2017-08-25) 1 commit
338
+ - usage_with_options: omit double new line on empty option list
339
248
-* ma/up-to-date (2017-08-23) 2 commits
249
- - treewide: correct several "up-to-date" to "up to date"
250
- - Documentation/user-manual: update outdated example output
340
+ "git worktree" with no option and no subcommand showed too many
341
+ blank lines in its help text, which has been reduced.
342
252
- Message and doc updates.
343
254
- Will merge to 'next'.
344
+* rs/apply-epoch (2017-08-25) 2 commits
345
+ (merged to 'next' on 2017-08-26 at c2bf5ceca3)
346
+ + apply: remove epoch date from regex
347
+ + apply: check date of potential epoch timestamps first
348
349
+ Code simplification.
350
257
-* mh/ref-lock-entry (2017-08-23) 1 commit
258
- (merged to 'next' on 2017-08-24 at 67760267f4)
259
- + refs: retry acquiring reference locks for 100ms
351
+ Will merge to 'master'.
352
261
- The code to acquire a lock on a reference (e.g. while accepting a
262
- push from a client) used to immediately fail when the reference is
263
- already locked---now it waits for a very short while and retries,
264
- which can make it succeed if the lock holder was holding it during
265
- a read-only operation.
353
+
354
+* mh/notes-cleanup (2017-08-26) 12 commits
355
+ (merged to 'next' on 2017-08-26 at 2d6df46966)
356
+ + load_subtree(): declare some variables to be `size_t`
357
+ + hex_to_bytes(): simpler replacement for `get_oid_hex_segment()`
358
+ + get_oid_hex_segment(): don't pad the rest of `oid`
359
+ + load_subtree(): combine some common code
360
+ + get_oid_hex_segment(): return 0 on success
361
+ + load_subtree(): only consider blobs to be potential notes
362
+ + load_subtree(): check earlier whether an internal node is a tree entry
363
+ + load_subtree(): separate logic for internal vs. terminal entries
364
+ + load_subtree(): fix incorrect comment
365
+ + load_subtree(): reduce the scope of some local variables
366
+ + load_subtree(): remove unnecessary conditional
367
+ + notes: make GET_NIBBLE macro more robust
368
+
369
+ Code clean-up.
370
371
Will merge to 'master'.
372
@@ -344,60 +448,49 @@ of the repositories listed at
448
--------------------------------------------------
449
[Cooking]
450
347
-* jt/packmigrate (2017-08-23) 23 commits
348
- (merged to 'next' on 2017-08-24 at 34a628ae6c)
349
- + pack: move for_each_packed_object()
350
- + pack: move has_pack_index()
351
- + pack: move has_sha1_pack()
352
- + pack: move find_pack_entry() and make it global
353
- + pack: move find_sha1_pack()
354
- + pack: move find_pack_entry_one(), is_pack_valid()
355
- + pack: move check_pack_index_ptr(), nth_packed_object_offset()
356
- + pack: move nth_packed_object_{sha1,oid}
357
- + pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry()
358
- + pack: move unpack_object_header()
359
- + pack: move get_size_from_delta()
360
- + pack: move unpack_object_header_buffer()
361
- + pack: move {,re}prepare_packed_git and approximate_object_count
362
- + pack: move install_packed_git()
363
- + pack: move add_packed_git()
364
- + pack: move unuse_pack()
365
- + pack: move use_pack()
366
- + pack: move pack-closing functions
367
- + pack: move release_pack_memory()
368
- + pack: move open_pack_index(), parse_pack_index()
369
- + pack: move pack_report()
370
- + pack: move static state variables
371
- + pack: move pack name-related functions
451
+* nd/prune-in-worktree (2017-08-24) 16 commits
452
+ - refs.c: reindent get_submodule_ref_store()
453
+ - refs.c: remove fallback-to-main-store code get_submodule_ref_store()
454
+ - rev-list: expose and document --single-worktree
455
+ - revision.c: --reflog add HEAD reflog from all worktrees
456
+ - files-backend: make reflog iterator go through per-worktree reflog
457
+ - revision.c: --all adds HEAD from all worktrees
458
+ - refs: remove dead for_each_*_submodule()
459
+ - refs.c: move for_each_remote_ref_submodule() to submodule.c
460
+ - revision.c: use refs_for_each*() instead of for_each_*_submodule()
461
+ - refs: add refs_head_ref()
462
+ - refs: move submodule slash stripping code to get_submodule_ref_store
463
+ - refs.c: refactor get_submodule_ref_store(), share common free block
464
+ - revision.c: --indexed-objects add objects from all worktrees
465
+ - revision.c: refactor add_index_objects_to_pending()
466
+ - refs.c: use is_dir_sep() in resolve_gitlink_ref()
467
+ - revision.h: new flag in struct rev_info wrt. worktree-related refs
468
373
- Code movement to make it easier to hack later.
374
-
375
- Will merge to 'master'.
469
+ "git gc" and friends when multiple worktrees are used off of a
470
+ single repository did not consider the index and per-worktree refs
471
+ of other worktrees as the root for reachability traversal, making
472
+ objects that are in use only in other worktrees to be subject to
473
+ garbage collection.
474
475
378
-* jc/cutoff-config (2017-08-22) 6 commits
379
- (merged to 'next' on 2017-08-24 at 2dcbf9ae04)
380
- + rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved
381
- + rerere: represent time duration in timestamp_t internally
382
- + t4200: parameterize "rerere gc" custom expiry test
383
- + t4200: gather "rerere gc" together
384
- + t4200: make "rerere gc" test more robust
385
- + t4200: give us a clean slate after "rerere gc" tests
476
+* ma/ts-cleanups (2017-08-23) 4 commits
477
+ (merged to 'next' on 2017-08-25 at e0e8cc53ec)
478
+ + ThreadSanitizer: add suppressions
479
+ + strbuf_setlen: don't write to strbuf_slopbuf
480
+ + pack-objects: take lock before accessing `remaining`
481
+ + convert: always initialize attr_action in convert_attrs
482
387
- "[gc] rerereResolved = 5.days" used to be invalid, as the variable
388
- is defined to take an integer counting the number of days. It now
389
- is allowed.
483
+ Assorted bugfixes and clean-ups.
484
485
Will merge to 'master'.
486
487
394
-* jt/stash-tests (2017-08-19) 3 commits
395
- (merged to 'next' on 2017-08-22 at 0b022697aa)
396
- + stash: add a test for stashing in a detached state
397
- + stash: add a test for when apply fails during stash branch
398
- + stash: add a test for stash create with no files
488
+* ma/up-to-date (2017-08-23) 2 commits
489
+ (merged to 'next' on 2017-08-25 at 902f6e9140)
490
+ + treewide: correct several "up-to-date" to "up to date"
491
+ + Documentation/user-manual: update outdated example output
492
400
- Test update to improve coverage for "git stash" operations.
493
+ Message and doc updates.
494
495
Will merge to 'master'.
496
@@ -425,75 +518,9 @@ of the repositories listed at
518
- hash-algo: add structure representing hash algorithm
519
- setup: expose enumerated repo info
520
- Merge branch 'bc/vcs-svn-cleanup' into bc/hash-algo
428
- (this branch uses bc/vcs-svn-cleanup; is tangled with jn/vcs-svn-cleanup.)
429
-
430
-
431
-* bc/vcs-svn-cleanup (2017-08-20) 2 commits
432
- (merged to 'next' on 2017-08-22 at d8494b5d5b)
433
- + vcs-svn: rename repo functions to "svn_repo"
434
- + vcs-svn: remove unused prototypes
435
- (this branch is used by bc/hash-algo and jn/vcs-svn-cleanup.)
436
-
437
- Code clean-up.
438
-
439
- Will merge to 'master'.
440
-
441
-
442
-* kw/write-index-reduce-alloc (2017-08-21) 3 commits
443
- (merged to 'next' on 2017-08-24 at 29f7daad85)
444
- + read-cache: avoid allocating every ondisk entry when writing
445
- + read-cache: fix memory leak in do_write_index
446
- + perf: add test for writing the index
447
-
448
- We used to spend more than necessary cycles allocating and freeing
449
- piece of memory while writing each index entry out. This has been
450
- optimized.
451
-
452
- Will merge to 'master'.
453
-
454
-
455
-* mg/killed-merge (2017-08-23) 4 commits
456
- (merged to 'next' on 2017-08-24 at 5db37fc192)
457
- + merge: save merge state earlier
458
- + merge: split write_merge_state in two
459
- + merge: clarify call chain
460
- + Documentation/git-merge: explain --continue
461
-
462
- Killing "git merge --edit" before the editor returns control left
463
- the repository in a state with MERGE_MSG but without MERGE_HEAD,
464
- which incorrectly tells the subsequent "git commit" that there was
465
- a squash merge in progress. This has been fixed.
466
-
467
- Will merge to 'master'.
468
-
469
-
470
-* po/object-id (2017-08-20) 6 commits
471
- (merged to 'next' on 2017-08-23 at 0faff383a8)
472
- + sha1_file: convert index_stream to struct object_id
473
- + sha1_file: convert hash_sha1_file_literally to struct object_id
474
- + sha1_file: convert index_fd to struct object_id
475
- + sha1_file: convert index_path to struct object_id
476
- + read-cache: convert to struct object_id
477
- + builtin/hash-object: convert to struct object_id
478
-
479
- Will merge to 'master'.
480
-
481
-
482
-* tb/apply-with-crlf (2017-08-19) 2 commits
483
- (merged to 'next' on 2017-08-22 at f92bf67061)
484
- + apply: file commited with CRLF should roundtrip diff and apply
485
- + convert: add SAFE_CRLF_KEEP_CRLF
486
- (this branch is tangled with jc/apply-with-crlf.)
487
-
488
- "git apply" that is used as a better "patch -p1" failed to apply a
489
- taken from a file with CRLF line endings to a file with CRLF line
490
- endings. The root cause was because it misused convert_to_git()
491
- that tried to do "safe-crlf" processing by looking at the index
492
- entry at the same path, which is a nonsense---in that mode, "apply"
493
- is not working on the data in (or derived from) the index at all.
494
- This has been fixed.
521
496
- Will merge to 'master'.
522
+ RFC
523
+ cf. <20170821000022.26729-1-sandals@crustytoothpaste.net>
524
525
526
* ks/branch-set-upstream (2017-08-17) 3 commits
@@ -546,28 +573,6 @@ of the repositories listed at
573
Will be rerolled after tc/curl-with-backports stabilizes.
574
575
549
-* jk/trailers-parse (2017-08-20) 9 commits
550
- (merged to 'next' on 2017-08-22 at 2d4d937141)
551
- + doc/interpret-trailers: fix "the this" typo
552
- (merged to 'next' on 2017-08-19 at faa63f8196)
553
- + pretty: support normalization options for %(trailers)
554
- + t4205: refactor %(trailers) tests
555
- + pretty: move trailer formatting to trailer.c
556
- + interpret-trailers: add --parse convenience option
557
- + interpret-trailers: add an option to unfold values
558
- + interpret-trailers: add an option to show only existing trailers
559
- + interpret-trailers: add an option to show only the trailers
560
- + trailer: put process_trailers() options into a struct
561
-
562
- "git interpret-trailers" has been taught a "--parse" and a few
563
- other options to make it easier for scripts to grab existing
564
- trailer lines from a commit log message.
565
-
566
- Will merge to 'master'.
567
- Possible leftover bits are mentioned in
568
- cf. <20170820094009.z23wclpku35txflg@sigill.intra.peff.net>
569
-
570
-
576
* mk/use-size-t-in-zlib (2017-08-10) 1 commit
577
. zlib.c: use size_t for size
578
@@ -591,18 +596,6 @@ of the repositories listed at
596
cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause>
597
598
594
-* jt/diff-color-move-fix (2017-08-16) 3 commits
595
- (merged to 'next' on 2017-08-19 at 6ae3831c8c)
596
- + diff: define block by number of alphanumeric chars
597
- + diff: respect MIN_BLOCK_LENGTH for last block
598
- + diff: avoid redundantly clearing a flag
599
- (this branch uses sb/diff-color-move.)
600
-
601
- A handful of bugfixes and an improvement to "diff --color-moved".
602
-
603
- Will merge to 'master'.
604
-
605
-
599
* bw/git-clang-format (2017-08-14) 2 commits
600
- Makefile: add style build rule
601
- clang-format: outline the git project's coding style
@@ -611,19 +604,6 @@ of the repositories listed at
604
out coding style issues.
605
606
614
-* pb/trailers-from-command-line (2017-08-14) 4 commits
615
- (merged to 'next' on 2017-08-19 at b12342e49e)
616
- + interpret-trailers: fix documentation typo
617
- + interpret-trailers: add options for actions
618
- + trailers: introduce struct new_trailer_item
619
- + trailers: export action enums and corresponding lookup functions
620
-
621
- "git interpret-trailers" learned to take the trailer specifications
622
- from the command line that overrides the configured values.
623
-
624
- Will merge to 'master'.
625
-
626
-
607
* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
608
- Documentation/checkout: clarify submodule HEADs to be detached
609
- recursive submodules: detach HEAD from new state
@@ -639,45 +619,15 @@ of the repositories listed at
619
620
621
* ti/external-sha1dc (2017-08-16) 2 commits
642
- - sha1dc: allow building with the external sha1dc library
643
- - sha1dc: build git plumbing code more explicitly
622
+ (merged to 'next' on 2017-08-26 at a0fb4e91a5)
623
+ + sha1dc: allow building with the external sha1dc library
624
+ + sha1dc: build git plumbing code more explicitly
625
626
Platforms that ship with a separate sha1 with collision detection
627
library can link to it instead of using the copy we ship as part of
628
our source tree.
629
649
- Waiting for reviews.
650
- cf. <20170815120417.31616-1-tiwai@suse.de>
651
-
652
-
653
-* bw/submodule-config-cleanup (2017-08-03) 17 commits
654
- (merged to 'next' on 2017-08-24 at e35d58c4c6)
655
- + submodule: remove gitmodules_config
656
- + unpack-trees: improve loading of .gitmodules
657
- + submodule-config: lazy-load a repository's .gitmodules file
658
- + submodule-config: move submodule-config functions to submodule-config.c
659
- + submodule-config: remove support for overlaying repository config
660
- + diff: stop allowing diff to have submodules configured in .git/config
661
- + submodule: remove submodule_config callback routine
662
- + unpack-trees: don't respect submodule.update
663
- + submodule: don't rely on overlayed config when setting diffopts
664
- + fetch: don't overlay config with submodule-config
665
- + submodule--helper: don't overlay config in update-clone
666
- + submodule--helper: don't overlay config in remote_submodule_branch
667
- + add, reset: ensure submodules can be added or reset
668
- + submodule: don't use submodule_from_name
669
- + t7411: check configuration parsing errors
670
- + Merge branch 'bc/object-id' into bw/submodule-config-cleanup
671
- + Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
672
-
673
- Code clean-up to avoid mixing values read from the .gitmodules file
674
- and values read from the .git/config file.
675
-
630
Will merge to 'master'.
677
- So, after the recent discussion around submodule.<name>.update (and
678
- its resolution "use submodule.<name>.active; "reset --hard" must
679
- ignore the .update thing"), this is now good to go, I presume?
680
- Please yell at me that I am clueless if that is not the case ;-)
631
632
633
* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
@@ -746,74 +696,14 @@ of the repositories listed at
696
"I told you so" when users complain after we merge this down to
697
'master'.
698
749
-
750
-* sb/diff-color-move (2017-06-30) 26 commits
751
- (merged to 'next' on 2017-08-19 at a239d031bc)
752
- + diff: document the new --color-moved setting
753
- + diff.c: add dimming to moved line detection
754
- + diff.c: color moved lines differently, plain mode
755
- + diff.c: color moved lines differently
756
- + diff.c: buffer all output if asked to
757
- + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY
758
- + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP
759
- + diff.c: convert word diffing to use emit_diff_symbol
760
- + diff.c: convert show_stats to use emit_diff_symbol
761
- + diff.c: convert emit_binary_diff_body to use emit_diff_symbol
762
- + submodule.c: migrate diff output to use emit_diff_symbol
763
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF
764
- + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES
765
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER
766
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS}
767
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE
768
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN]
769
- + diff.c: migrate emit_line_checked to use emit_diff_symbol
770
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
771
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO
772
- + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER
773
- + diff.c: introduce emit_diff_symbol
774
- + diff.c: factor out diff_flush_patch_all_file_pairs
775
- + diff.c: move line ending check into emit_hunk_header
776
- + diff.c: readability fix
777
- + Merge branch 'sb/hashmap-customize-comparison' into sb/diff-color-move
778
- (this branch is used by jt/diff-color-move-fix.)
779
-
780
- "git diff" has been taught to optionally paint new lines that are
781
- the same as deleted lines elsewhere differently from genuinely new
782
- lines.
783
-
784
- Will merge to 'master'.
785
-
699
--------------------------------------------------
700
[Discarded]
701
789
-* nd/prune-in-worktree (2017-04-24) 12 commits
790
- . rev-list: expose and document --single-worktree
791
- . revision.c: --reflog add HEAD reflog from all worktrees
792
- . files-backend: make reflog iterator go through per-worktree reflog
793
- . revision.c: --all adds HEAD from all worktrees
794
- . refs: remove dead for_each_*_submodule()
795
- . revision.c: use refs_for_each*() instead of for_each_*_submodule()
796
- . refs: add refs_head_ref()
797
- . refs: move submodule slash stripping code to get_submodule_ref_store
798
- . refs.c: refactor get_submodule_ref_store(), share common free block
799
- . revision.c: --indexed-objects add objects from all worktrees
800
- . revision.c: refactor add_index_objects_to_pending()
801
- . revision.h: new flag in struct rev_info wrt. worktree-related refs
802
-
803
- "git gc" and friends when multiple worktrees are used off of a
804
- single repository did not consider the index and per-worktree refs
805
- of other worktrees as the root for reachability traversal, making
806
- objects that are in use only in other worktrees to be subject to
807
- garbage collection.
808
-
809
-
810
-* jc/apply-with-crlf (2017-08-16) 6 commits
702
+* jc/apply-with-crlf (2017-08-16) 5 commits
703
. apply: clarify read_old_data() is about no-index case
704
. apply: localize the CRLF business to read_old_data()
705
. apply: only pay attention to CRLF in the preimage
706
. apply: remove unused field apply_state.flags
707
. apply: file commited with CRLF should roundtrip diff and apply
816
- + convert: add SAFE_CRLF_KEEP_CRLF
817
- (this branch is tangled with tb/apply-with-crlf.)
708
709
This served as an input to updated tb/apply-with-crlf.