What's cooking (2018/10 #04)

Junio C Hamano committed Oct 19, 2018 at 14:42 UTC 64add84480004e96d0d951a8540a09159384e14b
1 file changed +479 -594
whats-cooking.txt
+479 -594
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Oct 2018, #03; Wed, 17)
4 -X-master-at: a4b8ab5363a32f283a61ef3a962853556d136c0e
5 -X-next-at: 3377e82b59874c0e626c00f29bf7526a27f29d65
3 +Subject: What's cooking in git.git (Oct 2018, #04; Fri, 19)
4 +X-master-at: c4df23f7927d8d00e666a3c8d1b3375f1dc8a3c1
5 +X-next-at: 500967bb5e73b67708a64a4360867cf2407ba880
6
7 -What's cooking in git.git (Oct 2018, #03; Wed, 17)
7 +What's cooking in git.git (Oct 2018, #04; Fri, 19)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +12,11 @@ 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 +Two large set of topics on "rebase in C" and "rebase -i in C" are
16 +now in 'next'. A handful of improvements around "git help", "git
17 +grep", and "git status" are in 'master', as well as other internal
18 +changes.
19 +
20 Note that "cf. <msg-id>" are not meant as "clear all of these and
21 you are home free". They are primarily to prevent me from merging
22 topics that are not ready to 'next' by mistake and remind me where
@@ -25,285 +30,415 @@ of the repositories listed at
30 --------------------------------------------------
31 [Graduated to "master"]
32
28 -* ab/commit-graph-progress (2018-09-20) 3 commits
29 - (merged to 'next' on 2018-09-24 at 76f2f5c1e3)
30 - + gc: fix regression in 7b0f229222 impacting --quiet
31 - + commit-graph verify: add progress output
32 - + commit-graph write: add progress output
33 - (this branch is used by ds/commit-graph-leakfix.)
34 -
35 - (Originally merged to 'next' on 2018-09-20 at 24ca94b1d4)
33 +* bp/read-cache-parallel (2018-10-11) 7 commits
34 + (merged to 'next' on 2018-10-12 at ed6edde799)
35 + + read-cache: load cache entries on worker threads
36 + + ieot: add Index Entry Offset Table (IEOT) extension
37 + + read-cache: load cache extensions on a worker thread
38 + + config: add new index.threads config setting
39 + + eoie: add End of Index Entry (EOIE) extension
40 + + read-cache: clean up casting and byte decoding
41 + + read-cache.c: optimize reading index format v4
42
37 - Generation of (experimental) commit-graph files have so far been
38 - fairly silent, even though it takes noticeable amount of time in a
39 - meaningfully large repository. The users will now see progress
40 - output.
43 + A new extension to the index file has been introduced, which allows
44 + the file to be read in parallel.
45
46
43 -* ds/commit-graph-with-grafts (2018-08-21) 8 commits
44 - (merged to 'next' on 2018-10-09 at 851a457102)
45 - + commit-graph: close_commit_graph before shallow walk
46 - + commit-graph: not compatible with uninitialized repo
47 - + commit-graph: not compatible with grafts
48 - + commit-graph: not compatible with replace objects
49 - + test-repository: properly init repo
50 - + commit-graph: update design document
51 - + refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
52 - + refs.c: migrate internal ref iteration to pass thru repository argument
47 +* bp/rename-test-env-var (2018-09-28) 6 commits
48 + (merged to 'next' on 2018-10-12 at 201e451d20)
49 + + t0000: do not get self-test disrupted by environment warnings
50 + + preload-index: update GIT_FORCE_PRELOAD_TEST support
51 + + read-cache: update TEST_GIT_INDEX_VERSION support
52 + + fsmonitor: update GIT_TEST_FSMONITOR support
53 + + preload-index: use git_env_bool() not getenv() for customization
54 + + t/README: correct spelling of "uncommon"
55
54 - The recently introduced commit-graph auxiliary data is incompatible
55 - with mechanisms such as replace & grafts that "breaks" immutable
56 - nature of the object reference relationship. Disable optimizations
57 - based on its use (and updating existing commit-graph) when these
58 - incompatible features are in use in the repository.
56 + Some environment variables that control the runtime options of Git
57 + used during tests are getting renamed for consistency.
58
59
61 -* ds/reachable-final-cleanup (2018-09-25) 1 commit
62 - (merged to 'next' on 2018-10-12 at 32c6d5f55a)
63 - + commit-reach: cleanups in can_all_from_reach...
60 +* ds/commit-graph-leakfix (2018-10-07) 3 commits
61 + (merged to 'next' on 2018-10-12 at 8cc7f2f1e9)
62 + + commit-graph: reduce initial oid allocation
63 + + builtin/commit-graph.c: UNLEAK variables
64 + + commit-graph: clean up leaked memory during write
65
65 - Code already in 'master' is further cleaned-up by this patch.
66 + Code clean-up.
67
68
68 -* dz/credential-doc-url-matching-rules (2018-09-27) 1 commit
69 - (merged to 'next' on 2018-10-12 at 4547952530)
70 - + doc: clarify gitcredentials path component matching
69 +* jc/how-to-document-api (2018-09-29) 1 commit
70 + (merged to 'next' on 2018-10-12 at 7c9bd82285)
71 + + CodingGuidelines: document the API in *.h files
72
73 Doc update.
74
75
75 -* en/merge-cleanup (2018-09-20) 4 commits
76 - (merged to 'next' on 2018-10-09 at f3a00b506f)
77 - + merge-recursive: rename merge_file_1() and merge_content()
78 - + merge-recursive: remove final remaining caller of merge_file_one()
79 - + merge-recursive: avoid wrapper function when unnecessary and wasteful
80 - + merge-recursive: set paths correctly when three-way merging content
81 - (this branch is used by en/merge-cleanup-more.)
76 +* jt/avoid-ls-refs (2018-10-07) 4 commits
77 + (merged to 'next' on 2018-10-12 at 5775aabbc1)
78 + + fetch: do not list refs if fetching only hashes
79 + + transport: list refs before fetch if necessary
80 + + transport: do not list refs if possible
81 + + transport: allow skipping of ref listing
82
83 - Code clean-up.
83 + Over some transports, fetching objects with an exact commit object
84 + name can be done without first seeing the ref advertisements. The
85 + code has been optimized to exploit this.
86
87
86 -* en/status-multiple-renames-to-the-same-target-fix (2018-09-27) 1 commit
87 - (merged to 'next' on 2018-10-12 at 4976fc61a0)
88 - + commit: fix erroneous BUG, 'multiple renames on the same target? how?'
88 +* jt/cache-tree-allow-missing-object-in-partial-clone (2018-10-10) 1 commit
89 + (merged to 'next' on 2018-10-12 at 152ad8e336)
90 + + cache-tree: skip some blob checks in partial clone
91
90 - The code in "git status" sometimes hit an assertion failure. This
91 - was caused by a structure that was reused without cleaning the data
92 - used for the first run, which has been corrected.
92 + In a partial clone that will lazily be hydrated from the
93 + originating repository, we generally want to avoid "does this
94 + object exist (locally)?" on objects that we deliberately omitted
95 + when we created the clone. The cache-tree codepath (which is used
96 + to write a tree object out of the index) however insisted that the
97 + object exists, even for paths that are outside of the partial
98 + checkout area. The code has been updated to avoid such a check.
99
100
95 -* fe/doc-updates (2018-09-21) 3 commits
96 - (merged to 'next' on 2018-10-10 at 2eea3a88bc)
97 - + git-describe.1: clarify that "human readable" is also git-readable
98 - + git-column.1: clarify initial description, provide examples
99 - + git-archimport.1: specify what kind of Arch we're talking about
101 +* jt/fetch-tips-in-partial-clone (2018-09-21) 2 commits
102 + (merged to 'next' on 2018-10-12 at 521b3fb44d)
103 + + fetch: in partial clone, check presence of targets
104 + + connected: document connectivity in partial clones
105
101 - Doc updates.
106 + "git fetch $repo $object" in a partial clone did not correctly
107 + fetch the asked-for object that is referenced by an object in
108 + promisor packfile, which has been fixed.
109
110
104 -* jk/check-everything-connected-is-long-gone (2018-09-25) 1 commit
105 - (merged to 'next' on 2018-10-12 at 4ce30c9a30)
106 - + receive-pack: update comment with check_everything_connected
111 +* jt/non-blob-lazy-fetch (2018-10-04) 2 commits
112 + (merged to 'next' on 2018-10-12 at 7466c6bd7d)
113 + + fetch-pack: exclude blobs when lazy-fetching trees
114 + + fetch-pack: avoid object flags if no_dependents
115
108 - Comment fix.
116 + A partial clone that is configured to lazily fetch missing objects
117 + will on-demand issue a "git fetch" request to the originating
118 + repository to fill not-yet-obtained objects. The request has been
119 + optimized for requesting a tree object (and not the leaf blob
120 + objects contained in it) by telling the originating repository that
121 + no blobs are needed.
122
123
111 -* jk/delta-islands-with-bitmap-reuse-delta-fix (2018-09-19) 1 commit
112 - (merged to 'next' on 2018-10-09 at 10e58be2af)
113 - + pack-objects: handle island check for "external" delta base
124 +* nd/complete-fetch-multiple-args (2018-09-21) 1 commit
125 + (merged to 'next' on 2018-10-10 at f78e14123c)
126 + + completion: support "git fetch --multiple"
127
115 - Fix interactions between two recent topics.
128 + Teach bash completion that "git fetch --multiple" only takes remote
129 + names as arguments and no refspecs.
130
131
118 -* jk/oideq-hasheq-cleanup (2018-10-04) 1 commit
119 - (merged to 'next' on 2018-10-12 at 7c9b5681da)
120 - + more oideq/hasheq conversions
132 +* nd/help-commands-verbose-by-default (2018-10-03) 1 commit
133 + (merged to 'next' on 2018-10-12 at 32de8f53e0)
134 + + help -a: improve and make --verbose default
135
122 - Code clean-up.
136 + "git help -a" and "git help -av" give different pieces of
137 + information, and generally the "verbose" version is more friendly
138 + to the new users. "git help -a" by default now uses the more
139 + verbose output (with "--no-verbose", you can go back to the
140 + original). Also "git help -av" now lists aliases and external
141 + commands, which it did not used to.
142 +
143 +
144 +* nd/status-refresh-progress (2018-09-17) 1 commit
145 + (merged to 'next' on 2018-10-12 at 9240c05add)
146 + + status: show progress bar if refreshing the index takes too long
147 +
148 + "git status" learns to show progress bar when refreshing the index
149 + takes a long time.
150 +
151 +
152 +* nd/the-index (2018-09-21) 23 commits
153 + (merged to 'next' on 2018-10-10 at 16e2e2e947)
154 + + revision.c: reduce implicit dependency the_repository
155 + + revision.c: remove implicit dependency on the_index
156 + + ws.c: remove implicit dependency on the_index
157 + + tree-diff.c: remove implicit dependency on the_index
158 + + submodule.c: remove implicit dependency on the_index
159 + + line-range.c: remove implicit dependency on the_index
160 + + userdiff.c: remove implicit dependency on the_index
161 + + rerere.c: remove implicit dependency on the_index
162 + + sha1-file.c: remove implicit dependency on the_index
163 + + patch-ids.c: remove implicit dependency on the_index
164 + + merge.c: remove implicit dependency on the_index
165 + + merge-blobs.c: remove implicit dependency on the_index
166 + + ll-merge.c: remove implicit dependency on the_index
167 + + diff-lib.c: remove implicit dependency on the_index
168 + + read-cache.c: remove implicit dependency on the_index
169 + + diff.c: remove implicit dependency on the_index
170 + + grep.c: remove implicit dependency on the_index
171 + + diff.c: remove the_index dependency in textconv() functions
172 + + blame.c: rename "repo" argument to "r"
173 + + combine-diff.c: remove implicit dependency on the_index
174 + + diff.c: reduce implicit dependency on the_index
175 + + read-cache.c: remove 'const' from index_has_changes()
176 + + archive.c: remove implicit dependency the_repository
177 + (this branch is used by sb/more-repo-in-api.)
178
179 + Various codepaths in the core-ish part learn to work on an
180 + arbitrary in-core index structure, not necessarily the default
181 + instance "the_index".
182
125 -* jn/gc-auto (2018-07-17) 1 commit
126 - (merged to 'next' on 2018-10-10 at 9f0f1f770e)
127 - + gc: do not return error for prior errors in daemonized mode
128 - (this branch uses jn/gc-auto-prep.)
183
130 - "gc --auto" ended up calling exit(-1) upon error, which has been
131 - corrected to use exit(1). Also the error reporting behaviour when
132 - daemonized has been updated to exit with zero status when stopping
133 - due to a previously discovered error (which implies there is no
134 - point running gc to improve the situation); we used to exit with
135 - failure in such a case.
184 +* pw/diff-color-moved-ws-fix (2018-10-04) 5 commits
185 + (merged to 'next' on 2018-10-12 at 73badc83fe)
186 + + diff --color-moved: fix a memory leak
187 + + diff --color-moved-ws: fix another memory leak
188 + + diff --color-moved-ws: fix a memory leak
189 + + diff --color-moved-ws: fix out of bounds string access
190 + + diff --color-moved-ws: fix double free crash
191 +
192 + Various fixes to "diff --color-moved-ws".
193 +
194
195 +* rs/grep-no-recursive (2018-10-03) 1 commit
196 + (merged to 'next' on 2018-10-12 at 1499dc98ba)
197 + + grep: add -r/--[no-]recursive
198 +
199 + Unlike "grep", "git grep" by default recurses to the whole tree.
200 + The command learned "git grep --recursive" option, so that "git
201 + grep --no-recursive" can serve as a synonym to setting the
202 + max-depth to 0.
203
138 -* jn/gc-auto-prep (2018-07-17) 2 commits
139 - (merged to 'next' on 2018-10-10 at 4ab6a62f62)
140 - + gc: exit with status 128 on failure
141 - + gc: improve handling of errors reading gc.log
142 - (this branch is used by jn/gc-auto.)
204 +
205 +* rs/oidset-on-khash (2018-10-04) 5 commits
206 + (merged to 'next' on 2018-10-12 at 8bb0152b3f)
207 + + oidset: uninline oidset_init()
208 + + oidset: use khash
209 + + khash: factor out kh_release_*
210 + + fetch-pack: load tip_oids eagerly iff needed
211 + + fetch-pack: factor out is_unmatched_ref()
212 +
213 + The oidset API was built on top of the oidmap API which in turn is
214 + on the hashmap API. Replace the implementation to build on top of
215 + the khash API and gain performance.
216 +
217 +
218 +* sm/show-superproject-while-conflicted (2018-09-28) 1 commit
219 + (merged to 'next' on 2018-10-12 at 0334353131)
220 + + rev-parse: --show-superproject-working-tree should work during a merge
221 +
222 + A corner-case bugfix.
223 +
224 +
225 +* ss/wt-status-committable (2018-10-03) 5 commits
226 + (merged to 'next' on 2018-10-10 at ea30d8819d)
227 + + roll wt_status_state into wt_status and populate in the collect phase
228 + + wt-status.c: set the committable flag in the collect phase
229 + + t7501: add test of "commit --dry-run --short"
230 + + wt-status: rename commitable to committable
231 + + wt-status.c: move has_unmerged earlier in the file
232 +
233 + Code clean-up in the internal machinery used by "git status" and
234 + "git commit --dry-run".
235 +
236 +
237 +* tb/filter-alternate-refs (2018-10-09) 4 commits
238 + (merged to 'next' on 2018-10-12 at 21c14722f1)
239 + + transport.c: introduce core.alternateRefsPrefixes
240 + + transport.c: introduce core.alternateRefsCommand
241 + + transport.c: extract 'fill_alternate_refs_command'
242 + + transport: drop refnames from for_each_alternate_ref
243 +
244 + When pushing into a repository that borrows its objects from an
245 + alternate object store, "git receive-pack" that responds to the
246 + push request on the other side lists the tips of refs in the
247 + alternate to reduce the amount of objects transferred. This
248 + sometimes is detrimental when the number of refs in the alternate
249 + is absurdly large, in which case the bandwidth saved in potentially
250 + fewer objects transferred is wasted in excessively large ref
251 + advertisement. The alternate refs that are advertised are now
252 + configurable with a pair of configuration variables.
253 +
254 +--------------------------------------------------
255 +[New Topics]
256 +
257 +* ab/reject-alias-loop (2018-10-19) 1 commit
258 + - alias: detect loops in mixed execution mode
259 +
260 + Two (or more) aliases that mutually refer to each other can form an
261 + infinite loop; we now attempt to notice and stop.
262 +
263 + Will merge to 'next'.
264 +
265 +
266 +* cb/remove-dead-init (2018-10-19) 2 commits
267 + - multi-pack-index: avoid dead store for struct progress
268 + - unpack-trees: avoid dead store for struct progress
269
270 Code clean-up.
271
272 + Will merge to 'next'.
273
147 -* jn/mailmap-update (2018-09-25) 1 commit
148 - (merged to 'next' on 2018-10-10 at fa2b394bd5)
149 - + mailmap: consistently normalize brian m. carlson's name
274
151 - The mailmap file update.
275 +* ds/ci-commit-graph-and-midx (2018-10-19) 1 commit
276 + - ci: add optional test variables
277
278 + One of our CI tests to run with "unusual/experimental/random"
279 + settings now also uses commti-graph and midx.
280
154 -* js/mingw-wants-vista-or-above (2018-10-04) 3 commits
155 - (merged to 'next' on 2018-10-12 at 3a174c3d43)
156 - + mingw: bump the minimum Windows version to Vista
157 - + mingw: set _WIN32_WINNT explicitly for Git for Windows
158 - + compat/poll: prepare for targeting Windows Vista
281 + Will merge to 'next'.
282
160 - The minimum version of Windows supported by Windows port fo Git is
161 - now set to Vista.
283
284 +* ds/reachable-first-parent-fix (2018-10-19) 1 commit
285 + - commit-reach: fix first-parent heuristic
286
164 -* ma/commit-graph-docs (2018-09-27) 4 commits
165 - (merged to 'next' on 2018-10-12 at eafaf79b5a)
166 - + Doc: refer to the "commit-graph file" with dash
167 - + git-commit-graph.txt: refer to "*commit*-graph file"
168 - + git-commit-graph.txt: typeset more in monospace
169 - + git-commit-graph.txt: fix bullet lists
287 + Correct performance regression in commit ancestry computation when
288 + generation numbers are involved.
289
171 - Doc update.
290 + Will merge to 'next'.
291
292
174 -* ma/config-doc-update (2018-09-20) 2 commits
175 - (merged to 'next' on 2018-10-09 at 312a873a2a)
176 - + git-config.txt: fix 'see: above' note
177 - + Doc: use `--type=bool` instead of `--bool`
293 +* jk/test-tool-help (2018-10-18) 1 commit
294 + - test-tool: show tool list on error
295
179 - Doc update.
296 + Developer support.
297 +
298 + Will merge to 'next'.
299
300
182 -* ma/mailing-list-address-in-git-help (2018-09-29) 1 commit
183 - (merged to 'next' on 2018-10-12 at 4c3737d234)
184 - + git doc: direct bug reporters to mailing list archive
301 +* jk/unused-function (2018-10-19) 1 commit
302 + - config.mak.dev: enable -Wunused-function
303
186 - Doc update.
304 + Developer support.
305
306 + Will merge to 'next'.
307
189 -* ma/t1400-undebug-test (2018-09-28) 1 commit
190 - (merged to 'next' on 2018-10-12 at d736f83435)
191 - + t1400: drop debug `echo` to actually execute `test`
308
193 - Test fix.
309 +* js/diff-notice-has-drive-prefix (2018-10-19) 1 commit
310 + - diff: don't attempt to strip prefix from absolute Windows paths
311
312 + "git diff /a/b/c /a/d/f" noticed these are full paths with shared
313 + leading prefix "/a", but failed to notice a similar fact about "git
314 + diff D:/a/b/c D:/a/d/f", which has been corrected.
315
196 -* md/test-cleanup (2018-10-07) 7 commits
197 - (merged to 'next' on 2018-10-10 at 7e0bf1b573)
198 - + tests: order arguments to git-rev-list properly
199 - + t9109: don't swallow Git errors upstream of pipes
200 - + tests: don't swallow Git errors upstream of pipes
201 - + t/*: fix ordering of expected/observed arguments
202 - + tests: standardize pipe placement
203 - + Documentation: add shell guidelines
204 - + t/README: reformat Do, Don't, Keep in mind lists
316 + Want tests.
317
206 - Various test scripts have been updated for style and also correct
207 - handling of exit status of various commands.
318
319 +* js/pack-objects-mutex-init-fix (2018-10-19) 3 commits
320 + - pack-objects (mingw): initialize `packing_data` mutex in the correct spot
321 + - pack-objects (mingw): demonstrate a segmentation fault with large deltas
322 + - pack-objects: fix typo 'detla' -> 'delta'
323
210 -* mw/doc-typofixes (2018-10-07) 3 commits
211 - (merged to 'next' on 2018-10-12 at 97297b8ce9)
212 - + docs: typo: s/isimilar/similar/
213 - + docs: graph: remove unnecessary `graph_update()' call
214 - + docs: typo: s/go/to/
324 + A mutex used in "git pack-objects" were not correctly initialized
325 + and this caused "git repack" to dump core on Windows.
326
216 - Typofixes.
327 + Will merge to 'next'.
328
329
219 -* nd/packobjectshook-doc-fix (2018-09-29) 1 commit
220 - (merged to 'next' on 2018-10-12 at 85d75f5219)
221 - + config.txt: correct the note about uploadpack.packObjectsHook
330 +* jt/upload-pack-v2-fix-shallow (2018-10-19) 3 commits
331 + - upload-pack: clear flags before each v2 request
332 + - upload-pack: make want_obj not global
333 + - upload-pack: make have_obj not global
334
223 - Doc update.
335 + "git fetch" over protocol v2 into a shallow repository failed to
336 + fetch full history behind a new tip of history that was diverged
337 + before the cut-off point of the history that was previously fetched
338 + shallowly.
339
340 + Will merge to 'next'.
341
226 -* rj/header-check (2018-09-20) 8 commits
227 - (merged to 'next' on 2018-10-09 at 7fa9c68ef0)
228 - + delta-islands.h: add missing forward declarations (hdr-check)
229 - + midx.h: add missing forward declarations (hdr-check)
230 - + refs/refs-internal.h: add missing declarations (hdr-check)
231 - + refs/packed-backend.h: add missing declaration (hdr-check)
232 - + refs/ref-cache.h: add missing declarations (hdr-check)
233 - + ewah/ewok_rlw.h: add missing include (hdr-check)
234 - + json-writer.h: add missing include (hdr-check)
235 - + Makefile: add a hdr-check target
342
237 - Header files clean-up.
343 +* pw/am-rebase-read-author-script (2018-10-19) 5 commits
344 + - sequencer: use read_author_script()
345 + - add read_author_script() to libgit
346 + - am: rename read_author_script()
347 + - am: improve author-script error reporting
348 + - am: don't die in read_author_script()
349
350
240 -* rs/sequencer-oidset-insert-avoids-dups (2018-10-03) 1 commit
241 - (merged to 'next' on 2018-10-12 at b294394711)
242 - + sequencer: use return value of oidset_insert()
351 +* rj/header-guards (2018-10-18) 1 commit
352 + - headers: normalize the spelling of some header guards
353
354 Code clean-up.
355
356 + Will merge to 'next'.
357
247 -* rt/rebase-typofix (2018-09-28) 1 commit
248 - (merged to 'next' on 2018-10-12 at 58691d20df)
249 - + git-rebase.sh: fix typos in error messages
358
251 - Typofix.
359 +* sb/submodule-helper-remove-cruft (2018-10-18) 1 commit
360 + - builtin/submodule--helper: remove debugging leftover tracing
361 +
362 + Code clean-up.
363 +
364 + Will merge to 'next'.
365 +
366 +
367 +* sb/submodule-url-to-absolute (2018-10-18) 1 commit
368 + - submodule helper: convert relative URL to absolute URL if needed
369
370 + Some codepaths failed to form a proper URL when .gitmodules record
371 + the URL to a submodule repository as relative to the repository of
372 + superproject, which has been corrected.
373
254 -* sf/complete-stash-list (2018-10-07) 1 commit
255 - (merged to 'next' on 2018-10-12 at ff0e9a0805)
256 - + git-completion.bash: add completion for stash list
374 + Will merge to 'next'.
375
258 - The completion script (in contrib/) learned to complete a handful of
259 - options "git stash list" command takes.
376
377 +* sg/doc-show-branch-typofix (2018-10-18) 1 commit
378 + - doc: fix small typo in git show-branch
379
262 -* tg/t5551-with-curl-7.61.1 (2018-09-24) 2 commits
263 - (merged to 'next' on 2018-10-10 at 5ada84ed7a)
264 - + t5551: compare sorted cookies files
265 - + t5551: move setup code inside test_expect blocks
380 + Docfix.
381
267 - Test update.
268 - Supersedes tz/t5551-with-curl-7.61.1 topic
382 + Will merge to 'next'.
383
384
271 -* tq/refs-internal-comment-fix (2018-09-17) 1 commit
272 - (merged to 'next' on 2018-10-09 at 422313bbd0)
273 - + refs: docstring typo
385 +* tq/branch-create-wo-branch-get (2018-10-18) 1 commit
386 + - builtin/branch.c: remove useless branch_get
387
275 - Fix for typo in a sample code in comment.
388 + Code clean-up.
389 +
390 + Will merge to 'next'.
391
392
278 -* ts/alias-of-alias (2018-09-17) 3 commits
279 - (merged to 'next' on 2018-10-09 at ac19b4730b)
280 - + t0014: introduce an alias testing suite
281 - + alias: show the call history when an alias is looping
282 - + alias: add support for aliases of an alias
393 +* tq/branch-style-fix (2018-10-18) 1 commit
394 + - branch: trivial style fix
395 +
396 + Code clean-up.
397 +
398 + Will merge to 'next'.
399
284 - An alias that expands to another alias has so far been forbidden,
285 - but now it is allowed to create such an alias.
400 +
401 +* jc/receive-deny-current-branch-fix (2018-10-19) 1 commit
402 + - receive: denyCurrentBranch=updateinstead should not blindly update
403 +
404 + The receive.denyCurrentBranch=updateInstead codepath kicked in even
405 + when the push should have been rejected due to other reasons, such
406 + as it does not fast-forward or the update-hook rejects it, which
407 + has been corrected.
408
409 --------------------------------------------------
288 -[New Topics]
410 +[Stalled]
411
290 -* en/merge-cleanup-more (2018-10-16) 4 commits
412 +* lt/date-human (2018-07-09) 1 commit
413 + - Add 'human' date format
414 +
415 + A new date format "--date=human" that morphs its output depending
416 + on how far the time is from the current time has been introduced.
417 + "--date=auto" can be used to use this new format when the output is
418 + goint to the pager or to the terminal and otherwise the default
419 + format.
420 +
421 +--------------------------------------------------
422 +[Cooking]
423 +
424 +* en/merge-cleanup-more (2018-10-18) 2 commits
425 - merge-recursive: avoid showing conflicts with merge branch before HEAD
426 - merge-recursive: improve auto-merging messages with path collisions
293 - - merge-recursive: increase marker length with depth of recursion
294 - - t6036: add testcase where virtual merge base contains nested conflicts
427
428 Further clean-up of merge-recursive machinery.
429
430 + Will merge to 'next'.
431 +
432
433 * ld/p4-unshelve (2018-10-16) 3 commits
300 - - git-p4: fully support unshelving changelists
301 - - git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved
302 - - git-p4: do not fail in verbose mode for missing 'fileSize' key
434 + (merged to 'next' on 2018-10-19 at 35339798f9)
435 + + git-p4: fully support unshelving changelists
436 + + git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved
437 + + git-p4: do not fail in verbose mode for missing 'fileSize' key
438
439 "git p4 unshelve" improvements.
440
306 - Will merge to 'next'.
441 + Will merge to 'master'.
442
443
444 * mg/gpg-parse-tighten (2018-10-15) 1 commit
@@ -336,18 +471,19 @@ of the repositories listed at
471 with the "NewHash".
472
473
339 -* ds/mingw-default-ident (2018-10-16) 3 commits
340 - - mingw: use domain information for default email
341 - - getpwuid(mingw): provide a better default for the user name
342 - - getpwuid(mingw): initialize the structure only once
474 +* js/mingw-default-ident (2018-10-16) 3 commits
475 + (merged to 'next' on 2018-10-19 at 2f710c811b)
476 + + mingw: use domain information for default email
477 + + getpwuid(mingw): provide a better default for the user name
478 + + getpwuid(mingw): initialize the structure only once
479
480 The logic to select the default user name and e-mail on Windows has
481 been improved.
482
347 - Will merge to 'next'.
483 + Will merge to 'master'.
484
485
350 -* ds/mingw-http-ssl (2018-10-16) 3 commits
486 +* js/mingw-http-ssl (2018-10-16) 3 commits
487 - http: when using Secure Channel, ignore sslCAInfo by default
488 - http: add support for disabling SSL revocation checks in cURL
489 - http: add support for selecting SSL backends at runtime
@@ -381,30 +517,17 @@ of the repositories listed at
517 On hold, monitoring the discussion.
518 cf. <nycvar.QRO.7.76.6.1810151657080.4546@tvgsbejvaqbjf.bet>
519
384 ---------------------------------------------------
385 -[Stalled]
386 -
387 -* lt/date-human (2018-07-09) 1 commit
388 - - Add 'human' date format
389 -
390 - A new date format "--date=human" that morphs its output depending
391 - on how far the time is from the current time has been introduced.
392 - "--date=auto" can be used to use this new format when the output is
393 - goint to the pager or to the terminal and otherwise the default
394 - format.
395 -
396 ---------------------------------------------------
397 -[Cooking]
520
521 * ab/gc-doc-update (2018-10-11) 1 commit
400 - - gc doc: mention the commit-graph in the intro
522 + (merged to 'next' on 2018-10-19 at 84347d36a7)
523 + + gc doc: mention the commit-graph in the intro
524
525 The documentation of "git gc" has been updated to mention that it
526 is no longer limited to "pruning away crufts" but also updates
527 ancillary files like commit-graph as a part of repository
528 optimization.
529
407 - Will merge to 'next'.
530 + Will merge to 'master'.
531
532
533 * du/branch-show-current (2018-10-16) 2 commits
@@ -435,20 +558,21 @@ of the repositories listed at
558 Will merge to 'master'.
559
560
438 -* ot/ref-filter-plug-leaks (2018-10-11) 3 commits
439 - . ref-filter: free item->value and item->value->s
440 - . ls-remote: release memory instead of UNLEAK
441 - . ref-filter: free memory from used_atom
561 +* ot/ref-filter-plug-leaks (2018-10-19) 3 commits
562 + - ref-filter: free item->value and item->value->s
563 + - ls-remote: release memory instead of UNLEAK
564 + - ref-filter: free memory from used_atom
565
566 Plugging a handful of memory leaks in the ref-filter codepath.
567
445 - Seems to break t6300 standalone and when merged to 'pu'.
568 + Will merge to 'next'.
569
570
571 * rv/send-email-cc-misc-by (2018-10-16) 3 commits
449 - - send-email: also pick up cc addresses from -by trailers
450 - - send-email: only consider lines containing @ or <> for automatic Cc'ing
451 - - Documentation/git-send-email.txt: style fixes
572 + (merged to 'next' on 2018-10-19 at 2c1e5f75af)
573 + + send-email: also pick up cc addresses from -by trailers
574 + + send-email: only consider lines containing @ or <> for automatic Cc'ing
575 + + Documentation/git-send-email.txt: style fixes
576
577 "git send-email" learned to grab address-looking string on any
578 trailer whose name ends with "-by"; --suppress-cc=misc-by on the
@@ -458,15 +582,16 @@ of the repositories listed at
582 This is a backward-incompatible change that may surprise existing
583 users.
584
461 - Will merge to 'next'.
585 + Will merge to 'master'.
586
587
588 * du/cherry-is-plumbing (2018-10-12) 1 commit
465 - - doc: move git-cherry to plumbing
589 + (merged to 'next' on 2018-10-19 at ffe6c5449e)
590 + + doc: move git-cherry to plumbing
591
592 Doc update to mark "git cherry" as a plumbing command.
593
469 - Will merge to 'next'.
594 + Will merge to 'master'.
595
596
597 * du/get-tar-commit-id-is-plumbing (2018-10-12) 1 commit
@@ -505,42 +630,34 @@ of the repositories listed at
630 updated to use "size_t".
631
632
508 -* jc/how-to-document-api (2018-09-29) 1 commit
509 - (merged to 'next' on 2018-10-12 at 7c9bd82285)
510 - + CodingGuidelines: document the API in *.h files
511 -
512 - Doc update.
513 -
514 - Will merge to 'master'.
515 -
516 -
633 * jc/rebase-in-c-5-test-typofix (2018-10-11) 1 commit
518 - - rebase: fix typoes in error messages
634 + (merged to 'next' on 2018-10-19 at 08c9d86ffd)
635 + + rebase: fix typoes in error messages
636 (this branch uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
637
638 Typofix.
639
523 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
640 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.
641
642
526 -* jc/war-on-string-list (2018-09-28) 1 commit
643 +* jc/war-on-string-list (2018-10-19) 1 commit
644 - fetch: replace string-list used as a look-up table with a hashmap
645
529 - Replace two string-list instances used as look-up tables in "git
530 - fetch" with a pair of hashmaps. WIP as there is another such use
531 - of string-list nearby that should be converted at the same time.
646 + Replace three string-list instances used as look-up tables in "git
647 + fetch" with hashmaps.
648
649
650 * js/rebase-i-break (2018-10-12) 2 commits
535 - - rebase -i: introduce the 'break' command
536 - - rebase -i: clarify what happens on a failed `exec`
651 + (merged to 'next' on 2018-10-19 at 6db9b14495)
652 + + rebase -i: introduce the 'break' command
653 + + rebase -i: clarify what happens on a failed `exec`
654 (this branch uses ag/rebase-i-in-c; is tangled with ag/sequencer-reduce-rewriting-todo, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
655
656 "git rebase -i" learned a new insn, 'break', that the user can
657 insert in the to-do list. Upon hitting it, the command returns
658 control back to the user.
659
543 - Will merge to 'next' after 'pk/rebase-in-c-6-final'.
660 + Will merge to 'master' after 'pk/rebase-in-c-6-final'.
661
662
663 * js/remote-archive-v2 (2018-09-28) 4 commits
@@ -560,21 +677,6 @@ of the repositories listed at
677 Breaks interoperability.
678
679
563 -* jt/non-blob-lazy-fetch (2018-10-04) 2 commits
564 - (merged to 'next' on 2018-10-12 at 7466c6bd7d)
565 - + fetch-pack: exclude blobs when lazy-fetching trees
566 - + fetch-pack: avoid object flags if no_dependents
567 -
568 - A partial clone that is configured to lazily fetch missing objects
569 - will on-demand issue a "git fetch" request to the originating
570 - repository to fill not-yet-obtained objects. The request has been
571 - optimized for requesting a tree object (and not the leaf blob
572 - objects contained in it) by telling the originating repository that
573 - no blobs are needed.
574 -
575 - Will merge to 'master'.
576 -
577 -
680 * ma/t7005-bash-workaround (2018-09-28) 1 commit
681 (merged to 'next' on 2018-10-16 at 543e1e6574)
682 + t7005-editor: quote filename to fix whitespace-issue
@@ -584,78 +686,27 @@ of the repositories listed at
686 Will merge to 'master'.
687
688
587 -* nd/help-commands-verbose-by-default (2018-10-03) 1 commit
588 - (merged to 'next' on 2018-10-12 at 32de8f53e0)
589 - + help -a: improve and make --verbose default
590 -
591 - "git help -a" and "git help -av" give different pieces of
592 - information, and generally the "verbose" version is more friendly
593 - to the new users. "git help -a" by default now uses the more
594 - verbose output (with "--no-verbose", you can go back to the
595 - original). Also "git help -av" now lists aliases and external
596 - commands, which it did not used to.
597 -
598 - Will merge to 'master'.
599 -
600 -
601 -* pw/diff-color-moved-ws-fix (2018-10-04) 5 commits
602 - (merged to 'next' on 2018-10-12 at 73badc83fe)
603 - + diff --color-moved: fix a memory leak
604 - + diff --color-moved-ws: fix another memory leak
605 - + diff --color-moved-ws: fix a memory leak
606 - + diff --color-moved-ws: fix out of bounds string access
607 - + diff --color-moved-ws: fix double free crash
608 -
609 - Various fixes to "diff --color-moved-ws".
610 -
611 - Will merge to 'master'.
612 -
613 -
614 -* rs/grep-no-recursive (2018-10-03) 1 commit
615 - (merged to 'next' on 2018-10-12 at 1499dc98ba)
616 - + grep: add -r/--[no-]recursive
617 -
618 - Unlike "grep", "git grep" by default recurses to the whole tree.
619 - The command learned "git grep --recursive" option, so that "git
620 - grep --no-recursive" can serve as a synonym to setting the
621 - max-depth to 0.
622 -
623 - Will merge to 'master'.
624 -
625 -
626 -* rs/oidset-on-khash (2018-10-04) 5 commits
627 - (merged to 'next' on 2018-10-12 at 8bb0152b3f)
628 - + oidset: uninline oidset_init()
629 - + oidset: use khash
630 - + khash: factor out kh_release_*
631 - + fetch-pack: load tip_oids eagerly iff needed
632 - + fetch-pack: factor out is_unmatched_ref()
633 -
634 - The oidset API was built on top of the oidmap API which in turn is
635 - on the hashmap API. Replace the implementation to build on top of
636 - the khash API and gain performance.
637 -
638 - Will merge to 'master'.
639 -
640 -
689 * rv/alias-help (2018-10-11) 3 commits
642 - - git-help.txt: document "git help cmd" vs "git cmd --help" for aliases
643 - - git.c: handle_alias: prepend alias info when first argument is -h
644 - - help: redirect to aliased commands for "git cmd --help"
690 + (merged to 'next' on 2018-10-19 at f16bbfb3ef)
691 + + git-help.txt: document "git help cmd" vs "git cmd --help" for aliases
692 + + git.c: handle_alias: prepend alias info when first argument is -h
693 + + help: redirect to aliased commands for "git cmd --help"
694
695 "git cmd --help" when "cmd" is aliased used to only say "cmd is
696 aliased to ...". Now it shows that to the standard error stream
697 and runs "git $cmd --help" where $cmd is the first word of the
649 - alias expansion. This could be misleading for those who alias a
650 - command with options (e.g. with "[alias] cpn = cherry-pick -n",
651 - "git cpn --help" would show the manual of "cherry-pick", and the
652 - reader would not be told to pay close attention to the part that
653 - describes the "--no-commit" option until closing the pager that
654 - showed the contents of the manual, if the pager is configured to
655 - restore the original screen, or would not be told at all, if the
656 - pager simply makes the message on the standard error scroll away.
698 + alias expansion.
699
658 - Will merge to 'next'.
700 + This could be misleading for those who alias a command with options
701 + (e.g. with "[alias] cpn = cherry-pick -n", "git cpn --help" would
702 + show the manual of "cherry-pick", and the reader would not be told
703 + to pay close attention to the part that describes the "--no-commit"
704 + option until closing the pager that showed the contents of the
705 + manual, if the pager is configured to restore the original screen,
706 + or would not be told at all, if the pager simply makes the message
707 + on the standard error scroll away.
708 +
709 + Will merge to 'master'.
710
711
712 * sb/strbuf-h-update (2018-09-29) 1 commit
@@ -684,15 +735,6 @@ of the repositories listed at
735 Will merge to 'master'.
736
737
687 -* sm/show-superproject-while-conflicted (2018-09-28) 1 commit
688 - (merged to 'next' on 2018-10-12 at 0334353131)
689 - + rev-parse: --show-superproject-working-tree should work during a merge
690 -
691 - A corner-case bugfix.
692 -
693 - Will merge to 'master'.
694 -
695 -
738 * ag/sequencer-reduce-rewriting-todo (2018-10-09) 16 commits
739 - rebase--interactive: move transform_todo_file() to rebase--interactive.c
740 - sequencer: fix a call to error() in transform_todo_file()
@@ -753,7 +795,9 @@ of the repositories listed at
795 More codepaths are moving away from hardcoded hash sizes.
796
797
756 -* ch/subtree-build (2018-10-16) 2 commits
798 +* ch/subtree-build (2018-10-18) 3 commits
799 + (merged to 'next' on 2018-10-18 at f89fd5e6aa)
800 + + Revert "subtree: make install targets depend on build targets"
801 (merged to 'next' on 2018-10-16 at 919599cc37)
802 + subtree: make install targets depend on build targets
803 (merged to 'next' on 2018-10-12 at 4ed9ff6300)
@@ -764,17 +808,6 @@ of the repositories listed at
808 Will merge to 'master'.
809
810
767 -* ds/commit-graph-leakfix (2018-10-07) 3 commits
768 - (merged to 'next' on 2018-10-12 at 8cc7f2f1e9)
769 - + commit-graph: reduce initial oid allocation
770 - + builtin/commit-graph.c: UNLEAK variables
771 - + commit-graph: clean up leaked memory during write
772 -
773 - Code clean-up.
774 -
775 - Will merge to 'master'.
776 -
777 -
811 * ds/test-multi-pack-index (2018-10-09) 3 commits
812 - multi-pack-index: define GIT_TEST_MULTI_PACK_INDEX
813 - midx: close multi-pack-index on repack
@@ -787,41 +820,13 @@ of the repositories listed at
820
821
822 * js/fuzzer (2018-10-15) 2 commits
790 - - fuzz: add fuzz testing for packfile indices.
791 - - fuzz: add basic fuzz testing target.
823 + (merged to 'next' on 2018-10-19 at 649a2bf1fb)
824 + + fuzz: add fuzz testing for packfile indices.
825 + + fuzz: add basic fuzz testing target.
826
827 An experiment to fuzz test a few areas, hopefully we can gain more
828 coverage to various areas.
829
796 - Will merge to 'next'.
797 -
798 -
799 -* jt/avoid-ls-refs (2018-10-07) 4 commits
800 - (merged to 'next' on 2018-10-12 at 5775aabbc1)
801 - + fetch: do not list refs if fetching only hashes
802 - + transport: list refs before fetch if necessary
803 - + transport: do not list refs if possible
804 - + transport: allow skipping of ref listing
805 -
806 - Over some transports, fetching objects with an exact commit object
807 - name can be done without first seeing the ref advertisements. The
808 - code has been optimized to exploit this.
809 -
810 - Will merge to 'master'.
811 -
812 -
813 -* jt/cache-tree-allow-missing-object-in-partial-clone (2018-10-10) 1 commit
814 - (merged to 'next' on 2018-10-12 at 152ad8e336)
815 - + cache-tree: skip some blob checks in partial clone
816 -
817 - In a partial clone that will lazily be hydrated from the
818 - originating repository, we generally want to avoid "does this
819 - object exist (locally)?" on objects that we deliberately omitted
820 - when we created the clone. The cache-tree codepath (which is used
821 - to write a tree object out of the index) however insisted that the
822 - object exists, even for paths that are outside of the partial
823 - checkout area. The code has been updated to avoid such a check.
824 -
830 Will merge to 'master'.
831
832
@@ -867,95 +872,9 @@ of the repositories listed at
872 Unless somebody objects, that is.
873
874
870 -* tb/filter-alternate-refs (2018-10-09) 4 commits
871 - (merged to 'next' on 2018-10-12 at 21c14722f1)
872 - + transport.c: introduce core.alternateRefsPrefixes
873 - + transport.c: introduce core.alternateRefsCommand
874 - + transport.c: extract 'fill_alternate_refs_command'
875 - + transport: drop refnames from for_each_alternate_ref
876 -
877 - When pushing into a repository that borrows its objects from an
878 - alternate object store, "git receive-pack" that responds to the
879 - push request on the other side lists the tips of refs in the
880 - alternate to reduce the amount of objects transferred. This
881 - sometimes is detrimental when the number of refs in the alternate
882 - is absurdly large, in which case the bandwidth saved in potentially
883 - fewer objects transferred is wasted in excessively large ref
884 - advertisement. The alternate refs that are advertised are now
885 - configurable with a pair of configuration variables.
886 -
887 - Will merge to 'master'.
888 -
889 -
890 -* nd/complete-fetch-multiple-args (2018-09-21) 1 commit
891 - (merged to 'next' on 2018-10-10 at f78e14123c)
892 - + completion: support "git fetch --multiple"
893 -
894 - Teach bash completion that "git fetch --multiple" only takes remote
895 - names as arguments and no refspecs.
896 -
897 - Will merge to 'master'.
898 -
899 -
900 -* jt/fetch-tips-in-partial-clone (2018-09-21) 2 commits
901 - (merged to 'next' on 2018-10-12 at 521b3fb44d)
902 - + fetch: in partial clone, check presence of targets
903 - + connected: document connectivity in partial clones
904 -
905 - "git fetch $repo $object" in a partial clone did not correctly
906 - fetch the asked-for object that is referenced by an object in
907 - promisor packfile, which has been fixed.
908 -
909 - Will merge to 'master'.
910 -
911 -
912 -* nd/status-refresh-progress (2018-09-17) 1 commit
913 - (merged to 'next' on 2018-10-12 at 9240c05add)
914 - + status: show progress bar if refreshing the index takes too long
915 -
916 - "git status" learns to show progress bar when refreshing the index
917 - takes a long time.
918 -
919 - Will merge to 'master'.
920 -
921 -
922 -* nd/the-index (2018-09-21) 23 commits
923 - (merged to 'next' on 2018-10-10 at 16e2e2e947)
924 - + revision.c: reduce implicit dependency the_repository
925 - + revision.c: remove implicit dependency on the_index
926 - + ws.c: remove implicit dependency on the_index
927 - + tree-diff.c: remove implicit dependency on the_index
928 - + submodule.c: remove implicit dependency on the_index
929 - + line-range.c: remove implicit dependency on the_index
930 - + userdiff.c: remove implicit dependency on the_index
931 - + rerere.c: remove implicit dependency on the_index
932 - + sha1-file.c: remove implicit dependency on the_index
933 - + patch-ids.c: remove implicit dependency on the_index
934 - + merge.c: remove implicit dependency on the_index
935 - + merge-blobs.c: remove implicit dependency on the_index
936 - + ll-merge.c: remove implicit dependency on the_index
937 - + diff-lib.c: remove implicit dependency on the_index
938 - + read-cache.c: remove implicit dependency on the_index
939 - + diff.c: remove implicit dependency on the_index
940 - + grep.c: remove implicit dependency on the_index
941 - + diff.c: remove the_index dependency in textconv() functions
942 - + blame.c: rename "repo" argument to "r"
943 - + combine-diff.c: remove implicit dependency on the_index
944 - + diff.c: reduce implicit dependency on the_index
945 - + read-cache.c: remove 'const' from index_has_changes()
946 - + archive.c: remove implicit dependency the_repository
947 - (this branch is used by sb/more-repo-in-api.)
948 -
949 - Various codepaths in the core-ish part learn to work on an
950 - arbitrary in-core index structure, not necessarily the default
951 - instance "the_index".
952 -
953 - Will merge to 'master'.
954 -
955 -
956 -* ds/reachable-topo-order (2018-09-21) 7 commits
957 - - revision.c: refactor basic topo-order logic
958 - - revision.h: add whitespace in flag definitions
875 +* ds/reachable-topo-order (2018-10-18) 7 commits
876 + - t6012: make rev-list tests more interesting
877 + - revision.c: generation-based topo-order algorithm
878 - commit/revisions: bookkeeping before refactoring
879 - revision.c: begin refactoring --topo-order logic
880 - test-reach: add rev-list tests
@@ -965,24 +884,7 @@ of the repositories listed at
884 The revision walker machinery learned to take advantage of the
885 commit generation numbers stored in the commit-graph file.
886
968 - Expecting a reroll.
969 - cf. <1c0eb7d3-7f31-9377-d42f-4ac2f36ac26a@gmail.com>
970 -
971 -
972 -* bp/read-cache-parallel (2018-10-11) 7 commits
973 - (merged to 'next' on 2018-10-12 at ed6edde799)
974 - + read-cache: load cache entries on worker threads
975 - + ieot: add Index Entry Offset Table (IEOT) extension
976 - + read-cache: load cache extensions on a worker thread
977 - + config: add new index.threads config setting
978 - + eoie: add End of Index Entry (EOIE) extension
979 - + read-cache: clean up casting and byte decoding
980 - + read-cache.c: optimize reading index format v4
981 -
982 - A new extension to the index file has been introduced, which allows
983 - the file to be read in parallel.
984 -
985 - Will merge to 'master'.
887 + cf. <pull.25.v4.git.gitgitgadget@gmail.com>
888
889
890 * ds/coverage-diff (2018-10-10) 1 commit
@@ -996,62 +898,35 @@ of the repositories listed at
898 Will merge to 'master'.
899
900
999 -* sb/submodule-recursive-fetch-gets-the-tip (2018-10-11) 9 commits
1000 - . builtin/fetch: check for submodule updates for non branch fetches
1001 - . fetch: retry fetching submodules if needed objects were not fetched
1002 - . submodule: fetch in submodules git directory instead of in worktree
1003 - . repository: repo_submodule_init to take a submodule struct
1004 - . submodule.c: do not copy around submodule list
1005 - . submodule.c: move global changed_submodule_names into fetch submodule struct
1006 - . submodule.c: sort changed_submodule_names before searching it
1007 - . submodule.c: fix indentation
1008 - . sha1-array: provide oid_array_filter
901 +* sb/submodule-recursive-fetch-gets-the-tip (2018-10-18) 11 commits
902 + - fixup! repository: repo_submodule_init to take a submodule struct
903 + - builtin/fetch: check for submodule updates for non branch fetches
904 + - fetch: retry fetching submodules if needed objects were not fetched
905 + - submodule: fetch in submodules git directory instead of in worktree
906 + - repository: repo_submodule_init to take a submodule struct
907 + - submodule.c: do not copy around submodule list
908 + - submodule.c: move global changed_submodule_names into fetch submodule struct
909 + - submodule.c: sort changed_submodule_names before searching it
910 + - submodule.c: fix indentation
911 + - sha1-array: provide oid_array_filter
912 + - Merge branch 'ao/submodule-wo-gitmodules-checked-out' into sb/submodule-recursive-fetch-gets-the-tip
913 + (this branch uses ao/submodule-wo-gitmodules-checked-out.)
914
915 "git fetch --recurse-submodules" may not fetch the necessary commit
916 that is bound to the superproject, which is getting corrected.
917
1013 - Ejected for now, as it has fallouts in places like t/helper/.
1014 -
1015 -
1016 -* bp/rename-test-env-var (2018-09-28) 6 commits
1017 - (merged to 'next' on 2018-10-12 at 201e451d20)
1018 - + t0000: do not get self-test disrupted by environment warnings
1019 - + preload-index: update GIT_FORCE_PRELOAD_TEST support
1020 - + read-cache: update TEST_GIT_INDEX_VERSION support
1021 - + fsmonitor: update GIT_TEST_FSMONITOR support
1022 - + preload-index: use git_env_bool() not getenv() for customization
1023 - + t/README: correct spelling of "uncommon"
1024 -
1025 - Some environment variables that control the runtime options of Git
1026 - used during tests are getting renamed for consistency.
1027 -
1028 - Will merge to 'master'.
1029 -
1030 -
1031 -* ss/wt-status-committable (2018-10-03) 5 commits
1032 - (merged to 'next' on 2018-10-10 at ea30d8819d)
1033 - + roll wt_status_state into wt_status and populate in the collect phase
1034 - + wt-status.c: set the committable flag in the collect phase
1035 - + t7501: add test of "commit --dry-run --short"
1036 - + wt-status: rename commitable to committable
1037 - + wt-status.c: move has_unmerged earlier in the file
1038 -
1039 - Code clean-up in the internal machinery used by "git status" and
1040 - "git commit --dry-run".
1041 -
1042 - Will merge to 'master'.
1043 -
918
919 * js/rebase-in-c-5.5-work-with-rebase-i-in-c (2018-10-11) 2 commits
1046 - - builtin rebase: prepare for builtin rebase -i
1047 - - Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
920 + (merged to 'next' on 2018-10-19 at b734d81006)
921 + + builtin rebase: prepare for builtin rebase -i
922 + + Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
923 (this branch is used by pk/rebase-in-c-6-final; uses ag/rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, jc/rebase-in-c-5-test-typofix and js/rebase-i-break.)
924
925 "rebase" that has been rewritten learns the new calling convention
926 used by "rebase -i" that was rewritten in C, tying the loose end
927 between two GSoC topics that stomped on each other's toes.
928
1054 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
929 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.
930
931
932 * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
@@ -1075,6 +950,7 @@ of the repositories listed at
950 - t7411: merge tests 5 and 6
951 - submodule: factor out a config_set_in_gitmodules_file_gently function
952 - submodule: add a print_config_from_gitmodules() helper
953 + (this branch is used by sb/submodule-recursive-fetch-gets-the-tip.)
954
955 The submodule support has been updated to read from the blob at
956 HEAD:.gitmodules when the .gitmodules file is missing from the
@@ -1084,7 +960,9 @@ of the repositories listed at
960 cf. <20181010205645.e1529eff9099805029b1d6ef@ao2.it>
961
962
1087 -* md/filter-trees (2018-10-15) 9 commits
963 +* md/filter-trees (2018-10-18) 10 commits
964 + (merged to 'next' on 2018-10-18 at 55be2fded9)
965 + + list-objects: support for skipping tree traversal
966 (merged to 'next' on 2018-10-16 at 64d351d342)
967 + filter-trees: code clean-up of tests
968 (merged to 'next' on 2018-10-12 at c66e49d4ca)
@@ -1104,86 +982,91 @@ of the repositories listed at
982
983
984 * pk/rebase-in-c-2-basic (2018-09-06) 11 commits
1107 - - builtin rebase: support `git rebase <upstream> <switch-to>`
1108 - - builtin rebase: only store fully-qualified refs in `options.head_name`
1109 - - builtin rebase: start a new rebase only if none is in progress
1110 - - builtin rebase: support --force-rebase
1111 - - builtin rebase: try to fast forward when possible
1112 - - builtin rebase: require a clean worktree
1113 - - builtin rebase: support the `verbose` and `diffstat` options
1114 - - builtin rebase: support --quiet
1115 - - builtin rebase: handle the pre-rebase hook and --no-verify
1116 - - builtin rebase: support `git rebase --onto A...B`
1117 - - builtin rebase: support --onto
985 + (merged to 'next' on 2018-10-19 at c2a0046e52)
986 + + builtin rebase: support `git rebase <upstream> <switch-to>`
987 + + builtin rebase: only store fully-qualified refs in `options.head_name`
988 + + builtin rebase: start a new rebase only if none is in progress
989 + + builtin rebase: support --force-rebase
990 + + builtin rebase: try to fast forward when possible
991 + + builtin rebase: require a clean worktree
992 + + builtin rebase: support the `verbose` and `diffstat` options
993 + + builtin rebase: support --quiet
994 + + builtin rebase: handle the pre-rebase hook and --no-verify
995 + + builtin rebase: support `git rebase --onto A...B`
996 + + builtin rebase: support --onto
997 (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
998
999 Rewrite "git rebase" in C.
1000
1122 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
1001 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.
1002
1003
1004 * pk/rebase-in-c-3-acts (2018-09-06) 7 commits
1126 - - builtin rebase: stop if `git am` is in progress
1127 - - builtin rebase: actions require a rebase in progress
1128 - - builtin rebase: support --edit-todo and --show-current-patch
1129 - - builtin rebase: support --quit
1130 - - builtin rebase: support --abort
1131 - - builtin rebase: support --skip
1132 - - builtin rebase: support --continue
1005 + (merged to 'next' on 2018-10-19 at 9275677430)
1006 + + builtin rebase: stop if `git am` is in progress
1007 + + builtin rebase: actions require a rebase in progress
1008 + + builtin rebase: support --edit-todo and --show-current-patch
1009 + + builtin rebase: support --quit
1010 + + builtin rebase: support --abort
1011 + + builtin rebase: support --skip
1012 + + builtin rebase: support --continue
1013 (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
1014
1015 Rewrite "git rebase" in C.
1016
1137 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
1017 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.
1018
1019
1020 * pk/rebase-in-c-4-opts (2018-10-11) 18 commits
1141 - - builtin rebase: support --root
1142 - - builtin rebase: add support for custom merge strategies
1143 - - builtin rebase: support `fork-point` option
1144 - - merge-base --fork-point: extract libified function
1145 - - builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
1146 - - builtin rebase: support `--allow-empty-message` option
1147 - - builtin rebase: support `--exec`
1148 - - builtin rebase: support `--autostash` option
1149 - - builtin rebase: support `-C` and `--whitespace=<type>`
1150 - - builtin rebase: support `--gpg-sign` option
1151 - - builtin rebase: support `--autosquash`
1152 - - builtin rebase: support `keep-empty` option
1153 - - builtin rebase: support `ignore-date` option
1154 - - builtin rebase: support `ignore-whitespace` option
1155 - - builtin rebase: support --committer-date-is-author-date
1156 - - builtin rebase: support --rerere-autoupdate
1157 - - builtin rebase: support --signoff
1158 - - builtin rebase: allow selecting the rebase "backend"
1021 + (merged to 'next' on 2018-10-19 at 2770b2f5d5)
1022 + + builtin rebase: support --root
1023 + + builtin rebase: add support for custom merge strategies
1024 + + builtin rebase: support `fork-point` option
1025 + + merge-base --fork-point: extract libified function
1026 + + builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
1027 + + builtin rebase: support `--allow-empty-message` option
1028 + + builtin rebase: support `--exec`
1029 + + builtin rebase: support `--autostash` option
1030 + + builtin rebase: support `-C` and `--whitespace=<type>`
1031 + + builtin rebase: support `--gpg-sign` option
1032 + + builtin rebase: support `--autosquash`
1033 + + builtin rebase: support `keep-empty` option
1034 + + builtin rebase: support `ignore-date` option
1035 + + builtin rebase: support `ignore-whitespace` option
1036 + + builtin rebase: support --committer-date-is-author-date
1037 + + builtin rebase: support --rerere-autoupdate
1038 + + builtin rebase: support --signoff
1039 + + builtin rebase: allow selecting the rebase "backend"
1040 (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
1041
1042 Rewrite "git rebase" in C.
1043
1163 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
1044 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.
1045
1046
1047 * pk/rebase-in-c-5-test (2018-10-11) 6 commits
1167 - - builtin rebase: error out on incompatible option/mode combinations
1168 - - builtin rebase: use no-op editor when interactive is "implied"
1169 - - builtin rebase: show progress when connected to a terminal
1170 - - builtin rebase: fast-forward to onto if it is a proper descendant
1171 - - builtin rebase: optionally pass custom reflogs to reset_head()
1172 - - builtin rebase: optionally auto-detect the upstream
1048 + (merged to 'next' on 2018-10-19 at 0e48bc8243)
1049 + + builtin rebase: error out on incompatible option/mode combinations
1050 + + builtin rebase: use no-op editor when interactive is "implied"
1051 + + builtin rebase: show progress when connected to a terminal
1052 + + builtin rebase: fast-forward to onto if it is a proper descendant
1053 + + builtin rebase: optionally pass custom reflogs to reset_head()
1054 + + builtin rebase: optionally auto-detect the upstream
1055 (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
1056
1057 Rewrite "git rebase" in C.
1058
1177 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
1059 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.
1060
1061
1062 * pk/rebase-in-c-6-final (2018-10-11) 1 commit
1181 - - rebase: default to using the builtin rebase
1063 + (merged to 'next' on 2018-10-19 at 52f1dadf69)
1064 + + rebase: default to using the builtin rebase
1065 (this branch uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test; is tangled with ag/sequencer-reduce-rewriting-todo, jc/rebase-in-c-5-test-typofix and js/rebase-i-break.)
1066
1067 The final step of rewriting "rebase -i" in C.
1068
1186 - Will merge to 'next'.
1069 + Will merge to 'master'.
1070
1071
1072 * ps/stash-in-c (2018-10-15) 21 commits
@@ -1234,39 +1117,41 @@ of the repositories listed at
1117
1118
1119 * ag/rebase-i-in-c (2018-10-09) 20 commits
1237 - - rebase -i: move rebase--helper modes to rebase--interactive
1238 - - rebase -i: remove git-rebase--interactive.sh
1239 - - rebase--interactive2: rewrite the submodes of interactive rebase in C
1240 - - rebase -i: implement the main part of interactive rebase as a builtin
1241 - - rebase -i: rewrite init_basic_state() in C
1242 - - rebase -i: rewrite write_basic_state() in C
1243 - - rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
1244 - - rebase -i: implement the logic to initialize $revisions in C
1245 - - rebase -i: remove unused modes and functions
1246 - - rebase -i: rewrite complete_action() in C
1247 - - t3404: todo list with commented-out commands only aborts
1248 - - sequencer: change the way skip_unnecessary_picks() returns its result
1249 - - sequencer: refactor append_todo_help() to write its message to a buffer
1250 - - rebase -i: rewrite checkout_onto() in C
1251 - - rebase -i: rewrite setup_reflog_action() in C
1252 - - sequencer: add a new function to silence a command, except if it fails
1253 - - rebase -i: rewrite the edit-todo functionality in C
1254 - - editor: add a function to launch the sequence editor
1255 - - rebase -i: rewrite append_todo_help() in C
1256 - - sequencer: make three functions and an enum from sequencer.c public
1120 + (merged to 'next' on 2018-10-19 at 1b24712d46)
1121 + + rebase -i: move rebase--helper modes to rebase--interactive
1122 + + rebase -i: remove git-rebase--interactive.sh
1123 + + rebase--interactive2: rewrite the submodes of interactive rebase in C
1124 + + rebase -i: implement the main part of interactive rebase as a builtin
1125 + + rebase -i: rewrite init_basic_state() in C
1126 + + rebase -i: rewrite write_basic_state() in C
1127 + + rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
1128 + + rebase -i: implement the logic to initialize $revisions in C
1129 + + rebase -i: remove unused modes and functions
1130 + + rebase -i: rewrite complete_action() in C
1131 + + t3404: todo list with commented-out commands only aborts
1132 + + sequencer: change the way skip_unnecessary_picks() returns its result
1133 + + sequencer: refactor append_todo_help() to write its message to a buffer
1134 + + rebase -i: rewrite checkout_onto() in C
1135 + + rebase -i: rewrite setup_reflog_action() in C
1136 + + sequencer: add a new function to silence a command, except if it fails
1137 + + rebase -i: rewrite the edit-todo functionality in C
1138 + + editor: add a function to launch the sequence editor
1139 + + rebase -i: rewrite append_todo_help() in C
1140 + + sequencer: make three functions and an enum from sequencer.c public
1141 (this branch is used by ag/sequencer-reduce-rewriting-todo, js/rebase-i-break, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
1142
1143 Rewrite of the remaining "rebase -i" machinery in C.
1144
1261 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
1145 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.
1146
1147
1148 * pk/rebase-in-c (2018-08-06) 3 commits
1265 - - builtin/rebase: support running "git rebase <upstream>"
1266 - - rebase: refactor common shell functions into their own file
1267 - - rebase: start implementing it as a builtin
1149 + (merged to 'next' on 2018-10-19 at 26c29ace53)
1150 + + builtin/rebase: support running "git rebase <upstream>"
1151 + + rebase: refactor common shell functions into their own file
1152 + + rebase: start implementing it as a builtin
1153 (this branch is used by jc/rebase-in-c-5-test-typofix, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
1154
1155 Rewrite of the "rebase" machinery in C.
1156
1272 - Will merge to 'next' together with pk/rebase-i-in-c-6-final.
1157 + Will merge to 'master' together with pk/rebase-i-in-c-6-final.