What's cooking (2017/02 #06)

Junio C Hamano committed Feb 21, 2017 at 14:19 UTC ff89f868b1e3d5f99c97b19793a80826b3f29739
1 file changed +272 -263
whats-cooking.txt
+272 -263
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2017, #05; Thu, 16)
4 -X-master-at: 076c05393a047247ea723896289b48d6549ed7d0
5 -X-next-at: 5b76565f74de0c6d73806355784e00e3b7756169
3 +Subject: What's cooking in git.git (Feb 2017, #06; Tue, 21)
4 +X-master-at: 80ba04ed9b07c34af9cc644f2183b3b80fd81744
5 +X-next-at: 302250072e59acfdf6a5a069d54402b4f1478844
6
7 -What's cooking in git.git (Feb 2017, #05; Thu, 16)
7 +What's cooking in git.git (Feb 2017, #06; Tue, 21)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,8 +12,9 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -I'd like to get pull requests for gitk and git-gui updates soonish,
16 -if we are to have one during this cycle.
15 +The tip of the 'master' is still at -rc2 but with a git-svn update
16 +from Eric. I'd like to get pull requests for gitk and git-gui
17 +updates soonish, if we are to have one during this cycle.
18
19 You can find the changes described here in the integration branches
20 of the repositories listed at
@@ -21,218 +22,186 @@ of the repositories listed at
22 http://git-blame.blogspot.com/p/git-public-repositories.html
23
24 --------------------------------------------------
24 -[Graduated to "master"]
25 -
26 -* cw/completion (2017-02-03) 7 commits
27 - (merged to 'next' on 2017-02-10 at b3a5cbf39c)
28 - + completion: recognize more long-options
29 - + completion: teach remote subcommands to complete options
30 - + completion: teach replace to complete options
31 - + completion: teach ls-remote to complete options
32 - + completion: improve bash completion for git-add
33 - + completion: add subcommand completion for rerere
34 - + completion: teach submodule subcommands to complete options
35 -
36 - More command line completion (in contrib/) for recent additions.
37 -
38 -
39 -* dp/submodule-doc-markup-fix (2017-02-16) 1 commit
40 - (merged to 'next' on 2017-02-16 at 698cdcff0a)
41 - + config.txt: fix formatting of submodule.alternateErrorStrategy section
42 -
43 - Doc fix.
44 -
45 -
46 -* jk/doc-remote-helpers-markup-fix (2017-02-13) 1 commit
47 - (merged to 'next' on 2017-02-14 at 95af1267c7)
48 - + docs/gitremote-helpers: fix unbalanced quotes
25 +[New Topics]
26
50 - Doc markup fix.
27 +* jk/tempfile-ferror-fclose-confusion (2017-02-17) 1 commit
28 + (merged to 'next' on 2017-02-21 at 479ba0131f)
29 + + tempfile: set errno to a known value before calling ferror()
30
31 + A caller of tempfile API that uses stdio interface to write to
32 + files may ignore errors while writing, which is detected when
33 + tempfile is closed (with a call to ferror()). By that time, the
34 + original errno that may have told us what went wrong is likely to
35 + be long gone and was overwritten by an irrelevant value.
36 + close_tempfile() now resets errno to EIO to make errno at least
37 + predictable.
38
53 -* jk/doc-submodule-markup-fix (2017-02-13) 1 commit
54 - (merged to 'next' on 2017-02-14 at b2f807f7d8)
55 - + docs/git-submodule: fix unbalanced quote
39 + Will cook in 'next'.
40
57 - Doc markup fix.
41
42 +* ah/doc-ls-files-quotepath (2017-02-20) 1 commit
43 + - Documentation: link git-ls-files to core.quotePath variable
44
60 -* jk/reset-to-break-a-commit-doc (2017-02-16) 1 commit
61 - (merged to 'next' on 2017-02-16 at 3203e91525)
62 - + Revert "reset: add an example of how to split a commit into two"
63 - (this branch is used by jk/reset-to-break-a-commit-doc-updated.)
45 + Documentation for "git ls-files" did not refer to core.quotePath
46
65 - Doc update.
47 + Needs review.
48
49
68 -* jk/reset-to-break-a-commit-doc-updated (2017-02-16) 1 commit
69 - (merged to 'next' on 2017-02-16 at bf729e9e25)
70 - + reset: add an example of how to split a commit into two
71 - (this branch uses jk/reset-to-break-a-commit-doc.)
50 +* dr/doc-check-ref-format-normalize (2017-02-21) 1 commit
51 + (merged to 'next' on 2017-02-21 at 5e88b7a93d)
52 + + git-check-ref-format: clarify documentation for --normalize
53
54 Doc update.
55
56 + Will cook in 'next'.
57
76 -* jk/tempfile-ferror-fclose-confusion (2017-02-16) 1 commit
77 - (merged to 'next' on 2017-02-16 at 86cc4e77d7)
78 - + tempfile: avoid "ferror | fclose" trick
79 -
80 - Code clean-up.
81 -
82 -
83 -* js/mingw-isatty (2017-02-14) 1 commit
84 - (merged to 'next' on 2017-02-15 at f3d3ccc978)
85 - + mingw: make stderr unbuffered again
86 -
87 - A hotfix for a topic already in 'master'.
88 -
89 -
90 -* ls/p4-path-encoding (2017-02-10) 1 commit
91 - (merged to 'next' on 2017-02-15 at 73af90bf0f)
92 - + git-p4: fix git-p4.pathEncoding for removed files
58
94 - When "git p4" imports changelist that removes paths, it failed to
95 - convert pathnames when the p4 used encoding different from the one
96 - used on the Git side. This has been corrected.
59 +* gp/document-dotfiles-in-templates-are-not-copied (2017-02-17) 1 commit
60 + (merged to 'next' on 2017-02-21 at bbfa2bb7d4)
61 + + init: document dotfiles exclusion on template copy
62
63 + Doc update.
64
99 -* rs/cocci-check-free-only-null (2017-02-11) 1 commit
100 - (merged to 'next' on 2017-02-15 at a628ee7142)
101 - + cocci: detect useless free(3) calls
65 + Will cook in 'next'.
66
103 - A new coccinelle rule that catches a check of !pointer before the
104 - pointer is free(3)d, which most likely is a bug.
67
68 +* jc/config-case-cmdline (2017-02-21) 2 commits
69 + (merged to 'next' on 2017-02-21 at 354f023a3a)
70 + + config: reject invalid VAR in 'git -c VAR=VAL command'
71 + + config: preserve <subsection> case for one-shot config on the command line
72
107 -* rs/ls-files-partial-optim (2017-02-13) 2 commits
108 - (merged to 'next' on 2017-02-15 at 7a21b55424)
109 - + ls-files: move only kept cache entries in prune_cache()
110 - + ls-files: pass prefix length explicitly to prune_cache()
73 + The code to parse "git -c VAR=VAL cmd" and set configuration
74 + variable for the duration of cmd had two small bugs, which have
75 + been fixed.
76
112 - "ls-files" run with pathspec has been micro-optimized to avoid
113 - having to memmove(3) unnecessary bytes.
77 + Will cook in 'next'.
78
79
116 -* rs/strbuf-cleanup-in-rmdir-recursively (2017-02-13) 1 commit
117 - (merged to 'next' on 2017-02-15 at 920f58b3b1)
118 - + rm: reuse strbuf for all remove_dir_recursively() calls, again
80 +* jh/memihash-opt (2017-02-17) 5 commits
81 + - name-hash: remember previous dir_entry during lazy_init_name_hash
82 + - name-hash: specify initial size for istate.dir_hash table
83 + - name-hash: precompute hash values during preload-index
84 + - hashmap: allow memihash computation to be continued
85 + - name-hash: eliminate duplicate memihash call
86
120 - Code clean-up.
87 + Expecting an update for perf?
88
89
123 -* rs/swap (2017-01-30) 5 commits
124 - (merged to 'next' on 2017-02-10 at 5253797d0a)
125 - + graph: use SWAP macro
126 - + diff: use SWAP macro
127 - + use SWAP macro
128 - + apply: use SWAP macro
129 - + add SWAP macro
90 +* km/delete-ref-reflog-message (2017-02-20) 4 commits
91 + (merged to 'next' on 2017-02-21 at 4ee4ce3f64)
92 + + branch: record creation of renamed branch in HEAD's log
93 + + rename_ref: replace empty message in HEAD's log
94 + + update-ref: pass reflog message to delete_ref()
95 + + delete_ref: accept a reflog message argument
96
131 - Code clean-up.
97 + "git update-ref -d" and other operations to delete references did
98 + not leave any entry in HEAD's reflog when the reference being
99 + deleted was the current branch. This is not a problem in practice
100 + because you do not want to delete the branch you are currently on,
101 + but caused renaming of the current branch to something else not to
102 + be logged in a useful way.
103
104 + Will cook in 'next'.
105
134 -* sb/doc-unify-bottom (2017-02-09) 1 commit
135 - (merged to 'next' on 2017-02-10 at 7229c4c1f7)
136 - + Documentation: unify bottom "part of git suite" lines
106
138 - Doc clean-up.
107 +* nd/prune-in-worktree (2017-02-19) 15 commits
108 + - rev-list: expose and document --single-worktree
109 + - revision.c: --reflog add HEAD reflog from all worktrees
110 + - files-backend: make reflog iterator go through per-worktree reflog
111 + - refs: add refs_for_each_reflog[_ent]()
112 + - revision.c: --all adds HEAD from all worktrees
113 + - refs: remove dead for_each_*_submodule()
114 + - revision.c: use refs_for_each*() instead of for_each_*_submodule()
115 + - refs: add a refs_for_each_in() and friends
116 + - refs: add refs_for_each_ref()
117 + - refs: add refs_head_ref()
118 + - refs: add refs_read_ref[_full]()
119 + - refs: move submodule slash stripping code to get_submodule_ref_store
120 + - revision.c: --indexed-objects add objects from all worktrees
121 + - revision.c: refactor add_index_objects_to_pending()
122 + - revision.h: new flag in struct rev_info wrt. worktree-related refs
123 + (this branch uses mh/ref-remove-empty-directory, mh/submodule-hash, nd/files-backend-git-dir and nd/worktree-kill-parse-ref.)
124
125 + "git gc" and friends when multiple worktrees are used off of a
126 + single repository did not consider the index and per-worktree refs
127 + of other worktrees as the root for reachability traversal, making
128 + objects that are in use only in other worktrees to be subject to
129 + garbage collection.
130
141 -* sb/push-options-via-transport (2017-02-08) 1 commit
142 - (merged to 'next' on 2017-02-10 at 3e2d08e1fa)
143 - + push options: pass push options to the transport helper
131
145 - The push-options given via the "--push-options" option were not
146 - passed through to external remote helpers such as "smart HTTP" that
147 - are invoked via the transport helper.
132 +* mm/fetch-show-error-message-on-unadvertised-object (2017-02-21) 1 commit
133 + - fetch: print an error when declining to request an unadvertised object
134
135 + "git fetch" that requests a commit by object name, when the other
136 + side does not allow such an request, failed without much
137 + explanation.
138
150 -* sb/submodule-doc (2017-01-12) 2 commits
151 - (merged to 'next' on 2017-02-10 at 5bfad5f30e)
152 - + submodule update documentation: don't repeat ourselves
153 - + submodule documentation: add options to the subcommand
139 + Expecting a split series?
140
155 - Doc updates.
141
142 +* rl/remote-allow-missing-branch-name-merge (2017-02-21) 1 commit
143 + - remote: ignore failure to remove missing branch.<name>.merge
144
158 -* tg/stash-doc-cleanup (2017-02-13) 1 commit
159 - (merged to 'next' on 2017-02-14 at 5b9ffbc741)
160 - + Documentation/stash: remove mention of git reset --hard
161 - (this branch is used by tg/stash-push.)
145 + "git remote rm X", when a branch has remote X configured as the
146 + value of its branch.*.remote, tried to remove branch.*.remote and
147 + branch.*.merge and failed if either is unset.
148
163 - The documentation explained what "git stash" does to the working
164 - tree (after stashing away the local changes) in terms of "reset
165 - --hard", which was exposing an unnecessary implementation detail.
149 + Will merge to and then cook in 'next'.
150
151 --------------------------------------------------
168 -[New Topics]
169 -
170 -* ls/submodule-config-ucase (2017-02-15) 2 commits
171 - - submodule config does not apply to upper case submodules?
172 - - t7400: cleanup "submodule add clone shallow submodule" test
173 -
174 - Demonstrate a breakage in handling submodule.UPPERCASENAME.update
175 - configuration variables.
176 -
177 - cf. <f238248f-0df2-19a5-581d-95c8a61b4632@google.com>
178 - Jonathan Tan already found the root cause of this, which is not
179 - limited to submodules.
180 -
181 -
182 -* nd/clean-preserve-errno-in-warning (2017-02-16) 1 commit
183 - (merged to 'next' on 2017-02-16 at c0802f7627)
184 - + clean: use warning_errno() when appropriate
185 -
186 - Some warning() messages from "git clean" were updated to show the
187 - errno from failed system calls.
188 -
189 - Will cook in 'next'.
190 -
191 -
192 -* mm/two-more-xstrfmt (2017-02-16) 2 commits
193 - - bisect_next_all: convert xsnprintf to xstrfmt
194 - - stop_progress_msg: convert xsnprintf to xstrfmt
195 -
196 - Code clean-up and a string truncation fix.
197 -
198 - Will merge to 'next' and then to 'master'.
152 +[Stalled]
153
154 +* nd/worktree-move (2017-01-27) 7 commits
155 + . fixup! worktree move: new command
156 + . worktree remove: new command
157 + . worktree move: refuse to move worktrees with submodules
158 + . worktree move: accept destination as directory
159 + . worktree move: new command
160 + . worktree.c: add update_worktree_location()
161 + . worktree.c: add validate_worktree()
162
201 -* sb/checkout-recurse-submodules (2017-02-16) 15 commits
202 - - builtin/checkout: add --recurse-submodules switch
203 - - entry.c: update submodules when interesting
204 - - read-cache: remove_marked_cache_entries to wipe selected submodules.
205 - - unpack-trees: check if we can perform the operation for submodules
206 - - unpack-trees: pass old oid to verify_clean_submodule
207 - - update submodules: add submodule_go_from_to
208 - - update submodules: move up prepare_submodule_repo_env
209 - - submodules: introduce check to see whether to touch a submodule
210 - - update submodules: add a config option to determine if submodules are updated
211 - - update submodules: add submodule config parsing
212 - - connect_work_tree_and_git_dir: safely create leading directories
213 - - make is_submodule_populated gently
214 - - lib-submodule-update.sh: define tests for recursing into submodules
215 - - lib-submodule-update.sh: do not use ./. as submodule remote
216 - - lib-submodule-update.sh: reorder create_lib_submodule_repo
163 + "git worktree" learned move and remove subcommands.
164
218 - "git checkout" is taught --recurse-submodules option.
165 + Tentatively ejected as it seems to break 'pu' when merged.
166
220 ---------------------------------------------------
221 -[Stalled]
167
223 -* vn/xdiff-func-context (2017-01-15) 1 commit
224 - - xdiff -W: relax end-of-file function detection
168 +* cc/split-index-config (2016-12-26) 21 commits
169 + - Documentation/git-update-index: explain splitIndex.*
170 + - Documentation/config: add splitIndex.sharedIndexExpire
171 + - read-cache: use freshen_shared_index() in read_index_from()
172 + - read-cache: refactor read_index_from()
173 + - t1700: test shared index file expiration
174 + - read-cache: unlink old sharedindex files
175 + - config: add git_config_get_expiry() from gc.c
176 + - read-cache: touch shared index files when used
177 + - sha1_file: make check_and_freshen_file() non static
178 + - Documentation/config: add splitIndex.maxPercentChange
179 + - t1700: add tests for splitIndex.maxPercentChange
180 + - read-cache: regenerate shared index if necessary
181 + - config: add git_config_get_max_percent_split_change()
182 + - Documentation/git-update-index: talk about core.splitIndex config var
183 + - Documentation/config: add information for core.splitIndex
184 + - t1700: add tests for core.splitIndex
185 + - update-index: warn in case of split-index incoherency
186 + - read-cache: add and then use tweak_split_index()
187 + - split-index: add {add,remove}_split_index() functions
188 + - config: add git_config_get_split_index()
189 + - config: mark an error message up for translation
190
226 - "git diff -W" has been taught to handle the case where a new
227 - function is added at the end of the file better.
191 + The experimental "split index" feature has gained a few
192 + configuration variables to make it easier to use.
193
229 - Will hold.
230 - Discussion on an follow-up change to go back from the line that
231 - matches the funcline to show comments before the function
232 - definition has not resulted in an actionable conclusion.
194 + Expecting a reroll.
195 + cf. <20161226102222.17150-1-chriscool@tuxfamily.org>
196 + cf. <a1a44640-ff6c-2294-72ac-46322eff8505@ramsayjones.plus.com>
197 + cf. <CAP8UFD3_1EN=0EsD12Cew1MuW8yhtPAZw0M_g3wmvKFk-uGXxw@mail.gmail.com>
198 + cf. <CAP8UFD1wmbR_rHyqn0q=0hw6-hHYFTzr=3yxS2XS9qTdY1kWFA@mail.gmail.com>
199 + cf. <xmqqbmunq6mg.fsf@gitster.mtv.corp.google.com>
200 + cf. <CAP8UFD0bgxVrc=RGHs1GrZ_5PF4cdfhqXLMiCSJTNw9axrr=_w@mail.gmail.com>
201
202
235 -* pb/bisect (2016-10-18) 27 commits
203 +* pb/bisect (2017-02-18) 28 commits
204 + - fixup! bisect--helper: `bisect_next_check` & bisect_voc shell function in C
205 - bisect--helper: remove the dequote in bisect_start()
206 - bisect--helper: retire `--bisect-auto-next` subcommand
207 - bisect--helper: retire `--bisect-autostart` subcommand
@@ -292,7 +261,7 @@ of the repositories listed at
261 latter case) to produce "<commit>:<path>" and
262 "<commit>:<dir>/<path>" that can be used as the name of a blob.
263
295 - Waiting for the review discussion to settle, followed by a reroll.
264 + Expecting a reroll? Is this good enough with known limitations?
265
266
267 * jc/diff-b-m (2015-02-23) 5 commits
@@ -314,6 +283,100 @@ of the repositories listed at
283 --------------------------------------------------
284 [Cooking]
285
286 +* vn/xdiff-func-context (2017-01-15) 1 commit
287 + (merged to 'next' on 2017-02-21 at 838eab8d93)
288 + + xdiff -W: relax end-of-file function detection
289 +
290 + "git diff -W" has been taught to handle the case where a new
291 + function is added at the end of the file better.
292 +
293 + Will cook in 'next'.
294 +
295 +
296 +* nd/worktree-kill-parse-ref (2017-02-19) 5 commits
297 + - refs: kill set_worktree_head_symref()
298 + - refs: add refs_create_symref()
299 + - worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
300 + - refs.c: add refs_resolve_ref_unsafe()
301 + - refs: introduce get_worktree_ref_store()
302 + (this branch is used by nd/prune-in-worktree; uses mh/ref-remove-empty-directory, mh/submodule-hash and nd/files-backend-git-dir.)
303 +
304 + (hopefully) a beginning of safer "git worktree" that is resistant
305 + to "gc".
306 +
307 + Needs review.
308 +
309 +
310 +* nd/files-backend-git-dir (2017-02-19) 17 commits
311 + - refs: rename get_ref_store() to get_submodule_ref_store() and make it public
312 + - files-backend: remove submodule_allowed from files_downcast()
313 + - refs: move submodule code out of files-backend.c
314 + - path.c: move some code out of strbuf_git_path_submodule()
315 + - refs.c: make get_main_ref_store() public and use it
316 + - refs.c: kill register_ref_store(), add register_submodule_ref_store()
317 + - refs.c: flatten get_ref_store() a bit
318 + - refs: rename lookup_ref_store() to lookup_submodule_ref_store()
319 + - refs.c: introduce get_main_ref_store()
320 + - files-backend: remove the use of git_path()
321 + - refs.c: share is_per_worktree_ref() to files-backend.c
322 + - files-backend: replace *git_path*() with files_path()
323 + - files-backend: add files_path()
324 + - files-backend: convert git_path() to strbuf_git_path()
325 + - refs-internal.c: make files_log_ref_write() static
326 + - Merge branch 'mh/ref-remove-empty-directory' into nd/files-backend-git-dir
327 + - Merge branch 'mh/submodule-hash' into nd/files-backend-git-dir
328 + (this branch is used by nd/prune-in-worktree and nd/worktree-kill-parse-ref; uses mh/ref-remove-empty-directory and mh/submodule-hash.)
329 +
330 + The "submodule" specific field in the ref_store structure is
331 + replaced with a more generic "gitdir" that can later be used also
332 + when dealing with ref_store that represents the set of refs visible
333 + from the other worktrees.
334 +
335 + Needs review.
336 +
337 +
338 +* nd/clean-preserve-errno-in-warning (2017-02-16) 1 commit
339 + (merged to 'next' on 2017-02-16 at c0802f7627)
340 + + clean: use warning_errno() when appropriate
341 +
342 + Some warning() messages from "git clean" were updated to show the
343 + errno from failed system calls.
344 +
345 + Will cook in 'next'.
346 +
347 +
348 +* mm/two-more-xstrfmt (2017-02-16) 2 commits
349 + (merged to 'next' on 2017-02-17 at 2454ee9847)
350 + + bisect_next_all: convert xsnprintf to xstrfmt
351 + + stop_progress_msg: convert xsnprintf to xstrfmt
352 +
353 + Code clean-up and a string truncation fix.
354 +
355 + Will cook in 'next'.
356 +
357 +
358 +* sb/checkout-recurse-submodules (2017-02-16) 15 commits
359 + - builtin/checkout: add --recurse-submodules switch
360 + - entry.c: update submodules when interesting
361 + - read-cache: remove_marked_cache_entries to wipe selected submodules.
362 + - unpack-trees: check if we can perform the operation for submodules
363 + - unpack-trees: pass old oid to verify_clean_submodule
364 + - update submodules: add submodule_go_from_to
365 + - update submodules: move up prepare_submodule_repo_env
366 + - submodules: introduce check to see whether to touch a submodule
367 + - update submodules: add a config option to determine if submodules are updated
368 + - update submodules: add submodule config parsing
369 + - connect_work_tree_and_git_dir: safely create leading directories
370 + - make is_submodule_populated gently
371 + - lib-submodule-update.sh: define tests for recursing into submodules
372 + - lib-submodule-update.sh: do not use ./. as submodule remote
373 + - lib-submodule-update.sh: reorder create_lib_submodule_repo
374 +
375 + "git checkout" is taught --recurse-submodules option.
376 +
377 + Needs review.
378 +
379 +
380 * jh/preload-index-skip-skip (2017-02-10) 1 commit
381 (merged to 'next' on 2017-02-16 at 39077062f9)
382 + preload-index: avoid lstat for skip-worktree items
@@ -324,32 +387,31 @@ of the repositories listed at
387 Will cook in 'next'.
388
389
327 -* tg/stash-push (2017-02-13) 6 commits
390 +* tg/stash-push (2017-02-19) 6 commits
391 - stash: allow pathspecs in the no verb form
392 - stash: use stash_push for no verb form
330 - - stash: teach 'push' (and 'create') to honor pathspec
331 - - stash: introduce new format create
393 + - stash: teach 'push' (and 'create_stash') to honor pathspec
394 + - stash: refactor stash_create
395 - stash: add test for the create command line arguments
396 - stash: introduce push verb
397
398 Allow "git stash" to take pathspec so that the local changes can be
399 stashed away only partially.
400
338 - Waiting for the review discussion to settle, followed by a reroll.
339 - cf. <20170212215420.16701-1-t.gummerer@gmail.com>
401 + Needs review.
402 + cf. <xmqqmvdfh4az.fsf@gitster.mtv.corp.google.com>
403
404
342 -* bc/object-id (2017-02-14) 19 commits
405 +* bc/object-id (2017-02-20) 19 commits
406 - wt-status: convert to struct object_id
407 - builtin/merge-base: convert to struct object_id
345 - - object_id: use struct object_id in object iteration callbacks
408 + - Convert object iteration callbacks to struct object_id
409 - sha1_file: introduce an nth_packed_object_oid function
410 - refs: simplify parsing of reflog entries
348 - - hex: introduce parse_oid_hex
411 - refs: convert each_reflog_ent_fn to struct object_id
412 - reflog-walk: convert struct reflog_info to struct object_id
413 - builtin/replace: convert to struct object_id
352 - - object_id: convert remaining callers of resolve_refdup()
414 + - Convert remaining callers of resolve_refdup to object_id
415 - builtin/merge: convert to struct object_id
416 - builtin/clone: convert to struct object_id
417 - builtin/branch: convert to struct object_id
@@ -359,9 +421,13 @@ of the repositories listed at
421 - builtin/describe: convert to struct object_id
422 - builtin/diff-tree: convert to struct object_id
423 - builtin/commit: convert to struct object_id
424 + - hex: introduce parse_oid_hex
425
426 "uchar [40]" to "struct object_id" conversion continues.
427
428 + Expecting a reroll.
429 + cf. <20170221011058.cpx7uio6ibkvrtbv@genre.crustytoothpaste.net>
430 +
431
432 * jk/grep-no-index-fix (2017-02-14) 7 commits
433 (merged to 'next' on 2017-02-16 at c84c927fa8)
@@ -393,7 +459,9 @@ of the repositories listed at
459 Will cook in 'next'.
460
461
396 -* lt/oneline-decoration-at-end (2017-02-14) 1 commit
462 +* lt/oneline-decoration-at-end (2017-02-21) 2 commits
463 + (merged to 'next' on 2017-02-21 at 35c7731ee3)
464 + + log: fix regression to "--source" when "--decorate" was updated
465 (merged to 'next' on 2017-02-16 at 5854e58811)
466 + show decorations at the end of the line
467
@@ -402,6 +470,8 @@ of the repositories listed at
470 front.
471
472 Will cook in 'next'.
473 + Perhaps this is not such a cool idea?
474 + cf. <CA+55aFwT2HUBzZO8Gpt9tHoJtdRxv9oe3TDoSH5jcEOixRNBXg@mail.gmail.com>
475
476
477 * jn/remote-helpers-with-git-dir (2017-02-14) 2 commits
@@ -451,19 +521,6 @@ of the repositories listed at
521 Will cook in 'next'.
522
523
454 -* nd/worktree-gc-protection (2017-02-08) 2 commits
455 - - worktree.c: use submodule interface to access refs from another worktree
456 - - refs.c: add resolve_ref_submodule()
457 -
458 - (hopefully) a beginning of safer "git worktree" that is resistant
459 - to "gc".
460 -
461 - Michael had a suggestion for a (hopefully) better alternative way
462 - to do this. Expecting a reroll (either a tenative but quicker way,
463 - or a better but slower way).
464 - cf. <CACsJy8Diy92CNbJ1OBn893VFFrSsxBFWSyQHjt_Dzq9x7jfibQ@mail.gmail.com>
465 -
466 -
524 * js/rebase-helper (2017-02-09) 2 commits
525 (merged to 'next' on 2017-02-14 at ae2474048e)
526 + rebase -i: use the rebase--helper builtin
@@ -487,6 +544,7 @@ of the repositories listed at
544 + refs: remove some unnecessary handling of submodule == ""
545 + refs: make some ref_store lookup functions private
546 + refs: reorder some function definitions
547 + (this branch is used by nd/files-backend-git-dir, nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
548
549 Code and design clean-up for the refs API.
550
@@ -518,17 +576,17 @@ of the repositories listed at
576 This is v6 posted on Feb 10th.
577
578
521 -* js/git-path-in-subdir (2017-02-10) 2 commits
522 - - rev-parse: fix several options when running in a subdirectory
523 - - rev-parse tests: add tests executed from a subdirectory
579 +* js/git-path-in-subdir (2017-02-17) 2 commits
580 + (merged to 'next' on 2017-02-17 at b3c3b2dce6)
581 + + rev-parse: fix several options when running in a subdirectory
582 + + rev-parse tests: add tests executed from a subdirectory
583
584 The "--git-path", "--git-common-dir", and "--shared-index-path"
585 options of "git rev-parse" did not produce usable output. They are
586 now updated to show the path to the correct file, relative to where
587 the caller is.
588
530 - Review comments sent; expecting an update.
531 - cf. <cover.1486740772.git.johannes.schindelin@gmx.de>
589 + Will cook in 'next'.
590
591
592 * mh/ref-remove-empty-directory (2017-01-07) 23 commits
@@ -556,6 +614,7 @@ of the repositories listed at
614 + t5505: use "for-each-ref" to test for the non-existence of references
615 + refname_is_safe(): correct docstring
616 + files_rename_ref(): tidy up whitespace
617 + (this branch is used by nd/files-backend-git-dir, nd/prune-in-worktree and nd/worktree-kill-parse-ref.)
618
619 Deletion of a branch "foo/bar" could remove .git/refs/heads/foo
620 once there no longer is any other branch whose name begins with
@@ -630,14 +689,16 @@ of the repositories listed at
689 Will hold.
690
691
633 -* sk/parse-remote-cleanup (2017-02-06) 1 commit
692 +* sk/parse-remote-cleanup (2017-02-21) 2 commits
693 + (merged to 'next' on 2017-02-21 at 302250072e)
694 + + Revert "parse-remote: remove reference to unused op_prep"
695 (merged to 'next' on 2017-02-06 at 6ec89f72d5)
696 + parse-remote: remove reference to unused op_prep
697
698 Code clean-up.
699
639 - Undecided. There may be third-party scripts that are dot-sourcing
640 - this one.
700 + Will discard.
701 + There may be third-party scripts that are dot-sourcing this one.
702
703
704 * jk/delta-chain-limit (2017-01-27) 2 commits
@@ -752,51 +813,6 @@ of the repositories listed at
813 Will cook in 'next'.
814
815
755 -* nd/worktree-move (2017-01-27) 7 commits
756 - . fixup! worktree move: new command
757 - . worktree remove: new command
758 - . worktree move: refuse to move worktrees with submodules
759 - . worktree move: accept destination as directory
760 - . worktree move: new command
761 - . worktree.c: add update_worktree_location()
762 - . worktree.c: add validate_worktree()
763 -
764 - "git worktree" learned move and remove subcommands.
765 -
766 - Tentatively ejected as it seems to break 'pu' when merged.
767 -
768 -
769 -* cc/split-index-config (2016-12-26) 21 commits
770 - - Documentation/git-update-index: explain splitIndex.*
771 - - Documentation/config: add splitIndex.sharedIndexExpire
772 - - read-cache: use freshen_shared_index() in read_index_from()
773 - - read-cache: refactor read_index_from()
774 - - t1700: test shared index file expiration
775 - - read-cache: unlink old sharedindex files
776 - - config: add git_config_get_expiry() from gc.c
777 - - read-cache: touch shared index files when used
778 - - sha1_file: make check_and_freshen_file() non static
779 - - Documentation/config: add splitIndex.maxPercentChange
780 - - t1700: add tests for splitIndex.maxPercentChange
781 - - read-cache: regenerate shared index if necessary
782 - - config: add git_config_get_max_percent_split_change()
783 - - Documentation/git-update-index: talk about core.splitIndex config var
784 - - Documentation/config: add information for core.splitIndex
785 - - t1700: add tests for core.splitIndex
786 - - update-index: warn in case of split-index incoherency
787 - - read-cache: add and then use tweak_split_index()
788 - - split-index: add {add,remove}_split_index() functions
789 - - config: add git_config_get_split_index()
790 - - config: mark an error message up for translation
791 -
792 - The experimental "split index" feature has gained a few
793 - configuration variables to make it easier to use.
794 -
795 - Waiting for review comments to be addressed.
796 - cf. <20161226102222.17150-1-chriscool@tuxfamily.org>
797 - cf. <a1a44640-ff6c-2294-72ac-46322eff8505@ramsayjones.plus.com>
798 -
799 -
816 * kn/ref-filter-branch-list (2017-02-07) 21 commits
817 (merged to 'next' on 2017-02-10 at 794bb8284d)
818 + ref-filter: resurrect "strip" as a synonym to "lstrip"
@@ -870,23 +886,6 @@ of the repositories listed at
886 --------------------------------------------------
887 [Discarded]
888
873 -* jk/nofollow-attr-ignore (2016-11-02) 5 commits
874 - . exclude: do not respect symlinks for in-tree .gitignore
875 - . attr: do not respect symlinks for in-tree .gitattributes
876 - . exclude: convert "check_index" into a flags field
877 - . attr: convert "macro_ok" into a flags field
878 - . add open_nofollow() helper
879 -
880 - As we do not follow symbolic links when reading control files like
881 - .gitignore and .gitattributes from the index, match the behaviour
882 - and not follow symbolic links when reading them from the working
883 - tree. This also tightens security a bit by not leaking contents of
884 - an unrelated file in the error messages when it is pointed at by
885 - one of these files that is a symbolic link.
886 -
887 - Perhaps we want to cover .gitmodules too with the same mechanism?
888 -
889 -
889 * sb/push-make-submodule-check-the-default (2017-01-26) 2 commits
890 (merged to 'next' on 2017-01-26 at 5f4715cea6)
891 + Revert "push: change submodule default to check when submodules exist"
@@ -897,3 +896,13 @@ of the repositories listed at
896 submodules seem to be in use.
897
898 Retracted.
899 +
900 +
901 +* ls/submodule-config-ucase (2017-02-15) 2 commits
902 + . submodule config does not apply to upper case submodules?
903 + . t7400: cleanup "submodule add clone shallow submodule" test
904 +
905 + Demonstrate a breakage in handling submodule.UPPERCASENAME.update
906 + configuration variables.
907 +
908 + Superseded by jc/config-case-cmdline.