What's cooking (2013/09 #01)

Junio C Hamano committed Sep 3, 2013 at 15:56 UTC a06525809da5bc4ebe91012fd0a97dd2972287c6
1 file changed +293 -170
whats-cooking.txt
+293 -170
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2013, #07; Wed, 28)
4 -X-master-at: e230c568c4b9a991e3175e5f65171a566fd8e39c
5 -X-next-at: 4ec6b414090cf91b9ca5200ee6921ae9a92582ff
3 +Subject: What's cooking in git.git (Sep 2013, #01; Tue, 3)
4 +X-master-at: 0a41de8f81d8fa39fa17943cd1ed5e0274fef187
5 +X-next-at: 91af5188d5bdbdf006c601a997f25c618050dcee
6
7 -What's cooking in git.git (Aug 2013, #07; Wed, 28)
7 +What's cooking in git.git (Sep 2013, #01; Tue, 3)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -36,49 +36,248 @@ of the repositories listed at
36
37 http://git-blame.blogspot.com/p/git-public-repositories.html
38
39 +--------------------------------------------------
40 +[Graduated to "master"]
41 +
42 +* bc/completion-for-bash-3.0 (2013-08-22) 3 commits
43 + (merged to 'next' on 2013-08-28 at fb87a84)
44 + + contrib/git-prompt.sh: handle missing 'printf -v' more gracefully
45 + + t9902-completion.sh: old Bash still does not support array+=('') notation
46 + + git-completion.bash: use correct Bash/Zsh array length syntax
47 +
48 + Originally merged to 'next' on 2013-08-22
49 +
50 + Some people still use rather old versions of bash, which cannot
51 + grok some constructs like 'printf -v varname' the prompt and
52 + completion code started to use recently.
53 +
54 +
55 +* hv/config-from-blob (2013-08-26) 1 commit
56 + (merged to 'next' on 2013-08-28 at 189c6c1)
57 + + config: do not use C function names as struct members
58 +
59 + Portability fix.
60 +
61 + Need to apply to 1.8.4.x maintenance track.
62 +
63 +
64 +* mb/docs-favor-en-us (2013-08-01) 1 commit
65 + (merged to 'next' on 2013-08-28 at 82910e5)
66 + + Provide some linguistic guidance for the documentation.
67 +
68 + Originally merged to 'next' on 2013-08-06
69 +
70 + Declare that the official grammar & spelling of the source of this
71 + project is en_US, but strongly discourage patches only to "fix"
72 + existing en_UK strings to avoid unnecessary churns.
73 +
74 +
75 +* mm/war-on-whatchanged (2013-08-13) 2 commits
76 + (merged to 'next' on 2013-08-28 at 25e9c18)
77 + + whatchanged: document its historical nature
78 + + core-tutorial: trim the section on Inspecting Changes
79 +
80 + Originally merged to 'next' on 2013-08-14
81 +
82 +
83 +* nd/fetch-pack-shallow-fix (2013-08-25) 1 commit
84 + (merged to 'next' on 2013-08-28 at 6f5ed42)
85 + + fetch-pack: do not remove .git/shallow file when --depth is not specified
86 +
87 + Originally merged to 'next' on 2013-08-27
88 +
89 + Recent "short-cut clone connectivity check" topic broke a shallow
90 + repository when a fetch operation tries to auto-follow tags.
91 +
92 + Need to apply to 1.8.4.x maintenance track.
93 +
94 +
95 +* rj/doc-rev-parse (2013-07-22) 2 commits
96 + (merged to 'next' on 2013-08-28 at 0fce928)
97 + + rev-parse(1): logically group options
98 + + rev-parse: remove restrictions on some options
99 +
100 + Originally merged to 'next' on 2013-07-22
101 +
102 +
103 +* rt/doc-merge-file-diff3 (2013-08-09) 1 commit
104 + (merged to 'next' on 2013-08-28 at d6b8006)
105 + + Documentation/git-merge-file: document option "--diff3"
106 +
107 + Originally merged to 'next' on 2013-08-14
108 +
109 +
110 +* sp/doc-smart-http (2013-08-21) 1 commit
111 + (merged to 'next' on 2013-08-28 at 20a6877)
112 + + Document the HTTP transport protocols
113 +
114 + Originally merged to 'next' on 2013-08-22
115 +
116 --------------------------------------------------
117 [New Topics]
118
42 -* cc/replace-with-the-same-type (2013-08-27) 5 commits
43 - - Documentation/replace: add Creating Replacement Objects section
44 - - t6050-replace: add test to clean up all the replace refs
45 - - t6050-replace: test that objects are of the same type
46 - - Documentation/replace: state that objects must be of the same type
47 - - replace: forbid replacing an object with one of a different type
119 +* fc/contrib-bzr-hg-fixes (2013-09-03) 10 commits
120 + - contrib/remote-helpers: quote variable references in redirection targets
121 + - contrib/remote-helpers: style updates for test scripts
122 + - remote-hg: use notes to keep track of Hg revisions
123 + - remote-helpers: cleanup more global variables
124 + - remote-helpers: trivial style fixes
125 + - remote-hg: improve basic test
126 + - remote-hg: add missing &&s in the test
127 + - remote-hg: fix test
128 + - remote-bzr: make bzr branches configurable per-repo
129 + - remote-bzr: fix export of utf-8 authors
130
49 - Using the replace mechanism to swap an object with another object
50 - of a different type can introduce inconsistency (e.g. a tree
51 - expects an object name to refer to a blob, but the blob object can
52 - be mistakenly or maliciously replaced with an object with a
53 - different type). Attempt to forbid such.
131 + Will merge to 'next'.
132
55 - This may need to be given an escape hatch "--force", though.
133
134 +* jc/pager-configuration-doc (2013-08-29) 1 commit
135 + - config: rewrite core.pager documentation
136
58 -* jx/clean-interactive (2013-08-28) 1 commit
59 - - documentation: clarify notes for clean.requireForce
137 + Will merge to 'next'.
138
61 - Finishing touches to update the document to adjust to a new option
62 - "git clean" learned recently.
139 +
140 +* np/pack-v4 (2013-09-03) 24 commits
141 + - Document pack v4 format
142 + - initial pack index v3 support on the read side
143 + - pack v4: add progress display
144 + - pack v4: normalize pack name to properly generate the pack index file name
145 + - pack index v3
146 + - pack v4: relax commit parsing a bit
147 + - pack v4: honor pack.compression config option
148 + - pack v4: load delta candidate for encoding tree objects
149 + - pack v4: tree object delta encoding
150 + - pack v4: object writing
151 + - pack v4: object data copy
152 + - pack v4: object headers
153 + - pack v4: creation code
154 + - pack v4: dictionary table output
155 + - pack v4: tree object encoding
156 + - pack v4: commit object encoding
157 + - pack v4: basic references encoding
158 + - pack v4: move to struct pack_idx_entry and get rid of our own struct idx_entry
159 + - pack v4: split the object list and dictionary creation
160 + - pack v4: add commit object parsing
161 + - pack v4: add tree entry mode support to dictionary entries
162 + - pack v4: scan tree objects
163 + - export packed_object_info()
164 + - pack v4: initial pack dictionary structure and code
165 +
166 +
167 +* jk/free-tree-buffer (2013-06-06) 1 commit
168 + - clear parsed flag when we free tree buffers
169
170 Will merge to 'next'.
171
172
67 -* mm/status-without-comment-char (2013-08-28) 3 commits
68 - - SQUASH??? wt-status.c decl-after-stmt
69 - - status: introduce status.displayCommentChar to disable display of #
70 - - submodule: introduce --[no-]display-comment-char
173 +* jk/has-sha1-file-retry-packed (2013-08-30) 1 commit
174 + - has_sha1_file: re-check pack directory before giving up
175
72 - Allow "git status" to omit the prefix to make its output a comment
73 - in a commit log editor, which is not necessary for human
74 - consumption.
176 + Will merge to 'next'.
177
178
77 -* xx/cleanup (2013-08-28) 1 commit
78 - - builtin/stripspace.c: fix broken indentation
179 +* ab/gitweb-author-initials (2013-08-30) 1 commit
180 + - gitweb: Fix the author initials in blame for non-ASCII names
181 +
182 + Will merge to 'next'.
183 +
184 +
185 +* bk/refs-multi-update (2013-08-30) 8 commits
186 + - update-ref: add test cases covering --stdin signature
187 + - update-ref: support multiple simultaneous updates
188 + - refs: add update_refs for multiple simultaneous updates
189 + - refs: add function to repack without multiple refs
190 + - refs: factor delete_ref loose ref step into a helper
191 + - refs: factor update_ref steps into helpers
192 + - refs: report ref type from lock_any_ref_for_update
193 + - reset: rename update_refs to reset_refs
194 +
195 +
196 +* fc/at-head (2013-09-03) 2 commits
197 + - Add new @ shortcut for HEAD
198 + - sha1-name: pass len argument to interpret_branch_name()
199 +
200 + Attempt to resurrect "Type @ for HEAD"; the bottom one seems to be
201 + a genuine code improvement, but identifying cases where "@" means
202 + HEAD seems to be harder than it seems---the tip one does not yet
203 + get it right.
204 +
205 +
206 +* fc/fast-export (2013-09-03) 2 commits
207 + - fast-export: refactor get_tags_and_duplicates()
208 + - fast-export: make extra_refs global
209 +
210 + Code simpification.
211 +
212 + Will merge to 'next'.
213 +
214 +
215 +* fc/rev-parse-test-updates (2013-09-03) 4 commits
216 + - rev-parse test: use standard test functions for setup
217 + - rev-parse test: use test_cmp instead of "test" builtin
218 + - rev-parse test: use test_must_fail, not "if <command>; then false; fi"
219 + - rev-parse test: modernize quoting and whitespace
220 +
221 + Modernize tests.
222 +
223 + Will merge to 'next'.
224 +
225 +
226 +* fc/t3200-fixes (2013-09-03) 3 commits
227 + - t: branch: fix broken && chains
228 + - t: branch: fix typo
229 + - t: branch: trivial style fix
230 +
231 + Will merge to 'next'.
232 +
233 +
234 +* fc/trivial (2013-09-03) 5 commits
235 + - branch: use $curr_branch_short more
236 + - add: trivial style cleanup
237 + - reset: trivial style cleanup
238 + - branch: trivial style fix
239 + - reset: trivial refactoring
240 +
241 + Will merge to 'next'.
242 +
243 +
244 +* jc/ref-excludes (2013-09-03) 2 commits
245 + - document --exclude option
246 + - revision: introduce --exclude=<glob> to tame wildcards
247 +
248 +
249 +* jk/pager-bypass-cat-for-default-pager (2013-09-03) 1 commit
250 + - pager: turn on "cat" optimization for DEFAULT_PAGER
251 +
252 + If a build-time fallback is set to "cat" instead of "less", we
253 + should apply the same "no subprocess or pipe" optimization as we
254 + apply to user-supplied GIT_PAGER=cat.
255 +
256 + Will merge to 'next'.
257 +
258 +
259 +* nd/git-dir-pointing-at-gitfile (2013-09-03) 1 commit
260 + - Make setup_git_env() resolve .git file when $GIT_DIR is not specified
261 +
262 + We made sure that we notice the user-supplied GIT_DIR is actually a
263 + gitfile, but failed to do so when the default ".git" is a gitfile.
264 +
265 + Will merge to 'next'.
266 +
267 +
268 +* nr/git-cd-to-a-directory (2013-09-03) 1 commit
269 + - git: run in a directory given with -C option
270 +
271 + Just like "make -C <directory>", make "git -C <directory> ..." to
272 + go there before doing anything else.
273
80 - Will probably directly cherry-pick to 'maint' or 'master' and kill
81 - the branch.
274 +
275 +* rh/peeling-tag-to-tag (2013-09-03) 2 commits
276 + - peel_onion: do not assume length of x_type globals
277 + - peel_onion(): add support for <rev>^{tag}
278 +
279 + Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
280 + "foo" is not a tag.
281
282 --------------------------------------------------
283 [Stalled]
@@ -116,18 +315,6 @@ of the repositories listed at
315 $gmane/225137
316
317
119 -* jk/list-objects-sans-blobs (2013-06-06) 4 commits
120 - . archive: ignore blob objects when checking reachability
121 - . list-objects: optimize "revs->blob_objects = 0" case
122 - . upload-archive: restrict remote objects with reachability check
123 - . clear parsed flag when we free tree buffers
124 -
125 - Attempt to allow "archive --remote=$there $arbitrary_sha1" while
126 - keeping the reachability safety.
127 -
128 - Seems to break some tests in a trivial and obvious way.
129 -
130 -
318 * mg/more-textconv (2013-05-10) 7 commits
319 - grep: honor --textconv for the case rev:path
320 - grep: allow to use textconv filters
@@ -184,6 +371,43 @@ of the repositories listed at
371 --------------------------------------------------
372 [Cooking]
373
374 +* cc/replace-with-the-same-type (2013-08-27) 5 commits
375 + - Documentation/replace: add Creating Replacement Objects section
376 + - t6050-replace: add test to clean up all the replace refs
377 + - t6050-replace: test that objects are of the same type
378 + - Documentation/replace: state that objects must be of the same type
379 + - replace: forbid replacing an object with one of a different type
380 +
381 + Using the replace mechanism to swap an object with another object
382 + of a different type can introduce inconsistency (e.g. a tree
383 + expects an object name to refer to a blob, but the blob object can
384 + be mistakenly or maliciously replaced with an object with a
385 + different type). Attempt to forbid such.
386 +
387 + This may need to be given an escape hatch "--force", though.
388 +
389 +
390 +* jx/clean-interactive (2013-08-28) 1 commit
391 + - documentation: clarify notes for clean.requireForce
392 +
393 + Finishing touches to update the document to adjust to a new option
394 + "git clean" learned recently.
395 +
396 + Will merge to 'next'.
397 +
398 +
399 +* mm/status-without-comment-char (2013-08-29) 5 commits
400 + - status: introduce status.displayCommentChar to disable display of #
401 + - SQUASH: do not fprintf() random strings
402 + - get rid of "git submodule summary --for-status"
403 + - wt-status: use argv_array API
404 + - builtin/stripspace.c: fix broken indentation
405 +
406 + Allow "git status" to omit the prefix to make its output a comment
407 + in a commit log editor, which is not necessary for human
408 + consumption.
409 +
410 +
411 * js/xread-in-full (2013-08-20) 1 commit
412 - stream_to_pack: xread does not guarantee to read all requested bytes
413
@@ -215,28 +439,14 @@ of the repositories listed at
439 Will merge to 'master' in the second batch.
440
441
218 -* bc/completion-for-bash-3.0 (2013-08-22) 3 commits
219 - (merged to 'next' on 2013-08-28 at fb87a84)
220 - + contrib/git-prompt.sh: handle missing 'printf -v' more gracefully
221 - + t9902-completion.sh: old Bash still does not support array+=('') notation
222 - + git-completion.bash: use correct Bash/Zsh array length syntax
223 -
224 - Originally merged to 'next' on 2013-08-22
225 -
226 - Some people still use rather old versions of bash, which cannot
227 - grok some constructs like 'printf -v varname' the prompt and
228 - completion code started to use recently.
229 -
230 - Will merge to 'master'.
231 -
232 -
233 -* bc/submodule-status-ignored (2013-08-20) 2 commits
234 - - submodule: don't print status output with ignore=all
235 - - submodule: fix confusing variable name
442 +* bc/submodule-status-ignored (2013-09-03) 2 commits
443 + . submodule: don't print status output with ignore=all
444 + . submodule: fix confusing variable name
445
446 Originally merged to 'next' on 2013-08-22
447
239 - Will merge to 'next'.
448 + On hold; this conflicts and breaks tests when used with
449 + mm/status-without-comment-char.
450
451
452 * jk/config-int-range-check (2013-08-21) 2 commits
@@ -264,11 +474,13 @@ of the repositories listed at
474 Will merge to 'next'.
475
476
267 -* mm/mediawiki-dumb-push-fix (2013-08-21) 2 commits
477 +* mm/mediawiki-dumb-push-fix (2013-09-03) 4 commits
478 + - git-remote-mediawiki: no need to update private ref in non-dumb push
479 + - git-remote-mediawiki: use no-private-update capability on dumb push
480 + - transport-helper: add no-private-update capability
481 - git-remote-mediawiki: add test and check Makefile targets
269 - - git-remote-mediawiki: reset private ref after non-dumb push
482
271 - Waiting for a reroll.
483 + Will merge to 'next'.
484
485
486 * rt/rebase-p-no-merge-summary (2013-08-21) 1 commit
@@ -297,15 +509,6 @@ of the repositories listed at
509 Will merge to 'master' in the second batch.
510
511
300 -* sp/doc-smart-http (2013-08-21) 1 commit
301 - (merged to 'next' on 2013-08-28 at 20a6877)
302 - + Document the HTTP transport protocols
303 -
304 - Originally merged to 'next' on 2013-08-22
305 -
306 - Will merge to 'master'.
307 -
308 -
512 * dw/diff-no-index-doc (2013-08-28) 2 commits
513 - diff --no-index: describe in a separate paragraph
514 - diff --no-index: clarify operation when not inside a repository
@@ -318,11 +521,12 @@ of the repositories listed at
521 explicit command line option to instruct us to do so.
522
523
321 -* sb/repack-in-c (2013-08-22) 3 commits
322 - - repack: rewrite the shell script in C (squashing proposal)
524 +* sb/repack-in-c (2013-08-30) 2 commits
525 - repack: retain the return value of pack-objects
526 - repack: rewrite the shell script in C
527
528 + Any further reviews?
529 +
530
531 * ap/commit-author-mailmap (2013-08-24) 1 commit
532 - commit: search author pattern against mailmap
@@ -335,25 +539,21 @@ of the repositories listed at
539 Will merge to 'next'.
540
541
338 -* hv/config-from-blob (2013-08-26) 1 commit
339 - (merged to 'next' on 2013-08-28 at 189c6c1)
340 - + config: do not use C function names as struct members
341 -
342 - Portability fix.
343 -
344 - Will merge to 'master', aiming to later apply to 1.8.4.x maintenance track.
345 -
346 -
542 * jk/mailmap-incomplete-line (2013-08-28) 1 commit
543 - mailmap: handle mailmap blobs without trailing newlines
544
545 Will merge to 'next' and later to 'master' and 'maint'.
546
547
353 -* jk/write-broken-index-with-nul-sha1 (2013-08-26) 1 commit
548 +* jk/write-broken-index-with-nul-sha1 (2013-08-28) 1 commit
549 - write_index: optionally allow broken null sha1s
550
356 - Am I waiting for another reroll?
551 + Earlier we started rejecting an attempt to add 0{40} object name to
552 + the index and to tree objects, but it sometimes is necessary to
553 + allow so to be able to use tools like filter-branch to correct such
554 + broken tree objects.
555 +
556 + Will merge to 'next'.
557
558
559 * kk/tests-with-no-perl (2013-08-24) 4 commits
@@ -385,18 +585,6 @@ of the repositories listed at
585 Will merge to 'next'.
586
587
388 -* nd/fetch-pack-shallow-fix (2013-08-25) 1 commit
389 - (merged to 'next' on 2013-08-28 at 6f5ed42)
390 - + fetch-pack: do not remove .git/shallow file when --depth is not specified
391 -
392 - Originally merged to 'next' on 2013-08-27
393 -
394 - Recent "short-cut clone connectivity check" topic broke a shallow
395 - repository when a fetch operation tries to auto-follow tags.
396 -
397 - Will merge to 'master', aiming to later apply to 1.8.4.x maintenance track.
398 -
399 -
588 * ta/user-manual (2013-08-27) 11 commits
589 - "git prune" is safe
590 - Remove irrelevant reference from "Tying it all together"
@@ -591,7 +779,9 @@ of the repositories listed at
779 Will merge to 'master'.
780
781
594 -* jc/transport-do-not-use-connect-twice-in-fetch (2013-08-07) 5 commits
782 +* jc/transport-do-not-use-connect-twice-in-fetch (2013-08-28) 6 commits
783 + (merged to 'next' on 2013-08-29 at f88a6da)
784 + + builtin/fetch.c: Fix a sparse warning
785 (merged to 'next' on 2013-08-28 at 2ed86df)
786 + fetch: work around "transport-take-over" hack
787 + fetch: refactor code that fetches leftover tags
@@ -611,22 +801,13 @@ of the repositories listed at
801 Will merge to 'master' in the second batch.
802
803
614 -* ks/p4-view-spec (2013-08-11) 3 commits
615 - - WAITING FOR ACK
804 +* ks/p4-view-spec (2013-09-03) 2 commits
805 - git p4: implement view spec wildcards with "p4 where"
806 - git p4 test: sanitize P4CHARSET
807
619 - Waiting for an ack.
808 + Replaced with a reroll that was whitespace damaged.
809
621 -
622 -* mm/war-on-whatchanged (2013-08-13) 2 commits
623 - (merged to 'next' on 2013-08-28 at 25e9c18)
624 - + whatchanged: document its historical nature
625 - + core-tutorial: trim the section on Inspecting Changes
626 -
627 - Originally merged to 'next' on 2013-08-14
628 -
629 - Will merge to 'master'.
810 + Waiting for the final Ack.
811
812
813 * nd/gc-lock-against-each-other (2013-08-09) 1 commit
@@ -638,15 +819,6 @@ of the repositories listed at
819 Will merge to 'master'.
820
821
641 -* rt/doc-merge-file-diff3 (2013-08-09) 1 commit
642 - (merged to 'next' on 2013-08-28 at d6b8006)
643 - + Documentation/git-merge-file: document option "--diff3"
644 -
645 - Originally merged to 'next' on 2013-08-14
646 -
647 - Will merge to 'master'.
648 -
649 -
822 * sb/misc-cleanup (2013-08-09) 3 commits
823 (merged to 'next' on 2013-08-28 at bc2045b)
824 + rm: remove unneeded null pointer check
@@ -778,19 +950,6 @@ of the repositories listed at
950 Will merge to 'master'.
951
952
781 -* mb/docs-favor-en-us (2013-08-01) 1 commit
782 - (merged to 'next' on 2013-08-28 at 82910e5)
783 - + Provide some linguistic guidance for the documentation.
784 -
785 - Originally merged to 'next' on 2013-08-06
786 -
787 - Declare that the official grammar & spelling of the source of this
788 - project is en_US, but strongly discourage patches only to "fix"
789 - existing en_UK strings to avoid unnecessary churns.
790 -
791 - Will merge to 'master'.
792 -
793 -
953 * jc/parseopt-command-modes (2013-07-30) 2 commits
954 (merged to 'next' on 2013-08-28 at 738b399)
955 + tag: use OPT_CMDMODE
@@ -927,16 +1086,6 @@ of the repositories listed at
1086 Will merge to 'master'.
1087
1088
930 -* rj/doc-rev-parse (2013-07-22) 2 commits
931 - (merged to 'next' on 2013-08-28 at 0fce928)
932 - + rev-parse(1): logically group options
933 - + rev-parse: remove restrictions on some options
934 -
935 - Originally merged to 'next' on 2013-07-22
936 -
937 - Will merge to 'master'.
938 -
939 -
1089 * jk/fast-import-empty-ls (2013-06-23) 4 commits
1090 (merged to 'next' on 2013-08-28 at 876a39d)
1091 + fast-import: allow moving the root tree
@@ -1182,29 +1331,3 @@ of the repositories listed at
1331 (this branch uses jc/diff-filter-negation.)
1332
1333 Will cook in 'next' until a distant future.
1185 -
1186 ---------------------------------------------------
1187 -[Discarded]
1188 -
1189 -* jh/remote-hg-fetch-fix (2013-07-25) 2 commits
1190 - . Revert "remotes-hg: bugfix for fetching non local remotes"
1191 - . remotes-hg: bugfix for fetching non local remotes
1192 -
1193 -
1194 -* km/http-curl-config-per-url (2013-07-31) 7 commits
1195 - . Revert km/http-curl-config-per-url in its entirety
1196 - . docs: update http.<url>.* options documentation
1197 - . config: allow http.<url>.* any user matching
1198 - . tests: add new test for the url_normalize function
1199 - . config: improve support for http.<url>.* settings
1200 - . config: add support for http.<url>.* settings
1201 - . http.c: fix parsing of http.sslCertPasswordProtected variable
1202 -
1203 - Reverted to be replaced with a reroll (jc/url-match topic).
1204 -
1205 -
1206 -* sb/fsck-opt-bool (2013-07-29) 1 commit
1207 - . fsck: Replace deprecated OPT_BOOLEAN by OPT_BOOL
1208 -
1209 - sb/parseopt-boolean-removal contains the moral equivalent of this
1210 - change.