What's cooking (2018/02 #02)

Junio C Hamano committed Feb 13, 2018 at 17:28 UTC 2ecaec894b4265deec3a00e6355b23969379656d
1 file changed +784 -629
whats-cooking.txt
+784 -629
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2018, #01; Wed, 7)
4 -X-master-at: 5be1f00a9a701532232f57958efab4be8c959a29
5 -X-next-at: fa21fb2ec8acbede1bf0ed3cca9e96e2445d38d1
3 +Subject: What's cooking in git.git (Feb 2018, #02; Tue, 13)
4 +X-master-at: b2e45c695d09f6a31ce09347ae0a5d2cdfe9dd4e
5 +X-next-at: e5215aaa5c9875adf01d63ed4237f0870ec897f1
6
7 -What's cooking in git.git (Feb 2018, #01; Wed, 7)
7 +What's cooking in git.git (Feb 2018, #02; Tue, 13)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,205 +12,520 @@ 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 -Many new topics appeared and are not yet marked with "Will do what"
16 -labels. Except for some large ones, I think most are already in
17 -good shape, but I'd want to double check by re-reading them.
15 +You can find the changes described here in the integration branches
16 +of the repositories listed at
17 +
18 + http://git-blame.blogspot.com/p/git-public-repositories.html
19 +
20 +--------------------------------------------------
21 +[Graduated to "master"]
22 +
23 +* ab/simplify-perl-makefile (2018-01-03) 3 commits
24 + (merged to 'next' on 2018-01-23 at 1506e0651a)
25 + + perl: treat PERLLIB_EXTRA as an extra path again
26 + + perl: avoid *.pmc and fix Error.pm further
27 + + Makefile: replace perl/Makefile.PL with simple make rules
28 +
29 + Originally merged to 'next' on 2018-01-03
30 +
31 + The build procedure for perl/ part has been greatly simplified by
32 + weaning ourselves off of MakeMaker.
33 +
34 +
35 +* cc/sha1-file-name (2018-01-19) 2 commits
36 + (merged to 'next' on 2018-02-07 at a50b171a84)
37 + + sha1_file: improve sha1_file_name() perfs
38 + + sha1_file: remove static strbuf from sha1_file_name()
39 +
40 + Code clean-up.
41 +
42 +
43 +* cl/t9001-cleanup (2018-01-12) 1 commit
44 + (merged to 'next' on 2018-02-07 at 9b194a9999)
45 + + t9001: use existing helper in send-email test
46 +
47 + Test clean-up.
48 +
49 +
50 +* ds/use-get-be64 (2018-01-19) 1 commit
51 + (merged to 'next' on 2018-02-07 at 6d6d5ba71d)
52 + + packfile: use get_be64() for large offsets
53 +
54 + Code clean-up.
55 +
56 +
57 +* ew/svn-branch-segfault-fix (2018-01-30) 1 commit
58 + (merged to 'next' on 2018-02-07 at 1bf8d8f74f)
59 + + git-svn: control destruction order to avoid segfault
60 +
61 + Workaround for segfault with more recent versions of SVN.
62 +
63 +
64 +* gs/retire-mru (2018-01-24) 1 commit
65 + (merged to 'next' on 2018-02-07 at 4b2e893911)
66 + + mru: Replace mru.[ch] with list.h implementation
67 + (this branch uses ot/mru-on-list.)
68 +
69 + Retire mru API as it does not give enough abstraction over
70 + underlying list API to be worth it.
71 +
72 +
73 +* jc/mailinfo-cleanup-fix (2018-01-24) 1 commit
74 + (merged to 'next' on 2018-02-07 at 65d41f993b)
75 + + mailinfo: avoid segfault when can't open files
76 +
77 + Corner case bugfix.
78 +
79 +
80 +* jh/fsck-promisors (2017-12-08) 10 commits
81 + (merged to 'next' on 2018-01-23 at ca59f5c18e)
82 + + gc: do not repack promisor packfiles
83 + + rev-list: support termination at promisor objects
84 + + sha1_file: support lazily fetching missing objects
85 + + introduce fetch-object: fetch one promisor object
86 + + index-pack: refactor writing of .keep files
87 + + fsck: support promisor objects as CLI argument
88 + + fsck: support referenced promisor objects
89 + + fsck: support refs pointing to promisor objects
90 + + fsck: introduce partialclone extension
91 + + extension.partialclone: introduce partial clone extension
92 + (this branch is used by jh/partial-clone.)
93 +
94 + Originally merged to 'next' on 2018-01-17
95 +
96 + In preparation for implementing narrow/partial clone, the machinery
97 + for checking object connectivity used by gc and fsck has been
98 + taught that a missing object is OK when it is referenced by a
99 + packfile specially marked as coming from trusted repository that
100 + promises to make them available on-demand and lazily.
101 +
102 +
103 +* jh/partial-clone (2017-12-08) 13 commits
104 + (merged to 'next' on 2018-01-23 at de0f0111ea)
105 + + t5616: test bulk prefetch after partial fetch
106 + + fetch: inherit filter-spec from partial clone
107 + + t5616: end-to-end tests for partial clone
108 + + fetch-pack: restore save_commit_buffer after use
109 + + unpack-trees: batch fetching of missing blobs
110 + + clone: partial clone
111 + + partial-clone: define partial clone settings in config
112 + + fetch: support filters
113 + + fetch: refactor calculation of remote list
114 + + fetch-pack: test support excluding large blobs
115 + + fetch-pack: add --no-filter
116 + + fetch-pack, index-pack, transport: partial clone
117 + + upload-pack: add object filtering for partial clone
118 + (this branch uses jh/fsck-promisors.)
119 +
120 + Originally merged to 'next' on 2018-01-17
121 +
122 + The machinery to clone & fetch, which in turn involves packing and
123 + unpacking objects, have been told how to omit certain objects using
124 + the filtering mechanism introduced by the jh/object-filtering
125 + topic, and also mark the resulting pack as a promisor pack to
126 + tolerate missing objects, taking advantage of the mechanism
127 + introduced by the jh/fsck-promisors topic.
128 +
129 +
130 +* jk/daemon-fixes (2018-01-25) 6 commits
131 + (merged to 'next' on 2018-02-07 at 0e4fe8f8cc)
132 + + daemon: fix length computation in newline stripping
133 + + t/lib-git-daemon: add network-protocol helpers
134 + + daemon: handle NULs in extended attribute string
135 + + daemon: fix off-by-one in logging extended attributes
136 + + t/lib-git-daemon: record daemon log
137 + + t5570: use ls-remote instead of clone for interp tests
138 +
139 + Assorted fixes to "git daemon".
140 +
141 +
142 +* jt/http-redact-cookies (2018-01-19) 2 commits
143 + (merged to 'next' on 2018-02-07 at a8c3416a7d)
144 + + http: support omitting data from traces
145 + + http: support cookie redaction when tracing
146 +
147 + The http tracing code, often used to debug connection issues,
148 + learned to redact potentially sensitive information from its output
149 + so that it can be more safely sharable.
150 +
151 +
152 +* jt/long-running-process-doc (2018-01-25) 1 commit
153 + (merged to 'next' on 2018-02-07 at 8bbb42ad3c)
154 + + Docs: split out long-running subprocess handshake
155 +
156 + Doc updates.
157 +
158 +
159 +* ks/submodule-doc-updates (2018-01-16) 2 commits
160 + (merged to 'next' on 2018-02-07 at aff2fa1650)
161 + + Doc/git-submodule: improve readability and grammar of a sentence
162 + + Doc/gitsubmodules: make some changes to improve readability and syntax
163 +
164 + Doc updates.
165 +
166 +
167 +* mr/packed-ref-store-fix (2018-01-19) 1 commit
168 + (merged to 'next' on 2018-02-07 at 17d32e99da)
169 + + files_initial_transaction_commit(): only unlock if locked
170 +
171 + Crash fix for a corner case where an error codepath tried to unlock
172 + what it did not acquire lock on.
173 +
174 +
175 +* nd/diff-flush-before-warning (2018-01-16) 1 commit
176 + (merged to 'next' on 2018-02-07 at 9c67f58ae0)
177 + + diff.c: flush stdout before printing rename warnings
178 +
179 + Avoid showing a warning message in the middle of a line of "git
180 + diff" output.
181 +
182 +
183 +* nd/list-merge-strategy (2018-01-26) 1 commit
184 + (merged to 'next' on 2018-02-07 at a75d04a675)
185 + + completion: fix completing merge strategies on non-C locales
186 +
187 + Completion of "git merge -s<strategy>" (in contrib/) did not work
188 + well in non-C locale.
189 +
190 +
191 +* nd/shared-index-fix (2018-01-24) 3 commits
192 + (merged to 'next' on 2018-02-07 at c5d6e68c91)
193 + + read-cache: don't write index twice if we can't write shared index
194 + + read-cache.c: move tempfile creation/cleanup out of write_shared_index
195 + + read-cache.c: change type of "temp" in write_shared_index()
196 +
197 + Code clean-up.
198 +
199 +
200 +* nd/trace-with-env (2018-01-19) 7 commits
201 + (merged to 'next' on 2018-02-07 at 68399411d9)
202 + + run-command.c: print new cwd in trace_run_command()
203 + + run-command.c: print env vars in trace_run_command()
204 + + run-command.c: print program 'git' when tracing git_cmd mode
205 + + run-command.c: introduce trace_run_command()
206 + + trace.c: move strbuf_release() out of print_trace_line()
207 + + trace: avoid unnecessary quoting
208 + + sq_quote_argv: drop maxlen parameter
209 +
210 + The tracing machinery learned to report tweaking of environment
211 + variables as well.
212 +
213 +
214 +* ot/mru-on-list (2017-10-01) 1 commit
215 + (merged to 'next' on 2018-02-07 at ee1ee4ac79)
216 + + mru: use double-linked list from list.h
217 + (this branch is used by gs/retire-mru.)
218 +
219 + The first step to getting rid of mru API and using the
220 + doubly-linked list API directly instead.
221 +
222 +
223 +* pc/submodule-helper (2018-01-16) 2 commits
224 + (merged to 'next' on 2018-02-07 at 53b4524eca)
225 + + submodule: port submodule subcommand 'deinit' from shell to C
226 + + submodule: port submodule subcommand 'sync' from shell to C
227 +
228 + Rewrite two more "git submodule" subcommands in C.
229 +
230 +
231 +* po/clang-format-functype-weight (2018-01-24) 1 commit
232 + (merged to 'next' on 2018-02-07 at 0724aaae38)
233 + + clang-format: adjust penalty for return type line break
234 +
235 + Prevent "clang-format" from breaking line after function return type.
236 +
237 +
238 +* po/http-push-error-message (2018-01-24) 1 commit
239 + (merged to 'next' on 2018-02-07 at 3dccd32857)
240 + + http-push: improve error log
241 +
242 + Debugging aid.
243 +
244 +
245 +* pw/sequencer-in-process-commit (2018-01-24) 14 commits
246 + (merged to 'next' on 2018-02-07 at ab5961edd9)
247 + + sequencer: run 'prepare-commit-msg' hook
248 + + t7505: add tests for cherry-pick and rebase -i/-p
249 + + t7505: style fixes
250 + + sequencer: assign only free()able strings to gpg_sign
251 + + sequencer: improve config handling
252 + + t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
253 + + sequencer: try to commit without forking 'git commit'
254 + + sequencer: load commit related config
255 + + sequencer: simplify adding Signed-off-by: trailer
256 + + commit: move print_commit_summary() to libgit
257 + + commit: move post-rewrite code to libgit
258 + + Add a function to update HEAD after creating a commit
259 + + commit: move empty message checks to libgit
260 + + t3404: check intermediate squash messages
261 +
262 + The sequencer infrastructure is shared across "git cherry-pick",
263 + "git rebase -i", etc., and has always spawned "git commit" when it
264 + needs to create a commit. It has been taught to do so internally,
265 + when able, by reusing the codepath "git commit" itself uses, which
266 + gives performance boost for a few tens of percents in some sample
267 + scenarios.
268 +
269 +
270 +* rb/hashmap-h-compilation-fix (2018-01-16) 1 commit
271 + (merged to 'next' on 2018-02-07 at 780bc6d06b)
272 + + hashmap.h: remove unused variable
273 +
274 + Code clean-up.
275 +
276 +
277 +* rs/describe-unique-abbrev (2018-01-16) 1 commit
278 + (merged to 'next' on 2018-02-07 at b5383e2d05)
279 + + describe: use strbuf_add_unique_abbrev() for adding short hashes
280 +
281 + Code clean-up.
282 +
283 +
284 +* rs/strbuf-cocci-workaround (2018-01-19) 1 commit
285 + (merged to 'next' on 2018-02-07 at 73a2c4c769)
286 + + cocci: use format keyword instead of a literal string
287 +
288 + Update Coccinelle rules to catch and optimize strbuf_addf(&buf, "%s", str)
289 +
290 +
291 +* sg/cocci-move-array (2018-01-22) 1 commit
292 + (merged to 'next' on 2018-02-07 at 6ced765979)
293 + + Use MOVE_ARRAY
294 +
295 + Code clean-up.
296 +
297 +
298 +* sg/travis-linux32-sanity (2018-01-30) 5 commits
299 + (merged to 'next' on 2018-02-07 at 0349cf505c)
300 + + travis-ci: don't fail if user already exists on 32 bit Linux build job
301 + + travis-ci: don't run the test suite as root in the 32 bit Linux build
302 + + travis-ci: don't repeat the path of the cache directory
303 + + travis-ci: use 'set -e' in the 32 bit Linux build job
304 + + travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build
305
19 -I am migrating my build and integration environment to a different
20 -machine; if you notice anything out of ordinary, please let me know
21 -before I decomission and reimage my usual environment ;-)
306 + Travis updates.
307
23 -You can find the changes described here in the integration branches
24 -of the repositories listed at
308
26 - http://git-blame.blogspot.com/p/git-public-repositories.html
309 +* tb/crlf-conv-flags (2018-01-16) 1 commit
310 + (merged to 'next' on 2018-02-07 at 1981be1b46)
311 + + convert_to_git(): safe_crlf/checksafe becomes int conv_flags
312 + (this branch is used by ls/checkout-encoding.)
313 +
314 + Code clean-up.
315 +
316 +
317 +* tg/split-index-fixes (2018-01-19) 3 commits
318 + (merged to 'next' on 2018-02-07 at 52d7a92ec5)
319 + + travis: run tests with GIT_TEST_SPLIT_INDEX
320 + + split-index: don't write cache tree with null oid entries
321 + + read-cache: fix reading the shared index for other repos
322 +
323 + The split-index mode had a few corner case bugs fixed.
324 +
325 +
326 +* tz/doc-show-defaults-to-head (2018-01-30) 1 commit
327 + (merged to 'next' on 2018-02-07 at fa21fb2ec8)
328 + + doc: mention 'git show' defaults to HEAD
329 +
330 + Doc update.
331
332 --------------------------------------------------
333 [New Topics]
334
31 -* bc/hash-algo (2018-02-02) 12 commits
32 - - bulk-checkin: abstract SHA-1 usage
33 - - csum-file: abstract uses of SHA-1
34 - - csum-file: rename sha1file to hashfile
35 - - read-cache: abstract away uses of SHA-1
36 - - pack-write: switch various SHA-1 values to abstract forms
37 - - pack-check: convert various uses of SHA-1 to abstract forms
38 - - fast-import: switch various uses of SHA-1 to the_hash_algo
39 - - sha1_file: switch uses of SHA-1 to the_hash_algo
40 - - builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo
41 - - builtin/index-pack: improve hash function abstraction
42 - - hash: create union for hash context allocation
43 - - hash: move SHA-1 macros to hash.h
335 +* bp/name-hash-dirname-fix (2018-02-08) 1 commit
336 + - name-hash: properly fold directory names in adjust_dirname_case()
337
45 - More abstraction of hash function from the codepath.
338 + "git add" files in the same directory, but spelling the directory
339 + path in different cases on case insensitive filesystem, corrupted
340 + the name hash data structure and led to unexpected results. This
341 + has been corrected.
342
343 Will merge to 'next'.
344
345
50 -* bp/untracked-cache-noflush (2018-02-05) 1 commit
51 - - dir.c: don't flag the index as dirty for changes to the untracked cache
346 +* jk/doc-do-not-write-extern (2018-02-08) 1 commit
347 + - CodingGuidelines: mention "static" and "extern"
348
53 - Writing out the index file when the only thing that changed in it
54 - is the untracked cache information is often wasteful, and this has
55 - been optimized out.
349 + Devdoc update.
350
57 - Waiting for the discussion to finish.
58 - cf. <CACsJy8DLP=j-h3knwX9zOpejAfUbv1YJwfB-iw4476oy0hTfxg@mail.gmail.com>
351 + Will merge to 'next'.
352
353
61 -* cc/perf-aggregate (2018-02-02) 3 commits
62 - - perf/aggregate: sort JSON fields in output
63 - - perf/aggregate: add --reponame option
64 - - perf/aggregate: add --subsection option
354 +* jk/gettext-poison (2018-02-08) 2 commits
355 + - git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
356 + - t0205: drop redundant test
357 +
358 + Test updates.
359
360 Will merge to 'next'.
361
362
69 -* gs/rebase-allow-empty-message (2018-02-07) 1 commit
70 - - rebase: add --allow-empty-message option
363 +* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit
364 + - rebase -p: fix incorrect commit message when calling `git merge`.
365
72 - "git rebase" learned to take "--allow-empty-message" option.
366 + "git rebase -p" mangled log messages of a merge commit, which is
367 + now fixed.
368
369 Will merge to 'next'.
370
371
77 -* jc/blame-missing-path (2018-02-07) 1 commit
78 - - blame: tighten command line parser
372 +* js/packet-read-line-check-null (2018-02-08) 2 commits
373 + - always check for NULL return from packet_read_line()
374 + - correct error messages for NULL packet_read_line()
375
80 - "git blame HEAD COPYING" in a bare repository failed to run, while
81 - "git blame HEAD -- COPYING" run just fine.
376 + Some low level protocol codepath could crash when they get an
377 + unexpected flush packet, which is now fixed.
378
379 Will merge to 'next'.
380
381
86 -* jt/binsearch-with-fanout (2018-02-02) 2 commits
87 - - packfile: refactor hash search with fanout table
88 - - packfile: remove GIT_DEBUG_LOOKUP log statements
382 +* sb/color-h-cleanup (2018-02-13) 1 commit
383 + - color.h: document and modernize header
384 + (this branch is used by sb/blame-color.)
385
90 - Refactor the code to binary search starting from a fan-out table
91 - (which is how the packfile is indexed with object names) into a
92 - reusable helper.
386 + Devdoc update.
387
388 Will merge to 'next'.
389
390
97 -* lw/daemon-log-destination (2018-02-05) 1 commit
98 - - daemon: add --log-destination=(stderr|syslog|none)
391 +* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits
392 + - update-index doc: note the caveat with "could not open..."
393 + - update-index doc: note a fixed bug in the untracked cache
394 + (this branch uses nd/fix-untracked-cache-invalidation.)
395
100 - The log from "git daemon" can be redirected with a new option; one
101 - relevant use case is to send the log to standard error (instead of
102 - syslog) when running it from inetd.
396 + Doc update to warn against remaining bugs in untracked cache.
397
398 Will merge to 'next'.
399
400
107 -* nd/diff-stat-with-summary (2018-02-02) 2 commits
108 - - diff: add --stat-with-summary
109 - - diff.c: refactor pprint_rename() to use strbuf
401 +* as/ll-i18n (2018-02-13) 1 commit
402 + - Mark messages for translations
403
111 - Waiting for the discussion to finish.
404 + Some messages in low level start-up codepath have been i18n-ized.
405
406 + Will merge to 'next'.
407
114 -* nd/parseopt-completion (2018-02-07) 42 commits
115 - - SQUASH???
116 - - completion: use __gitcomp_builtin in _git_worktree
117 - - completion: use __gitcomp_builtin in _git_tag
118 - - completion: use __gitcomp_builtin in _git_status
119 - - completion: use __gitcomp_builtin in _git_show_branch
120 - - completion: use __gitcomp_builtin in _git_rm
121 - - completion: use __gitcomp_builtin in _git_revert
122 - - completion: use __gitcomp_builtin in _git_reset
123 - - completion: use __gitcomp_builtin in _git_replace
124 - - remote: force completing --mirror= instead of --mirror
125 - - completion: use __gitcomp_builtin in _git_remote
126 - - completion: use __gitcomp_builtin in _git_push
127 - - completion: use __gitcomp_builtin in _git_pull
128 - - completion: use __gitcomp_builtin in _git_notes
129 - - completion: use __gitcomp_builtin in _git_name_rev
130 - - completion: use __gitcomp_builtin in _git_mv
131 - - completion: use __gitcomp_builtin in _git_merge_base
132 - - completion: use __gitcomp_builtin in _git_merge
133 - - completion: use __gitcomp_builtin in _git_ls_remote
134 - - completion: use __gitcomp_builtin in _git_ls_files
135 - - completion: use __gitcomp_builtin in _git_init
136 - - completion: use __gitcomp_builtin in _git_help
137 - - completion: use __gitcomp_builtin in _git_grep
138 - - completion: use __gitcomp_builtin in _git_gc
139 - - completion: use __gitcomp_builtin in _git_fsck
140 - - completion: use __gitcomp_builtin in _git_fetch
141 - - completion: use __gitcomp_builtin in _git_difftool
142 - - completion: use __gitcomp_builtin in _git_describe
143 - - completion: use __gitcomp_builtin in _git_config
144 - - completion: use __gitcomp_builtin in _git_commit
145 - - completion: use __gitcomp_builtin in _git_clone
146 - - completion: use __gitcomp_builtin in _git_clean
147 - - completion: use __gitcomp_builtin in _git_cherry_pick
148 - - completion: use __gitcomp_builtin in _git_checkout
149 - - completion: use __gitcomp_builtin in _git_branch
150 - - completion: use __gitcomp_builtin in _git_apply
151 - - completion: use __gitcomp_builtin in _git_am
152 - - completion: use __gitcomp_builtin in _git_add
153 - - git-completion.bash: introduce __gitcomp_builtin
154 - - parse-options: let OPT__FORCE take optional flags argument
155 - - parse-options: add OPT_xxx_F() variants
156 - - parse-options: support --git-completion-helper
408
409 +* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit
410 + - docs/interpret-trailers: fix agreement error
411
159 -* nd/trace-index-ops (2018-02-02) 1 commit
160 - - trace: measure where the time is spent in the index-heavy operations
412 + Docfix.
413
414 Will merge to 'next'.
415
416
165 -* pc/submodule-helper-foreach (2018-02-02) 5 commits
166 - - submodule: port submodule subcommand 'foreach' from shell to C
167 - - submodule foreach: document variable '$displaypath'
168 - - submodule foreach: clarify the '$toplevel' variable documentation
169 - - submodule foreach: document '$sm_path' instead of '$path'
170 - - submodule foreach: correct '$path' in nested submodules from a subdirectory
417 +* jk/t0002-simplify (2018-02-12) 1 commit
418 + - t0002: simplify error checking
419
172 - Waiting for the discussion to finish.
173 - cf. <20180206150044.1bffbb573c088d38c8e44bf5@google.com>
420 + Code cleanup.
421
422 + Will merge to 'next'.
423
176 -* rs/cocci-strbuf-addf-to-addstr (2018-02-02) 1 commit
177 - - cocci: simplify check for trivial format strings
424 +
425 +* ma/config-page-only-in-list-mode (2018-02-12) 3 commits
426 + - config: change default of `pager.config` to "on"
427 + - config: respect `pager.config` in list/get-mode only
428 + - t7006: add tests for how git config paginates
429 +
430 + In a way similar to how "git tag" learned to honor the pager
431 + setting only in the list mode, "git config" learned to ignore the
432 + pager setting when it is used for setting values (i.e. when the
433 + purpose of the operation is not to "show").
434 +
435 + Waiting for discussion to conclude.
436 +
437 +
438 +* ot/cat-batch-format (2018-02-12) 23 commits
439 + - cat-file: update of docs
440 + - cat-file: tests for new atoms added
441 + - for-each-ref: tests for new atoms added
442 + - ref-filter: unifying formatting of cat-file opts
443 + - ref-filter: make populate_value() internal again
444 + - cat-file: reuse printing logic from ref-filter
445 + - ref-filter: make valid_atom general again
446 + - ref-filter: make cat_file_info independent
447 + - cat-file: move skip_object_info into ref-filter
448 + - ref_filter: add is_atom_used function
449 + - ref-filter: get rid of mark_atom_in_object_info()
450 + - cat-file: start reusing populate_value()
451 + - ref-filter: rename field in ref_array_item stuct
452 + - ref-filter: make populate_value() global
453 + - cat-file: start use ref_array_item struct
454 + - ref-filter: reuse parse_ref_filter_atom()
455 + - cat-file: start migrating formatting to ref-filter
456 + - cat-file: split expand_atom() into 2 functions
457 + - cat-file: move struct expand_data into ref-filter
458 + - ref-filter: make valid_atom as function parameter
459 + - cat-file: reuse struct ref_format
460 + - ref-filter: add return value to some functions
461 + - ref-filter: get rid of goto
462 +
463 + Teach "cat-file --batch" to reuse the formatting machinery shared
464 + by for-each-ref, branch --list, and tag --list.
465 +
466 +
467 +* rj/sparse-updates (2018-02-12) 2 commits
468 + - Makefile: suppress a sparse warning for pack-revindex.c
469 + - config.mak.uname: remove SPARSE_FLAGS setting for cygwin
470 +
471 + Devtool update.
472
473 Will merge to 'next'.
474
475
182 -* tg/reset-hard-show-head-with-pretty (2018-02-02) 1 commit
183 - - reset --hard: make use of the pretty machinery
476 +* rs/check-ignore-multi (2018-02-12) 1 commit
477 + - check-ignore: fix mix of directories and other file types
478
185 - The way "git reset --hard" reports the commit the updated HEAD
186 - points at is made consistent with the way how the commit title is
187 - generated by the other parts of the system. This matters when the
188 - title is spread across physically multiple lines.
479 + "git check-ignore" with multiple paths got confused when one is a
480 + file and the other is a directory, which has been fixed.
481
482 Will merge to 'next'.
483
484
193 -* tg/worktree-add-existing-branch (2018-02-05) 3 commits
194 - - worktree: teach "add" to check out existing branches
195 - - worktree: be clearer when "add" dwim-ery kicks in
196 - - worktree: improve message when creating a new worktree
485 +* sb/describe-blob (2018-02-12) 1 commit
486 + - describe: confirm that blobs actually exist
487
198 - "git worktree add" learned to check out an existing branch.
488 + "git describe $garbage" stopped giving any errors when the garbage
489 + happens to be a string with 40 hexadecimal letters.
490
200 - Expecting a reroll.
201 - cf. <CAPig+cRLohiqR_Drh7P0q3XbvC22WLjNwH0YLZo3dqFzZZuAPw@mail.gmail.com>
202 - cf. <CACsJy8BEKYqW+Ne_WY2RBaSbb9OKcjREtrawStj=eJsVsia_Jw@mail.gmail.com>
203 - The general idea is good, just end-user facing messages are found
204 - suboptimal.
491 + Will merge to 'next'.
492
493
207 -* nm/tag-edit (2018-02-07) 1 commit
208 - - tag: add --edit option
494 +* sg/doc-test-must-fail-args (2018-02-12) 1 commit
495 + - t: document 'test_must_fail ok=<signal-name>'
496
497 + Devdoc update.
498 +
499 + Will merge to 'next'.
500 +
501 +
502 +* sg/t6300-modernize (2018-02-13) 1 commit
503 + - t6300-for-each-ref: fix "more than one quoting style" tests
504 +
505 + Test update.
506 +
507 + WIll merge to 'next'.
508
211 -* sm/mv-dry-run-update (2018-02-07) 2 commits
212 - - mv: remove unneeded 'if (!show_only)'
213 - - t7001: add test case for --dry-run
509 +
510 +* xz/send-email-batch-size (2018-02-12) 1 commit
511 + - send-email: error out when relogin delay is missing
512 +
513 + "git send-email" learned to complain when the batch-size option is
514 + not defined when the relogin-delay option is, since these two are
515 + mutually required.
516 +
517 +
518 +* pw/add-p-recount (2018-02-13) 4 commits
519 + - add -p: calculate offset delta for edited patches
520 + - add -p: adjust offsets of subsequent hunks when one is skipped
521 + - t3701: add failing test for pathological context lines
522 + - add -i: add function to format hunk header
523 +
524 +
525 +* pw/add-p-single (2018-02-13) 3 commits
526 + - add -p: improve error messages
527 + - add -p: only bind search key if there's more than one hunk
528 + - add -p: only display help for active keys
529
530 --------------------------------------------------
531 [Stalled]
@@ -354,174 +669,287 @@ of the repositories listed at
669 --------------------------------------------------
670 [Cooking]
671
357 -* ab/fetch-prune (2018-01-24) 11 commits
358 - - fetch: add a --fetch-prune option and fetch.pruneTags config
359 - - fetch tests: add scaffolding for the new fetch.pruneTags
360 - - git-fetch & config doc: link to the new PRUNING section
361 - - git remote doc: correct dangerous lies about what prune does
362 - - git fetch doc: add a new section to explain the ins & outs of pruning
363 - - fetch tests: test --prune and refspec interaction
364 - - fetch tests: add a tag to be deleted to the pruning tests
365 - - fetch tests: re-arrange arguments for future readability
366 - - fetch tests: refactor in preparation for testing tag pruning
367 - - fetch: stop accessing "remote" variable indirectly
368 - - fetch: don't redundantly NULL something calloc() gave us
672 +* bc/hash-algo (2018-02-09) 13 commits
673 + (merged to 'next' on 2018-02-09 at 4437f3f132)
674 + + hash: update obsolete reference to SHA1_HEADER
675 + (merged to 'next' on 2018-02-08 at 18f36d12ed)
676 + + bulk-checkin: abstract SHA-1 usage
677 + + csum-file: abstract uses of SHA-1
678 + + csum-file: rename sha1file to hashfile
679 + + read-cache: abstract away uses of SHA-1
680 + + pack-write: switch various SHA-1 values to abstract forms
681 + + pack-check: convert various uses of SHA-1 to abstract forms
682 + + fast-import: switch various uses of SHA-1 to the_hash_algo
683 + + sha1_file: switch uses of SHA-1 to the_hash_algo
684 + + builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo
685 + + builtin/index-pack: improve hash function abstraction
686 + + hash: create union for hash context allocation
687 + + hash: move SHA-1 macros to hash.h
688
370 - Clarify how configured fetch refspecs interact with the "--prune"
371 - option of "git fetch", and also add a handy short-hand for getting
372 - rid of stale tags that are locally held.
689 + More abstraction of hash function from the codepath.
690
374 - Expecting a reroll.
375 - cf. <87h8quytmq.fsf@evledraar.gmail.com>
691 + Will merge to 'master'.
692
693
378 -* gs/retire-mru (2018-01-24) 1 commit
379 - (merged to 'next' on 2018-02-07 at 4b2e893911)
380 - + mru: Replace mru.[ch] with list.h implementation
381 - (this branch uses ot/mru-on-list.)
694 +* bp/untracked-cache-noflush (2018-02-05) 1 commit
695 + - dir.c: don't flag the index as dirty for changes to the untracked cache
696
383 - Retire mru API as it does not give enough abstraction over
384 - underlying list API to be worth it.
697 + Writing out the index file when the only thing that changed in it
698 + is the untracked cache information is often wasteful, and this has
699 + been optimized out.
700 +
701 + Waiting for the discussion to finish.
702 + cf. <CACsJy8DLP=j-h3knwX9zOpejAfUbv1YJwfB-iw4476oy0hTfxg@mail.gmail.com>
703 +
704 +
705 +* cc/perf-aggregate (2018-02-02) 3 commits
706 + (merged to 'next' on 2018-02-08 at d8f074e6fb)
707 + + perf/aggregate: sort JSON fields in output
708 + + perf/aggregate: add --reponame option
709 + + perf/aggregate: add --subsection option
710 +
711 + "make perf" enhancement.
712 +
713 + Will merge to 'master'.
714 +
715 +
716 +* gs/rebase-allow-empty-message (2018-02-07) 1 commit
717 + (merged to 'next' on 2018-02-08 at 9d81a2496c)
718 + + rebase: add --allow-empty-message option
719 +
720 + "git rebase" learned to take "--allow-empty-message" option.
721 +
722 + Will merge to 'master'.
723 +
724 +
725 +* jc/blame-missing-path (2018-02-07) 1 commit
726 + - blame: tighten command line parser
727 +
728 + "git blame HEAD COPYING" in a bare repository failed to run, while
729 + "git blame HEAD -- COPYING" run just fine.
730 +
731 + Will merge to 'next'.
732 +
733 +
734 +* jt/binsearch-with-fanout (2018-02-02) 2 commits
735 + (merged to 'next' on 2018-02-08 at 86fc3e8104)
736 + + packfile: refactor hash search with fanout table
737 + + packfile: remove GIT_DEBUG_LOOKUP log statements
738 +
739 + Refactor the code to binary search starting from a fan-out table
740 + (which is how the packfile is indexed with object names) into a
741 + reusable helper.
742 +
743 + cf. <cfbde137-dbac-8796-f49f-2a543303d33a@web.de>
744 +
745 +
746 +* lw/daemon-log-destination (2018-02-05) 1 commit
747 + (merged to 'next' on 2018-02-08 at da91bd56f4)
748 + + daemon: add --log-destination=(stderr|syslog|none)
749 +
750 + The log from "git daemon" can be redirected with a new option; one
751 + relevant use case is to send the log to standard error (instead of
752 + syslog) when running it from inetd.
753
754 Will merge to 'master'.
755
756
389 -* ot/mru-on-list (2017-10-01) 1 commit
390 - (merged to 'next' on 2018-02-07 at ee1ee4ac79)
391 - + mru: use double-linked list from list.h
392 - (this branch is used by gs/retire-mru.)
757 +* nd/diff-stat-with-summary (2018-02-02) 2 commits
758 + - diff: add --stat-with-summary
759 + - diff.c: refactor pprint_rename() to use strbuf
760 +
761 + Waiting for the discussion to finish.
762 +
763 +
764 +* nd/parseopt-completion (2018-02-09) 42 commits
765 + - git-completion.bash: add GIT_COMPLETION_OPTIONS=all config
766 + - completion: use __gitcomp_builtin in _git_worktree
767 + - completion: use __gitcomp_builtin in _git_tag
768 + - completion: use __gitcomp_builtin in _git_status
769 + - completion: use __gitcomp_builtin in _git_show_branch
770 + - completion: use __gitcomp_builtin in _git_rm
771 + - completion: use __gitcomp_builtin in _git_revert
772 + - completion: use __gitcomp_builtin in _git_reset
773 + - completion: use __gitcomp_builtin in _git_replace
774 + - remote: force completing --mirror= instead of --mirror
775 + - completion: use __gitcomp_builtin in _git_remote
776 + - completion: use __gitcomp_builtin in _git_push
777 + - completion: use __gitcomp_builtin in _git_pull
778 + - completion: use __gitcomp_builtin in _git_notes
779 + - completion: use __gitcomp_builtin in _git_name_rev
780 + - completion: use __gitcomp_builtin in _git_mv
781 + - completion: use __gitcomp_builtin in _git_merge_base
782 + - completion: use __gitcomp_builtin in _git_merge
783 + - completion: use __gitcomp_builtin in _git_ls_remote
784 + - completion: use __gitcomp_builtin in _git_ls_files
785 + - completion: use __gitcomp_builtin in _git_init
786 + - completion: use __gitcomp_builtin in _git_help
787 + - completion: use __gitcomp_builtin in _git_grep
788 + - completion: use __gitcomp_builtin in _git_gc
789 + - completion: use __gitcomp_builtin in _git_fsck
790 + - completion: use __gitcomp_builtin in _git_fetch
791 + - completion: use __gitcomp_builtin in _git_difftool
792 + - completion: use __gitcomp_builtin in _git_describe
793 + - completion: use __gitcomp_builtin in _git_config
794 + - completion: use __gitcomp_builtin in _git_commit
795 + - completion: use __gitcomp_builtin in _git_clone
796 + - completion: use __gitcomp_builtin in _git_clean
797 + - completion: use __gitcomp_builtin in _git_cherry_pick
798 + - completion: use __gitcomp_builtin in _git_checkout
799 + - completion: use __gitcomp_builtin in _git_branch
800 + - completion: use __gitcomp_builtin in _git_apply
801 + - completion: use __gitcomp_builtin in _git_am
802 + - completion: use __gitcomp_builtin in _git_add
803 + - git-completion.bash: introduce __gitcomp_builtin
804 + - parse-options: let OPT__FORCE take optional flags argument
805 + - parse-options: add OPT_xxx_F() variants
806 + - parse-options: support --git-completion-helper
807 +
808 + Will see another reroll.
809 + cf. <CACsJy8BoPxbt=hqAd9fS7MLiF33FVtAk0=Fr_q7UgYy1YvEg0w@mail.gmail.com>
810 +
811
394 - The first step to getting rid of mru API and using the
395 - doubly-linked list API directly instead.
812 +* nd/trace-index-ops (2018-02-02) 1 commit
813 + (merged to 'next' on 2018-02-08 at 91e362b26a)
814 + + trace: measure where the time is spent in the index-heavy operations
815
816 Will merge to 'master'.
817
818
400 -* jc/mailinfo-cleanup-fix (2018-01-24) 1 commit
401 - (merged to 'next' on 2018-02-07 at 65d41f993b)
402 - + mailinfo: avoid segfault when can't open files
403 -
404 - Corner case bugfix.
405 -
406 - Will merge to 'master'.
819 +* pc/submodule-helper-foreach (2018-02-02) 5 commits
820 + - submodule: port submodule subcommand 'foreach' from shell to C
821 + - submodule foreach: document variable '$displaypath'
822 + - submodule foreach: clarify the '$toplevel' variable documentation
823 + - submodule foreach: document '$sm_path' instead of '$path'
824 + - submodule foreach: correct '$path' in nested submodules from a subdirectory
825
826 + Waiting for the discussion to finish.
827 + cf. <20180206150044.1bffbb573c088d38c8e44bf5@google.com>
828
409 -* po/clang-format-functype-weight (2018-01-24) 1 commit
410 - (merged to 'next' on 2018-02-07 at 0724aaae38)
411 - + clang-format: adjust penalty for return type line break
829
413 - Prevent "clang-format" from breaking line after function return type.
830 +* rs/cocci-strbuf-addf-to-addstr (2018-02-02) 1 commit
831 + (merged to 'next' on 2018-02-08 at 0016008a97)
832 + + cocci: simplify check for trivial format strings
833
834 Will merge to 'master'.
835
836
418 -* po/http-push-error-message (2018-01-24) 1 commit
419 - (merged to 'next' on 2018-02-07 at 3dccd32857)
420 - + http-push: improve error log
837 +* tg/reset-hard-show-head-with-pretty (2018-02-02) 1 commit
838 + (merged to 'next' on 2018-02-08 at 596a4ec00d)
839 + + reset --hard: make use of the pretty machinery
840
422 - Debugging aid.
841 + The way "git reset --hard" reports the commit the updated HEAD
842 + points at is made consistent with the way how the commit title is
843 + generated by the other parts of the system. This matters when the
844 + title is spread across physically multiple lines.
845
846 Will merge to 'master'.
847
848
427 -* po/object-id (2018-01-30) 12 commits
428 - - sha1_file: rename hash_sha1_file_literally
429 - - sha1_file: convert write_loose_object to object_id
430 - - sha1_file: convert force_object_loose to object_id
431 - - sha1_file: convert write_sha1_file to object_id
432 - - notes: convert write_notes_tree to object_id
433 - - notes: convert combine_notes_* to object_id
434 - - commit: convert commit_tree* to object_id
435 - - match-trees: convert splice_tree to object_id
436 - - cache: clear whole hash buffer with oidclr
437 - - sha1_file: convert hash_sha1_file to object_id
438 - - dir: convert struct sha1_stat to use object_id
439 - - sha1_file: convert pretend_sha1_file to object_id
440 -
441 - Conversion from uchar[20] to struct object_id continues.
849 +* tg/worktree-add-existing-branch (2018-02-05) 3 commits
850 + - worktree: teach "add" to check out existing branches
851 + - worktree: be clearer when "add" dwim-ery kicks in
852 + - worktree: improve message when creating a new worktree
853
443 - Will merge to 'next'.
854 + "git worktree add" learned to check out an existing branch.
855
856 + Expecting a reroll.
857 + cf. <CAPig+cRLohiqR_Drh7P0q3XbvC22WLjNwH0YLZo3dqFzZZuAPw@mail.gmail.com>
858 + cf. <CACsJy8BEKYqW+Ne_WY2RBaSbb9OKcjREtrawStj=eJsVsia_Jw@mail.gmail.com>
859 + The general idea is good, just end-user facing messages are found
860 + suboptimal.
861
446 -* sg/travis-linux32-sanity (2018-01-30) 5 commits
447 - (merged to 'next' on 2018-02-07 at 0349cf505c)
448 - + travis-ci: don't fail if user already exists on 32 bit Linux build job
449 - + travis-ci: don't run the test suite as root in the 32 bit Linux build
450 - + travis-ci: don't repeat the path of the cache directory
451 - + travis-ci: use 'set -e' in the 32 bit Linux build job
452 - + travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build
862
454 - Travis updates.
863 +* nm/tag-edit (2018-02-07) 1 commit
864 + - tag: add --edit option
865
456 - Will merge to 'master'.
866
867 +* sm/mv-dry-run-update (2018-02-07) 2 commits
868 + - mv: remove unneeded 'if (!show_only)'
869 + - t7001: add test case for --dry-run
870
459 -* jk/daemon-fixes (2018-01-25) 6 commits
460 - (merged to 'next' on 2018-02-07 at 0e4fe8f8cc)
461 - + daemon: fix length computation in newline stripping
462 - + t/lib-git-daemon: add network-protocol helpers
463 - + daemon: handle NULs in extended attribute string
464 - + daemon: fix off-by-one in logging extended attributes
465 - + t/lib-git-daemon: record daemon log
466 - + t5570: use ls-remote instead of clone for interp tests
871
468 - Assorted fixes to "git daemon".
872 +* ab/fetch-prune (2018-02-09) 17 commits
873 + - fetch: make the --prune-tags work with <url>
874 + - fetch: add a --prune-tags option and fetch.pruneTags config
875 + - fetch tests: add scaffolding for the new fetch.pruneTags
876 + - git-fetch & config doc: link to the new PRUNING section
877 + - git remote doc: correct dangerous lies about what prune does
878 + - git fetch doc: add a new section to explain the ins & outs of pruning
879 + - fetch tests: fetch <url> <spec> as well as fetch [<remote>]
880 + - fetch tests: expand case/esac for later change
881 + - fetch tests: double quote a variable for interpolation
882 + - fetch tests: test --prune and refspec interaction
883 + - fetch tests: add a tag to be deleted to the pruning tests
884 + - fetch tests: re-arrange arguments for future readability
885 + - fetch tests: refactor in preparation for testing tag pruning
886 + - remote: add a macro for "refs/tags/*:refs/tags/*"
887 + - fetch: stop accessing "remote" variable indirectly
888 + - fetch: trivially refactor assignment to ref_nr
889 + - fetch: don't redundantly NULL something calloc() gave us
890
470 - Will merge to 'master'.
891 + Clarify how configured fetch refspecs interact with the "--prune"
892 + option of "git fetch", and also add a handy short-hand for getting
893 + rid of stale tags that are locally held.
894
895
473 -* jt/long-running-process-doc (2018-01-25) 1 commit
474 - (merged to 'next' on 2018-02-07 at 8bbb42ad3c)
475 - + Docs: split out long-running subprocess handshake
896 +* po/object-id (2018-01-30) 12 commits
897 + (merged to 'next' on 2018-02-08 at 701311e8ea)
898 + + sha1_file: rename hash_sha1_file_literally
899 + + sha1_file: convert write_loose_object to object_id
900 + + sha1_file: convert force_object_loose to object_id
901 + + sha1_file: convert write_sha1_file to object_id
902 + + notes: convert write_notes_tree to object_id
903 + + notes: convert combine_notes_* to object_id
904 + + commit: convert commit_tree* to object_id
905 + + match-trees: convert splice_tree to object_id
906 + + cache: clear whole hash buffer with oidclr
907 + + sha1_file: convert hash_sha1_file to object_id
908 + + dir: convert struct sha1_stat to use object_id
909 + + sha1_file: convert pretend_sha1_file to object_id
910
477 - Doc updates.
911 + Conversion from uchar[20] to struct object_id continues.
912
913 Will merge to 'master'.
914
915
916 * nd/format-patch-stat-width (2018-02-02) 2 commits
483 - - format-patch: reduce patch diffstat width to 72
484 - - format-patch: keep cover-letter diffstat wrapped in 72 columns
917 + (merged to 'next' on 2018-02-08 at c03e8a084e)
918 + + format-patch: reduce patch diffstat width to 72
919 + + format-patch: keep cover-letter diffstat wrapped in 72 columns
920
921 "git format-patch" learned to give 72-cols to diffstat, which is
922 consistent with other line length limits the subcommand uses for
923 its output meant for e-mails.
924
490 - Will merge to 'next'.
491 -
492 -
493 -* nd/list-merge-strategy (2018-01-26) 1 commit
494 - (merged to 'next' on 2018-02-07 at a75d04a675)
495 - + completion: fix completing merge strategies on non-C locales
496 -
497 - Completion of "git merge -s<strategy>" (in contrib/) did not work
498 - well in non-C locale.
499 -
925 Will merge to 'master'.
926
927
928 * sb/pull-rebase-submodule (2018-01-25) 1 commit
504 - - builtin/pull: respect verbosity settings in submodules
929 + (merged to 'next' on 2018-02-08 at 38fa97f855)
930 + + builtin/pull: respect verbosity settings in submodules
931
506 - Will merge to 'next'.
932 + "git pull --rebase" did not pass verbosity setting down when
933 + recursing into a submodule.
934 +
935 + Will merge to 'master'.
936
937
509 -* sg/test-i18ngrep (2018-01-26) 10 commits
510 - - t: make 'test_i18ngrep' more informative on failure
511 - - t: make sure that 'test_i18ngrep' got enough parameters
512 - - t: forbid piping into 'test_i18ngrep'
513 - - t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
514 - - t5536: let 'test_i18ngrep' read the file without redirection
515 - - t5510: consolidate 'grep' and 'test_i18ngrep' patterns
516 - - t4001: don't run 'git status' upstream of a pipe
517 - - t6022: don't run 'git merge' upstream of a pipe
518 - - t5812: add 'test_i18ngrep's missing filename parameter
519 - - t5541: add 'test_i18ngrep's missing filename parameter
938 +* sg/test-i18ngrep (2018-02-08) 9 commits
939 + (merged to 'next' on 2018-02-08 at e83eb33909)
940 + + t: make 'test_i18ngrep' more informative on failure
941 + + t: validate 'test_i18ngrep's parameters
942 + + t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
943 + + t5536: let 'test_i18ngrep' read the file without redirection
944 + + t5510: consolidate 'grep' and 'test_i18ngrep' patterns
945 + + t4001: don't run 'git status' upstream of a pipe
946 + + t6022: don't run 'git merge' upstream of a pipe
947 + + t5812: add 'test_i18ngrep's missing filename parameter
948 + + t5541: add 'test_i18ngrep's missing filename parameter
949
950 Test fixes.
951
523 - Expecting a reroll.
524 - cf. <CAM0VKjkf=51i1YPqdNm=pyPHaNNguXLu0T1iHDYv28jW92QTow@mail.gmail.com>
952 + Will merge to 'master'.
953
954
955 * bw/c-plus-plus (2018-01-30) 37 commits
@@ -549,206 +977,93 @@ of the repositories listed at
977 - diff-lib: rename 'new' variable
978 - commit: rename 'new' variables
979 - combine-diff: rename 'new' variables
552 - - remote: rename 'new' variables
553 - - reflog: rename 'new' variables
554 - - pack-redundant: rename 'new' variables
555 - - help: rename 'new' variables
556 - - checkout: rename 'new' variables
557 - - apply: rename 'new' variables
558 - - apply: rename 'try' variables
559 - - diff: rename 'this' variables
560 - - rev-parse: rename 'this' variable
561 - - pack-objects: rename 'this' variables
562 - - blame: rename 'this' variables
563 - - object: rename function 'typename' to 'type_name'
564 - - object_info: change member name from 'typename' to 'type_name'
565 -
566 - I do not mind refraining from using these keywords in a foreign
567 - language in our codebase too much, but at the same time, renaming
568 - must be done a bit more thoughtfully. When the original uses 'new'
569 - together with and in contrast to 'old', renaming 'new' must be done
570 - while preserving the pairing (which may involve renaming 'old' as
571 - well), for example.
572 -
573 - Backburnered, i.e. will drop if other topics start to conflict with
574 - it, but will accept rerolls.
575 -
576 -
577 -* ew/svn-branch-segfault-fix (2018-01-30) 1 commit
578 - (merged to 'next' on 2018-02-07 at 1bf8d8f74f)
579 - + git-svn: control destruction order to avoid segfault
580 -
581 - Workaround for segfault with more recent versions of SVN.
582 -
583 - Will merge to 'master'.
584 -
585 -
586 -* tz/doc-show-defaults-to-head (2018-01-30) 1 commit
587 - (merged to 'next' on 2018-02-07 at fa21fb2ec8)
588 - + doc: mention 'git show' defaults to HEAD
589 -
590 - Doc update.
591 -
592 - Will merge to 'master'.
593 -
594 -
595 -* nd/ignore-glob-doc-update (2018-02-02) 1 commit
596 - - gitignore.txt: elaborate shell glob syntax
597 -
598 - Doc update.
599 -
600 - Will merge to 'next'.
601 -
602 -
603 -* nd/rebase-show-current-patch (2018-01-31) 3 commits
604 - - rebase: introduce and use pseudo-ref ORIG_COMMIT
605 - - rebase: add --show-current-patch
606 - - am: add --show-current-patch
607 -
608 - The new "--show-current-patch" option gives an end-user facing way
609 - to get the diff being applied when "git rebase" (and "git am")
610 - stops with a conflict.
611 -
612 - Expecting a reroll.
613 - cf. <CACsJy8D8PaDR0r+6AKMgPo9UBcWYQC8goaVkVhxMCXCa1E9F9A@mail.gmail.com>
614 -
615 -
616 -* jh/status-no-ahead-behind (2018-01-24) 4 commits
617 - - status: support --no-ahead-behind in long format
618 - - status: update short status to respect --no-ahead-behind
619 - - status: add --[no-]ahead-behind to status and commit for V2 format.
620 - - stat_tracking_info: return +1 when branches not equal
621 -
622 - "git status" can spend a lot of cycles to compute the relation
623 - between the current branch and its upstream, which can now be
624 - disabled with "--no-ahead-behind" option.
625 -
626 - At v5; is this ready for 'next'?
627 -
628 -
629 -* nd/worktree-move (2018-01-24) 7 commits
630 - - worktree remove: allow it when $GIT_WORK_TREE is already gone
631 - - worktree remove: new command
632 - - worktree move: refuse to move worktrees with submodules
633 - - worktree move: accept destination as directory
634 - - worktree move: new command
635 - - worktree.c: add update_worktree_location()
636 - - worktree.c: add validate_worktree()
637 -
638 - "git worktree" learned move and remove subcommands.
639 -
640 - Expecting a reroll.
641 - cf. <20180124095357.19645-1-pclouds@gmail.com>
642 -
643 -
644 -* nd/trace-with-env (2018-01-19) 7 commits
645 - (merged to 'next' on 2018-02-07 at 68399411d9)
646 - + run-command.c: print new cwd in trace_run_command()
647 - + run-command.c: print env vars in trace_run_command()
648 - + run-command.c: print program 'git' when tracing git_cmd mode
649 - + run-command.c: introduce trace_run_command()
650 - + trace.c: move strbuf_release() out of print_trace_line()
651 - + trace: avoid unnecessary quoting
652 - + sq_quote_argv: drop maxlen parameter
653 -
654 - The tracing machinery learned to report tweaking of environment
655 - variables as well.
656 -
657 - Will merge to 'master'.
658 -
659 -
660 -* cl/t9001-cleanup (2018-01-12) 1 commit
661 - (merged to 'next' on 2018-02-07 at 9b194a9999)
662 - + t9001: use existing helper in send-email test
663 -
664 - Test clean-up.
665 -
666 - Will merge to 'master'.
667 -
668 -
669 -* kg/packed-ref-cache-fix (2018-01-24) 6 commits
670 - - packed_ref_cache: don't use mmap() for small files
671 - - load_contents(): don't try to mmap an empty file
672 - - packed_ref_iterator_begin(): make optimization more general
673 - - find_reference_location(): make function safe for empty snapshots
674 - - create_snapshot(): use `xmemdupz()` rather than a strbuf
675 - - struct snapshot: store `start` rather than `header_len`
676 -
677 - Avoid mmapping small files while using packed refs (especially ones
678 - with zero size, which would cause later munmap() to fail).
679 -
680 - Will merge to 'next'.
681 - A change to a binsearch loop to work around picky complers was
682 - unnecessarily hard to reason about, but it should do.
683 -
684 -
685 -* ks/submodule-doc-updates (2018-01-16) 2 commits
686 - (merged to 'next' on 2018-02-07 at aff2fa1650)
687 - + Doc/git-submodule: improve readability and grammar of a sentence
688 - + Doc/gitsubmodules: make some changes to improve readability and syntax
689 -
690 - Doc updates.
691 -
692 - Will merge to 'master'.
693 -
694 -
695 -* nd/shared-index-fix (2018-01-24) 3 commits
696 - (merged to 'next' on 2018-02-07 at c5d6e68c91)
697 - + read-cache: don't write index twice if we can't write shared index
698 - + read-cache.c: move tempfile creation/cleanup out of write_shared_index
699 - + read-cache.c: change type of "temp" in write_shared_index()
980 + - remote: rename 'new' variables
981 + - reflog: rename 'new' variables
982 + - pack-redundant: rename 'new' variables
983 + - help: rename 'new' variables
984 + - checkout: rename 'new' variables
985 + - apply: rename 'new' variables
986 + - apply: rename 'try' variables
987 + - diff: rename 'this' variables
988 + - rev-parse: rename 'this' variable
989 + - pack-objects: rename 'this' variables
990 + - blame: rename 'this' variables
991 + - object: rename function 'typename' to 'type_name'
992 + - object_info: change member name from 'typename' to 'type_name'
993
701 - Code clean-up.
994 + I do not mind refraining from using these keywords in a foreign
995 + language in our codebase too much, but at the same time, renaming
996 + must be done a bit more thoughtfully. When the original uses 'new'
997 + together with and in contrast to 'old', renaming 'new' must be done
998 + while preserving the pairing (which may involve renaming 'old' as
999 + well), for example.
1000
703 - Will merge to 'master'.
1001 + Backburnered, i.e. will drop if other topics start to conflict with
1002 + it, but will accept rerolls.
1003
1004
706 -* rs/describe-unique-abbrev (2018-01-16) 1 commit
707 - (merged to 'next' on 2018-02-07 at b5383e2d05)
708 - + describe: use strbuf_add_unique_abbrev() for adding short hashes
1005 +* nd/ignore-glob-doc-update (2018-02-02) 1 commit
1006 + (merged to 'next' on 2018-02-08 at 22ba92e49b)
1007 + + gitignore.txt: elaborate shell glob syntax
1008
710 - Code clean-up.
1009 + Doc update.
1010
1011 Will merge to 'master'.
1012
1013
715 -* tb/crlf-conv-flags (2018-01-16) 1 commit
716 - (merged to 'next' on 2018-02-07 at 1981be1b46)
717 - + convert_to_git(): safe_crlf/checksafe becomes int conv_flags
718 - (this branch is used by ls/checkout-encoding.)
719 -
720 - Code clean-up.
1014 +* nd/rebase-show-current-patch (2018-02-12) 3 commits
1015 + - rebase: introduce and use pseudo-ref REBASE_HEAD
1016 + - rebase: add --show-current-patch
1017 + - am: add --show-current-patch
1018
722 - Will merge to 'master'.
1019 + The new "--show-current-patch" option gives an end-user facing way
1020 + to get the diff being applied when "git rebase" (and "git am")
1021 + stops with a conflict.
1022
1023
725 -* nd/diff-flush-before-warning (2018-01-16) 1 commit
726 - (merged to 'next' on 2018-02-07 at 9c67f58ae0)
727 - + diff.c: flush stdout before printing rename warnings
1024 +* jh/status-no-ahead-behind (2018-01-24) 4 commits
1025 + - status: support --no-ahead-behind in long format
1026 + - status: update short status to respect --no-ahead-behind
1027 + - status: add --[no-]ahead-behind to status and commit for V2 format.
1028 + - stat_tracking_info: return +1 when branches not equal
1029
729 - Avoid showing a warning message in the middle of a line of "git
730 - diff" output.
1030 + "git status" can spend a lot of cycles to compute the relation
1031 + between the current branch and its upstream, which can now be
1032 + disabled with "--no-ahead-behind" option.
1033
732 - Will merge to 'master'.
1034 + At v5; is this ready for 'next'?
1035
1036
735 -* rb/hashmap-h-compilation-fix (2018-01-16) 1 commit
736 - (merged to 'next' on 2018-02-07 at 780bc6d06b)
737 - + hashmap.h: remove unused variable
1037 +* nd/worktree-move (2018-02-12) 7 commits
1038 + - worktree remove: allow it when $GIT_WORK_TREE is already gone
1039 + - worktree remove: new command
1040 + - worktree move: refuse to move worktrees with submodules
1041 + - worktree move: accept destination as directory
1042 + - worktree move: new command
1043 + - worktree.c: add update_worktree_location()
1044 + - worktree.c: add validate_worktree()
1045
739 - Code clean-up.
1046 + "git worktree" learned move and remove subcommands.
1047
741 - Will merge to 'master'.
1048 + Expecting a reroll.
1049 + cf. <20180124095357.19645-1-pclouds@gmail.com>
1050
1051
744 -* cc/sha1-file-name (2018-01-19) 2 commits
745 - (merged to 'next' on 2018-02-07 at a50b171a84)
746 - + sha1_file: improve sha1_file_name() perfs
747 - + sha1_file: remove static strbuf from sha1_file_name()
1052 +* kg/packed-ref-cache-fix (2018-01-24) 6 commits
1053 + (merged to 'next' on 2018-02-08 at 370f06a565)
1054 + + packed_ref_cache: don't use mmap() for small files
1055 + + load_contents(): don't try to mmap an empty file
1056 + + packed_ref_iterator_begin(): make optimization more general
1057 + + find_reference_location(): make function safe for empty snapshots
1058 + + create_snapshot(): use `xmemdupz()` rather than a strbuf
1059 + + struct snapshot: store `start` rather than `header_len`
1060
749 - Code clean-up.
1061 + Avoid mmapping small files while using packed refs (especially ones
1062 + with zero size, which would cause later munmap() to fail).
1063
1064 Will merge to 'master'.
1065 + A change to a binsearch loop to work around picky complers was
1066 + unnecessarily hard to reason about, but it should do.
1067
1068
1069 * cl/send-email-reply-to (2018-01-17) 2 commits
@@ -761,36 +1076,29 @@ of the repositories listed at
1076 cf. <CAN0heSqxmLoh33i65JPhyQbmPaAcJcwrTCO+ZD4eb+qh8Pf8+w@mail.gmail.com>
1077
1078
764 -* ds/use-get-be64 (2018-01-19) 1 commit
765 - (merged to 'next' on 2018-02-07 at 6d6d5ba71d)
766 - + packfile: use get_be64() for large offsets
767 -
768 - Code clean-up.
769 -
770 - Will merge to 'master'.
771 -
772 -
1079 * en/merge-recursive-fixes (2018-01-19) 3 commits
774 - - merge-recursive: add explanation for src_entry and dst_entry
775 - - merge-recursive: fix logic ordering issue
776 - - Tighten and correct a few testcases for merging and cherry-picking
1080 + (merged to 'next' on 2018-02-08 at c254292070)
1081 + + merge-recursive: add explanation for src_entry and dst_entry
1082 + + merge-recursive: fix logic ordering issue
1083 + + Tighten and correct a few testcases for merging and cherry-picking
1084 (this branch is used by en/rename-directory-detection.)
1085
779 - Will merge to 'next'.
1086 + Will merge to 'master'.
1087
1088
1089 * jc/worktree-add-short-help (2018-01-17) 1 commit
783 - - worktree: say that "add" takes an arbitrary commit in short-help
1090 + (merged to 'next' on 2018-02-08 at 9f59ca72ab)
1091 + + worktree: say that "add" takes an arbitrary commit in short-help
1092
1093 Error message fix.
1094
787 - Will merge to 'next'.
1095 + Will merge to 'master'.
1096
1097
790 -* js/rebase-recreate-merge (2018-01-30) 10 commits
1098 +* js/rebase-recreate-merge (2018-02-12) 12 commits
1099 - rebase -i: introduce --recreate-merges=[no-]rebase-cousins
1100 - pull: accept --rebase=recreate to recreate the branch topology
793 - - sequencer: handle autosquash and post-rewrite for merge commands
1101 + - sequencer: handle post-rewrite for merge commands
1102 - sequencer: make refs generated by the `label` command worktree-local
1103 - rebase: introduce the --recreate-merges option
1104 - rebase-helper --make-script: introduce a flag to recreate merges
@@ -798,89 +1106,38 @@ of the repositories listed at
1106 - sequencer: introduce the `merge` command
1107 - sequencer: introduce new commands to reset the revision
1108 - git-rebase--interactive: clarify arguments
1109 + - sequencer: make rearrange_squash() a bit more obvious
1110 + - sequencer: avoid using errno clobbered by rollback_lock_file()
1111
1112 "git rebase" learned "--recreate-merges" to transplant the whole
1113 topology of commit graph elsewhere.
1114
805 - Not learning anything other than the parent info from an existing
806 - merge was found unsatisfactory by some. It is something that can
807 - be fixed incrementally without breaking end-user experience, I
808 - would think, by doing the same cherry-pick 3-way merge.
809 - cf. <87k1vpqq85.fsf@javad.com>
810 -
811 -
812 -* jt/http-redact-cookies (2018-01-19) 2 commits
813 - (merged to 'next' on 2018-02-07 at a8c3416a7d)
814 - + http: support omitting data from traces
815 - + http: support cookie redaction when tracing
816 -
817 - The http tracing code, often used to debug connection issues,
818 - learned to redact potentially sensitive information from its output
819 - so that it can be more safely sharable.
820 -
821 - Will merge to 'master'.
822 -
823 -
824 -* mr/packed-ref-store-fix (2018-01-19) 1 commit
825 - (merged to 'next' on 2018-02-07 at 17d32e99da)
826 - + files_initial_transaction_commit(): only unlock if locked
827 -
828 - Crash fix for a corner case where an error codepath tried to unlock
829 - what it did not acquire lock on.
830 -
831 - Will merge to 'master'.
832 -
833 -
834 -* rs/strbuf-cocci-workaround (2018-01-19) 1 commit
835 - (merged to 'next' on 2018-02-07 at 73a2c4c769)
836 - + cocci: use format keyword instead of a literal string
837 -
838 - Update Coccinelle rules to catch and optimize strbuf_addf(&buf, "%s", str)
839 -
840 - Will merge to 'master'.
841 -
842 -
843 -* sg/cocci-move-array (2018-01-22) 1 commit
844 - (merged to 'next' on 2018-02-07 at 6ced765979)
845 - + Use MOVE_ARRAY
846 -
847 - Code clean-up.
848 -
849 - Will merge to 'master'.
850 -
1115
852 -* tg/split-index-fixes (2018-01-19) 3 commits
853 - (merged to 'next' on 2018-02-07 at 52d7a92ec5)
854 - + travis: run tests with GIT_TEST_SPLIT_INDEX
855 - + split-index: don't write cache tree with null oid entries
856 - + read-cache: fix reading the shared index for other repos
1116 +* jt/fsck-code-cleanup (2018-01-23) 1 commit
1117 + (merged to 'next' on 2018-02-08 at 199ad41486)
1118 + + fsck: fix leak when traversing trees
1119
858 - The split-index mode had a few corner case bugs fixed.
1120 + Plug recently introduced leaks in fsck.
1121
1122 Will merge to 'master'.
1123
1124
863 -* jt/fsck-code-cleanup (2018-01-23) 1 commit
864 - - fsck: fix leak when traversing trees
865 -
866 - Will merge to 'next'.
867 -
868 -
1125 * ab/wildmatch-tests (2018-01-30) 10 commits
870 - - wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
871 - - test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
872 - - wildmatch test: create & test files on disk in addition to in-memory
873 - - wildmatch test: perform all tests under all wildmatch() modes
874 - - wildmatch test: use test_must_fail, not ! for test-wildmatch
875 - - wildmatch test: remove dead fnmatch() test code
876 - - wildmatch test: use a paranoia pattern from nul_match()
877 - - wildmatch test: don't try to vertically align our output
878 - - wildmatch test: use more standard shell style
879 - - wildmatch test: indent with tabs, not spaces
1126 + (merged to 'next' on 2018-02-08 at f999a3d732)
1127 + + wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
1128 + + test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
1129 + + wildmatch test: create & test files on disk in addition to in-memory
1130 + + wildmatch test: perform all tests under all wildmatch() modes
1131 + + wildmatch test: use test_must_fail, not ! for test-wildmatch
1132 + + wildmatch test: remove dead fnmatch() test code
1133 + + wildmatch test: use a paranoia pattern from nul_match()
1134 + + wildmatch test: don't try to vertically align our output
1135 + + wildmatch test: use more standard shell style
1136 + + wildmatch test: indent with tabs, not spaces
1137
1138 More tests for wildmatch functions.
1139
883 - Will merge to 'next'.
1140 + Will merge to 'master'.
1141
1142
1143 * bw/protocol-v2 (2018-02-07) 35 commits
@@ -923,35 +1180,25 @@ of the repositories listed at
1180 The beginning of the next-gen transfer protocol.
1181
1182
926 -* ls/checkout-encoding (2018-01-30) 6 commits
1183 +* ls/checkout-encoding (2018-02-09) 7 commits
1184 + - convert: add round trip check based on 'core.checkRoundtripEncoding'
1185 - convert: add tracing for 'working-tree-encoding' attribute
1186 - convert: add 'working-tree-encoding' attribute
1187 - utf8: add function to detect a missing UTF-16/32 BOM
1188 - utf8: add function to detect prohibited UTF-16/32 BOM
1189 - strbuf: add xstrdup_toupper()
1190 - strbuf: remove unnecessary NUL assignment in xstrdup_tolower()
933 - (this branch uses tb/crlf-conv-flags.)
1191
1192 The new "checkout-encoding" attribute can ask Git to convert the
1193 contents to the specified encoding when checking out to the working
1194 tree (and the other way around when checking in).
1195
1196
940 -* pc/submodule-helper (2018-01-16) 2 commits
941 - (merged to 'next' on 2018-02-07 at 53b4524eca)
942 - + submodule: port submodule subcommand 'deinit' from shell to C
943 - + submodule: port submodule subcommand 'sync' from shell to C
944 -
945 - Rewrite two more "git submodule" subcommands in C.
946 -
947 - Will merge to 'master'.
948 -
949 -
950 -* sb/blame-color (2018-01-08) 4 commits
1197 +* sb/blame-color (2018-02-13) 3 commits
1198 - builtin/blame: highlight recently changed lines
1199 - builtin/blame: add option to color metadata fields separately
1200 - builtin/blame: dim uninteresting metadata
954 - - color.h: document and modernize header
1201 + (this branch uses sb/color-h-cleanup.)
1202
1203 Expecting a reroll.
1204 cf. https://public-inbox.org/git/20171110011002.10179-1-sbeller@google.com/#t
@@ -961,20 +1208,22 @@ of the repositories listed at
1208 * sg/travis-build-during-script-phase (2018-01-08) 1 commit
1209 - travis-ci: build Git during the 'script' phase
1210
964 - Still under discussion.
965 - cf. <5DE3FA05-2347-4BE7-8A1A-A6E5FEEC7C2B@gmail.com>
1211 + So... what do we want to do with this thing?
1212
1213
1214 * nd/fix-untracked-cache-invalidation (2018-02-07) 5 commits
969 - - dir.c: ignore paths containing .git when invalidating untracked cache
970 - - dir.c: stop ignoring opendir() error in open_cached_dir()
971 - - dir.c: fix missing dir invalidation in untracked code
972 - - dir.c: avoid stat() in valid_cached_dir()
973 - - status: add a failing test showing a core.untrackedCache bug
1215 + (merged to 'next' on 2018-02-08 at 23bd5a5d2d)
1216 + + dir.c: ignore paths containing .git when invalidating untracked cache
1217 + + dir.c: stop ignoring opendir() error in open_cached_dir()
1218 + + dir.c: fix missing dir invalidation in untracked code
1219 + + dir.c: avoid stat() in valid_cached_dir()
1220 + + status: add a failing test showing a core.untrackedCache bug
1221 + (this branch is used by ab/untracked-cache-invalidation-docs.)
1222
1223 Some bugs around "untracked cache" feature have been fixed.
1224
977 - Will merge to 'next'.
1225 + Seems to uncover bad untracked cache information a bit too loudly.
1226 + cf. <87d11omi2o.fsf@evledraar.gmail.com>
1227
1228
1229 * np/send-email-header-parsing (2017-12-15) 1 commit
@@ -988,27 +1237,14 @@ of the repositories listed at
1237
1238
1239 * ab/sha1dc-build (2017-12-08) 3 commits
991 - - sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
992 - - Makefile: under "make dist", include the sha1collisiondetection submodule
993 - - Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
1240 + (merged to 'next' on 2018-02-08 at ba9ff2b836)
1241 + + sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
1242 + + Makefile: under "make dist", include the sha1collisiondetection submodule
1243 + + Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
1244
1245 Push the submodule version of collision-detecting SHA-1 hash
1246 implementation a bit harder on builders.
1247
998 - Will merge to 'next'.
999 -
1000 -
1001 -* ab/simplify-perl-makefile (2018-01-03) 3 commits
1002 - (merged to 'next' on 2018-01-23 at 1506e0651a)
1003 - + perl: treat PERLLIB_EXTRA as an extra path again
1004 - + perl: avoid *.pmc and fix Error.pm further
1005 - + Makefile: replace perl/Makefile.PL with simple make rules
1006 -
1007 - Originally merged to 'next' on 2018-01-03
1008 -
1009 - The build procedure for perl/ part has been greatly simplified by
1010 - weaning ourselves off of MakeMaker.
1011 -
1248 Will merge to 'master'.
1249
1250
@@ -1051,84 +1287,3 @@ of the repositories listed at
1287 z/b and z/c, it is likely that x/d added in the meantime would also
1288 want to move to z/d by taking the hint that the entire directory
1289 'x' moved to 'z'.
1054 -
1055 -
1056 -* pw/sequencer-in-process-commit (2018-01-24) 14 commits
1057 - (merged to 'next' on 2018-02-07 at ab5961edd9)
1058 - + sequencer: run 'prepare-commit-msg' hook
1059 - + t7505: add tests for cherry-pick and rebase -i/-p
1060 - + t7505: style fixes
1061 - + sequencer: assign only free()able strings to gpg_sign
1062 - + sequencer: improve config handling
1063 - + t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
1064 - + sequencer: try to commit without forking 'git commit'
1065 - + sequencer: load commit related config
1066 - + sequencer: simplify adding Signed-off-by: trailer
1067 - + commit: move print_commit_summary() to libgit
1068 - + commit: move post-rewrite code to libgit
1069 - + Add a function to update HEAD after creating a commit
1070 - + commit: move empty message checks to libgit
1071 - + t3404: check intermediate squash messages
1072 -
1073 - The sequencer infrastructure is shared across "git cherry-pick",
1074 - "git rebase -i", etc., and has always spawned "git commit" when it
1075 - needs to create a commit. It has been taught to do so internally,
1076 - when able, by reusing the codepath "git commit" itself uses, which
1077 - gives performance boost for a few tens of percents in some sample
1078 - scenarios.
1079 -
1080 - Will merge to 'master'.
1081 -
1082 -
1083 -* jh/fsck-promisors (2017-12-08) 10 commits
1084 - (merged to 'next' on 2018-01-23 at ca59f5c18e)
1085 - + gc: do not repack promisor packfiles
1086 - + rev-list: support termination at promisor objects
1087 - + sha1_file: support lazily fetching missing objects
1088 - + introduce fetch-object: fetch one promisor object
1089 - + index-pack: refactor writing of .keep files
1090 - + fsck: support promisor objects as CLI argument
1091 - + fsck: support referenced promisor objects
1092 - + fsck: support refs pointing to promisor objects
1093 - + fsck: introduce partialclone extension
1094 - + extension.partialclone: introduce partial clone extension
1095 - (this branch is used by jh/partial-clone.)
1096 -
1097 - Originally merged to 'next' on 2018-01-17
1098 -
1099 - In preparation for implementing narrow/partial clone, the machinery
1100 - for checking object connectivity used by gc and fsck has been
1101 - taught that a missing object is OK when it is referenced by a
1102 - packfile specially marked as coming from trusted repository that
1103 - promises to make them available on-demand and lazily.
1104 -
1105 - Will merge to 'master'.
1106 -
1107 -
1108 -* jh/partial-clone (2017-12-08) 13 commits
1109 - (merged to 'next' on 2018-01-23 at de0f0111ea)
1110 - + t5616: test bulk prefetch after partial fetch
1111 - + fetch: inherit filter-spec from partial clone
1112 - + t5616: end-to-end tests for partial clone
1113 - + fetch-pack: restore save_commit_buffer after use
1114 - + unpack-trees: batch fetching of missing blobs
1115 - + clone: partial clone
1116 - + partial-clone: define partial clone settings in config
1117 - + fetch: support filters
1118 - + fetch: refactor calculation of remote list
1119 - + fetch-pack: test support excluding large blobs
1120 - + fetch-pack: add --no-filter
1121 - + fetch-pack, index-pack, transport: partial clone
1122 - + upload-pack: add object filtering for partial clone
1123 - (this branch uses jh/fsck-promisors.)
1124 -
1125 - Originally merged to 'next' on 2018-01-17
1126 -
1127 - The machinery to clone & fetch, which in turn involves packing and
1128 - unpacking objects, have been told how to omit certain objects using
1129 - the filtering mechanism introduced by the jh/object-filtering
1130 - topic, and also mark the resulting pack as a promisor pack to
1131 - tolerate missing objects, taking advantage of the mechanism
1132 - introduced by the jh/fsck-promisors topic.
1133 -
1134 - Will merge to 'master'.