What's cooking (2019/02 #01)

Junio C Hamano committed Feb 5, 2019 at 15:34 UTC 8c6144425156039892134b282c7ead83637d4417
1 file changed +507 -574
whats-cooking.txt
+507 -574
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2019, #05; Tue, 29)
4 -X-master-at: b5101f929789889c2e536d915698f58d5c5c6b7a
5 -X-next-at: fbb209baf1b5c34e4ec52fb4a5a73b00cfbecec1
3 +Subject: What's cooking in git.git (Feb 2019, #01; Tue, 5)
4 +X-master-at: 8feddda32cc50e928404788d7b9377c0b5f73f50
5 +X-next-at: b4d0f1c61aafd6cb5c3d9e6ee6bd99a036e3f21d
6
7 -What's cooking in git.git (Jan 2019, #05; Tue, 29)
7 +What's cooking in git.git (Feb 2019, #01; Tue, 5)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,265 +12,246 @@ 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 +A handful more topics have been merged to 'master' and 'next'
16 +respectively. I have been hoping to keep this cycle short compared
17 +to other recent cycles but there are a few smallish changes that we
18 +should have in the upcoming release but are still not in 'next'. We
19 +will see what happens.
20 +
21 You can find the changes described here in the integration branches
22 of the repositories listed at
23
24 http://git-blame.blogspot.com/p/git-public-repositories.html
25
26 --------------------------------------------------
21 -[New Topics]
22 -
23 -* ds/commit-graph-format-v2 (2019-01-29) 8 commits
24 - - SQUASH : misnamed variables and style fix
25 - - commit-graph: test verifying a corrupt v2 header
26 - - commit-graph: implement file format version 2
27 - - commit-graph: add --version=<n> option
28 - - commit-graph: create new version flags
29 - - commit-graph: collapse parameters into flags
30 - - commit-graph: return with errors during write
31 - - Merge branch 'bc/sha-256' into ds/commit-graph-format-v2
32 - (this branch uses ab/commit-graph-write-optim and ab/commit-graph-write-progress.)
33 -
34 - Introduce version 2 of the commit-graph format to correct
35 - deficiency in the initial version.
27 +[Graduated to "master"]
28
29 +* ab/commit-graph-write-optim (2019-01-22) 1 commit
30 + (merged to 'next' on 2019-01-29 at 17c894dfec)
31 + + commit-graph write: use pack order when finding commits
32 + (this branch is used by ab/commit-graph-write-progress and ds/commit-graph-format-v2.)
33
38 -* ds/coverage-prove (2019-01-29) 1 commit
39 - - Makefile: add coverage-prove target
34 + The codepath to write out commit-graph has been optimized by
35 + following the usual pattern of visiting objects in in-pack order.
36
41 - A new target "coverage-prove" to run the coverage test under
42 - "prove" has been added.
37
44 - Will merge to 'next'.
38 +* ab/commit-graph-write-progress (2019-01-23) 9 commits
39 + (merged to 'next' on 2019-01-29 at e086b1cba6)
40 + + commit-graph write: emit a percentage for all progress
41 + + commit-graph write: add itermediate progress
42 + + commit-graph write: remove empty line for readability
43 + + commit-graph write: add more descriptive progress output
44 + + commit-graph write: show progress for object search
45 + + commit-graph write: more descriptive "writing out" output
46 + + commit-graph write: add "Writing out" progress output
47 + + commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily
48 + + commit-graph: rename "large edges" to "extra edges"
49 + (this branch is used by ds/commit-graph-format-v2; uses ab/commit-graph-write-optim.)
50
46 ---------------------------------------------------
47 -[Graduated to "master"]
51 + The codepath to show progress meter while writing out commit-graph
52 + file has been improved.
53
49 -* md/list-objects-filter-by-depth (2019-01-15) 4 commits
50 - + tree:<depth>: skip some trees even when collecting omits
51 - + list-objects-filter: teach tree:# how to handle >0
52 - + Merge branch 'nd/the-index' into md/list-objects-filter-by-depth
53 - + Merge branch 'sb/more-repo-in-api' into md/list-objects-filter-by-depth
54 - (this branch is used by js/filter-options-should-use-plain-int; uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
54
56 - The objects-filter machinery learned "tree:<depth>" to filter
57 - objects up to a given depth; earlier it only supported depth=0,
58 - i.e. usable to create a commit-only lazy clone.
55 +* az/instaweb-py3-http-server (2019-01-28) 1 commit
56 + (merged to 'next' on 2019-01-29 at 82f06b6774)
57 + + git-instaweb: add Python builtin http.server support
58
60 - Will merge to 'next'.
59 + "git instaweb" learned to drive http.server that comes with
60 + "batteries included" Python installation (both Python2 & 3).
61
62
63 -* bc/sha-256 (2018-11-14) 12 commits
64 - (merged to 'next' on 2019-01-18 at 3f161d31bb)
65 - + hash: add an SHA-256 implementation using OpenSSL
66 - + sha256: add an SHA-256 implementation using libgcrypt
67 - + Add a base implementation of SHA-256 support
68 - + commit-graph: convert to using the_hash_algo
69 - + t/helper: add a test helper to compute hash speed
70 - + sha1-file: add a constant for hash block size
71 - + t: make the sha1 test-tool helper generic
72 - + t: add basic tests for our SHA-1 implementation
73 - + cache: make hashcmp and hasheq work with larger hashes
74 - + hex: introduce functions to print arbitrary hashes
75 - + sha1-file: provide functions to look up hash algorithms
76 - + sha1-file: rename algorithm to "sha1"
77 - (this branch is used by ds/commit-graph-format-v2.)
63 +* bp/checkout-new-branch-optim (2019-01-23) 2 commits
64 + (merged to 'next' on 2019-01-29 at 89d690634d)
65 + + checkout: fix regression in checkout -b on intitial checkout
66 + + checkout: add test demonstrating regression with checkout -b on initial commit
67
79 - Add sha-256 hash and plug it through the code to allow building Git
80 - with the "NewHash".
68 + "git checkout -b <new> [HEAD]" to create a new branch from the
69 + current commit and check it out ought to be a no-op in the index
70 + and the working tree in normal cases, but there are corner cases
71 + that do require updates to the index and the working tree. Running
72 + it immediately after "git clone --no-checkout" is one of these
73 + cases that an earlier optimization kicked in incorrectly, which has
74 + been fixed.
75
76
83 -* bc/tree-walk-oid (2019-01-15) 5 commits
84 - (merged to 'next' on 2019-01-18 at 60c38b9e4a)
85 - + cache: make oidcpy always copy GIT_MAX_RAWSZ bytes
86 - + tree-walk: store object_id in a separate member
87 - + match-trees: use hashcpy to splice trees
88 - + match-trees: compute buffer offset correctly when splicing
89 - + tree-walk: copy object ID before use
77 +* cc/test-ref-store-typofix (2019-01-17) 1 commit
78 + (merged to 'next' on 2019-01-29 at 0cd264f864)
79 + + helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo
80
91 - The code to walk tree objects has been taught that we may be
92 - working with object names that are not computed with SHA-1.
81 + An obvious typo in an assertion error message has been fixed.
82
83
95 -* cc/fetch-error-message-fix (2019-01-14) 1 commit
96 - (merged to 'next' on 2019-01-14 at 81078f86c0)
97 - + fetch: fix extensions.partialclone name in error message
84 +* ja/doc-style-fix (2019-01-23) 1 commit
85 + (merged to 'next' on 2019-01-29 at 5b520a6fd3)
86 + + doc: tidy asciidoc style
87
99 - Error message fix.
88 + Doc typo/stylo fixes.
89
90
102 -* cc/partial-clone-doc-typofix (2019-01-14) 1 commit
103 - (merged to 'next' on 2019-01-14 at 0395de767e)
104 - + partial-clone: add missing 'is' in doc
91 +* jk/add-ignore-errors-bit-assignment-fix (2019-01-17) 1 commit
92 + (merged to 'next' on 2019-01-29 at a4ac7ccd4f)
93 + + add: use separate ADD_CACHE_RENORMALIZE flag
94
106 - Doc fix.
95 + "git add --ignore-errors" did not work as advertised and instead
96 + worked as an unintended synonym for "git add --renormalize", which
97 + has been fixed.
98
99
109 -* it/log-format-source (2019-01-11) 1 commit
110 - (merged to 'next' on 2019-01-18 at d660044e93)
111 - + log: add %S option (like --source) to log --format
100 +* jk/attr-macro-fix (2019-01-22) 1 commit
101 + (merged to 'next' on 2019-01-29 at 740df172e1)
102 + + attr: do not mark queried macros as unset
103
113 - Custom userformat "log --format" learned %S atom that stands for
114 - the tip the traversal reached the commit from, i.e. --source.
104 + Asking "git check-attr" about a macro (e.g. "binary") on a specific
105 + path did not work correctly, even though "git check-attr -a" listed
106 + such a macro correctly. This has been corrected.
107
108
117 -* ja/doc-build-l10n (2019-01-07) 1 commit
118 - (merged to 'next' on 2019-01-18 at 5dbe5ad3d7)
119 - + Documentation/Makefile add optional targets for l10n
109 +* jk/diff-cc-stat-fixes (2019-01-24) 6 commits
110 + (merged to 'next' on 2019-01-29 at 8bd04f1749)
111 + + combine-diff: treat --dirstat like --stat
112 + + combine-diff: treat --summary like --stat
113 + + combine-diff: treat --shortstat like --stat
114 + + combine-diff: factor out stat-format mask
115 + + diff: clear emitted_symbols flag after use
116 + + t4006: resurrect commented-out tests
117
121 - Prepare Documentation/Makefile so that manpage localization can
122 - reuse it by overriding and tweaking the list of build products.
118 + "git diff --color-moved --cc --stat -p" did not work well due to
119 + funny interaction between a bug in color-moved and the rest, which
120 + has been fixed.
121
122
125 -* jk/proto-v2-hidden-refs-fix (2019-01-10) 1 commit
126 - (merged to 'next' on 2019-01-18 at 875dbbc71f)
127 - + upload-pack: support hidden refs with protocol v2
123 +* js/abspath-part-inside-repo (2019-01-18) 1 commit
124 + (merged to 'next' on 2019-01-29 at ac642158ec)
125 + + abspath_part_inside_repo: respect core.ignoreCase
126
129 - The v2 upload-pack protocol implementation failed to honor
130 - hidden-ref configuration, which has been corrected.
131 - An earlier attempt reverted out of 'next'.
127 + On a case-insensitive filesystem, we failed to compare the part of
128 + the path that is above the worktree directory in an absolute
129 + pathname, which has been corrected.
130
131
134 -* jk/remote-insteadof-cleanup (2019-01-11) 1 commit
135 - (merged to 'next' on 2019-01-18 at 112c93eef3)
136 - + remote: check config validity before creating rewrite struct
132 +* js/commit-graph-chunk-table-fix (2019-01-15) 3 commits
133 + (merged to 'next' on 2019-01-29 at 65ea01d4f2)
134 + + Makefile: correct example fuzz build
135 + + commit-graph: fix buffer read-overflow
136 + + commit-graph, fuzz: add fuzzer for commit-graph
137
138 - Code clean-up.
138 + The codepath to read from the commit-graph file attempted to read
139 + past the end of it when the file's table-of-contents was corrupt.
140
141
141 -* jk/save-getenv-result (2019-01-11) 6 commits
142 - (merged to 'next' on 2019-01-18 at 429c77402a)
143 - + builtin_diff(): read $GIT_DIFF_OPTS closer to use
144 - + merge-recursive: copy $GITHEAD strings
145 - + init: make a copy of $GIT_DIR string
146 - + config: make a copy of $GIT_CONFIG string
147 - + commit: copy saved getenv() result
148 - + get_super_prefix(): copy getenv() result
142 +* js/filter-options-should-use-plain-int (2019-01-15) 1 commit
143 + (merged to 'next' on 2019-01-18 at 6714547e6d)
144 + + filter-options: expand scaled numbers
145 + (this branch uses md/list-objects-filter-by-depth and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
146
150 - There were many places the code relied on the string returned from
151 - getenv() to be non-volatile, which is not true, that have been
152 - corrected.
147 + Update the protocol message specification to allow only the limited
148 + use of scaled quantities. This is ensure potential compatibility
149 + issues will not go out of hand.
150
151
155 -* js/add-e-clear-patch-before-stating (2019-01-15) 1 commit
156 - (merged to 'next' on 2019-01-18 at 9ea7fc4b49)
157 - + add --edit: truncate the patch file
152 +* js/mingw-unc-path-w-backslashes (2019-01-18) 2 commits
153 + (merged to 'next' on 2019-01-29 at 3adc177c1e)
154 + + mingw: special-case arguments to `sh`
155 + + mingw (t5580): document bug when cloning from backslashed UNC paths
156
159 - "git add -e" got confused when the change it wants to let the user
160 - edit is smaller than the previous change that was left over in a
161 - temporary file.
157 + In Git for Windows, "git clone \\server\share\path" etc. that uses
158 + UNC paths from command line had bad interaction with its shell
159 + emulation.
160
161
164 -* js/rebase-i-redo-exec (2018-12-11) 3 commits
165 - (merged to 'next' on 2019-01-18 at 71be3fedb7)
166 - + rebase: introduce a shortcut for --reschedule-failed-exec
167 - + rebase: add a config option to default to --reschedule-failed-exec
168 - + rebase: introduce --reschedule-failed-exec
162 +* js/t6042-timing-fix (2019-01-17) 1 commit
163 + (merged to 'next' on 2019-01-29 at 9543c96249)
164 + + t6042: work around speed optimization on Windows
165
170 - "git rebase -i" learned to re-execute a command given with 'exec'
171 - to run after it failed the last time.
166 + Test update.
167
168
174 -* jt/fetch-pack-v2 (2019-01-10) 1 commit
175 - (merged to 'next' on 2019-01-18 at 75ceb55ff8)
176 - + fetch-pack: support protocol version 2
169 +* js/test-git-installed (2019-01-22) 1 commit
170 + (merged to 'next' on 2019-01-29 at bab6eabb20)
171 + + tests: explicitly use `test-tool.exe` on Windows
172
178 - "git fetch-pack" now can talk the version 2 protocol.
173 + Test fix for Windows.
174
175
181 -* jt/upload-pack-deepen-relative-proto-v2 (2019-01-10) 2 commits
182 - (merged to 'next' on 2019-01-18 at 1483ad21db)
183 - + upload-pack: teach deepen-relative in protocol v2
184 - + fetch-pack: do not take shallow lock unnecessarily
176 +* jt/fetch-v2-sideband (2019-01-17) 5 commits
177 + (merged to 'next' on 2019-01-29 at c8c6f11f77)
178 + + tests: define GIT_TEST_SIDEBAND_ALL
179 + + {fetch,upload}-pack: sideband v2 fetch response
180 + + sideband: reverse its dependency on pkt-line
181 + + pkt-line: introduce struct packet_writer
182 + + Merge branch 'ms/packet-err-check' into jt/fetch-v2-sideband
183 + (this branch uses ms/packet-err-check.)
184
186 - "git fetch --deepen=<more>" has been corrected to work over v2
187 - protocol.
185 + "git fetch" and "git upload-pack" learned to send all exchange over
186 + the sideband channel while talking the v2 protocol.
187
188
190 -* kg/external-diff-save-env (2019-01-11) 1 commit
191 - (merged to 'next' on 2019-01-14 at 8281bbd48b)
192 - + diff: ensure correct lifetime of external_diff_cmd
189 +* jt/get-reference-with-commit-graph (2018-12-28) 1 commit
190 + (merged to 'next' on 2019-01-18 at bfc4eb9411)
191 + + revision: use commit graph in get_reference()
192 + (this branch uses sb/more-repo-in-api; is tangled with js/filter-options-should-use-plain-int and md/list-objects-filter-by-depth.)
193
194 - The code to drive GIT_EXTERNAL_DIFF command relied on the string
195 - returned from getenv() to be non-volatile, which is not true, that
196 - has been corrected.
194 + Micro-optimize the code that prepares commit objects to be walked
195 + by "git rev-list" when the commit-graph is available.
196
197
199 -* ms/http-no-more-failonerror (2019-01-10) 5 commits
200 - (merged to 'next' on 2019-01-18 at 8938d70b6d)
201 - + test: test GIT_CURL_VERBOSE=1 shows an error
202 - + remote-curl: unset CURLOPT_FAILONERROR
203 - + remote-curl: define struct for CURLOPT_WRITEFUNCTION
204 - + http: enable keep_error for HTTP requests
205 - + http: support file handles for HTTP_KEEP_ERROR
198 +* jt/namespaced-ls-refs-fix (2019-01-18) 1 commit
199 + (merged to 'next' on 2019-01-29 at 049530f499)
200 + + ls-refs: filter refs using namespace-stripped name
201
207 - Debugging help for http transport.
202 + Fix namespace support in protocol v2.
203
204
210 -* os/rebase-runs-post-checkout-hook (2019-01-02) 2 commits
211 - (merged to 'next' on 2019-01-18 at a03d536318)
212 - + rebase: run post-checkout hook on checkout
213 - + t5403: simplify by using a single repository
205 +* ld/git-p4-shelve-update-fix (2019-01-18) 2 commits
206 + (merged to 'next' on 2019-01-29 at 02e8752ec8)
207 + + git-p4: handle update of moved/copied files when updating a shelve
208 + + git-p4: add failing test for shelved CL update involving move/copy
209
215 - "git rebase" internally runs "checkout" to switch between branches,
216 - and the command used to call the post-checkout hook, but the
217 - reimplementation stopped doing so, which is getting fixed.
210 + "git p4" failed to update a shelved change when there were moved
211 + files, which has been corrected.
212
213
220 -* pw/diff-color-moved-ws-fix (2019-01-10) 9 commits
221 - (merged to 'next' on 2019-01-18 at e19713c82f)
222 - + diff --color-moved-ws: handle blank lines
223 - + diff --color-moved-ws: modify allow-indentation-change
224 - + diff --color-moved-ws: optimize allow-indentation-change
225 - + diff --color-moved=zebra: be stricter with color alternation
226 - + diff --color-moved-ws: fix false positives
227 - + diff --color-moved-ws: demonstrate false positives
228 - + diff: allow --no-color-moved-ws
229 - + Use "whitespace" consistently
230 - + diff: document --no-color-moved
214 +* md/list-objects-filter-by-depth (2019-01-15) 4 commits
215 + + tree:<depth>: skip some trees even when collecting omits
216 + + list-objects-filter: teach tree:# how to handle >0
217 + + Merge branch 'nd/the-index' into md/list-objects-filter-by-depth
218 + + Merge branch 'sb/more-repo-in-api' into md/list-objects-filter-by-depth
219 + (this branch is used by js/filter-options-should-use-plain-int; uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
220
232 - "git diff --color-moved-ws" updates.
221
222 +* ms/packet-err-check (2019-01-02) 2 commits
223 + + pack-protocol.txt: accept error packets in any context
224 + + Use packet_reader instead of packet_read_line
225 + (this branch is used by jt/fetch-v2-sideband.)
226
235 -* sb/submodule-recursive-fetch-gets-the-tip (2018-12-09) 9 commits
236 - (merged to 'next' on 2019-01-18 at 79a2809fbc)
237 - + fetch: ensure submodule objects fetched
238 - + submodule.c: fetch in submodules git directory instead of in worktree
239 - + submodule: migrate get_next_submodule to use repository structs
240 - + repository: repo_submodule_init to take a submodule struct
241 - + submodule: store OIDs in changed_submodule_names
242 - + submodule.c: tighten scope of changed_submodule_names struct
243 - + submodule.c: sort changed_submodule_names before searching it
244 - + submodule.c: fix indentation
245 - + sha1-array: provide oid_array_filter
227 + Error checking of data sent over the pack-protocol has been
228 + revamped so that error packets are always diagnosed properly.
229
247 - "git fetch --recurse-submodules" may not fetch the necessary commit
248 - that is bound to the superproject, which is getting corrected.
230
250 ---------------------------------------------------
251 -[Cooking]
231 +* nd/fetch-compact-update (2019-01-27) 1 commit
232 + (merged to 'next' on 2019-01-29 at b78e8841b0)
233 + + fetch: prefer suffix substitution in compact fetch.output
234
253 -* js/filter-options-should-use-plain-int (2019-01-15) 1 commit
254 - (merged to 'next' on 2019-01-18 at 6714547e6d)
255 - + filter-options: expand scaled numbers
256 - (this branch uses md/list-objects-filter-by-depth and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
235 + "git fetch" output cleanup.
236
258 - Update the protocol message specification to allow only the limited
259 - use of scaled quantities. This is ensure potential compatibility
260 - issues will not go out of hand.
237
262 - Will merge to 'master'.
238 +* ph/pack-objects-mutex-fix (2019-01-28) 2 commits
239 + (merged to 'next' on 2019-01-29 at 7c886f6c33)
240 + + pack-objects: merge read_lock and lock in packing_data struct
241 + + pack-objects: move read mutex to packing_data struct
242
243 + "git pack-objects" incorrectly used uninitialized mutex, which has
244 + been corrected.
245
265 -* jt/get-reference-with-commit-graph (2018-12-28) 1 commit
266 - (merged to 'next' on 2019-01-18 at bfc4eb9411)
267 - + revision: use commit graph in get_reference()
268 - (this branch uses sb/more-repo-in-api; is tangled with js/filter-options-should-use-plain-int and md/list-objects-filter-by-depth.)
246
270 - Micro-optimize the code that prepares commit objects to be walked
271 - by "git rev-list" when the commit-graph is available.
247 +* pw/no-editor-in-rebase-i-implicit (2019-01-28) 1 commit
248 + (merged to 'next' on 2019-01-29 at 9d06993725)
249 + + implicit interactive rebase: don't run sequence editor
250
273 - Will merge to 'master'.
251 + When GIT_SEQUENCE_EDITOR is set, the command was incorrectly
252 + started when modes of "git rebase" that implicitly uses the
253 + machinery for the interactive rebase are run, which has been
254 + corrected.
255
256
257 * sb/more-repo-in-api (2018-12-28) 23 commits
@@ -301,324 +282,332 @@ of the repositories listed at
282
283 The in-core repository instances are passed through more codepaths.
284
304 - Will merge to 'master'.
285
286 +* sg/object-as-type-commit-graph-fix (2019-01-27) 1 commit
287 + (merged to 'next' on 2019-01-29 at cc714a044a)
288 + + object_as_type: initialize commit-graph-related fields of 'struct commit'
289
307 -* br/commit-tree-fully-spelled-gpg-sign-option (2019-01-22) 2 commits
308 - - commit-tree: add missing --gpg-sign flag
309 - - t7510: invoke git as part of &&-chain
290 + The commit-graph facility did not work when in-core objects that
291 + are promoted from unknown type to commit (e.g. a commit that is
292 + accessed via a tag that refers to it) were involved, which has been
293 + corrected.
294
311 - The documentation of "git commit-tree" said that the command
312 - understands "--gpg-sign" in addition to "-S", but the command line
313 - parser did not know about the longhand, which has been corrected.
295
315 - Will merge to 'next'.
296 +* sg/obstack-cast-function-type-fix (2019-01-17) 1 commit
297 + (merged to 'next' on 2019-01-29 at 568cafa7f4)
298 + + compat/obstack: fix -Wcast-function-type warnings
299
300 + The compat/obstack code had casts that -Wcast-function-type
301 + compilation option found questionable.
302
318 -* dt/cat-file-batch-ambiguous (2019-01-18) 2 commits
319 - - t1512: test ambiguous cat-file --batch and --batch-output
320 - - Do not print 'dangling' for cat-file in case of ambiguity
303
322 - Needswork on the tip commit.
323 - cf. <20190123111117.GS840@szeder.dev>
304 +* sg/strbuf-addbuf-cocci (2019-01-27) 1 commit
305 + (merged to 'next' on 2019-01-29 at a9f7279d38)
306 + + strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other
307
308 + Cocci rule update.
309
326 -* jk/attr-macro-fix (2019-01-22) 1 commit
327 - (merged to 'next' on 2019-01-29 at 740df172e1)
328 - + attr: do not mark queried macros as unset
310 +--------------------------------------------------
311 +[New Topics]
312
330 - Asking "git check-attr" about a macro (e.g. "binary") on a specific
331 - path did not work correctly, even though "git check-attr -a" listed
332 - such a macro correctly. This has been corrected.
313 +* ab/diff-tree-doc-fix (2019-02-04) 1 commit
314 + (merged to 'next' on 2019-02-05 at 123f48fa2e)
315 + + diff-tree doc: correct & remove wrong documentation
316 +
317 + Doc fix.
318
319 Will merge to 'master'.
320
321
337 -* js/test-git-installed (2019-01-22) 1 commit
338 - (merged to 'next' on 2019-01-29 at bab6eabb20)
339 - + tests: explicitly use `test-tool.exe` on Windows
322 +* bc/fetch-pack-clear-alternate-shallow (2019-02-04) 1 commit
323 + (merged to 'next' on 2019-02-05 at 14392fb6b2)
324 + + fetch-pack: clear alternate shallow when complete
325
341 - Test fix for Windows.
326 + "git fetch" over protocol v2 that needs to make a second connection
327 + to backfill tags did not clear a variable that holds shallow
328 + repository information correctly, leading to an access of freed
329 + piece of memory.
330
331 Will merge to 'master'.
332
333
346 -* ph/pack-objects-mutex-fix (2019-01-28) 2 commits
347 - (merged to 'next' on 2019-01-29 at 7c886f6c33)
348 - + pack-objects: merge read_lock and lock in packing_data struct
349 - + pack-objects: move read mutex to packing_data struct
334 +* dm/some-stdio-functions-are-macro-on-freebsd (2019-02-01) 1 commit
335 + - http: cast result to FILE *
336
351 - "git pack-objects" incorrectly used uninitialized mutex, which has
352 - been corrected.
337 + Variants of BSD define fileno(fh) as a macro, breaking a program
338 + that passes a "void *" to it.
339
354 - Will merge to 'master'.
340 + Expecting a reroll.
341 + cf. <49B9198C-53E5-42BD-8834-B1EDEB3332CB@usask.ca>
342
343
357 -* sb/submodule-abort-update-upon-config-failure (2019-01-18) 1 commit
358 - - git-submodule: abort if core.worktree could not be set correctly
344 +* en/combined-all-paths (2019-02-04) 1 commit
345 + - log,diff-tree: add --combined-all-names option
346
360 - "git submodule update" learned to abort early when core.worktree
361 - for the submodule is not set correctly to prevent spreading damage.
347 + Output from "diff --cc" did not show the original paths when the
348 + merge involved renames. A new option adds the paths in the
349 + original trees to the output.
350
363 - Will merge to 'next'.
351 + Expecting a reroll.
352 + cf. <CABPp-BGyL5BAejK-P-EdscFdH3C6uR7e6CbgNe-9doy-mkw-vg@mail.gmail.com>
353
354
366 -* tb/test-lint-sed-options (2019-01-28) 1 commit
367 - - test-lint: only use only sed [-n] [-e command] [-f command_file]
355 +* js/rebase-i-redo-exec-fix (2019-02-05) 1 commit
356 + - Revert "rebase: introduce a shortcut for --reschedule-failed-exec"
357
369 - The test lint learned to catch non-portable "sed" options.
358 + For "rebase -i --reschedule-failed-exec", we do not want the "-y"
359 + shortcut after all.
360
371 - Will merge to 'next'.
361 + Waiting for a clarification for the log message.
362 + cf. <xmqqzhraru5x.fsf@gitster-ct.c.googlers.com>
363
364
374 -* tb/utf-16-le-with-explicit-bom (2019-01-22) 1 commit
375 - - Support working-tree-encoding "UTF-16LE-BOM"
365
377 - A new encoding UTF-16LE-BOM has been invented to force encoding to
378 - UTF-16 with BOM in little endian byte order, which cannot be directly
379 - generated by using iconv.
366 +* ma/doc-diff-usage-fix (2019-02-04) 1 commit
367 + (merged to 'next' on 2019-02-05 at 18f3f4bc59)
368 + + doc-diff: don't `cd_to_toplevel`
369
381 - Hold.
382 - cf. <20190129072228.dcyyjpcgqk7c44j4@tb-raspi4>
370 + Running "Documentation/doc-diff x" from anywhere other than the
371 + top-level of the working tree did not show the usage string
372 + correctly, which has been fixed.
373
374 + Will merge to 'master'.
375
385 -* ja/doc-style-fix (2019-01-23) 1 commit
386 - (merged to 'next' on 2019-01-29 at 5b520a6fd3)
387 - + doc: tidy asciidoc style
376
389 - Doc typo/stylo fixes.
377 +* nd/commit-doc (2019-02-04) 1 commit
378 + (merged to 'next' on 2019-02-05 at 07b341767e)
379 + + git-commit.txt: better description what it does
380 +
381 + Doc update.
382
383 Will merge to 'master'.
384
385
394 -* az/instaweb-py3-http-server (2019-01-28) 1 commit
395 - (merged to 'next' on 2019-01-29 at 82f06b6774)
396 - + git-instaweb: add Python builtin http.server support
386 +* nd/help-align-command-desc (2019-01-31) 1 commit
387 + (merged to 'next' on 2019-02-05 at 8339c1a46e)
388 + + help: align the longest command in the command listing
389
398 - "git instaweb" learned to drive http.server that comes with
399 - "batteries included" Python installation (both Python2 & 3).
390 + Output from "git help" was not correctly aligned, which has been
391 + fixed.
392
393 Will merge to 'master'.
394
395
404 -* jh/trace2 (2019-01-28) 14 commits
405 - - trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh
406 - - trace2:data: add subverb for rebase
407 - - trace2:data: add subverb to reset command
408 - - trace2:data: add subverb to checkout command
409 - - pack-objects: add trace2 regions
410 - - trace2:data: add trace2 instrumentation to index read/write
411 - - trace2:data: add trace2 hook classification
412 - - trace2:data: add trace2 transport child classification
413 - - trace2:data: add trace2 sub-process classification
414 - - trace2:data: add editor/pager child classification
415 - - trace2:data: add trace2 regions to wt-status
416 - - trace2: collect platform-specific process information
417 - - trace2: create new combined trace facility
418 - - trace2: Documentation/technical/api-trace2.txt
396 +* rj/sparse-flags (2019-02-05) 2 commits
397 + (merged to 'next' on 2019-02-05 at 7c9a7b7ee9)
398 + + Makefile: improve SPARSE_FLAGS customisation
399 + + config.mak.uname: remove obsolete SPARSE_FLAGS setting
400
420 - A more structured way to obtain execution trace has been added.
401 + Use of the sparse tool got easier to customize from the command
402 + line to help developers.
403
422 - Ready?
404 + Will merge to 'master'.
405
406
425 -* jk/diff-cc-stat-fixes (2019-01-24) 6 commits
426 - (merged to 'next' on 2019-01-29 at 8bd04f1749)
427 - + combine-diff: treat --dirstat like --stat
428 - + combine-diff: treat --summary like --stat
429 - + combine-diff: treat --shortstat like --stat
430 - + combine-diff: factor out stat-format mask
431 - + diff: clear emitted_symbols flag after use
432 - + t4006: resurrect commented-out tests
407 +* sg/travis-osx-brew-breakage-workaround (2019-02-04) 1 commit
408 + (merged to 'next' on 2019-02-05 at 6a1d957040)
409 + + travis-ci: make the OSX build jobs' 'brew update' more quiet
410
434 - "git diff --color-moved --cc --stat -p" did not work well due to
435 - funny interaction between a bug in color-moved and the rest, which
436 - has been fixed.
411 + The way the OSX build jobs updates its build environment used the
412 + "--quiet" option to "brew update" command, but it wasn't all that
413 + quiet to be useful. The use of the option has been replaced with
414 + an explicit redirection to the /dev/null (which incidentally would
415 + have worked around a breakage by recent updates to homebrew, which
416 + has fixed itself already).
417
418 Will merge to 'master'.
419
420
441 -* jk/unused-parameter-cleanup (2019-01-24) 8 commits
442 - - convert: drop path parameter from actual conversion functions
443 - - convert: drop len parameter from conversion checks
444 - - config: drop unused parameter from maybe_remove_section()
445 - - show_date_relative(): drop unused "tz" parameter
446 - - column: drop unused "opts" parameter in item_length()
447 - - create_bundle(): drop unused "header" parameter
448 - - apply: drop unused "def" parameter from find_name_gnu()
449 - - match-trees: drop unused path parameter from score functions
450 -
451 - Code cleanup.
452 -
453 - Will merge to 'next'.
421 +* sh/submodule-summary-abbrev-fix (2019-02-04) 1 commit
422 + (merged to 'next' on 2019-02-05 at b45b39c30b)
423 + + git-submodule.sh: shorten submodule SHA-1s using rev-parse
424
425 + The "git submodule summary" subcommand showed shortened commit
426 + object names by mechanically truncating them at 7-hexdigit, which
427 + has been improved to let "rev-parse --short" scale the length of
428 + the abbreviation with the size of the repository.
429
456 -* nd/fetch-compact-update (2019-01-27) 1 commit
457 - (merged to 'next' on 2019-01-29 at b78e8841b0)
458 - + fetch: prefer suffix substitution in compact fetch.output
430 + Will merge to 'master'.
431
460 - "git fetch" output cleanup.
432 +
433 +* sl/const (2019-02-04) 1 commit
434 + (merged to 'next' on 2019-02-05 at a085045a37)
435 + + various: tighten constness of some local variables
436 +
437 + Code cleanup.
438
439 Will merge to 'master'.
440
441
465 -* sg/object-as-type-commit-graph-fix (2019-01-27) 1 commit
466 - (merged to 'next' on 2019-01-29 at cc714a044a)
467 - + object_as_type: initialize commit-graph-related fields of 'struct commit'
442 +* ss/describe-dirty-in-the-right-directory (2019-02-04) 2 commits
443 + (merged to 'next' on 2019-02-05 at e4a3303e12)
444 + + t6120: test for describe with a bare repository
445 + + describe: setup working tree for --dirty
446
469 - The commit-graph facility did not work when in-core objects that
470 - are promoted from unknown type to commit (e.g. a commit that is
471 - accessed via a tag that refers to it) were involved, which has been
447 + "git --work-tree=$there --git-dir=$here describe --dirty" did not
448 + work correctly as it did not pay attention to the location of the
449 + worktree specified by the user by mistake, which has been
450 corrected.
451
452 Will merge to 'master'.
453
454 +--------------------------------------------------
455 +[Cooking]
456
477 -* sg/strbuf-addbuf-cocci (2019-01-27) 1 commit
478 - (merged to 'next' on 2019-01-29 at a9f7279d38)
479 - + strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other
457 +* km/init-doc-typofix (2019-01-31) 1 commit
458 + (merged to 'next' on 2019-02-05 at ee90a62a1c)
459 + + init docs: correct a punctuation typo
460
481 - Cocci rule update.
461 + Docfix.
462
463 Will merge to 'master'.
464
465
486 -* sx/evolve (2019-01-27) 8 commits
487 - . evolve: add the 'git change list' command
488 - . evolve: implement the 'git change' command
489 - . evolve: add support for writing metacommits
490 - . evolve: add the change-table structure
491 - . evolve: add support for parsing metacommits
492 - . ref-filter: add the metas namespace to ref-filter
493 - . sha1-array: implement oid_array_readonly_contains()
494 - . technical doc: add a design doc for the evolve command
466 +* ds/commit-graph-format-v2 (2019-01-29) 8 commits
467 + - SQUASH : misnamed variables and style fix
468 + - commit-graph: test verifying a corrupt v2 header
469 + - commit-graph: implement file format version 2
470 + - commit-graph: add --version=<n> option
471 + - commit-graph: create new version flags
472 + - commit-graph: collapse parameters into flags
473 + - commit-graph: return with errors during write
474 + - Merge branch 'bc/sha-256' into ds/commit-graph-format-v2
475
496 - The beginning of "hg evolve" mimicry.
476 + Introduce version 2 of the commit-graph format to correct
477 + deficiency in the initial version.
478
479
499 -* jk/autocrlf-overrides-eol-doc (2019-01-29) 2 commits
500 - - docs/config: clarify "text property" in core.eol
501 - - doc/gitattributes: clarify "autocrlf overrides eol"
480 +* ds/coverage-prove (2019-01-29) 1 commit
481 + - Makefile: add coverage-prove target
482
503 - Documentation around core.crlf has been updated.
483 + A new target "coverage-prove" to run the coverage test under
484 + "prove" has been added.
485
486 Will merge to 'next'.
487
488
508 -* pw/no-editor-in-rebase-i-implicit (2019-01-28) 1 commit
509 - (merged to 'next' on 2019-01-29 at 9d06993725)
510 - + implicit interactive rebase: don't run sequence editor
489 +* br/commit-tree-fully-spelled-gpg-sign-option (2019-01-22) 2 commits
490 + (merged to 'next' on 2019-02-05 at a0a1e30471)
491 + + commit-tree: add missing --gpg-sign flag
492 + + t7510: invoke git as part of &&-chain
493
512 - When GIT_SEQUENCE_EDITOR is set, the command was incorrectly
513 - started when modes of "git rebase" that implicitly uses the
514 - machinery for the interactive rebase are run, which has been
515 - corrected.
494 + The documentation of "git commit-tree" said that the command
495 + understands "--gpg-sign" in addition to "-S", but the command line
496 + parser did not know about the longhand, which has been corrected.
497
498 Will merge to 'master'.
499
500
520 -* pw/rebase-x-sanity-check (2019-01-29) 1 commit
521 - - rebase -x: sanity check command
501 +* dt/cat-file-batch-ambiguous (2019-01-31) 2 commits
502 + (merged to 'next' on 2019-02-05 at 121d162945)
503 + + t1512: test ambiguous cat-file --batch and --batch-output
504 + + Do not print 'dangling' for cat-file in case of ambiguity
505
523 - "git rebase -x $cmd" did not reject multi-line command, even though
524 - the command is incapable of handling such a command. It now is
525 - rejected upfront.
506 + "git cat-file --batch" reported a dangling symbolic link by
507 + mistake, when it wanted to report that a given name is ambiguous.
508
527 - Will merge to 'next'.
509 + Will merge to 'master'.
510
511
530 -* ab/commit-graph-write-optim (2019-01-22) 1 commit
531 - (merged to 'next' on 2019-01-29 at 17c894dfec)
532 - + commit-graph write: use pack order when finding commits
533 - (this branch is used by ab/commit-graph-write-progress and ds/commit-graph-format-v2.)
512 +* sb/submodule-abort-update-upon-config-failure (2019-01-18) 1 commit
513 + (merged to 'next' on 2019-02-05 at 85da48a9a5)
514 + + git-submodule: abort if core.worktree could not be set correctly
515
535 - The codepath to write out commit-graph has been optimized by
536 - following the usual pattern of visiting objects in in-pack order.
516 + "git submodule update" learned to abort early when core.worktree
517 + for the submodule is not set correctly to prevent spreading damage.
518
519 Will merge to 'master'.
520
521
541 -* ab/commit-graph-write-progress (2019-01-23) 9 commits
542 - (merged to 'next' on 2019-01-29 at e086b1cba6)
543 - + commit-graph write: emit a percentage for all progress
544 - + commit-graph write: add itermediate progress
545 - + commit-graph write: remove empty line for readability
546 - + commit-graph write: add more descriptive progress output
547 - + commit-graph write: show progress for object search
548 - + commit-graph write: more descriptive "writing out" output
549 - + commit-graph write: add "Writing out" progress output
550 - + commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily
551 - + commit-graph: rename "large edges" to "extra edges"
552 - (this branch is used by ds/commit-graph-format-v2; uses ab/commit-graph-write-optim.)
522 +* tb/test-lint-sed-options (2019-01-28) 1 commit
523 + (merged to 'next' on 2019-02-05 at dec383d823)
524 + + test-lint: only use only sed [-n] [-e command] [-f command_file]
525
554 - The codepath to show progress meter while writing out commit-graph
555 - file has been improved.
526 + The test lint learned to catch non-portable "sed" options.
527
528 Will merge to 'master'.
529
530
560 -* cc/test-ref-store-typofix (2019-01-17) 1 commit
561 - (merged to 'next' on 2019-01-29 at 0cd264f864)
562 - + helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo
531 +* tb/utf-16-le-with-explicit-bom (2019-01-31) 1 commit
532 + (merged to 'next' on 2019-02-05 at 43ac83e06e)
533 + + Support working-tree-encoding "UTF-16LE-BOM"
534
564 - An obvious typo in an assertion error message has been fixed.
535 + A new encoding UTF-16LE-BOM has been invented to force encoding to
536 + UTF-16 with BOM in little endian byte order, which cannot be directly
537 + generated by using iconv.
538
539 Will merge to 'master'.
540
541
569 -* jk/add-ignore-errors-bit-assignment-fix (2019-01-17) 1 commit
570 - (merged to 'next' on 2019-01-29 at a4ac7ccd4f)
571 - + add: use separate ADD_CACHE_RENORMALIZE flag
542 +* jh/trace2 (2019-02-01) 15 commits
543 + - trace2: add for_each macros to clang-format
544 + - trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh
545 + - trace2:data: add subverb for rebase
546 + - trace2:data: add subverb to reset command
547 + - trace2:data: add subverb to checkout command
548 + - trace2:data: pack-objects: add trace2 regions
549 + - trace2:data: add trace2 instrumentation to index read/write
550 + - trace2:data: add trace2 hook classification
551 + - trace2:data: add trace2 transport child classification
552 + - trace2:data: add trace2 sub-process classification
553 + - trace2:data: add editor/pager child classification
554 + - trace2:data: add trace2 regions to wt-status
555 + - trace2: collect Windows-specific process information
556 + - trace2: create new combined trace facility
557 + - trace2: Documentation/technical/api-trace2.txt
558
573 - "git add --ignore-errors" did not work as advertised and instead
574 - worked as an unintended synonym for "git add --renormalize", which
575 - has been fixed.
559 + A more structured way to obtain execution trace has been added.
560
577 - Will merge to 'master'.
561 + Still needs some fix-ups.
562 + cf. <d91d1d89-5759-2006-7b38-4211db5988af@jeffhostetler.com>
563
564
580 -* js/mingw-unc-path-w-backslashes (2019-01-18) 2 commits
581 - (merged to 'next' on 2019-01-29 at 3adc177c1e)
582 - + mingw: special-case arguments to `sh`
583 - + mingw (t5580): document bug when cloning from backslashed UNC paths
565 +* jk/unused-parameter-cleanup (2019-01-24) 8 commits
566 + (merged to 'next' on 2019-02-05 at 213400362c)
567 + + convert: drop path parameter from actual conversion functions
568 + + convert: drop len parameter from conversion checks
569 + + config: drop unused parameter from maybe_remove_section()
570 + + show_date_relative(): drop unused "tz" parameter
571 + + column: drop unused "opts" parameter in item_length()
572 + + create_bundle(): drop unused "header" parameter
573 + + apply: drop unused "def" parameter from find_name_gnu()
574 + + match-trees: drop unused path parameter from score functions
575
585 - In Git for Windows, "git clone \\server\share\path" etc. that uses
586 - UNC paths from command line had bad interaction with its shell
587 - emulation.
576 + Code cleanup.
577
578 Will merge to 'master'.
579
580
592 -* js/t6042-timing-fix (2019-01-17) 1 commit
593 - (merged to 'next' on 2019-01-29 at 9543c96249)
594 - + t6042: work around speed optimization on Windows
595 -
596 - Test update.
581 +* sx/evolve (2019-01-27) 8 commits
582 + . evolve: add the 'git change list' command
583 + . evolve: implement the 'git change' command
584 + . evolve: add support for writing metacommits
585 + . evolve: add the change-table structure
586 + . evolve: add support for parsing metacommits
587 + . ref-filter: add the metas namespace to ref-filter
588 + . sha1-array: implement oid_array_readonly_contains()
589 + . technical doc: add a design doc for the evolve command
590
598 - Will merge to 'master'.
591 + The beginning of "hg evolve" mimicry.
592
593
601 -* jt/namespaced-ls-refs-fix (2019-01-18) 1 commit
602 - (merged to 'next' on 2019-01-29 at 049530f499)
603 - + ls-refs: filter refs using namespace-stripped name
594 +* jk/autocrlf-overrides-eol-doc (2019-01-29) 2 commits
595 + (merged to 'next' on 2019-02-05 at 2b372ed6e9)
596 + + docs/config: clarify "text property" in core.eol
597 + + doc/gitattributes: clarify "autocrlf overrides eol"
598
605 - Fix namespace support in protocol v2.
599 + Documentation around core.crlf has been updated.
600
601 Will merge to 'master'.
602
603
610 -* bp/checkout-new-branch-optim (2019-01-23) 2 commits
611 - (merged to 'next' on 2019-01-29 at 89d690634d)
612 - + checkout: fix regression in checkout -b on intitial checkout
613 - + checkout: add test demonstrating regression with checkout -b on initial commit
604 +* pw/rebase-x-sanity-check (2019-01-29) 1 commit
605 + (merged to 'next' on 2019-02-05 at 9f087a617a)
606 + + rebase -x: sanity check command
607
615 - "git checkout -b <new> [HEAD]" to create a new branch from the
616 - current commit and check it out ought to be a no-op in the index
617 - and the working tree in normal cases, but there are corner cases
618 - that do require updates to the index and the working tree. Running
619 - it immediately after "git clone --no-checkout" is one of these
620 - cases that an earlier optimization kicked in incorrectly, which has
621 - been fixed.
608 + "git rebase -x $cmd" did not reject multi-line command, even though
609 + the command is incapable of handling such a command. It now is
610 + rejected upfront.
611
612 Will merge to 'master'.
613
@@ -634,54 +623,43 @@ of the repositories listed at
623 Is this ready for 'next'?
624
625
637 -* js/abspath-part-inside-repo (2019-01-18) 1 commit
638 - (merged to 'next' on 2019-01-29 at ac642158ec)
639 - + abspath_part_inside_repo: respect core.ignoreCase
640 -
641 - On a case-insensitive filesystem, we failed to compare the part of
642 - the path that is above the worktree directory in an absolute
643 - pathname, which has been corrected.
644 -
645 - Will merge to 'master'.
646 -
647 -
626 * nd/diff-parseopt (2019-01-27) 14 commits
649 - - diff.c: convert --raw
650 - - diff.c: convert -W|--[no-]function-context
651 - - diff.c: convert -U|--unified
652 - - diff.c: convert -u|-p|--patch
653 - - diff.c: prepare to use parse_options() for parsing
654 - - diff.h: avoid bit fields in struct diff_flags
655 - - diff.h: keep forward struct declarations sorted
656 - - parse-options: allow ll_callback with OPTION_CALLBACK
657 - - parse-options: avoid magic return codes
658 - - parse-options: stop abusing 'callback' for lowlevel callbacks
659 - - parse-options: add OPT_BITOP()
660 - - parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
661 - - parse-options: add one-shot mode
662 - - parse-options.h: remove extern on function prototypes
627 + (merged to 'next' on 2019-02-05 at 7c4b79aa79)
628 + + diff.c: convert --raw
629 + + diff.c: convert -W|--[no-]function-context
630 + + diff.c: convert -U|--unified
631 + + diff.c: convert -u|-p|--patch
632 + + diff.c: prepare to use parse_options() for parsing
633 + + diff.h: avoid bit fields in struct diff_flags
634 + + diff.h: keep forward struct declarations sorted
635 + + parse-options: allow ll_callback with OPTION_CALLBACK
636 + + parse-options: avoid magic return codes
637 + + parse-options: stop abusing 'callback' for lowlevel callbacks
638 + + parse-options: add OPT_BITOP()
639 + + parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
640 + + parse-options: add one-shot mode
641 + + parse-options.h: remove extern on function prototypes
642
643 The diff machinery, one of the oldest parts of the system, which
644 long predates the parse-options API, uses fairly long and complex
645 handcrafted option parser. This is being rewritten to use the
646 parse-options API.
647
669 - Will merge to 'next'.
648 + Will cook in 'next', waiting for the remainder.
649 Looking good.
650
651
673 -* sc/pack-redundant (2019-01-14) 5 commits
652 +* sc/pack-redundant (2019-02-04) 6 commits
653 - pack-redundant: consistent sort method
654 - pack-redundant: rename pack_list.all_objects
676 - - pack-redundant: remove unused functions
655 - pack-redundant: new algorithm to find min packs
656 + - pack-redundant: delete redundant code
657 + - pack-redundant: delay creation of unique_objects
658 - t5323: test cases for git-pack-redundant
659
660 Update the implementation of pack-redundant for performance in a
661 repository with many packfiles.
662
683 - Comments?
684 -
663
664 * nd/config-move-to (2019-01-14) 7 commits
665 - config.h: fix hdr-check warnings
@@ -696,50 +674,15 @@ of the repositories listed at
674
675
676 * sg/travis-specific-cc (2019-01-17) 4 commits
699 - - travis-ci: build with the right compiler
700 - - travis-ci: switch to Xcode 10.1 macOS image
701 - - travis-ci: don't be '--quiet' when running the tests
702 - - .gitignore: ignore external debug symbols from GCC on macOS
677 + (merged to 'next' on 2019-02-05 at 3ecb3b6755)
678 + + travis-ci: build with the right compiler
679 + + travis-ci: switch to Xcode 10.1 macOS image
680 + + travis-ci: don't be '--quiet' when running the tests
681 + + .gitignore: ignore external debug symbols from GCC on macOS
682
683 The travis CI scripts have been corrected to build Git with the
684 compiler(s) of our choice.
685
707 - Will merge to 'next'.
708 -
709 -
710 -* sg/obstack-cast-function-type-fix (2019-01-17) 1 commit
711 - (merged to 'next' on 2019-01-29 at 568cafa7f4)
712 - + compat/obstack: fix -Wcast-function-type warnings
713 -
714 - The compat/obstack code had casts that -Wcast-function-type
715 - compilation option found questionable.
716 -
717 - Will merge to 'master'.
718 -
719 -
720 -* jt/fetch-v2-sideband (2019-01-17) 5 commits
721 - (merged to 'next' on 2019-01-29 at c8c6f11f77)
722 - + tests: define GIT_TEST_SIDEBAND_ALL
723 - + {fetch,upload}-pack: sideband v2 fetch response
724 - + sideband: reverse its dependency on pkt-line
725 - + pkt-line: introduce struct packet_writer
726 - + Merge branch 'ms/packet-err-check' into jt/fetch-v2-sideband
727 - (this branch uses ms/packet-err-check.)
728 -
729 - "git fetch" and "git upload-pack" learned to send all exchange over
730 - the sideband channel while talking the v2 protocol.
731 -
732 - Will merge to 'master'.
733 -
734 -
735 -* ld/git-p4-shelve-update-fix (2019-01-18) 2 commits
736 - (merged to 'next' on 2019-01-29 at 02e8752ec8)
737 - + git-p4: handle update of moved/copied files when updating a shelve
738 - + git-p4: add failing test for shelved CL update involving move/copy
739 -
740 - "git p4" failed to update a shelved change when there were moved
741 - files, which has been corrected.
742 -
686 Will merge to 'master'.
687
688
@@ -754,99 +697,88 @@ of the repositories listed at
697
698
699 * nd/the-index-final (2019-01-24) 11 commits
757 - - cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
758 - - read-cache.c: remove the_* from index_has_changes()
759 - - merge-recursive.c: remove implicit dependency on the_repository
760 - - merge-recursive.c: remove implicit dependency on the_index
761 - - sha1-name.c: remove implicit dependency on the_index
762 - - read-cache.c: replace update_index_if_able with repo_&
763 - - read-cache.c: kill read_index()
764 - - checkout: avoid the_index when possible
765 - - repository.c: replace hold_locked_index() with repo_hold_locked_index()
766 - - notes-utils.c: remove the_repository references
767 - - grep: use grep_opt->repo instead of explict repo argument
700 + (merged to 'next' on 2019-02-05 at 71b37c09a8)
701 + + cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
702 + + read-cache.c: remove the_* from index_has_changes()
703 + + merge-recursive.c: remove implicit dependency on the_repository
704 + + merge-recursive.c: remove implicit dependency on the_index
705 + + sha1-name.c: remove implicit dependency on the_index
706 + + read-cache.c: replace update_index_if_able with repo_&
707 + + read-cache.c: kill read_index()
708 + + checkout: avoid the_index when possible
709 + + repository.c: replace hold_locked_index() with repo_hold_locked_index()
710 + + notes-utils.c: remove the_repository references
711 + + grep: use grep_opt->repo instead of explict repo argument
712
713 The assumption to work on the single "in-core index" instance has
714 been reduced from the library-ish part of the codebase.
715
772 - Will merge to 'next'.
716 + Will merge to 'master'.
717
718
775 -* jp/author-committer-config (2019-01-02) 2 commits
776 - - DONTMERGE
777 - - Add author and committer configuration settings
719 +* wh/author-committer-ident-config (2019-02-04) 1 commit
720 + - config: allow giving separate author and committer idents
721
722 Four new configuration variables {author,committer}.{name,email}
723 have been introduced to override user.{name,email} in more specific
724 cases.
725
783 - Expecting a reroll.
784 - cf. <xmqq1s5uk6qh.fsf@gitster-ct.c.googlers.com>
785 - cf. <20190128233022.GA29068@whubbs1.gaikai.biz>
786 -
726
727 * js/rebase-am (2019-01-18) 4 commits
789 - - built-in rebase: call `git am` directly
790 - - rebase: teach `reset_head()` to optionally skip the worktree
791 - - rebase: avoid double reflog entry when switching branches
792 - - rebase: move `reset_head()` into a better spot
728 + (merged to 'next' on 2019-02-05 at cb92db8ecf)
729 + + built-in rebase: call `git am` directly
730 + + rebase: teach `reset_head()` to optionally skip the worktree
731 + + rebase: avoid double reflog entry when switching branches
732 + + rebase: move `reset_head()` into a better spot
733
734 Instead of going through "git-rebase--am" scriptlet to use the "am"
735 backend, the built-in version of "git rebase" learned to drive the
736 "am" backend directly.
737
798 - Will merge to 'next'.
799 -
800 -
801 -* ms/packet-err-check (2019-01-02) 2 commits
802 - + pack-protocol.txt: accept error packets in any context
803 - + Use packet_reader instead of packet_read_line
804 - (this branch is used by jt/fetch-v2-sideband.)
805 -
806 - Error checking of data sent over the pack-protocol has been
807 - revamped so that error packets are always diagnosed properly.
808 -
809 - Will merge to 'next'.
738 + Will merge to 'master'.
739
740
741 * tt/bisect-in-c (2019-01-02) 7 commits
813 - - bisect--helper: `bisect_start` shell function partially in C
814 - - bisect--helper: `get_terms` & `bisect_terms` shell function in C
815 - - bisect--helper: `bisect_next_check` shell function in C
816 - - bisect--helper: `check_and_set_terms` shell function in C
817 - - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
818 - - bisect--helper: `bisect_write` shell function in C
819 - - bisect--helper: `bisect_reset` shell function in C
742 + (merged to 'next' on 2019-02-05 at 1e5e00d24e)
743 + + bisect--helper: `bisect_start` shell function partially in C
744 + + bisect--helper: `get_terms` & `bisect_terms` shell function in C
745 + + bisect--helper: `bisect_next_check` shell function in C
746 + + bisect--helper: `check_and_set_terms` shell function in C
747 + + wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
748 + + bisect--helper: `bisect_write` shell function in C
749 + + bisect--helper: `bisect_reset` shell function in C
750
751 More code in "git bisect" has been rewritten in C.
752
823 - Will merge to 'next'.
753 + Will merge to 'master'.
754
755
756 * jk/loose-object-cache-oid (2019-01-08) 11 commits
827 - - prefer "hash mismatch" to "sha1 mismatch"
828 - - sha1-file: avoid "sha1 file" for generic use in messages
829 - - sha1-file: prefer "loose object file" to "sha1 file" in messages
830 - - sha1-file: drop has_sha1_file()
831 - - convert has_sha1_file() callers to has_object_file()
832 - - sha1-file: convert pass-through functions to object_id
833 - - sha1-file: modernize loose header/stream functions
834 - - sha1-file: modernize loose object file functions
835 - - http: use struct object_id instead of bare sha1
836 - - update comment references to sha1_object_info()
837 - - sha1-file: fix outdated sha1 comment references
757 + (merged to 'next' on 2019-02-05 at 5cbc954aa5)
758 + + prefer "hash mismatch" to "sha1 mismatch"
759 + + sha1-file: avoid "sha1 file" for generic use in messages
760 + + sha1-file: prefer "loose object file" to "sha1 file" in messages
761 + + sha1-file: drop has_sha1_file()
762 + + convert has_sha1_file() callers to has_object_file()
763 + + sha1-file: convert pass-through functions to object_id
764 + + sha1-file: modernize loose header/stream functions
765 + + sha1-file: modernize loose object file functions
766 + + http: use struct object_id instead of bare sha1
767 + + update comment references to sha1_object_info()
768 + + sha1-file: fix outdated sha1 comment references
769
770 Code clean-up.
771
841 - Will merge to 'next'.
772 + Will merge to 'master'.
773
774
775 * lt/date-human (2019-01-29) 5 commits
845 - - Add `human` date format tests.
846 - - Add `human` format to test-tool
847 - - Add 'human' date format documentation
848 - - Replace the proposed 'auto' mode with 'auto:'
849 - - Add 'human' date format
776 + (merged to 'next' on 2019-02-05 at f2850c9fc0)
777 + + Add `human` date format tests.
778 + + Add `human` format to test-tool
779 + + Add 'human' date format documentation
780 + + Replace the proposed 'auto' mode with 'auto:'
781 + + Add 'human' date format
782
783 A new date format "--date=human" that morphs its output depending
784 on how far the time is from the current time has been introduced.
@@ -854,7 +786,7 @@ of the repositories listed at
786 going to the pager or to the terminal and otherwise the default
787 format.
788
857 - Will merge to 'next'.
789 + Will merge to 'master'.
790
791
792 * ds/midx-expire-repack (2019-01-27) 10 commits
@@ -877,20 +809,23 @@ of the repositories listed at
809
810
811 * ds/push-sparse-tree-walk (2019-01-17) 5 commits
880 - - pack-objects: create GIT_TEST_PACK_SPARSE
881 - - pack-objects: create pack.useSparse setting
882 - - revision: implement sparse algorithm
883 - - list-objects: consume sparse tree walk
884 - - revision: add mark_tree_uninteresting_sparse
812 + (merged to 'next' on 2019-02-05 at 9fd04c84d6)
813 + + pack-objects: create GIT_TEST_PACK_SPARSE
814 + + pack-objects: create pack.useSparse setting
815 + + revision: implement sparse algorithm
816 + + list-objects: consume sparse tree walk
817 + + revision: add mark_tree_uninteresting_sparse
818
819 "git pack-objects" learned another algorithm to compute the set of
820 objects to send, that trades the resulting packfile off to save
821 traversal cost to favor small pushes.
822
890 - Will merge to 'next'.
823 + Will merge to 'master'.
824
825
893 -* tg/checkout-no-overlay (2019-01-08) 8 commits
826 +* tg/checkout-no-overlay (2019-02-04) 9 commits
827 + (merged to 'next' on 2019-02-04 at 9968bcf4fb)
828 + + revert "checkout: introduce checkout.overlayMode config"
829 (merged to 'next' on 2019-01-18 at 1e2a79ba5c)
830 + checkout: introduce checkout.overlayMode config
831 + checkout: introduce --{,no-}overlay option
@@ -906,23 +841,12 @@ of the repositories listed at
841 match the pathspec that are in the current index and working tree
842 and are not in the tree-ish.
843
909 - Will merge to 'master'.
910 -
911 -
912 -* js/commit-graph-chunk-table-fix (2019-01-15) 3 commits
913 - (merged to 'next' on 2019-01-29 at 65ea01d4f2)
914 - + Makefile: correct example fuzz build
915 - + commit-graph: fix buffer read-overflow
916 - + commit-graph, fuzz: add fuzzer for commit-graph
917 -
918 - The codepath to read from the commit-graph file attempted to read
919 - past the end of it when the file's table-of-contents was corrupt.
920 -
921 - Will merge to 'master'.
844 + Will hold.
845 + Waiting for "restore-files" & "switch-branches" pair.
846 + cf. <20190205204208.GC6085@hank.intra.tgummerer.com>
847
848
924 -* dl/merge-cleanup-scissors-fix (2019-01-27) 5 commits
925 - - init docs: correct a punctuation typo
849 +* dl/merge-cleanup-scissors-fix (2019-01-27) 4 commits
850 - merge: add scissors line on merge conflict
851 - merge: cleanup messages like commit
852 - t7600: clean up 'merge --squash c3 with c7' test
@@ -934,7 +858,7 @@ of the repositories listed at
858 out just like the list of updated paths and other information to
859 help the user explain the merge better.
860
937 - Comments?
861 + Will merge to 'next'.
862
863
864 * aw/pretty-trailers (2019-01-29) 7 commits
@@ -964,19 +888,20 @@ of the repositories listed at
888
889
890 * en/rebase-merge-on-sequencer (2019-01-07) 8 commits
967 - - rebase: implement --merge via the interactive machinery
968 - - rebase: define linearization ordering and enforce it
969 - - git-legacy-rebase: simplify unnecessary triply-nested if
970 - - git-rebase, sequencer: extend --quiet option for the interactive machinery
971 - - am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
972 - - t5407: add a test demonstrating how interactive handles --skip differently
973 - - rebase: fix incompatible options error message
974 - - rebase: make builtin and legacy script error messages the same
891 + (merged to 'next' on 2019-02-05 at 88823d7c86)
892 + + rebase: implement --merge via the interactive machinery
893 + + rebase: define linearization ordering and enforce it
894 + + git-legacy-rebase: simplify unnecessary triply-nested if
895 + + git-rebase, sequencer: extend --quiet option for the interactive machinery
896 + + am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
897 + + t5407: add a test demonstrating how interactive handles --skip differently
898 + + rebase: fix incompatible options error message
899 + + rebase: make builtin and legacy script error messages the same
900
901 "git rebase --merge" as been reimplemented by reusing the internal
902 machinery used for "git rebase -i".
903
979 - Will merge to 'next'.
904 + Will merge to 'master'.
905
906
907 * dl/remote-save-to-push (2018-12-11) 1 commit
@@ -1008,10 +933,11 @@ of the repositories listed at
933 Some errors from the other side coming over smart HTTP transport
934 were not noticed, which has been corrected.
935
1011 - Will merge to 'next'.
936 + This needs to be rebased on top of a more recent 'master' that has
937 + ms/packet-err-check.
938
939
1014 -* nb/branch-show-other-worktrees-head (2019-01-23) 3 commits
940 +* nb/branch-show-other-worktrees-head (2019-02-01) 3 commits
941 - branch: add an extra verbose output displaying worktree path for refs checked out in a linked worktree
942 - branch: mark and color a branch differently if it is checked out in a linked worktree
943 - ref-filter: add worktreepath atom
@@ -1021,35 +947,36 @@ of the repositories listed at
947 '+', similar to the way the currently checked out branch is shown
948 with '*' in front.
949
1024 - The second one is of dubious value. Needs sign-off.
950 + The second one is of dubious value.
951
952
953 * js/vsts-ci (2019-01-29) 21 commits
1028 - - ci: parallelize testing on Windows
1029 - - ci: speed up Windows phase
1030 - - tests: optionally skip bin-wrappers/
1031 - - t0061: workaround issues with --with-dashes and RUNTIME_PREFIX
1032 - - tests: add t/helper/ to the PATH with --with-dashes
1033 - - mingw: try to work around issues with the test cleanup
1034 - - tests: include detailed trace logs with --write-junit-xml upon failure
1035 - - tests: avoid calling Perl just to determine file sizes
1036 - - README: add a build badge (status of the Azure Pipelines build)
1037 - - mingw: be more generous when wrapping up the setitimer() emulation
1038 - - ci: use git-sdk-64-minimal build artifact
1039 - - ci: add a Windows job to the Azure Pipelines definition
1040 - - Add a build definition for Azure DevOps
1041 - - ci/lib.sh: add support for Azure Pipelines
1042 - - tests: optionally write results as JUnit-style .xml
1043 - - test-date: add a subcommand to measure times in shell scripts
1044 - - ci: use a junction on Windows instead of a symlink
1045 - - ci: inherit --jobs via MAKEFLAGS in run-build-and-tests
1046 - - ci/lib.sh: encapsulate Travis-specific things
1047 - - ci: rename the library of common functions
1048 - - travis: fix skipping tagged releases
954 + (merged to 'next' on 2019-02-05 at 7297a734c7)
955 + + ci: parallelize testing on Windows
956 + + ci: speed up Windows phase
957 + + tests: optionally skip bin-wrappers/
958 + + t0061: workaround issues with --with-dashes and RUNTIME_PREFIX
959 + + tests: add t/helper/ to the PATH with --with-dashes
960 + + mingw: try to work around issues with the test cleanup
961 + + tests: include detailed trace logs with --write-junit-xml upon failure
962 + + tests: avoid calling Perl just to determine file sizes
963 + + README: add a build badge (status of the Azure Pipelines build)
964 + + mingw: be more generous when wrapping up the setitimer() emulation
965 + + ci: use git-sdk-64-minimal build artifact
966 + + ci: add a Windows job to the Azure Pipelines definition
967 + + Add a build definition for Azure DevOps
968 + + ci/lib.sh: add support for Azure Pipelines
969 + + tests: optionally write results as JUnit-style .xml
970 + + test-date: add a subcommand to measure times in shell scripts
971 + + ci: use a junction on Windows instead of a symlink
972 + + ci: inherit --jobs via MAKEFLAGS in run-build-and-tests
973 + + ci/lib.sh: encapsulate Travis-specific things
974 + + ci: rename the library of common functions
975 + + travis: fix skipping tagged releases
976
977 Prepare to run test suite on Azure Pipeline.
978
1052 - Will merge to 'next'.
979 + Will merge to 'master'.
980
981
982 * du/branch-show-current (2018-10-26) 1 commit
@@ -1093,7 +1020,8 @@ of the repositories listed at
1020 around in-core to avoid rewriting the same file over and over
1021 unnecessarily.
1022
1096 - Comments?
1023 + Still being worked on.
1024 + cf. <c5e3c1cc-12fa-ddf6-7008-ae47659ddc19@gmail.com>
1025
1026
1027 * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
@@ -1106,7 +1034,8 @@ of the repositories listed at
1034 cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net>
1035
1036
1109 -* ps/stash-in-c (2019-01-18) 28 commits
1037 +* ps/stash-in-c (2019-02-04) 29 commits
1038 + - strbuf_vinsertf: provide the correct buffer size to vsnprintf
1039 - stash: fix segmentation fault when files were added with intent
1040 - tests: add a special setup where stash.useBuiltin is off
1041 - stash: optionally use the scripted version again
@@ -1138,7 +1067,11 @@ of the repositories listed at
1067
1068 "git stash" rewritten in C.
1069
1141 - Will merge to 'next'.
1070 + On hold, waiting for a response
1071 + cf. <xmqqzhraru5x.fsf@gitster-ct.c.googlers.com>
1072 + I personally do not mind "oops, this was wrong and I am too lazy to
1073 + redo the history to clean it up" too much, but waiting briefly to
1074 + give the final chance to do so.
1075
1076
1077 * pw/add-p-select (2018-07-26) 4 commits