What's cooking (2017/04 #05)
Junio C Hamano committed
Apr 25, 2017 at 22:14 UTC
563ff008742d989b3577bc41f434313c4e2a77bd
1 file changed
+571
-485
whats-cooking.txt
+571
-485
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Apr 2017, #04; Wed, 19)
4
-X-master-at: 6a2c2f8d34fa1e8f3bb85d159d354810ed63692e
5
-X-next-at: b4426549316a3855d2b022fb331e7173b26879d0
3
+Subject: What's cooking in git.git (Apr 2017, #05; Tue, 25)
4
+X-master-at: e2cb6ab84c94f147f1259260961513b40c36108a
5
+X-next-at: 87b477812d19226f71786936237a1aa4e7df378e
6
7
-What's cooking in git.git (Apr 2017, #04; Wed, 19)
7
+What's cooking in git.git (Apr 2017, #05; Tue, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -20,246 +20,463 @@ of the repositories listed at
20
--------------------------------------------------
21
[Graduated to "master"]
22
23
-* ab/grep-plug-pathspec-leak (2017-04-16) 1 commit
24
- (merged to 'next' on 2017-04-18 at d8f00b5e44)
25
- + grep: plug a trivial memory leak
23
+* jh/verify-index-checksum-only-in-fsck (2017-04-15) 1 commit
24
+ (merged to 'next' on 2017-04-19 at a089b97d34)
25
+ + read-cache: force_verify_index_checksum
26
27
- Call clear_pathspec() to release resources immediately before the
28
- cmd_grep() function returns.
27
+ The index file has a trailing SHA-1 checksum to detect file
28
+ corruption, and historically we checked it every time the index
29
+ file is used. Omit the validation during normal use, and instead
30
+ verify only in "git fsck".
31
32
+ There is an update to the test script as a follow-up.
33
31
-* ah/diff-files-ours-theirs-doc (2017-04-13) 1 commit
32
- (merged to 'next' on 2017-04-18 at a4f80f0c3f)
33
- + diff-files: document --ours etc.
34
35
- The diff options "--ours", "--theirs" exist for quite some time.
36
- But so far they were not documented. Now they are.
35
+* bw/submodule-with-bs-path (2017-04-16) 1 commit
36
+ (merged to 'next' on 2017-04-19 at 692775477b)
37
+ + submodule: prevent backslash expantion in submodule names
38
39
+ "git submodule" script does not work well with strange pathnames.
40
+ Protect it from a path with slashes in them, at least.
41
39
-* bc/object-id (2017-03-31) 20 commits
40
- (merged to 'next' on 2017-04-16 at b16f1899dd)
41
- + Documentation: update and rename api-sha1-array.txt
42
- + Rename sha1_array to oid_array
43
- + Convert sha1_array_for_each_unique and for_each_abbrev to object_id
44
- + Convert sha1_array_lookup to take struct object_id
45
- + Convert remaining callers of sha1_array_lookup to object_id
46
- + Make sha1_array_append take a struct object_id *
47
- + sha1-array: convert internal storage for struct sha1_array to object_id
48
- + builtin/pull: convert to struct object_id
49
- + submodule: convert check_for_new_submodule_commits to object_id
50
- + sha1_name: convert disambiguate_hint_fn to take object_id
51
- + sha1_name: convert struct disambiguate_state to object_id
52
- + test-sha1-array: convert most code to struct object_id
53
- + parse-options-cb: convert sha1_array_append caller to struct object_id
54
- + fsck: convert init_skiplist to struct object_id
55
- + builtin/receive-pack: convert portions to struct object_id
56
- + builtin/pull: convert portions to struct object_id
57
- + builtin/diff: convert to struct object_id
58
- + Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
59
- + Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
60
- + Define new hash-size constants for allocating memory
42
62
- Conversion from unsigned char [40] to struct object_id continues.
43
+* dt/http-postbuffer-can-be-large (2017-04-13) 1 commit
44
+ (merged to 'next' on 2017-04-19 at dc9de26fc9)
45
+ + http.postbuffer: allow full range of ssize_t values
46
47
+ Allow the http.postbuffer configuration variable to be set to a
48
+ size that can be expressed in size_t, which can be larger than
49
+ ulong on some platforms.
50
+
51
+
52
+* dt/xgethostname-nul-termination (2017-04-18) 2 commits
53
+ (merged to 'next' on 2017-04-19 at 4035f442cc)
54
+ + xgethostname: handle long hostnames
55
+ + use HOST_NAME_MAX to size buffers for gethostname(2)
56
+
57
+ gethostname(2) may not NUL terminate the buffer if hostname does
58
+ not fit; unfortunately there is no easy way to see if our buffer
59
+ was too small, but at least this will make sure we will not end up
60
+ using garbage past the end of the buffer.
61
65
-* bw/attr-pathspec (2017-04-16) 1 commit
66
- (merged to 'next' on 2017-04-18 at 2644ca1269)
67
- + pathspec: fix segfault in clear_pathspec
62
69
- Hotfix for a topic already in 'master'.
63
+* jh/string-list-micro-optim (2017-04-15) 1 commit
64
+ (merged to 'next' on 2017-04-19 at 2a5e339df9)
65
+ + string-list: use ALLOC_GROW macro when reallocing string_list
66
67
+ The string-list API used a custom reallocation strategy that was
68
+ very inefficient, instead of using the usual ALLOC_GROW() macro,
69
+ which has been fixed.
70
72
-* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits
73
- (merged to 'next' on 2017-04-16 at d4d657724b)
74
- + push: propagate remote and refspec with --recurse-submodules
75
- + submodule--helper: add push-check subcommand
76
- + remote: expose parse_push_refspec function
77
- + push: propagate push-options with --recurse-submodules
78
- + push: unmark a local variable as static
71
80
- "git push --recurse-submodules --push-option=<string>" learned to
81
- propagate the push option recursively down to pushes in submodules.
72
+* jh/unpack-trees-micro-optim (2017-04-15) 1 commit
73
+ (merged to 'next' on 2017-04-19 at 970c47a2f9)
74
+ + unpack-trees: avoid duplicate ODB lookups during checkout
75
76
+ In a 2- and 3-way merge of trees, more than one source trees often
77
+ end up sharing an identical subtree; optimize by not reading the
78
+ same tree multiple times in such a case.
79
84
-* bw/submodule-is-active (2017-04-13) 1 commit
85
- (merged to 'next' on 2017-04-18 at 25b05ec29e)
86
- + submodule--helper: fix typo in is_active error message
80
88
- Error message fix.
81
+* jk/loose-object-fsck (2017-04-16) 1 commit
82
+ (merged to 'next' on 2017-04-19 at 0cc7810018)
83
+ + sha1_file: remove an used fd variable
84
85
+ Code cleanup.
86
91
-* dt/gc-ignore-old-gc-logs (2017-04-16) 1 commit
92
- (merged to 'next' on 2017-04-18 at caadf4ff66)
93
- + t6500: wait for detached auto gc at the end of the test script
87
95
- Hotfix for a topic already in 'master'.
88
+* jk/ls-files-recurse-submodules-fix (2017-04-18) 2 commits
89
+ (merged to 'next' on 2017-04-19 at d4682ceaae)
90
+ + ls-files: fix path used when recursing into submodules
91
+ + ls-files: fix recurse-submodules with nested submodules
92
93
+ "ls-files --recurse-submodules" did not quite work well in a
94
+ project with nested submodules.
95
98
-* jh/memihash-opt (2017-04-18) 4 commits
99
- (merged to 'next' on 2017-04-18 at 6555be6bab)
100
- + p0004: make perf test executable
101
- (merged to 'next' on 2017-04-15 at 6bfc58e19a)
102
- + t3008: skip lazy-init test on a single-core box
103
- + test-online-cpus: helper to return cpu count
104
- (merged to 'next' on 2017-04-11 at ec5a6f2818)
105
- + name-hash: fix buffer overrun
96
+
97
+* jk/quarantine-received-objects (2017-04-16) 3 commits
98
+ (merged to 'next' on 2017-04-19 at 2c6fcf1d6d)
99
+ + refs: reject ref updates while GIT_QUARANTINE_PATH is set
100
+ + receive-pack: document user-visible quarantine effects
101
+ + receive-pack: drop tmp_objdir_env from run_update_hook
102
+
103
+ Add finishing touches to a recent topic.
104
+
105
+
106
+* jk/snprintf-cleanups (2017-04-17) 1 commit
107
+ (merged to 'next' on 2017-04-19 at 4a18ea9971)
108
+ + replace: plug a memory leak
109
110
Hotfix for a topic that is already in 'master'.
111
112
110
-* jk/no-looking-at-dotgit-outside-repo (2017-04-16) 2 commits
111
- (merged to 'next' on 2017-04-18 at 68260787ad)
112
- + test-read-cache: setup git dir
113
- + has_sha1_file: don't bother if we are not in a repository
114
-
115
- Clean up fallouts from recent tightening of the set-up sequence,
116
- where Git barfs when repository information is accessed without
117
- first ensuring that it was started in a repository.
118
-
119
-
120
-* ld/p4-current-branch-fix (2017-04-16) 3 commits
121
- (merged to 'next' on 2017-04-18 at 9e74a2609e)
122
- + git-p4: don't use name-rev to get current branch
123
- + git-p4: add read_pipe_text() internal function
124
- + git-p4: add failing test for name-rev rather than symbolic-ref
125
-
126
- "git p4" used "name-rev HEAD" when it wants to learn what branch is
127
- checked out; it should use "symbolic-ref HEAD".
128
-
129
-
130
-* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
131
- (merged to 'next' on 2017-04-16 at b2f51f0780)
132
- + mailinfo: fix in-body header continuations
133
-
134
- If a patch e-mail had its first paragraph after an in-body header
135
- indented (even after a blank line after the in-body header line),
136
- the indented line was mistook as a continuation of the in-body
137
- header. This has been fixed.
138
-
139
-
140
-* nd/files-backend-git-dir (2017-04-14) 28 commits
141
- (merged to 'next' on 2017-04-18 at 79292aac69)
142
- + refs.h: add a note about sorting order of for_each_ref_*
143
- + t1406: new tests for submodule ref store
144
- + t1405: some basic tests on main ref store
145
- + t/helper: add test-ref-store to test ref-store functions
146
- + refs: delete pack_refs() in favor of refs_pack_refs()
147
- + files-backend: avoid ref api targeting main ref store
148
- + refs: new transaction related ref-store api
149
- + refs: add new ref-store api
150
- + refs: rename get_ref_store() to get_submodule_ref_store() and make it public
151
- + files-backend: replace submodule_allowed check in files_downcast()
152
- + refs: move submodule code out of files-backend.c
153
- + path.c: move some code out of strbuf_git_path_submodule()
154
- + refs.c: make get_main_ref_store() public and use it
155
- + refs.c: kill register_ref_store(), add register_submodule_ref_store()
156
- + refs.c: flatten get_ref_store() a bit
157
- + refs: rename lookup_ref_store() to lookup_submodule_ref_store()
158
- + refs.c: introduce get_main_ref_store()
159
- + files-backend: remove the use of git_path()
160
- + files-backend: add and use files_ref_path()
161
- + files-backend: add and use files_reflog_path()
162
- + files-backend: move "logs/" out of TMP_RENAMED_LOG
163
- + files-backend: convert git_path() to strbuf_git_path()
164
- + files-backend: make sure files_rename_ref() always reach the end
165
- + files-backend: add and use files_packed_refs_path()
166
- + files-backend: delete dead code in files_init_db()
167
- + files-backend.c: delete dead code in files_ref_iterator_begin()
168
- + files-backend: make files_log_ref_write() static
169
- + refs.h: add forward declaration for structs used in this file
170
- (this branch is used by mh/separate-ref-cache, nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
171
-
172
- The "submodule" specific field in the ref_store structure is
173
- replaced with a more generic "gitdir" that can later be used also
174
- when dealing with ref_store that represents the set of refs visible
175
- from the other worktrees.
176
-
177
-
178
-* sb/submodule-rm-absorb (2017-04-13) 1 commit
179
- (merged to 'next' on 2017-04-18 at 179081f848)
180
- + submodule.c: add missing ' in error messages
181
-
182
- Error message fix.
183
-
184
-
185
-* sb/submodule-short-status (2017-03-29) 7 commits
186
- (merged to 'next' on 2017-04-16 at 24e18f4a4a)
187
- + submodule.c: correctly handle nested submodules in is_submodule_modified
188
- + short status: improve reporting for submodule changes
189
- + submodule.c: stricter checking for submodules in is_submodule_modified
190
- + submodule.c: port is_submodule_modified to use porcelain 2
191
- + submodule.c: convert is_submodule_modified to use strbuf_getwholeline
192
- + submodule.c: factor out early loop termination in is_submodule_modified
193
- + submodule.c: use argv_array in is_submodule_modified
194
-
195
- The output from "git status --short" has been extended to show
196
- various kinds of dirtyness in submodules differently; instead of to
197
- "M" for modified, 'm' and '?' can be shown to signal changes only
198
- to the working tree of the submodule but not the commit that is
199
- checked out.
200
-
201
-
202
-* sf/putty-w-args (2017-04-16) 1 commit
203
- (merged to 'next' on 2017-04-18 at cbf042088c)
204
- + connect.c: handle errors from split_cmdline
205
-
206
- Hotfix for a topic already in 'master'.
207
-
208
-
209
-* va/i18n-perl-scripts (2017-04-13) 1 commit
210
- (merged to 'next' on 2017-04-18 at 89f1c77091)
211
- + git-add--interactive.perl: add missing dot in a message
212
-
213
- Message fix.
214
-
215
-
216
-* vn/revision-shorthand-for-side-branch-log (2017-04-16) 1 commit
217
- (merged to 'next' on 2017-04-18 at 9fbe55bfef)
218
- + doc/revisions: remove brackets from rev^-n shorthand
113
+* jt/fetch-pack-error-reporting (2017-04-17) 1 commit
114
+ (merged to 'next' on 2017-04-19 at 6da61f7236)
115
+ + fetch-pack: show clearer error message upon ERR
116
+
117
+ "git fetch-pack" was not prepared to accept ERR packet that the
118
+ upload-pack can send with a human-readable error message. It
119
+ showed the packet contents with ERR prefix, so there was no data
120
+ loss, but it was redundant to say "ERR" in an error message.
121
+
122
+
123
+* km/t1400-modernization (2017-04-16) 1 commit
124
+ (merged to 'next' on 2017-04-19 at 7490be39bf)
125
+ + t1400: use consistent style for test_expect_success calls
126
+
127
+ Code cleanup.
128
+
129
+
130
+* nd/conditional-config-include (2017-04-14) 2 commits
131
+ (merged to 'next' on 2017-04-19 at 2e94c40b46)
132
+ + config: resolve symlinks in conditional include's patterns
133
+ + path.c: and an option to call real_path() in expand_user_path()
134
+
135
+ $GIT_DIR may in some cases be normalized with all symlinks resolved
136
+ while "gitdir" path expansion in the pattern does not receive the
137
+ same treatment, leading to incorrect mismatch. This has been fixed.
138
+
139
+
140
+* rs/misc-cppcheck-fixes (2017-04-17) 3 commits
141
+ (merged to 'next' on 2017-04-19 at e8fca7f593)
142
+ + server-info: avoid calling fclose(3) twice in update_info_file()
143
+ + files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
144
+ + am: close stream on error, but not stdin
145
+
146
+ Various small fixes.
147
+
148
+
149
+* sb/checkout-recurse-submodules (2017-04-17) 1 commit
150
+ (merged to 'next' on 2017-04-19 at 414e18fd9b)
151
+ + submodule: remove a superfluous second check for the "new" variable
152
+
153
+ Code cleanup.
154
+
155
+
156
+* sr/http-proxy-configuration-fix (2017-04-13) 2 commits
157
+ (merged to 'next' on 2017-04-19 at d8f507e951)
158
+ + http: fix the silent ignoring of proxy misconfiguraion
159
+ + http: honor empty http.proxy option to bypass proxy
160
+
161
+ "http.proxy" set to an empty string is used to disable the usage of
162
+ proxy. We broke this early last year.
163
+
164
+
165
+* tb/doc-eol-normalization (2017-04-13) 1 commit
166
+ (merged to 'next' on 2017-04-19 at fe15d04d0a)
167
+ + gitattributes.txt: document how to normalize the line endings
168
+
169
+ Doc update.
170
+
171
+
172
+* xy/format-patch-base (2017-04-17) 1 commit
173
+ (merged to 'next' on 2017-04-19 at c10723d486)
174
+ + doc: trivial typo in git-format-patch.txt
175
176
Doc cleanup.
177
178
--------------------------------------------------
179
[New Topics]
180
225
-* ab/push-cas-doc-n-test (2017-04-19) 1 commit
226
- - push: document & test --force-with-lease with multiple remotes
181
+* jh/verify-index-checksum-only-in-fsck (2017-04-25) 1 commit
182
+ - t1450: avoid use of "sed" on the index, which is a binary file
183
228
- Doc update.
184
+ Update an unportable constructin a new test.
185
+
186
+ Will merge to 'next' and then to 'master'.
187
+
188
+
189
+* dt/gc-ignore-old-gc-logs (2017-04-24) 3 commits
190
+ - test-lib: retire $remove_trash variable
191
+ - test-lib.sh: do not barf under --debug at the end of the test
192
+ - test-lib: abort when can't remove trash directory
193
+
194
+ An attempt to allow us notice "fishy" situation where we fail to
195
+ remove the temporary directory used during the test.
196
197
Will merge to 'next'.
198
199
233
-* jk/parse-options-no-no-no (2017-04-19) 2 commits
234
- - SQUASH???
235
- - parse-options: disallow double-negations of options starting with no-
200
+* jk/war-on-git-path (2017-04-20) 6 commits
201
+ (merged to 'next' on 2017-04-23 at 212e0a58ff)
202
+ + am: drop "dir" parameter from am_state_init
203
+ + replace strbuf_addstr(git_path()) with git_path_buf()
204
+ + replace xstrdup(git_path(...)) with git_pathdup(...)
205
+ + use git_path_* helper functions
206
+ + branch: add edit_description() helper
207
+ + bisect: add git_path_bisect_terms helper
208
237
- Command line options that begin with "--no-" (e.g. "--no-checkout"
238
- option of "git clone") can be negated by removing "--no-"; we
239
- historically also allowed prefixing an extra "no" to the option
240
- (e.g. "--no-no-checkout"), which made the command line look ugly
241
- and unusual. This proposes to forbid it.
209
+ While handy, "git_path()" is a dangerous function to use as a
210
+ callsite that uses it safely one day can be broken by changes
211
+ to other code that calls it. Reduction of its use continues.
212
243
- While I agree there is no need to support "--no-no-checkout", this
244
- looks more like "if it looks ugly and unusual, you do not have to
245
- use it". Perhaps we can drop it?
213
+ Will merge to 'master'.
214
215
248
-* ss/gitmodules-ignore-doc (2017-04-19) 1 commit
249
- - gitmodules: clarify the ignore option values
216
+* nd/fopen-errors (2017-04-23) 17 commits
217
+ - warn_failure_to_open_read_optional_path(): a new helper
218
+ - t1308: add a test case on open a config directory
219
+ - config.c: handle error on failing to fopen()
220
+ - xdiff-interface.c: report errno on failure to stat() or fopen()
221
+ - wt-status.c: report error on failure to fopen()
222
+ - server-info: report error on failure to fopen()
223
+ - sequencer.c: report error on failure to fopen()
224
+ - rerere.c: report correct errno
225
+ - rerere.c: report error on failure to fopen()
226
+ - remote.c: report error on failure to fopen()
227
+ - commit.c: report error on failure to fopen() the graft file
228
+ - log: report errno on failure to fopen() a file
229
+ - clone: use xfopen() instead of fopen()
230
+ - blame: report error on open if graft_file is a directory
231
+ - bisect: report on fopen() error
232
+ - config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
233
+ - git_fopen: fix a sparse 'not declared' warning
234
251
- Doc update.
235
+ We often try to open a file for reading whose existence is
236
+ optional, and silently ignore errors from open/fopen; report such
237
+ errors if they are not due to missing files.
238
+
239
+ Expecting a reroll that would be much simplified thanks to a higher
240
+ level helper.
241
+
242
+ cf. <xmqqk26e5swj.fsf@gitster.mtv.corp.google.com>
243
+ cf. <CACsJy8D1LuH6qVp15MSkCM_oQphVUUK0r9SeKC5AzX+9Xi2dcw@mail.gmail.com>
244
+
245
+
246
+* dt/raise-core-packed-git-limit (2017-04-20) 1 commit
247
+ - Increase core.packedGitLimit
248
+
249
+ Raise the default packed-git limit value on larger platforms to
250
+ avoid "git fetch" from a (recoverable) failure while "gc" is
251
+ running in parallel.
252
253
Will merge to 'next'.
254
255
256
-* ss/submodule-shallow-doc (2017-04-19) 1 commit
257
- - gitmodules: clarify what history depth a shallow clone has
256
+* jk/complete-checkout-sans-dwim-remote (2017-04-23) 1 commit
257
+ - completion: optionally disable checkout DWIM
258
259
- Doc update.
259
+ Completion for "git checkout <branch>" that auto-creates the branch
260
+ out of a remote tracking branch can now be disabled, as this
261
+ completion often gets in the way when completing to checkout an
262
+ existing local branch that happens to share the same prefix with
263
+ bunch of remote tracking branches.
264
265
Will merge to 'next'.
266
267
+
268
+* jk/update-links-in-docs (2017-04-20) 6 commits
269
+ (merged to 'next' on 2017-04-23 at f64249bbdf)
270
+ + docs/bisect-lk2009: update java code conventions link
271
+ + docs/bisect-lk2009: update nist report link
272
+ + docs/archimport: quote sourcecontrol.net reference
273
+ + gitcore-tutorial: update broken link
274
+ + doc: replace or.cz gitwiki link with git.wiki.kernel.org
275
+ + doc: use https links to avoid http redirect
276
+
277
+ Many stale HTTP(s) links have been updated in our documentation.
278
+
279
+ Will merge to 'next'.
280
+
281
+
282
+* js/larger-timestamps (2017-04-24) 8 commits
283
+ - use uintmax_t for timestamps
284
+ - date.c: abort if the system time cannot handle one of our timestamps
285
+ - timestamp_t: introduce a new data type for timestamps
286
+ - PRItime: introduce a new "printf format" for timestamps
287
+ - parse_timestamp(): specify explicitly where we parse timestamps
288
+ - t0006 & t5000: skip "far in the future" test when time_t is too limited
289
+ - t0006 & t5000: prepare for 64-bit timestamps
290
+ - ref-filter: avoid using `unsigned long` for catch-all data type
291
+
292
+ Some platforms have ulong that is smaller than time_t, and our
293
+ historical use of ulong for timestamp would mean they cannot
294
+ represent some timestamp that the platform allows. Invent a
295
+ separate and dedicated timestamp_t (so that we can distingiuish
296
+ timestamps and a vanilla ulongs, which along is already a good
297
+ move), and then declare uintmax_t is the type to be used as the
298
+ timestamp_t
299
+
300
+ At v5.
301
+ cf. <cover.1493042239.git.johannes.schindelin@gmx.de>
302
+
303
+
304
+* sf/putty-w-args (2017-04-20) 1 commit
305
+ (merged to 'next' on 2017-04-23 at fdafbe6b73)
306
+ + connect.c: fix leak in handle_ssh_variant
307
+
308
+ Plug a memleak.
309
+
310
+ Will merge to 'next'.
311
+
312
+
313
+* ab/align-perf-descriptions (2017-04-23) 1 commit
314
+ - t/perf: correctly align non-ASCII descriptions in output
315
+
316
+ Output from perf tests have been updated to align their titles.
317
+
318
+ Will merge to 'next'.
319
+
320
+
321
+* ab/grep-pcre-v2 (2017-04-25) 19 commits
322
+ - Makefile & configure: make PCRE v2 the default PCRE implementation
323
+ - grep: remove support for concurrent use of both PCRE v1 & v2
324
+ - grep: add support for PCRE v2
325
+ - grep: add support for the PCRE v1 JIT API
326
+ - perf: add a performance comparison test of grep -E and -P
327
+ - grep: change the internal PCRE code & header names to be PCRE1
328
+ - grep: change the internal PCRE macro names to be PCRE1
329
+ - test-lib: rename the LIBPCRE prerequisite to PCRE
330
+ - grep: make grep.patternType=[pcre|pcre1] a synonym for "perl"
331
+ - grep & rev-list doc: stop promising libpcre for --perl-regexp
332
+ - log: add -P as a synonym for --perl-regexp
333
+ - log: add exhaustive tests for pattern style options & config
334
+ - grep: add a test for backreferences in PCRE patterns
335
+ - Makefile & configure: reword outdated comment about PCRE
336
+ - grep: remove redundant `regflags &= ~REG_EXTENDED` assignments
337
+ - grep: remove redundant regflags assignment under PCRE
338
+ - grep: submodule-related case statements should die if new fields are added
339
+ - grep: add tests for grep pattern types being passed to submodules
340
+ - grep: amend submodule recursion test in preparation for rx engine testing
341
+
342
+ PCRE2, which has an API different from and incompatible with PCRE,
343
+ can now be chosen to support "grep -P -e '<pattern>'" and friends.
344
+
345
+
346
+* bc/object-id (2017-04-23) 53 commits
347
+ - object: convert parse_object* to take struct object_id
348
+ - tree: convert parse_tree_indirect to struct object_id
349
+ - sequencer: convert do_recursive_merge to struct object_id
350
+ - diff-lib: convert do_diff_cache to struct object_id
351
+ - builtin/ls-tree: convert to struct object_id
352
+ - merge: convert checkout_fast_forward to struct object_id
353
+ - sequencer: convert fast_forward_to to struct object_id
354
+ - builtin/ls-files: convert overlay_tree_on_cache to object_id
355
+ - builtin/read-tree: convert to struct object_id
356
+ - sha1_name: convert internals of peel_onion to object_id
357
+ - upload-pack: convert remaining parse_object callers to object_id
358
+ - revision: convert remaining parse_object callers to object_id
359
+ - revision: rename add_pending_sha1 to add_pending_oid
360
+ - http-push: convert process_ls_object and descendants to object_id
361
+ - refs/files-backend: convert many internals to struct object_id
362
+ - refs: convert struct ref_update to use struct object_id
363
+ - ref-filter: convert some static functions to struct object_id
364
+ - Convert struct ref_array_item to struct object_id
365
+ - Convert the verify_pack callback to struct object_id
366
+ - Convert lookup_tag to struct object_id
367
+ - log-tree: convert to struct object_id
368
+ - Convert lookup_tree to struct object_id
369
+ - builtin/reflog: convert tree_is_complete to take struct object_id
370
+ - tree: convert read_tree_1 to use struct object_id internally
371
+ - Convert lookup_blob to struct object_id
372
+ - Convert remaining callers of lookup_blob to object_id
373
+ - builtin/unpack-objects: convert to struct object_id
374
+ - pack: convert struct pack_idx_entry to struct object_id
375
+ - Convert lookup_commit* to struct object_id
376
+ - Convert remaining callers of lookup_commit_reference* to object_id
377
+ - builtin/tag: convert to struct object_id
378
+ - sequencer: convert some functions to struct object_id
379
+ - shallow: convert shallow registration functions to object_id
380
+ - revision: convert prepare_show_merge to struct object_id
381
+ - notes-utils: convert internals to struct object_id
382
+ - http-push: convert some static functions to struct object_id
383
+ - tag: convert parse_tag_buffer to struct object_id
384
+ - builtin/verify-commit: convert to struct object_id
385
+ - reflog_expire: convert to struct object_id
386
+ - parse-options-cb: convert to struct object_id
387
+ - notes-cache: convert to struct object_id
388
+ - submodule: convert merge_submodule to use struct object_id
389
+ - fast-import: convert to struct object_id
390
+ - fast-import: convert internal structs to struct object_id
391
+ - builtin/rev-parse: convert to struct object_id
392
+ - builtin/blame: convert static function to struct object_id
393
+ - branch: convert to struct object_id
394
+ - bundle: convert to struct object_id
395
+ - builtin/prune: convert to struct object_id
396
+ - builtin/name-rev: convert to struct object_id
397
+ - Convert struct cache_tree to use struct object_id
398
+ - Clean up outstanding object_id transforms.
399
+ - fetch-pack: convert to struct object_id
400
+
401
+ Conversion from uchar[20] to struct object_id continues.
402
+
403
+
404
+* jk/no-null-sha1-in-cache-tree (2017-04-23) 1 commit
405
+ - cache-tree: reject entries with null sha1
406
+
407
+ Tighten code to update cache-tree so that we won't accidentally
408
+ write out any 0{40} entry in the tree object.
409
+
410
+
411
+* rg/a-the-typo (2017-04-23) 1 commit
412
+ - NEEDSSIGNOFF: fix minor typing mistakes
413
+
414
+ Typofix.
415
+
416
+ Needs sign-off.
417
+
418
+
419
+* jk/prio-queue-avoid-swap-with-self (2017-04-24) 1 commit
420
+ - prio_queue_reverse: don't swap elements with themselves
421
+
422
+ Code clean-up.
423
+
424
+ Will merge to 'next'.
425
+
426
+
427
+* jk/submodule-init-segv-fix (2017-04-24) 1 commit
428
+ - submodule_init: die cleanly on submodules without url defined
429
+
430
+ Fix a segv in 'submodule init' when url is not given for a submodule.
431
+
432
+ Will merge to 'next'.
433
+
434
+
435
+* rs/large-zip (2017-04-24) 5 commits
436
+ - archive-zip: support files bigger than 4GB
437
+ - archive-zip: support archives bigger than 4GB
438
+ - archive-zip: write ZIP dir entry directly to strbuf
439
+ - archive-zip: use strbuf for ZIP directory
440
+ - archive-zip: add tests for big ZIP archives
441
+
442
+ "git archive --format=zip" learned to use zip64 extension when
443
+ necessary to go beyond the 4GB limit.
444
+
445
+ Will merge to 'next'.
446
+
447
+
448
+* jc/checkout-working-tree-only (2017-04-25) 1 commit
449
+ - checkout: add --working-tree-only option
450
+
451
+ "git checkout <tree-ish> <pathspec>" learned a variant that does
452
+ not update the index when doing its thing.
453
+
454
+
455
+* js/rebase-i-final (2017-04-25) 9 commits
456
+ - rebase -i: rearrange fixup/squash lines using the rebase--helper
457
+ - t3415: test fixup with wrapped oneline
458
+ - rebase -i: skip unnecessary picks using the rebase--helper
459
+ - rebase -i: check for missing commits in the rebase--helper
460
+ - t3404: relax rebase.missingCommitsCheck tests
461
+ - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
462
+ - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
463
+ - rebase -i: remove useless indentation
464
+ - rebase -i: generate the script via rebase--helper
465
+
466
+ The final batch to "git rebase -i" updates to move more code from
467
+ the shell script to C.
468
+
469
+
470
+* jt/use-trailer-api-in-commands (2017-04-25) 2 commits
471
+ - SQUASH??? suggested by jrnieder
472
+ - sequencer: require trailing NL in footers
473
+
474
+ "git cherry-pick" and other uses of the sequencer machinery
475
+ mishandled a trailer block whose last line is an incomplete line.
476
+ This has been fixed so that an additional sign-off etc. are added
477
+ after completing the existing incomplete line.
478
+
479
+
480
--------------------------------------------------
481
[Stalled]
482
@@ -293,52 +510,39 @@ of the repositories listed at
510
cf. <xmqq60jmnmef.fsf@junio-linux.mtv.corp.google.com>
511
512
296
-* nd/worktree-move (2017-01-27) 7 commits
297
- . fixup! worktree move: new command
298
- . worktree remove: new command
299
- . worktree move: refuse to move worktrees with submodules
300
- . worktree move: accept destination as directory
301
- . worktree move: new command
302
- . worktree.c: add update_worktree_location()
303
- . worktree.c: add validate_worktree()
304
-
305
- "git worktree" learned move and remove subcommands.
306
-
307
- Tentatively ejected as it seems to break 'pu' when merged.
308
-
309
-
513
* pb/bisect (2017-02-18) 28 commits
311
- - fixup! bisect--helper: `bisect_next_check` & bisect_voc shell function in C
312
- - bisect--helper: remove the dequote in bisect_start()
313
- - bisect--helper: retire `--bisect-auto-next` subcommand
314
- - bisect--helper: retire `--bisect-autostart` subcommand
315
- - bisect--helper: retire `--bisect-write` subcommand
316
- - bisect--helper: `bisect_replay` shell function in C
317
- - bisect--helper: `bisect_log` shell function in C
318
- - bisect--helper: retire `--write-terms` subcommand
319
- - bisect--helper: retire `--check-expected-revs` subcommand
320
- - bisect--helper: `bisect_state` & `bisect_head` shell function in C
321
- - bisect--helper: `bisect_autostart` shell function in C
322
- - bisect--helper: retire `--next-all` subcommand
323
- - bisect--helper: retire `--bisect-clean-state` subcommand
324
- - bisect--helper: `bisect_next` and `bisect_auto_next` shell function in C
325
- - t6030: no cleanup with bad merge base
326
- - bisect--helper: `bisect_start` shell function partially in C
327
- - bisect--helper: `get_terms` & `bisect_terms` shell function in C
328
- - bisect--helper: `bisect_next_check` & bisect_voc shell function in C
329
- - bisect--helper: `check_and_set_terms` shell function in C
330
- - bisect--helper: `bisect_write` shell function in C
331
- - bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
332
- - bisect--helper: `bisect_reset` shell function in C
333
- - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
334
- - t6030: explicitly test for bisection cleanup
335
- - bisect--helper: `bisect_clean_state` shell function in C
336
- - bisect--helper: `write_terms` shell function in C
337
- - bisect: rewrite `check_term_format` shell function in C
338
- - bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
514
+ . fixup! bisect--helper: `bisect_next_check` & bisect_voc shell function in C
515
+ . bisect--helper: remove the dequote in bisect_start()
516
+ . bisect--helper: retire `--bisect-auto-next` subcommand
517
+ . bisect--helper: retire `--bisect-autostart` subcommand
518
+ . bisect--helper: retire `--bisect-write` subcommand
519
+ . bisect--helper: `bisect_replay` shell function in C
520
+ . bisect--helper: `bisect_log` shell function in C
521
+ . bisect--helper: retire `--write-terms` subcommand
522
+ . bisect--helper: retire `--check-expected-revs` subcommand
523
+ . bisect--helper: `bisect_state` & `bisect_head` shell function in C
524
+ . bisect--helper: `bisect_autostart` shell function in C
525
+ . bisect--helper: retire `--next-all` subcommand
526
+ . bisect--helper: retire `--bisect-clean-state` subcommand
527
+ . bisect--helper: `bisect_next` and `bisect_auto_next` shell function in C
528
+ . t6030: no cleanup with bad merge base
529
+ . bisect--helper: `bisect_start` shell function partially in C
530
+ . bisect--helper: `get_terms` & `bisect_terms` shell function in C
531
+ . bisect--helper: `bisect_next_check` & bisect_voc shell function in C
532
+ . bisect--helper: `check_and_set_terms` shell function in C
533
+ . bisect--helper: `bisect_write` shell function in C
534
+ . bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
535
+ . bisect--helper: `bisect_reset` shell function in C
536
+ . wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
537
+ . t6030: explicitly test for bisection cleanup
538
+ . bisect--helper: `bisect_clean_state` shell function in C
539
+ . bisect--helper: `write_terms` shell function in C
540
+ . bisect: rewrite `check_term_format` shell function in C
541
+ . bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
542
543
Move more parts of "git bisect" to C.
544
545
+ Ejected from 'pu', as it overlaps and gets in the way of bc/object-id topic.
546
Expecting a reroll.
547
cf. <CAFZEwPPXPPHi8KiEGS9ggzNHDCGhuqMgH9Z8-Pf9GLshg8+LPA@mail.gmail.com>
548
cf. <CAFZEwPM9RSTGN54dzaw9gO9iZmsYjJ_d1SjUD4EzSDDbmh-XuA@mail.gmail.com>
@@ -384,112 +588,125 @@ of the repositories listed at
588
--------------------------------------------------
589
[Cooking]
590
387
-* df/dir-iter-remove-subtree (2017-04-19) 5 commits
388
- - remove_subtree(): reimplement using iterators
389
- - dir_iterator: rewrite state machine model
390
- - dir_iterator: refactor dir_iterator_advance
391
- - remove_subtree(): test removing nested directories
392
- - dir_iterator: add tests for dir_iterator API
591
+* nd/worktree-move (2017-04-20) 6 commits
592
+ - worktree remove: new command
593
+ - worktree move: refuse to move worktrees with submodules
594
+ - worktree move: accept destination as directory
595
+ - worktree move: new command
596
+ - worktree.c: add update_worktree_location()
597
+ - worktree.c: add validate_worktree()
598
394
- Update the dir-iterator API and use it to reimplement
395
- remove_subtree().
599
+ "git worktree" learned move and remove subcommands.
600
397
- Almost there except for a minor nit.
398
- GSoC microproject.
601
+ cf. <20170420101024.7593-1-pclouds@gmail.com>
602
+ cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
603
+ cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
604
605
401
-* jk/ls-files-recurse-submodules-fix (2017-04-18) 2 commits
402
- (merged to 'next' on 2017-04-19 at d4682ceaae)
403
- + ls-files: fix path used when recursing into submodules
404
- + ls-files: fix recurse-submodules with nested submodules
606
+* ab/push-cas-doc-n-test (2017-04-19) 1 commit
607
+ (merged to 'next' on 2017-04-23 at 0ef31ab624)
608
+ + push: document & test --force-with-lease with multiple remotes
609
406
- "ls-files --recurse-submodules" did not quite work well in a
407
- project with nested submodules.
610
+ Doc update.
611
612
Will merge to 'master'.
613
614
412
-* jt/fetch-pack-error-reporting (2017-04-17) 1 commit
413
- (merged to 'next' on 2017-04-19 at 6da61f7236)
414
- + fetch-pack: show clearer error message upon ERR
615
+* jk/parse-options-no-no-no (2017-04-19) 2 commits
616
+ - SQUASH???
617
+ - parse-options: disallow double-negations of options starting with no-
618
416
- "git fetch-pack" was not prepared to accept ERR packet that the
417
- upload-pack can send with a human-readable error message. It
418
- showed the packet contents with ERR prefix, so there was no data
419
- loss, but it was redundant to say "ERR" in an error message.
619
+ Command line options that begin with "--no-" (e.g. "--no-checkout"
620
+ option of "git clone") can be negated by removing "--no-"; we
621
+ historically also allowed prefixing an extra "no" to the option
622
+ (e.g. "--no-no-checkout"), which made the command line look ugly
623
+ and unusual. This proposes to forbid it.
624
421
- Will merge to 'master'.
625
+ While I agree there is no need to support "--no-no-checkout", this
626
+ looks more like "if it looks ugly and unusual, you do not have to
627
+ use it". Perhaps we can drop it?
628
629
424
-* nd/conditional-config-in-early-config (2017-04-19) 3 commits
425
- - config: correct file reading order in read_early_config()
426
- - config: handle conditional include when $GIT_DIR is not set up
427
- - config: prepare to pass more info in git_config_with_options()
630
+* ss/gitmodules-ignore-doc (2017-04-19) 1 commit
631
+ (merged to 'next' on 2017-04-23 at 3963ab5013)
632
+ + gitmodules: clarify the ignore option values
633
429
- The recently introduced conditional inclusion of configuration did
430
- not work well when early-config mechanism was involved.
634
+ Doc update.
635
432
- Will merge to 'next'.
636
+ Will merge to 'master'.
637
638
435
-* sb/checkout-recurse-submodules (2017-04-17) 1 commit
436
- (merged to 'next' on 2017-04-19 at 414e18fd9b)
437
- + submodule: remove a superfluous second check for the "new" variable
639
+* ss/submodule-shallow-doc (2017-04-19) 1 commit
640
+ (merged to 'next' on 2017-04-23 at 56a80f913d)
641
+ + gitmodules: clarify what history depth a shallow clone has
642
439
- Code cleanup.
643
+ Doc update.
644
645
Will merge to 'master'.
646
647
444
-* xy/format-patch-base (2017-04-17) 1 commit
445
- (merged to 'next' on 2017-04-19 at c10723d486)
446
- + doc: trivial typo in git-format-patch.txt
648
+* df/dir-iter-remove-subtree (2017-04-19) 5 commits
649
+ - remove_subtree(): reimplement using iterators
650
+ - dir_iterator: rewrite state machine model
651
+ - dir_iterator: refactor dir_iterator_advance
652
+ - remove_subtree(): test removing nested directories
653
+ - dir_iterator: add tests for dir_iterator API
654
448
- Doc cleanup.
655
+ Update the dir-iterator API and use it to reimplement
656
+ remove_subtree().
657
450
- Will merge to 'master'.
658
+ Almost there except for a minor nit.
659
+ GSoC microproject.
660
661
453
-* jk/snprintf-cleanups (2017-04-17) 1 commit
454
- (merged to 'next' on 2017-04-19 at 4a18ea9971)
455
- + replace: plug a memory leak
662
+* nd/conditional-config-in-early-config (2017-04-19) 3 commits
663
+ (merged to 'next' on 2017-04-23 at 1803ee72a9)
664
+ + config: correct file reading order in read_early_config()
665
+ + config: handle conditional include when $GIT_DIR is not set up
666
+ + config: prepare to pass more info in git_config_with_options()
667
457
- Hotfix for a topic that is already in 'master'.
668
+ The recently introduced conditional inclusion of configuration did
669
+ not work well when early-config mechanism was involved.
670
671
Will merge to 'master'.
672
673
674
* ab/clone-no-tags (2017-04-19) 1 commit
463
- - clone: add a --no-tags option to clone without tags
675
+ (merged to 'next' on 2017-04-23 at c6329b0f7c)
676
+ + clone: add a --no-tags option to clone without tags
677
678
"git clone" learned the "--no-tags" option not to fetch all tags
679
initially, and also set up the tagopt not to follow any tags in
680
subsequent fetches.
681
469
- Will merge to 'next'.
682
+ Will merge to 'master'.
683
684
472
-* ab/completion-push-delete-ref (2017-04-18) 1 commit
473
- - completion: expand "push --delete <remote> <ref>" for refs on that <remote>
685
+* ab/completion-push-delete-ref (2017-04-23) 1 commit
686
+ (merged to 'next' on 2017-04-23 at e227df80bf)
687
+ + completion: expand "push --delete <remote> <ref>" for refs on that <remote>
688
689
The completion script (in contrib/) learned to complete "git push
690
--delete b<TAB>" to complete branch name to be deleted.
691
478
- Will merge to 'next'.
692
+ Will merge to 'master'.
693
694
481
-* bw/forking-and-threading (2017-04-19) 11 commits
482
- - run-command: block signals between fork and execve
483
- - run-command: add note about forking and threading
484
- - run-command: handle dup2 and close errors in child
485
- - run-command: eliminate calls to error handling functions in child
486
- - run-command: don't die in child when duping /dev/null
487
- - run-command: prepare child environment before forking
488
- - string-list: add string_list_remove function
489
- - run-command: use the async-signal-safe execv instead of execvp
490
- - run-command: prepare command before forking
491
- - t0061: run_command executes scripts without a #! line
492
- - t5550: use write_script to generate post-update hook
695
+* bw/forking-and-threading (2017-04-25) 13 commits
696
+ - run-command: restrict PATH search to executable files
697
+ - run-command: expose is_executable function
698
+ (merged to 'next' on 2017-04-23 at 7754b5ebc3)
699
+ + run-command: block signals between fork and execve
700
+ + run-command: add note about forking and threading
701
+ + run-command: handle dup2 and close errors in child
702
+ + run-command: eliminate calls to error handling functions in child
703
+ + run-command: don't die in child when duping /dev/null
704
+ + run-command: prepare child environment before forking
705
+ + string-list: add string_list_remove function
706
+ + run-command: use the async-signal-safe execv instead of execvp
707
+ + run-command: prepare command before forking
708
+ + t0061: run_command executes scripts without a #! line
709
+ + t5550: use write_script to generate post-update hook
710
711
The "run-command" APIimplementation has been made more robust
712
against dead-locking in a threaded environment.
@@ -497,7 +714,7 @@ of the repositories listed at
714
Will merge to 'next'.
715
716
500
-* sb/reset-recurse-submodules (2017-04-18) 4 commits
717
+* sb/reset-recurse-submodules (2017-04-23) 4 commits
718
- builtin/reset: add --recurse-submodules switch
719
- submodule.c: submodule_move_head works with broken submodules
720
- submodule.c: uninitialized submodules are ignored in recursive commands
@@ -506,53 +723,6 @@ of the repositories listed at
723
"git reset" learned "--recurse-submodules" option.
724
725
509
-* dt/xgethostname-nul-termination (2017-04-18) 2 commits
510
- (merged to 'next' on 2017-04-19 at 4035f442cc)
511
- + xgethostname: handle long hostnames
512
- + use HOST_NAME_MAX to size buffers for gethostname(2)
513
-
514
- gethostname(2) may not NUL terminate the buffer if hostname does
515
- not fit; unfortunately there is no easy way to see if our buffer
516
- was too small, but at least this will make sure we will not end up
517
- using garbage past the end of the buffer.
518
-
519
- Will merge to 'master'.
520
-
521
-
522
-* jh/string-list-micro-optim (2017-04-15) 1 commit
523
- (merged to 'next' on 2017-04-19 at 2a5e339df9)
524
- + string-list: use ALLOC_GROW macro when reallocing string_list
525
-
526
- The string-list API used a custom reallocation strategy that was
527
- very inefficient, instead of using the usual ALLOC_GROW() macro,
528
- which has been fixed.
529
-
530
- Will merge to 'master'.
531
-
532
-
533
-* jh/unpack-trees-micro-optim (2017-04-15) 1 commit
534
- (merged to 'next' on 2017-04-19 at 970c47a2f9)
535
- + unpack-trees: avoid duplicate ODB lookups during checkout
536
-
537
- In a 2- and 3-way merge of trees, more than one source trees often
538
- end up sharing an identical subtree; optimize by not reading the
539
- same tree multiple times in such a case.
540
-
541
- Will merge to 'master'.
542
-
543
-
544
-* jh/verify-index-checksum-only-in-fsck (2017-04-15) 1 commit
545
- (merged to 'next' on 2017-04-19 at a089b97d34)
546
- + read-cache: force_verify_index_checksum
547
-
548
- The index file has a trailing SHA-1 checksum to detect file
549
- corruption, and historically we checked it every time the index
550
- file is used. Omit the validation during normal use, and instead
551
- verify only in "git fsck".
552
-
553
- Will merge to 'master'.
554
-
555
-
726
* ls/travis-doc-asciidoctor (2017-04-16) 3 commits
727
(merged to 'next' on 2017-04-19 at 359c32953b)
728
+ travis-ci: unset compiler for jobs that do not need one
@@ -562,7 +732,8 @@ of the repositories listed at
732
Have Travis CI format the documentation with both AsciiDoc and
733
AsciiDoctor.
734
565
- Will merge to 'master'.
735
+ Will hold in 'next' waiting for a small update.
736
+ cf. <25191991-F4EA-4D91-B291-854F46A34DC2@gmail.com>
737
738
739
* mg/status-in-progress-info (2017-04-14) 1 commit
@@ -575,54 +746,23 @@ of the repositories listed at
746
cf. <xmqqwpajikd2.fsf@gitster.mtv.corp.google.com>
747
748
578
-* nd/conditional-config-include (2017-04-14) 2 commits
579
- (merged to 'next' on 2017-04-19 at 2e94c40b46)
580
- + config: resolve symlinks in conditional include's patterns
581
- + path.c: and an option to call real_path() in expand_user_path()
582
-
583
- $GIT_DIR may in some cases be normalized with all symlinks resolved
584
- while "gitdir" path expansion in the pattern does not receive the
585
- same treatment, leading to incorrect mismatch. This has been fixed.
586
-
587
- Will merge to 'master'.
588
-
589
-
590
-* nd/worktree-add-lock (2017-04-16) 2 commits
591
- - SQUASH???
592
- - worktree add: add --lock option
749
+* nd/worktree-add-lock (2017-04-20) 1 commit
750
+ (merged to 'next' on 2017-04-23 at 160b955fbb)
751
+ + worktree add: add --lock option
752
753
Allow to lock a worktree immediately after it's created. This helps
754
prevent a race between "git worktree add; git worktree lock" and
755
"git worktree prune".
756
598
- Waiting for a response to SQUASH???
757
+ Will merge to 'master'.
758
759
760
* ps/pathspec-empty-prefix-origin (2017-04-14) 1 commit
602
- - pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix
761
+ (merged to 'next' on 2017-04-23 at b91098d1f7)
762
+ + pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix
763
764
A recent update broke "git add -p ../foo" from a subdirectory.
765
606
- Will merge to 'next'.
607
-
608
-
609
-* sr/http-proxy-configuration-fix (2017-04-13) 2 commits
610
- (merged to 'next' on 2017-04-19 at d8f507e951)
611
- + http: fix the silent ignoring of proxy misconfiguraion
612
- + http: honor empty http.proxy option to bypass proxy
613
-
614
- "http.proxy" set to an empty string is used to disable the usage of
615
- proxy. We broke this early last year.
616
-
617
- Will merge to 'master'.
618
-
619
-
620
-* tb/doc-eol-normalization (2017-04-13) 1 commit
621
- (merged to 'next' on 2017-04-19 at fe15d04d0a)
622
- + gitattributes.txt: document how to normalize the line endings
623
-
624
- Doc update.
625
-
766
Will merge to 'master'.
767
768
@@ -638,17 +778,18 @@ of the repositories listed at
778
779
780
* jh/add-index-entry-optim (2017-04-19) 5 commits
641
- - read-cache: speed up has_dir_name (part 2)
642
- - read-cache: speed up has_dir_name (part 1)
643
- - read-cache: speed up add_index_entry during checkout
644
- - p0006-read-tree-checkout: perf test to time read-tree
645
- - read-cache: add strcmp_offset function
781
+ (merged to 'next' on 2017-04-23 at 295d4066a8)
782
+ + read-cache: speed up has_dir_name (part 2)
783
+ + read-cache: speed up has_dir_name (part 1)
784
+ + read-cache: speed up add_index_entry during checkout
785
+ + p0006-read-tree-checkout: perf test to time read-tree
786
+ + read-cache: add strcmp_offset function
787
788
"git checkout" that handles a lot of paths has been optimized by
789
reducing the number of unnecessary checks of paths in the
790
has_dir_name() function.
791
651
- Will merge to 'next'.
792
+ Will merge to 'master'.
793
794
795
* ab/grep-threading-cleanup (2017-04-16) 8 commits
@@ -662,94 +803,35 @@ of the repositories listed at
803
- grep: assert that threading is enabled when calling grep_{lock,unlock}
804
805
665
-* bw/submodule-with-bs-path (2017-04-16) 1 commit
666
- (merged to 'next' on 2017-04-19 at 692775477b)
667
- + submodule: prevent backslash expantion in submodule names
668
-
669
- "git submodule" script does not work well with strange pathnames.
670
- Protect it from a path with slashes in them, at least.
671
-
672
- Will merge to 'master'.
673
-
674
-
675
-* jk/loose-object-fsck (2017-04-16) 1 commit
676
- (merged to 'next' on 2017-04-19 at 0cc7810018)
677
- + sha1_file: remove an used fd variable
678
-
679
- Code cleanup.
680
-
681
- Will merge to 'master'.
682
-
683
-
684
-* jk/quarantine-received-objects (2017-04-16) 3 commits
685
- (merged to 'next' on 2017-04-19 at 2c6fcf1d6d)
686
- + refs: reject ref updates while GIT_QUARANTINE_PATH is set
687
- + receive-pack: document user-visible quarantine effects
688
- + receive-pack: drop tmp_objdir_env from run_update_hook
689
-
690
- Add finishing touches to a recent topic.
691
-
692
- Will merge to 'master'.
693
-
694
-
806
* ls/travis-coccicheck (2017-04-16) 1 commit
696
- - travis-ci: add static analysis build job to run coccicheck
807
+ (merged to 'next' on 2017-04-23 at fa42ffe6b2)
808
+ + travis-ci: add static analysis build job to run coccicheck
809
810
Travis CI learns to run coccicheck.
811
700
- Will merge to 'next'.
701
-
702
-
703
-* rs/misc-cppcheck-fixes (2017-04-17) 3 commits
704
- (merged to 'next' on 2017-04-19 at e8fca7f593)
705
- + server-info: avoid calling fclose(3) twice in update_info_file()
706
- + files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
707
- + am: close stream on error, but not stdin
708
-
709
- Various small fixes.
710
-
711
- Will merge to 'master'.
712
-
713
-
714
-* km/t1400-modernization (2017-04-16) 1 commit
715
- (merged to 'next' on 2017-04-19 at 7490be39bf)
716
- + t1400: use consistent style for test_expect_success calls
717
-
718
- Code cleanup.
719
-
720
- Will merge to 'master'.
721
-
722
-
723
-* dt/http-postbuffer-can-be-large (2017-04-13) 1 commit
724
- (merged to 'next' on 2017-04-19 at dc9de26fc9)
725
- + http.postbuffer: allow full range of ssize_t values
726
-
727
- Allow the http.postbuffer configuration variable to be set to a
728
- size that can be expressed in size_t, which can be larger than
729
- ulong on some platforms.
730
-
812
Will merge to 'master'.
813
814
815
* pc/t2027-git-to-pipe-cleanup (2017-04-14) 1 commit
735
- - t2027: avoid using pipes
816
+ (merged to 'next' on 2017-04-23 at b5c28345a9)
817
+ + t2027: avoid using pipes
818
819
Having a git command on the upstream side of a pipe in a test
820
script will hide the exit status from the command, which may cause
821
us to fail to notice a breakage; rewrite tests in a script to avoid
822
this issue.
823
742
- Will merge to 'next'.
824
+ Will merge to 'master'.
825
826
745
-* bp/sub-process-convert-filter (2017-03-30) 8 commits
746
- - convert: update subprocess_read_status to not die on EOF
827
+* bp/sub-process-convert-filter (2017-04-23) 8 commits
828
+ - convert: update subprocess_read_status() to not die on EOF
829
- sub-process: move sub-process functions into separate files
830
- convert: rename reusable sub-process functions
831
- convert: update generic functions to only use generic data structures
832
- convert: separate generic structures and variables from the filter specific ones
751
- - convert: split start_multi_file_filter() into two separate functions
752
- - convert: move packet_write_list() into pkt-line.c as packet_writel()
833
+ - convert: split start_multi_file_filter into two separate functions
834
+ - convert: move packet_write_list() into pkt-line as packet_writel()
835
- pkt-line: add packet_read_line_gently()
836
837
Code from "conversion using external process" codepath has been
@@ -759,14 +841,14 @@ of the repositories listed at
841
cf. <20170407120354.17736-1-benpeart@microsoft.com>
842
843
762
-* cc/split-index-config (2017-03-30) 1 commit
763
- - read-cache: avoid using git_path() in freshen_shared_index()
844
+* cc/split-index-config (2017-04-20) 1 commit
845
+ (merged to 'next' on 2017-04-23 at 5996ddc3f2)
846
+ + read-cache: avoid using git_path() in freshen_shared_index()
847
848
The split-index code configuration code used an unsafe git_path()
849
function without copying its result out.
850
768
- Needs to be explained better.
769
- The code looked OK, though.
851
+ Will merge to 'master'.
852
853
854
* mg/name-rev-debug (2017-03-31) 4 commits
@@ -783,31 +865,32 @@ of the repositories listed at
865
866
867
* mh/separate-ref-cache (2017-04-16) 20 commits
786
- - do_for_each_entry_in_dir(): delete function
787
- - files_pack_refs(): use reference iteration
788
- - commit_packed_refs(): use reference iteration
789
- - cache_ref_iterator_begin(): make function smarter
790
- - get_loose_ref_cache(): new function
791
- - get_loose_ref_dir(): function renamed from get_loose_refs()
792
- - do_for_each_entry_in_dir(): eliminate `offset` argument
793
- - refs: handle "refs/bisect/" in `loose_fill_ref_dir()`
794
- - ref-cache: use a callback function to fill the cache
795
- - refs: record the ref_store in ref_cache, not ref_dir
796
- - ref-cache: introduce a new type, ref_cache
797
- - refs: split `ref_cache` code into separate files
798
- - ref-cache: rename `remove_entry()` to `remove_entry_from_dir()`
799
- - ref-cache: rename `find_ref()` to `find_ref_entry()`
800
- - ref-cache: rename `add_ref()` to `add_ref_entry()`
801
- - refs_verify_refname_available(): use function in more places
802
- - refs_verify_refname_available(): implement once for all backends
803
- - refs_ref_iterator_begin(): new function
804
- - refs_read_raw_ref(): new function
805
- - get_ref_dir(): don't call read_loose_refs() for "refs/bisect"
868
+ (merged to 'next' on 2017-04-23 at bd74983456)
869
+ + do_for_each_entry_in_dir(): delete function
870
+ + files_pack_refs(): use reference iteration
871
+ + commit_packed_refs(): use reference iteration
872
+ + cache_ref_iterator_begin(): make function smarter
873
+ + get_loose_ref_cache(): new function
874
+ + get_loose_ref_dir(): function renamed from get_loose_refs()
875
+ + do_for_each_entry_in_dir(): eliminate `offset` argument
876
+ + refs: handle "refs/bisect/" in `loose_fill_ref_dir()`
877
+ + ref-cache: use a callback function to fill the cache
878
+ + refs: record the ref_store in ref_cache, not ref_dir
879
+ + ref-cache: introduce a new type, ref_cache
880
+ + refs: split `ref_cache` code into separate files
881
+ + ref-cache: rename `remove_entry()` to `remove_entry_from_dir()`
882
+ + ref-cache: rename `find_ref()` to `find_ref_entry()`
883
+ + ref-cache: rename `add_ref()` to `add_ref_entry()`
884
+ + refs_verify_refname_available(): use function in more places
885
+ + refs_verify_refname_available(): implement once for all backends
886
+ + refs_ref_iterator_begin(): new function
887
+ + refs_read_raw_ref(): new function
888
+ + get_ref_dir(): don't call read_loose_refs() for "refs/bisect"
889
890
The internals of the refs API around the cached refs has been
891
streamlined.
892
810
- Will merge to 'next'.
893
+ Will merge to 'master'.
894
895
896
* ja/doc-l10n (2017-03-20) 3 commits
@@ -818,7 +901,7 @@ of the repositories listed at
901
A proposal to use po4a to localize our manual pages.
902
903
821
-* nd/prune-in-worktree (2017-04-19) 12 commits
904
+* nd/prune-in-worktree (2017-04-24) 12 commits
905
- rev-list: expose and document --single-worktree
906
- revision.c: --reflog add HEAD reflog from all worktrees
907
- files-backend: make reflog iterator go through per-worktree reflog
@@ -839,13 +922,16 @@ of the repositories listed at
922
objects that are in use only in other worktrees to be subject to
923
garbage collection.
924
925
+ Expecting a reroll.
926
Waiting for nd/worktree-kill-parse-ref to settle.
927
+ cf. <CACsJy8ADCVBiLoPg_Tz0L6CMdh_eFmK4RYzfQ-PmUgBK7w9e=A@mail.gmail.com>
928
929
845
-* nd/worktree-kill-parse-ref (2017-04-16) 5 commits
930
+* nd/worktree-kill-parse-ref (2017-04-24) 6 commits
931
- refs: kill set_worktree_head_symref()
932
- worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
933
- refs: introduce get_worktree_ref_store()
934
+ - refs: add REFS_STORE_ALL_CAPS
935
- refs.c: make submodule ref store hashmap generic
936
- environment.c: fix potential segfault by get_git_common_dir()
937
(this branch is used by nd/prune-in-worktree.)