What's cooking (2017/06 #04)
Junio C Hamano committed
Jun 13, 2017 at 14:39 UTC
ccca4bbe11105adcd1f5520b624ff1fb25df6396
1 file changed
+290
-339
whats-cooking.txt
+290
-339
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jun 2017, #03; Mon, 5)
4
-X-master-at: 69e6b9b4f4a91ce90f2c38ed2fa89686f8aff44f
5
-X-next-at: b3defc5cc2fce0752a80d6af33c0598a2e1a01f4
3
+Subject: What's cooking in git.git (Jun 2017, #04; Tue, 13)
4
+X-master-at: 02a2850ad58eff6de70eb2dc5f96345c463857ac
5
+X-next-at: 1d7a3356d075f99e85512d28ce621fe2de69778c
6
7
-What's cooking in git.git (Jun 2017, #03; Mon, 5)
7
+What's cooking in git.git (Jun 2017, #04; Tue, 13)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,9 +12,6 @@ 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
-With many fixes accumulated since v2.13.0, the first maintenance
16
-release v2.13.1 has been tagged. Thanks for all the help.
17
-
15
You can find the changes described here in the integration branches
16
of the repositories listed at
17
@@ -23,293 +20,245 @@ of the repositories listed at
20
--------------------------------------------------
21
[Graduated to "master"]
22
26
-* ab/c-translators-comment-style (2017-05-31) 1 commit
27
- (merged to 'next' on 2017-06-01 at df7fb9199a)
28
- + C style: use standard style for "TRANSLATORS" comments
23
+* jc/diff-tree-stale-comment (2017-06-02) 1 commit
24
+ (merged to 'next' on 2017-06-04 at bffae281d2)
25
+ + diff-tree: update stale in-code comments
26
30
- Update the C style recommendation for notes for translators, as
31
- recent versions of gettext tools can work with our style of
32
- multi-line comments.
27
+ Comment fix.
28
29
35
-* ab/sha1dc-maint (2017-05-22) 1 commit
36
- (merged to 'next' on 2017-05-30 at 9eb40bf912)
37
- + sha1dc: update from upstream
38
- (this branch is used by ab/sha1dc.)
30
+* jc/noent-notdir (2017-05-30) 2 commits
31
+ (merged to 'next' on 2017-06-04 at 7cb4efbc3c)
32
+ + treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked
33
+ + compat-util: is_missing_file_error()
34
40
- The "collision detecting" SHA-1 implementation shipped with 2.13
41
- was quite broken on some big-endian platforms and/or platforms that
42
- do not like unaligned fetches. Update to the upstream code which
43
- has already fixed these issues.
35
+ Our code often opens a path to an optional file, to work on its
36
+ contents when we can successfully open it. We can ignore a failure
37
+ to open if such an optional file does not exist, but we do want to
38
+ report a failure in opening for other reasons (e.g. we got an I/O
39
+ error, or the file is there, but we lack the permission to open).
40
41
+ The exact errors we need to ignore are ENOENT (obviously) and
42
+ ENOTDIR (less obvious). Instead of repeating comparison of errno
43
+ with these two constants, introduce a helper function to do so.
44
46
-* ab/t3070-test-dedup (2017-05-29) 1 commit
47
- (merged to 'next' on 2017-05-30 at 71eadec33b)
48
- + wildmatch test: remove redundant duplicate test
45
50
- Test cleanup.
46
+* jk/pack-idx-corruption-safety (2017-06-07) 1 commit
47
+ (merged to 'next' on 2017-06-07 at 31f94e174d)
48
+ + t5313: make extended-table test more deterministic
49
50
+ A flaky test has been corrected.
51
53
-* ad/pull-remote-doc (2017-06-02) 1 commit
54
- (merged to 'next' on 2017-06-02 at 32915e88db)
55
- + docs: fix formatting and grammar
52
57
- Docfix.
53
+* nd/fopen-errors (2017-06-02) 13 commits
54
+ (merged to 'next' on 2017-06-04 at 7a755e73bb)
55
+ + mingw_fopen: report ENOENT for invalid file names
56
+ + mingw: verify that paths are not mistaken for remote nicknames
57
+ + log: fix memory leak in open_next_file()
58
+ + rerere.c: move error_errno() closer to the source system call
59
+ + print errno when reporting a system call error
60
+ + wrapper.c: make warn_on_inaccessible() static
61
+ + wrapper.c: add and use fopen_or_warn()
62
+ + wrapper.c: add and use warn_on_fopen_errors()
63
+ + config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too
64
+ + config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
65
+ + clone: use xfopen() instead of fopen()
66
+ + use xfopen() in more places
67
+ + git_fopen: fix a sparse 'not declared' warning
68
69
+ We often try to open a file for reading whose existence is
70
+ optional, and silently ignore errors from open/fopen; report such
71
+ errors if they are not due to missing files.
72
60
-* ah/doc-filter-branch-export-env (2017-05-29) 1 commit
61
- (merged to 'next' on 2017-05-30 at a62168bf77)
62
- + doc: filter-branch does not require re-export of vars
73
64
- Docfix.
74
+* rf/completion (2017-06-02) 6 commits
75
+ (merged to 'next' on 2017-06-04 at dde1e34703)
76
+ + completion: add git config credentialCache.ignoreSIGHUP
77
+ + completion: add git config credential completions
78
+ + completion: add git config advice completions
79
+ + completion: add git config am.threeWay completion
80
+ + completion: add git config core completions
81
+ + completion: add git config gc completions
82
83
+ Completion updates.
84
67
-* ah/doc-rev-parse-short-default (2017-06-01) 1 commit
68
- (merged to 'next' on 2017-06-01 at f64fcc2a26)
69
- + doc: rewrite description for rev-parse --short
85
71
- Doc update.
86
+* sb/submodule-blanket-recursive (2017-06-01) 9 commits
87
+ (merged to 'next' on 2017-06-04 at 418bb03032)
88
+ + builtin/fetch.c: respect 'submodule.recurse' option
89
+ + builtin/push.c: respect 'submodule.recurse' option
90
+ + builtin/grep.c: respect 'submodule.recurse' option
91
+ + Introduce 'submodule.recurse' option for worktree manipulators
92
+ + submodule loading: separate code path for .gitmodules and config overlay
93
+ + reset/checkout/read-tree: unify config callback for submodule recursion
94
+ + submodule test invocation: only pass additional arguments
95
+ + submodule recursing: do not write a config variable twice
96
+ + Merge branch 'ab/grep-preparatory-cleanup' into sb/submodule-blanket-recursive
97
98
+ Many commands learned to pay attention to submodule.recurse
99
+ configuration.
100
+
101
+ It is not known if a simple "yes/no" is sufficient in the longer
102
+ term, and what should happen when --recurse-submodules option starts
103
+ taking "recurse into them how?" parameter, though.
104
+
105
+--------------------------------------------------
106
+[New Topics]
107
+
108
+* js/alias-early-config (2017-06-13) 6 commits
109
+ - Use the early config machinery to expand aliases
110
+ - t7006: demonstrate a problem with aliases in subdirectories
111
+ - t1308: relax the test verifying that empty alias values are disallowed
112
+ - help: use early config when autocorrecting aliases
113
+ - config: report correct line number upon error
114
+ - discover_git_directory(): avoid setting invalid git_dir
115
+
116
+ The code to pick up and execute command alias definition from the
117
+ configuration used to switch to the top of the working tree and
118
+ then come back when the expanded alias was executed, which was
119
+ unnecessarilyl complex. Attempt to simplify the logic by using the
120
+ early-config mechanism that does not chdir around.
121
+
122
+ Waiting for discussion to settle.
123
+
124
+
125
+* pc/dir-count-slashes (2017-06-12) 1 commit
126
+ - dir: create function count_slashes()
127
74
-* jh/close-index-before-stat (2017-04-28) 1 commit
75
- (merged to 'next' on 2017-05-16 at 0c0372eb02)
76
- + read-cache: close index.lock in do_write_index
128
+ Three instances of the same helper function have been consolidated
129
+ to one.
130
+
131
+ Will merge to 'next'.
132
78
- Originally merged to 'next' on 2017-04-30
133
80
- The timestamp of the index file is now taken after the file is
81
- closed, to help Windows, on which a stale timestamp is reported by
82
- fstat() on a file that is opened for writing and data was written
83
- but not yet closed.
134
+* sb/t4005-modernize (2017-06-10) 1 commit
135
+ - t4005: modernize style and drop hard coded sha1
136
137
+ Test clean-up.
138
+
139
+ Will merge to 'next'.
140
86
-* jk/connect-symref-info-leak-fix (2017-05-26) 1 commit
87
- (merged to 'next' on 2017-05-30 at d8b75d2dd9)
88
- + connect.c: fix leak in parse_one_symref_info()
141
90
- Leakfix.
142
+* ah/filter-branch-setup (2017-06-12) 2 commits
143
+ - filter-branch: add [--] to usage
144
+ - filter-branch: add `--setup` step
145
+
146
+ "filter-branch" learned a pseudo filter "--setup" that can be used
147
+ to define a common function/variable that can be used by other
148
+ filters.
149
+
150
+ Will merge to 'next'.
151
152
93
-* jk/drop-free-refspecs (2017-06-01) 1 commit
94
- (merged to 'next' on 2017-06-01 at 8f455319fc)
95
- + remote: drop free_refspecs() function
153
+* bw/config-h (2017-06-13) 4 commits
154
+ - config: don't implicitly use gitdir
155
+ - config: don't include config.h by default
156
+ - config: remove git_config_iter
157
+ - config: create config.h
158
159
Code clean-up.
160
161
100
-* jk/unbreak-am-h (2017-05-30) 1 commit
101
- (merged to 'next' on 2017-06-01 at ee2233d409)
102
- + am: handle "-h" argument earlier
103
- (this branch is used by jk/consistent-h.)
104
-
105
- "git am -h" triggered a BUG().
106
-
107
-
108
-* jk/url-insteadof-config (2017-06-01) 1 commit
109
- (merged to 'next' on 2017-06-01 at e7ea6032c2)
110
- + docs/config: mention protocol implications of url.insteadOf
111
-
112
- The interaction of "url.*.insteadOf" and custom URL scheme's
113
- whitelisting is now documented better.
114
-
115
-
116
-* js/blame-lib (2017-05-25) 29 commits
117
- (merged to 'next' on 2017-05-30 at b4678b36a7)
118
- + blame: move entry prepend to libgit
119
- + blame: move scoreboard setup to libgit
120
- + blame: move scoreboard-related methods to libgit
121
- + blame: move fake-commit-related methods to libgit
122
- + blame: move origin-related methods to libgit
123
- + blame: move core structures to header
124
- + blame: create entry prepend function
125
- + blame: create scoreboard setup function
126
- + blame: create scoreboard init function
127
- + blame: rework methods that determine 'final' commit
128
- + blame: wrap blame_sort and compare_blame_final
129
- + blame: move progress updates to a scoreboard callback
130
- + blame: make sanity_check use a callback in scoreboard
131
- + blame: move no_whole_file_rename flag to scoreboard
132
- + blame: move xdl_opts flags to scoreboard
133
- + blame: move show_root flag to scoreboard
134
- + blame: move reverse flag to scoreboard
135
- + blame: move contents_from to scoreboard
136
- + blame: move copy/move thresholds to scoreboard
137
- + blame: move stat counters to scoreboard
138
- + blame: rename nth_line function
139
- + blame: rename ent_score function
140
- + blame: rename coalesce function
141
- + blame: rename origin-related functions
142
- + blame: rename scoreboard structure to blame_scoreboard
143
- + blame: rename origin structure to blame_origin
144
- + blame: remove unused parameters
145
- + blame: move textconv_object with related functions
146
- + blame: remove unneeded dependency on blob.h
147
-
148
- The internal logic used in "git blame" has been libified to make it
149
- easier to use by cgit.
150
-
151
-
152
-* mb/diff-default-to-indent-heuristics (2017-05-09) 4 commits
153
- (merged to 'next' on 2017-05-29 at 7645575e21)
154
- + add--interactive: drop diff.indentHeuristic handling
155
- + diff: enable indent heuristic by default
156
- + diff: have the diff-* builtins configure diff before initializing revisions
157
- + diff: make the indent heuristic part of diff's basic configuration
158
-
159
- Make the "indent" heuristics the default in "diff" and diff.indentHeuristics
160
- configuration variable an escape hatch for those who do no want it.
161
- Looks like there may be follow-on work possible, but the topic
162
- itself is in good order.
163
- cf. <20170509033258.q7auj5p5lxs4tggd@sigill.intra.peff.net>
164
-
165
-
166
-* mh/packed-ref-store-prep (2017-05-24) 26 commits
167
- (merged to 'next' on 2017-05-29 at e4f5e06b4c)
168
- + cache_ref_iterator_begin(): avoid priming unneeded directories
169
- + ref-filter: limit traversal to prefix
170
- + create_ref_entry(): remove `check_name` option
171
- + refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA`
172
- + read_packed_refs(): report unexpected fopen() failures
173
- + read_packed_refs(): do more of the work of reading packed refs
174
- + get_packed_ref_cache(): assume "packed-refs" won't change while locked
175
- + should_pack_ref(): new function, extracted from `files_pack_refs()`
176
- + ref_update_reject_duplicates(): add a sanity check
177
- + ref_update_reject_duplicates(): use `size_t` rather than `int`
178
- + ref_update_reject_duplicates(): expose function to whole refs module
179
- + ref_transaction_prepare(): new optional step for reference updates
180
- + ref_transaction_commit(): check for valid `transaction->state`
181
- + files_transaction_cleanup(): new helper function
182
- + files_ref_store: put the packed files lock directly in this struct
183
- + files-backend: move `lock` member to `files_ref_store`
184
- + lockfile: add a new method, is_lock_file_locked()
185
- + ref_store: take a `msg` parameter when deleting references
186
- + refs: use `size_t` indexes when iterating over ref transaction updates
187
- + refs_ref_iterator_begin(): don't check prefixes redundantly
188
- + prefix_ref_iterator: don't trim too much
189
- + files-backend: use `die("BUG: ...")`, not `die("internal error: ...")`
190
- + ref_iterator_begin_fn(): fix docstring
191
- + refs.h: clarify docstring for the ref_transaction_update()-related fns
192
- + t3600: clean up permissions test properly
193
- + Merge branch 'bc/object-id'
194
-
195
- The implementation of "ref" API around the "packed refs" have been
196
- cleaned up, in preparation for further changes.
197
-
198
-
199
-* rf/completion-config-commit (2017-05-30) 1 commit
200
- (merged to 'next' on 2017-06-01 at cea32e0486)
201
- + completion: add completions for git config commit
202
- (this branch is used by rf/completion.)
203
-
204
- Completion update.
205
-
206
-
207
-* sd/t3200-typofix (2017-05-29) 1 commit
208
- (merged to 'next' on 2017-05-30 at 784e5e73f8)
209
- + branch test: fix invalid config key access
210
-
211
- Test fix.
212
-
213
-
214
-* tb/pull-ff-rebase-autostash (2017-06-01) 1 commit
215
- (merged to 'next' on 2017-06-01 at b5e676d57e)
216
- + pull: ff --rebase --autostash works in dirty repo
217
-
218
- "git pull --rebase --autostash" didn't auto-stash when the local history
219
- fast-forwards to the upstream.
162
+* bw/ls-files-sans-the-index (2017-06-13) 17 commits
163
+ - ls-files: factor out tag calculation
164
+ - ls-files: factor out debug info into a function
165
+ - ls-files: convert show_files to take an index
166
+ - ls-files: convert show_ce_entry to take an index
167
+ - ls-files: convert prune_cache to take an index
168
+ - ls-files: convert ce_excluded to take an index
169
+ - ls-files: convert show_ru_info to take an index
170
+ - ls-files: convert show_other_files to take an index
171
+ - ls-files: convert show_killed_files to take an index
172
+ - ls-files: convert write_eolinfo to take an index
173
+ - ls-files: convert overlay_tree_on_cache to take an index
174
+ - tree: convert read_tree to take an index parameter
175
+ - convert: convert renormalize_buffer to take an index
176
+ - convert: convert convert_to_git to take an index
177
+ - convert: convert convert_to_git_filter_fd to take an index
178
+ - convert: convert crlf_to_git to take an index
179
+ - convert: convert get_cached_convert_stats_ascii to take an index
180
221
---------------------------------------------------
222
-[New Topics]
181
+ Code clean-up.
182
224
-* bw/object-id (2017-06-05) 33 commits
225
- - diff: rename diff_fill_sha1_info to diff_fill_oid_info
226
- - diffcore-rename: use is_empty_blob_oid
227
- - tree-diff: convert path_appendnew to object_id
228
- - tree-diff: convert diff_tree_paths to struct object_id
229
- - tree-diff: convert try_to_follow_renames to struct object_id
230
- - builtin/diff-tree: cleanup references to sha1
231
- - diff-tree: convert diff_tree_sha1 to struct object_id
232
- - notes-merge: convert write_note_to_worktree to struct object_id
233
- - notes-merge: convert verify_notes_filepair to struct object_id
234
- - notes-merge: convert find_notes_merge_pair_ps to struct object_id
235
- - notes-merge: convert merge_from_diffs to struct object_id
236
- - notes-merge: convert notes_merge* to struct object_id
237
- - tree-diff: convert diff_root_tree_sha1 to struct object_id
238
- - combine-diff: convert find_paths_* to struct object_id
239
- - combine-diff: convert diff_tree_combined to struct object_id
240
- - diff: convert diff_flush_patch_id to struct object_id
241
- - patch-ids: convert to struct object_id
242
- - diff: finish conversion for prepare_temp_file to struct object_id
243
- - diff: convert reuse_worktree_file to struct object_id
244
- - diff: convert fill_filespec to struct object_id
245
- - diff: convert diff_change to struct object_id
246
- - diff: convert run_diff_files to struct object_id
247
- - diff: convert diff_addremove to struct object_id
248
- - diff: convert diff_index_show_file to struct object_id
249
- - diff: convert get_stat_data to struct object_id
250
- - grep: convert to struct object_id
251
- - notes: convert some accessor functions to struct object_id
252
- - builtin/notes: convert to struct object_id
253
- - notes: convert format_display_notes to struct object_id
254
- - notes: make get_note return pointer to struct object_id
255
- - notes: convert for_each_note to struct object_id
256
- - notes: convert internal parts to struct object_id
257
- - notes: convert internal structures to struct object_id
183
259
- Conversion from uchar[20] to struct object_id continues.
184
+* jc/pretty-add-again (2017-06-13) 1 commit
185
+ - add_again() off-by-one error in custom format
186
+
187
+
188
+* jk/warn-add-gitlink (2017-06-13) 2 commits
189
+ - t: move "git add submodule" into test blocks
190
+ - add: warn when adding an embedded repository
191
+
192
+ Using "git add d/i/r" when d/i/r is the top of the working tree of
193
+ a separate repository would create a gitlink in the index, which
194
+ would appear as a not-quite-initialized submodule to others. We
195
+ learned to give warnings when this happens.
196
+
197
+
198
+* km/test-mailinfo-b-failure (2017-06-12) 1 commit
199
+ - t5100: add some more mailinfo tests
200
+
201
+ New tests.
202
203
Will merge to 'next'.
204
205
264
-* rs/strbuf-addftime-zZ (2017-06-04) 1 commit
265
- - strbuf: let strbuf_addftime handle %z and %Z itself
206
+* ls/github (2017-06-13) 1 commit
207
+ - Configure Git contribution guidelines for github.com
208
267
- As there is no portable way to pass timezone information to
268
- strftime, some output format from "git log" and friends are
269
- impossible to produce. Teach our own strbuf_addftime to replace %z
270
- and %Z with caller-supplied values to help working around this.
209
+ Help contributors that visit us at GitHub.
210
211
Will merge to 'next'.
212
213
275
-* sb/submodule-rm-absorb (2017-06-04) 1 commit
276
- - Documentation/git-rm: correct submodule description
214
+* mh/fast-import-raise-default-depth (2017-06-12) 1 commit
215
+ - fast-import: increase the default pack depth to 50
216
278
- Doc update to a recently graduated topic.
217
+ "fast-import" uses a default pack chain depth that is consistent
218
+ with other parts of the system.
219
220
Will merge to 'next'.
221
222
283
-* sg/revision-parser-skip-prefix (2017-06-04) 3 commits
284
- - revision.c: use skip_prefix() in handle_revision_pseudo_opt()
285
- - revision.c: use skip_prefix() in handle_revision_opt()
286
- - revision.c: stricter parsing of '--no-{min,max}-parents'
223
+* mh/packed-ref-store-prep (2017-06-12) 1 commit
224
+ - lock_packed_refs(): fix cache validity check
225
288
- Code clean-up.
226
+ Bugfix for a topic that is (only) in 'master'.
227
228
Will merge to 'next'.
229
230
293
-* ab/perf-remove-index-lock (2017-06-05) 1 commit
294
- - perf: work around the tested repo having an index.lock
231
+* ps/stash-push-pathspec-fix (2017-06-13) 1 commit
232
+ - git-stash: fix pushing stash with pathspec from subdir
233
296
- When an existing repository is used for t/perf testing, we first
297
- create bit-for-bit copy of it, which may grab a transient state of
298
- the repository and freeze it into the repository used for testing,
299
- which then may cause Git operations to fail. Single out "the index
300
- being locked" case and forcibly drop the lock from the copy.
234
+ "git stash push <pathspec>" did not work from a subdirectory at all.
235
+ Bugfix for a topic in v2.13
236
237
Will merge to 'next'.
238
239
305
-* ab/wip-fsmonitor (2017-06-04) 7 commits
306
- - perf: add a performance test for core.fsmonitor
307
- - fsmonitor: add a sample query-fsmonitor hook script for Watchman
308
- - fsmonitor: add documentation for the fsmonitor extension
309
- - fsmonitor: add test cases for fsmonitor extension
310
- - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
311
- - dir: make lookup_untracked() available outside of dir.c
312
- - bswap: add 64 bit endianness helper get_be64
240
+* sb/submodule-doc (2017-06-13) 1 commit
241
+ - submodules: overhaul documentation
242
+
243
+ Doc update.
244
+
245
+
246
+* sd/t3200-branch-m-test (2017-06-13) 1 commit
247
+ - t3200: add test for single parameter passed to -m option
248
+
249
+ New test.
250
+
251
+ Will merge to 'next'.
252
+
253
+
254
+* sd/branch-copy (2017-06-13) 3 commits
255
+ - branch: add a --copy (-c) option to go with --move (-m)
256
+ - branch: add test for -m renaming multiple config sections
257
+ - config: create a function to format section headers
258
+
259
+ "git branch" learned "-c/-C" to create and switch to a new branch
260
+ by copying an existing one.
261
+
262
263
--------------------------------------------------
264
[Stalled]
@@ -367,43 +316,89 @@ of the repositories listed at
316
--------------------------------------------------
317
[Cooking]
318
370
-* jc/diff-tree-stale-comment (2017-06-02) 1 commit
371
- (merged to 'next' on 2017-06-04 at bffae281d2)
372
- + diff-tree: update stale in-code comments
319
+* bw/object-id (2017-06-05) 33 commits
320
+ (merged to 'next' on 2017-06-13 at 0582278759)
321
+ + diff: rename diff_fill_sha1_info to diff_fill_oid_info
322
+ + diffcore-rename: use is_empty_blob_oid
323
+ + tree-diff: convert path_appendnew to object_id
324
+ + tree-diff: convert diff_tree_paths to struct object_id
325
+ + tree-diff: convert try_to_follow_renames to struct object_id
326
+ + builtin/diff-tree: cleanup references to sha1
327
+ + diff-tree: convert diff_tree_sha1 to struct object_id
328
+ + notes-merge: convert write_note_to_worktree to struct object_id
329
+ + notes-merge: convert verify_notes_filepair to struct object_id
330
+ + notes-merge: convert find_notes_merge_pair_ps to struct object_id
331
+ + notes-merge: convert merge_from_diffs to struct object_id
332
+ + notes-merge: convert notes_merge* to struct object_id
333
+ + tree-diff: convert diff_root_tree_sha1 to struct object_id
334
+ + combine-diff: convert find_paths_* to struct object_id
335
+ + combine-diff: convert diff_tree_combined to struct object_id
336
+ + diff: convert diff_flush_patch_id to struct object_id
337
+ + patch-ids: convert to struct object_id
338
+ + diff: finish conversion for prepare_temp_file to struct object_id
339
+ + diff: convert reuse_worktree_file to struct object_id
340
+ + diff: convert fill_filespec to struct object_id
341
+ + diff: convert diff_change to struct object_id
342
+ + diff: convert run_diff_files to struct object_id
343
+ + diff: convert diff_addremove to struct object_id
344
+ + diff: convert diff_index_show_file to struct object_id
345
+ + diff: convert get_stat_data to struct object_id
346
+ + grep: convert to struct object_id
347
+ + notes: convert some accessor functions to struct object_id
348
+ + builtin/notes: convert to struct object_id
349
+ + notes: convert format_display_notes to struct object_id
350
+ + notes: make get_note return pointer to struct object_id
351
+ + notes: convert for_each_note to struct object_id
352
+ + notes: convert internal parts to struct object_id
353
+ + notes: convert internal structures to struct object_id
354
374
- Comment fix.
355
+ Conversion from uchar[20] to struct object_id continues.
356
357
Will merge to 'master'.
358
359
379
-* jc/noent-notdir (2017-05-30) 2 commits
380
- (merged to 'next' on 2017-06-04 at 7cb4efbc3c)
381
- + treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked
382
- + compat-util: is_missing_file_error()
360
+* rs/strbuf-addftime-zZ (2017-06-10) 2 commits
361
+ - date: use localtime() for "-local" time formats
362
+ - strbuf: let strbuf_addftime handle %z and %Z itself
363
384
- Our code often opens a path to an optional file, to work on its
385
- contents when we can successfully open it. We can ignore a failure
386
- to open if such an optional file does not exist, but we do want to
387
- report a failure in opening for other reasons (e.g. we got an I/O
388
- error, or the file is there, but we lack the permission to open).
364
+ As there is no portable way to pass timezone information to
365
+ strftime, some output format from "git log" and friends are
366
+ impossible to produce. Teach our own strbuf_addftime to replace %z
367
+ and %Z with caller-supplied values to help working around this.
368
390
- The exact errors we need to ignore are ENOENT (obviously) and
391
- ENOTDIR (less obvious). Instead of repeating comparison of errno
392
- with these two constants, introduce a helper function to do so.
369
+ Will merge to 'next'.
370
+
371
+
372
+* sb/submodule-rm-absorb (2017-06-04) 1 commit
373
+ (merged to 'next' on 2017-06-13 at ed902e8fb4)
374
+ + Documentation/git-rm: correct submodule description
375
+
376
+ Doc update to a recently graduated topic.
377
378
Will merge to 'master'.
379
380
397
-* rf/completion (2017-06-02) 6 commits
398
- (merged to 'next' on 2017-06-04 at dde1e34703)
399
- + completion: add git config credentialCache.ignoreSIGHUP
400
- + completion: add git config credential completions
401
- + completion: add git config advice completions
402
- + completion: add git config am.threeWay completion
403
- + completion: add git config core completions
404
- + completion: add git config gc completions
381
+* sg/revision-parser-skip-prefix (2017-06-12) 5 commits
382
+ - revision.c: use skip_prefix() in handle_revision_pseudo_opt()
383
+ - revision.c: use skip_prefix() in handle_revision_opt()
384
+ - revision.c: stricter parsing of '--early-output'
385
+ - revision.c: stricter parsing of '--no-{min,max}-parents'
386
+ - revision.h: turn rev_info.early_output back into an unsigned int
387
+
388
+ Code clean-up.
389
+
390
+ Will merge to 'next'.
391
406
- Completion updates.
392
+
393
+* ab/perf-remove-index-lock (2017-06-05) 1 commit
394
+ (merged to 'next' on 2017-06-13 at c532e59233)
395
+ + perf: work around the tested repo having an index.lock
396
+
397
+ When an existing repository is used for t/perf testing, we first
398
+ create bit-for-bit copy of it, which may grab a transient state of
399
+ the repository and freeze it into the repository used for testing,
400
+ which then may cause Git operations to fail. Single out "the index
401
+ being locked" case and forcibly drop the lock from the copy.
402
403
Will merge to 'master'.
404
@@ -422,21 +417,22 @@ of the repositories listed at
417
418
419
* jk/consistent-h (2017-06-05) 8 commits
425
- - t0012: test "-h" with builtins
426
- - git: add hidden --list-builtins option
427
- - version: convert to parse-options
428
- - diff- and log- family: handle "git cmd -h" early
429
- - submodule--helper: show usage for "-h"
430
- - remote-{ext,fd}: print usage message on invalid arguments
431
- - upload-archive: handle "-h" option early
432
- - credential: handle invalid arguments earlier
420
+ (merged to 'next' on 2017-06-13 at e09c1fe968)
421
+ + t0012: test "-h" with builtins
422
+ + git: add hidden --list-builtins option
423
+ + version: convert to parse-options
424
+ + diff- and log- family: handle "git cmd -h" early
425
+ + submodule--helper: show usage for "-h"
426
+ + remote-{ext,fd}: print usage message on invalid arguments
427
+ + upload-archive: handle "-h" option early
428
+ + credential: handle invalid arguments earlier
429
430
"git $cmd -h" for builtin commands calls the implementation of the
431
command (i.e. cmd_$cmd() function) without doing any repository
432
set-up, and the commands that expect RUN_SETUP is done by the Git
433
potty needs to be prepared to show the help text without barfing.
434
439
- Will merge to 'next'.
435
+ Will merge to 'master'.
436
437
438
* pw/rebase-i-regression-fix-tests (2017-06-01) 1 commit
@@ -448,51 +444,31 @@ of the repositories listed at
444
Expecting a portable update.
445
446
451
-* sb/submodule-blanket-recursive (2017-06-01) 9 commits
452
- (merged to 'next' on 2017-06-04 at 418bb03032)
453
- + builtin/fetch.c: respect 'submodule.recurse' option
454
- + builtin/push.c: respect 'submodule.recurse' option
455
- + builtin/grep.c: respect 'submodule.recurse' option
456
- + Introduce 'submodule.recurse' option for worktree manipulators
457
- + submodule loading: separate code path for .gitmodules and config overlay
458
- + reset/checkout/read-tree: unify config callback for submodule recursion
459
- + submodule test invocation: only pass additional arguments
460
- + submodule recursing: do not write a config variable twice
461
- + Merge branch 'ab/grep-preparatory-cleanup' into sb/submodule-blanket-recursive
462
-
463
- Many commands learned to pay attention to submodule.recurse
464
- configuration.
465
-
466
- Will merge to 'master'.
467
-
468
- It is not known if a simple "yes/no" is sufficient in the longer
469
- term, and what should happen when --recurse-submodules option starts
470
- taking "recurse into them how?" parameter, though.
471
-
472
-
447
* ab/pcre-v2 (2017-06-02) 8 commits
474
- - grep: add support for PCRE v2
475
- - grep: un-break building with PCRE >= 8.32 without --enable-jit
476
- - grep: un-break building with PCRE < 8.20
477
- - grep: un-break building with PCRE < 8.32
478
- - grep: add support for the PCRE v1 JIT API
479
- - log: add -P as a synonym for --perl-regexp
480
- - grep: skip pthreads overhead when using one thread
481
- - grep: don't redundantly compile throwaway patterns under threading
448
+ (merged to 'next' on 2017-06-13 at 34bf49ee44)
449
+ + grep: add support for PCRE v2
450
+ + grep: un-break building with PCRE >= 8.32 without --enable-jit
451
+ + grep: un-break building with PCRE < 8.20
452
+ + grep: un-break building with PCRE < 8.32
453
+ + grep: add support for the PCRE v1 JIT API
454
+ + log: add -P as a synonym for --perl-regexp
455
+ + grep: skip pthreads overhead when using one thread
456
+ + grep: don't redundantly compile throwaway patterns under threading
457
458
Update "perl-compatible regular expression" support to enable JIT
459
and also allow linking with the newer PCRE v2 library.
460
486
- Will merge to 'next'.
461
+ Will merge to 'master'.
462
463
464
* jk/pathspec-magic-disambiguation (2017-05-29) 6 commits
490
- - verify_filename(): flip order of checks
491
- - verify_filename(): treat ":(magic)" as a pathspec
492
- - check_filename(): handle ":^" path magic
493
- - check_filename(): use skip_prefix
494
- - check_filename(): refactor ":/" handling
495
- - t4208: add check for ":/" without matching file
465
+ (merged to 'next' on 2017-06-13 at 088987f033)
466
+ + verify_filename(): flip order of checks
467
+ + verify_filename(): treat ":(magic)" as a pathspec
468
+ + check_filename(): handle ":^" path magic
469
+ + check_filename(): use skip_prefix
470
+ + check_filename(): refactor ":/" handling
471
+ + t4208: add check for ":/" without matching file
472
473
The convention for a command line is to follow "git cmdname
474
--options" with revisions followed by an optional "--"
@@ -506,10 +482,10 @@ of the repositories listed at
482
learned to say "it's a pathspec" a bit more often when the syntax
483
looks like so.
484
509
- Will merge to 'next'.
485
+ Will merge to 'master'.
486
487
512
-* ab/sha1dc (2017-05-22) 2 commits
488
+* ab/sha1dc (2017-06-07) 2 commits
489
- sha1collisiondetection: automatically enable when submodule is populated
490
- sha1dc: optionally use sha1collisiondetection as a submodule
491
@@ -517,15 +493,14 @@ of the repositories listed at
493
from is replaced by directly binding the upstream project as our
494
submodule.
495
520
- Will keep in 'pu' for a few CI cycles.
496
+ Will keep in 'pu'.
497
Impact to the various build and release infrastructure of using
498
submodule is not yet fully known, but this lets us dip our toes.
499
500
525
-* bp/fsmonitor (2017-06-04) 7 commits
526
- - perf: add a performance test for core.fsmonitor
501
+* bp/fsmonitor (2017-06-12) 6 commits
502
- fsmonitor: add a sample query-fsmonitor hook script for Watchman
528
- - fsmonitor: add documentation for the fsmonitor extension
503
+ - fsmonitor: add documentation for the fsmonitor extension.
504
- fsmonitor: add test cases for fsmonitor extension
505
- fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
506
- dir: make lookup_untracked() available outside of dir.c
@@ -534,7 +509,6 @@ of the repositories listed at
509
We learned to talk to watchman to speed up "git status".
510
511
Waiting for discussion to settle.
537
- cf. <20170601155105.28356-1-benpeart@microsoft.com>
512
513
514
* sb/diff-color-move (2017-06-01) 17 commits
@@ -586,29 +560,6 @@ of the repositories listed at
560
Are we happy with these two?
561
562
589
-* nd/fopen-errors (2017-06-02) 13 commits
590
- (merged to 'next' on 2017-06-04 at 7a755e73bb)
591
- + mingw_fopen: report ENOENT for invalid file names
592
- + mingw: verify that paths are not mistaken for remote nicknames
593
- + log: fix memory leak in open_next_file()
594
- + rerere.c: move error_errno() closer to the source system call
595
- + print errno when reporting a system call error
596
- + wrapper.c: make warn_on_inaccessible() static
597
- + wrapper.c: add and use fopen_or_warn()
598
- + wrapper.c: add and use warn_on_fopen_errors()
599
- + config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too
600
- + config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
601
- + clone: use xfopen() instead of fopen()
602
- + use xfopen() in more places
603
- + git_fopen: fix a sparse 'not declared' warning
604
-
605
- We often try to open a file for reading whose existence is
606
- optional, and silently ignore errors from open/fopen; report such
607
- errors if they are not due to missing files.
608
-
609
- Will merge to 'master'.
610
-
611
-
563
* js/rebase-i-final (2017-05-02) 10 commits
564
- rebase -i: rearrange fixup/squash lines using the rebase--helper
565
- t3415: test fixup with wrapped oneline