What's cooking (2018/02 #03)
Junio C Hamano committed
Feb 21, 2018 at 16:31 UTC
32d848781c938129f11e92c2c53a41aa74c69c61
1 file changed
+568
-649
whats-cooking.txt
+568
-649
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Feb 2018, #02; Tue, 13)
4
-X-master-at: b2e45c695d09f6a31ce09347ae0a5d2cdfe9dd4e
5
-X-next-at: e5215aaa5c9875adf01d63ed4237f0870ec897f1
3
+Subject: What's cooking in git.git (Feb 2018, #03; Wed, 21)
4
+X-master-at: e3a80781f5932f5fea12a49eb06f3ade4ed8945c
5
+X-next-at: 2e18187dfdb805eb42926ca430828b89b45f5da7
6
7
-What's cooking in git.git (Feb 2018, #02; Tue, 13)
7
+What's cooking in git.git (Feb 2018, #03; Wed, 21)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -20,515 +20,428 @@ of the repositories listed at
20
--------------------------------------------------
21
[Graduated to "master"]
22
23
-* ab/simplify-perl-makefile (2018-01-03) 3 commits
24
- (merged to 'next' on 2018-01-23 at 1506e0651a)
25
- + perl: treat PERLLIB_EXTRA as an extra path again
26
- + perl: avoid *.pmc and fix Error.pm further
27
- + Makefile: replace perl/Makefile.PL with simple make rules
28
-
29
- Originally merged to 'next' on 2018-01-03
30
-
31
- The build procedure for perl/ part has been greatly simplified by
32
- weaning ourselves off of MakeMaker.
33
-
34
-
35
-* cc/sha1-file-name (2018-01-19) 2 commits
36
- (merged to 'next' on 2018-02-07 at a50b171a84)
37
- + sha1_file: improve sha1_file_name() perfs
38
- + sha1_file: remove static strbuf from sha1_file_name()
39
-
40
- Code clean-up.
41
-
42
-
43
-* cl/t9001-cleanup (2018-01-12) 1 commit
44
- (merged to 'next' on 2018-02-07 at 9b194a9999)
45
- + t9001: use existing helper in send-email test
46
-
47
- Test clean-up.
48
-
49
-
50
-* ds/use-get-be64 (2018-01-19) 1 commit
51
- (merged to 'next' on 2018-02-07 at 6d6d5ba71d)
52
- + packfile: use get_be64() for large offsets
53
-
54
- Code clean-up.
55
-
56
-
57
-* ew/svn-branch-segfault-fix (2018-01-30) 1 commit
58
- (merged to 'next' on 2018-02-07 at 1bf8d8f74f)
59
- + git-svn: control destruction order to avoid segfault
60
-
61
- Workaround for segfault with more recent versions of SVN.
62
-
63
-
64
-* gs/retire-mru (2018-01-24) 1 commit
65
- (merged to 'next' on 2018-02-07 at 4b2e893911)
66
- + mru: Replace mru.[ch] with list.h implementation
67
- (this branch uses ot/mru-on-list.)
68
-
69
- Retire mru API as it does not give enough abstraction over
70
- underlying list API to be worth it.
71
-
72
-
73
-* jc/mailinfo-cleanup-fix (2018-01-24) 1 commit
74
- (merged to 'next' on 2018-02-07 at 65d41f993b)
75
- + mailinfo: avoid segfault when can't open files
76
-
77
- Corner case bugfix.
78
-
79
-
80
-* jh/fsck-promisors (2017-12-08) 10 commits
81
- (merged to 'next' on 2018-01-23 at ca59f5c18e)
82
- + gc: do not repack promisor packfiles
83
- + rev-list: support termination at promisor objects
84
- + sha1_file: support lazily fetching missing objects
85
- + introduce fetch-object: fetch one promisor object
86
- + index-pack: refactor writing of .keep files
87
- + fsck: support promisor objects as CLI argument
88
- + fsck: support referenced promisor objects
89
- + fsck: support refs pointing to promisor objects
90
- + fsck: introduce partialclone extension
91
- + extension.partialclone: introduce partial clone extension
92
- (this branch is used by jh/partial-clone.)
93
-
94
- Originally merged to 'next' on 2018-01-17
95
-
96
- In preparation for implementing narrow/partial clone, the machinery
97
- for checking object connectivity used by gc and fsck has been
98
- taught that a missing object is OK when it is referenced by a
99
- packfile specially marked as coming from trusted repository that
100
- promises to make them available on-demand and lazily.
101
-
102
-
103
-* jh/partial-clone (2017-12-08) 13 commits
104
- (merged to 'next' on 2018-01-23 at de0f0111ea)
105
- + t5616: test bulk prefetch after partial fetch
106
- + fetch: inherit filter-spec from partial clone
107
- + t5616: end-to-end tests for partial clone
108
- + fetch-pack: restore save_commit_buffer after use
109
- + unpack-trees: batch fetching of missing blobs
110
- + clone: partial clone
111
- + partial-clone: define partial clone settings in config
112
- + fetch: support filters
113
- + fetch: refactor calculation of remote list
114
- + fetch-pack: test support excluding large blobs
115
- + fetch-pack: add --no-filter
116
- + fetch-pack, index-pack, transport: partial clone
117
- + upload-pack: add object filtering for partial clone
118
- (this branch uses jh/fsck-promisors.)
119
-
120
- Originally merged to 'next' on 2018-01-17
121
-
122
- The machinery to clone & fetch, which in turn involves packing and
123
- unpacking objects, have been told how to omit certain objects using
124
- the filtering mechanism introduced by the jh/object-filtering
125
- topic, and also mark the resulting pack as a promisor pack to
126
- tolerate missing objects, taking advantage of the mechanism
127
- introduced by the jh/fsck-promisors topic.
23
+* ab/sha1dc-build (2017-12-08) 3 commits
24
+ (merged to 'next' on 2018-02-08 at ba9ff2b836)
25
+ + sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
26
+ + Makefile: under "make dist", include the sha1collisiondetection submodule
27
+ + Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
28
29
+ Push the submodule version of collision-detecting SHA-1 hash
30
+ implementation a bit harder on builders.
31
130
-* jk/daemon-fixes (2018-01-25) 6 commits
131
- (merged to 'next' on 2018-02-07 at 0e4fe8f8cc)
132
- + daemon: fix length computation in newline stripping
133
- + t/lib-git-daemon: add network-protocol helpers
134
- + daemon: handle NULs in extended attribute string
135
- + daemon: fix off-by-one in logging extended attributes
136
- + t/lib-git-daemon: record daemon log
137
- + t5570: use ls-remote instead of clone for interp tests
32
139
- Assorted fixes to "git daemon".
33
+* ab/wildmatch-tests (2018-01-30) 10 commits
34
+ (merged to 'next' on 2018-02-08 at f999a3d732)
35
+ + wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
36
+ + test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
37
+ + wildmatch test: create & test files on disk in addition to in-memory
38
+ + wildmatch test: perform all tests under all wildmatch() modes
39
+ + wildmatch test: use test_must_fail, not ! for test-wildmatch
40
+ + wildmatch test: remove dead fnmatch() test code
41
+ + wildmatch test: use a paranoia pattern from nul_match()
42
+ + wildmatch test: don't try to vertically align our output
43
+ + wildmatch test: use more standard shell style
44
+ + wildmatch test: indent with tabs, not spaces
45
46
+ More tests for wildmatch functions.
47
142
-* jt/http-redact-cookies (2018-01-19) 2 commits
143
- (merged to 'next' on 2018-02-07 at a8c3416a7d)
144
- + http: support omitting data from traces
145
- + http: support cookie redaction when tracing
48
147
- The http tracing code, often used to debug connection issues,
148
- learned to redact potentially sensitive information from its output
149
- so that it can be more safely sharable.
49
+* bc/hash-algo (2018-02-09) 13 commits
50
+ (merged to 'next' on 2018-02-09 at 4437f3f132)
51
+ + hash: update obsolete reference to SHA1_HEADER
52
+ (merged to 'next' on 2018-02-08 at 18f36d12ed)
53
+ + bulk-checkin: abstract SHA-1 usage
54
+ + csum-file: abstract uses of SHA-1
55
+ + csum-file: rename sha1file to hashfile
56
+ + read-cache: abstract away uses of SHA-1
57
+ + pack-write: switch various SHA-1 values to abstract forms
58
+ + pack-check: convert various uses of SHA-1 to abstract forms
59
+ + fast-import: switch various uses of SHA-1 to the_hash_algo
60
+ + sha1_file: switch uses of SHA-1 to the_hash_algo
61
+ + builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo
62
+ + builtin/index-pack: improve hash function abstraction
63
+ + hash: create union for hash context allocation
64
+ + hash: move SHA-1 macros to hash.h
65
66
+ More abstraction of hash function from the codepath.
67
152
-* jt/long-running-process-doc (2018-01-25) 1 commit
153
- (merged to 'next' on 2018-02-07 at 8bbb42ad3c)
154
- + Docs: split out long-running subprocess handshake
68
156
- Doc updates.
69
+* cc/perf-aggregate (2018-02-02) 3 commits
70
+ (merged to 'next' on 2018-02-08 at d8f074e6fb)
71
+ + perf/aggregate: sort JSON fields in output
72
+ + perf/aggregate: add --reponame option
73
+ + perf/aggregate: add --subsection option
74
75
+ "make perf" enhancement.
76
159
-* ks/submodule-doc-updates (2018-01-16) 2 commits
160
- (merged to 'next' on 2018-02-07 at aff2fa1650)
161
- + Doc/git-submodule: improve readability and grammar of a sentence
162
- + Doc/gitsubmodules: make some changes to improve readability and syntax
77
164
- Doc updates.
78
+* en/merge-recursive-fixes (2018-01-19) 3 commits
79
+ (merged to 'next' on 2018-02-08 at c254292070)
80
+ + merge-recursive: add explanation for src_entry and dst_entry
81
+ + merge-recursive: fix logic ordering issue
82
+ + Tighten and correct a few testcases for merging and cherry-picking
83
+ (this branch is used by en/rename-directory-detection.)
84
85
167
-* mr/packed-ref-store-fix (2018-01-19) 1 commit
168
- (merged to 'next' on 2018-02-07 at 17d32e99da)
169
- + files_initial_transaction_commit(): only unlock if locked
86
+* gs/rebase-allow-empty-message (2018-02-07) 1 commit
87
+ (merged to 'next' on 2018-02-08 at 9d81a2496c)
88
+ + rebase: add --allow-empty-message option
89
171
- Crash fix for a corner case where an error codepath tried to unlock
172
- what it did not acquire lock on.
90
+ "git rebase" learned to take "--allow-empty-message" option.
91
92
175
-* nd/diff-flush-before-warning (2018-01-16) 1 commit
176
- (merged to 'next' on 2018-02-07 at 9c67f58ae0)
177
- + diff.c: flush stdout before printing rename warnings
93
+* jc/worktree-add-short-help (2018-01-17) 1 commit
94
+ (merged to 'next' on 2018-02-08 at 9f59ca72ab)
95
+ + worktree: say that "add" takes an arbitrary commit in short-help
96
179
- Avoid showing a warning message in the middle of a line of "git
180
- diff" output.
97
+ Error message fix.
98
99
183
-* nd/list-merge-strategy (2018-01-26) 1 commit
184
- (merged to 'next' on 2018-02-07 at a75d04a675)
185
- + completion: fix completing merge strategies on non-C locales
100
+* jt/fsck-code-cleanup (2018-01-23) 1 commit
101
+ (merged to 'next' on 2018-02-08 at 199ad41486)
102
+ + fsck: fix leak when traversing trees
103
187
- Completion of "git merge -s<strategy>" (in contrib/) did not work
188
- well in non-C locale.
104
+ Plug recently introduced leaks in fsck.
105
106
191
-* nd/shared-index-fix (2018-01-24) 3 commits
192
- (merged to 'next' on 2018-02-07 at c5d6e68c91)
193
- + read-cache: don't write index twice if we can't write shared index
194
- + read-cache.c: move tempfile creation/cleanup out of write_shared_index
195
- + read-cache.c: change type of "temp" in write_shared_index()
107
+* kg/packed-ref-cache-fix (2018-01-24) 6 commits
108
+ (merged to 'next' on 2018-02-08 at 370f06a565)
109
+ + packed_ref_cache: don't use mmap() for small files
110
+ + load_contents(): don't try to mmap an empty file
111
+ + packed_ref_iterator_begin(): make optimization more general
112
+ + find_reference_location(): make function safe for empty snapshots
113
+ + create_snapshot(): use `xmemdupz()` rather than a strbuf
114
+ + struct snapshot: store `start` rather than `header_len`
115
197
- Code clean-up.
116
+ Avoid mmapping small files while using packed refs (especially ones
117
+ with zero size, which would cause later munmap() to fail).
118
+ A change to a binsearch loop to work around picky complers was
119
+ unnecessarily hard to reason about, but it should do.
120
121
200
-* nd/trace-with-env (2018-01-19) 7 commits
201
- (merged to 'next' on 2018-02-07 at 68399411d9)
202
- + run-command.c: print new cwd in trace_run_command()
203
- + run-command.c: print env vars in trace_run_command()
204
- + run-command.c: print program 'git' when tracing git_cmd mode
205
- + run-command.c: introduce trace_run_command()
206
- + trace.c: move strbuf_release() out of print_trace_line()
207
- + trace: avoid unnecessary quoting
208
- + sq_quote_argv: drop maxlen parameter
122
+* lw/daemon-log-destination (2018-02-05) 1 commit
123
+ (merged to 'next' on 2018-02-08 at da91bd56f4)
124
+ + daemon: add --log-destination=(stderr|syslog|none)
125
210
- The tracing machinery learned to report tweaking of environment
211
- variables as well.
126
+ The log from "git daemon" can be redirected with a new option; one
127
+ relevant use case is to send the log to standard error (instead of
128
+ syslog) when running it from inetd.
129
130
214
-* ot/mru-on-list (2017-10-01) 1 commit
215
- (merged to 'next' on 2018-02-07 at ee1ee4ac79)
216
- + mru: use double-linked list from list.h
217
- (this branch is used by gs/retire-mru.)
131
+* nd/format-patch-stat-width (2018-02-02) 2 commits
132
+ (merged to 'next' on 2018-02-08 at c03e8a084e)
133
+ + format-patch: reduce patch diffstat width to 72
134
+ + format-patch: keep cover-letter diffstat wrapped in 72 columns
135
219
- The first step to getting rid of mru API and using the
220
- doubly-linked list API directly instead.
136
+ "git format-patch" learned to give 72-cols to diffstat, which is
137
+ consistent with other line length limits the subcommand uses for
138
+ its output meant for e-mails.
139
140
223
-* pc/submodule-helper (2018-01-16) 2 commits
224
- (merged to 'next' on 2018-02-07 at 53b4524eca)
225
- + submodule: port submodule subcommand 'deinit' from shell to C
226
- + submodule: port submodule subcommand 'sync' from shell to C
141
+* nd/ignore-glob-doc-update (2018-02-02) 1 commit
142
+ (merged to 'next' on 2018-02-08 at 22ba92e49b)
143
+ + gitignore.txt: elaborate shell glob syntax
144
228
- Rewrite two more "git submodule" subcommands in C.
145
+ Doc update.
146
147
231
-* po/clang-format-functype-weight (2018-01-24) 1 commit
232
- (merged to 'next' on 2018-02-07 at 0724aaae38)
233
- + clang-format: adjust penalty for return type line break
148
+* nd/trace-index-ops (2018-02-02) 1 commit
149
+ (merged to 'next' on 2018-02-08 at 91e362b26a)
150
+ + trace: measure where the time is spent in the index-heavy operations
151
235
- Prevent "clang-format" from breaking line after function return type.
152
153
+* po/object-id (2018-01-30) 12 commits
154
+ (merged to 'next' on 2018-02-08 at 701311e8ea)
155
+ + sha1_file: rename hash_sha1_file_literally
156
+ + sha1_file: convert write_loose_object to object_id
157
+ + sha1_file: convert force_object_loose to object_id
158
+ + sha1_file: convert write_sha1_file to object_id
159
+ + notes: convert write_notes_tree to object_id
160
+ + notes: convert combine_notes_* to object_id
161
+ + commit: convert commit_tree* to object_id
162
+ + match-trees: convert splice_tree to object_id
163
+ + cache: clear whole hash buffer with oidclr
164
+ + sha1_file: convert hash_sha1_file to object_id
165
+ + dir: convert struct sha1_stat to use object_id
166
+ + sha1_file: convert pretend_sha1_file to object_id
167
238
-* po/http-push-error-message (2018-01-24) 1 commit
239
- (merged to 'next' on 2018-02-07 at 3dccd32857)
240
- + http-push: improve error log
168
+ Conversion from uchar[20] to struct object_id continues.
169
242
- Debugging aid.
170
171
+* rs/cocci-strbuf-addf-to-addstr (2018-02-02) 1 commit
172
+ (merged to 'next' on 2018-02-08 at 0016008a97)
173
+ + cocci: simplify check for trivial format strings
174
245
-* pw/sequencer-in-process-commit (2018-01-24) 14 commits
246
- (merged to 'next' on 2018-02-07 at ab5961edd9)
247
- + sequencer: run 'prepare-commit-msg' hook
248
- + t7505: add tests for cherry-pick and rebase -i/-p
249
- + t7505: style fixes
250
- + sequencer: assign only free()able strings to gpg_sign
251
- + sequencer: improve config handling
252
- + t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
253
- + sequencer: try to commit without forking 'git commit'
254
- + sequencer: load commit related config
255
- + sequencer: simplify adding Signed-off-by: trailer
256
- + commit: move print_commit_summary() to libgit
257
- + commit: move post-rewrite code to libgit
258
- + Add a function to update HEAD after creating a commit
259
- + commit: move empty message checks to libgit
260
- + t3404: check intermediate squash messages
175
262
- The sequencer infrastructure is shared across "git cherry-pick",
263
- "git rebase -i", etc., and has always spawned "git commit" when it
264
- needs to create a commit. It has been taught to do so internally,
265
- when able, by reusing the codepath "git commit" itself uses, which
266
- gives performance boost for a few tens of percents in some sample
267
- scenarios.
176
+* sb/pull-rebase-submodule (2018-01-25) 1 commit
177
+ (merged to 'next' on 2018-02-08 at 38fa97f855)
178
+ + builtin/pull: respect verbosity settings in submodules
179
180
+ "git pull --rebase" did not pass verbosity setting down when
181
+ recursing into a submodule.
182
270
-* rb/hashmap-h-compilation-fix (2018-01-16) 1 commit
271
- (merged to 'next' on 2018-02-07 at 780bc6d06b)
272
- + hashmap.h: remove unused variable
183
274
- Code clean-up.
184
+* sg/test-i18ngrep (2018-02-08) 9 commits
185
+ (merged to 'next' on 2018-02-08 at e83eb33909)
186
+ + t: make 'test_i18ngrep' more informative on failure
187
+ + t: validate 'test_i18ngrep's parameters
188
+ + t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
189
+ + t5536: let 'test_i18ngrep' read the file without redirection
190
+ + t5510: consolidate 'grep' and 'test_i18ngrep' patterns
191
+ + t4001: don't run 'git status' upstream of a pipe
192
+ + t6022: don't run 'git merge' upstream of a pipe
193
+ + t5812: add 'test_i18ngrep's missing filename parameter
194
+ + t5541: add 'test_i18ngrep's missing filename parameter
195
196
+ Test fixes.
197
277
-* rs/describe-unique-abbrev (2018-01-16) 1 commit
278
- (merged to 'next' on 2018-02-07 at b5383e2d05)
279
- + describe: use strbuf_add_unique_abbrev() for adding short hashes
198
281
- Code clean-up.
199
+* tg/reset-hard-show-head-with-pretty (2018-02-02) 1 commit
200
+ (merged to 'next' on 2018-02-08 at 596a4ec00d)
201
+ + reset --hard: make use of the pretty machinery
202
203
+ The way "git reset --hard" reports the commit the updated HEAD
204
+ points at is made consistent with the way how the commit title is
205
+ generated by the other parts of the system. This matters when the
206
+ title is spread across physically multiple lines.
207
284
-* rs/strbuf-cocci-workaround (2018-01-19) 1 commit
285
- (merged to 'next' on 2018-02-07 at 73a2c4c769)
286
- + cocci: use format keyword instead of a literal string
208
+--------------------------------------------------
209
+[New Topics]
210
288
- Update Coccinelle rules to catch and optimize strbuf_addf(&buf, "%s", str)
211
+* bp/fsmonitor (2018-02-14) 1 commit
212
+ (merged to 'next' on 2018-02-14 at 5c508858fb)
213
+ + fsmonitor: update documentation to remove reference to invalid config settings
214
215
+ Doc update for a recently added feature.
216
291
-* sg/cocci-move-array (2018-01-22) 1 commit
292
- (merged to 'next' on 2018-02-07 at 6ced765979)
293
- + Use MOVE_ARRAY
217
+ Will merge to 'master'.
218
295
- Code clean-up.
219
220
+* jk/sq-dequote-on-bogus-input (2018-02-14) 1 commit
221
+ (merged to 'next' on 2018-02-14 at 75d4f1eaf8)
222
+ + sq_dequote: fix extra consumption of source string
223
298
-* sg/travis-linux32-sanity (2018-01-30) 5 commits
299
- (merged to 'next' on 2018-02-07 at 0349cf505c)
300
- + travis-ci: don't fail if user already exists on 32 bit Linux build job
301
- + travis-ci: don't run the test suite as root in the 32 bit Linux build
302
- + travis-ci: don't repeat the path of the cache directory
303
- + travis-ci: use 'set -e' in the 32 bit Linux build job
304
- + travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build
224
+ Code to unquote single-quoted string (used in the parser for
225
+ configuration files, etc.) did not diagnose bogus input correctly
226
+ and produced bogus results instead.
227
306
- Travis updates.
228
+ Will merge to 'master'.
229
230
309
-* tb/crlf-conv-flags (2018-01-16) 1 commit
310
- (merged to 'next' on 2018-02-07 at 1981be1b46)
311
- + convert_to_git(): safe_crlf/checksafe becomes int conv_flags
312
- (this branch is used by ls/checkout-encoding.)
231
+* jk/test-hashmap-updates (2018-02-14) 6 commits
232
+ (merged to 'next' on 2018-02-14 at a61a9bd8f0)
233
+ + test-hashmap: use "unsigned int" for hash storage
234
+ + test-hashmap: simplify alloc_test_entry
235
+ + test-hashmap: use strbuf_getline rather than fgets
236
+ + test-hashmap: use xsnprintf rather than snprintf
237
+ + test-hashmap: check allocation computation for overflow
238
+ + test-hashmap: use ALLOC_ARRAY rather than bare malloc
239
240
Code clean-up.
241
316
-
317
-* tg/split-index-fixes (2018-01-19) 3 commits
318
- (merged to 'next' on 2018-02-07 at 52d7a92ec5)
319
- + travis: run tests with GIT_TEST_SPLIT_INDEX
320
- + split-index: don't write cache tree with null oid entries
321
- + read-cache: fix reading the shared index for other repos
322
-
323
- The split-index mode had a few corner case bugs fixed.
324
-
325
-
326
-* tz/doc-show-defaults-to-head (2018-01-30) 1 commit
327
- (merged to 'next' on 2018-02-07 at fa21fb2ec8)
328
- + doc: mention 'git show' defaults to HEAD
329
-
330
- Doc update.
331
-
332
---------------------------------------------------
333
-[New Topics]
334
-
335
-* bp/name-hash-dirname-fix (2018-02-08) 1 commit
336
- - name-hash: properly fold directory names in adjust_dirname_case()
337
-
338
- "git add" files in the same directory, but spelling the directory
339
- path in different cases on case insensitive filesystem, corrupted
340
- the name hash data structure and led to unexpected results. This
341
- has been corrected.
342
-
343
- Will merge to 'next'.
242
+ Will merge to 'master'.
243
244
346
-* jk/doc-do-not-write-extern (2018-02-08) 1 commit
347
- - CodingGuidelines: mention "static" and "extern"
245
+* nd/am-quit (2018-02-14) 1 commit
246
+ (merged to 'next' on 2018-02-21 at 9a9cb40c2f)
247
+ + am: support --quit
248
349
- Devdoc update.
249
+ "git am" has learned "--quit" option, in addition to the existing
250
+ "--abort" option; having the pair mirrors a few other commands like
251
+ "rebase" and "cherry-pick".
252
351
- Will merge to 'next'.
253
+ Will merge to 'master'.
254
255
354
-* jk/gettext-poison (2018-02-08) 2 commits
355
- - git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
356
- - t0205: drop redundant test
256
+* nd/tilde-expand-opt-file-value (2018-02-14) 2 commits
257
+ - init-db: change --template type to OPTION_FILENAME
258
+ - parse-options: expand $HOME on filename options
259
358
- Test updates.
260
+ "git cmd --opt=~u/path/to/file" did not tilde-expand "~u" part to
261
+ the path to the home directory of user 'u'
262
360
- Will merge to 'next'.
263
+ Will discard.
264
+ This may make the resulting whole more confusing, though.
265
+ cf. <87wozffavp.fsf@evledraar.gmail.com>
266
267
363
-* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit
364
- - rebase -p: fix incorrect commit message when calling `git merge`.
268
+* rd/typofix (2018-02-14) 2 commits
269
+ (merged to 'next' on 2018-02-14 at e770601de4)
270
+ + Correct mispellings of ".gitmodule" to ".gitmodules"
271
+ + t/: correct obvious typo "detahced"
272
366
- "git rebase -p" mangled log messages of a merge commit, which is
367
- now fixed.
273
+ Typofix.
274
369
- Will merge to 'next'.
275
+ Will merge to 'master'.
276
277
372
-* js/packet-read-line-check-null (2018-02-08) 2 commits
373
- - always check for NULL return from packet_read_line()
374
- - correct error messages for NULL packet_read_line()
278
+* jc/allow-ff-merging-kept-tags (2018-02-16) 1 commit
279
+ - merge: allow fast-forward when merging a tracked tag
280
376
- Some low level protocol codepath could crash when they get an
377
- unexpected flush packet, which is now fixed.
281
+ Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
282
+ the side branch being merged is a descendant of the current commit,
283
+ create a merge commit instead of fast-forwarding) when merging a
284
+ tag object. This was appropriate default for integrators who pull
285
+ signed tags from their downstream contributors, but caused an
286
+ unnecessary merges when used by downstream contributors who
287
+ habitually "catch up" their topic branches with tagged releases
288
+ from the upstream. Update "git merge" to default to --no-ff only
289
+ when merging a tag object that does *not* sit at its usual place in
290
+ refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
291
+ mitigate the problem.
292
293
Will merge to 'next'.
294
295
382
-* sb/color-h-cleanup (2018-02-13) 1 commit
383
- - color.h: document and modernize header
384
- (this branch is used by sb/blame-color.)
296
+* ab/perl-fixes (2018-02-15) 2 commits
297
+ - perl: move CPAN loader wrappers to another namespace
298
+ - perl: *.pm files should not have the executable bit
299
386
- Devdoc update.
300
+ Only the first few of a series of several small patches.
301
388
- Will merge to 'next'.
302
+ Expecting a reroll.
303
304
391
-* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits
392
- - update-index doc: note the caveat with "could not open..."
393
- - update-index doc: note a fixed bug in the untracked cache
394
- (this branch uses nd/fix-untracked-cache-invalidation.)
305
+* ab/simplify-perl-makefile (2018-02-15) 1 commit
306
+ - Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets
307
396
- Doc update to warn against remaining bugs in untracked cache.
308
+ Hotfix for a topic already in 'master'.
309
310
Will merge to 'next'.
311
312
401
-* as/ll-i18n (2018-02-13) 1 commit
402
- - Mark messages for translations
313
+* es/worktree-add-post-checkout-hook (2018-02-15) 1 commit
314
+ (merged to 'next' on 2018-02-21 at 6ef6a130bf)
315
+ + worktree: add: fix 'post-checkout' not knowing new worktree location
316
404
- Some messages in low level start-up codepath have been i18n-ized.
317
+ "git worktree add" learned to run the post-checkout hook, just like
318
+ "git clone" runs it upon the initial checkout.
319
406
- Will merge to 'next'.
320
+ Will merge to 'master'.
321
322
409
-* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit
410
- - docs/interpret-trailers: fix agreement error
323
+* sb/status-doc-fix (2018-02-15) 1 commit
324
+ (merged to 'next' on 2018-02-21 at 5e68f3dac8)
325
+ + Documentation/git-status: clarify status table for porcelain mode
326
327
Docfix.
328
414
- Will merge to 'next'.
329
+ Will merge to 'master'.
330
331
417
-* jk/t0002-simplify (2018-02-12) 1 commit
418
- - t0002: simplify error checking
332
+* tk/apply-dev-null-verify-name-fix (2018-02-15) 2 commits
333
+ (merged to 'next' on 2018-02-21 at dab449203b)
334
+ + apply: handle Subversion diffs with /dev/null gracefully
335
+ + apply: demonstrate a problem applying svn diffs
336
420
- Code cleanup.
337
+ Many places in "git apply" knew that "/dev/null" that signals
338
+ "there is no such file on this side of the diff" can be followed by
339
+ whitespace and garbage when parsing a patch, except for one, which
340
+ made an otherwise valid patch (e.g. ones from subversion) rejected.
341
422
- Will merge to 'next'.
342
+ Will merge to 'master'.
343
344
425
-* ma/config-page-only-in-list-mode (2018-02-12) 3 commits
426
- - config: change default of `pager.config` to "on"
427
- - config: respect `pager.config` in list/get-mode only
428
- - t7006: add tests for how git config paginates
345
+* gs/test-unset-xdg-cache-home (2018-02-16) 1 commit
346
+ (merged to 'next' on 2018-02-21 at 9aec46d404)
347
+ + test-lib.sh: unset XDG_CACHE_HOME
348
430
- In a way similar to how "git tag" learned to honor the pager
431
- setting only in the list mode, "git config" learned to ignore the
432
- pager setting when it is used for setting values (i.e. when the
433
- purpose of the operation is not to "show").
349
+ Test update.
350
435
- Waiting for discussion to conclude.
351
+ Will merge to 'master'.
352
353
438
-* ot/cat-batch-format (2018-02-12) 23 commits
439
- - cat-file: update of docs
440
- - cat-file: tests for new atoms added
441
- - for-each-ref: tests for new atoms added
442
- - ref-filter: unifying formatting of cat-file opts
443
- - ref-filter: make populate_value() internal again
444
- - cat-file: reuse printing logic from ref-filter
445
- - ref-filter: make valid_atom general again
446
- - ref-filter: make cat_file_info independent
447
- - cat-file: move skip_object_info into ref-filter
448
- - ref_filter: add is_atom_used function
449
- - ref-filter: get rid of mark_atom_in_object_info()
450
- - cat-file: start reusing populate_value()
451
- - ref-filter: rename field in ref_array_item stuct
452
- - ref-filter: make populate_value() global
453
- - cat-file: start use ref_array_item struct
454
- - ref-filter: reuse parse_ref_filter_atom()
455
- - cat-file: start migrating formatting to ref-filter
456
- - cat-file: split expand_atom() into 2 functions
457
- - cat-file: move struct expand_data into ref-filter
458
- - ref-filter: make valid_atom as function parameter
459
- - cat-file: reuse struct ref_format
460
- - ref-filter: add return value to some functions
461
- - ref-filter: get rid of goto
462
-
463
- Teach "cat-file --batch" to reuse the formatting machinery shared
464
- by for-each-ref, branch --list, and tag --list.
354
+* tg/worktree-create-tracking (2018-02-16) 2 commits
355
+ (merged to 'next' on 2018-02-21 at 3e00a10cd8)
356
+ + git-worktree.txt: fix indentation of example and text of 'add' command
357
+ + git-worktree.txt: fix missing ")" typo
358
359
+ Hotfix for a recent topic.
360
467
-* rj/sparse-updates (2018-02-12) 2 commits
468
- - Makefile: suppress a sparse warning for pack-revindex.c
469
- - config.mak.uname: remove SPARSE_FLAGS setting for cygwin
361
+ Will merge to 'master'.
362
471
- Devtool update.
363
473
- Will merge to 'next'.
364
+* jk/push-options-via-transport-fix (2018-02-20) 2 commits
365
+ (merged to 'next' on 2018-02-21 at a037cbfa2b)
366
+ + remote-curl: unquote incoming push-options
367
+ + t5545: factor out http repository setup
368
369
+ "git push" over http transport did not unquote the push-options
370
+ correctly.
371
476
-* rs/check-ignore-multi (2018-02-12) 1 commit
477
- - check-ignore: fix mix of directories and other file types
372
+ Will merge to 'master'.
373
479
- "git check-ignore" with multiple paths got confused when one is a
480
- file and the other is a directory, which has been fixed.
374
482
- Will merge to 'next'.
375
+* tz/do-not-clean-spec-file (2018-02-17) 1 commit
376
+ (merged to 'next' on 2018-02-21 at c1336418a8)
377
+ + Makefile: remove *.spec from clean target
378
379
+ We no longer create any *.spec file, so "make clean" should not
380
+ remove it.
381
485
-* sb/describe-blob (2018-02-12) 1 commit
486
- - describe: confirm that blobs actually exist
382
+ Will merge to 'master'.
383
488
- "git describe $garbage" stopped giving any errors when the garbage
489
- happens to be a string with 40 hexadecimal letters.
384
491
- Will merge to 'next'.
385
+* bw/doc-submodule-recurse-config-with-clone (2018-02-21) 1 commit
386
+ - submodule: indicate that 'submodule.recurse' doesn't apply to clone
387
388
+ Doc update.
389
494
-* sg/doc-test-must-fail-args (2018-02-12) 1 commit
495
- - t: document 'test_must_fail ok=<signal-name>'
390
+ Will merge to 'next'.
391
497
- Devdoc update.
392
499
- Will merge to 'next'.
393
+* ds/commit-graph (2018-02-20) 13 commits
394
+ - commit-graph: build graph from starting commits
395
+ - commit-graph: read only from specific pack-indexes
396
+ - commit: integrate commit graph with commit parsing
397
+ - commit-graph: close under reachability
398
+ - commit-graph: add core.commitGraph setting
399
+ - commit-graph: implement --delete-expired
400
+ - commit-graph: implement --set-latest
401
+ - commit-graph: implement git commit-graph read
402
+ - commit-graph: implement 'git-commit-graph write'
403
+ - commit-graph: implement write_commit_graph()
404
+ - commit-graph: create git-commit-graph builtin
405
+ - graph: add commit graph design document
406
+ - commit-graph: add format document
407
+ (this branch uses jt/binsearch-with-fanout.)
408
+
409
+
410
+* ot/ref-filter-cleanup (2018-02-21) 2 commits
411
+ - ref-filter: get rid of goto
412
+ - ref-filter: get rid of duplicate code
413
414
+--------------------------------------------------
415
+[Stalled]
416
502
-* sg/t6300-modernize (2018-02-13) 1 commit
503
- - t6300-for-each-ref: fix "more than one quoting style" tests
417
+* np/send-email-header-parsing (2017-12-15) 1 commit
418
+ - send-email: extract email-parsing code into a subroutine
419
505
- Test update.
420
+ Code refactoring.
421
507
- WIll merge to 'next'.
422
+ Undecided but inclined to drop. A "refactor" without the code that
423
+ benefit from the refactoring is hard to tell from code churn whose
424
+ only effect is potential to introduce bugs.
425
426
510
-* xz/send-email-batch-size (2018-02-12) 1 commit
511
- - send-email: error out when relogin delay is missing
427
+* sg/travis-build-during-script-phase (2018-01-08) 1 commit
428
+ - travis-ci: build Git during the 'script' phase
429
513
- "git send-email" learned to complain when the batch-size option is
514
- not defined when the relogin-delay option is, since these two are
515
- mutually required.
430
+ So... what do we want to do with this thing?
431
432
518
-* pw/add-p-recount (2018-02-13) 4 commits
519
- - add -p: calculate offset delta for edited patches
520
- - add -p: adjust offsets of subsequent hunks when one is skipped
521
- - t3701: add failing test for pathological context lines
522
- - add -i: add function to format hunk header
433
+* jh/status-no-ahead-behind (2018-01-24) 4 commits
434
+ - status: support --no-ahead-behind in long format
435
+ - status: update short status to respect --no-ahead-behind
436
+ - status: add --[no-]ahead-behind to status and commit for V2 format.
437
+ - stat_tracking_info: return +1 when branches not equal
438
439
+ "git status" can spend a lot of cycles to compute the relation
440
+ between the current branch and its upstream, which can now be
441
+ disabled with "--no-ahead-behind" option.
442
525
-* pw/add-p-single (2018-02-13) 3 commits
526
- - add -p: improve error messages
527
- - add -p: only bind search key if there's more than one hunk
528
- - add -p: only display help for active keys
443
+ At v5; is this ready for 'next'?
444
530
---------------------------------------------------
531
-[Stalled]
445
446
* av/fsmonitor-updates (2018-01-04) 6 commits
447
- fsmonitor: use fsmonitor data in `git diff`
@@ -669,26 +582,238 @@ of the repositories listed at
582
--------------------------------------------------
583
[Cooking]
584
672
-* bc/hash-algo (2018-02-09) 13 commits
673
- (merged to 'next' on 2018-02-09 at 4437f3f132)
674
- + hash: update obsolete reference to SHA1_HEADER
675
- (merged to 'next' on 2018-02-08 at 18f36d12ed)
676
- + bulk-checkin: abstract SHA-1 usage
677
- + csum-file: abstract uses of SHA-1
678
- + csum-file: rename sha1file to hashfile
679
- + read-cache: abstract away uses of SHA-1
680
- + pack-write: switch various SHA-1 values to abstract forms
681
- + pack-check: convert various uses of SHA-1 to abstract forms
682
- + fast-import: switch various uses of SHA-1 to the_hash_algo
683
- + sha1_file: switch uses of SHA-1 to the_hash_algo
684
- + builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo
685
- + builtin/index-pack: improve hash function abstraction
686
- + hash: create union for hash context allocation
687
- + hash: move SHA-1 macros to hash.h
585
+* bp/name-hash-dirname-fix (2018-02-08) 1 commit
586
+ (merged to 'next' on 2018-02-14 at 2f564fb4b3)
587
+ + name-hash: properly fold directory names in adjust_dirname_case()
588
+
589
+ "git add" files in the same directory, but spelling the directory
590
+ path in different cases on case insensitive filesystem, corrupted
591
+ the name hash data structure and led to unexpected results. This
592
+ has been corrected.
593
+
594
+ Will merge to 'master'.
595
+
596
+
597
+* jk/doc-do-not-write-extern (2018-02-08) 1 commit
598
+ (merged to 'next' on 2018-02-14 at e55b5127de)
599
+ + CodingGuidelines: mention "static" and "extern"
600
+
601
+ Devdoc update.
602
+
603
+ Will merge to 'master'.
604
+
605
+
606
+* jk/gettext-poison (2018-02-08) 2 commits
607
+ (merged to 'next' on 2018-02-14 at cca3719a59)
608
+ + git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
609
+ + t0205: drop redundant test
610
+
611
+ Test updates.
612
+
613
+ Will merge to 'master'.
614
+
615
+
616
+* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit
617
+ (merged to 'next' on 2018-02-14 at 27ebf001a1)
618
+ + rebase -p: fix incorrect commit message when calling `git merge`.
619
+
620
+ "git rebase -p" mangled log messages of a merge commit, which is
621
+ now fixed.
622
+
623
+ Will merge to 'master'.
624
+
625
+
626
+* js/packet-read-line-check-null (2018-02-08) 2 commits
627
+ (merged to 'next' on 2018-02-14 at 6ba237b284)
628
+ + always check for NULL return from packet_read_line()
629
+ + correct error messages for NULL packet_read_line()
630
+
631
+ Some low level protocol codepath could crash when they get an
632
+ unexpected flush packet, which is now fixed.
633
+
634
+ Will merge to 'master'.
635
+
636
+
637
+* sb/color-h-cleanup (2018-02-13) 1 commit
638
+ - color.h: document and modernize header
639
+ (this branch is used by sb/blame-color.)
640
+
641
+ Devdoc update.
642
+
643
+ Will merge to 'next'.
644
+
645
+
646
+* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits
647
+ (merged to 'next' on 2018-02-14 at 11d2d07c4a)
648
+ + update-index doc: note the caveat with "could not open..."
649
+ + update-index doc: note a fixed bug in the untracked cache
650
+ (this branch uses nd/fix-untracked-cache-invalidation.)
651
+
652
+ Doc update to warn against remaining bugs in untracked cache.
653
+
654
+ Will merge to 'master'.
655
+
656
+
657
+* as/ll-i18n (2018-02-13) 1 commit
658
+ (merged to 'next' on 2018-02-14 at b30154a04c)
659
+ + Mark messages for translations
660
+
661
+ Some messages in low level start-up codepath have been i18n-ized.
662
+
663
+ Will merge to 'master'.
664
+
665
+
666
+* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit
667
+ (merged to 'next' on 2018-02-14 at 940e6dc7a5)
668
+ + docs/interpret-trailers: fix agreement error
669
+
670
+ Docfix.
671
+
672
+ Will merge to 'master'.
673
+
674
+
675
+* jk/t0002-simplify (2018-02-12) 1 commit
676
+ (merged to 'next' on 2018-02-14 at a7a24f5f29)
677
+ + t0002: simplify error checking
678
+
679
+ Code cleanup.
680
+
681
+ Will merge to 'master'.
682
+
683
+
684
+* ma/config-page-only-in-list-mode (2018-02-21) 3 commits
685
+ - config: change default of `pager.config` to "on"
686
+ - config: respect `pager.config` in list/get-mode only
687
+ - t7006: add tests for how git config paginates
688
+
689
+ In a way similar to how "git tag" learned to honor the pager
690
+ setting only in the list mode, "git config" learned to ignore the
691
+ pager setting when it is used for setting values (i.e. when the
692
+ purpose of the operation is not to "show").
693
+
694
+ Waiting for discussion to conclude.
695
+
696
+
697
+* ot/cat-batch-format (2018-02-12) 23 commits
698
+ - cat-file: update of docs
699
+ - cat-file: tests for new atoms added
700
+ - for-each-ref: tests for new atoms added
701
+ - ref-filter: unifying formatting of cat-file opts
702
+ - ref-filter: make populate_value() internal again
703
+ - cat-file: reuse printing logic from ref-filter
704
+ - ref-filter: make valid_atom general again
705
+ - ref-filter: make cat_file_info independent
706
+ - cat-file: move skip_object_info into ref-filter
707
+ - ref_filter: add is_atom_used function
708
+ - ref-filter: get rid of mark_atom_in_object_info()
709
+ - cat-file: start reusing populate_value()
710
+ - ref-filter: rename field in ref_array_item stuct
711
+ - ref-filter: make populate_value() global
712
+ - cat-file: start use ref_array_item struct
713
+ - ref-filter: reuse parse_ref_filter_atom()
714
+ - cat-file: start migrating formatting to ref-filter
715
+ - cat-file: split expand_atom() into 2 functions
716
+ - cat-file: move struct expand_data into ref-filter
717
+ - ref-filter: make valid_atom as function parameter
718
+ - cat-file: reuse struct ref_format
719
+ - ref-filter: add return value to some functions
720
+ - ref-filter: get rid of goto
721
+
722
+ Teach "cat-file --batch" to reuse the formatting machinery shared
723
+ by for-each-ref, branch --list, and tag --list.
724
+
725
+ Allocates flex-array on stack, etc.
726
+ cf. <58b2bdcd-d621-fd21-ab4d-6a9478319b19@ramsayjones.plus.com>
727
+
728
+
729
+* rj/sparse-updates (2018-02-12) 2 commits
730
+ (merged to 'next' on 2018-02-14 at 072df8ed5b)
731
+ + Makefile: suppress a sparse warning for pack-revindex.c
732
+ + config.mak.uname: remove SPARSE_FLAGS setting for cygwin
733
+
734
+ Devtool update.
735
+
736
+ Will merge to 'master'.
737
+
738
+
739
+* rs/check-ignore-multi (2018-02-12) 1 commit
740
+ (merged to 'next' on 2018-02-14 at 43cb0704af)
741
+ + check-ignore: fix mix of directories and other file types
742
+
743
+ "git check-ignore" with multiple paths got confused when one is a
744
+ file and the other is a directory, which has been fixed.
745
+
746
+ Will merge to 'master'.
747
+
748
+
749
+* sb/describe-blob (2018-02-12) 1 commit
750
+ (merged to 'next' on 2018-02-14 at 23e4c13944)
751
+ + describe: confirm that blobs actually exist
752
+
753
+ "git describe $garbage" stopped giving any errors when the garbage
754
+ happens to be a string with 40 hexadecimal letters.
755
+
756
+ Will merge to 'master'.
757
+
758
+
759
+* sg/doc-test-must-fail-args (2018-02-12) 1 commit
760
+ (merged to 'next' on 2018-02-14 at 28662d145b)
761
+ + t: document 'test_must_fail ok=<signal-name>'
762
+
763
+ Devdoc update.
764
+
765
+ Will merge to 'master'.
766
+
767
+
768
+* sg/t6300-modernize (2018-02-13) 1 commit
769
+ - t6300-for-each-ref: fix "more than one quoting style" tests
770
+
771
+ Test update.
772
+
773
+ Will merge to 'next'.
774
+
775
+
776
+* xz/send-email-batch-size (2018-02-12) 1 commit
777
+ - send-email: error out when relogin delay is missing
778
+
779
+ "git send-email" learned to complain when the batch-size option is
780
+ not defined when the relogin-delay option is, since these two are
781
+ mutually required.
782
+
783
+ Will merge to 'next'.
784
+
785
+
786
+* pw/add-p-recount (2018-02-20) 9 commits
787
+ - add -p: don't rely on apply's '--recount' option
788
+ - add -p: fix counting when splitting and coalescing
789
+ - add -p: calculate offset delta for edited patches
790
+ - add -p: adjust offsets of subsequent hunks when one is skipped
791
+ - t3701: add failing test for pathological context lines
792
+ - t3701: don't hard code sha1 hash values
793
+ - t3701: use test_write_lines and write_script
794
+ - t3701: indent here documents
795
+ - add -i: add function to format hunk header
796
689
- More abstraction of hash function from the codepath.
797
+ "git add -p" has been lazy in coalescing split patches before
798
+ passing the result to underlying "git apply", leading to corner
799
+ case bugs; the logic to prepare the patch to be applied after hunk
800
+ selections has been tightened.
801
691
- Will merge to 'master'.
802
+ Will merge to 'next'.
803
+
804
+
805
+* pw/add-p-single (2018-02-13) 3 commits
806
+ - add -p: improve error messages
807
+ - add -p: only bind search key if there's more than one hunk
808
+ - add -p: only display help for active keys
809
+
810
+ "git add -p" used to offer "/" (look for a matching hunk) as a
811
+ choice, even there was only one hunk, which has been corrected.
812
+ Also the single-key help is now given only for keys that are
813
+ enabled (e.g. help for '/' won't be shown when there is only one
814
+ hunk).
815
+
816
+ Will merge to 'next'.
817
818
819
* bp/untracked-cache-noflush (2018-02-05) 1 commit
@@ -702,55 +827,26 @@ of the repositories listed at
827
cf. <CACsJy8DLP=j-h3knwX9zOpejAfUbv1YJwfB-iw4476oy0hTfxg@mail.gmail.com>
828
829
705
-* cc/perf-aggregate (2018-02-02) 3 commits
706
- (merged to 'next' on 2018-02-08 at d8f074e6fb)
707
- + perf/aggregate: sort JSON fields in output
708
- + perf/aggregate: add --reponame option
709
- + perf/aggregate: add --subsection option
710
-
711
- "make perf" enhancement.
712
-
713
- Will merge to 'master'.
714
-
715
-
716
-* gs/rebase-allow-empty-message (2018-02-07) 1 commit
717
- (merged to 'next' on 2018-02-08 at 9d81a2496c)
718
- + rebase: add --allow-empty-message option
719
-
720
- "git rebase" learned to take "--allow-empty-message" option.
721
-
722
- Will merge to 'master'.
723
-
724
-
830
* jc/blame-missing-path (2018-02-07) 1 commit
726
- - blame: tighten command line parser
831
+ (merged to 'next' on 2018-02-14 at 883d266e1e)
832
+ + blame: tighten command line parser
833
834
"git blame HEAD COPYING" in a bare repository failed to run, while
729
- "git blame HEAD -- COPYING" run just fine.
835
+ "git blame HEAD -- COPYING" run just fine. This has been corrected.
836
731
- Will merge to 'next'.
837
+ Will merge to 'master'.
838
839
734
-* jt/binsearch-with-fanout (2018-02-02) 2 commits
735
- (merged to 'next' on 2018-02-08 at 86fc3e8104)
840
+* jt/binsearch-with-fanout (2018-02-15) 2 commits
841
+ (merged to 'next' on 2018-02-15 at 7648891022)
842
+ packfile: refactor hash search with fanout table
843
+ packfile: remove GIT_DEBUG_LOOKUP log statements
844
+ (this branch is used by ds/commit-graph.)
845
846
Refactor the code to binary search starting from a fan-out table
847
(which is how the packfile is indexed with object names) into a
848
reusable helper.
849
743
- cf. <cfbde137-dbac-8796-f49f-2a543303d33a@web.de>
744
-
745
-
746
-* lw/daemon-log-destination (2018-02-05) 1 commit
747
- (merged to 'next' on 2018-02-08 at da91bd56f4)
748
- + daemon: add --log-destination=(stderr|syslog|none)
749
-
750
- The log from "git daemon" can be redirected with a new option; one
751
- relevant use case is to send the log to standard error (instead of
752
- syslog) when running it from inetd.
753
-
850
Will merge to 'master'.
851
852
@@ -761,8 +857,7 @@ of the repositories listed at
857
Waiting for the discussion to finish.
858
859
764
-* nd/parseopt-completion (2018-02-09) 42 commits
765
- - git-completion.bash: add GIT_COMPLETION_OPTIONS=all config
860
+* nd/parseopt-completion (2018-02-09) 41 commits
861
- completion: use __gitcomp_builtin in _git_worktree
862
- completion: use __gitcomp_builtin in _git_tag
863
- completion: use __gitcomp_builtin in _git_status
@@ -805,15 +900,10 @@ of the repositories listed at
900
- parse-options: add OPT_xxx_F() variants
901
- parse-options: support --git-completion-helper
902
808
- Will see another reroll.
809
- cf. <CACsJy8BoPxbt=hqAd9fS7MLiF33FVtAk0=Fr_q7UgYy1YvEg0w@mail.gmail.com>
810
-
903
+ Teach parse-options API an option to help the completion script,
904
+ and make use of the mechanism in command line completion.
905
812
-* nd/trace-index-ops (2018-02-02) 1 commit
813
- (merged to 'next' on 2018-02-08 at 91e362b26a)
814
- + trace: measure where the time is spent in the index-heavy operations
815
-
816
- Will merge to 'master'.
906
+ Will merge to 'next'.
907
908
909
* pc/submodule-helper-foreach (2018-02-02) 5 commits
@@ -823,27 +913,8 @@ of the repositories listed at
913
- submodule foreach: document '$sm_path' instead of '$path'
914
- submodule foreach: correct '$path' in nested submodules from a subdirectory
915
826
- Waiting for the discussion to finish.
827
- cf. <20180206150044.1bffbb573c088d38c8e44bf5@google.com>
828
-
829
-
830
-* rs/cocci-strbuf-addf-to-addstr (2018-02-02) 1 commit
831
- (merged to 'next' on 2018-02-08 at 0016008a97)
832
- + cocci: simplify check for trivial format strings
833
-
834
- Will merge to 'master'.
835
-
836
-
837
-* tg/reset-hard-show-head-with-pretty (2018-02-02) 1 commit
838
- (merged to 'next' on 2018-02-08 at 596a4ec00d)
839
- + reset --hard: make use of the pretty machinery
840
-
841
- The way "git reset --hard" reports the commit the updated HEAD
842
- points at is made consistent with the way how the commit title is
843
- generated by the other parts of the system. This matters when the
844
- title is spread across physically multiple lines.
845
-
846
- Will merge to 'master'.
916
+ Expecting a response to review comments
917
+ e.g. cf. <20180206150044.1bffbb573c088d38c8e44bf5@google.com>
918
919
920
* tg/worktree-add-existing-branch (2018-02-05) 3 commits
@@ -863,11 +934,19 @@ of the repositories listed at
934
* nm/tag-edit (2018-02-07) 1 commit
935
- tag: add --edit option
936
937
+ "git tag" learned an explicit "--edit" option that allows the
938
+ message given via "-m" and "-F" to be further edited.
939
+
940
+ Will merge to 'next'.
941
942
* sm/mv-dry-run-update (2018-02-07) 2 commits
943
- mv: remove unneeded 'if (!show_only)'
944
- t7001: add test case for --dry-run
945
946
+ Code clean-up.
947
+
948
+ Will merge to 'next'.
949
+
950
951
* ab/fetch-prune (2018-02-09) 17 commits
952
- fetch: make the --prune-tags work with <url>
@@ -893,66 +972,8 @@ of the repositories listed at
972
rid of stale tags that are locally held.
973
974
896
-* po/object-id (2018-01-30) 12 commits
897
- (merged to 'next' on 2018-02-08 at 701311e8ea)
898
- + sha1_file: rename hash_sha1_file_literally
899
- + sha1_file: convert write_loose_object to object_id
900
- + sha1_file: convert force_object_loose to object_id
901
- + sha1_file: convert write_sha1_file to object_id
902
- + notes: convert write_notes_tree to object_id
903
- + notes: convert combine_notes_* to object_id
904
- + commit: convert commit_tree* to object_id
905
- + match-trees: convert splice_tree to object_id
906
- + cache: clear whole hash buffer with oidclr
907
- + sha1_file: convert hash_sha1_file to object_id
908
- + dir: convert struct sha1_stat to use object_id
909
- + sha1_file: convert pretend_sha1_file to object_id
910
-
911
- Conversion from uchar[20] to struct object_id continues.
912
-
913
- Will merge to 'master'.
914
-
915
-
916
-* nd/format-patch-stat-width (2018-02-02) 2 commits
917
- (merged to 'next' on 2018-02-08 at c03e8a084e)
918
- + format-patch: reduce patch diffstat width to 72
919
- + format-patch: keep cover-letter diffstat wrapped in 72 columns
920
-
921
- "git format-patch" learned to give 72-cols to diffstat, which is
922
- consistent with other line length limits the subcommand uses for
923
- its output meant for e-mails.
924
-
925
- Will merge to 'master'.
926
-
927
-
928
-* sb/pull-rebase-submodule (2018-01-25) 1 commit
929
- (merged to 'next' on 2018-02-08 at 38fa97f855)
930
- + builtin/pull: respect verbosity settings in submodules
931
-
932
- "git pull --rebase" did not pass verbosity setting down when
933
- recursing into a submodule.
934
-
935
- Will merge to 'master'.
936
-
937
-
938
-* sg/test-i18ngrep (2018-02-08) 9 commits
939
- (merged to 'next' on 2018-02-08 at e83eb33909)
940
- + t: make 'test_i18ngrep' more informative on failure
941
- + t: validate 'test_i18ngrep's parameters
942
- + t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
943
- + t5536: let 'test_i18ngrep' read the file without redirection
944
- + t5510: consolidate 'grep' and 'test_i18ngrep' patterns
945
- + t4001: don't run 'git status' upstream of a pipe
946
- + t6022: don't run 'git merge' upstream of a pipe
947
- + t5812: add 'test_i18ngrep's missing filename parameter
948
- + t5541: add 'test_i18ngrep's missing filename parameter
949
-
950
- Test fixes.
951
-
952
- Will merge to 'master'.
953
-
954
-
955
-* bw/c-plus-plus (2018-01-30) 37 commits
975
+* bw/c-plus-plus (2018-02-14) 38 commits
976
+ - fixup! diff: rename 'this' variables
977
- replace: rename 'new' variables
978
- trailer: rename 'template' variables
979
- tempfile: rename 'template' variables
@@ -991,24 +1012,13 @@ of the repositories listed at
1012
- object: rename function 'typename' to 'type_name'
1013
- object_info: change member name from 'typename' to 'type_name'
1014
994
- I do not mind refraining from using these keywords in a foreign
995
- language in our codebase too much, but at the same time, renaming
996
- must be done a bit more thoughtfully. When the original uses 'new'
997
- together with and in contrast to 'old', renaming 'new' must be done
998
- while preserving the pairing (which may involve renaming 'old' as
999
- well), for example.
1000
-
1001
- Backburnered, i.e. will drop if other topics start to conflict with
1002
- it, but will accept rerolls.
1003
-
1004
-
1005
-* nd/ignore-glob-doc-update (2018-02-02) 1 commit
1006
- (merged to 'next' on 2018-02-08 at 22ba92e49b)
1007
- + gitignore.txt: elaborate shell glob syntax
1008
-
1009
- Doc update.
1015
+ Avoid using identifiers that clash with C++ keywords. Even though
1016
+ it is not a goal to compile Git with C++ compilers, changes like
1017
+ this help use of code analysis tools that targets C++ on our
1018
+ codebase.
1019
1011
- Will merge to 'master'.
1020
+ Is the 'fixup!' cleanly squashable to the problematic one, or does
1021
+ this series require another reroll to get it in a good enough shape?
1022
1023
1024
* nd/rebase-show-current-patch (2018-02-12) 3 commits
@@ -1020,18 +1030,7 @@ of the repositories listed at
1030
to get the diff being applied when "git rebase" (and "git am")
1031
stops with a conflict.
1032
1023
-
1024
-* jh/status-no-ahead-behind (2018-01-24) 4 commits
1025
- - status: support --no-ahead-behind in long format
1026
- - status: update short status to respect --no-ahead-behind
1027
- - status: add --[no-]ahead-behind to status and commit for V2 format.
1028
- - stat_tracking_info: return +1 when branches not equal
1029
-
1030
- "git status" can spend a lot of cycles to compute the relation
1031
- between the current branch and its upstream, which can now be
1032
- disabled with "--no-ahead-behind" option.
1033
-
1034
- At v5; is this ready for 'next'?
1033
+ Will merge to 'next'.
1034
1035
1036
* nd/worktree-move (2018-02-12) 7 commits
@@ -1049,23 +1048,6 @@ of the repositories listed at
1048
cf. <20180124095357.19645-1-pclouds@gmail.com>
1049
1050
1052
-* kg/packed-ref-cache-fix (2018-01-24) 6 commits
1053
- (merged to 'next' on 2018-02-08 at 370f06a565)
1054
- + packed_ref_cache: don't use mmap() for small files
1055
- + load_contents(): don't try to mmap an empty file
1056
- + packed_ref_iterator_begin(): make optimization more general
1057
- + find_reference_location(): make function safe for empty snapshots
1058
- + create_snapshot(): use `xmemdupz()` rather than a strbuf
1059
- + struct snapshot: store `start` rather than `header_len`
1060
-
1061
- Avoid mmapping small files while using packed refs (especially ones
1062
- with zero size, which would cause later munmap() to fail).
1063
-
1064
- Will merge to 'master'.
1065
- A change to a binsearch loop to work around picky complers was
1066
- unnecessarily hard to reason about, but it should do.
1067
-
1068
-
1051
* cl/send-email-reply-to (2018-01-17) 2 commits
1052
- send-email: support separate "Reply-To" address
1053
- send-email: rename variables for "In-reply-to" to $foo_in_reply_to
@@ -1076,25 +1058,6 @@ of the repositories listed at
1058
cf. <CAN0heSqxmLoh33i65JPhyQbmPaAcJcwrTCO+ZD4eb+qh8Pf8+w@mail.gmail.com>
1059
1060
1079
-* en/merge-recursive-fixes (2018-01-19) 3 commits
1080
- (merged to 'next' on 2018-02-08 at c254292070)
1081
- + merge-recursive: add explanation for src_entry and dst_entry
1082
- + merge-recursive: fix logic ordering issue
1083
- + Tighten and correct a few testcases for merging and cherry-picking
1084
- (this branch is used by en/rename-directory-detection.)
1085
-
1086
- Will merge to 'master'.
1087
-
1088
-
1089
-* jc/worktree-add-short-help (2018-01-17) 1 commit
1090
- (merged to 'next' on 2018-02-08 at 9f59ca72ab)
1091
- + worktree: say that "add" takes an arbitrary commit in short-help
1092
-
1093
- Error message fix.
1094
-
1095
- Will merge to 'master'.
1096
-
1097
-
1061
* js/rebase-recreate-merge (2018-02-12) 12 commits
1062
- rebase -i: introduce --recreate-merges=[no-]rebase-cousins
1063
- pull: accept --rebase=recreate to recreate the branch topology
@@ -1112,32 +1075,7 @@ of the repositories listed at
1075
"git rebase" learned "--recreate-merges" to transplant the whole
1076
topology of commit graph elsewhere.
1077
1115
-
1116
-* jt/fsck-code-cleanup (2018-01-23) 1 commit
1117
- (merged to 'next' on 2018-02-08 at 199ad41486)
1118
- + fsck: fix leak when traversing trees
1119
-
1120
- Plug recently introduced leaks in fsck.
1121
-
1122
- Will merge to 'master'.
1123
-
1124
-
1125
-* ab/wildmatch-tests (2018-01-30) 10 commits
1126
- (merged to 'next' on 2018-02-08 at f999a3d732)
1127
- + wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
1128
- + test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
1129
- + wildmatch test: create & test files on disk in addition to in-memory
1130
- + wildmatch test: perform all tests under all wildmatch() modes
1131
- + wildmatch test: use test_must_fail, not ! for test-wildmatch
1132
- + wildmatch test: remove dead fnmatch() test code
1133
- + wildmatch test: use a paranoia pattern from nul_match()
1134
- + wildmatch test: don't try to vertically align our output
1135
- + wildmatch test: use more standard shell style
1136
- + wildmatch test: indent with tabs, not spaces
1137
-
1138
- More tests for wildmatch functions.
1139
-
1140
- Will merge to 'master'.
1078
+ Is this ready for 'next'?
1079
1080
1081
* bw/protocol-v2 (2018-02-07) 35 commits
@@ -1180,7 +1118,7 @@ of the repositories listed at
1118
The beginning of the next-gen transfer protocol.
1119
1120
1183
-* ls/checkout-encoding (2018-02-09) 7 commits
1121
+* ls/checkout-encoding (2018-02-15) 7 commits
1122
- convert: add round trip check based on 'core.checkRoundtripEncoding'
1123
- convert: add tracing for 'working-tree-encoding' attribute
1124
- convert: add 'working-tree-encoding' attribute
@@ -1193,6 +1131,11 @@ of the repositories listed at
1131
contents to the specified encoding when checking out to the working
1132
tree (and the other way around when checking in).
1133
1134
+ Expecting a reroll.
1135
+ The code and general design looked ready. The documentation needs
1136
+ to be refined to unconfuse general audience.
1137
+ cf. <xmqq1shk7o2y.fsf@gitster-ct.c.googlers.com>
1138
+
1139
1140
* sb/blame-color (2018-02-13) 3 commits
1141
- builtin/blame: highlight recently changed lines
@@ -1205,12 +1148,6 @@ of the repositories listed at
1148
error messages are funny, can segfault, ...
1149
1150
1208
-* sg/travis-build-during-script-phase (2018-01-08) 1 commit
1209
- - travis-ci: build Git during the 'script' phase
1210
-
1211
- So... what do we want to do with this thing?
1212
-
1213
-
1151
* nd/fix-untracked-cache-invalidation (2018-02-07) 5 commits
1152
(merged to 'next' on 2018-02-08 at 23bd5a5d2d)
1153
+ dir.c: ignore paths containing .git when invalidating untracked cache
@@ -1222,33 +1159,14 @@ of the repositories listed at
1159
1160
Some bugs around "untracked cache" feature have been fixed.
1161
1225
- Seems to uncover bad untracked cache information a bit too loudly.
1226
- cf. <87d11omi2o.fsf@evledraar.gmail.com>
1227
-
1228
-
1229
-* np/send-email-header-parsing (2017-12-15) 1 commit
1230
- - send-email: extract email-parsing code into a subroutine
1231
-
1232
- Code refactoring.
1233
-
1234
- Undecided but inclined to drop. A "refactor" without the code that
1235
- benefit from the refactoring is hard to tell from code churn whose
1236
- only effect is potential to introduce bugs.
1237
-
1238
-
1239
-* ab/sha1dc-build (2017-12-08) 3 commits
1240
- (merged to 'next' on 2018-02-08 at ba9ff2b836)
1241
- + sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
1242
- + Makefile: under "make dist", include the sha1collisiondetection submodule
1243
- + Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
1244
-
1245
- Push the submodule version of collision-detecting SHA-1 hash
1246
- implementation a bit harder on builders.
1247
-
1162
Will merge to 'master'.
1163
+ Seems to uncover bad untracked cache information a bit too loudly,
1164
+ for which there is ab/untracked-cache-invalidation-docs topic.
1165
+ cf. <87d11omi2o.fsf@evledraar.gmail.com>
1166
+ They have to graduate together.
1167
1168
1251
-* en/rename-directory-detection (2018-01-31) 31 commits
1169
+* en/rename-directory-detection (2018-02-14) 29 commits
1170
- merge-recursive: ensure we write updates for directory-renamed file
1171
- merge-recursive: avoid spurious rename/rename conflict from dir renames
1172
- directory rename detection: new testcases showcasing a pair of bugs
@@ -1259,11 +1177,9 @@ of the repositories listed at
1177
- merge-recursive: when comparing files, don't include trees
1178
- merge-recursive: check for file level conflicts then get new name
1179
- merge-recursive: add computation of collisions due to dir rename & merging
1262
- - merge-recursive: add a new hashmap for storing file collisions
1180
- merge-recursive: check for directory level conflicts
1181
- merge-recursive: add get_directory_renames()
1182
- merge-recursive: make a helper function for cleanup for handle_renames
1266
- - merge-recursive: add a new hashmap for storing directory renames
1183
- merge-recursive: split out code for determining diff_filepairs
1184
- merge-recursive: make !o->detect_rename codepath more obvious
1185
- merge-recursive: fix leaks of allocated renames and diff_filepairs
@@ -1280,10 +1196,13 @@ of the repositories listed at
1196
- directory rename detection: testcases to avoid taking detection too far
1197
- directory rename detection: directory splitting testcases
1198
- directory rename detection: basic testcases
1283
- (this branch uses en/merge-recursive-fixes.)
1199
1200
Rename detection logic in "diff" family that is used in "merge" has
1201
learned to guess when all of x/a, x/b and x/c have moved to z/a,
1202
z/b and z/c, it is likely that x/d added in the meantime would also
1203
want to move to z/d by taking the hint that the entire directory
1289
- 'x' moved to 'z'.
1204
+ 'x' moved to 'z'. A bug causing dirty files involved in a rename
1205
+ to be overwritten during merge has also been fixed as part of this
1206
+ work.
1207
+
1208
+ Will merge to 'next'.