What's cooking (2019/01 #02)
Junio C Hamano committed
Jan 15, 2019 at 14:27 UTC
98658d3c1b27bbc4ee7f28e51949a5d6d4b7efea
1 file changed
+651
-592
whats-cooking.txt
+651
-592
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jan 2019, #01; Mon, 7)
4
-X-master-at: ecbdaf0899161c067986e9d9d564586d4b045d62
5
-X-next-at: d81d796ee0c49eae40e3f85467a8e6b18022bcea
3
+Subject: What's cooking in git.git (Jan 2019, #02; Tue, 15)
4
+X-master-at: 77556354bb7ac50450e3b28999e3576969869068
5
+X-next-at: 40155ab247a57ccc696d2ded09336b2c5203e832
6
7
-What's cooking in git.git (Jan 2019, #01; Mon, 7)
7
+What's cooking in git.git (Jan 2019, #02; Tue, 15)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,9 +12,6 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-The 'master' branch now has the first batch of topics (many of which
16
-have been cooking in 'next' during the pre-release freeze).
17
-
15
You can find the changes described here in the integration branches
16
of the repositories listed at
17
@@ -23,266 +20,485 @@ of the repositories listed at
20
--------------------------------------------------
21
[Graduated to "master"]
22
26
-* ab/push-dwim-dst (2018-11-14) 7 commits
27
- (merged to 'next' on 2018-12-28 at d9f618de10)
28
- + push doc: document the DWYM behavior pushing to unqualified <dst>
29
- + push: test that <src> doesn't DWYM if <dst> is unqualified
30
- + push: add an advice on unqualified <dst> push
31
- + push: move unqualified refname error into a function
32
- + push: improve the error shown on unqualified <dst> push
33
- + i18n: remote.c: mark error(...) messages for translation
34
- + remote.c: add braces in anticipation of a follow-up change
23
+* ab/commit-graph-progress-fix (2018-11-20) 1 commit
24
+ (merged to 'next' on 2019-01-04 at 405a1a2cf5)
25
+ + commit-graph: split up close_reachable() progress output
26
+
27
+
28
+* bw/mailmap (2018-12-09) 1 commit
29
+ (merged to 'next' on 2019-01-04 at 02b6e83231)
30
+ + mailmap: update brandon williams's email address
31
+
32
+
33
+* cb/openbsd-allows-reading-directory (2018-12-03) 1 commit
34
+ (merged to 'next' on 2019-01-04 at 9d865107fd)
35
+ + config.mak.uname: OpenBSD uses BSD semantics with fread for directories
36
+
37
+ BSD port update.
38
+
39
+
40
+* cb/t5004-empty-tar-archive-fix (2018-12-03) 1 commit
41
+ (merged to 'next' on 2019-01-04 at 39f4cf94ce)
42
+ + t5004: avoid using tar for empty packages
43
+
44
+ BSD port update.
45
+
46
+
47
+* cb/test-lint-cp-a (2018-12-03) 1 commit
48
+ (merged to 'next' on 2019-01-04 at d13e6cfcb0)
49
+ + tests: add lint for non portable cp -a
50
+
51
+ BSD port update.
52
+
53
+
54
+* do/gitweb-strict-export-conf-doc (2018-12-09) 1 commit
55
+ (merged to 'next' on 2019-01-04 at 5249c9386a)
56
+ + docs: fix $strict_export text in gitweb.conf.txt
57
+
58
+ Doc update.
59
+
60
+
61
+* en/directory-renames-nothanks-doc-update (2018-12-09) 1 commit
62
+ (merged to 'next' on 2019-01-04 at cb7134b54c)
63
+ + git-rebase.txt: update note about directory rename detection and am
64
+
65
+ Doc update.
66
+
67
+
68
+* fd/gitweb-snapshot-conf-doc-fix (2018-12-09) 1 commit
69
+ (merged to 'next' on 2019-01-04 at 7ba71fca17)
70
+ + docs/gitweb.conf: config variable typo
71
+
72
+ Doc update.
73
+
74
+
75
+* hb/t0061-dot-in-path-fix (2018-12-03) 1 commit
76
+ (merged to 'next' on 2019-01-04 at 789f990c4e)
77
+ + t0061: do not fail test if '.' is part of $PATH
78
+
79
+ Test update.
80
+
81
+
82
+* hn/highlight-sideband-keywords (2018-12-04) 1 commit
83
+ (merged to 'next' on 2019-01-04 at b039601533)
84
+ + sideband: color lines with keyword only
85
+
86
+ Lines that begin with a certain keyword that come over the wire, as
87
+ well as lines that consist only of one of these keywords, ought to
88
+ be painted in color for easier eyeballing, but the latter was
89
+ broken ever since the feature was introduced in 2.19, which has
90
+ been corrected.
91
+
92
+
93
+* km/rebase-doc-typofix (2018-12-10) 1 commit
94
+ (merged to 'next' on 2019-01-04 at c89f646e8f)
95
+ + rebase docs: drop stray word in merge command description
96
+
97
+ Doc update.
98
+
99
+
100
+* md/exclude-promisor-objects-fix-cleanup (2018-12-06) 1 commit
101
+ (merged to 'next' on 2019-01-04 at c15362832d)
102
+ + revision.c: put promisor option in specialized struct
103
+
104
+ Code clean-up.
105
+
106
+
107
+* md/list-lazy-objects-fix (2018-12-06) 1 commit
108
+ (merged to 'next' on 2019-01-04 at 93bd38fff9)
109
+ + list-objects.c: don't segfault for missing cmdline objects
110
+
111
+ "git rev-list --exclude-promisor-objects" had to take an object
112
+ that does not exist locally (and is lazily available) from the
113
+ command line without barfing, but the code dereferenced NULL.
114
36
- Originally merged to 'next' on 2018-11-18
37
-
38
- "git push $there $src:$dst" rejects when $dst is not a fully
39
- qualified refname and not clear what the end user meant. The
40
- codepath has been taught to give a clearer error message, and also
41
- guess where the push should go by taking the type of the pushed
42
- object into account (e.g. a tag object would want to go under
43
- refs/tags/).
44
-
45
-
46
-* en/fast-export-import (2018-11-17) 11 commits
47
- (merged to 'next' on 2018-12-28 at a1b09cf515)
48
- + fast-export: add a --show-original-ids option to show original names
49
- + fast-import: remove unmaintained duplicate documentation
50
- + fast-export: add --reference-excluded-parents option
51
- + fast-export: ensure we export requested refs
52
- + fast-export: when using paths, avoid corrupt stream with non-existent mark
53
- + fast-export: move commit rewriting logic into a function for reuse
54
- + fast-export: avoid dying when filtering by paths and old tags exist
55
- + fast-export: use value from correct enum
56
- + git-fast-export.txt: clarify misleading documentation about rev-list args
57
- + git-fast-import.txt: fix documentation for --quiet option
58
- + fast-export: convert sha1 to oid
59
-
60
- Originally merged to 'next' on 2018-11-18
61
-
62
- Small fixes and features for fast-export and fast-import, mostly on
63
- the fast-export side.
64
-
65
-
66
-* en/merge-path-collision (2018-12-01) 11 commits
67
- (merged to 'next' on 2018-12-28 at b50d3eee25)
68
- + t6036: avoid non-portable "cp -a"
69
- + merge-recursive: combine error handling
70
- + t6036, t6043: increase code coverage for file collision handling
71
- + merge-recursive: improve rename/rename(1to2)/add[/add] handling
72
- + merge-recursive: use handle_file_collision for add/add conflicts
73
- + merge-recursive: improve handling for rename/rename(2to1) conflicts
74
- + merge-recursive: fix rename/add conflict handling
75
- + merge-recursive: new function for better colliding conflict resolutions
76
- + merge-recursive: increase marker length with depth of recursion
77
- + t6036, t6042: testcases for rename collision of already conflicting files
78
- + t6042: add tests for consistency in file collision conflict handling
79
-
80
- Originally merged to 'next' on 2018-12-01
81
-
82
- Updates for corner cases in merge-recursive.
83
-
84
-
85
-* fc/http-version (2018-11-09) 1 commit
86
- (merged to 'next' on 2018-12-28 at 56bcbb0fa9)
87
- + http: add support selecting http version
88
-
89
- Originally merged to 'next' on 2018-11-18
90
-
91
- The "http.version" configuration variable can be used with recent
92
- enough cURL library to force the version of HTTP used to talk when
93
- fetching and pushing.
94
-
95
-
96
-* jk/loose-object-cache (2018-11-24) 10 commits
97
- (merged to 'next' on 2018-12-28 at 5a5faf384e)
98
- + odb_load_loose_cache: fix strbuf leak
99
- + fetch-pack: drop custom loose object cache
100
- + sha1-file: use loose object cache for quick existence check
101
- + object-store: provide helpers for loose_objects_cache
102
- + sha1-file: use an object_directory for the main object dir
103
- + handle alternates paths the same as the main object dir
104
- + sha1_file_name(): overwrite buffer instead of appending
105
- + rename "alternate_object_database" to "object_directory"
106
- + submodule--helper: prefer strip_suffix() to ends_with()
107
- + fsck: do not reuse child_process structs
108
-
109
- Originally merged to 'next' on 2018-11-24
110
-
111
- Code clean-up with optimization for the codepath that checks
112
- (non-)existence of loose objects.
113
-
114
-
115
-* mk/http-backend-kill-children-before-exit (2018-11-26) 1 commit
116
- (merged to 'next' on 2018-12-28 at 81188d93c3)
117
- + http-backend: enable cleaning up forked upload/receive-pack on exit
118
-
119
- Originally merged to 'next' on 2018-11-29
120
-
121
- The http-backend CGI process did not correctly clean up the child
122
- processes it spawns to run upload-pack etc. when it dies itself,
123
- which has been corrected.
124
-
125
-
126
-* nd/checkout-dwim-fix (2018-11-14) 1 commit
127
- (merged to 'next' on 2018-12-28 at 3183c9305b)
128
- + checkout: disambiguate dwim tracking branches and local files
129
-
130
- Originally merged to 'next' on 2018-11-18
131
-
132
- "git checkout frotz" (without any double-dash) avoids ambiguity by
133
- making sure 'frotz' cannot be interpreted as a revision and as a
134
- path at the same time. This safety has been updated to check also
135
- a unique remote-tracking branch 'frotz' in a remote, when dwimming
136
- to create a local branch 'frotz' out of a remote-tracking branch
137
- 'frotz' from a remote.
138
-
139
-
140
-* nd/i18n (2018-11-12) 16 commits
141
- (merged to 'next' on 2018-12-28 at 8e2de8338e)
142
- + fsck: mark strings for translation
143
- + fsck: reduce word legos to help i18n
144
- + parse-options.c: mark more strings for translation
145
- + parse-options.c: turn some die() to BUG()
146
- + parse-options: replace opterror() with optname()
147
- + repack: mark more strings for translation
148
- + remote.c: mark messages for translation
149
- + remote.c: turn some error() or die() to BUG()
150
- + reflog: mark strings for translation
151
- + read-cache.c: add missing colon separators
152
- + read-cache.c: mark more strings for translation
153
- + read-cache.c: turn die("internal error") to BUG()
154
- + attr.c: mark more string for translation
155
- + archive.c: mark more strings for translation
156
- + alias.c: mark split_cmdline_strerror() strings for translation
157
- + git.c: mark more strings for translation
158
-
159
- Originally merged to 'next' on 2018-11-18
160
-
161
- More _("i18n") markings.
162
-
163
-
164
-* nd/the-index (2018-11-12) 22 commits
165
- (merged to 'next' on 2018-12-28 at 6bbd3befbe)
166
- + rebase-interactive.c: remove the_repository references
167
- + rerere.c: remove the_repository references
168
- + pack-*.c: remove the_repository references
169
- + pack-check.c: remove the_repository references
170
- + notes-cache.c: remove the_repository references
171
- + line-log.c: remove the_repository reference
172
- + diff-lib.c: remove the_repository references
173
- + delta-islands.c: remove the_repository references
174
- + cache-tree.c: remove the_repository references
175
- + bundle.c: remove the_repository references
176
- + branch.c: remove the_repository reference
177
- + bisect.c: remove the_repository reference
178
- + blame.c: remove implicit dependency the_repository
179
- + sequencer.c: remove implicit dependency on the_repository
180
- + sequencer.c: remove implicit dependency on the_index
181
- + transport.c: remove implicit dependency on the_index
182
- + notes-merge.c: remove implicit dependency the_repository
183
- + notes-merge.c: remove implicit dependency on the_index
184
- + list-objects.c: reduce the_repository references
185
- + list-objects-filter.c: remove implicit dependency on the_index
186
- + wt-status.c: remove implicit dependency the_repository
187
- + wt-status.c: remove implicit dependency on the_index
188
- (this branch is used by md/list-objects-filter-by-depth.)
189
-
190
- Originally merged to 'next' on 2018-11-18
191
-
192
- More codepaths become aware of working with in-core repository
193
- instance other than the default "the_repository".
194
-
195
-
196
-* sd/stash-wo-user-name (2018-11-19) 1 commit
197
- (merged to 'next' on 2018-12-28 at 99197ef5a1)
198
- + stash: tolerate missing user identity
199
- (this branch is used by ps/stash-in-c.)
200
-
201
- Originally merged to 'next' on 2018-11-19
202
-
203
- A properly configured username/email is required under
204
- user.useConfigOnly in order to create commits; now "git stash"
205
- (even though it creates commit objects to represent stash entries)
206
- command is exempt from the requirement.
207
-
208
-
209
-* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits
210
- (merged to 'next' on 2018-12-28 at 82e104f221)
211
- + Documentation/clone: document ignored configuration variables
212
- + clone: respect additional configured fetch refspecs during initial fetch
213
- + clone: use a more appropriate variable name for the default refspec
214
-
215
- Originally merged to 'next' on 2018-11-18
216
-
217
- Refspecs configured with "git -c var=val clone" did not propagate
218
- to the resulting repository, which has been corrected.
115
+
116
+* nd/attr-pathspec-in-tree-walk (2018-11-19) 5 commits
117
+ (merged to 'next' on 2019-01-04 at 6a07e5b905)
118
+ + tree-walk: support :(attr) matching
119
+ + dir.c: move, rename and export match_attrs()
120
+ + pathspec.h: clean up "extern" in function declarations
121
+ + tree-walk.c: make tree_entry_interesting() take an index
122
+ + tree.c: make read_tree*() take 'struct repository *'
123
+
124
+ The traversal over tree objects has learned to honor
125
+ ":(attr:label)" pathspec match, which has been implemented only for
126
+ enumerating paths on the filesystem.
127
+
128
+
129
+* nd/checkout-noisy (2018-11-20) 2 commits
130
+ (merged to 'next' on 2019-01-04 at 480172d3d7)
131
+ + t0027: squelch checkout path run outside test_expect_* block
132
+ + checkout: print something when checking out paths
133
+
134
+ "git checkout [<tree-ish>] path..." learned to report the number of
135
+ paths that have been checked out of the index or the tree-ish,
136
+ which gives it the same degree of noisy-ness as the case in which
137
+ the command checks out a branch.
138
+
139
+
140
+* nd/indentation-fix (2018-12-09) 1 commit
141
+ (merged to 'next' on 2019-01-04 at 738b17d365)
142
+ + Indent code with TABs
143
+
144
+ Code cleanup.
145
+
146
+
147
+* sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit
148
+ (merged to 'next' on 2019-01-04 at 46de5f42d1)
149
+ + diff: align move detection error handling with other options
150
+
151
+ Minor inconsistency fix.
152
+
153
+
154
+* tb/log-G-binary (2018-12-26) 1 commit
155
+ (merged to 'next' on 2019-01-04 at a713ef389c)
156
+ + log -G: ignore binary files
157
+
158
+ "git log -G<regex>" looked for a hunk in the "git log -p" patch
159
+ output that contained a string that matches the given pattern.
160
+ Optimize this code to ignore binary files, which by default will
161
+ not show any hunk that would match any pattern (unless textconv or
162
+ the --text option is in effect, that is).
163
+
164
+
165
+* tb/use-common-win32-pathfuncs-on-cygwin (2018-12-26) 1 commit
166
+ (merged to 'next' on 2019-01-04 at c3b2b1f3c3)
167
+ + git clone <url> C:\cygwin\home\USER\repo' is working (again)
168
+
169
+ Cygwin update.
170
171
--------------------------------------------------
172
[New Topics]
173
223
-* ab/proto-v2-fixes (2018-12-14) 5 commits
224
- - tests: mark tests broken under GIT_TEST_PROTOCOL_VERSION=2
225
- - builtin/fetch-pack: support protocol version 2
226
- - tests: mark & fix tests broken under GIT_TEST_PROTOCOL_VERSION=1
227
- - tests: add a special setup where for protocol.version
228
- - tests: add a check for unportable env --unset
174
+* ds/gc-doc-typofix (2019-01-08) 1 commit
175
+ (merged to 'next' on 2019-01-08 at f21ffc83e0)
176
+ + git-gc.txt: fix typo about gc.writeCommitGraph
177
+
178
+ Typofix.
179
+
180
+ Will merge to 'master'.
181
+
182
+
183
+* sc/pack-redundant (2019-01-14) 5 commits
184
+ - pack-redundant: consistent sort method
185
+ - pack-redundant: rename pack_list.all_objects
186
+ - pack-redundant: remove unused functions
187
+ - pack-redundant: new algorithm to find min packs
188
+ - t5323: test cases for git-pack-redundant
189
+
190
+ Update the implementation of pack-redundant for performance in a
191
+ repository with many packfiles.
192
+
193
+ Comments?
194
+
195
+
196
+* pw/diff-color-moved-ws-fix (2019-01-10) 9 commits
197
+ - diff --color-moved-ws: handle blank lines
198
+ - diff --color-moved-ws: modify allow-indentation-change
199
+ - diff --color-moved-ws: optimize allow-indentation-change
200
+ - diff --color-moved=zebra: be stricter with color alternation
201
+ - diff --color-moved-ws: fix false positives
202
+ - diff --color-moved-ws: demonstrate false positives
203
+ - diff: allow --no-color-moved-ws
204
+ - Use "whitespace" consistently
205
+ - diff: document --no-color-moved
206
+
207
+ "git diff --color-moved-ws" updates.
208
+
209
+ Will merge to 'next'.
210
+
211
+
212
+* en/show-ref-doc-fix (2019-01-10) 1 commit
213
+ (merged to 'next' on 2019-01-14 at f875bfb9a4)
214
+ + git-show-ref.txt: fix order of flags
215
+
216
+ Doc update.
217
+
218
+ Will merge to 'master'.
219
+
220
+
221
+* it/log-format-source (2019-01-11) 1 commit
222
+ - log: add %S option (like --source) to log --format
223
+
224
+ Custom userformat "log --format" learned %S atom that stands for
225
+ the tip the traversal reached the commit from, i.e. --source.
226
+
227
+ Will merge to 'next'.
228
+
229
+
230
+* js/filter-options-should-use-plain-int (2019-01-08) 1 commit
231
+ - filter-options: expand scaled numbers
232
+
233
+ Update the protocol message specification to allow only the limited
234
+ use of scaled quantities. This is ensure potential compatibility
235
+ issues will not go out of hand.
236
+
237
+ Will merge to 'next'.
238
+
239
+
240
+* js/gc-repack-close-before-remove (2019-01-11) 1 commit
241
+ (merged to 'next' on 2019-01-14 at 9daedfee40)
242
+ + gc/repack: release packs when needed
243
+
244
+ "git gc" and "git repack" did not close the open packfiles that
245
+ they found unneeded before removing them, which didn't work on a
246
+ platform incapable of removing an open file. This has been
247
+ corrected.
248
+
249
+ Will merge to 'master'.
250
+
251
+
252
+* jt/upload-pack-deepen-relative-proto-v2 (2019-01-10) 2 commits
253
+ - upload-pack: teach deepen-relative in protocol v2
254
+ - fetch-pack: do not take shallow lock unnecessarily
255
+
256
+ "git fetch --deepen=<more>" has been corrected to work over v2
257
+ protocol.
258
+
259
+ Will merge to 'next'.
260
+
261
+
262
+* nd/config-move-to (2019-01-14) 7 commits
263
+ - config.h: fix hdr-check warnings
264
+ - config: add --move-to
265
+ - config: factor out set_config_source_file()
266
+ - config: use OPT_FILENAME()
267
+ - config.c: add repo_config_set_worktree_gently()
268
+ - worktree.c: add get_worktree_config()
269
+ - config.c: avoid git_path() in do_git_config_sequence()
270
+
271
+ Needs review.
272
+
273
+
274
+* sg/travis-specific-cc (2019-01-10) 4 commits
275
+ - travis-ci: build with the right compiler
276
+ - travis-ci: switch to Xcode 10.1 macOS image
277
+ - travis-ci: don't be '--quiet' when running the tests
278
+ - .gitignore: ignore external debug symbols from GCC on macOS
279
+
280
+ The travis CI scripts have been corrected to build Git with the
281
+ compiler(s) of our choice.
282
+
283
+ Will likely to break linux32 build due to outdated code in
284
+ compat/obstack.
285
+
286
+
287
+* sg/obstack-cast-function-type-fix (2019-01-14) 1 commit
288
+ - compat/obstack: fix -Wcast-function-type warnings
289
+
290
+ The compat/obstack code had casts that -Wcast-function-type
291
+ compilation option found questionable.
292
+
293
+ Will merge to 'next'.
294
+
295
+
296
+* cc/fetch-error-message-fix (2019-01-14) 1 commit
297
+ (merged to 'next' on 2019-01-14 at 81078f86c0)
298
+ + fetch: fix extensions.partialclone name in error message
299
+
300
+ Error message fix.
301
+
302
+ Will merge to 'master'.
303
+
304
+
305
+* cc/parial-clone-doc-typofix (2019-01-14) 1 commit
306
+ (merged to 'next' on 2019-01-14 at 0395de767e)
307
+ + partial-clone: add missing 'is' in doc
308
+
309
+ Doc fix.
310
+
311
+ Will merge to 'master'.
312
+
313
+
314
+* jk/remote-insteadof-cleanup (2019-01-11) 1 commit
315
+ - remote: check config validity before creating rewrite struct
316
+
317
+ Code clean-up.
318
+
319
+ Will merge to 'next'.
320
+
321
+
322
+* jk/save-getenv-result (2019-01-11) 6 commits
323
+ - builtin_diff(): read $GIT_DIFF_OPTS closer to use
324
+ - merge-recursive: copy $GITHEAD strings
325
+ - init: make a copy of $GIT_DIR string
326
+ - config: make a copy of $GIT_CONFIG string
327
+ - commit: copy saved getenv() result
328
+ - get_super_prefix(): copy getenv() result
329
+
330
+ There were many places the code relied on the string returned from
331
+ getenv() to be non-volatile, which is not true, that have been
332
+ corrected.
333
+
334
+ Will merge to 'next'.
335
230
- This is (just a part of) v2, and I see v3 posted on the list, but
231
- it seems that v3 needs further updates.
232
- cf. <20181218124852.GD30471@sigill.intra.peff.net>
336
234
- I'll drop the whole thing and wait for an update.
337
+* jt/fetch-v2-sideband (2019-01-15) 5 commits
338
+ - tests: define GIT_TEST_SIDEBAND_ALL
339
+ - {fetch,upload}-pack: sideband v2 fetch response
340
+ - sideband: reverse its dependency on pkt-line
341
+ - pkt-line: introduce struct packet_writer
342
+ - Merge branch 'ms/packet-err-check' into jt/fetch-v2-sideband
343
+ (this branch uses ms/packet-err-check.)
344
+
345
+ "git fetch" and "git upload-pack" learned to send all exchange over
346
+ the sideband channel while talking the v2 protocol.
347
+
348
+ Will merge to 'next'.
349
+
350
+
351
+* kg/external-diff-save-env (2019-01-11) 1 commit
352
+ (merged to 'next' on 2019-01-14 at 8281bbd48b)
353
+ + diff: ensure correct lifetime of external_diff_cmd
354
+
355
+ The code to drive GIT_EXTERNAL_DIFF command relied on the string
356
+ returned from getenv() to be non-volatile, which is not true, that
357
+ has been corrected.
358
+
359
+ Will merge to 'master'.
360
+
361
+
362
+* ld/git-p4-shelve-update-fix (2019-01-14) 2 commits
363
+ - git-p4: handle update of moved files when updating a shelve
364
+ - git-p4: add failing test for shelved CL update involving move
365
+
366
+ "git p4" failed to update a shelved change when there were moved
367
+ files, which has been corrected.
368
+
369
+ Will merge to 'next'.
370
+
371
+
372
+* ma/clear-repository-format (2019-01-14) 3 commits
373
+ - setup: add `clear_repository_format()`
374
+ - setup: do not use invalid `repository_format`
375
+ - setup: free old value before setting `work_tree`
376
+
377
+ The setup code has been cleaned up to avoid leaks around the
378
+ repository_format structure.
379
+
380
+ cf. <20190115193112.GE4886@sigill.intra.peff.net>
381
+
382
+
383
+* nd/the-index-final (2019-01-14) 11 commits
384
+ - cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
385
+ - read-cache.c: remove the_* from index_has_changes()
386
+ - merge-recursive.c: remove implicit dependency on the_repository
387
+ - merge-recursive.c: remove implicit dependency on the_index
388
+ - sha1-name.c: remove implicit dependency on the_index
389
+ - read-cache.c: replace update_index_if_able with repo_&
390
+ - read-cache.c: kill read_index()
391
+ - checkout: avoid the_index when possible
392
+ - repository.c: replace hold_locked_index() with repo_hold_locked_index()
393
+ - notes-utils.c: remove the_repository references
394
+ - grep: use grep_opt->repo instead of explict repo argument
395
+
396
+ The assumption to work on the single "in-core index" instance has
397
+ been reduced from the library-ish part of the codebase.
398
+
399
+ This obviously has fallouts with a few topics in flight, but
400
+ otherwise it seemed to be in good enough shape.
401
+
402
+
403
+* bc/tree-walk-oid (2019-01-15) 5 commits
404
+ - cache: make oidcpy always copy GIT_MAX_RAWSZ bytes
405
+ - tree-walk: store object_id in a separate member
406
+ - match-trees: use hashcpy to splice trees
407
+ - match-trees: compute buffer offset correctly when splicing
408
+ - tree-walk: copy object ID before use
409
+
410
+ The code to walk tree objects has been taught that we may be
411
+ working with object names that are not computed with SHA-1.
412
+
413
+ Will merge to 'next'.
414
+
415
+
416
+* js/add-e-clear-patch-before-stating (2019-01-15) 1 commit
417
+ - add --edit: truncate the patch file
418
+
419
+ "git add -e" got confused when the change it wants to let the user
420
+ edit is smaller than the previous change that was left over in a
421
+ temporary file.
422
+
423
+ Will merge to 'next'.
424
+
425
+
426
+* js/commit-graph-read-overflow-fix (2019-01-15) 3 commits
427
+ - Makefile: correct example fuzz build
428
+ - commit-graph: fix buffer read-overflow
429
+ - commit-graph, fuzz: add fuzzer for commit-graph
430
+
431
+ The code to read the commit-graph file was not prepared to see a
432
+ corrupt size field in the file, and ended up reading beyond the end
433
+ of the buffer.
434
+
435
+ Will merge to 'next'.
436
+
437
+--------------------------------------------------
438
+[Cooking]
439
+
440
+* jt/fetch-pack-v2 (2019-01-10) 1 commit
441
+ - fetch-pack: support protocol version 2
442
+
443
+ "git fetch-pack" now can talk the version 2 protocol.
444
+
445
+ Will merge to 'next'.
446
447
448
* jn/stripspace-wo-repository (2018-12-26) 1 commit
238
- - stripspace: allow -s/-c outside git repository
449
+ (merged to 'next' on 2019-01-08 at 81815821c9)
450
+ + stripspace: allow -s/-c outside git repository
451
452
"git stripspace" should be usable outside a git repository, but
453
under the "-s" or "-c" mode, it didn't.
454
243
- Will merge to 'next'.
455
+ Will merge to 'master'.
456
457
458
* ma/asciidoctor (2018-12-26) 3 commits
247
- - git-status.txt: render tables correctly under Asciidoctor
248
- - Documentation: do not nest open blocks
249
- - git-column.txt: fix section header
459
+ (merged to 'next' on 2019-01-08 at 3cfd4ad6cb)
460
+ + git-status.txt: render tables correctly under Asciidoctor
461
+ + Documentation: do not nest open blocks
462
+ + git-column.txt: fix section header
463
464
Some of the documentation pages formatted incorrectly with
465
Asciidoctor, which have been fixed.
466
254
- Will merge to 'next'.
467
+ Will merge to 'master'.
468
469
470
* nd/worktree-remove-with-uninitialized-submodules (2019-01-07) 1 commit
258
- - worktree: allow to (re)move worktrees with uninitialized submodules
471
+ (merged to 'next' on 2019-01-08 at e19cfe8741)
472
+ + worktree: allow to (re)move worktrees with uninitialized submodules
473
474
"git worktree remove" and "git worktree move" refused to work when
475
there is a submodule involved. This has been loosened to ignore
476
uninitialized submodules.
477
264
- Will merge to 'next'.
478
+ Will merge to 'master'.
479
480
481
* sb/submodule-unset-core-worktree-when-worktree-is-lost (2018-12-26) 4 commits
268
- - submodule deinit: unset core.worktree
269
- - submodule--helper: fix BUG message in ensure_core_worktree
270
- - submodule: unset core.worktree if no working tree is present
271
- - submodule update: add regression test with old style setups
482
+ (merged to 'next' on 2019-01-08 at 38f3175a2b)
483
+ + submodule deinit: unset core.worktree
484
+ + submodule--helper: fix BUG message in ensure_core_worktree
485
+ + submodule: unset core.worktree if no working tree is present
486
+ + submodule update: add regression test with old style setups
487
488
The core.worktree setting in a submodule repository should not be
489
pointing at a directory when the submodule loses its working tree
490
(e.g. getting deinit'ed), but the code did not properly maintain
491
this invariant.
492
278
- Will merge to 'next'.
493
+ Will merge to 'master'.
494
495
496
* so/cherry-pick-always-allow-m1 (2019-01-07) 4 commits
282
- - t3506: validate '-m 1 -ff' is now accepted for non-merge commits
283
- - t3502: validate '-m 1' argument is now accepted for non-merge commits
284
- - cherry-pick: do not error on non-merge commits when '-m 1' is specified
285
- - t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks
497
+ (merged to 'next' on 2019-01-08 at 2b790fec25)
498
+ + t3506: validate '-m 1 -ff' is now accepted for non-merge commits
499
+ + t3502: validate '-m 1' argument is now accepted for non-merge commits
500
+ + cherry-pick: do not error on non-merge commits when '-m 1' is specified
501
+ + t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks
502
503
"git cherry-pick -m1" was forbidden when picking a non-merge
504
commit, even though there _is_ parent number 1 for such a commit.
@@ -295,20 +511,22 @@ of the repositories listed at
511
Technically this is a backward incompatible change; hopefully
512
nobody is relying on the error-checking behaviour.
513
298
- Will merge to 'next'.
514
+ Will merge to 'master'.
515
516
517
* cy/completion-typofix (2019-01-03) 1 commit
302
- - completion: fix typo in git-completion.bash
518
+ (merged to 'next' on 2019-01-08 at 6c6f01a07d)
519
+ + completion: fix typo in git-completion.bash
520
521
Typofix.
522
306
- Will merge to 'next'.
523
+ Will merge to 'master'.
524
525
526
* cy/zsh-completion-SP-in-path (2019-01-03) 2 commits
310
- - completion: treat results of git ls-tree as file paths
311
- - zsh: complete unquoted paths with spaces correctly
527
+ (merged to 'next' on 2019-01-08 at fee27de30b)
528
+ + completion: treat results of git ls-tree as file paths
529
+ + zsh: complete unquoted paths with spaces correctly
530
531
With zsh, "git cmd path<TAB>" was completed to "git cmd path name"
532
when the completed path has a special character like SP in it,
@@ -316,43 +534,48 @@ of the repositories listed at
534
has been fixed to complete it to "git cmd path\ name" just like
535
Bash completion does.
536
319
- Will merge to 'next'.
537
+ Will merge to 'master'.
538
539
540
* ds/commit-graph-assert-missing-parents (2019-01-02) 1 commit
323
- - commit-graph: writing missing parents is a BUG
541
+ (merged to 'next' on 2019-01-08 at d141f063e0)
542
+ + commit-graph: writing missing parents is a BUG
543
544
Tightening error checking in commit-graph writer.
545
327
- Will merge to 'next'.
546
+ Will merge to 'master'.
547
548
549
* ed/simplify-setup-git-dir (2019-01-03) 1 commit
331
- - Simplify handling of setup_git_directory_gently() failure cases.
550
+ (merged to 'next' on 2019-01-08 at 8722c7c2ef)
551
+ + Simplify handling of setup_git_directory_gently() failure cases.
552
553
Code simplification.
554
335
- Will merge to 'next'.
555
+ Will merge to 'master'.
556
557
558
* es/doc-worktree-guessremote-config (2018-12-28) 1 commit
339
- - doc/config: do a better job of introducing 'worktree.guessRemote'
559
+ (merged to 'next' on 2019-01-08 at f1dc5e39a6)
560
+ + doc/config: do a better job of introducing 'worktree.guessRemote'
561
562
Doc clarification.
563
343
- Will merge to 'next'.
564
+ Will merge to 'master'.
565
566
567
* ew/ban-strncat (2019-01-02) 1 commit
347
- - banned.h: mark strncat() as banned
568
+ (merged to 'next' on 2019-01-08 at 3bba2ae2bb)
569
+ + banned.h: mark strncat() as banned
570
571
The "strncat()" function is now among the banned functions.
572
351
- Will merge to 'next'.
573
+ Will merge to 'master'.
574
575
576
* jk/dev-build-format-security (2019-01-07) 1 commit
355
- - config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users
577
+ (merged to 'next' on 2019-01-08 at 3761ab7026)
578
+ + config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users
579
580
Earlier we added "-Wformat-security" to developer builds, assuming
581
that "-Wall" (which includes "-Wformat" which in turn is required
@@ -360,7 +583,7 @@ of the repositories listed at
583
when config.mak.autogen is in use, unfortunately. This has been
584
fixed by unconditionally adding "-Wall" to developer builds.
585
363
- Will merge to 'next'.
586
+ Will merge to 'master'.
587
588
589
* jp/author-committer-config (2019-01-02) 2 commits
@@ -392,10 +615,13 @@ of the repositories listed at
615
* ms/packet-err-check (2019-01-02) 2 commits
616
- pack-protocol.txt: accept error packets in any context
617
- Use packet_reader instead of packet_read_line
618
+ (this branch is used by jt/fetch-v2-sideband.)
619
620
Error checking of data sent over the pack-protocol has been
621
revamped so that error packets are always diagnosed properly.
622
623
+ Will merge to 'next'.
624
+
625
626
* os/rebase-runs-post-checkout-hook (2019-01-02) 2 commits
627
- rebase: run post-checkout hook on checkout
@@ -405,46 +631,56 @@ of the repositories listed at
631
and the command used to call the post-checkout hook, but the
632
reimplementation stopped doing so, which is getting fixed.
633
634
+ Will merge to 'next'.
635
+
636
637
* rb/hpe (2019-01-03) 5 commits
410
- - compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop
411
- - git-compat-util.h: add FLOSS headers for HPE NonStop
412
- - config.mak.uname: support for modern HPE NonStop config.
413
- - transport-helper: drop read/write errno checks
414
- - transport-helper: use xread instead of read
638
+ (merged to 'next' on 2019-01-08 at 52d6995399)
639
+ + compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop
640
+ + git-compat-util.h: add FLOSS headers for HPE NonStop
641
+ + config.mak.uname: support for modern HPE NonStop config.
642
+ + transport-helper: drop read/write errno checks
643
+ + transport-helper: use xread instead of read
644
645
Portability updates for the HPE NonStop platform.
646
418
- Will merge to 'next'.
647
+ Will merge to 'master'.
648
649
650
* sg/test-bash-version-fix (2019-01-03) 2 commits
422
- - Merge branch 'sg/test-bash-version-fix'
423
- - test-lib: check Bash version for '-x' without using shell arrays
651
+ (merged to 'next' on 2019-01-08 at f83a0628a0)
652
+ + Merge branch 'sg/test-bash-version-fix'
653
+ + test-lib: check Bash version for '-x' without using shell arrays
654
(this branch is used by sg/stress-test.)
655
656
The test suite tried to see if it is run under bash, but the check
657
itself failed under some other implementations of shell (notably
658
under NetBSD). This has been corrected.
659
430
- Will merge to 'next'.
660
+ Will merge to 'master'.
661
662
433
-* sm/http-no-more-failonerror (2019-01-03) 2 commits
434
- - Unset CURLOPT_FAILONERROR
435
- - Change how HTTP response body is returned
663
+* ms/http-no-more-failonerror (2019-01-10) 5 commits
664
+ - test: test GIT_CURL_VERBOSE=1 shows an error
665
+ - remote-curl: unset CURLOPT_FAILONERROR
666
+ - remote-curl: define struct for CURLOPT_WRITEFUNCTION
667
+ - http: enable keep_error for HTTP requests
668
+ - http: support file handles for HTTP_KEEP_ERROR
669
437
- Waiting for clarifications.
670
+ Debugging help for http transport.
671
+
672
+ Will merge to 'next'.
673
674
675
* tg/t5570-drop-racy-test (2019-01-07) 2 commits
441
- - Revert "t/lib-git-daemon: record daemon log"
442
- - t5570: drop racy test
676
+ (merged to 'next' on 2019-01-08 at 9fc753bbdc)
677
+ + Revert "t/lib-git-daemon: record daemon log"
678
+ + t5570: drop racy test
679
680
An inherently racy test that caused intermittent failures has been
681
removed.
682
447
- Will merge to 'next'.
683
+ Will merge to 'master'.
684
685
686
* tt/bisect-in-c (2019-01-02) 7 commits
@@ -458,6 +694,8 @@ of the repositories listed at
694
695
More code in "git bisect" has been rewritten in C.
696
697
+ Comments?
698
+
699
700
* ja/doc-build-l10n (2019-01-07) 1 commit
701
- Documentation/Makefile add optional targets for l10n
@@ -468,7 +706,13 @@ of the repositories listed at
706
Will merge to 'next'.
707
708
471
-* jk/loose-object-cache-oid (2019-01-07) 5 commits
709
+* jk/loose-object-cache-oid (2019-01-08) 11 commits
710
+ . prefer "hash mismatch" to "sha1 mismatch"
711
+ . sha1-file: avoid "sha1 file" for generic use in messages
712
+ . sha1-file: prefer "loose object file" to "sha1 file" in messages
713
+ . sha1-file: drop has_sha1_file()
714
+ - convert has_sha1_file() callers to has_object_file()
715
+ - sha1-file: convert pass-through functions to object_id
716
- sha1-file: modernize loose header/stream functions
717
- sha1-file: modernize loose object file functions
718
- http: use struct object_id instead of bare sha1
@@ -478,47 +722,52 @@ of the repositories listed at
722
723
Code clean-up.
724
481
- Will merge to 'next'.
725
+ Later parts of the series crash heavily with sb/more-repo-in-api
726
+ and are left out for now. I am not sure if keeping that other
727
+ topic is worth keeping to block the clean-up value of this topic
728
+ which is probably more clear.
729
730
731
* mm/multimail-1.5 (2019-01-07) 1 commit
485
- - git-multimail: update to release 1.5.0
732
+ (merged to 'next' on 2019-01-08 at 8c872af48e)
733
+ + git-multimail: update to release 1.5.0
734
735
Update "git multimail" from the upstream.
736
489
- Will merge to 'next'.
737
+ Will merge to 'master'.
738
739
740
* po/git-p4-wo-login (2019-01-07) 1 commit
493
- - git-p4: fix problem when p4 login is not necessary
741
+ (merged to 'next' on 2019-01-08 at a7cc58d6b9)
742
+ + git-p4: fix problem when p4 login is not necessary
743
744
"git p4" update.
745
497
- Will merge to 'next'.
746
+ Will merge to 'master'.
747
748
500
-* rs/loose-object-cache-perffix (2019-01-07) 4 commits
501
- - object-store: retire odb_load_loose_cache()
502
- - object-store: use one oid_array per subdirectory for loose cache
503
- - object-store: factor out odb_clear_loose_cache()
504
- - object-store: factor out odb_loose_cache()
749
+* rs/loose-object-cache-perffix (2019-01-08) 4 commits
750
+ (merged to 'next' on 2019-01-08 at 36e355e099)
751
+ + object-store: retire odb_load_loose_cache()
752
+ + object-store: use one oid_array per subdirectory for loose cache
753
+ + object-store: factor out odb_clear_loose_cache()
754
+ + object-store: factor out odb_loose_cache()
755
(this branch is used by jk/loose-object-cache-oid.)
756
757
The loose object cache used to optimize existence look-up has been
758
updated.
759
510
- Will merge to 'next'.
760
+ Will merge to 'master'.
761
762
763
* rs/sha1-file-close-mapped-file-on-error (2019-01-07) 1 commit
514
- - sha1-file: close fd of empty file in map_sha1_file_1()
764
+ (merged to 'next' on 2019-01-08 at 5841cbc153)
765
+ + sha1-file: close fd of empty file in map_sha1_file_1()
766
767
Code clean-up.
768
518
- Will merge to 'next'.
769
+ Will merge to 'master'.
770
520
---------------------------------------------------
521
-[Cooking]
771
772
* lt/date-human (2019-01-02) 3 commits
773
- t0006-date.sh: add `human` date format tests.
@@ -537,17 +786,26 @@ of the repositories listed at
786
cf. <a5412274-028f-3662-e4f5-dbbcad4d9a40@iee.org>
787
788
540
-* ds/midx-expire-repack (2019-01-02) 7 commits
789
+* ds/midx-expire-repack (2019-01-10) 9 commits
790
+ - multi-pack-index: test expire while adding packs
791
- midx: implement midx_repack()
792
- multi-pack-index: prepare 'repack' subcommand
543
- - multi-pack-index: implement 'expire' verb
544
- - midx: refactor permutation logic
793
+ - multi-pack-index: implement 'expire' subcommand
794
+ - midx: refactor permutation logic and pack sorting
795
+ - midx: simplify computation of pack name lengths
796
- multi-pack-index: prepare for 'expire' subcommand
797
- Docs: rearrange subcommands for multi-pack-index
798
- repack: refactor pack deletion for future use
799
800
+ "git multi-pack-index expire/repack" are new subcommands that
801
+ consult midx file and are used to drop unused pack files and
802
+ coalesce small pack files that are still in use.
803
+
804
+ Comments?
805
+
806
550
-* ds/push-sparse-tree-walk (2018-12-11) 6 commits
807
+* ds/push-sparse-tree-walk (2019-01-14) 7 commits
808
+ - revision.c: fix sparse warnings (sparse algorithm)
809
- pack-objects: create GIT_TEST_PACK_SPARSE
810
- pack-objects: create pack.useSparse setting
811
- revision: implement sparse algorithm
@@ -555,74 +813,67 @@ of the repositories listed at
813
- list-objects: consume sparse tree walk
814
- revision: add mark_tree_uninteresting_sparse
815
816
+ "git pack-objects" learned another algorithm to compute the set of
817
+ objects to send, that trades the resulting packfile off to save
818
+ traversal cost to favor small pushes.
819
+
820
+ May need a further update, including squashing the tip commit to a
821
+ releavant place.
822
+
823
824
* js/rebase-i-redo-exec (2018-12-11) 3 commits
825
- rebase: introduce a shortcut for --reschedule-failed-exec
826
- rebase: add a config option to default to --reschedule-failed-exec
827
- rebase: introduce --reschedule-failed-exec
828
829
+ "git rebase -i" learned to re-execute a command given with 'exec'
830
+ to run after it failed the last time.
831
+
832
+ Will merge to 'next'.
833
+
834
565
-* md/list-objects-filter-by-depth (2018-12-28) 4 commits
835
+* md/list-objects-filter-by-depth (2019-01-10) 4 commits
836
- tree:<depth>: skip some trees even when collecting omits
837
- list-objects-filter: teach tree:# how to handle >0
838
- Merge branch 'nd/the-index' into md/list-objects-filter-by-depth
839
- Merge branch 'sb/more-repo-in-api' into md/list-objects-filter-by-depth
840
(this branch uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.)
841
842
+ The objects-filter machinery learned "tree:<depth>" to filter
843
+ objects up to a given depth; earlier it only supported depth=0,
844
+ i.e. usable to create a commit-only lazy clone.
845
573
-* nd/backup-log (2018-12-10) 24 commits
574
- - FIXME
575
- - rebase: keep backup of overwritten files on --skip or --abort
576
- - am: keep backup of overwritten files on --skip or --abort
577
- - checkout -f: keep backup of overwritten files
578
- - reset --hard: keep backup of overwritten files
579
- - unpack-trees.c: keep backup of ignored files being overwritten
580
- - refs: keep backup of deleted reflog
581
- - config --edit: support backup log
582
- - sha1-file.c: let index_path() accept NULL istate
583
- - backup-log: keep all blob references around
584
- - gc: prune backup logs
585
- - backup-log: add prune command
586
- - backup-log: add log command
587
- - backup-log: add diff command
588
- - backup-log: add cat command
589
- - backup-log.c: add API for walking backup log
590
- - add--interactive: support backup log
591
- - apply: support backup log with --keep-backup
592
- - commit: support backup log
593
- - update-index: support backup log with --keep-backup
594
- - add: support backup log
595
- - read-cache.c: new flag for add_index_entry() to write to backup log
596
- - backup-log: add "update" subcommand
597
- - doc: introduce new "backup log" concept
846
+ Will merge to 'next'.
847
848
849
* nd/style-opening-brace (2018-12-10) 1 commit
601
- - style: the opening '{' of a function is in a separate line
850
+ (merged to 'next' on 2019-01-08 at 80de026e14)
851
+ + style: the opening '{' of a function is in a separate line
852
853
Code clean-up.
854
605
- Will merge to 'next'.
855
+ Will merge to 'master'.
856
857
858
* sg/stress-test (2019-01-07) 8 commits
609
- - test-lib: add the '--stress' option to run a test repeatedly under load
610
- - test-lib-functions: introduce the 'test_set_port' helper function
611
- - test-lib: set $TRASH_DIRECTORY earlier
612
- - test-lib: consolidate naming of test-results paths
613
- - test-lib: parse command line options earlier
614
- - test-lib: parse options in a for loop to keep $@ intact
615
- - test-lib: extract Bash version check for '-x' tracing
616
- - test-lib: translate SIGTERM and SIGHUP to an exit
859
+ (merged to 'next' on 2019-01-08 at 2a65cea5f9)
860
+ + test-lib: add the '--stress' option to run a test repeatedly under load
861
+ + test-lib-functions: introduce the 'test_set_port' helper function
862
+ + test-lib: set $TRASH_DIRECTORY earlier
863
+ + test-lib: consolidate naming of test-results paths
864
+ + test-lib: parse command line options earlier
865
+ + test-lib: parse options in a for loop to keep $@ intact
866
+ + test-lib: extract Bash version check for '-x' tracing
867
+ + test-lib: translate SIGTERM and SIGHUP to an exit
868
(this branch uses sg/test-bash-version-fix.)
869
870
Flaky tests can now be repeatedly run under load with the
871
"--stress" option.
872
622
- Will merge to 'next'.
873
+ Will merge to 'master'.
874
875
625
-* tg/checkout-no-overlay (2019-01-02) 8 commits
876
+* tg/checkout-no-overlay (2019-01-08) 8 commits
877
- checkout: introduce checkout.overlayMode config
878
- checkout: introduce --{,no-}overlay option
879
- checkout: factor out mark_cache_entry_for_checkout function
@@ -640,80 +891,32 @@ of the repositories listed at
891
Will merge to 'next'.
892
893
643
-* jk/proto-v2-hidden-refs-fix (2018-12-14) 3 commits
894
+* jk/proto-v2-hidden-refs-fix (2019-01-10) 1 commit
895
- upload-pack: support hidden refs with protocol v2
645
- - parse_hide_refs_config: handle NULL section
646
- - serve: pass "config context" through to individual commands
896
897
The v2 upload-pack protocol implementation failed to honor
898
hidden-ref configuration, which has been corrected.
899
900
Will merge to 'next'.
901
+ An earlier attempt reverted out of 'next'.
902
903
654
-* la/quiltimport-keep-non-patch (2018-12-14) 1 commit
655
- - git-quiltimport: Add --keep-non-patch option
904
+* la/quiltimport-keep-non-patch (2019-01-07) 1 commit
905
+ (merged to 'next' on 2019-01-08 at 37cb490792)
906
+ + git-quiltimport: add --keep-non-patch option
907
908
"git quiltimport" learned "--keep-non-patch" option.
909
659
- Will merge to 'next'.
910
+ Will merge to 'master'.
911
912
913
* sb/submodule-fetchjobs-default-to-one (2018-12-14) 1 commit
663
- - submodule update: run at most one fetch job unless otherwise set
914
+ (merged to 'next' on 2019-01-08 at 97a522ef5e)
915
+ + submodule update: run at most one fetch job unless otherwise set
916
917
"git submodule update" ought to use a single job unless asked, but
918
by mistake used multiple jobs, which has been fixed.
919
668
- Will merge to 'next'.
669
-
670
-
671
-* cb/openbsd-allows-reading-directory (2018-12-03) 1 commit
672
- (merged to 'next' on 2019-01-04 at 9d865107fd)
673
- + config.mak.uname: OpenBSD uses BSD semantics with fread for directories
674
-
675
- BSD port update.
676
-
677
- Will merge to 'master'.
678
-
679
-
680
-* cb/t5004-empty-tar-archive-fix (2018-12-03) 1 commit
681
- (merged to 'next' on 2019-01-04 at 39f4cf94ce)
682
- + t5004: avoid using tar for empty packages
683
-
684
- BSD port update.
685
-
686
- Will merge to 'master'.
687
-
688
-
689
-* cb/test-lint-cp-a (2018-12-03) 1 commit
690
- (merged to 'next' on 2019-01-04 at d13e6cfcb0)
691
- + tests: add lint for non portable cp -a
692
-
693
- BSD port update.
694
-
695
- Will merge to 'master'.
696
-
697
-
698
-* hb/t0061-dot-in-path-fix (2018-12-03) 1 commit
699
- (merged to 'next' on 2019-01-04 at 789f990c4e)
700
- + t0061: do not fail test if '.' is part of $PATH
701
-
702
- Test update.
703
-
704
- Will merge to 'master'.
705
-
706
-
707
-* hn/highlight-sideband-keywords (2018-12-04) 1 commit
708
- (merged to 'next' on 2019-01-04 at b039601533)
709
- + sideband: color lines with keyword only
710
-
711
- Lines that begin with a certain keyword that come over the wire, as
712
- well as lines that consist only of one of these keywords, ought to
713
- be painted in color for easier eyeballing, but the latter was
714
- broken ever since the feature was introduced in 2.19, which has
715
- been corrected.
716
-
920
Will merge to 'master'.
921
922
@@ -733,90 +936,7 @@ of the repositories listed at
936
Micro-optimize the code that prepares commit objects to be walked
937
by "git rev-list" when the commit-graph is available.
938
736
- Needs to be rebuilt when sb/more-repo-in-api is rewound.
737
-
738
-
739
-* md/exclude-promisor-objects-fix-cleanup (2018-12-06) 1 commit
740
- (merged to 'next' on 2019-01-04 at c15362832d)
741
- + revision.c: put promisor option in specialized struct
742
-
743
- Code clean-up.
744
-
745
- Will merge to 'master'.
746
-
747
-
748
-* bw/mailmap (2018-12-09) 1 commit
749
- (merged to 'next' on 2019-01-04 at 02b6e83231)
750
- + mailmap: update brandon williams's email address
751
-
752
- Will merge to 'master'.
753
-
754
-
755
-* do/gitweb-strict-export-conf-doc (2018-12-09) 1 commit
756
- (merged to 'next' on 2019-01-04 at 5249c9386a)
757
- + docs: fix $strict_export text in gitweb.conf.txt
758
-
759
- Doc update.
760
-
761
- Will merge to 'master'.
762
-
763
-
764
-* en/directory-renames-nothanks-doc-update (2018-12-09) 1 commit
765
- (merged to 'next' on 2019-01-04 at cb7134b54c)
766
- + git-rebase.txt: update note about directory rename detection and am
767
-
768
- Doc update.
769
-
770
- Will merge to 'master'.
771
-
772
-
773
-* fd/gitweb-snapshot-conf-doc-fix (2018-12-09) 1 commit
774
- (merged to 'next' on 2019-01-04 at 7ba71fca17)
775
- + docs/gitweb.conf: config variable typo
776
-
777
- Doc update.
778
-
779
- Will merge to 'master'.
780
-
781
-
782
-* km/rebase-doc-typofix (2018-12-10) 1 commit
783
- (merged to 'next' on 2019-01-04 at c89f646e8f)
784
- + rebase docs: drop stray word in merge command description
785
-
786
- Doc update.
787
-
788
- Will merge to 'master'.
789
-
790
-
791
-* nd/indentation-fix (2018-12-09) 1 commit
792
- (merged to 'next' on 2019-01-04 at 738b17d365)
793
- + Indent code with TABs
794
-
795
- Code cleanup.
796
-
797
- Will merge to 'master'.
798
-
799
-
800
-* tb/use-common-win32-pathfuncs-on-cygwin (2018-12-26) 1 commit
801
- (merged to 'next' on 2019-01-04 at c3b2b1f3c3)
802
- + git clone <url> C:\cygwin\home\USER\repo' is working (again)
803
-
804
- Cygwin update.
805
-
806
- Will merge to 'master'.
807
-
808
-
809
-* tb/log-G-binary (2018-12-26) 1 commit
810
- (merged to 'next' on 2019-01-04 at a713ef389c)
811
- + log -G: ignore binary files
812
-
813
- "git log -G<regex>" looked for a hunk in the "git log -p" patch
814
- output that contained a string that matches the given pattern.
815
- Optimize this code to ignore binary files, which by default will
816
- not show any hunk that would match any pattern (unless textconv or
817
- the --text option is in effect, that is).
818
-
819
- Will merge to 'master'.
939
+ Will merge to 'next'.
940
941
942
* dl/merge-cleanup-scissors-fix (2018-11-21) 2 commits
@@ -829,8 +949,7 @@ of the repositories listed at
949
out just like the list of updated paths and other information to
950
help the user explain the merge better.
951
832
- Kicked out of 'next', to replace with a newer iteration.
833
- cf. <cover.1545745331.git.liu.denton@gmail.com>
952
+ Ready?
953
954
955
* aw/pretty-trailers (2018-12-09) 7 commits
@@ -849,28 +968,6 @@ of the repositories listed at
968
How's the doneness of this one?
969
970
852
-* nd/attr-pathspec-in-tree-walk (2018-11-19) 5 commits
853
- (merged to 'next' on 2019-01-04 at 6a07e5b905)
854
- + tree-walk: support :(attr) matching
855
- + dir.c: move, rename and export match_attrs()
856
- + pathspec.h: clean up "extern" in function declarations
857
- + tree-walk.c: make tree_entry_interesting() take an index
858
- + tree.c: make read_tree*() take 'struct repository *'
859
-
860
- The traversal over tree objects has learned to honor
861
- ":(attr:label)" pathspec match, which has been implemented only for
862
- enumerating paths on the filesystem.
863
-
864
- Will merge to 'master'.
865
-
866
-
867
-* ab/commit-graph-progress-fix (2018-11-20) 1 commit
868
- (merged to 'next' on 2019-01-04 at 405a1a2cf5)
869
- + commit-graph: split up close_reachable() progress output
870
-
871
- Will merge to 'master'.
872
-
873
-
971
* jn/unknown-index-extensions (2018-11-21) 2 commits
972
- index: offer advice for unknown index extensions
973
- index: do not warn about unrecognized extensions
@@ -881,19 +978,6 @@ of the repositories listed at
978
Expecting a reroll.
979
980
884
-* nd/checkout-noisy (2018-11-20) 2 commits
885
- (merged to 'next' on 2019-01-04 at 480172d3d7)
886
- + t0027: squelch checkout path run outside test_expect_* block
887
- + checkout: print something when checking out paths
888
-
889
- "git checkout [<tree-ish>] path..." learned to report the number of
890
- paths that have been checked out of the index or the tree-ish,
891
- which gives it the same degree of noisy-ness as the case in which
892
- the command checks out a branch.
893
-
894
- Will merge to 'master'.
895
-
896
-
981
* en/rebase-merge-on-sequencer (2019-01-07) 8 commits
982
- rebase: implement --merge via the interactive machinery
983
- rebase: define linearization ordering and enforce it
@@ -907,6 +991,9 @@ of the repositories listed at
991
"git rebase --merge" as been reimplemented by reusing the internal
992
machinery used for "git rebase -i".
993
994
+ On hold.
995
+ cf. <CABPp-BFckuONYcGGkCY3BuPypRULmhsk_OFHyYA2E4jM66BfeQ@mail.gmail.com>
996
+
997
998
* dl/remote-save-to-push (2018-12-11) 1 commit
999
- remote: add --save-to-push option to git remote set-url
@@ -935,51 +1022,40 @@ of the repositories listed at
1022
Some errors from the other side coming over smart HTTP transport
1023
were not noticed, which has been corrected.
1024
1025
+ Will merge to 'next'.
1026
+
1027
1028
* nb/branch-show-other-worktrees-head (2019-01-07) 4 commits
1029
- branch: add an extra verbose output displaying worktree path for checked out branch
1030
- branch: mark and color a branch that is checked out in a linked worktree differently
942
- - SQUASH???
1031
- ref-filter: add worktreepath atom
1032
1033
"git branch --list" learned to show branches that are checked out
1034
in other worktrees connected to the same repository prefixed with
1035
'+', similar to the way the currently checked out branch is shown
1036
with '*' in front.
949
-
1037
951
-* ot/ref-filter-object-info (2018-12-28) 6 commits
952
- - ref-filter: add docs for new options
953
- - ref-filter: add tests for deltabase
954
- - ref-filter: add deltabase option
955
- - ref-filter: add tests for objectsize:disk
956
- - ref-filter: add check for negative file size
957
- - ref-filter: add objectsize:disk option
1038
+ The second one is of dubious value. The third one requires extra
1039
+ "-v" to trigger extra information, but a new feature that improves
1040
+ human-readable Porcelain output, it probably shouldn't. Needs
1041
+ sign-off.
1042
+
1043
+
1044
+* ot/ref-filter-object-info (2019-01-10) 7 commits
1045
+ (merged to 'next' on 2019-01-10 at 9e740568ce)
1046
+ + ref-filter: give uintmax_t to format with %PRIuMAX
1047
+ (merged to 'next' on 2019-01-08 at 0a4d4ed36a)
1048
+ + ref-filter: add docs for new options
1049
+ + ref-filter: add tests for deltabase
1050
+ + ref-filter: add deltabase option
1051
+ + ref-filter: add tests for objectsize:disk
1052
+ + ref-filter: add check for negative file size
1053
+ + ref-filter: add objectsize:disk option
1054
1055
The "--format=<placeholder>" option of for-each-ref, branch and tag
1056
learned to show a few more traits of objects that can be learned by
1057
the object_info API.
1058
963
- Will merge to 'next'.
964
-
965
-
966
-* sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit
967
- (merged to 'next' on 2019-01-04 at 46de5f42d1)
968
- + diff: align move detection error handling with other options
969
-
970
- Minor inconsistency fix.
971
-
972
- Will merge to 'master'.
973
-
974
-
975
-* md/list-lazy-objects-fix (2018-12-06) 1 commit
976
- (merged to 'next' on 2019-01-04 at 93bd38fff9)
977
- + list-objects.c: don't segfault for missing cmdline objects
978
-
979
- "git rev-list --exclude-promisor-objects" had to take an object
980
- that does not exist locally (and is lazily available) from the
981
- command line without barfing, but the code dereferenced NULL.
982
-
1059
Will merge to 'master'.
1060
1061
@@ -1011,6 +1087,8 @@ of the repositories listed at
1087
1088
The in-core repository instances are passed through more codepaths.
1089
1090
+ Will merge to 'next'.
1091
+
1092
1093
* bc/sha-256 (2018-11-14) 12 commits
1094
- hash: add an SHA-256 implementation using OpenSSL
@@ -1029,6 +1107,8 @@ of the repositories listed at
1107
Add sha-256 hash and plug it through the code to allow building Git
1108
with the "NewHash".
1109
1110
+ Will merge to 'next'.
1111
+
1112
1113
* js/vsts-ci (2018-10-16) 13 commits
1114
. travis: fix skipping tagged releases
@@ -1073,23 +1153,25 @@ of the repositories listed at
1153
updated to use "size_t".
1154
1155
1076
-* ag/sequencer-reduce-rewriting-todo (2018-11-12) 16 commits
1077
- . rebase--interactive: move transform_todo_file() to rebase--interactive.c
1078
- . sequencer: fix a call to error() in transform_todo_file()
1079
- . sequencer: use edit_todo_list() in complete_action()
1080
- . rebase-interactive: rewrite edit_todo_list() to handle the initial edit
1081
- . rebase-interactive: append_todo_help() changes
1082
- . rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
1083
- . sequencer: refactor skip_unnecessary_picks() to work on a todo_list
1084
- . sequencer: change complete_action() to use the refactored functions
1085
- . sequencer: make sequencer_make_script() write its script to a strbuf
1086
- . sequencer: refactor rearrange_squash() to work on a todo_list
1087
- . sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
1088
- . sequencer: refactor check_todo_list() to work on a todo_list
1089
- . sequencer: introduce todo_list_write_to_file()
1090
- . sequencer: refactor transform_todos() to work on a todo_list
1091
- . sequencer: make the todo_list structure public
1092
- . sequencer: changes in parse_insn_buffer()
1156
+* ag/sequencer-reduce-rewriting-todo (2019-01-14) 18 commits
1157
+ - rebase-interactive.h: fix hdr-check warnings
1158
+ - sequencer: mark file local symbols as static
1159
+ - rebase-interactive: move transform_todo_file() to rebase--interactive.c
1160
+ - sequencer: use edit_todo_list() in complete_action()
1161
+ - rebase-interactive: rewrite edit_todo_list() to handle the initial edit
1162
+ - rebase-interactive: append_todo_help() changes
1163
+ - rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
1164
+ - sequencer: refactor skip_unnecessary_picks() to work on a todo_list
1165
+ - sequencer: change complete_action() to use the refactored functions
1166
+ - sequencer: make sequencer_make_script() write its script to a strbuf
1167
+ - sequencer: refactor rearrange_squash() to work on a todo_list
1168
+ - sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
1169
+ - sequencer: refactor check_todo_list() to work on a todo_list
1170
+ - sequencer: introduce todo_list_write_to_file()
1171
+ - sequencer: refactor transform_todos() to work on a todo_list
1172
+ - sequencer: remove the 'arg' field from todo_item
1173
+ - sequencer: make the todo_list structure public
1174
+ - sequencer: changes in parse_insn_buffer()
1175
1176
The scripted version of "git rebase -i" wrote and rewrote the todo
1177
list many times during a single step of its operation, and the
@@ -1098,8 +1180,8 @@ of the repositories listed at
1180
around in-core to avoid rewriting the same file over and over
1181
unnecessarily.
1182
1101
- With too many topics in-flight that touch sequencer and rebaser,
1102
- this need to wait giving precedence to other topics that fix bugs.
1183
+ May need a further update, including squashing the tip commit to a
1184
+ releavant place.
1185
1186
1187
* sb/submodule-recursive-fetch-gets-the-tip (2018-12-09) 9 commits
@@ -1116,7 +1198,7 @@ of the repositories listed at
1198
"git fetch --recurse-submodules" may not fetch the necessary commit
1199
that is bound to the superproject, which is getting corrected.
1200
1119
- Ready?
1201
+ Will merge to 'next'.
1202
1203
1204
* js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
@@ -1160,6 +1242,8 @@ of the repositories listed at
1242
1243
"git stash" rewritten in C.
1244
1245
+ Comments?
1246
+
1247
1248
* pw/add-p-select (2018-07-26) 4 commits
1249
- add -p: optimize line selection for short hunks
@@ -1181,53 +1265,28 @@ of the repositories listed at
1265
--------------------------------------------------
1266
[Discarded]
1267
1184
-* ab/reject-alias-loop (2018-10-19) 1 commit
1185
- . alias: detect loops in mixed execution mode
1186
-
1187
- Two (or more) aliases that mutually refer to each other can form an
1188
- infinite loop; we now attempt to notice and stop.
1189
-
1190
- Discarded.
1191
- Reverted out of 'next'.
1192
- cf. <87sh0slvxm.fsf@evledraar.gmail.com>
1193
-
1194
-
1195
-* gl/bundle-unlock-before-aborting (2018-11-14) 1 commit
1196
- . bundle: rollback lock file while refusing to create an empty bundle
1197
-
1198
- Superseded by jk/close-duped-fd-before-unlock-for-bundle
1199
-
1200
-
1201
-* js/remote-archive-v2 (2018-09-28) 4 commits
1202
- . archive: allow archive over HTTP(S) with proto v2
1203
- . archive: implement protocol v2 archive command
1204
- . archive: use packet_reader for communications
1205
- . archive: follow test standards around assertions
1206
-
1207
- The original implementation of "git archive --remote" more or less
1208
- bypassed the transport layer and did not work over http(s). The
1209
- version 2 of the protocol is defined to allow going over http(s) as
1210
- well as Git native transport.
1211
-
1212
- Retracted; reverted out of next.
1213
- cf. <20181114195142.GI126896@google.com>
1214
-
1215
-
1216
-* ab/format-patch-rangediff-not-stat (2018-11-24) 1 commit
1217
- . format-patch: don't include --stat with --range-diff output
1218
-
1219
- The "--rangediff" option recently added to "format-patch"
1220
- interspersed a bogus and useless "--stat" information by mistake,
1221
- which is being corrected.
1222
-
1223
- Reverted out of 'next'.
1224
-
1225
-
1226
-* jc/postpone-rebase-in-c (2018-11-26) 1 commit
1227
- . rebase: mark the C reimplementation as an experimental opt-in feature
1228
-
1229
- People seem to be still finding latent bugs in the "rebase in C"
1230
- reimplementation. For the upcoming release, use the scripted
1231
- version by default and adjust the documentation accordingly.
1232
-
1233
- Reverted out of 'next'.
1268
+* nd/backup-log (2018-12-10) 24 commits
1269
+ . FIXME
1270
+ . rebase: keep backup of overwritten files on --skip or --abort
1271
+ . am: keep backup of overwritten files on --skip or --abort
1272
+ . checkout -f: keep backup of overwritten files
1273
+ . reset --hard: keep backup of overwritten files
1274
+ . unpack-trees.c: keep backup of ignored files being overwritten
1275
+ . refs: keep backup of deleted reflog
1276
+ . config --edit: support backup log
1277
+ . sha1-file.c: let index_path() accept NULL istate
1278
+ . backup-log: keep all blob references around
1279
+ . gc: prune backup logs
1280
+ . backup-log: add prune command
1281
+ . backup-log: add log command
1282
+ . backup-log: add diff command
1283
+ . backup-log: add cat command
1284
+ . backup-log.c: add API for walking backup log
1285
+ . add--interactive: support backup log
1286
+ . apply: support backup log with --keep-backup
1287
+ . commit: support backup log
1288
+ . update-index: support backup log with --keep-backup
1289
+ . add: support backup log
1290
+ . read-cache.c: new flag for add_index_entry() to write to backup log
1291
+ . backup-log: add "update" subcommand
1292
+ . doc: introduce new "backup log" concept