What's cooking (2017/07 #01)

Junio C Hamano committed Jul 5, 2017 at 15:32 UTC 15fcd02c5c6dcc9eb8c62a7dc887e57e7e88c0b1
1 file changed +253 -223
whats-cooking.txt
+253 -223
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2017, #09; Fri, 30)
4 -X-master-at: 5116f791c12dda6b6c22fa85b600a8e30dfa168a
5 -X-next-at: 7f5404b183d51b3e3066c995608b78ea314ee660
3 +Subject: What's cooking in git.git (Jul 2017, #01; Wed, 5)
4 +X-master-at: 50ff9ea4a0770c8b1bfe3f98f09728427c0c6cc7
5 +X-next-at: b4debfe1a1bbbf047b7c2b69802448ce45df5f2f
6
7 -What's cooking in git.git (Jun 2017, #09; Fri, 30)
7 +What's cooking in git.git (Jul 2017, #01; Wed, 5)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -20,122 +20,181 @@ of the repositories listed at
20 --------------------------------------------------
21 [Graduated to "master"]
22
23 -* ab/die-errors-in-threaded (2017-06-21) 1 commit
24 - (merged to 'next' on 2017-06-24 at 135fc4b963)
25 - + die(): stop hiding errors due to overzealous recursion guard
23 +* bw/repo-object (2017-06-23) 21 commits
24 + (merged to 'next' on 2017-06-26 at ed9c0b77c3)
25 + + ls-files: use repository object
26 + + repository: enable initialization of submodules
27 + + submodule: convert is_submodule_initialized to work on a repository
28 + + submodule: add repo_read_gitmodules
29 + + submodule-config: store the_submodule_cache in the_repository
30 + + repository: add index_state to struct repo
31 + + config: read config from a repository object
32 + + path: add repo_worktree_path and strbuf_repo_worktree_path
33 + + path: add repo_git_path and strbuf_repo_git_path
34 + + path: worktree_git_path() should not use file relocation
35 + + path: convert do_git_path to take a 'struct repository'
36 + + path: convert strbuf_git_common_path to take a 'struct repository'
37 + + path: always pass in commondir to update_common_dir
38 + + path: create path.h
39 + + environment: store worktree in the_repository
40 + + environment: place key repository state in the_repository
41 + + repository: introduce the repository object
42 + + environment: remove namespace_len variable
43 + + setup: add comment indicating a hack
44 + + setup: don't perform lazy initialization of repository state
45 + + Merge branches 'bw/ls-files-sans-the-index' and 'bw/config-h' into bw/repo-object
46
27 - Traditionally, the default die() routine had a code to prevent it
28 - from getting called multiple times, which interacted badly when a
29 - threaded program used it (one downside is that the real error may
30 - be hidden and instead the only error message given to the user may
31 - end up being "die recursion detected", which is not very useful).
47 + Introduce a "repository" object to eventually make it easier to
48 + work in multiple repositories (the primary focus is to work with
49 + the superproject and its submodules) in a single process.
50
51
34 -* ah/doc-pretty-color-auto-prefix (2017-06-24) 1 commit
35 - (merged to 'next' on 2017-06-26 at d7489fc831)
36 - + doc: clarify syntax for %C(auto,...) in pretty formats
52 +* cc/shared-index-permfix (2017-06-25) 3 commits
53 + (merged to 'next' on 2017-06-26 at bb41584bf0)
54 + + t1700: make sure split-index respects core.sharedrepository
55 + + t1301: move modebits() to test-lib-functions.sh
56 + + read-cache: use shared perms when writing shared index
57
38 - Doc update.
58 + The split index code did not honor core.sharedrepository setting
59 + correctly.
60
61
41 -* jc/pack-bitmap-unaligned (2017-06-26) 1 commit
42 - (merged to 'next' on 2017-06-28 at ad026b12a3)
43 - + pack-bitmap: don't perform unaligned memory access
62 +* jt/unify-object-info (2017-06-26) 8 commits
63 + (merged to 'next' on 2017-06-26 at 540ea81983)
64 + + sha1_file: refactor has_sha1_file_with_flags
65 + + sha1_file: do not access pack if unneeded
66 + + sha1_file: teach sha1_object_info_extended more flags
67 + + sha1_file: refactor read_object
68 + + sha1_file: move delta base cache code up
69 + + sha1_file: rename LOOKUP_REPLACE_OBJECT
70 + + sha1_file: rename LOOKUP_UNKNOWN_OBJECT
71 + + sha1_file: teach packed_object_info about typename
72
45 - An unaligned 32-bit access in pack-bitmap code ahs been corrected.
73 + Code clean-ups.
74
75
48 -* ks/status-initial-commit (2017-06-21) 1 commit
49 - (merged to 'next' on 2017-06-24 at 940ffd5816)
50 - + status: contextually notify user about an initial commit
76 +* rs/sha1-name-readdir-optim (2017-06-24) 4 commits
77 + (merged to 'next' on 2017-06-26 at a70587f2b9)
78 + + sha1_file: guard against invalid loose subdirectory numbers
79 + + sha1_file: let for_each_file_in_obj_subdir() handle subdir names
80 + + p4205: add perf test script for pretty log formats
81 + + sha1_name: cache readdir(3) results in find_short_object_filename()
82
52 - "git status" has long shown essentially the same message as "git
53 - commit"; the message it gives while preparing for the root commit,
54 - i.e. "Initial commit", was hard to understand for some new users.
55 - Now it says "No commits yet" to stress more on the current status
56 - (rather than the commit the user is preparing for, which is more in
57 - line with the focus of "git commit").
83 + Optimize "what are the object names already taken in an alternate
84 + object database?" query that is used to derive the length of prefix
85 + an object name is uniquely abbreviated to.
86
87 +--------------------------------------------------
88 +[New Topics]
89
60 -* ks/submodule-add-doc (2017-06-22) 1 commit
61 - (merged to 'next' on 2017-06-24 at 26309b38f2)
62 - + Documentation/git-submodule: cleanup "add" section
90 +* bc/object-id (2017-07-04) 12 commits
91 + - sha1_name: convert GET_SHA1* flags to GET_OID*
92 + - sha1_name: convert get_sha1* to get_oid*
93 + - Convert remaining callers of get_sha1 to get_oid.
94 + - builtin/verify-tag: convert to struct object_id
95 + - builtin/unpack-file: convert to struct object_id
96 + - bisect: convert bisect_checkout to struct object_id
97 + - builtin/update_ref: convert to struct object_id
98 + - sequencer: convert to struct object_id
99 + - remote: convert struct push_cas to struct object_id
100 + - submodule: convert submodule config lookup to use object_id
101 + - builtin/merge-tree: convert remaining caller of get_sha1 to object_id
102 + - builtin/fsck: convert remaining caller of get_sha1 to object_id
103
64 - Doc update.
104 + Conversion from uchar[20] to struct object_id continues.
105
106
67 -* pw/rebase-i-regression-fix-tests (2017-06-23) 5 commits
68 - (merged to 'next' on 2017-06-23 at 835ae762f5)
69 - + t3420: fix under GETTEXT_POISON build
70 - (merged to 'next' on 2017-06-22 at d1dde1672a)
71 - + rebase: add more regression tests for console output
72 - + rebase: add regression tests for console output
73 - + rebase -i: add test for reflog message
74 - + sequencer: print autostash messages to stderr
107 +* jk/reflog-walk (2017-07-05) 7 commits
108 + - reflog-walk: stop using fake parents
109 + - rev-list: check reflog_info before showing usage
110 + - get_revision_1(): replace do-while with an early return
111 + - log: do not free parents when walking reflog
112 + - [SQUASH LOG MESSAGE ONLY] t1414: document some reflog-walk oddities
113 + - t1414: document some reflog-walk oddities
114 + - Merge branch 'jk/reflog-walk-maint' into jk/reflog-walk
115 + (this branch uses jk/reflog-walk-maint.)
116
76 - Fix a recent regression to "git rebase -i" and add tests that would
77 - have caught it and others.
117 + Numerous bugs in walking of reflogs via "log -g" and friends have
118 + been fixed.
119
120
80 -* rs/apply-validate-input (2017-06-27) 3 commits
81 - (merged to 'next' on 2017-06-28 at 81e006b50e)
82 - + apply: check git diffs for mutually exclusive header lines
83 - + apply: check git diffs for invalid file modes
84 - + apply: check git diffs for missing old filenames
121 +* jk/reflog-walk-maint (2017-07-05) 1 commit
122 + - reflog-walk: skip over double-null oid due to HEAD rename
123 + (this branch is used by jk/reflog-walk.)
124
86 - Tighten error checks for invalid "git apply" input.
125 + After "git branch --move" of the currently checked out branch, the
126 + code to walk the reflog of HEAD via "log -g" and friends
127 + incorrectly stopped at the reflog entry that records the renaming
128 + of the branch.
129
130
89 -* vs/typofixes (2017-06-27) 1 commit
90 - (merged to 'next' on 2017-06-28 at 3d11e0b3fa)
91 - + Spelling fixes
131 +* js/t5534-rev-parse-gives-multi-line-output-fix (2017-07-05) 1 commit
132 + (merged to 'next' on 2017-07-05 at 5f964c44ba)
133 + + t5534: fix misleading grep invocation
134
93 - Many typofixes.
135 + A few tests that tried to verify the contents of push certificates
136 + did not use 'git rev-parse' to formulate the line to look for in
137 + the certificate correctly.
138
95 ---------------------------------------------------
96 -[New Topics]
139 + Will merge to 'master'.
140
98 -* ab/grep-lose-opt-regflags (2017-06-30) 6 commits
99 - - grep: remove redundant REG_NEWLINE when compiling fixed regex
100 - - grep: remove regflags from the public grep_opt API
101 - - grep: remove redundant and verbose re-assignments to 0
102 - - grep: remove redundant "fixed" field re-assignment to 0
103 - - grep: adjust a redundant grep pattern type assignment
104 - - grep: remove redundant double assignment to 0
141
106 - Code cleanup.
142 +* rs/apply-avoid-over-reading (2017-07-01) 1 commit
143 + (merged to 'next' on 2017-07-05 at 35730f3a47)
144 + + apply: use starts_with() in gitdiff_verify_name()
145
108 - Will merge to 'next'.
146 + Code clean-up to fix possible buffer over-reading.
147
148 + Will merge to 'master'.
149
111 -* ks/commit-assuming-only-warning-removal (2017-06-30) 2 commits
112 - - commit-template: distinguish status information unconditionally
113 - - commit-template: remove outdated notice about explicit paths
150
115 - An old message shown in the commit log template was removed, as it
116 - has outlived its usefulness.
151 +* sb/hashmap-cleanup (2017-07-05) 10 commits
152 + - t/helper/test-hashmap: use custom data instead of duplicate cmp functions
153 + - name-hash.c: drop hashmap_cmp_fn cast
154 + - submodule-config.c: drop hashmap_cmp_fn cast
155 + - remote.c: drop hashmap_cmp_fn cast
156 + - patch-ids.c: drop hashmap_cmp_fn cast
157 + - convert/sub-process: drop cast to hashmap_cmp_fn
158 + - config.c: drop hashmap_cmp_fn cast
159 + - builtin/describe: drop hashmap_cmp_fn cast
160 + - builtin/difftool.c: drop hashmap_cmp_fn cast
161 + - attr.c: drop hashmap_cmp_fn cast
162 + (this branch uses sb/hashmap-customize-comparison; is tangled with sb/diff-color-move.)
163
118 - Will merge to 'next'.
164 + Many uses of comparision callback function the hashmap API uses
165 + cast the callback function type when registering it to
166 + hashmap_init(), which defeats the compile time type checking when
167 + the callback interface changes (e.g. gaining more parameters).
168 + The callback implementations have been updated to take "void *"
169 + pointers and cast them to the type they expect instead.
170
171 + Will wait for feedback, then merge to and cook in 'next'.
172
121 -* sb/hashmap-customize-comparison (2017-06-30) 3 commits
122 - - hashmap: migrate documentation from Documentation/technical into header
123 - - patch-ids.c: use hashmap correctly
124 - - hashmap.h: compare function has access to a data field
125 - (this branch is used by sb/diff-color-move.)
173
127 - Update the hashmap API so that data to customize the behaviour of
128 - the comparison function can be specified at the time a hashmap is
129 - initialized. This fixes a bug in patch-ids that may have caused
130 - segfault.
174 +* tb/push-to-cygwin-unc-path (2017-07-05) 1 commit
175 + - cygwin: allow pushing to UNC paths
176
177 + On Cygwin, similar to Windows, "git push //server/share/repository"
178 + ought to mean a repository on a network share that can be accessed
179 + locally, but this did not work correctly due to stripping the double
180 + slashes at the beginning.
181
133 -* sb/merge-recursive-code-cleanup (2017-06-30) 1 commit
134 - - merge-recursive: use DIFF_XDL_SET macro
182 + This may need to be heavily tested before it gets unleashed to the
183 + wild, as the change is at a fairly low-level code and would affect
184 + not just the code to decide if the push destination is local. There
185 + may be unexpected fallouts in the path normalization.
186
136 - Code clean-up.
187 + Will wait for feedback, then merge to and cook in 'next'.
188
138 - Will merge to 'next'.
189 +
190 +* ab/sha1dc-maint (2017-07-03) 1 commit
191 + (merged to 'next' on 2017-07-05 at ac69c90b7e)
192 + + sha1dc: update from upstream
193 + (this branch is used by ab/sha1dc.)
194 +
195 + Update the sha1dc again to fix portability glitches.
196 +
197 + Will merge to 'master'.
198
199 --------------------------------------------------
200 [Stalled]
@@ -166,20 +225,15 @@ of the repositories listed at
225 cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
226
227
169 -* xz/send-email-batch-size (2017-05-23) 1 commit
170 - - send-email: --batch-size to work around some SMTP server limit
228 +* xz/send-email-batch-size (2017-07-05) 1 commit
229 + (merged to 'next' on 2017-07-05 at 92f3c31fbd)
230 + + send-email: --batch-size to work around some SMTP server limit
231
232 "git send-email" learned to overcome some SMTP server limitation
233 that does not allow many pieces of e-mails to be sent over a single
234 session.
235
176 - Waiting for a response.
177 - cf. <CACBZZX5GYV50rjg9X602JHqFPaoofH9TwDf_-r_MDu8-rmNV6Q@mail.gmail.com>
178 - cf. <xmqqo9tfff2w.fsf@gitster.mtv.corp.google.com>
179 -
180 - """I thought your wish (which I found reasonable) was to record
181 - whatever information that would help us in the future in the log
182 - message? I was waiting for that to happen."""
236 + Will merge to 'master'.
237
238
239 * sg/clone-refspec-from-command-line-config (2017-06-16) 2 commits
@@ -219,19 +273,65 @@ of the repositories listed at
273 --------------------------------------------------
274 [Cooking]
275
222 -* ab/strbuf-addftime-tzname-boolify (2017-06-24) 3 commits
223 - - REWORD ONLY SQUASH
224 - - strbuf: change an always NULL/"" strbuf_addftime() param to bool
225 - - strbuf.h comment: discuss strbuf_addftime() arguments in order
276 +* ab/grep-lose-opt-regflags (2017-06-30) 6 commits
277 + (merged to 'next' on 2017-07-05 at 375c0b92ea)
278 + + grep: remove redundant REG_NEWLINE when compiling fixed regex
279 + + grep: remove regflags from the public grep_opt API
280 + + grep: remove redundant and verbose re-assignments to 0
281 + + grep: remove redundant "fixed" field re-assignment to 0
282 + + grep: adjust a redundant grep pattern type assignment
283 + + grep: remove redundant double assignment to 0
284 +
285 + Code cleanup.
286 +
287 + Will merge to 'master'.
288 +
289 +
290 +* ks/commit-assuming-only-warning-removal (2017-06-30) 2 commits
291 + (merged to 'next' on 2017-07-05 at 462a72df95)
292 + + commit-template: distinguish status information unconditionally
293 + + commit-template: remove outdated notice about explicit paths
294 +
295 + An old message shown in the commit log template was removed, as it
296 + has outlived its usefulness.
297 +
298 + Will merge to 'master'.
299 +
300 +
301 +* sb/hashmap-customize-comparison (2017-06-30) 3 commits
302 + - hashmap: migrate documentation from Documentation/technical into header
303 + - patch-ids.c: use hashmap correctly
304 + - hashmap.h: compare function has access to a data field
305 + (this branch is used by sb/diff-color-move and sb/hashmap-cleanup.)
306 +
307 + Update the hashmap API so that data to customize the behaviour of
308 + the comparison function can be specified at the time a hashmap is
309 + initialized.
310 +
311 + Will merge to 'next'.
312 +
313 +
314 +* sb/merge-recursive-code-cleanup (2017-06-30) 1 commit
315 + (merged to 'next' on 2017-07-05 at 4228240520)
316 + + merge-recursive: use DIFF_XDL_SET macro
317 +
318 + Code clean-up.
319 +
320 + Will merge to 'master'.
321 +
322 +
323 +* ab/strbuf-addftime-tzname-boolify (2017-07-01) 2 commits
324 + (merged to 'next' on 2017-07-05 at 81e6795eb3)
325 + + strbuf: change an always NULL/"" strbuf_addftime() param to bool
326 + + strbuf.h comment: discuss strbuf_addftime() arguments in order
327
328 strbuf_addftime() is further getting tweaked.
329
229 - Waiting for a response.
230 - cf. <xmqqk2419rhg.fsf@gitster.mtv.corp.google.com>
330 + Will merge to 'master'.
331
332
233 -* mt/p4-parse-G-output (2017-06-27) 1 commit
234 - . git-p4: parse marshal output "p4 -G" in p4 changes
333 +* mt/p4-parse-G-output (2017-07-05) 1 commit
334 + - git-p4: parse marshal output "p4 -G" in p4 changes
335
336 Use "p4 -G" to make "p4 changes" output more Python-friendly
337 to parse.
@@ -282,18 +382,6 @@ of the repositories listed at
382 precompiled.
383
384
285 -* cc/shared-index-permfix (2017-06-25) 3 commits
286 - (merged to 'next' on 2017-06-26 at bb41584bf0)
287 - + t1700: make sure split-index respects core.sharedrepository
288 - + t1301: move modebits() to test-lib-functions.sh
289 - + read-cache: use shared perms when writing shared index
290 -
291 - The split index code did not honor core.sharedrepository setting
292 - correctly.
293 -
294 - Will merge to 'master'.
295 -
296 -
385 * ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
386 (merged to 'next' on 2017-06-26 at d026281517)
387 + pathspec: die on empty strings as pathspec
@@ -320,112 +408,54 @@ of the repositories listed at
408 branch in the submodules to an updated base.
409
410
323 -* bw/repo-object (2017-06-23) 21 commits
324 - (merged to 'next' on 2017-06-26 at ed9c0b77c3)
325 - + ls-files: use repository object
326 - + repository: enable initialization of submodules
327 - + submodule: convert is_submodule_initialized to work on a repository
328 - + submodule: add repo_read_gitmodules
329 - + submodule-config: store the_submodule_cache in the_repository
330 - + repository: add index_state to struct repo
331 - + config: read config from a repository object
332 - + path: add repo_worktree_path and strbuf_repo_worktree_path
333 - + path: add repo_git_path and strbuf_repo_git_path
334 - + path: worktree_git_path() should not use file relocation
335 - + path: convert do_git_path to take a 'struct repository'
336 - + path: convert strbuf_git_common_path to take a 'struct repository'
337 - + path: always pass in commondir to update_common_dir
338 - + path: create path.h
339 - + environment: store worktree in the_repository
340 - + environment: place key repository state in the_repository
341 - + repository: introduce the repository object
342 - + environment: remove namespace_len variable
343 - + setup: add comment indicating a hack
344 - + setup: don't perform lazy initialization of repository state
345 - + Merge branches 'bw/ls-files-sans-the-index' and 'bw/config-h' into bw/repo-object
346 -
347 - Introduce a "repository" object to eventually make it easier to
348 - work in multiple repositories (the primary focus is to work with
349 - the superproject and its submodules) in a single process.
350 -
351 - Will merge to 'master'.
352 -
353 -
411 * pw/unquote-path-in-git-pm (2017-06-30) 4 commits
355 - - t9700: add tests for Git::unquote_path()
356 - - Git::unquote_path(): throw an exception on bad path
357 - - Git::unquote_path(): handle '\a'
358 - - add -i: move unquote_path() to Git.pm
412 + (merged to 'next' on 2017-07-05 at 538ab4d599)
413 + + t9700: add tests for Git::unquote_path()
414 + + Git::unquote_path(): throw an exception on bad path
415 + + Git::unquote_path(): handle '\a'
416 + + add -i: move unquote_path() to Git.pm
417
418 Code refactoring.
419
362 - Will merge to 'next'.
363 -
364 -
365 -* rs/sha1-name-readdir-optim (2017-06-24) 4 commits
366 - (merged to 'next' on 2017-06-26 at a70587f2b9)
367 - + sha1_file: guard against invalid loose subdirectory numbers
368 - + sha1_file: let for_each_file_in_obj_subdir() handle subdir names
369 - + p4205: add perf test script for pretty log formats
370 - + sha1_name: cache readdir(3) results in find_short_object_filename()
371 -
372 - Optimize "what are the object names already taken in an alternate
373 - object database?" query that is used to derive the length of prefix
374 - an object name is uniquely abbreviated to.
375 -
376 - Will merge to 'master'.
377 -
378 -
379 -* jt/unify-object-info (2017-06-26) 8 commits
380 - (merged to 'next' on 2017-06-26 at 540ea81983)
381 - + sha1_file: refactor has_sha1_file_with_flags
382 - + sha1_file: do not access pack if unneeded
383 - + sha1_file: teach sha1_object_info_extended more flags
384 - + sha1_file: refactor read_object
385 - + sha1_file: move delta base cache code up
386 - + sha1_file: rename LOOKUP_REPLACE_OBJECT
387 - + sha1_file: rename LOOKUP_UNKNOWN_OBJECT
388 - + sha1_file: teach packed_object_info about typename
389 -
390 - Code clean-ups.
391 -
420 Will merge to 'master'.
421
422
395 -* mh/packed-ref-store (2017-06-23) 29 commits
396 - - read_packed_refs(): die if `packed-refs` contains bogus data
397 - - repack_without_refs(): don't lock or unlock the packed refs
398 - - commit_packed_refs(): remove call to `packed_refs_unlock()`
399 - - clear_packed_ref_cache(): don't protest if the lock is held
400 - - packed_refs_unlock(), packed_refs_is_locked(): new functions
401 - - packed_refs_lock(): report errors via a `struct strbuf *err`
402 - - packed_refs_lock(): function renamed from lock_packed_refs()
403 - - commit_packed_refs(): use a staging file separate from the lockfile
404 - - commit_packed_refs(): report errors rather than dying
405 - - packed_ref_store: make class into a subclass of `ref_store`
406 - - packed-backend: new module for handling packed references
407 - - packed_read_raw_ref(): new function, replacing `resolve_packed_ref()`
408 - - packed_ref_store: support iteration
409 - - packed_peel_ref(): new function, extracted from `files_peel_ref()`
410 - - repack_without_refs(): take a `packed_ref_store *` parameter
411 - - get_packed_ref(): take a `packed_ref_store *` parameter
412 - - rollback_packed_refs(): take a `packed_ref_store *` parameter
413 - - commit_packed_refs(): take a `packed_ref_store *` parameter
414 - - lock_packed_refs(): take a `packed_ref_store *` parameter
415 - - add_packed_ref(): take a `packed_ref_store *` parameter
416 - - get_packed_refs(): take a `packed_ref_store *` parameter
417 - - get_packed_ref_cache(): take a `packed_ref_store *` parameter
418 - - validate_packed_ref_cache(): take a `packed_ref_store *` parameter
419 - - clear_packed_ref_cache(): take a `packed_ref_store *` parameter
420 - - packed_ref_store: move `packed_refs_lock` member here
421 - - packed_ref_store: move `packed_refs_path` here
422 - - packed_ref_store: new struct
423 - - add_packed_ref(): teach function to overwrite existing refs
424 - - t1408: add a test of stale packed refs covered by loose refs
423 +* mh/packed-ref-store (2017-07-03) 30 commits
424 + (merged to 'next' on 2017-07-05 at 6c68c603cc)
425 + + read_packed_refs(): die if `packed-refs` contains bogus data
426 + + t3210: add some tests of bogus packed-refs file contents
427 + + repack_without_refs(): don't lock or unlock the packed refs
428 + + commit_packed_refs(): remove call to `packed_refs_unlock()`
429 + + clear_packed_ref_cache(): don't protest if the lock is held
430 + + packed_refs_unlock(), packed_refs_is_locked(): new functions
431 + + packed_refs_lock(): report errors via a `struct strbuf *err`
432 + + packed_refs_lock(): function renamed from lock_packed_refs()
433 + + commit_packed_refs(): use a staging file separate from the lockfile
434 + + commit_packed_refs(): report errors rather than dying
435 + + packed_ref_store: make class into a subclass of `ref_store`
436 + + packed-backend: new module for handling packed references
437 + + packed_read_raw_ref(): new function, replacing `resolve_packed_ref()`
438 + + packed_ref_store: support iteration
439 + + packed_peel_ref(): new function, extracted from `files_peel_ref()`
440 + + repack_without_refs(): take a `packed_ref_store *` parameter
441 + + get_packed_ref(): take a `packed_ref_store *` parameter
442 + + rollback_packed_refs(): take a `packed_ref_store *` parameter
443 + + commit_packed_refs(): take a `packed_ref_store *` parameter
444 + + lock_packed_refs(): take a `packed_ref_store *` parameter
445 + + add_packed_ref(): take a `packed_ref_store *` parameter
446 + + get_packed_refs(): take a `packed_ref_store *` parameter
447 + + get_packed_ref_cache(): take a `packed_ref_store *` parameter
448 + + validate_packed_ref_cache(): take a `packed_ref_store *` parameter
449 + + clear_packed_ref_cache(): take a `packed_ref_store *` parameter
450 + + packed_ref_store: move `packed_refs_lock` member here
451 + + packed_ref_store: move `packed_refs_path` here
452 + + packed_ref_store: new struct
453 + + add_packed_ref(): teach function to overwrite existing refs
454 + + t1408: add a test of stale packed refs covered by loose refs
455
456 The "ref-store" code reorganization continues.
457
428 - Is this now ready for 'next'?
458 + Will merge to 'master'.
459
460
461 * sb/submodule-doc (2017-06-22) 1 commit
@@ -433,7 +463,7 @@ of the repositories listed at
463
464 Doc update.
465
436 - Waiting for discussion to settle.
466 + What's the status of this thing?
467
468
469 * sd/branch-copy (2017-06-18) 3 commits
@@ -450,30 +480,31 @@ of the repositories listed at
480
481
482 * ls/filter-process-delayed (2017-06-30) 7 commits
453 - - convert: add "status=delayed" to filter process protocol
454 - - convert: refactor capabilities negotiation
455 - - convert: move multiple file filter error handling to separate function
456 - - convert: put the flags field before the flag itself for consistent style
457 - - t0021: write "OUT <size>" only on success
458 - - t0021: make debug log file name configurable
459 - - t0021: keep filter log files on comparison
483 + (merged to 'next' on 2017-07-05 at a35e644082)
484 + + convert: add "status=delayed" to filter process protocol
485 + + convert: refactor capabilities negotiation
486 + + convert: move multiple file filter error handling to separate function
487 + + convert: put the flags field before the flag itself for consistent style
488 + + t0021: write "OUT <size>" only on success
489 + + t0021: make debug log file name configurable
490 + + t0021: keep filter log files on comparison
491
492 The filter-process interface learned to allow a process with long
493 latency give a "delayed" response.
494
464 - Will merge to 'next'.
495 + Will merge to 'master'.
496
497
467 -* ab/sha1dc (2017-06-27) 3 commits
498 +* ab/sha1dc (2017-07-03) 2 commits
499 - sha1collisiondetection: automatically enable when submodule is populated
500 - sha1dc: optionally use sha1collisiondetection as a submodule
470 - - sha1dc: correct endian detection for Solaris (and others?)
501 + (this branch uses ab/sha1dc-maint.)
502
503 The "collission-detecting" implementation of SHA-1 hash we borrowed
504 from is replaced by directly binding the upstream project as our
505 submodule. Glitches on minority platforms are still being worked out.
506
476 - Will keep in 'pu'.
507 + Will merge to 'next'.
508
509
510 * bp/fsmonitor (2017-06-12) 6 commits
@@ -516,14 +547,13 @@ of the repositories listed at
547 - diff.c: move line ending check into emit_hunk_header
548 - diff.c: readability fix
549 - Merge branch 'sb/hashmap-customize-comparison' into sb/diff-color-move
519 - (this branch uses sb/hashmap-customize-comparison.)
550 + (this branch uses sb/hashmap-customize-comparison; is tangled with sb/hashmap-cleanup.)
551
552 "git diff" has been taught to optionally paint new lines that are
553 the same as deleted lines elsewhere differently from genuinely new
554 lines.
555
525 - Looking good.
526 - cf. <CAGZ79kaK00CpXOtXnx_u7_KHbZq4Mz8vWHKy2a8p1gQ8ogE-OA@mail.gmail.com>
556 + Will merge to 'next'.
557
558 --------------------------------------------------
559 [Discarded]