What's cooking (2018/06 #07)
Junio C Hamano committed
Jun 28, 2018 at 14:27 UTC
be70464a91c93a321dc16707dec820870df970d2
1 file changed
+394
-452
whats-cooking.txt
+394
-452
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jun 2018, #06; Mon, 25)
4
-X-master-at: ed843436dd4924c10669820cc73daf50f0b4dabd
5
-X-next-at: fe4b3013947290a493c4417c35793593612e592c
3
+Subject: What's cooking in git.git (Jun 2018, #07; Thu, 28)
4
+X-master-at: e3331758f12da22f4103eec7efe1b5304a9be5e9
5
+X-next-at: 9cd7c0d54aa2ac12712fd5611825c618efdaf1e0
6
7
-What's cooking in git.git (Jun 2018, #06; Mon, 25)
7
+What's cooking in git.git (Jun 2018, #07; Thu, 28)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,18 +12,10 @@ 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
-Git 2.18 turned out to be an unusually large release in the recent
16
-history, with 900+ individual changes, compared to ~500 for a few
17
-releases before that. Thanks, everybody who participated.
18
-
19
-The tip of 'next' hasn't been rewound yet, but I've already reverted
20
-merges of a few topics from there to give them a fresh restart.
21
-
22
-I haven't annotated many topics still in 'pu' with short-term plans
23
-and my assessment on their done-ness. Comments and review summaries
24
-to help deciding are appreciated. I'd like to start accepting new
25
-topics only after getting the classification more-or-less right for
26
-the topics already in flight.
15
+The tip of 'next' has been rewound and it currently has only 4
16
+topics. Quite a many topics are cooking in 'pu' and need to be
17
+sifted into good bins (for 'next') and the remainder. Help is
18
+appreciated in that area ;-)
19
20
You can find the changes described here in the integration branches
21
of the repositories listed at
@@ -33,363 +25,243 @@ of the repositories listed at
25
--------------------------------------------------
26
[Graduated to "master"]
27
36
-* ag/rebase-p (2018-06-01) 4 commits
37
- (merged to 'next' on 2018-06-13 at dd6f8a51d7)
38
- + rebase: remove -p code from git-rebase--interactive.sh
39
- + rebase: use the new git-rebase--preserve-merges.sh
40
- + rebase: strip unused code in git-rebase--preserve-merges.sh
41
- + rebase: introduce a dedicated backend for --preserve-merges
42
- (this branch is used by ag/rebase-i-append-todo-help and ag/rebase-i-rewrite-todo.)
28
+* ab/refspec-init-fix (2018-06-11) 3 commits
29
+ (merged to 'next' on 2018-06-13 at 91d71d8435)
30
+ + refspec: initalize `refspec_item` in `valid_fetch_refspec()`
31
+ + refspec: add back a refspec_item_init() function
32
+ + refspec: s/refspec_item_init/&_or_die/g
33
44
- Separate "rebase -p" codepath out of "rebase -i" implementation to
45
- slim down the latter and make it easier to manage.
34
+ Make refspec parsing codepath more robust.
35
36
48
-* cc/tests-without-assuming-ref-files-backend (2018-06-04) 1 commit
49
- (merged to 'next' on 2018-06-13 at 7e2f74431c)
50
- + t9104: kosherly remove remote refs
51
-
52
- Instead of mucking with filesystem directly, use plumbing commands
53
- update-ref etc. to manipulate the refs in the tests.
54
-
55
-
56
-* ds/commit-graph-lockfile-fix (2018-05-22) 1 commit
57
- (merged to 'next' on 2018-05-24 at 3d12a02b0c)
58
- + commit-graph: fix UX issue when .lock file exists
59
- (this branch is used by ds/commit-graph-fsck; uses ds/generation-numbers.)
60
-
61
- Update to ds/generation-numbers topic.
62
-
63
-
64
-* ds/generation-numbers (2018-05-22) 11 commits
65
- (merged to 'next' on 2018-05-24 at 56fc38a1b6)
66
- + commit-graph.txt: update design document
67
- + merge: check config before loading commits
68
- + commit: use generation number in remove_redundant()
69
- + commit: add short-circuit to paint_down_to_common()
70
- + commit: use generation numbers for in_merge_bases()
71
- + ref-filter: use generation number for --contains
72
- + commit-graph: always load commit-graph information
73
- + commit: use generations in paint_down_to_common()
74
- + commit-graph: compute generation numbers
75
- + commit: add generation number to struct commit
76
- + ref-filter: fix outdated comment on in_commit_list
77
- (this branch is used by ds/commit-graph-fsck and ds/commit-graph-lockfile-fix.)
78
-
79
- A recently added "commit-graph" datafile has learned to store
80
- pre-computed generation numbers to speed up the decisions to stop
81
- history traversal.
82
-
83
-
84
-* en/merge-recursive-tests (2018-05-28) 5 commits
85
- (merged to 'next' on 2018-06-01 at 8490b560b4)
86
- + t6036: prefer test_when_finished to manual cleanup in following test
87
- + t6036, t6042: prefer test_cmp to sequences of test
88
- + t6036, t6042: prefer test_path_is_file, test_path_is_missing
89
- + t6036, t6042: use test_line_count instead of wc -l
90
- + t6036, t6042: use test_create_repo to keep tests independent
91
-
92
- Clean up tests in t6xxx series about 'merge' command.
93
-
94
-
95
-* en/rename-directory-detection-reboot (2018-06-18) 1 commit
96
- (merged to 'next' on 2018-06-18 at 95c454d3f4)
97
- + merge-recursive: use xstrdup() instead of fixed buffer
98
-
99
- Newly added codepath in merge-recursive had potential buffer
100
- overrun, which has been fixed.
37
+* as/safecrlf-quiet-fix (2018-06-11) 1 commit
38
+ (merged to 'next' on 2018-06-13 at b163674843)
39
+ + config.c: fix regression for core.safecrlf false
40
41
+ Fix for 2.17-era regression around `core.safecrlf`.
42
103
-* jk/show-index (2018-05-29) 2 commits
104
- (merged to 'next' on 2018-06-01 at 4b3382d994)
105
- + show-index: update documentation for index v2
106
- + make show-index a builtin
107
-
108
- Modernize a less often used command.
109
-
110
-
111
-* ls/complete-remote-update-names (2018-06-01) 1 commit
112
- (merged to 'next' on 2018-06-13 at 86b4d23278)
113
- + completion: complete remote names too
114
-
115
- "git remote update" can take both a single remote nickname and a
116
- nickname for remote groups, and the completion script (in contrib/)
117
- has been taught about it.
118
-
119
-
120
-* nd/commit-util-to-slab (2018-05-21) 15 commits
121
- (merged to 'next' on 2018-05-24 at bb5643d75c)
122
- + commit.h: delete 'util' field in struct commit
123
- + merge: use commit-slab in merge remote desc instead of commit->util
124
- + log: use commit-slab in prepare_bases() instead of commit->util
125
- + show-branch: note about its object flags usage
126
- + show-branch: use commit-slab for commit-name instead of commit->util
127
- + name-rev: use commit-slab for rev-name instead of commit->util
128
- + bisect.c: use commit-slab for commit weight instead of commit->util
129
- + revision.c: use commit-slab for show_source
130
- + sequencer.c: use commit-slab to associate todo items to commits
131
- + sequencer.c: use commit-slab to mark seen commits
132
- + shallow.c: use commit-slab for commit depth instead of commit->util
133
- + describe: use commit-slab for commit names instead of commit->util
134
- + blame: use commit-slab for blame suspects instead of commit->util
135
- + commit-slab: support shared commit-slab
136
- + commit-slab.h: code split
137
-
138
- The in-core "commit" object had an all-purpose "void *util" field,
139
- which was tricky to use especially in library-ish part of the
140
- code. All of the existing uses of the field has been migrated to a
141
- more dedicated "commit-slab" mechanism and the field is eliminated.
142
-
143
-
144
-* nd/complete-config-vars (2018-05-29) 13 commits
145
- (merged to 'next' on 2018-06-13 at c2dd5546d0)
146
- + completion: complete general config vars in two steps
147
- + log-tree: allow to customize 'grafted' color
148
- + completion: support case-insensitive config vars
149
- + completion: keep other config var completion in camelCase
150
- + completion: drop the hard coded list of config vars
151
- + am: move advice.amWorkDir parsing back to advice.c
152
- + advice: keep config name in camelCase in advice_config[]
153
- + fsck: produce camelCase config key names
154
- + help: add --config to list all available config
155
- + fsck: factor out msg_id_info[] lazy initialization code
156
- + grep: keep all colors in an array
157
- + Add and use generic name->id mapping code for color slot parsing
158
- + Merge branch 'nd/command-list' into nd/complete-config-vars
159
-
160
- Continuing with the idea to programatically enumerate various
161
- pieces of data required for command line completion, teach the
162
- codebase to report the list of configuration variables
163
- subcommands care about to help complete them.
164
-
165
-
166
-* nd/diff-apply-ita (2018-05-29) 4 commits
167
- (merged to 'next' on 2018-05-30 at f98728de81)
168
- + apply: add --intent-to-add
169
- + t2203: add a test about "diff HEAD" case
170
- + diff: turn --ita-invisible-in-index on by default
171
- + diff: ignore --ita-[in]visible-in-index when diffing worktree-to-tree
172
-
173
- "git diff" compares the index and the working tree. For paths
174
- added with intent-to-add bit, the command shows the full contents
175
- of them as added, but the paths themselves were not marked as new
176
- files. They are now shown as new by default.
177
-
178
- "git apply" learned the "--intent-to-add" option so that an
179
- otherwise working-tree-only application of a patch will add new
180
- paths to the index marked with the "intent-to-add" bit.
181
-
182
-
183
-* nd/reject-empty-shallow-request (2018-06-04) 1 commit
184
- (merged to 'next' on 2018-06-13 at d6b6a1c3a7)
185
- + upload-pack: reject shallow requests that would return nothing
186
-
187
- "git fetch --shallow-since=<cutoff>" that specifies the cut-off
188
- point that is newer than the existing history used to end up
189
- grabbing the entire history. Such a request now errors out.
190
-
191
-
192
-* pc/submodule-helper-foreach (2018-05-11) 4 commits
193
- (merged to 'next' on 2018-05-22 at f22659ad46)
194
- + submodule: port submodule subcommand 'foreach' from shell to C
195
- + submodule foreach: document variable '$displaypath'
196
- + submodule foreach: document '$sm_path' instead of '$path'
197
- + submodule foreach: correct '$path' in nested submodules from a subdirectory
198
-
199
- The bulk of "git submodule foreach" has been rewritten in C.
200
-
201
-
202
-* sb/object-store-alloc (2018-05-16) 13 commits
203
- (merged to 'next' on 2018-06-13 at 2868c2db9d)
204
- + alloc: allow arbitrary repositories for alloc functions
205
- + object: allow create_object to handle arbitrary repositories
206
- + object: allow grow_object_hash to handle arbitrary repositories
207
- + alloc: add repository argument to alloc_commit_index
208
- + alloc: add repository argument to alloc_report
209
- + alloc: add repository argument to alloc_object_node
210
- + alloc: add repository argument to alloc_tag_node
211
- + alloc: add repository argument to alloc_commit_node
212
- + alloc: add repository argument to alloc_tree_node
213
- + alloc: add repository argument to alloc_blob_node
214
- + object: add repository argument to grow_object_hash
215
- + object: add repository argument to create_object
216
- + repository: introduce parsed objects field
217
- (this branch is used by sb/object-store-grafts.)
218
-
219
- The conversion to pass "the_repository" and then "a_repository"
220
- throughout the object access API continues.
43
44
+* jc/clean-after-sanity-tests (2018-06-15) 1 commit
45
+ (merged to 'next' on 2018-06-22 at 2df77b8af9)
46
+ + tests: clean after SANITY tests
47
223
-* sb/plug-misc-leaks (2018-06-04) 5 commits
224
- (merged to 'next' on 2018-06-13 at bf68cabe28)
225
- + SQUASH: tentatively cast const-ness away when calling free()
226
- + sequencer.c: plug mem leak in git_sequencer_config
227
- (merged to 'next' on 2018-06-04 at fbefac1c7a)
228
- + sequencer.c: plug leaks in do_pick_commit
229
- + submodule--helper: plug mem leak in print_default_remote
230
- + refs/packed-backend.c: close fd of empty file
48
+ test cleanup.
49
232
- Misc leak plugging.
50
51
+* jh/partial-clone (2018-06-12) 1 commit
52
+ (merged to 'next' on 2018-06-13 at 818f864b0c)
53
+ + list-objects: check if filter is NULL before using
54
235
-* sg/update-ref-stdin-cleanup (2018-06-04) 1 commit
236
- (merged to 'next' on 2018-06-13 at 2b9924760d)
237
- + update-ref --stdin: use skip_prefix()
55
+ The recent addition of "partial clone" experimental feature kicked
56
+ in when it shouldn't, namely, when there is no partial-clone filter
57
+ defined even if extensions.partialclone is set.
58
239
- Code cleanup.
59
+
60
+* jk/fetch-all-peeled-fix (2018-06-13) 2 commits
61
+ (merged to 'next' on 2018-06-13 at 1333bb9d90)
62
+ + fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits
63
+ + fetch-pack: don't try to fetch peel values with --all
64
+
65
+ "git fetch-pack --all" used to unnecessarily fail upon seeing an
66
+ annotated tag that points at an object other than a commit.
67
+
68
+
69
+* ms/send-pack-honor-config (2018-06-12) 1 commit
70
+ (merged to 'next' on 2018-06-13 at e2cd933715)
71
+ + builtin/send-pack: populate the default configs
72
+
73
+ "git send-pack --signed" (hence "git push --signed" over the http
74
+ transport) did not read user ident from the config mechanism to
75
+ determine whom to sign the push certificate as, which has been
76
+ corrected.
77
+
78
+
79
+* nd/completion-negation (2018-06-11) 3 commits
80
+ (merged to 'next' on 2018-06-19 at a3be59b450)
81
+ + completion: collapse extra --no-.. options
82
+ + completion: suppress some -no- options
83
+ + parse-options: option to let --git-completion-helper show negative form
84
+
85
+ Continuing with the idea to programmatically enumerate various
86
+ pieces of data required for command line completion, the codebase
87
+ has been taught to enumerate options prefixed with "--no-" to
88
+ negate them.
89
+
90
+
91
+* pw/add-p-recount (2018-06-11) 1 commit
92
+ (merged to 'next' on 2018-06-19 at 1880ecc3f1)
93
+ + add -p: fix counting empty context lines in edited patches
94
+
95
+ When user edits the patch in "git add -p" and the user's editor is
96
+ set to strip trailing whitespaces indiscriminately, an empty line
97
+ that is unchanged in the patch would become completely empty
98
+ (instead of a line with a sole SP on it). The code introduced in
99
+ Git 2.17 timeframe failed to parse such a patch, but now it learned
100
+ to notice the situation and cope with it.
101
+
102
+
103
+* sb/fix-fetching-moved-submodules (2018-06-14) 2 commits
104
+ (merged to 'next' on 2018-06-22 at 16039dc62a)
105
+ + t5526: test recursive submodules when fetching moved submodules
106
+ + submodule: fix NULL correctness in renamed broken submodules
107
+
108
+ The code to try seeing if a fetch is necessary in a submodule
109
+ during a fetch with --recurse-submodules got confused when the path
110
+ to the submodule was changed in the range of commits in the
111
+ superproject, sometimes showing "(null)". This has been corrected.
112
+
113
+
114
+* sg/gpg-tests-fix (2018-06-11) 2 commits
115
+ (merged to 'next' on 2018-06-13 at f3a05f1c41)
116
+ + tests: make forging GPG signed commits and tags more robust
117
+ + t7510-signed-commit: use 'test_must_fail'
118
+
119
+ Some flaky tests have been fixed.
120
+
121
+
122
+* tz/cred-netrc-cleanup (2018-06-18) 4 commits
123
+ (merged to 'next' on 2018-06-22 at a471dd714c)
124
+ + git-credential-netrc: make "all" default target of Makefile
125
+ + git-credential-netrc: fix exit status when tests fail
126
+ + git-credential-netrc: use in-tree Git.pm for tests
127
+ + git-credential-netrc: minor whitespace cleanup in test script
128
+
129
+ Build and test procedure for netrc credential helper (in contrib/)
130
+ has been updated.
131
132
--------------------------------------------------
133
[New Topics]
134
244
-* ld/p423 (2018-06-19) 6 commits
245
- - git-p4: python3: fix octal constants
246
- - git-p4: python3: use print() function
247
- - git-p4: python3: basestring workaround
248
- - git-p4: python3: remove backticks
249
- - git-p4: python3: replace dict.has_key(k) with "k in dict"
250
- - git-p4: python3: replace <> with !=
135
+* ao/config-from-gitmodules (2018-06-26) 6 commits
136
+ - submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
137
+ - submodule-config: pass repository as argument to config_from_gitmodules
138
+ - submodule-config: make 'config_from_gitmodules' private
139
+ - submodule-config: add helper to get 'update-clone' config from .gitmodules
140
+ - submodule-config: add helper function to get 'fetch' config from .gitmodules
141
+ - config: move config_from_gitmodules to submodule-config.c
142
252
- Code preparation to make "git p4" closer to be usable with Python 3.
143
+ Tighten the API to make it harder to misuse in-tree .gitmodules
144
+ file, even though it shares the same syntax with configuration
145
+ files, to read random configuration items from it.
146
147
Will merge to 'next'.
148
149
257
-* pw/rebase-i-keep-reword-after-conflict (2018-06-19) 1 commit
258
- - sequencer: do not squash 'reword' commits when we hit conflicts
150
+* as/sequencer-customizable-comment-char (2018-06-28) 1 commit
151
+ - sequencer: use configured comment character
152
260
- Bugfix for "rebase -i" corner case regression.
153
+ Honor core.commentchar when preparing the list of commits to replay
154
+ in "rebase -i".
155
+
156
+
157
+* dj/runtime-prefix (2018-06-26) 1 commit
158
+ - Makefile: tweak sed invocation
159
+
160
+ POSIX portability fix in Makefile to fix a glitch introduced a few
161
+ releases ago.
162
163
Will merge to 'next'.
164
165
265
-* xy/format-patch-prereq-patch-id-fix (2018-06-19) 1 commit
266
- - format-patch: clear UNINTERESTING flag before prepare_bases
166
+* ds/commit-graph (2018-06-28) 1 commit
167
+ - commit-graph: fix documentation inconsistencies
168
268
- Recently added "--base" option to "git format-patch" command did
269
- not correctly generate prereq patch ids.
169
+ Docfix.
170
171
Will merge to 'next'.
172
173
274
-* bw/config-refer-to-gitsubmodules-doc (2018-06-21) 1 commit
275
- - docs: link to gitsubmodules
174
+* en/rebase-i-microfixes (2018-06-27) 3 commits
175
+ - git-rebase--merge: modernize "git-$cmd" to "git $cmd"
176
+ - Fix use of strategy options with interactive rebases
177
+ - t3418: add testcase showing problems with rebase -i and strategy options
178
+
179
+ Will merge to 'next'.
180
277
- Docfix.
181
+
182
+* js/enhanced-version-info (2018-06-28) 1 commit
183
+ - Makefile: fix the "built from commit" code
184
+
185
+ Build fix.
186
187
Will merge to 'next'.
188
189
282
-* bw/ref-in-want (2018-06-21) 8 commits
283
- - fetch-pack: implement ref-in-want
284
- - fetch-pack: put shallow info in output parameter
285
- - fetch: refactor to make function args narrower
286
- - fetch: refactor fetch_refs into two functions
287
- - fetch: refactor the population of peer ref OIDs
288
- - upload-pack: test negotiation with changing repository
289
- - upload-pack: implement ref-in-want
290
- - test-pkt-line: add unpack-sideband subcommand
190
+* js/rebase-recreate-merge (2018-06-27) 1 commit
191
+ - rebase: fix documentation formatting
192
193
+ Docfix.
194
293
-* en/rebase-consistency (2018-06-21) 7 commits
294
- - git-rebase: make --allow-empty-message the default
295
- - git-rebase.txt: address confusion between --no-ff vs --force-rebase
296
- - git-rebase.txt: document behavioral inconsistencies between modes
297
- - git-rebase: error out when incompatible options passed
298
- - t3422: new testcases for checking when incompatible options passed
299
- - git-rebase.sh: update help messages a bit
300
- - git-rebase.txt: document incompatible options
195
+ Will merge to 'next'.
196
197
303
-* jt/remove-pack-bitmap-global (2018-06-21) 2 commits
304
- - pack-bitmap: add free function
305
- - pack-bitmap: remove bitmap_git global variable
198
+* jt/connectivity-check-after-unshallow (2018-06-27) 1 commit
199
+ - fetch: when deepening, check connectivity fully
200
201
+ "git fetch" failed to correctly validate the set of objects it
202
+ received when making a shallow history deeper, which has been
203
+ corrected.
204
308
-* sb/submodule-move-head-error-msg (2018-06-25) 1 commit
309
- - submodule.c: report the submodule that an error occurs in
205
311
- Needs a reroll.
312
- cf. <20180622081713.5360-1-szeder.dev@gmail.com>
206
+* jt/fetch-nego-tip (2018-06-27) 1 commit
207
+ - fetch-pack: support negotiation tip whitelist
208
+ (this branch uses jt/fetch-pack-negotiator.)
209
210
+ "git fetch" learned a new option "--negotiation-tip" to limit the
211
+ set of commits it tells the other end as "have", to reduce wasted
212
+ bandwidth and cycles, which would be helpful when the receiving
213
+ repository has a lot of refs that have little to do with the
214
+ history at the remote it is fetching from.
215
315
-* bw/protocol-v2 (2018-06-22) 1 commit
316
- - protocol-v2 doc: put HTTP headers after request
216
318
- Doc fix.
217
+* mb/filter-branch-optim (2018-06-26) 1 commit
218
+ - filter-branch: skip commits present on --state-branch
219
+
220
+ "git filter-branch" when used with the "--state-branch" option
221
+ still attempted to rewrite the commits whose filtered result is
222
+ known from the previous attempt (which is recorded on the state
223
+ branch); the command has been corrected not to waste cycles doing
224
+ so.
225
226
Will merge to 'next'.
227
228
323
-* jk/branch-l-1-repurpose (2018-06-22) 1 commit
324
- - branch: make "-l" a synonym for "--list"
325
- (this branch uses jk/branch-l-0-deprecation.)
229
+* ms/core-icase-doc (2018-06-28) 1 commit
230
+ - Documentation: declare "core.ignoreCase" as internal variable
231
327
- Updated plan to repurpose the "-l" option to "git branch".
232
+ Clarify that setting core.ignoreCase to deviate from reality would
233
+ not turn a case-incapable filesystem into a case-capable one.
234
329
- Will hold in 'pu' until jk/branch-l-0-deprecation progresses sufficiently.
235
+ Will merge to 'next'.
236
237
332
-* vs/typofixes (2018-06-22) 1 commit
333
- - Documentation: spelling and grammar fixes
238
+* rj/submodule-fsck-skip (2018-06-27) 1 commit
239
+ - fsck: check skiplist for object in fsck_blob()
240
335
- Doc fix.
241
+ "fsck.skipList" did not prevent a blob object listed there from
242
+ being inspected for is contents (e.g. we recently started to
243
+ inspect the contents of ".gitmodules" for certain malicious
244
+ patterns), which has been corrected.
245
246
Will merge to 'next'.
247
248
340
-* cc/remote-odb (2018-06-25) 9 commits
341
- - Documentation/config: add odb.<name>.promisorRemote
342
- - t0410: test fetching from many promisor remotes
343
- - Use odb.origin.partialclonefilter instead of core.partialclonefilter
344
- - Use remote_odb_get_direct() and has_remote_odb()
345
- - remote-odb: add remote_odb_reinit()
346
- - remote-odb: implement remote_odb_get_many_direct()
347
- - remote-odb: implement remote_odb_get_direct()
348
- - Add initial remote odb support
349
- - fetch-object: make functions return an error code
249
+* tb/grep-only-matching (2018-06-27) 3 commits
250
+ - SQUASH??? emerg compilation fix
251
+ - grep.c: teach 'git grep --only-matching'
252
+ - grep.c: extract show_line_header()
253
+ (this branch uses tb/grep-column.)
254
255
+ "git grep" learned the "--only-matching" option.
256
352
-* ds/multi-pack-index (2018-06-25) 24 commits
353
- - midx: clear midx on repack
354
- - packfile: skip loading index if in multi-pack-index
355
- - midx: prevent duplicate packfile loads
356
- - midx: use midx in approximate_object_count
357
- - midx: use existing midx when writing new one
358
- - midx: use midx in abbreviation calculations
359
- - midx: read objects from multi-pack-index
360
- - midx: prepare midxed_git struct
361
- - config: create core.multiPackIndex setting
362
- - midx: write object offsets
363
- - midx: write object id fanout chunk
364
- - midx: write object ids in a chunk
365
- - midx: sort and deduplicate objects from packfiles
366
- - midx: read pack names into array
367
- - multi-pack-index: write pack names in chunk
368
- - multi-pack-index: read packfile list
369
- - packfile: generalize pack directory list
370
- - multi-pack-index: expand test data
371
- - multi-pack-index: load into memory
372
- - midx: write header information to lockfile
373
- - multi-pack-index: add 'write' verb
374
- - multi-pack-index: add builtin
375
- - multi-pack-index: add format details
376
- - multi-pack-index: add design document
257
258
+* tz/exclude-doc-smallfixes (2018-06-27) 2 commits
259
+ - dir.c: fix typos in core.excludesfile comment
260
+ - gitignore.txt: clarify default core.excludesfile path
261
379
-* nd/use-the-index-compat-less (2018-06-25) 13 commits
380
- - wt-status.c: stop using index compat macros
381
- - sha1-name.c: stop using index compat macros
382
- - sequencer.c: stop using index compat macros
383
- - revision.c: stop using index compat macros
384
- - rerere.c: stop using index compat macros
385
- - merge.c: stop using index compat macros
386
- - merge-recursive.c: stop using index compat macros
387
- - entry.c: stop using index compat macros
388
- - diff.c: stop using index compat macros
389
- - diff-lib.c: stop using index compat macros
390
- - check-racy.c: stop using index compat macros
391
- - blame.c: stop using index compat macros
392
- - apply.c: stop using index compat macros
262
+ Doc updates.
263
+
264
+ Will merge to 'next'.
265
266
--------------------------------------------------
267
[Stalled]
@@ -518,6 +390,185 @@ of the repositories listed at
390
--------------------------------------------------
391
[Cooking]
392
393
+* ld/p423 (2018-06-19) 6 commits
394
+ - git-p4: python3: fix octal constants
395
+ - git-p4: python3: use print() function
396
+ - git-p4: python3: basestring workaround
397
+ - git-p4: python3: remove backticks
398
+ - git-p4: python3: replace dict.has_key(k) with "k in dict"
399
+ - git-p4: python3: replace <> with !=
400
+
401
+ Code preparation to make "git p4" closer to be usable with Python 3.
402
+
403
+ Will merge to 'next'.
404
+
405
+
406
+* pw/rebase-i-keep-reword-after-conflict (2018-06-19) 1 commit
407
+ - sequencer: do not squash 'reword' commits when we hit conflicts
408
+
409
+ Bugfix for "rebase -i" corner case regression.
410
+
411
+ Will merge to 'next'.
412
+
413
+
414
+* xy/format-patch-prereq-patch-id-fix (2018-06-19) 1 commit
415
+ - format-patch: clear UNINTERESTING flag before prepare_bases
416
+
417
+ Recently added "--base" option to "git format-patch" command did
418
+ not correctly generate prereq patch ids.
419
+
420
+ Will merge to 'next'.
421
+
422
+
423
+* bw/config-refer-to-gitsubmodules-doc (2018-06-21) 1 commit
424
+ - docs: link to gitsubmodules
425
+
426
+ Docfix.
427
+
428
+ Will merge to 'next'.
429
+
430
+
431
+* bw/ref-in-want (2018-06-28) 8 commits
432
+ - fetch-pack: implement ref-in-want
433
+ - fetch-pack: put shallow info in output parameter
434
+ - fetch: refactor to make function args narrower
435
+ - fetch: refactor fetch_refs into two functions
436
+ - fetch: refactor the population of peer ref OIDs
437
+ - upload-pack: test negotiation with changing repository
438
+ - upload-pack: implement ref-in-want
439
+ - test-pkt-line: add unpack-sideband subcommand
440
+
441
+ Protocol v2 has been updated to allow slightly out-of-sync set of
442
+ servers to work together to serve a single client, which would be
443
+ useful with load-balanced servers that talk smart HTTP transport.
444
+
445
+
446
+* en/rebase-consistency (2018-06-27) 9 commits
447
+ - git-rebase: make --allow-empty-message the default
448
+ - t3401: add directory rename testcases for rebase and am
449
+ - git-rebase.txt: document behavioral differences between modes
450
+ - directory-rename-detection.txt: technical docs on abilities and limitations
451
+ - git-rebase.txt: address confusion between --no-ff vs --force-rebase
452
+ - git-rebase: error out when incompatible options passed
453
+ - t3422: new testcases for checking when incompatible options passed
454
+ - git-rebase.sh: update help messages a bit
455
+ - git-rebase.txt: document incompatible options
456
+
457
+ "git rebase" behaved slightly differently depending on which one of
458
+ the three backends gets used; this has been documented and an
459
+ effort to make them more uniform has begun.
460
+
461
+
462
+* jt/remove-pack-bitmap-global (2018-06-21) 2 commits
463
+ - pack-bitmap: add free function
464
+ - pack-bitmap: remove bitmap_git global variable
465
+
466
+ The effort to move globals to per-repository in-core structure
467
+ continues.
468
+
469
+
470
+* sb/submodule-move-head-error-msg (2018-06-25) 1 commit
471
+ - submodule.c: report the submodule that an error occurs in
472
+
473
+ Needs a reroll.
474
+ cf. <20180622081713.5360-1-szeder.dev@gmail.com>
475
+
476
+
477
+* bw/protocol-v2 (2018-06-22) 1 commit
478
+ - protocol-v2 doc: put HTTP headers after request
479
+
480
+ Doc fix.
481
+
482
+ Will merge to 'next'.
483
+
484
+
485
+* jk/branch-l-1-repurpose (2018-06-22) 1 commit
486
+ - branch: make "-l" a synonym for "--list"
487
+ (this branch uses jk/branch-l-0-deprecation.)
488
+
489
+ Updated plan to repurpose the "-l" option to "git branch".
490
+
491
+ Will hold in 'pu' until jk/branch-l-0-deprecation progresses sufficiently.
492
+
493
+
494
+* vs/typofixes (2018-06-22) 1 commit
495
+ - Documentation: spelling and grammar fixes
496
+
497
+ Doc fix.
498
+
499
+ Will merge to 'next'.
500
+
501
+
502
+* cc/remote-odb (2018-06-25) 9 commits
503
+ . Documentation/config: add odb.<name>.promisorRemote
504
+ . t0410: test fetching from many promisor remotes
505
+ . Use odb.origin.partialclonefilter instead of core.partialclonefilter
506
+ . Use remote_odb_get_direct() and has_remote_odb()
507
+ . remote-odb: add remote_odb_reinit()
508
+ . remote-odb: implement remote_odb_get_many_direct()
509
+ . remote-odb: implement remote_odb_get_direct()
510
+ . Add initial remote odb support
511
+ . fetch-object: make functions return an error code
512
+
513
+ Needs a reroll.
514
+
515
+
516
+* ds/multi-pack-index (2018-06-25) 24 commits
517
+ - midx: clear midx on repack
518
+ - packfile: skip loading index if in multi-pack-index
519
+ - midx: prevent duplicate packfile loads
520
+ - midx: use midx in approximate_object_count
521
+ - midx: use existing midx when writing new one
522
+ - midx: use midx in abbreviation calculations
523
+ - midx: read objects from multi-pack-index
524
+ - midx: prepare midxed_git struct
525
+ - config: create core.multiPackIndex setting
526
+ - midx: write object offsets
527
+ - midx: write object id fanout chunk
528
+ - midx: write object ids in a chunk
529
+ - midx: sort and deduplicate objects from packfiles
530
+ - midx: read pack names into array
531
+ - multi-pack-index: write pack names in chunk
532
+ - multi-pack-index: read packfile list
533
+ - packfile: generalize pack directory list
534
+ - multi-pack-index: expand test data
535
+ - multi-pack-index: load into memory
536
+ - midx: write header information to lockfile
537
+ - multi-pack-index: add 'write' verb
538
+ - multi-pack-index: add builtin
539
+ - multi-pack-index: add format details
540
+ - multi-pack-index: add design document
541
+
542
+ When there are too many packfiles in a repository (which is not
543
+ recommended), looking up an object in these would require
544
+ consulting many pack .idx files; a new mechanism to have a single
545
+ file that consolidates all of these .idx files is introduced.
546
+
547
+
548
+* nd/use-the-index-compat-less (2018-06-25) 13 commits
549
+ - wt-status.c: stop using index compat macros
550
+ - sha1-name.c: stop using index compat macros
551
+ - sequencer.c: stop using index compat macros
552
+ - revision.c: stop using index compat macros
553
+ - rerere.c: stop using index compat macros
554
+ - merge.c: stop using index compat macros
555
+ - merge-recursive.c: stop using index compat macros
556
+ - entry.c: stop using index compat macros
557
+ - diff.c: stop using index compat macros
558
+ - diff-lib.c: stop using index compat macros
559
+ - check-racy.c: stop using index compat macros
560
+ - blame.c: stop using index compat macros
561
+ - apply.c: stop using index compat macros
562
+
563
+ Use of many convenience functions that operate on the_index
564
+ "primary in-core index instance" have been rewritten to explicitly
565
+ call the coutnerpart functions that take arbitrary index_state and
566
+ pass the_index.
567
+
568
+ I'd say that alone is a useless code churn, but people seem to be
569
+ excited about the change, so it is queued here.
570
+
571
+
572
* tb/grep-column (2018-06-22) 7 commits
573
- contrib/git-jump/git-jump: jump to exact location
574
- grep.c: add configuration variables to show matched option
@@ -526,22 +577,12 @@ of the repositories listed at
577
- grep.[ch]: extend grep_opt to allow showing matched column
578
- grep.c: expose {,inverted} match column in match_line()
579
- Documentation/config.txt: camel-case lineNumber for consistency
580
+ (this branch is used by tb/grep-only-matching.)
581
582
"git grep" learned the "--column" option that gives not just the
583
line number but the column number of the hit.
584
533
-
534
-* tz/cred-netrc-cleanup (2018-06-18) 4 commits
535
- (merged to 'next' on 2018-06-22 at a471dd714c)
536
- + git-credential-netrc: make "all" default target of Makefile
537
- + git-credential-netrc: fix exit status when tests fail
538
- + git-credential-netrc: use in-tree Git.pm for tests
539
- + git-credential-netrc: minor whitespace cleanup in test script
540
-
541
- Build and test procedure for netrc credential helper (in contrib/)
542
- has been updated.
543
-
544
- Will merge to 'master'.
585
+ Will merge to 'next'.
586
587
588
* jt/fetch-pack-negotiator (2018-06-15) 7 commits
@@ -552,10 +593,13 @@ of the repositories listed at
593
- fetch-pack: directly end negotiation if ACK ready
594
- fetch-pack: clear marks before re-marking
595
- fetch-pack: split up everything_local()
596
+ (this branch is used by jt/fetch-nego-tip.)
597
598
Code restructuring and a small fix to transport protocol v2 during
599
fetching.
600
601
+ Is this ready for 'next'?
602
+
603
604
* ag/rebase-i-append-todo-help (2018-06-14) 2 commits
605
- rebase--interactive: rewrite append_todo_help() in C
@@ -564,6 +608,9 @@ of the repositories listed at
608
609
Stepwise rewriting of the machinery of "rebase -i" into C continues.
610
611
+ Needs a reroll.
612
+ cf. <nycvar.QRO.7.76.6.1806261125330.21419@tvgsbejvaqbjf.bet>
613
+
614
615
* ag/rebase-i-rewrite-todo (2018-06-15) 3 commits
616
- rebase--interactive: rewrite the edit-todo functionality in C
@@ -574,25 +621,14 @@ of the repositories listed at
621
Stepwise rewriting of the machinery of "rebase -i" into C continues.
622
623
577
-* sb/fix-fetching-moved-submodules (2018-06-14) 2 commits
578
- (merged to 'next' on 2018-06-22 at 16039dc62a)
579
- + t5526: test recursive submodules when fetching moved submodules
580
- + submodule: fix NULL correctness in renamed broken submodules
581
-
582
- The code to try seeing if a fetch is necessary in a submodule
583
- during a fetch with --recurse-submodules got confused when the path
584
- to the submodule was changed in the range of commits in the
585
- superproject, sometimes showing "(null)". This has been corrected.
586
-
587
- Will merge to 'master'.
588
-
589
-
624
* sb/submodule-core-worktree (2018-06-19) 3 commits
591
- (merged to 'next' on 2018-06-22 at 2f7f263b30)
625
+ (merged to 'next' on 2018-06-28 at 96e1a8dbd1)
626
+ submodule deinit: unset core.worktree
627
+ submodule: ensure core.worktree is set after update
628
+ submodule: unset core.worktree if no working tree is present
629
630
+ Originally merged to 'next' on 2018-06-22
631
+
632
"git submodule" did not correctly adjust core.worktree setting that
633
indicates whether/where a submodule repository has its associated
634
working tree across various state transitions, which has been
@@ -602,7 +638,7 @@ of the repositories listed at
638
639
640
* ds/ewah-cleanup (2018-06-21) 10 commits
605
- (merged to 'next' on 2018-06-22 at ad0ab374a1)
641
+ (merged to 'next' on 2018-06-28 at 9cd7c0d54a)
642
+ ewah: delete unused 'rlwit_discharge_empty()'
643
+ ewah: drop ewah_serialize_native function
644
+ ewah: drop ewah_deserialize function
@@ -614,21 +650,14 @@ of the repositories listed at
650
+ ewah/bitmap.c: delete unused 'bitmap_each_bit()'
651
+ ewah/bitmap.c: delete unused 'bitmap_clear()'
652
653
+ Originally merged to 'next' on 2018-06-22
654
+
655
Remove unused function definitions and declarations from ewah
656
bitmap subsystem.
657
658
Will merge to 'master'.
659
660
623
-* jc/clean-after-sanity-tests (2018-06-15) 1 commit
624
- (merged to 'next' on 2018-06-22 at 2df77b8af9)
625
- + tests: clean after SANITY tests
626
-
627
- test cleanup.
628
-
629
- Will merge to 'master'.
630
-
631
-
661
* is/parsing-line-range (2018-06-15) 2 commits
662
- log: prevent error if line range ends past end of file
663
- blame: prevent error if range ends past end of file
@@ -637,49 +666,8 @@ of the repositories listed at
666
take has been tweaked.
667
668
640
-* ab/refspec-init-fix (2018-06-11) 3 commits
641
- (merged to 'next' on 2018-06-13 at 91d71d8435)
642
- + refspec: initalize `refspec_item` in `valid_fetch_refspec()`
643
- + refspec: add back a refspec_item_init() function
644
- + refspec: s/refspec_item_init/&_or_die/g
645
-
646
- Make refspec parsing codepath more robust.
647
-
648
- Will merge to 'master'.
649
-
650
-
651
-* as/safecrlf-quiet-fix (2018-06-11) 1 commit
652
- (merged to 'next' on 2018-06-13 at b163674843)
653
- + config.c: fix regression for core.safecrlf false
654
-
655
- Fix for 2.17-era regression.
656
-
657
- Will merge to 'master'.
658
-
659
-
660
-* sg/gpg-tests-fix (2018-06-11) 2 commits
661
- (merged to 'next' on 2018-06-13 at f3a05f1c41)
662
- + tests: make forging GPG signed commits and tags more robust
663
- + t7510-signed-commit: use 'test_must_fail'
664
-
665
- Some flaky tests have been fixed.
666
-
667
- Will merge to 'master'.
668
-
669
-
670
-* jk/fetch-all-peeled-fix (2018-06-13) 2 commits
671
- (merged to 'next' on 2018-06-13 at 1333bb9d90)
672
- + fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits
673
- + fetch-pack: don't try to fetch peel values with --all
674
-
675
- "git fetch-pack --all" used to unnecessarily fail upon seeing an
676
- annotated tag that points at an object other than a commit.
677
-
678
- Will merge to 'master'.
679
-
680
-
669
* en/merge-recursive-cleanup (2018-06-12) 6 commits
682
- (merged to 'next' on 2018-06-19 at d175cea416)
670
+ (merged to 'next' on 2018-06-28 at 1a3646eb7d)
671
+ merge-recursive: add pointer about unduly complex looking code
672
+ merge-recursive: rename conflict_rename_*() family of functions
673
+ merge-recursive: clarify the rename_dir/RENAME_DIR meaning
@@ -687,30 +675,9 @@ of the repositories listed at
675
+ merge-recursive: fix numerous argument alignment issues
676
+ merge-recursive: fix miscellaneous grammar error in comment
677
690
- Code cleanup.
691
-
692
- Will merge to 'master'.
693
-
694
-
695
-* jh/partial-clone (2018-06-12) 1 commit
696
- (merged to 'next' on 2018-06-13 at 818f864b0c)
697
- + list-objects: check if filter is NULL before using
698
-
699
- The recent addition of "partial clone" experimental feature kicked
700
- in when it shouldn't, namely, when there is no partial-clone filter
701
- defined even if extensions.partialclone is set.
702
-
703
- Will merge to 'master'.
704
-
678
+ Originally merged to 'next' on 2018-06-19
679
706
-* ms/send-pack-honor-config (2018-06-12) 1 commit
707
- (merged to 'next' on 2018-06-13 at e2cd933715)
708
- + builtin/send-pack: populate the default configs
709
-
710
- "git send-pack --signed" (hence "git push --signed" over the http
711
- transport) did not read user ident from the config mechanism to
712
- determine whom to sign the push certificate as, which has been
713
- corrected.
680
+ Code cleanup.
681
682
Will merge to 'master'.
683
@@ -726,24 +693,11 @@ of the repositories listed at
693
- checkout tests: index should be clean after dwim checkout
694
695
729
-* pw/add-p-recount (2018-06-11) 1 commit
730
- (merged to 'next' on 2018-06-19 at 1880ecc3f1)
731
- + add -p: fix counting empty context lines in edited patches
732
-
733
- When user edits the patch in "git add -p" and the user's editor is
734
- set to strip trailing whitespaces indiscriminately, an empty line
735
- that is unchanged in the patch would become completely empty
736
- (instead of a line with a sole SP on it). The code introduced in
737
- Git 2.17 timeframe failed to parse such a patch, but now it learned
738
- to notice the situation and cope with it.
739
-
740
- Will merge to 'master'.
741
-
742
-
743
-* ds/commit-graph-fsck (2018-05-29) 20 commits
696
+* ds/commit-graph-fsck (2018-06-27) 22 commits
697
- commit-graph: update design document
698
- gc: automatically write commit-graph files
699
- commit-graph: add '--reachable' option
700
+ - commit-graph: use string-list API for input
701
- fsck: verify commit-graph
702
- commit-graph: verify contents match checksum
703
- commit-graph: test for corrupted octopus edge
@@ -761,9 +715,12 @@ of the repositories listed at
715
- commit-graph: parse commit from chosen graph
716
- commit-graph: fix GRAPH_MIN_SIZE
717
- commit-graph: UNLEAK before die()
718
+ - t5318-commit-graph.sh: use core.commitGraph
719
765
- Expecting a reroll.
766
- cf. <ba3b8e06-b5e1-99a1-0fe4-ff97d6da8f15@gmail.com>
720
+ "git fsck" learns to make sure the optional commit-graph file is in
721
+ a sane state.
722
+
723
+ Is this ready for 'next'?
724
725
726
* ma/wrapped-info (2018-05-28) 2 commits
@@ -773,44 +730,27 @@ of the repositories listed at
730
An attempt to help making multi-line messages fed to warning(),
731
error(), and friends more easily translatable.
732
776
- Waiting for the discussion to settle.
733
+ Will discard and wait for a cleaned-up rewrite.
734
cf. <20180529213957.GF7964@sigill.intra.peff.net>
735
736
780
-* nd/completion-negation (2018-06-11) 3 commits
781
- (merged to 'next' on 2018-06-19 at a3be59b450)
782
- + completion: collapse extra --no-.. options
783
- + completion: suppress some -no- options
784
- + parse-options: option to let --git-completion-helper show negative form
785
-
786
- Continuing with the idea to programatically enumerate various
787
- pieces of data required for command line completion, the codebase
788
- has been taught to enumerate options prefixed with "--no-" to
789
- negate them.
790
-
791
- Will merge to 'master'.
792
-
793
-
794
-* jm/cache-entry-from-mem-pool (2018-06-21) 8 commits
737
+* jm/cache-entry-from-mem-pool (2018-06-28) 8 commits
738
- block alloc: add validations around cache_entry lifecyle
796
- - block alloc: allocate cache entries from mem_pool
739
+ - block alloc: allocate cache entries from mem-pool
740
- mem-pool: fill out functionality
798
- - mem-pool: add lifecycle management functions
799
- - mem-pool: tweak math on mp_block allocation size
741
+ - mem-pool: add life cycle management functions
742
- mem-pool: only search head block for available space
743
- block alloc: add lifecycle APIs for cache_entry structs
744
+ - read-cache: make_cache_entry should take object_id struct
745
- read-cache: teach refresh_cache_entry() to take istate
746
747
For a large tree, the index needs to hold many cache entries
748
allocated on heap. These cache entries are now allocated out of a
749
dedicated memory pool to amortize malloc(3) overhead.
750
808
- Kicked back to 'pu' with a rerolled one.
809
- cf. <20180620201557.77155-1-jamill@microsoft.com>
810
-
751
752
* sb/object-store-grafts (2018-05-18) 19 commits
813
- (merged to 'next' on 2018-06-22 at 386a6cc66a)
753
+ (merged to 'next' on 2018-06-28 at 02f70d6302)
754
+ commit: allow lookup_commit_graft to handle arbitrary repositories
755
+ commit: allow prepare_commit_graft to handle arbitrary repositories
756
+ shallow: migrate shallow information into the object parser
@@ -831,6 +771,8 @@ of the repositories listed at
771
+ object: move grafts to object parser
772
+ object-store: move object access functions to object-store.h
773
774
+ Originally merged to 'next' on 2018-06-22
775
+
776
The conversion to pass "the_repository" and then "a_repository"
777
throughout the object access API continues.
778