What's cooking (2018/01 #04)
Junio C Hamano committed
Jan 31, 2018 at 16:55 UTC
e19a17b3f3ebbd39b4da35fe6edf96f79522a173
1 file changed
+320
-346
whats-cooking.txt
+320
-346
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jan 2018, #03; Tue, 23)
3
+Subject: What's cooking in git.git (Jan 2018, #04; Wed, 31)
4
X-master-at: 5be1f00a9a701532232f57958efab4be8c959a29
5
X-next-at: de0f0111ea2ad3a2b03a378e6272c2ee476a26ed
6
7
-What's cooking in git.git (Jan 2018, #03; Tue, 23)
7
+What's cooking in git.git (Jan 2018, #04; Wed, 31)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,9 +12,13 @@ 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
-Many topics in 'next' have been merged to 'master' while others are
16
-tentatively kicked back to 'pu', to give them a chance to be rerolled
17
-if the authors of them wish to do so.
15
+Many new topics appeared and are not yet marked with "Will do what"
16
+labels. Except for some large ones, I think most are already in
17
+good shape, but I'd want to double check by re-reading them.
18
+
19
+I am migrating my build and integration environment to a different
20
+machine; if you notice anything out of ordinary, please let me know
21
+before I decomission and reimage my usual environment ;-)
22
23
You can find the changes described here in the integration branches
24
of the repositories listed at
@@ -22,233 +26,355 @@ of the repositories listed at
26
http://git-blame.blogspot.com/p/git-public-repositories.html
27
28
--------------------------------------------------
25
-[Graduated to "master"]
29
+[New Topics]
30
27
-* ab/commit-m-with-fixup (2017-12-22) 2 commits
28
- (merged to 'next' on 2018-01-11 at 41255c464f)
29
- + commit: add support for --fixup <commit> -m"<extra message>"
30
- + commit doc: document that -c, -C, -F and --fixup with -m error
31
+* ab/fetch-prune (2018-01-24) 11 commits
32
+ - fetch: add a --fetch-prune option and fetch.pruneTags config
33
+ - fetch tests: add scaffolding for the new fetch.pruneTags
34
+ - git-fetch & config doc: link to the new PRUNING section
35
+ - git remote doc: correct dangerous lies about what prune does
36
+ - git fetch doc: add a new section to explain the ins & outs of pruning
37
+ - fetch tests: test --prune and refspec interaction
38
+ - fetch tests: add a tag to be deleted to the pruning tests
39
+ - fetch tests: re-arrange arguments for future readability
40
+ - fetch tests: refactor in preparation for testing tag pruning
41
+ - fetch: stop accessing "remote" variable indirectly
42
+ - fetch: don't redundantly NULL something calloc() gave us
43
32
- "git commit --fixup" did not allow "-m<message>" option to be used
33
- at the same time; allow it to annotate resulting commit with more
34
- text.
44
+ Clarify how configured fetch refspecs interact with the "--prune"
45
+ option of "git fetch", and also add a handy short-hand for getting
46
+ rid of stale tags that are locally held.
47
48
37
-* ab/doc-cat-file-e-still-shows-errors (2018-01-10) 1 commit
38
- (merged to 'next' on 2018-01-12 at 080bb1d397)
39
- + cat-file doc: document that -e will return some output
49
+* gs/retire-mru (2018-01-24) 1 commit
50
+ - mru: Replace mru.[ch] with list.h implementation
51
+ (this branch uses ot/mru-on-list.)
52
41
- Doc update.
53
+ Retire mru API as it does not give enough abstraction over
54
+ underlying list API to be worth it.
55
56
+ Will merge to 'next'.
57
44
-* ab/perf-grep-threads (2018-01-04) 1 commit
45
- (merged to 'next' on 2018-01-09 at 91889574fb)
46
- + perf: amend the grep tests to test grep.threads
58
48
- More perf tests for threaded grep
59
+* jc/mailinfo-cleanup-fix (2018-01-24) 1 commit
60
+ - mailinfo: avoid segfault when can't open files
61
62
+ Corner case bugfix.
63
51
-* as/read-tree-prefix-doc-fix (2018-01-09) 1 commit
52
- (merged to 'next' on 2018-01-12 at 895c72e5c3)
53
- + doc/read-tree: remove obsolete remark
64
+ Will merge to 'next'.
65
55
- Doc update.
66
67
+* po/clang-format-functype-weight (2018-01-24) 1 commit
68
+ - clang-format: adjust penalty for return type line break
69
58
-* bw/oidmap-autoinit (2017-12-27) 1 commit
59
- (merged to 'next' on 2018-01-11 at f941e013b4)
60
- + oidmap: ensure map is initialized
70
+ Prevent "clang-format" from breaking line after function return type.
71
62
- Code clean-up.
72
+ Will merge to 'next'.
73
74
65
-* cc/codespeed (2018-01-05) 7 commits
66
- (merged to 'next' on 2018-01-09 at 8578089a2b)
67
- + perf/run: read GIT_PERF_REPO_NAME from perf.repoName
68
- + perf/run: learn to send output to codespeed server
69
- + perf/run: learn about perf.codespeedOutput
70
- + perf/run: add conf_opts argument to get_var_from_env_or_config()
71
- + perf/aggregate: implement codespeed JSON output
72
- + perf/aggregate: refactor printing results
73
- + perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}
75
+* po/http-push-error-message (2018-01-24) 1 commit
76
+ - http-push: improve error log
77
75
- "perf" test output can be sent to codespeed server.
78
+ Debugging aid.
79
80
+ Will merge to 'next'.
81
78
-* dk/describe-all-output-fix (2017-12-27) 1 commit
79
- (merged to 'next' on 2017-12-28 at c6254494e3)
80
- + describe: prepend "tags/" when describing tags with embedded name
82
82
- An old regression in "git describe --all $annotated_tag^0" has been
83
- fixed.
83
+* po/object-id (2018-01-30) 12 commits
84
+ - sha1_file: rename hash_sha1_file_literally
85
+ - sha1_file: convert write_loose_object to object_id
86
+ - sha1_file: convert force_object_loose to object_id
87
+ - sha1_file: convert write_sha1_file to object_id
88
+ - notes: convert write_notes_tree to object_id
89
+ - notes: convert combine_notes_* to object_id
90
+ - commit: convert commit_tree* to object_id
91
+ - match-trees: convert splice_tree to object_id
92
+ - cache: clear whole hash buffer with oidclr
93
+ - sha1_file: convert hash_sha1_file to object_id
94
+ - dir: convert struct sha1_stat to use object_id
95
+ - sha1_file: convert pretend_sha1_file to object_id
96
97
+ Conversion from uchar[20] to struct object_id continues.
98
86
-* ew/empty-merge-with-dirty-index (2018-01-09) 1 commit
87
- (merged to 'next' on 2018-01-09 at 6bcda11248)
88
- + Merge branch 'ew/empty-merge-with-dirty-index-maint' into ew/empty-merge-with-dirty-index
89
- (this branch uses ew/empty-merge-with-dirty-index-maint.)
99
91
- "git merge -s recursive" did not correctly abort when the index is
92
- dirty, if the merged tree happened to be the same as the current
93
- HEAD, which has been fixed.
100
+* sg/travis-linux32-sanity (2018-01-30) 5 commits
101
+ - travis-ci: don't fail if user already exists on 32 bit Linux build job
102
+ - travis-ci: don't run the test suite as root in the 32 bit Linux build
103
+ - travis-ci: don't repeat the path of the cache directory
104
+ - travis-ci: use 'set -e' in the 32 bit Linux build job
105
+ - travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build
106
107
+ Will merge to 'next'.
108
96
-* jc/merge-symlink-ours-theirs (2018-01-03) 1 commit
97
- (merged to 'next' on 2018-01-05 at 63ebfc45eb)
98
- + merge: teach -Xours/-Xtheirs to symbolic link merge
109
100
- "git merge -Xours/-Xtheirs" learned to use our/their version when
101
- resolving a conflicting updates to a symbolic link.
110
+* jk/daemon-fixes (2018-01-25) 6 commits
111
+ - daemon: fix length computation in newline stripping
112
+ - t/lib-git-daemon: add network-protocol helpers
113
+ - daemon: handle NULs in extended attribute string
114
+ - daemon: fix off-by-one in logging extended attributes
115
+ - t/lib-git-daemon: record daemon log
116
+ - t5570: use ls-remote instead of clone for interp tests
117
+
118
+
119
+* jt/long-running-process-doc (2018-01-25) 1 commit
120
+ - Docs: split out long-running subprocess handshake
121
+
122
+
123
+* nd/format-patch-stat-width (2018-01-25) 2 commits
124
+ - format-patch: reduce patch diffstat width to 72
125
+ - format-patch: keep cover-letter diffstat wrapped in 72 columns
126
+
127
+
128
+* nd/list-merge-strategy (2018-01-26) 1 commit
129
+ - completion: fix completing merge strategies on non-C locales
130
+
131
+
132
+* sb/pull-rebase-submodule (2018-01-25) 1 commit
133
+ - builtin/pull: respect verbosity settings in submodules
134
+
135
+
136
+* sg/test-i18ngrep (2018-01-26) 10 commits
137
+ - t: make 'test_i18ngrep' more informative on failure
138
+ - t: make sure that 'test_i18ngrep' got enough parameters
139
+ - t: forbid piping into 'test_i18ngrep'
140
+ - t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
141
+ - t5536: let 'test_i18ngrep' read the file without redirection
142
+ - t5510: consolidate 'grep' and 'test_i18ngrep' patterns
143
+ - t4001: don't run 'git status' upstream of a pipe
144
+ - t6022: don't run 'git merge' upstream of a pipe
145
+ - t5812: add 'test_i18ngrep's missing filename parameter
146
+ - t5541: add 'test_i18ngrep's missing filename parameter
147
+
148
+
149
+* bw/c-plus-plus (2018-01-30) 37 commits
150
+ - replace: rename 'new' variables
151
+ - trailer: rename 'template' variables
152
+ - tempfile: rename 'template' variables
153
+ - wrapper: rename 'template' variables
154
+ - environment: rename 'namespace' variables
155
+ - diff: rename 'template' variables
156
+ - environment: rename 'template' variables
157
+ - init-db: rename 'template' variables
158
+ - unpack-trees: rename 'new' variables
159
+ - trailer: rename 'new' variables
160
+ - submodule: rename 'new' variables
161
+ - split-index: rename 'new' variables
162
+ - remote: rename 'new' variables
163
+ - ref-filter: rename 'new' variables
164
+ - read-cache: rename 'new' variables
165
+ - line-log: rename 'new' variables
166
+ - imap-send: rename 'new' variables
167
+ - http: rename 'new' variables
168
+ - entry: rename 'new' variables
169
+ - diffcore-delta: rename 'new' variables
170
+ - diff: rename 'new' variables
171
+ - diff-lib: rename 'new' variable
172
+ - commit: rename 'new' variables
173
+ - combine-diff: rename 'new' variables
174
+ - remote: rename 'new' variables
175
+ - reflog: rename 'new' variables
176
+ - pack-redundant: rename 'new' variables
177
+ - help: rename 'new' variables
178
+ - checkout: rename 'new' variables
179
+ - apply: rename 'new' variables
180
+ - apply: rename 'try' variables
181
+ - diff: rename 'this' variables
182
+ - rev-parse: rename 'this' variable
183
+ - pack-objects: rename 'this' variables
184
+ - blame: rename 'this' variables
185
+ - object: rename function 'typename' to 'type_name'
186
+ - object_info: change member name from 'typename' to 'type_name'
187
+
188
+
189
+* ew/svn-branch-segfault-fix (2018-01-30) 1 commit
190
+ - git-svn: control destruction order to avoid segfault
191
+
192
+ Workaround for segfault with more recent versions of SVN.
193
194
+ Will merge to 'next'.
195
104
-* jh/object-filtering (2018-01-08) 1 commit
105
- (merged to 'next' on 2018-01-11 at 56808f6969)
106
- + oidset: don't return value from oidset_init
196
108
- Hotfix for a topic already in 'master'.
197
+* tz/doc-show-defaults-to-head (2018-01-30) 1 commit
198
+ - doc: mention 'git show' defaults to HEAD
199
200
+ Doc update.
201
111
-* jk/abort-clone-with-existing-dest (2018-01-03) 4 commits
112
- (merged to 'next' on 2018-01-09 at 3c8e83c3a7)
113
- + clone: do not clean up directories we didn't create
114
- + clone: factor out dir_exists() helper
115
- + t5600: modernize style
116
- + t5600: fix outdated comment about unborn HEAD
202
+ Will merge to 'next'.
203
118
- "git clone $there $here" is allowed even when here directory exists
119
- as long as it is an empty directory, but the command incorrectly
120
- removed it upon a failure of the operation.
204
205
+* nd/ignore-glob-doc-update (2018-01-31) 1 commit
206
+ - gitignore.txt: elaborate shell glob syntax
207
123
-* jm/svn-pushmergeinfo-fix (2017-09-17) 1 commit
124
- (merged to 'next' on 2018-01-05 at 6cb237ea44)
125
- + git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames.
208
127
- "git svn dcommit" did not take into account the fact that a
128
- svn+ssh:// URL with a username@ (typically used for pushing) refers
129
- to the same SVN repository without the username@ and failed when
130
- svn.pushmergeinfo option is set.
209
+* nd/rebase-show-current-patch (2018-01-31) 3 commits
210
+ - rebase: introduce and use pseudo-ref ORIG_COMMIT
211
+ - rebase: add --show-current-patch
212
+ - am: add --show-current-patch
213
+
214
+--------------------------------------------------
215
+[Stalled]
216
+
217
+* av/fsmonitor-updates (2018-01-04) 6 commits
218
+ - fsmonitor: use fsmonitor data in `git diff`
219
+ - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
220
+ - fsmonitor: make output of test-dump-fsmonitor more concise
221
+ - fsmonitor: update helper tool, now that flags are filled later
222
+ - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
223
+ - dir.c: update comments to match argument name
224
225
+ Code clean-up on fsmonitor integration, plus optional utilization
226
+ of the fsmonitor data in diff-files.
227
133
-* js/fix-merge-arg-quoting-in-rebase-p (2018-01-05) 1 commit
134
- (merged to 'next' on 2018-01-09 at 91f5601e9c)
135
- + rebase -p: fix quoting when calling `git merge`
228
+ Waiting for an update.
229
+ cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
230
137
- "git rebase -p -X<option>" did not propagate the option properly
138
- down to underlying merge strategy backend.
231
232
+* pb/bisect-helper-2 (2017-10-28) 8 commits
233
+ - t6030: make various test to pass GETTEXT_POISON tests
234
+ - bisect--helper: `bisect_start` shell function partially in C
235
+ - bisect--helper: `get_terms` & `bisect_terms` shell function in C
236
+ - bisect--helper: `bisect_next_check` shell function in C
237
+ - bisect--helper: `check_and_set_terms` shell function in C
238
+ - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
239
+ - bisect--helper: `bisect_write` shell function in C
240
+ - bisect--helper: `bisect_reset` shell function in C
241
141
-* js/test-with-ws-in-path (2018-01-10) 1 commit
142
- (merged to 'next' on 2018-01-10 at c44db26fe4)
143
- + t3900: add some more quotes
242
+ Expecting a reroll.
243
+ cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
244
145
- Hot fix to a test.
245
246
+* dj/runtime-prefix (2017-12-05) 4 commits
247
+ . exec_cmd: RUNTIME_PREFIX on some POSIX systems
248
+ . Makefile: add Perl runtime prefix support
249
+ . Makefile: add support for "perllibdir"
250
+ . Makefile: generate Perl header from template file
251
148
-* ma/bisect-leakfix (2018-01-03) 1 commit
149
- (merged to 'next' on 2018-01-09 at 2ef8b59d1b)
150
- + bisect: fix a regression causing a segfault
252
+ A build-time option has been added to allow Git to be told to refer
253
+ to its associated files relative to the main binary, in the same
254
+ way that has been possible on Windows for quite some time, for
255
+ Linux, BSDs and Darwin.
256
152
- A hotfix for a recent update that broke 'git bisect'.
257
+ Tentatively kicked out of 'next' to see how well another topic
258
+ ab/simplify-perl-makefile that heavily conflicts with this fares.
259
260
155
-* mm/send-email-fallback-to-local-mail-address (2018-01-08) 3 commits
156
- (merged to 'next' on 2018-01-17 at dd4867706b)
157
- + send-email: add test for Linux's get_maintainer.pl
158
- + perl/Git: remove now useless email-address parsing code
159
- + send-email: add and use a local copy of Mail::Address
261
+* mk/http-backend-content-length (2017-11-27) 4 commits
262
+ - SQUASH???
263
+ - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases
264
+ - SQUASH???
265
+ - http-backend: respect CONTENT_LENGTH as specified by rfc3875
266
161
- Instead of maintaining home-grown email address parsing code, ship
162
- a copy of reasonably recent Mail::Address to be used as a fallback
163
- in 'git send-email' when the platform lacks it.
267
+ The http-backend (used for smart-http transport) used to slurp the
268
+ whole input until EOF, without paying attention to CONTENT_LENGTH
269
+ that is supplied in the environment and instead expecting the Web
270
+ server to close the input stream. This has been fixed.
271
272
+ Expecting a reroll.
273
+ Suggested fixes to be used when rerolling is queued, but I'd
274
+ prefer _not_ squashing them myself.
275
166
-* nd/add-i-ignore-submodules (2018-01-16) 1 commit
167
- (merged to 'next' on 2018-01-17 at 632401fd5a)
168
- + add--interactive: ignore submodule changes except HEAD
276
+ Also, it may be too complex solution for the problem.
277
+ cf. <20171204171308.GA13332@sigill.intra.peff.net>
278
170
- "git add -p" was taught to ignore local changes to submodules as
171
- they do not interfere with the partial addition of regular changes
172
- anyway.
279
280
+* cc/require-tcl-tk-for-build (2017-11-29) 2 commits
281
+ - travis-ci: avoid new tcl/tk build requirement
282
+ - Makefile: check that tcl/tk is installed
283
175
-* nd/ita-wt-renames-in-status (2017-12-27) 6 commits
176
- (merged to 'next' on 2017-12-28 at 7610331a11)
177
- + wt-status.c: handle worktree renames
178
- + wt-status.c: rename rename-related fields in wt_status_change_data
179
- + wt-status.c: catch unhandled diff status codes
180
- + wt-status.c: coding style fix
181
- + Use DIFF_DETECT_RENAME for detect_rename assignments
182
- + t2203: test status output with porcelain v2 format
284
+ A first-time builder of Git may have installed neither tclsh nor
285
+ msgfmt, in which case git-gui and gitk part will fail and break the
286
+ build. As a workaround, refuse to run a build when tclsh is not
287
+ installed and NO_TCLTK is not set.
288
184
- "git status" after moving a path in the working tree (hence making
185
- it appear "removed") and then adding with the -N option (hence
186
- making that appear "added") detected it as a rename, but did not
187
- report the old and new pathnames correctly.
289
+ Undecided.
290
+ I still feel that requring tclsh to be installed, with or without
291
+ "escape hatch" for experts, may be too heavy-handed.
292
293
190
-* rs/lose-leak-pending (2017-12-28) 9 commits
191
- (merged to 'next' on 2018-01-05 at 05305f7f2f)
192
- + commit: remove unused function clear_commit_marks_for_object_array()
193
- + revision: remove the unused flag leak_pending
194
- + checkout: avoid using the rev_info flag leak_pending
195
- + bundle: avoid using the rev_info flag leak_pending
196
- + bisect: avoid using the rev_info flag leak_pending
197
- + object: add clear_commit_marks_all()
198
- + ref-filter: use clear_commit_marks_many() in do_merge_filter()
199
- + commit: use clear_commit_marks_many() in remove_redundant()
200
- + commit: avoid allocation in clear_commit_marks_many()
294
+* mg/merge-base-fork-point (2017-09-17) 3 commits
295
+ - merge-base: find fork-point outside partial reflog
296
+ - merge-base: return fork-point outside reflog
297
+ - t6010: test actual test output
298
202
- API clean-up around revision traversal.
299
+ "merge-base --fork-point $branch $commit" is used to guess on which
300
+ commit among the commits that were once at the tip of the $branch the
301
+ $commit was built on top of, and it learns these historical tips from
302
+ the reflog of the $branch. When the true fork-point is lost due to
303
+ pruning of old reflog entries, the command does not give any output,
304
+ because it has no way to guess correctly and does not want to mislead
305
+ the user with a wrong guess.
306
307
+ The command has been updated to give the best but not known to be
308
+ correct guess, based on a hope that a merge-base between $commit and a
309
+ virtual merge across all the reflog entries that still are available
310
+ for $branch may still be a closer to the true fork-point than the
311
+ merge-base between $commit and the current tip of the $branch.
312
205
-* sb/diff-blobfind-pickaxe (2018-01-04) 6 commits
206
- (merged to 'next' on 2018-01-09 at 2053890477)
207
- + diff: use HAS_MULTI_BITS instead of counting bits manually
208
- + diff: properly error out when combining multiple pickaxe options
209
- + diffcore: add a pickaxe option to find a specific blob
210
- + diff: introduce DIFF_PICKAXE_KINDS_MASK
211
- + diff: migrate diff_flags.pickaxe_ignore_case to a pickaxe_opts bit
212
- + diff.h: make pickaxe_opts an unsigned bit field
313
+ This may have to be offered by an additional option, to allow the
314
+ users that are prepared to see a potentially incorrect guess to opt
315
+ into the feature, without affecting the current callers that may not
316
+ be prepared to accept a guess that is not known to be correct.
317
214
- "diff" family of commands learned "--find-object=<object-id>" option
215
- to limit the findings to changes that involve the named object.
318
+ What's the doneness of this one?
319
320
218
-* sb/submodule-update-reset-fix (2018-01-05) 4 commits
219
- (merged to 'next' on 2018-01-11 at e4e84b69a3)
220
- + submodule: submodule_move_head omits old argument in forced case
221
- + unpack-trees: oneway_merge to update submodules
222
- + t/lib-submodule-update.sh: fix test ignoring ignored files in submodules
223
- + t/lib-submodule-update.sh: clarify test
321
+* jk/drop-ancient-curl (2017-08-09) 5 commits
322
+ - http: #error on too-old curl
323
+ - curl: remove ifdef'd code never used with curl >=7.19.4
324
+ - http: drop support for curl < 7.19.4
325
+ - http: drop support for curl < 7.16.0
326
+ - http: drop support for curl < 7.11.1
327
225
- When resetting the working tree files recursively, the working tree
226
- of submodules are now also reset to match.
328
+ Some code in http.c that has bitrot is being removed.
329
330
+ Expecting a reroll.
331
229
-* tg/stash-with-pathspec-fix (2018-01-08) 1 commit
230
- (merged to 'next' on 2018-01-11 at abfaa14a7b)
231
- + stash: don't delete untracked files that match pathspec
332
233
- "git stash -- <pathspec>" incorrectly blew away untracked files in
234
- the directory that matched the pathspec, which has been corrected.
333
+* mk/use-size-t-in-zlib (2017-08-10) 1 commit
334
+ . zlib.c: use size_t for size
335
336
+ The wrapper to call into zlib followed our long tradition to use
337
+ "unsigned long" for sizes of regions in memory, which have been
338
+ updated to use "size_t".
339
237
-* tg/worktree-create-tracking (2018-01-11) 1 commit
238
- (merged to 'next' on 2018-01-11 at df6423dfc4)
239
- + Documentation/git-worktree.txt: add missing `
340
+ Needs resurrecting by making sure the fix is good and still applies
341
+ (or adjusted to today's codebase).
342
241
- Doc hotfix.
343
344
+* mg/status-in-progress-info (2017-05-10) 2 commits
345
+ - status --short --inprogress: spell it as --in-progress
346
+ - status: show in-progress info for short status
347
244
-* ys/bisect-object-id-missing-conversion-fix (2018-01-09) 1 commit
245
- (merged to 'next' on 2018-01-11 at ca330c885d)
246
- + bisect: debug: convert struct object to object_id
348
+ "git status" learns an option to report various operations
349
+ (e.g. "merging") that the user is in the middle of.
350
248
- Fix for a commented-out code to adjust it to a rather old API change.
351
+ cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
352
353
--------------------------------------------------
251
-[New Topics]
354
+[Cooking]
355
+
356
+* jh/status-no-ahead-behind (2018-01-24) 4 commits
357
+ - status: support --no-ahead-behind in long format
358
+ - status: update short status to respect --no-ahead-behind
359
+ - status: add --[no-]ahead-behind to status and commit for V2 format.
360
+ - stat_tracking_info: return +1 when branches not equal
361
+
362
+ "git status" can spend a lot of cycles to compute the relation
363
+ between the current branch and its upstream, which can now be
364
+ disabled with "--no-ahead-behind" option.
365
+
366
+
367
+* nd/worktree-move (2018-01-24) 7 commits
368
+ - worktree remove: allow it when $GIT_WORK_TREE is already gone
369
+ - worktree remove: new command
370
+ - worktree move: refuse to move worktrees with submodules
371
+ - worktree move: accept destination as directory
372
+ - worktree move: new command
373
+ - worktree.c: add update_worktree_location()
374
+ - worktree.c: add validate_worktree()
375
+
376
+ "git worktree" learned move and remove subcommands.
377
+
378
379
* nd/trace-with-env (2018-01-19) 7 commits
380
- run-command.c: print new cwd in trace_run_command()
@@ -273,14 +399,17 @@ of the repositories listed at
399
Will merge to 'next'.
400
401
276
-* kg/packed-ref-cache-fix (2018-01-16) 1 commit
402
+* kg/packed-ref-cache-fix (2018-01-24) 6 commits
403
- packed_ref_cache: don't use mmap() for small files
404
+ - load_contents(): don't try to mmap an empty file
405
+ - packed_ref_iterator_begin(): make optimization more general
406
+ - find_reference_location(): make function safe for empty snapshots
407
+ - create_snapshot(): use `xmemdupz()` rather than a strbuf
408
+ - struct snapshot: store `start` rather than `header_len`
409
410
Avoid mmapping small files while using packed refs (especially ones
411
with zero size, which would cause later munmap() to fail).
412
282
- Will merge to 'next'.
283
-
413
414
* ks/submodule-doc-updates (2018-01-16) 2 commits
415
- Doc/git-submodule: improve readability and grammar of a sentence
@@ -291,11 +420,13 @@ of the repositories listed at
420
Will merge to 'next'.
421
422
294
-* nd/shared-index-fix (2018-01-22) 3 commits
423
+* nd/shared-index-fix (2018-01-24) 3 commits
424
- read-cache: don't write index twice if we can't write shared index
425
- read-cache.c: move tempfile creation/cleanup out of write_shared_index
426
- read-cache.c: change type of "temp" in write_shared_index()
427
428
+ Will merge to 'next'.
429
+
430
431
* rs/describe-unique-abbrev (2018-01-16) 1 commit
432
- describe: use strbuf_add_unique_abbrev() for adding short hashes
@@ -307,6 +438,7 @@ of the repositories listed at
438
439
* tb/crlf-conv-flags (2018-01-16) 1 commit
440
- convert_to_git(): safe_crlf/checksafe becomes int conv_flags
441
+ (this branch is used by ls/checkout-encoding.)
442
443
Code clean-up.
444
@@ -368,15 +500,17 @@ of the repositories listed at
500
- worktree: say that "add" takes an arbitrary commit in short-help
501
502
371
-* js/rebase-recreate-merge (2018-01-22) 8 commits
372
- - rebase -i: introduce --recreate-merges=no-rebase-cousins
503
+* js/rebase-recreate-merge (2018-01-30) 10 commits
504
+ - rebase -i: introduce --recreate-merges=[no-]rebase-cousins
505
- pull: accept --rebase=recreate to recreate the branch topology
506
- sequencer: handle autosquash and post-rewrite for merge commands
507
+ - sequencer: make refs generated by the `label` command worktree-local
508
- rebase: introduce the --recreate-merges option
509
- rebase-helper --make-script: introduce a flag to recreate merges
510
- sequencer: fast-forward merge commits, if possible
511
- sequencer: introduce the `merge` command
512
- sequencer: introduce new commands to reset the revision
513
+ - git-rebase--interactive: clarify arguments
514
515
"git rebase" learned "--recreate-merges" to transplant the whole
516
topology of commit graph elsewhere.
@@ -431,176 +565,13 @@ of the repositories listed at
565
* jt/fsck-code-cleanup (2018-01-23) 1 commit
566
- fsck: fix leak when traversing trees
567
434
---------------------------------------------------
435
-[Stalled]
436
-
437
-* jh/status-no-ahead-behind (2018-01-04) 4 commits
438
- - status: support --no-ahead-behind in long format
439
- - status: update short status to respect --no-ahead-behind
440
- - status: add --[no-]ahead-behind to status and commit for V2 format.
441
- - stat_tracking_info: return +1 when branches not equal
442
-
443
- Expecting a reroll to finalize the topic.
444
-
445
-
446
-* av/fsmonitor-updates (2018-01-04) 6 commits
447
- - fsmonitor: use fsmonitor data in `git diff`
448
- - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
449
- - fsmonitor: make output of test-dump-fsmonitor more concise
450
- - fsmonitor: update helper tool, now that flags are filled later
451
- - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
452
- - dir.c: update comments to match argument name
453
-
454
- Code clean-up on fsmonitor integration, plus optional utilization
455
- of the fsmonitor data in diff-files.
456
-
457
- Waiting for an update.
458
- cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
459
-
460
-
461
-* pb/bisect-helper-2 (2017-10-28) 8 commits
462
- - t6030: make various test to pass GETTEXT_POISON tests
463
- - bisect--helper: `bisect_start` shell function partially in C
464
- - bisect--helper: `get_terms` & `bisect_terms` shell function in C
465
- - bisect--helper: `bisect_next_check` shell function in C
466
- - bisect--helper: `check_and_set_terms` shell function in C
467
- - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
468
- - bisect--helper: `bisect_write` shell function in C
469
- - bisect--helper: `bisect_reset` shell function in C
470
-
471
- Expecting a reroll.
472
- cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
473
-
474
-
475
-* dj/runtime-prefix (2017-12-05) 4 commits
476
- . exec_cmd: RUNTIME_PREFIX on some POSIX systems
477
- . Makefile: add Perl runtime prefix support
478
- . Makefile: add support for "perllibdir"
479
- . Makefile: generate Perl header from template file
480
-
481
- A build-time option has been added to allow Git to be told to refer
482
- to its associated files relative to the main binary, in the same
483
- way that has been possible on Windows for quite some time, for
484
- Linux, BSDs and Darwin.
485
-
486
- Tentatively kicked out of 'next' to see how well another topic
487
- ab/simplify-perl-makefile that heavily conflicts with this fares.
488
-
489
-
490
-* mk/http-backend-content-length (2017-11-27) 4 commits
491
- - SQUASH???
492
- - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases
493
- - SQUASH???
494
- - http-backend: respect CONTENT_LENGTH as specified by rfc3875
495
-
496
- The http-backend (used for smart-http transport) used to slurp the
497
- whole input until EOF, without paying attention to CONTENT_LENGTH
498
- that is supplied in the environment and instead expecting the Web
499
- server to close the input stream. This has been fixed.
500
-
501
- Expecting a reroll.
502
- Suggested fixes to be used when rerolling is queued, but I'd
503
- prefer _not_ squashing them myself.
504
-
505
- Also, it may be too complex solution for the problem.
506
- cf. <20171204171308.GA13332@sigill.intra.peff.net>
507
-
508
-
509
-* cc/require-tcl-tk-for-build (2017-11-29) 2 commits
510
- - travis-ci: avoid new tcl/tk build requirement
511
- - Makefile: check that tcl/tk is installed
512
-
513
- A first-time builder of Git may have installed neither tclsh nor
514
- msgfmt, in which case git-gui and gitk part will fail and break the
515
- build. As a workaround, refuse to run a build when tclsh is not
516
- installed and NO_TCLTK is not set.
517
-
518
- Undecided.
519
- I still feel that requring tclsh to be installed, with or without
520
- "escape hatch" for experts, may be too heavy-handed.
521
-
522
-
523
-* mg/merge-base-fork-point (2017-09-17) 3 commits
524
- - merge-base: find fork-point outside partial reflog
525
- - merge-base: return fork-point outside reflog
526
- - t6010: test actual test output
527
-
528
- "merge-base --fork-point $branch $commit" is used to guess on which
529
- commit among the commits that were once at the tip of the $branch the
530
- $commit was built on top of, and it learns these historical tips from
531
- the reflog of the $branch. When the true fork-point is lost due to
532
- pruning of old reflog entries, the command does not give any output,
533
- because it has no way to guess correctly and does not want to mislead
534
- the user with a wrong guess.
535
-
536
- The command has been updated to give the best but not known to be
537
- correct guess, based on a hope that a merge-base between $commit and a
538
- virtual merge across all the reflog entries that still are available
539
- for $branch may still be a closer to the true fork-point than the
540
- merge-base between $commit and the current tip of the $branch.
541
-
542
- This may have to be offered by an additional option, to allow the
543
- users that are prepared to see a potentially incorrect guess to opt
544
- into the feature, without affecting the current callers that may not
545
- be prepared to accept a guess that is not known to be correct.
546
-
547
- What's the doneness of this one?
548
-
549
-
550
-* jk/drop-ancient-curl (2017-08-09) 5 commits
551
- - http: #error on too-old curl
552
- - curl: remove ifdef'd code never used with curl >=7.19.4
553
- - http: drop support for curl < 7.19.4
554
- - http: drop support for curl < 7.16.0
555
- - http: drop support for curl < 7.11.1
556
-
557
- Some code in http.c that has bitrot is being removed.
558
-
559
- Expecting a reroll.
560
-
561
-
562
-* mk/use-size-t-in-zlib (2017-08-10) 1 commit
563
- . zlib.c: use size_t for size
564
-
565
- The wrapper to call into zlib followed our long tradition to use
566
- "unsigned long" for sizes of regions in memory, which have been
567
- updated to use "size_t".
568
-
569
- Needs resurrecting by making sure the fix is good and still applies
570
- (or adjusted to today's codebase).
571
-
572
-
573
-* mg/status-in-progress-info (2017-05-10) 2 commits
574
- - status --short --inprogress: spell it as --in-progress
575
- - status: show in-progress info for short status
576
-
577
- "git status" learns an option to report various operations
578
- (e.g. "merging") that the user is in the middle of.
579
-
580
- cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
581
-
568
583
-* nd/worktree-move (2017-04-20) 6 commits
584
- - worktree remove: new command
585
- - worktree move: refuse to move worktrees with submodules
586
- - worktree move: accept destination as directory
587
- - worktree move: new command
588
- - worktree.c: add update_worktree_location()
589
- - worktree.c: add validate_worktree()
590
-
591
- "git worktree" learned move and remove subcommands.
592
-
593
- Expecting a reroll.
594
- cf. <20170420101024.7593-1-pclouds@gmail.com>
595
- cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
596
- cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
597
-
598
---------------------------------------------------
599
-[Cooking]
600
-
601
-* ab/wildmatch-tests (2018-01-04) 7 commits
569
+* ab/wildmatch-tests (2018-01-30) 10 commits
570
+ - wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
571
+ - test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
572
- wildmatch test: create & test files on disk in addition to in-memory
573
- wildmatch test: perform all tests under all wildmatch() modes
574
+ - wildmatch test: use test_must_fail, not ! for test-wildmatch
575
- wildmatch test: remove dead fnmatch() test code
576
- wildmatch test: use a paranoia pattern from nul_match()
577
- wildmatch test: don't try to vertically align our output
@@ -613,11 +584,11 @@ of the repositories listed at
584
cf. <87vaga9mgf.fsf@evledraar.gmail.com>
585
586
616
-* bw/protocol-v2 (2018-01-04) 26 commits
617
- - remote-curl: implement connect-half-duplex command
587
+* bw/protocol-v2 (2018-01-26) 27 commits
588
+ - remote-curl: implement stateless-connect command
589
- remote-curl: create copy of the service name
590
- pkt-line: add packet_buf_write_len function
620
- - transport-helper: introduce connect-half-duplex
591
+ - transport-helper: introduce stateless-connect
592
- transport-helper: refactor process_connect_service
593
- transport-helper: remove name parameter
594
- fetch-pack: perform a fetch using v2
@@ -630,6 +601,7 @@ of the repositories listed at
601
- connect: request remote refs using v2
602
- ls-refs: introduce ls-refs server command
603
- serve: introduce git-serve
604
+ - test-pkt-line: introduce a packet-line test helper
605
- protocol: introduce enum protocol_version value protocol_v2
606
- transport: store protocol version
607
- connect: discover protocol version outside of get_remote_heads
@@ -644,13 +616,14 @@ of the repositories listed at
616
The beginning of the next-gen transfer protocol.
617
618
647
-* ls/checkout-encoding (2018-01-08) 6 commits
648
- - convert: add support for 'checkout-encoding' attribute
649
- - convert_to_git(): safe_crlf/checksafe becomes int conv_flags
619
+* ls/checkout-encoding (2018-01-30) 6 commits
620
+ - convert: add tracing for 'working-tree-encoding' attribute
621
+ - convert: add 'working-tree-encoding' attribute
622
- utf8: add function to detect a missing UTF-16/32 BOM
623
- utf8: add function to detect prohibited UTF-16/32 BOM
624
- strbuf: add xstrdup_toupper()
625
- strbuf: remove unnecessary NUL assignment in xstrdup_tolower()
626
+ (this branch uses tb/crlf-conv-flags.)
627
628
The new "checkout-encoding" attribute can ask Git to convert the
629
contents to the specified encoding when checking out to the working
@@ -680,8 +653,7 @@ of the repositories listed at
653
cf. <5DE3FA05-2347-4BE7-8A1A-A6E5FEEC7C2B@gmail.com>
654
655
683
-* nd/fix-untracked-cache-invalidation (2018-01-19) 6 commits
684
- - dir.c: print correct errno when opendir() fails
656
+* nd/fix-untracked-cache-invalidation (2018-01-24) 5 commits
657
- dir.c: stop ignoring opendir() error in open_cached_dir()
658
- update-index doc: note a fixed bug in the untracked cache
659
- dir.c: fix missing dir invalidation in untracked code
@@ -690,8 +662,7 @@ of the repositories listed at
662
663
Some bugs around "untracked cache" feature have been fixed.
664
693
- Kicked back to 'pu' for a reroll.
694
- cf. <CACsJy8AecDh6Bxo6xCBG+4AY5GCdtZgb2Cs2QXo5MYZvD7XKcQ@mail.gmail.com>
665
+ Will merge to 'next'.
666
667
668
* np/send-email-header-parsing (2017-12-15) 1 commit
@@ -729,7 +700,7 @@ of the repositories listed at
700
Will cook in 'next'.
701
702
732
-* en/rename-directory-detection (2018-01-19) 31 commits
703
+* en/rename-directory-detection (2018-01-31) 31 commits
704
- merge-recursive: ensure we write updates for directory-renamed file
705
- merge-recursive: avoid spurious rename/rename conflict from dir renames
706
- directory rename detection: new testcases showcasing a pair of bugs
@@ -770,9 +741,10 @@ of the repositories listed at
741
'x' moved to 'z'.
742
743
773
-* pw/sequencer-in-process-commit (2018-01-23) 13 commits
744
+* pw/sequencer-in-process-commit (2018-01-24) 14 commits
745
- sequencer: run 'prepare-commit-msg' hook
746
- t7505: add tests for cherry-pick and rebase -i/-p
747
+ - t7505: style fixes
748
- sequencer: assign only free()able strings to gpg_sign
749
- sequencer: improve config handling
750
- t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
@@ -792,6 +764,8 @@ of the repositories listed at
764
gives performance boost for a few tens of percents in some sample
765
scenarios.
766
767
+ Will merge to 'next'.
768
+
769
770
* jh/fsck-promisors (2017-12-08) 10 commits
771
(merged to 'next' on 2018-01-23 at ca59f5c18e)
@@ -849,9 +823,9 @@ of the repositories listed at
823
824
* ot/mru-on-list (2017-10-01) 1 commit
825
- mru: use double-linked list from list.h
826
+ (this branch is used by gs/retire-mru.)
827
828
The first step to getting rid of mru API and using the
829
doubly-linked list API directly instead.
830
856
- A follow-up is being worked on; it seems to be almost ready.
857
- cf. <20180122073701.h7fh7xrkmnzndzj7@untitled>
831
+ Will merge to 'next'.