What's cooking (2017/06 #01)
Junio C Hamano committed
Jun 1, 2017 at 16:42 UTC
f7a802b2fd6fe0751fef9e1e3a334eb7a6803e17
1 file changed
+379
-654
whats-cooking.txt
+379
-654
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (May 2017, #08; Mon, 29)
4
-X-master-at: e83352ef23cca2701953ed3c915f1db49b255a7d
5
-X-next-at: 88ad292c901b5a8436ade109286d30c4942be41f
3
+Subject: What's cooking in git.git (Jun 2017, #01; Thu, 1)
4
+X-master-at: 0339965c70d68fd3831c9a5306443c869de3f6a8
5
+X-next-at: b5e676d57ee80a379101c2e968b23f2342b77f7a
6
7
-What's cooking in git.git (May 2017, #08; Mon, 29)
7
+What's cooking in git.git (Jun 2017, #01; Thu, 1)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -27,408 +27,296 @@ of the repositories listed at
27
--------------------------------------------------
28
[Graduated to "master"]
29
30
-* bc/object-id (2017-05-08) 53 commits
31
- (merged to 'next' on 2017-05-20 at e7372733fb)
32
- + object: convert parse_object* to take struct object_id
33
- + tree: convert parse_tree_indirect to struct object_id
34
- + sequencer: convert do_recursive_merge to struct object_id
35
- + diff-lib: convert do_diff_cache to struct object_id
36
- + builtin/ls-tree: convert to struct object_id
37
- + merge: convert checkout_fast_forward to struct object_id
38
- + sequencer: convert fast_forward_to to struct object_id
39
- + builtin/ls-files: convert overlay_tree_on_cache to object_id
40
- + builtin/read-tree: convert to struct object_id
41
- + sha1_name: convert internals of peel_onion to object_id
42
- + upload-pack: convert remaining parse_object callers to object_id
43
- + revision: convert remaining parse_object callers to object_id
44
- + revision: rename add_pending_sha1 to add_pending_oid
45
- + http-push: convert process_ls_object and descendants to object_id
46
- + refs/files-backend: convert many internals to struct object_id
47
- + refs: convert struct ref_update to use struct object_id
48
- + ref-filter: convert some static functions to struct object_id
49
- + Convert struct ref_array_item to struct object_id
50
- + Convert the verify_pack callback to struct object_id
51
- + Convert lookup_tag to struct object_id
52
- + log-tree: convert to struct object_id
53
- + Convert lookup_tree to struct object_id
54
- + builtin/reflog: convert tree_is_complete to take struct object_id
55
- + tree: convert read_tree_1 to use struct object_id internally
56
- + Convert lookup_blob to struct object_id
57
- + Convert remaining callers of lookup_blob to object_id
58
- + builtin/unpack-objects: convert to struct object_id
59
- + pack: convert struct pack_idx_entry to struct object_id
60
- + Convert lookup_commit* to struct object_id
61
- + Convert remaining callers of lookup_commit_reference* to object_id
62
- + builtin/tag: convert to struct object_id
63
- + sequencer: convert some functions to struct object_id
64
- + shallow: convert shallow registration functions to object_id
65
- + revision: convert prepare_show_merge to struct object_id
66
- + notes-utils: convert internals to struct object_id
67
- + http-push: convert some static functions to struct object_id
68
- + tag: convert parse_tag_buffer to struct object_id
69
- + builtin/verify-commit: convert to struct object_id
70
- + reflog_expire: convert to struct object_id
71
- + parse-options-cb: convert to struct object_id
72
- + notes-cache: convert to struct object_id
73
- + submodule: convert merge_submodule to use struct object_id
74
- + fast-import: convert to struct object_id
75
- + fast-import: convert internal structs to struct object_id
76
- + builtin/rev-parse: convert to struct object_id
77
- + builtin/blame: convert static function to struct object_id
78
- + branch: convert to struct object_id
79
- + bundle: convert to struct object_id
80
- + builtin/prune: convert to struct object_id
81
- + builtin/name-rev: convert to struct object_id
82
- + Convert struct cache_tree to use struct object_id
83
- + Clean up outstanding object_id transforms.
84
- + fetch-pack: convert to struct object_id
85
- (this branch is used by mh/packed-ref-store-prep.)
86
-
87
- Conversion from uchar[20] to struct object_id continues.
88
-
89
-
90
-* bm/interpret-trailers-cut-line-is-eom (2017-05-18) 1 commit
91
- (merged to 'next' on 2017-05-23 at 3e5ff08517)
92
- + interpret-trailers: honor the cut line
93
-
94
- "git interpret-trailers", when used as GIT_EDITOR for "git commit
95
- -v", looked for and appended to a trailer block at the very end,
96
- i.e. at the end of the "diff" output. The command has been
97
- corrected to pay attention to the cut-mark line "commit -v" adds to
98
- the buffer---the real trailer block should appear just before it.
99
-
100
-
101
-* bw/dir-c-stops-relying-on-the-index (2017-05-06) 14 commits
102
- (merged to 'next' on 2017-05-20 at 1f1b764ec8)
103
- + dir: convert fill_directory to take an index
104
- + dir: convert read_directory to take an index
105
- + dir: convert read_directory_recursive to take an index
106
- + dir: convert open_cached_dir to take an index
107
- + dir: convert is_excluded to take an index
108
- + dir: convert prep_exclude to take an index
109
- + dir: convert add_excludes to take an index
110
- + dir: convert is_excluded_from_list to take an index
111
- + dir: convert last_exclude_matching_from_list to take an index
112
- + dir: convert dir_add* to take an index
113
- + dir: convert get_dtype to take index
114
- + dir: convert directory_exists_in_index to take index
115
- + dir: convert read_skip_worktree_file_from_index to take an index
116
- + dir: stop using the index compatibility macros
117
-
118
- API update.
119
-
120
-
121
-* ja/do-not-ask-needless-questions (2017-05-12) 3 commits
122
- (merged to 'next' on 2017-05-23 at 6b373cd892)
123
- + git-filter-branch: be more direct in an error message
124
- + read-tree -m: make error message for merging 0 trees less smart aleck
125
- + usability: don't ask questions if no reply is required
126
-
127
- Git sometimes gives an advice in a rhetorical question that does
128
- not require an answer, which can confuse new users and non native
129
- speakers. Attempt to rephrase them.
130
-
131
-
132
-* jc/read-tree-empty-with-m (2017-05-10) 1 commit
133
- (merged to 'next' on 2017-05-20 at 7e86815364)
134
- + read-tree: "read-tree -m --empty" does not make sense
135
-
136
- "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use
137
- --empty if you want to clear the index". With "-m", such a request
138
- will still fail anyway, as you'd need to name at least one tree-ish
139
- to be merged.
140
-
141
-
142
-* jc/repack-threads (2017-04-27) 1 commit
143
- (merged to 'next' on 2017-05-20 at c1fd54a2a4)
144
- + repack: accept --threads=<n> and pass it down to pack-objects
145
-
146
- "git repack" learned to accept the --threads=<n> option and pass it
147
- to pack-objects.
148
-
149
-
150
-* jk/alternate-ref-optim (2017-05-18) 1 commit
151
- (merged to 'next' on 2017-05-23 at 4b4b3ac463)
152
- + t5400: avoid concurrent writes into a trace file
153
-
154
- A test allowed both "git push" and "git receive-pack" on the other
155
- end write their traces into the same file. This is OK on platforms
156
- that allows atomically appending to a file opened with O_APPEND,
157
- but on other platforms led to a mangled output, causing
158
- intermittent test failures. This has been fixed by disabling
159
- traces from "receive-pack" in the test.
160
-
161
-
162
-* jk/bug-to-abort (2017-05-22) 4 commits
163
- (merged to 'next' on 2017-05-22 at 20371eebb6)
164
- + usage: add NORETURN to BUG() function definitions
165
- (merged to 'next' on 2017-05-20 at db65acc882)
166
- + config: complain about --local outside of a git repo
167
- + setup_git_env: convert die("BUG") to BUG()
168
- + usage.c: add BUG() function
169
-
170
- Introduce the BUG() macro to improve die("BUG: ...").
171
-
172
-
173
-* jk/diff-submodule-diff-inline (2017-05-08) 1 commit
174
- (merged to 'next' on 2017-05-20 at da7eb2626a)
175
- + diff: recurse into nested submodules for inline diff
176
-
177
- "git diff --submodule=diff" now recurses into nested submodules.
178
-
179
-
180
-* jk/disable-pack-reuse-when-broken (2017-05-09) 2 commits
181
- (merged to 'next' on 2017-05-20 at 684e921273)
182
- + t5310: fix "; do" style
183
- + pack-objects: disable pack reuse for object-selection options
184
-
185
- "pack-objects" can stream a slice of an existing packfile out when
186
- the pack bitmap can tell that the reachable objects are all needed
187
- in the output, without inspecting individual objects. This
188
- strategy however would not work well when "--local" and other
189
- options are in use, and need to be disabled.
190
-
191
-
192
-* jk/doc-config-include (2017-05-12) 4 commits
193
- (merged to 'next' on 2017-05-23 at 4f60843265)
194
- + docs/config: consistify include.path examples
195
- + docs/config: avoid the term "expand" for includes
196
- + docs/config: give a relative includeIf example
197
- + docs/config: clarify include/includeIf relationship
198
-
199
- Clarify documentation for include.path and includeIf.<condition>.path
200
- configuration variables.
201
-
202
-
203
-* jk/ignore-broken-tags-when-ignoring-missing-links (2017-05-20) 1 commit
204
- (merged to 'next' on 2017-05-23 at 977491e52a)
205
- + revision.c: ignore broken tags with ignore_missing_links
206
-
207
- Tag objects, which are not reachable from any ref, that point at
208
- missing objects were mishandled by "git gc" and friends (they
209
- should silently be ignored instead)
30
+* dk/send-email-avoid-net-smtp-ssl-when-able (2017-05-20) 1 commit
31
+ (merged to 'next' on 2017-05-23 at fc59b8a1d4)
32
+ + send-email: Net::SMTP::SSL is obsolete, use only when necessary
33
34
+ "git send-email" now uses Net::SMTP::SSL, which is obsolete, only
35
+ when needed. Recent versions of Net::SMTP can do TLS natively.
36
212
-* jk/update-links-in-docs (2017-05-15) 1 commit
213
- (merged to 'next' on 2017-05-23 at 5b2df9fdbe)
214
- + doc: use https links to Wikipedia to avoid http redirects
37
+ This is somewhat broken; a fix will be merged to 'master' shortly.
38
216
- A few http:// links that are redirected to https:// in the
217
- documentation have been updated to https:// links.
39
40
+* ab/conditional-config-with-symlinks (2017-05-17) 1 commit
41
+ (merged to 'next' on 2017-05-23 at 6162222c2e)
42
+ + config: match both symlink & realpath versions in IncludeIf.gitdir:*
43
220
-* js/eol-on-ourselves (2017-05-10) 6 commits
221
- (merged to 'next' on 2017-05-20 at 8023c277d2)
222
- + t4051: mark supporting files as requiring LF-only line endings
223
- + Fix the remaining tests that failed with core.autocrlf=true
224
- + t3901: move supporting files into t/t3901/
225
- + completion: mark bash script as LF-only
226
- + git-new-workdir: mark script as LF-only
227
- + Fix build with core.autocrlf=true
44
+ The recently introduced "[includeIf "gitdir:$dir"] path=..."
45
+ mechansim has further been taught to take symlinks into account.
46
+ The directory "$dir" specified in "gitdir:$dir" may be a symlink to
47
+ a real location, not something that $(getcwd) may return. In such
48
+ a case, a realpath of "$dir" is compared with the real path of the
49
+ current repository to determine if the contents from the named path
50
+ should be included.
51
229
- Make sure our tests would pass when the sources are checked out
230
- with "platform native" line ending convention by default on
231
- Windows. Some "text" files out tests use and the test scripts
232
- themselves that are meant to be run with /bin/sh, ought to be
233
- checked out with eol=LF even on Windows.
52
53
+* ab/perf-wildmatch (2017-05-12) 2 commits
54
+ (merged to 'next' on 2017-05-23 at 0adb7dac31)
55
+ + perf: add test showing exponential growth in path globbing
56
+ + perf: add function to setup a fresh test repo
57
236
-* js/plug-leaks (2017-05-09) 26 commits
237
- (merged to 'next' on 2017-05-20 at fb136ea2dc)
238
- + checkout: fix memory leak
239
- + submodule_uses_worktrees(): plug memory leak
240
- + show_worktree(): plug memory leak
241
- + name-rev: avoid leaking memory in the `deref` case
242
- + remote: plug memory leak in match_explicit()
243
- + add_reflog_for_walk: avoid memory leak
244
- + shallow: avoid memory leak
245
- + line-log: avoid memory leak
246
- + receive-pack: plug memory leak in update()
247
- + fast-export: avoid leaking memory in handle_tag()
248
- + mktree: plug memory leaks reported by Coverity
249
- + pack-redundant: plug memory leak
250
- + setup_discovered_git_dir(): plug memory leak
251
- + setup_bare_git_dir(): help static analysis
252
- + split_commit_in_progress(): simplify & fix memory leak
253
- + checkout: fix memory leak
254
- + cat-file: fix memory leak
255
- + mailinfo & mailsplit: check for EOF while parsing
256
- + status: close file descriptor after reading git-rebase-todo
257
- + difftool: address a couple of resource/memory leaks
258
- + get_mail_commit_oid(): avoid resource leak
259
- + git_config_rename_section_in_file(): avoid resource leak
260
- + add_commit_patch_id(): avoid allocating memory unnecessarily
261
- + winansi: avoid buffer overrun
262
- + winansi: avoid use of uninitialized value
263
- + mingw: avoid memory leak when splitting PATH
264
-
265
- Fix memory leaks pointed out by Coverity (and people).
266
-
267
-
268
-* km/log-showsignature-doc (2017-05-20) 1 commit
269
- (merged to 'next' on 2017-05-23 at f43ea11956)
270
- + config.txt: add an entry for log.showSignature
58
+ Add perf-test for wildmatch.
59
272
- Doc update.
60
61
+* bp/sub-process-convert-filter (2017-05-15) 11 commits
62
+ (merged to 'next' on 2017-05-23 at 89f5420a82)
63
+ + convert: update subprocess_read_status() to not die on EOF
64
+ + sub-process: move sub-process functions into separate files
65
+ + convert: rename reusable sub-process functions
66
+ + convert: update generic functions to only use generic data structures
67
+ + convert: separate generic structures and variables from the filter specific ones
68
+ + convert: split start_multi_file_filter() into two separate functions
69
+ + pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
70
+ + convert: move packet_write_line() into pkt-line as packet_writel()
71
+ + pkt-line: add packet_read_line_gently()
72
+ + pkt-line: fix packet_read_line() to handle len < 0 errors
73
+ + convert: remove erroneous tests for errno == EPIPE
74
275
-* kn/ref-filter-branch-list (2017-05-20) 1 commit
276
- (merged to 'next' on 2017-05-23 at e0cc721af0)
277
- + ref-filter: resolve HEAD when parsing %(HEAD) atom
75
+ Code from "conversion using external process" codepath has been
76
+ extracted to a separate sub-process.[ch] module.
77
279
- "git for-each-ref --format=..." with %(HEAD) in the format used to
280
- resolve the HEAD symref as many times as it had processed refs,
281
- which was wasteful, and "git branch" shared the same problem.
78
79
+* bw/forking-and-threading (2017-05-15) 14 commits
80
+ (merged to 'next' on 2017-05-23 at 79a6a59851)
81
+ + usage.c: drop set_error_handle()
82
+ + run-command: restrict PATH search to executable files
83
+ + run-command: expose is_executable function
84
+ + run-command: block signals between fork and execve
85
+ + run-command: add note about forking and threading
86
+ + run-command: handle dup2 and close errors in child
87
+ + run-command: eliminate calls to error handling functions in child
88
+ + run-command: don't die in child when duping /dev/null
89
+ + run-command: prepare child environment before forking
90
+ + string-list: add string_list_remove function
91
+ + run-command: use the async-signal-safe execv instead of execvp
92
+ + run-command: prepare command before forking
93
+ + t0061: run_command executes scripts without a #! line
94
+ + t5550: use write_script to generate post-update hook
95
284
-* nd/split-index-unshare (2017-05-08) 2 commits
285
- (merged to 'next' on 2017-05-20 at 9048cdc2ce)
286
- + p3400: add perf tests for rebasing many changes
287
- + split-index: add and use unshare_split_index()
96
+ The "run-command" API implementation has been made more robust
97
+ against dead-locking in a threaded environment.
98
289
- Plug some leaks and updates internal API used to implement the
290
- split index feature to make it easier to avoid such a leak in the
291
- future.
99
100
+* bw/pathspec-sans-the-index (2017-05-12) 6 commits
101
+ (merged to 'next' on 2017-05-23 at 45c8ef3115)
102
+ + pathspec: convert find_pathspecs_matching_against_index to take an index
103
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
104
+ + ls-files: prevent prune_cache from overeagerly pruning submodules
105
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
106
+ + submodule: add die_in_unpopulated_submodule function
107
+ + pathspec: provide a more descriptive die message
108
294
-* pw/rebase-i-regression-fix (2017-05-20) 3 commits
295
- (merged to 'next' on 2017-05-23 at 14676d0013)
296
- + rebase -i: add missing newline to end of message
297
- + rebase -i: silence stash apply
298
- + rebase -i: fix reflog message
109
+ Simplify parse_pathspec() codepath and stop it from looking at the
110
+ default in-core index.
111
+
112
+
113
+* dt/unpack-save-untracked-cache-extension (2017-05-20) 1 commit
114
+ (merged to 'next' on 2017-05-23 at 3196d093d6)
115
+ + unpack-trees: preserve index extensions
116
+
117
+ When "git checkout", "git merge", etc. manipulates the in-core
118
+ index, various pieces of information in the index extensions are
119
+ discarded from the original state, as it is usually not the case
120
+ that they are kept up-to-date and in-sync with the operation on the
121
+ main index. The untracked cache extension is copied across these
122
+ operations now, which would speed up "git status" (as long as the
123
+ cache is properly invalidated).
124
+
125
+
126
+* jc/name-rev-lw-tag (2017-03-29) 2 commits
127
+ (merged to 'next' on 2017-05-23 at 3f88b6d73c)
128
+ + name-rev: favor describing with tags and use committer date to tiebreak
129
+ + name-rev: refactor logic to see if a new candidate is a better name
130
+ (this branch is used by mg/name-rev-debug.)
131
+
132
+ "git describe --contains" penalized light-weight tags so much that
133
+ they were almost never considered. Instead, give them about the
134
+ same chance to be considered as an annotated tag that is the same
135
+ age as the underlying commit would.
136
+
137
+
138
+* jc/skip-test-in-the-middle (2017-05-18) 2 commits
139
+ (merged to 'next' on 2017-05-23 at 6c962b353b)
140
+ + t5545: enhance test coverage when no http server is installed
141
+ + test: allow skipping the remainder
142
300
- Regression fix to topic recently merged to 'master'.
143
+ A recent update to t5545-push-options.sh started skipping all the
144
+ tests in the script when a web server testing is disabled or
145
+ unavailable, not just the ones that require a web server. Non HTTP
146
+ tests have been salvaged to always run in this script.
147
148
303
-* sb/checkout-recurse-submodules (2017-05-04) 3 commits
304
- (merged to 'next' on 2017-05-20 at f972b2069f)
305
- + submodule: properly recurse for read-tree and checkout
306
- + submodule: avoid auto-discovery in new working tree manipulator code
307
- + submodule_move_head: reuse child_process structure for futher commands
149
+* jh/memihash-opt (2017-05-16) 5 commits
150
+ (merged to 'next' on 2017-05-23 at 2f0293e8b8)
151
+ + p0004: don't error out if test repo is too small
152
+ + p0004: don't abort if multi-threaded is too slow
153
+ + p0004: use test_perf
154
+ + p0004: avoid using pipes
155
+ + p0004: simplify calls of test-lazy-init-name-hash
156
309
- "git checkout --recurse-submodules" did not quite work with a
310
- submodule that itself has submodules.
157
+ perf-test update.
158
159
313
-* sb/reset-recurse-submodules (2017-04-23) 4 commits
314
- (merged to 'next' on 2017-05-20 at 8adafdf1be)
315
- + builtin/reset: add --recurse-submodules switch
316
- + submodule.c: submodule_move_head works with broken submodules
317
- + submodule.c: uninitialized submodules are ignored in recursive commands
318
- + entry.c: submodule recursing: respect force flag correctly
319
- (this branch is used by sb/submodule-blanket-recursive.)
160
+* js/larger-timestamps (2017-05-20) 1 commit
161
+ (merged to 'next' on 2017-05-23 at 16f7c9e677)
162
+ + name-rev: change a "long" variable to timestamp_t
163
+
164
+ A follow-up hotfix for a topic already in 'master'.
165
321
- "git reset" learned "--recurse-submodules" option.
166
167
+* jt/fetch-allow-tip-sha1-implicitly (2017-05-16) 1 commit
168
+ (merged to 'next' on 2017-05-23 at 690ed987df)
169
+ + fetch-pack: always allow fetching of literal SHA1s
170
324
-* tg/stash-push-fixup (2017-05-17) 1 commit
325
- (merged to 'next' on 2017-05-23 at 338eb650f2)
326
- + completion: add git stash push
171
+ There is no good reason why "git fetch $there $sha1" should fail
172
+ when the $sha1 names an object at the tip of an advertised ref,
173
+ even when the other side hasn't enabled allowTipSHA1InWant.
174
328
- The shell completion script (in contrib/) learned "git stash" has
329
- a new "push" subcommand.
175
+
176
+* jt/send-email-validate-hook (2017-05-16) 1 commit
177
+ (merged to 'next' on 2017-05-23 at 89848cb9ac)
178
+ + send-email: support validate hook
179
+
180
+ "git send-email" learned to run sendemail-validate hook to inspect
181
+ and reject a message before sending it out.
182
183
--------------------------------------------------
184
[New Topics]
185
334
-* ab/pcre-v2 (2017-05-26) 7 commits
335
- - grep: add support for PCRE v2
336
- - grep: un-break building with PCRE < 8.20
337
- - grep: un-break building with PCRE < 8.32
338
- - grep: add support for the PCRE v1 JIT API
339
- - log: add -P as a synonym for --perl-regexp
340
- - grep: skip pthreads overhead when using one thread
341
- - grep: don't redundantly compile throwaway patterns under threading
342
- (this branch uses ab/grep-preparatory-cleanup.)
186
+* dk/send-email-avoid-net-smtp-ssl-when-able (2017-06-01) 1 commit
187
+ (merged to 'next' on 2017-06-01 at 3ff3ddfac7)
188
+ + send-email: Net::SMTP::starttls was introduced in v2.34
189
344
- Update "perl-compatible regular expression" support to enable JIT
345
- and also allow linking with the newer PCRE v2 library.
190
+ A hotfix to a topic in 'master'.
191
347
- Will merge to 'next'.
192
+ Will merge to 'master'.
193
194
350
-* ab/ref-filter-no-contains (2017-05-23) 1 commit
351
- (merged to 'next' on 2017-05-29 at 5d39fd2961)
352
- + tag: duplicate mention of --contains should mention --no-contains
195
+* ah/doc-rev-parse-short-default (2017-06-01) 1 commit
196
+ (merged to 'next' on 2017-06-01 at f64fcc2a26)
197
+ + doc: rewrite description for rev-parse --short
198
354
- Doc update to a recent topic.
199
+ Doc update.
200
201
Will merge to 'master'.
202
203
359
-* rs/mingw-path-lookup-simplify (2017-05-23) 1 commit
360
- (merged to 'next' on 2017-05-29 at 4365139a7f)
361
- + mingw: simplify PATH handling
204
+* rf/completion-config-commit (2017-05-30) 1 commit
205
+ (merged to 'next' on 2017-06-01 at cea32e0486)
206
+ + completion: add completions for git config commit
207
363
- Code simplification.
208
+ Completion update.
209
210
Will merge to 'master'.
211
212
368
-* ab/sha1dc-maint (2017-05-22) 1 commit
369
- - sha1dc: update from upstream
370
- (this branch is used by ab/sha1dc.)
213
+* ab/c-translators-comment-style (2017-05-31) 1 commit
214
+ (merged to 'next' on 2017-06-01 at df7fb9199a)
215
+ + C style: use standard style for "TRANSLATORS" comments
216
372
- The "collision detecting" SHA-1 implementation shipped with 2.13
373
- was quite broken on some big-endian platforms and/or platforms that
374
- do not like unaligned fetches. Update to the upstream code which
375
- has already fixed these issues.
217
+ Update the C style recommendation for notes for translators, as
218
+ recent versions of gettext tools can work with our style of
219
+ multi-line comments.
220
377
- Will merge to 'next'.
221
+ Will merge to 'master'.
222
223
380
-* ab/t3070-test-dedup (2017-05-29) 1 commit
381
- - wildmatch test: remove redundant duplicate test
224
+* jc/diff-log-help (2017-06-01) 1 commit
225
+ - diff- and log- family: handle "git cmd -h" early
226
+ (this branch is used by jc/wip-check-help-option.)
227
383
- Test cleanup.
228
+ The continuation of jk/consistent-h topic; the plumbing commands in
229
+ the diff- and log- family were calling into the revision machinery
230
+ without repository set-up upon "git $cmd -h", which is fixed.
231
385
- Will merge to 'next'.
232
+ Will squeeze into jk/consistent-h topic.
233
234
388
-* ah/doc-filter-branch-export-env (2017-05-29) 1 commit
389
- - doc: filter-branch does not require re-export of vars
235
+* jk/consistent-h (2017-05-30) 7 commits
236
+ - t0012: test "-h" with builtins
237
+ - git: add hidden --list-builtins option
238
+ - version: convert to parse-options
239
+ - submodule--helper: show usage for "-h"
240
+ - remote-{ext,fd}: print usage message on invalid arguments
241
+ - upload-archive: handle "-h" option early
242
+ - credential: handle invalid arguments earlier
243
+ (this branch uses jk/unbreak-am-h.)
244
391
- Docfix.
245
+ "git $cmd -h" for builtin commands calls the implementation of the
246
+ command (i.e. cmd_$cmd() function) without doing any repository
247
+ set-up, and the commands that expect RUN_SETUP is done by the Git
248
+ potty needs to be prepared to show the help text without barfing.
249
393
- Will merge to 'next'.
250
251
+* jk/drop-free-refspecs (2017-06-01) 1 commit
252
+ (merged to 'next' on 2017-06-01 at 8f455319fc)
253
+ + remote: drop free_refspecs() function
254
396
-* jk/connect-symref-info-leak-fix (2017-05-26) 1 commit
397
- - connect.c: fix leak in parse_one_symref_info()
255
+ Code clean-up.
256
399
- Leakfix.
257
+ Will merge to 'master'.
258
401
- Will merge to 'next'.
259
260
+* jk/unbreak-am-h (2017-05-30) 1 commit
261
+ (merged to 'next' on 2017-06-01 at ee2233d409)
262
+ + am: handle "-h" argument earlier
263
+ (this branch is used by jk/consistent-h.)
264
404
-* jk/pathspec-magic-disambiguation (2017-05-29) 6 commits
405
- - verify_filename(): flip order of checks
406
- - verify_filename(): treat ":(magic)" as a pathspec
407
- - check_filename(): handle ":^" path magic
408
- - check_filename(): use skip_prefix
409
- - check_filename(): refactor ":/" handling
410
- - t4208: add check for ":/" without matching file
265
+ "git am -h" triggered a BUG().
266
412
- The convention for a command line is to follow "git cmdname
413
- --options" with revisions followed by an optional "--"
414
- disambiguator and then finally pathspecs. When "--" is not there,
415
- we make sure early ones are all interpretable as revs (and do not
416
- look like paths) and later ones are the other way around. A
417
- pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from
418
- the top-level of the working tree, no matter what subdirectory you
419
- are working from) are conservatively judged as "not a path", which
420
- required disambiguation more often. The command line parser
421
- learned to say "it's a pathspec" a bit more often when the syntax
422
- looks like so.
267
+ Will merge to 'master'.
268
269
425
-* sd/t3200-typofix (2017-05-29) 1 commit
426
- - branch test: fix invalid config key access
270
+* jk/url-insteadof-config (2017-06-01) 1 commit
271
+ (merged to 'next' on 2017-06-01 at e7ea6032c2)
272
+ + docs/config: mention protocol implications of url.insteadOf
273
428
- Test fix.
274
+ The interaction of "url.*.insteadOf" and custom URL scheme's
275
+ whitelisting is now documented better.
276
+
277
+ Will merge to 'master'.
278
+
279
+
280
+* pw/rebase-i-regression-fix (2017-06-01) 1 commit
281
+ - rebase -i: add test for reflog message
282
+
283
+ Just the first one of three? new tests that follows up a regression
284
+ fix.
285
+
286
+ Expecting a portable update.
287
+
288
+
289
+* sb/submodule-blanket-recursive (2017-06-01) 9 commits
290
+ - builtin/fetch.c: respect 'submodule.recurse' option
291
+ - builtin/push.c: respect 'submodule.recurse' option
292
+ - builtin/grep.c: respect 'submodule.recurse' option
293
+ - Introduce 'submodule.recurse' option for worktree manipulators
294
+ - submodule loading: separate code path for .gitmodules and config overlay
295
+ - reset/checkout/read-tree: unify config callback for submodule recursion
296
+ - submodule test invocation: only pass additional arguments
297
+ - submodule recursing: do not write a config variable twice
298
+ - Merge branch 'ab/grep-preparatory-cleanup' into sb/submodule-blanket-recursive
299
+ (this branch uses ab/grep-preparatory-cleanup; is tangled with ab/pcre-v2.)
300
+
301
+ Many commands learned to pay attention to submodule.recurse
302
+ configuration.
303
304
Will merge to 'next'.
305
306
+ It is not known if a simple "yes/no" is sufficient in the longer
307
+ term, and what should happen when --recurse-submodules option starts
308
+ taking "recurse into them how?" parameter, though.
309
+
310
+
311
+* tb/pull-ff-rebase-autostash (2017-06-01) 1 commit
312
+ (merged to 'next' on 2017-06-01 at b5e676d57e)
313
+ + pull: ff --rebase --autostash works in dirty repo
314
+
315
+ "git pull --rebase --autostash" didn't auto-stash when the local history
316
+ fast-forwards to the upstream.
317
+
318
+ Will merge to 'master'.
319
+
320
--------------------------------------------------
321
[Stalled]
322
@@ -445,7 +333,6 @@ of the repositories listed at
333
* mg/name-rev-debug (2017-03-31) 2 commits
334
- describe: pass --debug down to name-rev
335
- name-rev: provide debug output
448
- (this branch uses jc/name-rev-lw-tag.)
336
337
"git describe --debug --contains" did not add any meaningful
338
information, even though without "--contains" it did.
@@ -478,21 +365,126 @@ of the repositories listed at
365
366
367
* sk/dash-is-previous (2017-03-01) 5 commits
481
- - revert.c: delegate handling of "-" shorthand to setup_revisions
482
- - sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
483
- - revision.c: args starting with "-" might be a revision
484
- - revision.c: swap if/else blocks
485
- - revision.c: do not update argv with unknown option
368
+ . revert.c: delegate handling of "-" shorthand to setup_revisions
369
+ . sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
370
+ . revision.c: args starting with "-" might be a revision
371
+ . revision.c: swap if/else blocks
372
+ . revision.c: do not update argv with unknown option
373
374
A dash "-" can be written to mean "the branch that was previously
375
checked out" in more places.
376
490
- Needs review.
491
- cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>
377
+ Ejected, as it seems that making -.. to mean @{-1}..HEAD etc. are
378
+ going too far.
379
380
--------------------------------------------------
381
[Cooking]
382
383
+* ab/pcre-v2 (2017-05-26) 7 commits
384
+ - grep: add support for PCRE v2
385
+ - grep: un-break building with PCRE < 8.20
386
+ - grep: un-break building with PCRE < 8.32
387
+ - grep: add support for the PCRE v1 JIT API
388
+ - log: add -P as a synonym for --perl-regexp
389
+ - grep: skip pthreads overhead when using one thread
390
+ - grep: don't redundantly compile throwaway patterns under threading
391
+ (this branch uses ab/grep-preparatory-cleanup; is tangled with sb/submodule-blanket-recursive.)
392
+
393
+ Update "perl-compatible regular expression" support to enable JIT
394
+ and also allow linking with the newer PCRE v2 library.
395
+
396
+ Waiting for a fix-up.
397
+ cf. <CACBZZX6YFKTLKxep2oW0_HrX+kNJ2PX5G4UCboB+4yosmLqr5g@mail.gmail.com>
398
+
399
+
400
+* ab/ref-filter-no-contains (2017-05-23) 1 commit
401
+ (merged to 'next' on 2017-05-29 at 5d39fd2961)
402
+ + tag: duplicate mention of --contains should mention --no-contains
403
+
404
+ Doc update to a recent topic.
405
+
406
+ Will merge to 'master'.
407
+
408
+
409
+* rs/mingw-path-lookup-simplify (2017-05-23) 1 commit
410
+ (merged to 'next' on 2017-05-29 at 4365139a7f)
411
+ + mingw: simplify PATH handling
412
+
413
+ Code simplification.
414
+
415
+ Will merge to 'master'.
416
+
417
+
418
+* ab/sha1dc-maint (2017-05-22) 1 commit
419
+ (merged to 'next' on 2017-05-30 at 9eb40bf912)
420
+ + sha1dc: update from upstream
421
+ (this branch is used by ab/sha1dc.)
422
+
423
+ The "collision detecting" SHA-1 implementation shipped with 2.13
424
+ was quite broken on some big-endian platforms and/or platforms that
425
+ do not like unaligned fetches. Update to the upstream code which
426
+ has already fixed these issues.
427
+
428
+ Will merge to 'master'.
429
+
430
+
431
+* ab/t3070-test-dedup (2017-05-29) 1 commit
432
+ (merged to 'next' on 2017-05-30 at 71eadec33b)
433
+ + wildmatch test: remove redundant duplicate test
434
+
435
+ Test cleanup.
436
+
437
+ Will merge to 'master'.
438
+
439
+
440
+* ah/doc-filter-branch-export-env (2017-05-29) 1 commit
441
+ (merged to 'next' on 2017-05-30 at a62168bf77)
442
+ + doc: filter-branch does not require re-export of vars
443
+
444
+ Docfix.
445
+
446
+ Will merge to 'master'.
447
+
448
+
449
+* jk/connect-symref-info-leak-fix (2017-05-26) 1 commit
450
+ (merged to 'next' on 2017-05-30 at d8b75d2dd9)
451
+ + connect.c: fix leak in parse_one_symref_info()
452
+
453
+ Leakfix.
454
+
455
+ Will merge to 'master'.
456
+
457
+
458
+* jk/pathspec-magic-disambiguation (2017-05-29) 6 commits
459
+ - verify_filename(): flip order of checks
460
+ - verify_filename(): treat ":(magic)" as a pathspec
461
+ - check_filename(): handle ":^" path magic
462
+ - check_filename(): use skip_prefix
463
+ - check_filename(): refactor ":/" handling
464
+ - t4208: add check for ":/" without matching file
465
+
466
+ The convention for a command line is to follow "git cmdname
467
+ --options" with revisions followed by an optional "--"
468
+ disambiguator and then finally pathspecs. When "--" is not there,
469
+ we make sure early ones are all interpretable as revs (and do not
470
+ look like paths) and later ones are the other way around. A
471
+ pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from
472
+ the top-level of the working tree, no matter what subdirectory you
473
+ are working from) are conservatively judged as "not a path", which
474
+ required disambiguation more often. The command line parser
475
+ learned to say "it's a pathspec" a bit more often when the syntax
476
+ looks like so.
477
+
478
+
479
+* sd/t3200-typofix (2017-05-29) 1 commit
480
+ (merged to 'next' on 2017-05-30 at 784e5e73f8)
481
+ + branch test: fix invalid config key access
482
+
483
+ Test fix.
484
+
485
+ Will merge to 'master'.
486
+
487
+
488
* ah/doc-interpret-trailers-ifexists (2017-05-23) 1 commit
489
(merged to 'next' on 2017-05-29 at cb353c1d21)
490
+ Documentation: fix reference to ifExists for interpret-trailers
@@ -520,34 +512,6 @@ of the repositories listed at
512
Will merge to 'master'.
513
514
523
-* ab/conditional-config-with-symlinks (2017-05-17) 1 commit
524
- (merged to 'next' on 2017-05-23 at 6162222c2e)
525
- + config: match both symlink & realpath versions in IncludeIf.gitdir:*
526
-
527
- The recently introduced "[includeIf "gitdir:$dir"] path=..."
528
- mechansim has further been taught to take symlinks into account.
529
- The directory "$dir" specified in "gitdir:$dir" may be a symlink to
530
- a real location, not something that $(getcwd) may return. In such
531
- a case, a realpath of "$dir" is compared with the real path of the
532
- current repository to determine if the contents from the named path
533
- should be included.
534
-
535
- Will merge to 'master'.
536
-
537
-
538
-* jc/skip-test-in-the-middle (2017-05-18) 2 commits
539
- (merged to 'next' on 2017-05-23 at 6c962b353b)
540
- + t5545: enhance test coverage when no http server is installed
541
- + test: allow skipping the remainder
542
-
543
- A recent update to t5545-push-options.sh started skipping all the
544
- tests in the script when a web server testing is disabled or
545
- unavailable, not just the ones that require a web server. Non HTTP
546
- tests have been salvaged to always run in this script.
547
-
548
- Will merge to 'master'.
549
-
550
-
515
* mh/packed-ref-store-prep (2017-05-24) 26 commits
516
(merged to 'next' on 2017-05-29 at e4f5e06b4c)
517
+ cache_ref_iterator_begin(): avoid priming unneeded directories
@@ -594,7 +558,8 @@ of the repositories listed at
558
559
"git clean -d" used to clean directories that has ignored files,
560
even though the command should not lose ignored ones without "-x".
597
- This has been corrected.
561
+ "git status --ignored" did not list ignored and untracked files
562
+ without "-uall". These have been corrected.
563
564
Will merge to 'master'.
565
@@ -622,30 +587,6 @@ of the repositories listed at
587
- bswap: add 64 bit endianness helper get_be64
588
589
625
-* dk/send-email-avoid-net-smtp-ssl-when-able (2017-05-20) 1 commit
626
- (merged to 'next' on 2017-05-23 at fc59b8a1d4)
627
- + send-email: Net::SMTP::SSL is obsolete, use only when necessary
628
-
629
- "git send-email" now uses Net::SMTP::SSL, which is obsolete, only
630
- when needed. Recent versions of Net::SMTP can do TLS natively.
631
-
632
- Will merge to 'master'.
633
-
634
-
635
-* jc/name-rev-lw-tag (2017-03-29) 2 commits
636
- (merged to 'next' on 2017-05-23 at 3f88b6d73c)
637
- + name-rev: favor describing with tags and use committer date to tiebreak
638
- + name-rev: refactor logic to see if a new candidate is a better name
639
- (this branch is used by mg/name-rev-debug.)
640
-
641
- "git describe --contains" penalized light-weight tags so much that
642
- they were almost never considered. Instead, give them about the
643
- same chance to be considered as an annotated tag that is the same
644
- age as the underlying commit would.
645
-
646
- Will merge to 'master'.
647
-
648
-
590
* jk/diff-blob (2017-05-24) 15 commits
591
(merged to 'next' on 2017-05-29 at 5ecc979cc7)
592
+ diff: use blob path for blob/file diffs
@@ -684,16 +625,7 @@ of the repositories listed at
625
Will merge to 'master'.
626
627
687
-* js/larger-timestamps (2017-05-20) 1 commit
688
- (merged to 'next' on 2017-05-23 at 16f7c9e677)
689
- + name-rev: change a "long" variable to timestamp_t
690
-
691
- A follow-up hotfix for a topic already in 'master'.
692
-
693
- Will merge to 'master'.
694
-
695
-
696
-* sb/diff-color-move (2017-05-25) 17 commits
628
+* sb/diff-color-move (2017-06-01) 17 commits
629
- diff.c: color moved lines differently
630
- diff: buffer all output if asked to
631
- diff.c: emit_line includes whitespace highlighting
@@ -728,99 +660,41 @@ of the repositories listed at
660
cf. <CACBZZX5GYV50rjg9X602JHqFPaoofH9TwDf_-r_MDu8-rmNV6Q@mail.gmail.com>
661
662
731
-* jh/memihash-opt (2017-05-16) 5 commits
732
- (merged to 'next' on 2017-05-23 at 2f0293e8b8)
733
- + p0004: don't error out if test repo is too small
734
- + p0004: don't abort if multi-threaded is too slow
735
- + p0004: use test_perf
736
- + p0004: avoid using pipes
737
- + p0004: simplify calls of test-lazy-init-name-hash
738
-
739
- perf-test update.
740
-
741
- Will merge to 'master'.
742
-
743
-
663
* js/blame-lib (2017-05-25) 29 commits
745
- - blame: move entry prepend to libgit
746
- - blame: move scoreboard setup to libgit
747
- - blame: move scoreboard-related methods to libgit
748
- - blame: move fake-commit-related methods to libgit
749
- - blame: move origin-related methods to libgit
750
- - blame: move core structures to header
751
- - blame: create entry prepend function
752
- - blame: create scoreboard setup function
753
- - blame: create scoreboard init function
754
- - blame: rework methods that determine 'final' commit
755
- - blame: wrap blame_sort and compare_blame_final
756
- - blame: move progress updates to a scoreboard callback
757
- - blame: make sanity_check use a callback in scoreboard
758
- - blame: move no_whole_file_rename flag to scoreboard
759
- - blame: move xdl_opts flags to scoreboard
760
- - blame: move show_root flag to scoreboard
761
- - blame: move reverse flag to scoreboard
762
- - blame: move contents_from to scoreboard
763
- - blame: move copy/move thresholds to scoreboard
764
- - blame: move stat counters to scoreboard
765
- - blame: rename nth_line function
766
- - blame: rename ent_score function
767
- - blame: rename coalesce function
768
- - blame: rename origin-related functions
769
- - blame: rename scoreboard structure to blame_scoreboard
770
- - blame: rename origin structure to blame_origin
771
- - blame: remove unused parameters
772
- - blame: move textconv_object with related functions
773
- - blame: remove unneeded dependency on blob.h
664
+ (merged to 'next' on 2017-05-30 at b4678b36a7)
665
+ + blame: move entry prepend to libgit
666
+ + blame: move scoreboard setup to libgit
667
+ + blame: move scoreboard-related methods to libgit
668
+ + blame: move fake-commit-related methods to libgit
669
+ + blame: move origin-related methods to libgit
670
+ + blame: move core structures to header
671
+ + blame: create entry prepend function
672
+ + blame: create scoreboard setup function
673
+ + blame: create scoreboard init function
674
+ + blame: rework methods that determine 'final' commit
675
+ + blame: wrap blame_sort and compare_blame_final
676
+ + blame: move progress updates to a scoreboard callback
677
+ + blame: make sanity_check use a callback in scoreboard
678
+ + blame: move no_whole_file_rename flag to scoreboard
679
+ + blame: move xdl_opts flags to scoreboard
680
+ + blame: move show_root flag to scoreboard
681
+ + blame: move reverse flag to scoreboard
682
+ + blame: move contents_from to scoreboard
683
+ + blame: move copy/move thresholds to scoreboard
684
+ + blame: move stat counters to scoreboard
685
+ + blame: rename nth_line function
686
+ + blame: rename ent_score function
687
+ + blame: rename coalesce function
688
+ + blame: rename origin-related functions
689
+ + blame: rename scoreboard structure to blame_scoreboard
690
+ + blame: rename origin structure to blame_origin
691
+ + blame: remove unused parameters
692
+ + blame: move textconv_object with related functions
693
+ + blame: remove unneeded dependency on blob.h
694
695
The internal logic used in "git blame" has been libified to make it
696
easier to use by cgit.
697
778
- Will merge to 'next'.
779
-
780
-
781
-* jt/send-email-validate-hook (2017-05-16) 1 commit
782
- (merged to 'next' on 2017-05-23 at 89848cb9ac)
783
- + send-email: support validate hook
784
-
785
- "git send-email" learned to run sendemail-validate hook to inspect
786
- and reject a message before sending it out.
787
-
788
- Will merge to 'master'.
789
-
790
-
791
-* bw/pathspec-sans-the-index (2017-05-12) 6 commits
792
- (merged to 'next' on 2017-05-23 at 45c8ef3115)
793
- + pathspec: convert find_pathspecs_matching_against_index to take an index
794
- + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
795
- + ls-files: prevent prune_cache from overeagerly pruning submodules
796
- + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
797
- + submodule: add die_in_unpopulated_submodule function
798
- + pathspec: provide a more descriptive die message
799
-
800
- Simplify parse_pathspec() codepath and stop it from looking at the
801
- default in-core index.
802
-
803
- Will merge to 'master'.
804
-
805
-
806
-* jt/fetch-allow-tip-sha1-implicitly (2017-05-16) 1 commit
807
- (merged to 'next' on 2017-05-23 at 690ed987df)
808
- + fetch-pack: always allow fetching of literal SHA1s
809
-
810
- There is no good reason why "git fetch $there $sha1" should fail
811
- when the $sha1 names an object at the tip of an advertised ref,
812
- even when the other side hasn't enabled allowTipSHA1InWant.
813
-
814
- Will merge to 'master'.
815
-
816
-
817
-* ab/perf-wildmatch (2017-05-12) 2 commits
818
- (merged to 'next' on 2017-05-23 at 0adb7dac31)
819
- + perf: add test showing exponential growth in path globbing
820
- + perf: add function to setup a fresh test repo
821
-
822
- Add perf-test for wildmatch.
823
-
698
Will merge to 'master'.
699
700
@@ -857,31 +731,14 @@ of the repositories listed at
731
+ test-lib: rename the LIBPCRE prerequisite to PCRE
732
+ grep & rev-list doc: stop promising libpcre for --perl-regexp
733
+ Makefile & configure: reword inaccurate comment about PCRE
860
- (this branch is used by ab/pcre-v2.)
734
+ (this branch is used by ab/pcre-v2 and sb/submodule-blanket-recursive.)
735
736
The internal implementation of "git grep" has seen some clean-up.
737
738
Will merge to 'master'.
739
740
867
-* dt/unpack-save-untracked-cache-extension (2017-05-20) 1 commit
868
- (merged to 'next' on 2017-05-23 at 3196d093d6)
869
- + unpack-trees: preserve index extensions
870
-
871
- When "git checkout", "git merge", etc. manipulates the in-core
872
- index, various pieces of information in the index extensions are
873
- discarded from the original state, as it is usually not the case
874
- that they are kept up-to-date and in-sync with the operation on the
875
- main index. The untracked cache extension is copied across these
876
- operations now, which would speed up "git status" (as long as the
877
- cache is properly invalidated).
878
-
879
- Will merge to 'master'.
880
-
881
-
882
-* sg/clone-refspec-from-command-line-config (2017-05-16) 4 commits
883
- - clone: use free_refspec() to free refspec list
884
- - remote: drop free_refspecs() function
741
+* sg/clone-refspec-from-command-line-config (2017-06-01) 2 commits
742
- Documentation/clone: document ignored configuration variables
743
- clone: respect additional configured fetch refspecs during initial fetch
744
@@ -890,8 +747,7 @@ of the repositories listed at
747
variables take effect while the initial clone is happening,
748
e.g. these configuration variables could be fetch refspecs.
749
893
- Waiting for response.
894
- cf. <xmqqa864kops.fsf@gitster.mtv.corp.google.com>
750
+ Are we happy with these two?
751
752
753
* jh/close-index-before-stat (2017-04-28) 1 commit
@@ -924,9 +780,10 @@ of the repositories listed at
780
cf. <20170509033258.q7auj5p5lxs4tggd@sigill.intra.peff.net>
781
782
927
-* nd/fopen-errors (2017-05-26) 13 commits
928
- - is_missing_file_error(): work around EINVAL on Windows
929
- - wrapper: factor out is_missing_file_error()
783
+* nd/fopen-errors (2017-05-30) 14 commits
784
+ - mingw_fopen: report ENOENT for invalid file names
785
+ - SQUASH??? use test_i18ngrep and add it at the end
786
+ - mingw: verify that paths are not mistaken for remote nicknames
787
- log: fix memory leak in open_next_file()
788
- rerere.c: move error_errno() closer to the source system call
789
- print errno when reporting a system call error
@@ -943,7 +800,7 @@ of the repositories listed at
800
optional, and silently ignore errors from open/fopen; report such
801
errors if they are not due to missing files.
802
946
- Waiting for comments on the two changes at the tip from Windows folks.
803
+ Waiting for an Ack to the SQUASH fix or a reroll of the tip commits.
804
805
806
* js/rebase-i-final (2017-05-02) 10 commits
@@ -966,49 +823,6 @@ of the repositories listed at
823
cf. <cover.1493414945.git.johannes.schindelin@gmx.de>
824
825
969
-* bw/forking-and-threading (2017-05-15) 14 commits
970
- (merged to 'next' on 2017-05-23 at 79a6a59851)
971
- + usage.c: drop set_error_handle()
972
- + run-command: restrict PATH search to executable files
973
- + run-command: expose is_executable function
974
- + run-command: block signals between fork and execve
975
- + run-command: add note about forking and threading
976
- + run-command: handle dup2 and close errors in child
977
- + run-command: eliminate calls to error handling functions in child
978
- + run-command: don't die in child when duping /dev/null
979
- + run-command: prepare child environment before forking
980
- + string-list: add string_list_remove function
981
- + run-command: use the async-signal-safe execv instead of execvp
982
- + run-command: prepare command before forking
983
- + t0061: run_command executes scripts without a #! line
984
- + t5550: use write_script to generate post-update hook
985
-
986
- The "run-command" API implementation has been made more robust
987
- against dead-locking in a threaded environment.
988
-
989
- Will merge to 'master'.
990
-
991
-
992
-* bp/sub-process-convert-filter (2017-05-15) 11 commits
993
- (merged to 'next' on 2017-05-23 at 89f5420a82)
994
- + convert: update subprocess_read_status() to not die on EOF
995
- + sub-process: move sub-process functions into separate files
996
- + convert: rename reusable sub-process functions
997
- + convert: update generic functions to only use generic data structures
998
- + convert: separate generic structures and variables from the filter specific ones
999
- + convert: split start_multi_file_filter() into two separate functions
1000
- + pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
1001
- + convert: move packet_write_line() into pkt-line as packet_writel()
1002
- + pkt-line: add packet_read_line_gently()
1003
- + pkt-line: fix packet_read_line() to handle len < 0 errors
1004
- + convert: remove erroneous tests for errno == EPIPE
1005
-
1006
- Code from "conversion using external process" codepath has been
1007
- extracted to a separate sub-process.[ch] module.
1008
-
1009
- Will merge to 'master'.
1010
-
1011
-
826
* nd/prune-in-worktree (2017-04-24) 12 commits
827
- rev-list: expose and document --single-worktree
828
- revision.c: --reflog add HEAD reflog from all worktrees
@@ -1032,92 +846,3 @@ of the repositories listed at
846
Expecting a reroll.
847
Has been waiting for nd/worktree-kill-parse-ref to settle.
848
cf. <CACsJy8ADCVBiLoPg_Tz0L6CMdh_eFmK4RYzfQ-PmUgBK7w9e=A@mail.gmail.com>
1035
-
1036
---------------------------------------------------
1037
-[Discard]
1038
-
1039
-* ab/compat-regex-update (2017-05-12) 3 commits
1040
- . DONTMERGE compat/regex: make it compile with -Werror=int-to-pointer-cast
1041
- . compat/regex: update the gawk regex engine from upstream
1042
- . compat/regex: add a README with a maintenance guide
1043
-
1044
- Update compat/regex we borrowed from gawk. It seems that some
1045
- customizations we made to the older one were dropped by mistake.
1046
-
1047
- Will discard.
1048
- cf. <CACBZZX4UUwzRQmyH8joYaqHnuVTjVtGBHp+iZKcnAnwoM_ZJhg@mail.gmail.com>
1049
-
1050
-
1051
-* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit
1052
- . config: complain about --local outside of a git repo
1053
-
1054
- Will discard.
1055
- Superseded by jk/bug-to-abort.
1056
-
1057
-
1058
-* js/retire-old-remote-spec (2017-05-12) 11 commits
1059
- . PREVIEW: remove support for .git/remotes/ and .git/branches/
1060
- . PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/
1061
- . PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests
1062
- . PREVIEW: remote: remove support for migrating ancient remotes
1063
- . PREVIEW: t5516: stop testing .git/branches/ functionality
1064
- . PREVIEW: t5510: convert .git/remotes/ test to use a regular remote
1065
- . Revert "Revert "Don't create the $GIT_DIR/branches directory on init""
1066
- . remote: warn loud and clear when .git/remotes/ is *still* used
1067
- . remote: warn loud and clear when .git/branches/ is *still* used
1068
- . Documentation: really deprecate .git/remotes/ and .git/branches/
1069
- . git-parse-remote: fix highly misleading man page
1070
-
1071
- Stop reading from .git/remotes/ and .git/branches/, two old ways
1072
- that we have been supporting to configure short-hands for fetching
1073
- from remote repositories.
1074
-
1075
- Will discard.
1076
- The procedure of removing an old and unused feature is correctly
1077
- followed by this series, but it is far from clear that the feature
1078
- this attempts to remove is unused or useless.
1079
-
1080
-
1081
-* jc/checkout-working-tree-only (2017-04-27) 1 commit
1082
- . checkout: add --working-tree-only option
1083
-
1084
- "git checkout <tree-ish> <pathspec>" learned a variant that does
1085
- not update the index when doing its thing.
1086
-
1087
- Will discard.
1088
- This was more of "the world could have been like this" illustration
1089
- rather than a "let's make this change" proposal.
1090
-
1091
-
1092
-* sb/submodule-blanket-recursive (2017-05-23) 6 commits
1093
- . builtin/push.c: respect 'submodule.recurse' option
1094
- . builtin/grep.c: respect 'submodule.recurse' option
1095
- . builtin/fetch.c: respect 'submodule.recurse' option
1096
- . Introduce submodule.recurse option for worktree manipulators
1097
- . submodule test invocation: only pass additional arguments
1098
- . submodule.c: add has_submodules to check if we have any submodules
1099
-
1100
- A new configuration variable "submodule.recurse" can be set to true
1101
- to force various commands run at the top-level superproject to
1102
- behave as if they were invoked with the "--recurse-submodules"
1103
- option.
1104
-
1105
- Retracted for now.
1106
- cf. <CAGZ79kZexcwh=E6_ks83=pJh=ZvKnLvJ54eLsn+HURsTZOpvqg@mail.gmail.com>
1107
-
1108
-
1109
-* df/dir-iter-remove-subtree (2017-05-29) 5 commits
1110
- . remove_subtree(): reimplement using iterators
1111
- . dir_iterator: rewrite state machine model
1112
- . dir_iterator: refactor dir_iterator_advance
1113
- . remove_subtree(): test removing nested directories
1114
- . dir_iterator: add tests for dir_iterator API
1115
-
1116
- Update the dir-iterator API and use it to reimplement
1117
- remove_subtree().
1118
-
1119
- GSoC microproject.
1120
- Ejected as it conflicts with other topics in flight in a
1121
- non-trivial way.
1122
-
1123
-