What's cooking (2017/01 #02)

Junio C Hamano committed Jan 15, 2017 at 17:40 UTC aa3afa0b4ab4f07e6b36f0712fd58229735afddc
1 file changed +267 -295
whats-cooking.txt
+267 -295
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2017, #01; Tue, 10)
3 +Subject: What's cooking in git.git (Jan 2017, #02; Sun, 15)
4 X-master-at: d7dffce1cebde29a0c4b309a79e4345450bf352a
5 -X-next-at: 087da7b7c1bc403d36120b5e97c342e00ebbf16a
5 +X-next-at: 8553c6e5137d7fde1cda49817bcc035d3ce35aeb
6
7 -What's cooking in git.git (Jan 2017, #01; Tue, 10)
7 +What's cooking in git.git (Jan 2017, #02; Sun, 15)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -18,7 +18,63 @@ of the repositories listed at
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 --------------------------------------------------
21 -[Graduated to "master"]
21 +[New Topics]
22 +
23 +* bw/read-blob-data-does-not-modify-index-state (2017-01-11) 1 commit
24 + - index: improve constness for reading blob data
25 +
26 + Code clean-up.
27 +
28 + Will merge to 'next'.
29 +
30 +
31 +* ep/commit-static-buf-cleanup (2017-01-13) 2 commits
32 + - builtin/commit.c: switch to xstrfmt(), instead of snprintf()
33 + - builtin/commit.c: remove the PATH_MAX limitation via dynamic allocation
34 +
35 + Code clean-up.
36 +
37 + Expecting a reroll.
38 + The tip one would instead be done with strbuf.
39 + cf. <CA+EOSB=4-TKpi6mr-yVbwRsFrVzE=vo4Y9Qm3VMm7pn=UB1_hQ@mail.gmail.com>
40 +
41 +
42 +* jk/grep-e-could-be-extended-beyond-posix (2017-01-11) 1 commit
43 + - t7810: avoid assumption about invalid regex syntax
44 +
45 + Tighten a test to avoid mistaking an extended ERE regexp engine as
46 + a PRE regexp engine.
47 +
48 + Will merge to 'next'.
49 +
50 +
51 +* jk/vreport-sanitize (2017-01-11) 2 commits
52 + - vreport: sanitize ASCII control chars
53 + - Revert "vreportf: avoid intermediate buffer"
54 +
55 + An error message with an ASCII control character like '\r' in it
56 + can alter the message to hide its early part, which is problematic
57 + when a remote side gives such an error message that the local side
58 + will relay with a "remote: " prefix.
59 +
60 + Will merge to 'next'.
61 +
62 +
63 +* sb/unpack-trees-super-prefix (2017-01-12) 5 commits
64 + - SQUASH
65 + - unpack-trees: support super-prefix option
66 + - t1001: modernize style
67 + - t1000: modernize style
68 + - read-tree: use OPT_BOOL instead of OPT_SET_INT
69 +
70 + "git read-tree" and its underlying unpack_trees() machinery learned
71 + to report problematic paths prefixed with the --super-prefix option.
72 +
73 + Expecting a reroll.
74 + The first three are in good shape. The last one needs a better
75 + explanation and possibly an update to its test.
76 + cf. <CAGZ79kaHDnVLQr8WLoaD5KKs7EqeW=KbkptF=iHpU5t054Xcdw@mail.gmail.com>
77 +
78
79 * bw/grep-recurse-submodules (2016-12-22) 12 commits
80 (merged to 'next' on 2016-12-22 at 1ede815b8d)
@@ -37,142 +93,206 @@ of the repositories listed at
93 + real_path: resolve symlinks by hand
94 (this branch is tangled with bw/realpath-wo-chdir.)
95
40 - "git grep" learns to optionally recurse into submodules.
96 + "git grep" has been taught to optionally recurse into submodules.
97 +
98 + Will merge to 'master'.
99 +
100 +
101 +* sb/submodule-config-tests (2017-01-12) 2 commits
102 + - t7411: test lookup of uninitialized submodules
103 + - t7411: quote URLs
104 +
105 + Will merge to 'next'.
106
107
43 -* dt/smart-http-detect-server-going-away (2016-11-18) 2 commits
44 - (merged to 'next' on 2016-12-05 at 3ea70d01af)
45 - + upload-pack: optionally allow fetching any sha1
46 - + remote-curl: don't hang when a server dies before any output
108 +* sb/submodule-doc (2017-01-12) 3 commits
109 + - submodules: add a background story
110 + - submodule update documentation: don't repeat ourselves
111 + - submodule documentation: add options to the subcommand
112
48 - Originally merged to 'next' on 2016-11-21
113 + Needs review.
114
50 - When the http server gives an incomplete response to a smart-http
51 - rpc call, it could lead to client waiting for a full response that
52 - will never come. Teach the client side to notice this condition
53 - and abort the transfer.
115
55 - An improvement counterproposal has failed.
56 - cf. <20161114194049.mktpsvgdhex2f4zv@sigill.intra.peff.net>
116 +* sb/submodule-embed-gitdir (2017-01-12) 1 commit
117 + - submodule absorbgitdirs: mention in docstring help
118
119 + Help-text fix.
120
59 -* jc/abbrev-autoscale-config (2016-12-22) 1 commit
60 - (merged to 'next' on 2016-12-27 at 631e4200e2)
61 - + config.abbrev: document the new default that auto-scales
121 + Will merge to 'next'.
122
63 - Recent update to the default abbreviation length that auto-scales
64 - lacked documentation update, which has been corrected.
123
124 +* sb/submodule-init (2017-01-12) 1 commit
125 + - submodule update --init: display correct path from submodule
126
67 -* jc/compression-config (2016-11-15) 1 commit
68 - (merged to 'next' on 2016-12-05 at 323769ca07)
69 - + compression: unify pack.compression configuration parsing
127 + Error message fix.
128
71 - Originally merged to 'next' on 2016-11-23
129 + Will merge to 'next'.
130
73 - Compression setting for producing packfiles were spread across
74 - three codepaths, one of which did not honor any configuration.
75 - Unify these so that all of them honor core.compression and
76 - pack.compression variables the same way.
131
132 +* vn/diff-ihc-config (2017-01-12) 1 commit
133 + - diff: add interhunk context config option
134
79 -* jc/git-open-cloexec (2016-11-02) 3 commits
80 - (merged to 'next' on 2016-12-27 at 487682eb6e)
81 - + sha1_file: stop opening files with O_NOATIME
82 - + git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback
83 - + git_open(): untangle possible NOATIME and CLOEXEC interactions
135 + "git diff" learned diff.interHunkContext configuration variable
136 + that gives the default value for its --inter-hunk-context option.
137
85 - The codeflow of setting NOATIME and CLOEXEC on file descriptors Git
86 - opens has been simplified.
87 - We may want to drop the tip one, but we'll see.
138 + Will merge to 'next'.
139
140
90 -* jc/latin-1 (2016-09-26) 2 commits
91 - (merged to 'next' on 2016-12-05 at fb549caa12)
92 - + utf8: accept "latin-1" as ISO-8859-1
93 - + utf8: refactor code to decide fallback encoding
141 +* ad/bisect-terms (2017-01-13) 1 commit
142 + - Documentation/bisect: improve on (bad|new) and (good|bad)
143
95 - Originally merged to 'next' on 2016-09-28
144 + Documentation fix.
145
97 - Some platforms no longer understand "latin-1" that is still seen in
98 - the wild in e-mail headers; replace them with "iso-8859-1" that is
99 - more widely known when conversion fails from/to it.
146 + Will merge to 'next'.
147
148
102 -* jc/retire-compaction-heuristics (2016-12-23) 1 commit
103 - (merged to 'next' on 2016-12-27 at c69c2f50cf)
104 - + diff: retire "compaction" heuristics
149 +* bw/attr (2017-01-15) 27 commits
150 + - attr: reformat git_attr_set_direction() function
151 + - attr: push the bare repo check into read_attr()
152 + - attr: store attribute stacks in hashmap
153 + - attr: tighten const correctness with git_attr and match_attr
154 + - attr: remove maybe-real, maybe-macro from git_attr
155 + - attr: eliminate global check_all_attr array
156 + - attr: use hashmap for attribute dictionary
157 + - attr: change validity check for attribute names to use positive logic
158 + - attr: pass struct attr_check to collect_some_attrs
159 + - attr: retire git_check_attrs() API
160 + - attr: convert git_check_attrs() callers to use the new API
161 + - attr: convert git_all_attrs() to use "struct attr_check"
162 + - attr: (re)introduce git_check_attr() and struct attr_check
163 + - attr: rename function and struct related to checking attributes
164 + - attr.c: outline the future plans by heavily commenting
165 + - Documentation/gitattributes.txt: fix a typo
166 + - attr.c: add push_stack() helper
167 + - attr: support quoting pathname patterns in C style
168 + - attr.c: plug small leak in parse_attr_line()
169 + - attr.c: tighten constness around "git_attr" structure
170 + - attr.c: simplify macroexpand_one()
171 + - attr.c: mark where #if DEBUG ends more clearly
172 + - attr.c: complete a sentence in a comment
173 + - attr.c: explain the lack of attr-name syntax check in parse_attr()
174 + - attr.c: update a stale comment on "struct match_attr"
175 + - attr.c: use strchrnul() to scan for one line
176 + - commit.c: use strchrnul() to scan for one line
177
106 - "git diff" and its family had two experimental heuristics to shift
107 - the contents of a hunk to make the patch easier to read. One of
108 - them turns out to be better than the other, so leave only the
109 - "--indent-heuristic" option and remove the other one.
178 + The gitattributes machinery is being taught to work better in a
179 + multi-threaded environment.
180
181 + Needs review.
182
112 -* jt/fetch-no-redundant-tag-fetch-map (2016-11-11) 1 commit
113 - (merged to 'next' on 2016-12-05 at 432f9469a7)
114 - + fetch: do not redundantly calculate tag refmap
183
116 - Originally merged to 'next' on 2016-11-16
184 +* jk/loose-object-fsck (2017-01-15) 6 commits
185 + - fsck: detect trailing garbage in all object types
186 + - fsck: parse loose object paths directly
187 + - sha1_file: add read_loose_object() function
188 + - t1450: test fsck of packed objects
189 + - sha1_file: fix error message for alternate objects
190 + - t1450: refactor loose-object removal
191
118 - Code cleanup to avoid using redundant refspecs while fetching with
119 - the --tags option.
192 + "git fsck" inspects loose objects more carefully now.
193
194 + Needs review.
195
122 -* mh/fast-import-notes-fix-new (2016-12-20) 1 commit
123 - (merged to 'next' on 2016-12-27 at b63805e6f6)
124 - + fast-import: properly fanout notes when tree is imported
196
126 - "git fast-import" sometimes mishandled while rebalancing notes
127 - tree, which has been fixed.
197 +* rh/diff-orderfile-doc (2017-01-15) 2 commits
198 + - diff: document the format of the -O (diff.orderFile) file
199 + - diff: document behavior of relative diff.orderFile
200
201 + Documentation fix.
202
130 -* mm/gc-safety-doc (2016-11-16) 1 commit
131 - (merged to 'next' on 2016-12-05 at 031ecc1886)
132 - + git-gc.txt: expand discussion of races with other processes
203 + Will merge to 'next'.
204
134 - Originally merged to 'next' on 2016-11-17
205
136 - Doc update.
206 +* sb/cd-then-git-can-be-written-as-git-c (2017-01-13) 1 commit
207 + - lib-submodule-update.sh: reduce use of subshell by using "git -C"
208
209 + Test clean-up.
210
139 -* mm/push-social-engineering-attack-doc (2016-11-14) 1 commit
140 - (merged to 'next' on 2016-12-05 at 9a2b5bd1a9)
141 - + doc: mention transfer data leaks in more places
211 + Will merge to 'next'.
212
143 - Originally merged to 'next' on 2016-11-16
213
145 - Doc update on fetching and pushing.
214 +* vn/xdiff-func-context (2017-01-15) 1 commit
215 + - xdiff -W: relax end-of-file function detection
216
217 + "git diff -W" has been taught to handle the case where a new
218 + function is added at the end of the file better.
219
148 -* nd/config-misc-fixes (2016-12-22) 3 commits
149 - (merged to 'next' on 2016-12-27 at 6be64a8671)
150 - + config.c: handle lock file in error case in git_config_rename_...
151 - + config.c: rename label unlock_and_out
152 - + config.c: handle error case for fstat() calls
220 + Will hold.
221 + An follow-up change to go back from the line that matches the
222 + funcline to show comments before the function definition is still
223 + being discussed.
224
154 - Leakage of lockfiles in the config subsystem has been fixed.
225
226 +* ws/request-pull-code-cleanup (2017-01-15) 1 commit
227 + - request-pull: drop old USAGE stuff
228
157 -* sb/submodule-embed-gitdir (2016-12-27) 7 commits
158 - (merged to 'next' on 2016-12-27 at 2b43c15479)
159 - + worktree: initialize return value for submodule_uses_worktrees
160 - (merged to 'next' on 2016-12-21 at e6cdbcf013)
161 - + submodule: add absorb-git-dir function
162 - + move connect_work_tree_and_git_dir to dir.h
163 - + worktree: check if a submodule uses worktrees
164 - + test-lib-functions.sh: teach test_commit -C <dir>
165 - + submodule helper: support super prefix
166 - + submodule: use absolute path for computing relative path connecting
167 - (this branch is used by sb/submodule-rm-absorb.)
229 + Code clean-up.
230
169 - A new submodule helper "git submodule embedgitdirs" to make it
170 - easier to move embedded .git/ directory for submodules in a
171 - superproject to .git/modules/ (and point the latter with the former
172 - that is turned into a "gitdir:" file) has been added.
231 + Will merge to 'next'.
232
233 --------------------------------------------------
175 -[New Topics]
234 +[Stalled]
235 +
236 +* jk/nofollow-attr-ignore (2016-11-02) 5 commits
237 + . exclude: do not respect symlinks for in-tree .gitignore
238 + . attr: do not respect symlinks for in-tree .gitattributes
239 + . exclude: convert "check_index" into a flags field
240 + . attr: convert "macro_ok" into a flags field
241 + . add open_nofollow() helper
242 +
243 + As we do not follow symbolic links when reading control files like
244 + .gitignore and .gitattributes from the index, match the behaviour
245 + and not follow symbolic links when reading them from the working
246 + tree. This also tightens security a bit by not leaking contents of
247 + an unrelated file in the error messages when it is pointed at by
248 + one of these files that is a symbolic link.
249 +
250 + Perhaps we want to cover .gitmodules too with the same mechanism?
251 +
252 + Ejected for now.
253 +
254 +
255 +* jc/bundle (2016-03-03) 6 commits
256 + - index-pack: --clone-bundle option
257 + - Merge branch 'jc/index-pack' into jc/bundle
258 + - bundle v3: the beginning
259 + - bundle: keep a copy of bundle file name in the in-core bundle header
260 + - bundle: plug resource leak
261 + - bundle doc: 'verify' is not about verifying the bundle
262 +
263 + The beginning of "split bundle", which could be one of the
264 + ingredients to allow "git clone" traffic off of the core server
265 + network to CDN.
266 +
267 + While I think it would make it easier for people to experiment and
268 + build on if the topic is merged to 'next', I am at the same time a
269 + bit reluctant to merge an unproven new topic that introduces a new
270 + file format, which we may end up having to support til the end of
271 + time. It is likely that to support a "prime clone from CDN", it
272 + would need a lot more than just "these are the heads and the pack
273 + data is over there", so this may not be sufficient.
274 +
275 + Will discard.
276 +
277 +
278 +* jc/diff-b-m (2015-02-23) 5 commits
279 + . WIPWIP
280 + . WIP: diff-b-m
281 + - diffcore-rename: allow easier debugging
282 + - diffcore-rename.c: add locate_rename_src()
283 + - diffcore-break: allow debugging
284 +
285 + "git diff -B -M" produced incorrect patch when the postimage of a
286 + completely rewritten file is similar to the preimage of a removed
287 + file; such a resulting file must not be expressed as a rename from
288 + other place.
289 +
290 + The fix in this patch is broken, unfortunately.
291 +
292 + Will discard.
293 +
294 +--------------------------------------------------
295 +[Cooking]
296
297 * ls/p4-retry-thrice (2016-12-29) 1 commit
298 (merged to 'next' on 2017-01-10 at c733e27410)
@@ -260,7 +380,9 @@ of the repositories listed at
380 Will merge to 'master'.
381
382
263 -* js/asciidoctor-tweaks (2017-01-07) 1 commit
383 +* js/asciidoctor-tweaks (2017-01-13) 2 commits
384 + (merged to 'next' on 2017-01-15 at 8553c6e513)
385 + + asciidoctor: fix user-manual to be built by `asciidoctor`
386 (merged to 'next' on 2017-01-10 at 087da7b7c1)
387 + giteveryday: unbreak rendering with AsciiDoctor
388
@@ -280,7 +402,11 @@ of the repositories listed at
402 Will merge to 'master'.
403
404
283 -* sb/remove-gitview (2017-01-07) 1 commit
405 +* sb/remove-gitview (2017-01-13) 4 commits
406 + (merged to 'next' on 2017-01-15 at 7c9eae479e)
407 + + doc: git-gui browser does not default to HEAD
408 + + doc: gitk: add the upstream repo location
409 + + doc: gitk: remove gitview reference
410 (merged to 'next' on 2017-01-10 at dcb3abd146)
411 + contrib: remove gitview
412
@@ -370,67 +496,6 @@ of the repositories listed at
496
497 Will merge to 'master'.
498
373 ---------------------------------------------------
374 -[Stalled]
375 -
376 -* jk/nofollow-attr-ignore (2016-11-02) 5 commits
377 - - exclude: do not respect symlinks for in-tree .gitignore
378 - - attr: do not respect symlinks for in-tree .gitattributes
379 - - exclude: convert "check_index" into a flags field
380 - - attr: convert "macro_ok" into a flags field
381 - - add open_nofollow() helper
382 -
383 - As we do not follow symbolic links when reading control files like
384 - .gitignore and .gitattributes from the index, match the behaviour
385 - and not follow symbolic links when reading them from the working
386 - tree. This also tightens security a bit by not leaking contents of
387 - an unrelated file in the error messages when it is pointed at by
388 - one of these files that is a symbolic link.
389 -
390 - Perhaps we want to cover .gitmodules too with the same mechanism?
391 -
392 -
393 -* jc/bundle (2016-03-03) 6 commits
394 - - index-pack: --clone-bundle option
395 - - Merge branch 'jc/index-pack' into jc/bundle
396 - - bundle v3: the beginning
397 - - bundle: keep a copy of bundle file name in the in-core bundle header
398 - - bundle: plug resource leak
399 - - bundle doc: 'verify' is not about verifying the bundle
400 -
401 - The beginning of "split bundle", which could be one of the
402 - ingredients to allow "git clone" traffic off of the core server
403 - network to CDN.
404 -
405 - While I think it would make it easier for people to experiment and
406 - build on if the topic is merged to 'next', I am at the same time a
407 - bit reluctant to merge an unproven new topic that introduces a new
408 - file format, which we may end up having to support til the end of
409 - time. It is likely that to support a "prime clone from CDN", it
410 - would need a lot more than just "these are the heads and the pack
411 - data is over there", so this may not be sufficient.
412 -
413 - Will discard.
414 -
415 -
416 -* jc/diff-b-m (2015-02-23) 5 commits
417 - . WIPWIP
418 - . WIP: diff-b-m
419 - - diffcore-rename: allow easier debugging
420 - - diffcore-rename.c: add locate_rename_src()
421 - - diffcore-break: allow debugging
422 -
423 - "git diff -B -M" produced incorrect patch when the postimage of a
424 - completely rewritten file is similar to the preimage of a removed
425 - file; such a resulting file must not be expressed as a rename from
426 - other place.
427 -
428 - The fix in this patch is broken, unfortunately.
429 -
430 - Will discard.
431 -
432 ---------------------------------------------------
433 -[Cooking]
499
500 * nd/worktree-move (2017-01-09) 6 commits
501 - worktree remove: new command
@@ -755,55 +820,9 @@ of the repositories listed at
820 cf. <20161007210721.20437-1-santiago@nyu.edu>
821
822
758 -* sb/attr (2016-11-11) 35 commits
759 - . completion: clone can initialize specific submodules
760 - . clone: add --init-submodule=<pathspec> switch
761 - . submodule update: add `--init-default-path` switch
762 - . pathspec: allow escaped query values
763 - . pathspec: allow querying for attributes
764 - . pathspec: move prefix check out of the inner loop
765 - . pathspec: move long magic parsing out of prefix_pathspec
766 - - Documentation: fix a typo
767 - - attr: keep attr stack for each check
768 - - attr: convert to new threadsafe API
769 - - attr: make git_check_attr_counted static
770 - - attr.c: outline the future plans by heavily commenting
771 - - attr.c: always pass check[] to collect_some_attrs()
772 - - attr.c: introduce empty_attr_check_elems()
773 - - attr.c: correct ugly hack for git_all_attrs()
774 - - attr.c: rename a local variable check
775 - - attr.c: pass struct git_attr_check down the callchain
776 - - attr.c: add push_stack() helper
777 - - attr: support quoting pathname patterns in C style
778 - - attr: expose validity check for attribute names
779 - - attr: add counted string version of git_check_attr()
780 - - attr: retire git_check_attrs() API
781 - - attr: convert git_check_attrs() callers to use the new API
782 - - attr: convert git_all_attrs() to use "struct git_attr_check"
783 - - attr: (re)introduce git_check_attr() and struct git_attr_check
784 - - attr: rename function and struct related to checking attributes
785 - - attr.c: plug small leak in parse_attr_line()
786 - - attr.c: tighten constness around "git_attr" structure
787 - - attr.c: simplify macroexpand_one()
788 - - attr.c: mark where #if DEBUG ends more clearly
789 - - attr.c: complete a sentence in a comment
790 - - attr.c: explain the lack of attr-name syntax check in parse_attr()
791 - - attr.c: update a stale comment on "struct match_attr"
792 - - attr.c: use strchrnul() to scan for one line
793 - - commit.c: use strchrnul() to scan for one line
794 -
795 - The attributes API has been updated so that it can later be
796 - optimized using the knowledge of which attributes are queried.
797 - Building on top of the updated API, the pathspec machinery learned
798 - to select only paths with given attributes set.
799 -
800 - The parts near the tip about pathspec would need to work better
801 - with bw/pathspec-cleanup topic and has been dropped for now.
802 -
803 -
804 -* sg/fix-versioncmp-with-common-suffix (2016-12-08) 8 commits
823 +* sg/fix-versioncmp-with-common-suffix (2017-01-12) 8 commits
824 - versioncmp: generalize version sort suffix reordering
806 - - squash! versioncmp: use earliest-longest contained suffix to determine sorting order
825 + - versioncmp: factor out helper for suffix matching
826 - versioncmp: use earliest-longest contained suffix to determine sorting order
827 - versioncmp: cope with common part overlapping with prerelease suffix
828 - versioncmp: pass full tagnames to swap_prereleases()
@@ -816,8 +835,7 @@ of the repositories listed at
835 same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2
836 are there and the code needs to compare 2.0-beta1 and 2.0-beta2).
837
819 - Will merge to 'next' after squashing.
820 - cf. <20161208142401.1329-1-szeder.dev@gmail.com>
838 + Will merge to 'next'.
839
840
841 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
@@ -835,92 +853,46 @@ of the repositories listed at
853 --------------------------------------------------
854 [Discarded]
855
838 -* rs/unpack-trees-reduce-file-scope-global (2016-12-31) 1 commit
839 - . unpack-trees: move checkout state into check_updates
840 -
841 - Code cleanup.
842 -
843 - Superseded by sb/unpack-trees-cleanup
844 -
845 -
846 -* jc/reset-unmerge (2016-10-24) 1 commit
847 - . reset: --unmerge
848 -
849 - After "git add" is run prematurely during a conflict resolution,
850 - "git diff" can no longer be used as a way to sanity check by
851 - looking at the combined diff. "git reset" learned a new
852 - "--unmerge" option to recover from this situation.
853 -
854 - This may not be needed, given that update-index has a similar
855 - option.
856 -
857 -
858 -* jc/merge-base-fp-only (2016-10-19) 8 commits
859 - . merge-base: fp experiment
860 - . merge: allow to use only the fp-only merge bases
861 - . merge-base: limit the output to bases that are on first-parent chain
862 - . merge-base: mark bases that are on first-parent chain
863 - . merge-base: expose get_merge_bases_many_0() a bit more
864 - . merge-base: stop moving commits around in remove_redundant()
865 - . sha1_name: remove ONELINE_SEEN bit
866 - . commit: simplify fastpath of merge-base
867 -
868 - An experiment of merge-base that ignores common ancestors that are
869 - not on the first parent chain.
870 -
871 - The whole premise feels wrong.
872 -
873 -
874 -* tb/convert-stream-check (2016-10-27) 2 commits
875 - . convert.c: stream and fast search for binary
876 - . read-cache: factor out get_sha1_from_index() helper
877 -
878 - End-of-line conversion sometimes needs to see if the current blob
879 - in the index has NULs and CRs to base its decision. We used to
880 - always get a full statistics over the blob, but in many cases we
881 - can return early when we have seen "enough" (e.g. if we see a
882 - single NUL, the blob will be handled as binary). The codepaths
883 - have been optimized by using streaming interface.
884 -
885 - Retracted.
886 - cf. <20161102071646.GA5094@tb-raspi>
887 -
888 -
889 -* mh/connect (2016-06-06) 10 commits
890 - . connect: [host:port] is legacy for ssh
891 - . connect: move ssh command line preparation to a separate function
892 - . connect: actively reject git:// urls with a user part
893 - . connect: change the --diag-url output to separate user and host
894 - . connect: make parse_connect_url() return the user part of the url as a separate value
895 - . connect: group CONNECT_DIAG_URL handling code
896 - . connect: make parse_connect_url() return separated host and port
897 - . connect: re-derive a host:port string from the separate host and port variables
898 - . connect: call get_host_and_port() earlier
899 - . connect: document why we sometimes call get_port after get_host_and_port
900 -
901 - Rewrite Git-URL parsing routine (hopefully) without changing any
902 - behaviour.
903 -
904 - It has been months without any support.
905 -
906 -
907 -* ec/annotate-deleted (2015-11-20) 1 commit
908 - . annotate: skip checking working tree if a revision is provided
909 -
910 - Usability fix for annotate-specific "<file> <rev>" syntax with deleted
911 - files.
912 -
913 - Has been waiting for a review for too long without seeing anything.
914 -
915 -
916 -* dk/gc-more-wo-pack (2016-01-13) 4 commits
917 - . gc: clean garbage .bitmap files from pack dir
918 - . t5304: ensure non-garbage files are not deleted
919 - . t5304: test .bitmap garbage files
920 - . prepare_packed_git(): find more garbage
856 +* sb/attr (2016-11-11) 35 commits
857 + . completion: clone can initialize specific submodules
858 + . clone: add --init-submodule=<pathspec> switch
859 + . submodule update: add `--init-default-path` switch
860 + . pathspec: allow escaped query values
861 + . pathspec: allow querying for attributes
862 + . pathspec: move prefix check out of the inner loop
863 + . pathspec: move long magic parsing out of prefix_pathspec
864 + . Documentation: fix a typo
865 + . attr: keep attr stack for each check
866 + . attr: convert to new threadsafe API
867 + . attr: make git_check_attr_counted static
868 + . attr.c: outline the future plans by heavily commenting
869 + . attr.c: always pass check[] to collect_some_attrs()
870 + . attr.c: introduce empty_attr_check_elems()
871 + . attr.c: correct ugly hack for git_all_attrs()
872 + . attr.c: rename a local variable check
873 + . attr.c: pass struct git_attr_check down the callchain
874 + . attr.c: add push_stack() helper
875 + . attr: support quoting pathname patterns in C style
876 + . attr: expose validity check for attribute names
877 + . attr: add counted string version of git_check_attr()
878 + . attr: retire git_check_attrs() API
879 + . attr: convert git_check_attrs() callers to use the new API
880 + . attr: convert git_all_attrs() to use "struct git_attr_check"
881 + . attr: (re)introduce git_check_attr() and struct git_attr_check
882 + . attr: rename function and struct related to checking attributes
883 + . attr.c: plug small leak in parse_attr_line()
884 + . attr.c: tighten constness around "git_attr" structure
885 + . attr.c: simplify macroexpand_one()
886 + . attr.c: mark where #if DEBUG ends more clearly
887 + . attr.c: complete a sentence in a comment
888 + . attr.c: explain the lack of attr-name syntax check in parse_attr()
889 + . attr.c: update a stale comment on "struct match_attr"
890 + . attr.c: use strchrnul() to scan for one line
891 + . commit.c: use strchrnul() to scan for one line
892
922 - Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
923 - .bitmap and .keep files.
893 + The attributes API has been updated so that it can later be
894 + optimized using the knowledge of which attributes are queried.
895 + Building on top of the updated API, the pathspec machinery learned
896 + to select only paths with given attributes set.
897
925 - Has been waiting for a reroll for too long.
926 - cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
898 + Superseded by bw/attr topic.