What's cooking (2017/08 #06)

Junio C Hamano committed Aug 24, 2017 at 11:27 UTC 522e1fffa3bc13538959845526015f80b7c33139
1 file changed +293 -506
whats-cooking.txt
+293 -506
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2017, #05; Tue, 22)
4 -X-master-at: f0294f474e16840f4efb3f4da3329ba46f53efa7
5 -X-next-at: 238414bde168866658281957364b80816e9be329
3 +Subject: What's cooking in git.git (Aug 2017, #06; Thu, 24)
4 +X-master-at: 3dc57ebfbd1bf30b9a6987f551af9b74641382a9
5 +X-next-at: eb51544efa2177e71821426b32f8c0299705a996
6
7 -What's cooking in git.git (Aug 2017, #05; Tue, 22)
7 +What's cooking in git.git (Aug 2017, #06; Thu, 24)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,13 +12,12 @@ 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 -The second batch of topics are in. This cycle is going a bit slower
16 -than the previous one (as of mid-week #3 of this cycle, we have
17 -about 200 patches on 'master' since v2.14, compared to about 300
18 -patches in the cycle towards v2.14 at a similar point in the cycle),
19 -but hopefully we can catch up eventually.
20 -
21 -I am planning to be offline most of the next week, by the way.
15 +As I am preparing to go offline next week for about a week, a
16 +handful of topics have been merged to 'master' and 'next' is getting
17 +thinner. There are a few topics of importance that are still only
18 +on the mailing list archive and not in my tree that I'd like to
19 +review them and help them get into a reasonable shape, but that
20 +hasn't happened yet.
21
22 You can find the changes described here in the integration branches
23 of the repositories listed at
@@ -28,408 +27,244 @@ of the repositories listed at
27 --------------------------------------------------
28 [Graduated to "master"]
29
31 -* ab/ref-filter-no-contains (2017-08-07) 1 commit
32 - (merged to 'next' on 2017-08-18 at 7ec9d3d3a2)
33 - + tests: don't give unportable ">" to "test" built-in, use -gt
34 -
35 - A test fix.
36 -
37 -
38 -* bw/clone-recursive-quiet (2017-08-04) 1 commit
39 - (merged to 'next' on 2017-08-14 at fbd4473ce4)
40 - + clone: teach recursive clones to respect -q
41 -
42 - "git clone --recurse-submodules --quiet" did not pass the quiet
43 - option down to submodules.
44 -
30 +* ah/doc-empty-string-is-false (2017-08-14) 1 commit
31 + (merged to 'next' on 2017-08-19 at df47ffeffa)
32 + + doc: clarify "config --bool" behaviour with empty string
33
46 -* bw/grep-recurse-submodules (2017-08-02) 10 commits
47 - (merged to 'next' on 2017-08-14 at dcfcfc94af)
48 - + grep: recurse in-process using 'struct repository'
49 - + submodule: merge repo_read_gitmodules and gitmodules_config
50 - + submodule: check for unmerged .gitmodules outside of config parsing
51 - + submodule: check for unstaged .gitmodules outside of config parsing
52 - + submodule: remove fetch.recursesubmodules from submodule-config parsing
53 - + submodule: remove submodule.fetchjobs from submodule-config parsing
54 - + config: add config_from_gitmodules
55 - + cache.h: add GITMODULES_FILE macro
56 - + repository: have the_repository use the_index
57 - + repo_read_index: don't discard the index
58 - (this branch is used by bw/submodule-config-cleanup.)
34 + Doc update.
35
60 - "git grep --recurse-submodules" has been reworked to give a more
61 - consistent output across submodule boundary (and do its thing
62 - without having to fork a separate process).
36
37 +* as/grep-quiet-no-match-exit-code-fix (2017-08-17) 1 commit
38 + (merged to 'next' on 2017-08-19 at 362f88fb41)
39 + + git-grep: correct exit code with --quiet and -L
40
65 -* bw/push-options-recursively-to-submodules (2017-07-20) 1 commit
66 - (merged to 'next' on 2017-08-14 at 421dc09fd0)
67 - + submodule--helper: teach push-check to handle HEAD
41 + "git grep -L" and "git grep --quiet -L" reported different exit
42 + codes; this has been corrected.
43
69 - "git push --recurse-submodules $there HEAD:$target" was not
70 - propagated down to the submodules, but now it is.
44
45 +* cc/subprocess-handshake-missing-capabilities (2017-08-16) 1 commit
46 + (merged to 'next' on 2017-08-19 at c512710fda)
47 + + sub-process: print the cmd when a capability is unsupported
48
73 -* jc/perl-git-comment-typofix (2017-08-07) 1 commit
74 - (merged to 'next' on 2017-08-18 at b2ad043e6a)
75 - + perl/Git.pm: typofix in a comment
49 + When handshake with a subprocess filter notices that the process
50 + asked for an unknown capability, Git did not report what program
51 + the offending subprocess was running. This has been corrected.
52
77 - A comment fix.
53 + We may want a follow-up fix to tighten the error checking, though.
54
55
80 -* jk/drop-sha1-entry-pos (2017-08-09) 1 commit
81 - (merged to 'next' on 2017-08-18 at 3a4d9bcf12)
82 - + sha1_file: drop experimental GIT_USE_LOOKUP search
83 - (this branch is used by jt/packmigrate.)
56 +* hv/t5526-andand-chain-fix (2017-08-17) 1 commit
57 + (merged to 'next' on 2017-08-19 at fa95053653)
58 + + t5526: fix some broken && chains
59
85 - Code clean-up.
60 + Test fix.
61
62
88 -* jk/hashcmp-memcmp (2017-08-09) 1 commit
89 - (merged to 'next' on 2017-08-18 at 27c4aa5520)
90 - + hashcmp: use memcmp instead of open-coded loop
63 +* jc/diff-sane-truncate-no-more (2017-08-17) 1 commit
64 + (merged to 'next' on 2017-08-19 at 3ba3980eed)
65 + + diff: retire sane_truncate_fn
66
67 Code clean-up.
68
69
95 -* ma/parse-maybe-bool (2017-08-07) 6 commits
96 - (merged to 'next' on 2017-08-18 at ba22bb836c)
97 - + parse_decoration_style: drop unused argument `var`
98 - + treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
99 - + config: make git_{config,parse}_maybe_bool equivalent
100 - + config: introduce git_parse_maybe_bool_text
101 - + t5334: document that git push --signed=1 does not work
102 - + Doc/git-{push,send-pack}: correct --sign= to --signed=
103 -
104 - Code clean-up.
105 -
70 +* jc/simplify-progress (2017-08-19) 1 commit
71 + (merged to 'next' on 2017-08-22 at 9077ff6912)
72 + + progress: simplify "delayed" progress API
73
107 -* mf/no-dashed-subcommands (2017-08-07) 1 commit
108 - (merged to 'next' on 2017-08-18 at 05365af2ff)
109 - + scripts: use "git foo" not "git-foo"
74 + The API to start showing progress meter after a short delay has
75 + been simplified.
76
111 - Code clean-up.
77
78 +* jk/doc-the-this (2017-08-20) 1 commit
79 + (merged to 'next' on 2017-08-22 at 6625e50025)
80 + + doc: fix typo in sendemail.identity
81
114 -* mh/packed-ref-store (2017-08-17) 32 commits
115 - (merged to 'next' on 2017-08-18 at 14c58936e1)
116 - + files-backend: cheapen refname_available check when locking refs
117 - (merged to 'next' on 2017-08-14 at 987b76d302)
118 - + packed_ref_store: handle a packed-refs file that is a symlink
119 - + read_packed_refs(): die if `packed-refs` contains bogus data
120 - + t3210: add some tests of bogus packed-refs file contents
121 - + repack_without_refs(): don't lock or unlock the packed refs
122 - + commit_packed_refs(): remove call to `packed_refs_unlock()`
123 - + clear_packed_ref_cache(): don't protest if the lock is held
124 - + packed_refs_unlock(), packed_refs_is_locked(): new functions
125 - + packed_refs_lock(): report errors via a `struct strbuf *err`
126 - + packed_refs_lock(): function renamed from lock_packed_refs()
127 - + commit_packed_refs(): use a staging file separate from the lockfile
128 - + commit_packed_refs(): report errors rather than dying
129 - + packed_ref_store: make class into a subclass of `ref_store`
130 - + packed-backend: new module for handling packed references
131 - + packed_read_raw_ref(): new function, replacing `resolve_packed_ref()`
132 - + packed_ref_store: support iteration
133 - + packed_peel_ref(): new function, extracted from `files_peel_ref()`
134 - + repack_without_refs(): take a `packed_ref_store *` parameter
135 - + get_packed_ref(): take a `packed_ref_store *` parameter
136 - + rollback_packed_refs(): take a `packed_ref_store *` parameter
137 - + commit_packed_refs(): take a `packed_ref_store *` parameter
138 - + lock_packed_refs(): take a `packed_ref_store *` parameter
139 - + add_packed_ref(): take a `packed_ref_store *` parameter
140 - + get_packed_refs(): take a `packed_ref_store *` parameter
141 - + get_packed_ref_cache(): take a `packed_ref_store *` parameter
142 - + validate_packed_ref_cache(): take a `packed_ref_store *` parameter
143 - + clear_packed_ref_cache(): take a `packed_ref_store *` parameter
144 - + packed_ref_store: move `packed_refs_lock` member here
145 - + packed_ref_store: move `packed_refs_path` here
146 - + packed_ref_store: new struct
147 - + add_packed_ref(): teach function to overwrite existing refs
148 - + t1408: add a test of stale packed refs covered by loose refs
149 -
150 - The "ref-store" code reorganization continues.
151 -
152 -
153 -* pw/am-signoff (2017-08-08) 1 commit
154 - (merged to 'next' on 2017-08-18 at 7678ed822c)
155 - + am: fix signoff when other trailers are present
156 -
157 - "git am -s" has been taught that some input may end with a trailer
158 - block that is not Signed-off-by: and it should refrain from adding
159 - an extra blank line before adding a new sign-off in such a case.
160 -
161 -
162 -* pw/sequence-rerere-autoupdate (2017-08-02) 6 commits
163 - (merged to 'next' on 2017-08-14 at 010cbb0cbe)
164 - + cherry-pick/revert: reject --rerere-autoupdate when continuing
165 - + cherry-pick/revert: remember --rerere-autoupdate
166 - + t3504: use test_commit
167 - + rebase -i: honor --rerere-autoupdate
168 - + rebase: honor --rerere-autoupdate
169 - + am: remember --rerere-autoupdate setting
170 -
171 - Commands like "git rebase" accepted the --rerere-autoupdate option
172 - from the command line, but did not always use it. This has been
173 - fixed.
82 + Doc clean-up.
83
84
176 -* rj/add-chmod-error-message (2017-08-09) 1 commit
177 - (merged to 'next' on 2017-08-18 at ba2afb696a)
178 - + builtin/add: add detail to a 'cannot chmod' error message
85 +* jt/sha1-file-cleanup (2017-08-11) 2 commits
86 + (merged to 'next' on 2017-08-19 at 93f4c94578)
87 + + sha1_file: remove read_packed_sha1()
88 + + sha1_file: set whence in storage-specific info fn
89 + (this branch is used by jt/packmigrate.)
90
180 - Message fix.
91 + Preparatory code clean-up.
92
93
183 -* rs/apply-lose-prefix-length (2017-08-09) 1 commit
184 - (merged to 'next' on 2017-08-18 at 6ce0dbb3f0)
185 - + apply: remove prefix_length member from apply_state
94 +* kd/stash-with-bash-4.4 (2017-08-14) 1 commit
95 + (merged to 'next' on 2017-08-19 at 79b2c4b052)
96 + + stash: prevent warning about null bytes in input
97
187 - Code clean-up.
98 + bash 4.4 or newer gave a warning on NUL byte in command
99 + substitution done in "git stash"; this has been squelched.
100
101
190 -* rs/find-pack-entry-bisection (2017-08-09) 1 commit
191 - (merged to 'next' on 2017-08-18 at b4130177a9)
192 - + sha1_file: avoid comparison if no packed hash matches the first byte
193 - (this branch is used by jt/packmigrate.)
102 +* ks/prepare-commit-msg-sample-fix (2017-08-14) 1 commit
103 + (merged to 'next' on 2017-08-19 at e75c30de64)
104 + + hook: use correct logical variable
105
195 - Code clean-up.
106 + An "oops" fix to a topic that is already in 'master'.
107
108
198 -* rs/fsck-obj-leakfix (2017-08-10) 1 commit
199 - (merged to 'next' on 2017-08-18 at 77e3d111ef)
200 - + fsck: free buffers on error in fsck_obj()
109 +* kw/commit-keep-index-when-pre-commit-is-not-run (2017-08-16) 1 commit
110 + (merged to 'next' on 2017-08-19 at 2b5a25e5ae)
111 + + commit: skip discarding the index if there is no pre-commit hook
112
202 - Memory leak in an error codepath has been plugged.
113 + "git commit" used to discard the index and re-read from the filesystem
114 + just in case the pre-commit hook has updated it in the middle; this
115 + has been optimized out when we know we do not run the pre-commit hook.
116
117
205 -* rs/in-obsd-basename-dirname-take-const (2017-08-07) 1 commit
206 - (merged to 'next' on 2017-08-18 at c739077e3b)
207 - + test-path-utils: handle const parameter of basename and dirname
118 +* kw/rebase-progress (2017-08-14) 2 commits
119 + (merged to 'next' on 2017-08-19 at 1958f378dd)
120 + + rebase: turn on progress option by default for format-patch
121 + + format-patch: have progress option while generating patches
122
209 - Portability fix.
123 + "git rebase", especially when it is run by mistake and ends up
124 + trying to replay many changes, spent long time in silence. The
125 + command has been taught to show progress report when it spends
126 + long time preparing these many changes to replay (which would give
127 + the user a chance to abort with ^C).
128
129
212 -* rs/merge-microcleanup (2017-08-10) 1 commit
213 - (merged to 'next' on 2017-08-18 at 79ba7d301d)
214 - + merge: use skip_prefix()
130 +* lg/merge-signoff (2017-07-25) 1 commit
131 + (merged to 'next' on 2017-08-19 at cb53d7b026)
132 + + merge: add a --signoff flag
133
216 - Code clean-up.
134 + "git merge" learned a "--signoff" option to add the Signed-off-by:
135 + trailer with the committer's name.
136
137
219 -* rs/obsd-getcwd-workaround (2017-08-07) 1 commit
220 - (merged to 'next' on 2017-08-18 at adb98cfe0c)
221 - + t0001: skip test with restrictive permissions if getpwd(3) respects them
138 +* mg/format-ref-doc-fix (2017-08-18) 2 commits
139 + (merged to 'next' on 2017-08-19 at 6490525c54)
140 + + Documentation/git-for-each-ref: clarify peeling of tags for --format
141 + + Documentation: use proper wording for ref format strings
142
223 - Test portability fix for BSDs.
143 + Doc fix.
144
145
226 -* rs/strbuf-getwholeline-fix (2017-08-10) 1 commit
227 - (merged to 'next' on 2017-08-18 at 5f879d8261)
228 - + strbuf: clear errno before calling getdelim(3)
146 +* nm/stash-untracked (2017-08-11) 1 commit
147 + (merged to 'next' on 2017-08-19 at 70990d7eb3)
148 + + stash: clean untracked files before reset
149
230 - A helper function to read a single whole line into strbuf
231 - mistakenly triggered OOM error at EOF under certain conditions,
232 - which has been fixed.
150 + "git stash -u" used the contents of the committed version of the
151 + ".gitignore" file to decide which paths are ignored, even when the
152 + file has local changes. The command has been taught to instead use
153 + the locally modified contents.
154
155
235 -* rs/t3700-clean-leftover (2017-08-08) 1 commit
236 - (merged to 'next' on 2017-08-18 at 12232a8cd3)
237 - + t3700: fix broken test under !POSIXPERM
156 +* rs/commit-h-single-parent-cleanup (2017-08-19) 1 commit
157 + (merged to 'next' on 2017-08-22 at 7db01c4035)
158 + + commit: remove unused inline function single_parent()
159
239 - A test fix.
160 + Code clean-up.
161
162
242 -* rs/t4062-obsd (2017-08-09) 1 commit
243 - (merged to 'next' on 2017-08-18 at 02bff42d86)
244 - + t4062: use less than 256 repetitions in regex
163 +* rs/object-id (2017-08-14) 1 commit
164 + (merged to 'next' on 2017-08-19 at 0f7283cd19)
165 + + tree-walk: convert fill_tree_descriptor() to object_id
166
246 - Test portability fix.
167 + Conversion from uchar[20] to struct object_id continues.
168
169
249 -* rs/unpack-entry-leakfix (2017-08-10) 1 commit
250 - (merged to 'next' on 2017-08-18 at 1e7d8f54b1)
251 - + sha1_file: release delta_stack on error in unpack_entry()
252 - (this branch is used by jt/packmigrate.)
170 +* rs/t1002-do-not-use-sum (2017-08-15) 1 commit
171 + (merged to 'next' on 2017-08-19 at 15b2a5f21b)
172 + + t1002: stop using sum(1)
173
254 - Memory leak in an error codepath has been plugged.
174 + Test simplification.
175
176
257 -* rs/win32-syslog-leakfix (2017-08-10) 1 commit
258 - (merged to 'next' on 2017-08-18 at 011eccb7bd)
259 - + win32: plug memory leak on realloc() failure in syslog()
177 +* sb/sha1-file-cleanup (2017-08-15) 1 commit
178 + (merged to 'next' on 2017-08-19 at 85898d1e7c)
179 + + sha1_file: make read_info_alternates static
180
261 - Memory leak in an error codepath has been plugged.
181 + Code clean-up.
182
183
264 -* sb/retire-t1200 (2017-08-10) 1 commit
265 - (merged to 'next' on 2017-08-18 at d436f9bbce)
266 - + t1200: remove t1200-tutorial.sh
184 +* sb/submodule-parallel-update (2017-08-17) 1 commit
185 + (merged to 'next' on 2017-08-19 at c023a834f0)
186 + + submodule.sh: remove unused variable
187
268 - A test script that outlived its usefulness has been removed.
188 + Code clean-up.
189
190
271 -* ur/svn-local-zone (2017-08-08) 1 commit
272 - (merged to 'next' on 2017-08-18 at f222bb6db0)
273 - + git svn fetch: Create correct commit timestamp when using --localtime
191 +* tc/curl-with-backports (2017-08-11) 2 commits
192 + (merged to 'next' on 2017-08-22 at 06c21e1eb9)
193 + + http: use a feature check to enable GSSAPI delegation control
194 + + http: fix handling of missing CURLPROTO_*
195
275 - "git svn" used with "--localtime" option did not compute the tz
276 - offset for the timestamp in question and instead always used the
277 - current time, which has been corrected.
196 + Updates to the HTTP layer we made recently unconditionally used
197 + features of libCurl without checking the existence of them, causing
198 + compilation errors, which has been fixed. Also migrate the code to
199 + check feature macros, not version numbers, to cope better with
200 + libCurl that vendor ships with backported features.
201
202 --------------------------------------------------
203 [New Topics]
204
282 -* jt/packmigrate (2017-08-19) 27 commits
283 - - pack: move for_each_packed_object()
284 - - pack: move has_pack_index()
285 - - pack: move has_sha1_pack()
286 - - pack: move find_pack_entry() and make it global
287 - - pack: move find_sha1_pack()
288 - - pack: move find_pack_entry_one(), is_pack_valid()
289 - - pack: move check_pack_index_ptr(), nth_packed_object_offset()
290 - - pack: move nth_packed_object_{sha1,oid}
291 - - pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry()
292 - - pack: move unpack_object_header()
293 - - pack: move get_size_from_delta()
294 - - pack: move unpack_object_header_buffer()
295 - - pack: move {,re}prepare_packed_git and approximate_object_count
296 - - pack: move install_packed_git()
297 - - pack: move add_packed_git()
298 - - pack: move unuse_pack()
299 - - pack: move use_pack()
300 - - pack: move pack-closing functions
301 - - pack: move release_pack_memory()
302 - - pack: move open_pack_index(), parse_pack_index()
303 - - pack: move pack_report()
304 - - pack: move static state variables
305 - - pack: move pack name-related functions
306 - - Merge branch 'rs/unpack-entry-leakfix' into HEAD
307 - - Merge branch 'jt/sha1-file-cleanup' into HEAD
308 - - Merge branch 'jk/drop-sha1-entry-pos' into HEAD
309 - - Merge branch 'rs/find-pack-entry-bisection' into HEAD
310 - (this branch uses jt/sha1-file-cleanup.)
311 -
312 - Code movement to make it easier to hack later.
205 +* js/gitweb-raw-blob-link-in-history (2017-08-22) 1 commit
206 + (merged to 'next' on 2017-08-23 at 16258266e2)
207 + + gitweb: add 'raw' blob_plain link in history overview
208
314 - Rebase this on the master after jt/sha1-file-cleanup graduates and
315 - merge it to 'next' (if reviewers found this a good change, that
316 - is).
317 -
318 -
319 -* jc/cutoff-config (2017-08-19) 2 commits
320 - - rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved
321 - - rerere: represent time duration in timestamp_t internally
322 -
323 - "[gc] rerereResolved = 5.days" used to be invalid, as the variable
324 - is defined to take an integer counting the number of days. It now
325 - is allowed.
326 -
327 - Needs reroll.
328 - cf. <xmqqa82t7ov1.fsf@gitster.mtv.corp.google.com>
329 -
330 -
331 -* jc/simplify-progress (2017-08-19) 1 commit
332 - - progress: simplify "delayed" progress API
333 -
334 - The API to start showing progress meter after a short delay has
335 - been simplified.
336 -
337 - Will merge to 'next'.
338 -
339 -
340 -* jt/stash-tests (2017-08-19) 3 commits
341 - (merged to 'next' on 2017-08-22 at 0b022697aa)
342 - + stash: add a test for stashing in a detached state
343 - + stash: add a test for when apply fails during stash branch
344 - + stash: add a test for stash create with no files
345 -
346 - Test update to improve coverage for "git stash" operations.
209 + "gitweb" shows a link to visit the 'raw' contents of blbos in the
210 + history overview page.
211
212 Will merge to 'master'.
213
214
351 -* rs/archive-excluded-directory (2017-08-19) 3 commits
352 - - archive: don't queue excluded directories
353 - - archive: factor out helper functions for handling attributes
354 - - t5001: add tests for export-ignore attributes and exclude pathspecs
355 -
356 - "git archive" did not work well with pathspecs and the
357 - export-ignore attribute.
358 -
359 - Will merge to 'next'.
360 -
361 - We may want to resurrect the "we don't archive an empty directory"
362 - bonus patch, but I do not mind merging the above early to 'next'
363 - and leave it as a separate follow-up enhancement.
364 - cf. <20170820090629.tumvqwzkromcykjf@sigill.intra.peff.net>
365 -
366 -
367 -* rs/commit-h-single-parent-cleanup (2017-08-19) 1 commit
368 - (merged to 'next' on 2017-08-22 at 7db01c4035)
369 - + commit: remove unused inline function single_parent()
215 +* jn/vcs-svn-cleanup (2017-08-23) 4 commits
216 + (merged to 'next' on 2017-08-24 at c184f08f5f)
217 + + vcs-svn: move remaining repo_tree functions to fast_export.h
218 + + vcs-svn: remove repo_delete wrapper function
219 + + vcs-svn: remove custom mode constants
220 + + vcs-svn: remove more unused prototypes and declarations
221 + (this branch uses bc/vcs-svn-cleanup; is tangled with bc/hash-algo.)
222
223 Code clean-up.
224
225 Will merge to 'master'.
226
227
376 -* bc/hash-algo (2017-08-20) 5 commits
377 - - hash-algo: switch empty tree and blob lookups to use hash abstraction
378 - - hash-algo: integrate hash algorithm support with repo setup
379 - - hash-algo: add structure representing hash algorithm
380 - - setup: expose enumerated repo info
381 - - Merge branch 'bc/vcs-svn-cleanup' into bc/hash-algo
382 - (this branch uses bc/vcs-svn-cleanup.)
383 -
228 +* jt/doc-pack-objects-fix (2017-08-23) 1 commit
229 + (merged to 'next' on 2017-08-24 at 7e4c3c0c9f)
230 + + Doc: clarify that pack-objects makes packs, plural
231
385 -* bc/vcs-svn-cleanup (2017-08-20) 2 commits
386 - - vcs-svn: rename repo functions to "svn_repo"
387 - - vcs-svn: remove unused prototypes
388 - (this branch is used by bc/hash-algo.)
389 -
390 - Code clean-up.
232 + Doc updates.
233
392 - Will merge to 'next'.
234 + Will merge to 'master'.
235
236
395 -* jk/doc-the-this (2017-08-20) 1 commit
396 - - doc: fix typo in sendemail.identity
237 +* ma/ts-cleanups (2017-08-23) 4 commits
238 + - ThreadSanitizer: add suppressions
239 + - strbuf_setlen: don't write to strbuf_slopbuf
240 + - pack-objects: take lock before accessing `remaining`
241 + - convert: always initialize attr_action in convert_attrs
242
398 - Doc clean-up.
243 + Assorted bugfixes and clean-ups.
244
245 Will merge to 'next'.
246
247
403 -* kw/write-index-reduce-alloc (2017-08-21) 3 commits
404 - - read-cache: avoid allocating every ondisk entry when writing
405 - - read-cache: fix memory leak in do_write_index
406 - - perf: add test for writing the index
407 -
408 -
409 -* mg/killed-merge (2017-08-21) 3 commits
410 - - merge: save merge state earlier
411 - - merge: split write_merge_state in two
412 - - Documentation/git-merge: explain --continue
248 +* ma/up-to-date (2017-08-23) 2 commits
249 + - treewide: correct several "up-to-date" to "up to date"
250 + - Documentation/user-manual: update outdated example output
251
414 - Killing "git merge --edit" before the editor returns control left
415 - the repository in a state with MERGE_MSG but without MERGE_HEAD,
416 - which incorrectly tells the subsequent "git commit" that there was
417 - a squash merge in progress. This has been fixed.
252 + Message and doc updates.
253
419 - Looked mostly good with minor nits.
420 - cf. <36bea69b-010a-9542-ec87-38b00d2bb009@grubix.eu>
254 + Will merge to 'next'.
255
256
423 -* po/object-id (2017-08-20) 6 commits
424 - - sha1_file: convert index_stream to struct object_id
425 - - sha1_file: convert hash_sha1_file_literally to struct object_id
426 - - sha1_file: convert index_fd to struct object_id
427 - - sha1_file: convert index_path to struct object_id
428 - - read-cache: convert to struct object_id
429 - - builtin/hash-object: convert to struct object_id
257 +* mh/ref-lock-entry (2017-08-23) 1 commit
258 + (merged to 'next' on 2017-08-24 at 67760267f4)
259 + + refs: retry acquiring reference locks for 100ms
260
431 - Will merge to 'next'.
261 + The code to acquire a lock on a reference (e.g. while accepting a
262 + push from a client) used to immediately fail when the reference is
263 + already locked---now it waits for a very short while and retries,
264 + which can make it succeed if the lock holder was holding it during
265 + a read-only operation.
266
267 + Will merge to 'master'.
268
269 --------------------------------------------------
270 [Stalled]
@@ -509,99 +344,166 @@ of the repositories listed at
344 --------------------------------------------------
345 [Cooking]
346
512 -* cc/subprocess-handshake-missing-capabilities (2017-08-16) 1 commit
513 - (merged to 'next' on 2017-08-19 at c512710fda)
514 - + sub-process: print the cmd when a capability is unsupported
347 +* jt/packmigrate (2017-08-23) 23 commits
348 + (merged to 'next' on 2017-08-24 at 34a628ae6c)
349 + + pack: move for_each_packed_object()
350 + + pack: move has_pack_index()
351 + + pack: move has_sha1_pack()
352 + + pack: move find_pack_entry() and make it global
353 + + pack: move find_sha1_pack()
354 + + pack: move find_pack_entry_one(), is_pack_valid()
355 + + pack: move check_pack_index_ptr(), nth_packed_object_offset()
356 + + pack: move nth_packed_object_{sha1,oid}
357 + + pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry()
358 + + pack: move unpack_object_header()
359 + + pack: move get_size_from_delta()
360 + + pack: move unpack_object_header_buffer()
361 + + pack: move {,re}prepare_packed_git and approximate_object_count
362 + + pack: move install_packed_git()
363 + + pack: move add_packed_git()
364 + + pack: move unuse_pack()
365 + + pack: move use_pack()
366 + + pack: move pack-closing functions
367 + + pack: move release_pack_memory()
368 + + pack: move open_pack_index(), parse_pack_index()
369 + + pack: move pack_report()
370 + + pack: move static state variables
371 + + pack: move pack name-related functions
372
516 - When handshake with a subprocess filter notices that the process
517 - asked for an unknown capability, Git did not report what program
518 - the offending subprocess was running. This has been corrected.
373 + Code movement to make it easier to hack later.
374
375 Will merge to 'master'.
376
522 - We may want a follow-up fix to tighten the error checking, though.
377
378 +* jc/cutoff-config (2017-08-22) 6 commits
379 + (merged to 'next' on 2017-08-24 at 2dcbf9ae04)
380 + + rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved
381 + + rerere: represent time duration in timestamp_t internally
382 + + t4200: parameterize "rerere gc" custom expiry test
383 + + t4200: gather "rerere gc" together
384 + + t4200: make "rerere gc" test more robust
385 + + t4200: give us a clean slate after "rerere gc" tests
386
525 -* tb/apply-with-crlf (2017-08-19) 2 commits
526 - (merged to 'next' on 2017-08-22 at f92bf67061)
527 - + apply: file commited with CRLF should roundtrip diff and apply
528 - + convert: add SAFE_CRLF_KEEP_CRLF
529 - (this branch is tangled with jc/apply-with-crlf.)
387 + "[gc] rerereResolved = 5.days" used to be invalid, as the variable
388 + is defined to take an integer counting the number of days. It now
389 + is allowed.
390
531 - "git apply" that is used as a better "patch -p1" failed to apply a
532 - taken from a file with CRLF line endings to a file with CRLF line
533 - endings. The root cause was because it misused convert_to_git()
534 - that tried to do "safe-crlf" processing by looking at the index
535 - entry at the same path, which is a nonsense---in that mode, "apply"
536 - is not working on the data in (or derived from) the index at all.
537 - This has been fixed.
391 + Will merge to 'master'.
392 +
393 +
394 +* jt/stash-tests (2017-08-19) 3 commits
395 + (merged to 'next' on 2017-08-22 at 0b022697aa)
396 + + stash: add a test for stashing in a detached state
397 + + stash: add a test for when apply fails during stash branch
398 + + stash: add a test for stash create with no files
399 +
400 + Test update to improve coverage for "git stash" operations.
401
402 Will merge to 'master'.
403
404
542 -* rs/t1002-do-not-use-sum (2017-08-15) 1 commit
543 - (merged to 'next' on 2017-08-19 at 15b2a5f21b)
544 - + t1002: stop using sum(1)
405 +* rs/archive-excluded-directory (2017-08-19) 3 commits
406 + (merged to 'next' on 2017-08-22 at 1853597c35)
407 + + archive: don't queue excluded directories
408 + + archive: factor out helper functions for handling attributes
409 + + t5001: add tests for export-ignore attributes and exclude pathspecs
410
546 - Test simplification.
411 + "git archive" did not work well with pathspecs and the
412 + export-ignore attribute.
413
414 Will merge to 'master'.
415
416 + We may want to resurrect the "we don't archive an empty directory"
417 + bonus patch, but I do not mind merging the above early to 'next'
418 + and leave it as a separate follow-up enhancement.
419 + cf. <20170820090629.tumvqwzkromcykjf@sigill.intra.peff.net>
420 +
421 +
422 +* bc/hash-algo (2017-08-20) 5 commits
423 + - hash-algo: switch empty tree and blob lookups to use hash abstraction
424 + - hash-algo: integrate hash algorithm support with repo setup
425 + - hash-algo: add structure representing hash algorithm
426 + - setup: expose enumerated repo info
427 + - Merge branch 'bc/vcs-svn-cleanup' into bc/hash-algo
428 + (this branch uses bc/vcs-svn-cleanup; is tangled with jn/vcs-svn-cleanup.)
429
551 -* sb/sha1-file-cleanup (2017-08-15) 1 commit
552 - (merged to 'next' on 2017-08-19 at 85898d1e7c)
553 - + sha1_file: make read_info_alternates static
430 +
431 +* bc/vcs-svn-cleanup (2017-08-20) 2 commits
432 + (merged to 'next' on 2017-08-22 at d8494b5d5b)
433 + + vcs-svn: rename repo functions to "svn_repo"
434 + + vcs-svn: remove unused prototypes
435 + (this branch is used by bc/hash-algo and jn/vcs-svn-cleanup.)
436
437 Code clean-up.
438
439 Will merge to 'master'.
440
441
560 -* as/grep-quiet-no-match-exit-code-fix (2017-08-17) 1 commit
561 - (merged to 'next' on 2017-08-19 at 362f88fb41)
562 - + git-grep: correct exit code with --quiet and -L
442 +* kw/write-index-reduce-alloc (2017-08-21) 3 commits
443 + (merged to 'next' on 2017-08-24 at 29f7daad85)
444 + + read-cache: avoid allocating every ondisk entry when writing
445 + + read-cache: fix memory leak in do_write_index
446 + + perf: add test for writing the index
447
564 - "git grep -L" and "git grep --quiet -L" reported different exit
565 - codes; this has been corrected.
448 + We used to spend more than necessary cycles allocating and freeing
449 + piece of memory while writing each index entry out. This has been
450 + optimized.
451
452 Will merge to 'master'.
453
454
570 -* hv/t5526-andand-chain-fix (2017-08-17) 1 commit
571 - (merged to 'next' on 2017-08-19 at fa95053653)
572 - + t5526: fix some broken && chains
455 +* mg/killed-merge (2017-08-23) 4 commits
456 + (merged to 'next' on 2017-08-24 at 5db37fc192)
457 + + merge: save merge state earlier
458 + + merge: split write_merge_state in two
459 + + merge: clarify call chain
460 + + Documentation/git-merge: explain --continue
461
574 - Test fix.
462 + Killing "git merge --edit" before the editor returns control left
463 + the repository in a state with MERGE_MSG but without MERGE_HEAD,
464 + which incorrectly tells the subsequent "git commit" that there was
465 + a squash merge in progress. This has been fixed.
466
467 Will merge to 'master'.
468
469
579 -* jc/diff-sane-truncate-no-more (2017-08-17) 1 commit
580 - (merged to 'next' on 2017-08-19 at 3ba3980eed)
581 - + diff: retire sane_truncate_fn
582 -
583 - Code clean-up.
470 +* po/object-id (2017-08-20) 6 commits
471 + (merged to 'next' on 2017-08-23 at 0faff383a8)
472 + + sha1_file: convert index_stream to struct object_id
473 + + sha1_file: convert hash_sha1_file_literally to struct object_id
474 + + sha1_file: convert index_fd to struct object_id
475 + + sha1_file: convert index_path to struct object_id
476 + + read-cache: convert to struct object_id
477 + + builtin/hash-object: convert to struct object_id
478
479 Will merge to 'master'.
480
481
588 -* ks/branch-set-upstream (2017-08-17) 3 commits
589 - - branch: quote branch/ref names to improve readability
590 - - builtin/branch: stop supporting the "--set-upstream" option
591 - - t3200: cleanup cruft of a test
482 +* tb/apply-with-crlf (2017-08-19) 2 commits
483 + (merged to 'next' on 2017-08-22 at f92bf67061)
484 + + apply: file commited with CRLF should roundtrip diff and apply
485 + + convert: add SAFE_CRLF_KEEP_CRLF
486 + (this branch is tangled with jc/apply-with-crlf.)
487
593 - "branch --set-upstream" that has been deprecated in Git 1.8 has
594 - finally been retired.
488 + "git apply" that is used as a better "patch -p1" failed to apply a
489 + taken from a file with CRLF line endings to a file with CRLF line
490 + endings. The root cause was because it misused convert_to_git()
491 + that tried to do "safe-crlf" processing by looking at the index
492 + entry at the same path, which is a nonsense---in that mode, "apply"
493 + is not working on the data in (or derived from) the index at all.
494 + This has been fixed.
495
596 - Will merge to 'next'.
496 + Will merge to 'master'.
497
498
599 -* mg/format-ref-doc-fix (2017-08-18) 2 commits
600 - (merged to 'next' on 2017-08-19 at 6490525c54)
601 - + Documentation/git-for-each-ref: clarify peeling of tags for --format
602 - + Documentation: use proper wording for ref format strings
499 +* ks/branch-set-upstream (2017-08-17) 3 commits
500 + (merged to 'next' on 2017-08-22 at 10fd938390)
501 + + branch: quote branch/ref names to improve readability
502 + + builtin/branch: stop supporting the "--set-upstream" option
503 + + t3200: cleanup cruft of a test
504
604 - Doc fix.
505 + "branch --set-upstream" that has been deprecated in Git 1.8 has
506 + finally been retired.
507
508 Will merge to 'master'.
509
@@ -620,24 +522,6 @@ of the repositories listed at
522 Will merge to 'master'.
523
524
623 -* sb/submodule-parallel-update (2017-08-17) 1 commit
624 - (merged to 'next' on 2017-08-19 at c023a834f0)
625 - + submodule.sh: remove unused variable
626 -
627 - Code clean-up.
628 -
629 - Will merge to 'master'.
630 -
631 -
632 -* ks/prepare-commit-msg-sample-fix (2017-08-14) 1 commit
633 - (merged to 'next' on 2017-08-19 at e75c30de64)
634 - + hook: use correct logical variable
635 -
636 - An "oops" fix to a topic that is already in 'master'.
637 -
638 - Will merge to 'master'.
639 -
640 -
525 * mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
526 . diff-delta: fix encoding size that would not fit in "unsigned int"
527
@@ -662,19 +546,6 @@ of the repositories listed at
546 Will be rerolled after tc/curl-with-backports stabilizes.
547
548
665 -* tc/curl-with-backports (2017-08-11) 2 commits
666 - - http: use a feature check to enable GSSAPI delegation control
667 - - http: fix handling of missing CURLPROTO_*
668 -
669 - Updates to the HTTP layer we made recently unconditionally used
670 - features of libCurl without checking the existence of them, causing
671 - compilation errors, which has been fixed. Also migrate the code to
672 - check feature macros, not version numbers, to cope better with
673 - libCurl that vendor ships with backported features.
674 -
675 - Will merge to 'next'.
676 -
677 -
549 * jk/trailers-parse (2017-08-20) 9 commits
550 (merged to 'next' on 2017-08-22 at 2d4d937141)
551 + doc/interpret-trailers: fix "the this" typo
@@ -708,31 +579,6 @@ of the repositories listed at
579 cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause>
580
581
711 -* jt/sha1-file-cleanup (2017-08-11) 2 commits
712 - (merged to 'next' on 2017-08-19 at 93f4c94578)
713 - + sha1_file: remove read_packed_sha1()
714 - + sha1_file: set whence in storage-specific info fn
715 - (this branch is used by jt/packmigrate.)
716 -
717 - Preparatory code clean-up.
718 -
719 - Will merge to 'master'.
720 -
721 -
722 -* kw/rebase-progress (2017-08-14) 2 commits
723 - (merged to 'next' on 2017-08-19 at 1958f378dd)
724 - + rebase: turn on progress option by default for format-patch
725 - + format-patch: have progress option while generating patches
726 -
727 - "git rebase", especially when it is run by mistake and ends up
728 - trying to replay many changes, spent long time in silence. The
729 - command has been taught to show progress report when it spends
730 - long time preparing these many changes to replay (which would give
731 - the user a chance to abort with ^C).
732 -
733 - Will merge to 'master'.
734 -
735 -
582 * mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
583 . diff-delta: do not allow delta offset truncation
584
@@ -745,36 +591,6 @@ of the repositories listed at
591 cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause>
592
593
748 -* nm/stash-untracked (2017-08-11) 1 commit
749 - (merged to 'next' on 2017-08-19 at 70990d7eb3)
750 - + stash: clean untracked files before reset
751 -
752 - "git stash -u" used the contents of the committed version of the
753 - ".gitignore" file to decide which paths are ignored, even when the
754 - file has local changes. The command has been taught to instead use
755 - the locally modified contents.
756 -
757 - Will merge to 'master'.
758 -
759 -
760 -* rs/object-id (2017-08-14) 1 commit
761 - (merged to 'next' on 2017-08-19 at 0f7283cd19)
762 - + tree-walk: convert fill_tree_descriptor() to object_id
763 -
764 - Conversion from uchar[20] to struct object_id continues.
765 -
766 - Will merge to 'master'.
767 -
768 -
769 -* ah/doc-empty-string-is-false (2017-08-14) 1 commit
770 - (merged to 'next' on 2017-08-19 at df47ffeffa)
771 - + doc: clarify "config --bool" behaviour with empty string
772 -
773 - Doc update.
774 -
775 - Will merge to 'master'.
776 -
777 -
594 * jt/diff-color-move-fix (2017-08-16) 3 commits
595 (merged to 'next' on 2017-08-19 at 6ae3831c8c)
596 + diff: define block by number of alphanumeric chars
@@ -787,27 +603,6 @@ of the repositories listed at
603 Will merge to 'master'.
604
605
790 -* kd/stash-with-bash-4.4 (2017-08-14) 1 commit
791 - (merged to 'next' on 2017-08-19 at 79b2c4b052)
792 - + stash: prevent warning about null bytes in input
793 -
794 - bash 4.4 or newer gave a warning on NUL byte in command
795 - substitution done in "git stash"; this has been squelched.
796 -
797 - Will merge to 'master'.
798 -
799 -
800 -* kw/commit-keep-index-when-pre-commit-is-not-run (2017-08-16) 1 commit
801 - (merged to 'next' on 2017-08-19 at 2b5a25e5ae)
802 - + commit: skip discarding the index if there is no pre-commit hook
803 -
804 - "git commit" used to discard the index and re-read from the filesystem
805 - just in case the pre-commit hook has updated it in the middle; this
806 - has been optimized out when we know we do not run the pre-commit hook.
807 -
808 - Will merge to 'master'.
809 -
810 -
606 * bw/git-clang-format (2017-08-14) 2 commits
607 - Makefile: add style build rule
608 - clang-format: outline the git project's coding style
@@ -816,16 +611,6 @@ of the repositories listed at
611 out coding style issues.
612
613
819 -* lg/merge-signoff (2017-07-25) 1 commit
820 - (merged to 'next' on 2017-08-19 at cb53d7b026)
821 - + merge: add a --signoff flag
822 -
823 - "git merge" learned a "--signoff" option to add the Signed-off-by:
824 - trailer with the committer's name.
825 -
826 - Will merge to 'master'.
827 -
828 -
614 * pb/trailers-from-command-line (2017-08-14) 4 commits
615 (merged to 'next' on 2017-08-19 at b12342e49e)
616 + interpret-trailers: fix documentation typo
@@ -866,27 +651,29 @@ of the repositories listed at
651
652
653 * bw/submodule-config-cleanup (2017-08-03) 17 commits
869 - - submodule: remove gitmodules_config
870 - - unpack-trees: improve loading of .gitmodules
871 - - submodule-config: lazy-load a repository's .gitmodules file
872 - - submodule-config: move submodule-config functions to submodule-config.c
873 - - submodule-config: remove support for overlaying repository config
874 - - diff: stop allowing diff to have submodules configured in .git/config
875 - - submodule: remove submodule_config callback routine
876 - - unpack-trees: don't respect submodule.update
877 - - submodule: don't rely on overlayed config when setting diffopts
878 - - fetch: don't overlay config with submodule-config
879 - - submodule--helper: don't overlay config in update-clone
880 - - submodule--helper: don't overlay config in remote_submodule_branch
881 - - add, reset: ensure submodules can be added or reset
882 - - submodule: don't use submodule_from_name
883 - - t7411: check configuration parsing errors
884 - - Merge branch 'bc/object-id' into bw/submodule-config-cleanup
885 - - Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
654 + (merged to 'next' on 2017-08-24 at e35d58c4c6)
655 + + submodule: remove gitmodules_config
656 + + unpack-trees: improve loading of .gitmodules
657 + + submodule-config: lazy-load a repository's .gitmodules file
658 + + submodule-config: move submodule-config functions to submodule-config.c
659 + + submodule-config: remove support for overlaying repository config
660 + + diff: stop allowing diff to have submodules configured in .git/config
661 + + submodule: remove submodule_config callback routine
662 + + unpack-trees: don't respect submodule.update
663 + + submodule: don't rely on overlayed config when setting diffopts
664 + + fetch: don't overlay config with submodule-config
665 + + submodule--helper: don't overlay config in update-clone
666 + + submodule--helper: don't overlay config in remote_submodule_branch
667 + + add, reset: ensure submodules can be added or reset
668 + + submodule: don't use submodule_from_name
669 + + t7411: check configuration parsing errors
670 + + Merge branch 'bc/object-id' into bw/submodule-config-cleanup
671 + + Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
672
673 Code clean-up to avoid mixing values read from the .gitmodules file
674 and values read from the .git/config file.
675
676 + Will merge to 'master'.
677 So, after the recent discussion around submodule.<name>.update (and
678 its resolution "use submodule.<name>.active; "reset --hard" must
679 ignore the .update thing"), this is now good to go, I presume?