What's cooking (2017/11 #02)
Junio C Hamano committed
Nov 6, 2017 at 15:02 UTC
5152ce78556e2b46710dda3b1371766319134411
1 file changed
+665
-567
whats-cooking.txt
+665
-567
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Nov 2017, #01; Wed, 1)
4
-X-master-at: cb5918aa0d50f50e83787f65c2ddc3dcb10159fe
5
-X-next-at: fe51978a306f83b42a353408675befa0e5938b43
3
+Subject: What's cooking in git.git (Nov 2017, #02; Mon, 6)
4
+X-master-at: 7668cbc60578f99a4c048f8f8f38787930b8147b
5
+X-next-at: f294e3d99a357e12ccf7ade78a150fe6de4f7826
6
7
-What's cooking in git.git (Nov 2017, #01; Wed, 1)
7
+What's cooking in git.git (Nov 2017, #02; Mon, 6)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,16 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-Git 2.15 final was tagged. I may not have fully caught up with the
16
-list traffic and there may be topics that should have been scooped
17
-up but lost in the noise, but I think the tree is in a better shape
18
-than yesterday ;-) We'll see if there is any brown paper bag bugs
19
-by waiting til the end of the week.
20
-
21
-And then we'll start the new cycle by rewinding the top of 'next'
22
-and also marking topics that are marked as "will cook in 'next'" as
23
-"will merge to 'master'" around the weekend. The first to graduate
24
-will be the ex/deprecate-empty-pathspec-as-match-all topic.
15
+Early batches for the next cycle has been merged to 'master' and
16
+'next' has become thin enough so that we can rewind it and rebuild
17
+it as usual, optionally with a handful of topics kicked out of it.
18
+That hasn't happened yet, but it will shortly.
19
20
You can find the changes described here in the integration branches
21
of the repositories listed at
@@ -29,417 +23,439 @@ of the repositories listed at
23
http://git-blame.blogspot.com/p/git-public-repositories.html
24
25
--------------------------------------------------
32
-[New Topics]
33
-
34
-* ad/5580-unc-tests-on-cygwin (2017-11-01) 1 commit
35
- - t5580: add Cygwin support
36
-
37
- UNC paths are also relevant in Cygwin builds and they are now
38
- tested just like Mingw builds.
39
-
40
- Will merge to 'next'.
26
+[Graduated to "master"]
27
28
+* ao/check-resolve-ref-unsafe-result (2017-10-21) 1 commit
29
+ (merged to 'next' on 2017-10-26 at 84302ab59a)
30
+ + commit: check result of resolve_ref_unsafe
31
43
-* ao/merge-verbosity-getenv-just-once (2017-11-01) 1 commit
44
- - merge-recursive: check GIT_MERGE_VERBOSITY only once
32
+ "git commit", after making a commit, did not check for errors when
33
+ asking on what branch it made the commit, which has been correted.
34
46
- Code cleanup.
35
48
- Will merge to 'next'.
36
+* bc/object-id (2017-10-16) 25 commits
37
+ (merged to 'next' on 2017-10-18 at ef8aa2698d)
38
+ + refs/files-backend: convert static functions to object_id
39
+ + refs: convert read_raw_ref backends to struct object_id
40
+ + refs: convert peel_object to struct object_id
41
+ + refs: convert resolve_ref_unsafe to struct object_id
42
+ + worktree: convert struct worktree to object_id
43
+ + refs: convert resolve_gitlink_ref to struct object_id
44
+ + Convert remaining callers of resolve_gitlink_ref to object_id
45
+ + sha1_file: convert index_path and index_fd to struct object_id
46
+ + refs: convert reflog_expire parameter to struct object_id
47
+ + refs: convert read_ref_at to struct object_id
48
+ + refs: convert peel_ref to struct object_id
49
+ + builtin/pack-objects: convert to struct object_id
50
+ + pack-bitmap: convert traverse_bitmap_commit_list to object_id
51
+ + refs: convert dwim_log to struct object_id
52
+ + builtin/reflog: convert remaining unsigned char uses to object_id
53
+ + refs: convert dwim_ref and expand_ref to struct object_id
54
+ + refs: convert read_ref and read_ref_full to object_id
55
+ + refs: convert resolve_refdup and refs_resolve_refdup to struct object_id
56
+ + Convert check_connected to use struct object_id
57
+ + refs: update ref transactions to use struct object_id
58
+ + refs: prevent accidental NULL dereference in write_pseudoref
59
+ + refs: convert update_ref and refs_update_ref to use struct object_id
60
+ + refs: convert delete_ref and refs_delete_ref to struct object_id
61
+ + refs/files-backend: convert struct ref_to_prune to object_id
62
+ + walker: convert to struct object_id
63
+ (this branch is used by mh/tidy-ref-update-flags.)
64
65
+ Conversion from uchar[20] to struct object_id continues.
66
51
-* bp/read-index-from-skip-verification (2017-11-01) 1 commit
52
- - read_index_from(): speed index loading by skiping verification of the entry order
67
54
- Drop (perhaps overly cautious) sanity check before using the index
55
- read from the filesystem at runtime.
68
+* bw/grep-recurse-submodules (2017-11-02) 1 commit
69
+ (merged to 'next' on 2017-11-02 at 50bbebe9e3)
70
+ + grep: take the read-lock when adding a submodule
71
57
- Will merge to 'next'.
72
+ A broken access to object databases in recent update to "git grep
73
+ --recurse-submodules" has been fixed.
74
75
60
-* cn/diff-indent-no-longer-is-experimental (2017-11-01) 2 commits
61
- - SQUASH???
62
- - diff: --indent-heuristic is no longer experimental
76
+* cn/diff-indent-no-longer-is-experimental (2017-11-02) 1 commit
77
+ (merged to 'next' on 2017-11-02 at d3fe3952a7)
78
+ + diff: --indent-heuristic is no longer experimental
79
80
Doc update.
81
66
- Will merge to 'next' after squashing the fixup.
82
83
+* dm/run-command-ignored-hook-advise (2017-10-10) 1 commit
84
+ (merged to 'next' on 2017-10-10 at 0827814922)
85
+ + run-command: add hint when a hook is ignored
86
69
-* jk/rebase-i-exec-gitdir-fix (2017-11-01) 1 commit
70
- - sequencer: pass absolute GIT_DIR to exec commands
87
+ A hook script that is set unexecutable is simply ignored. Git
88
+ notifies when such a file is ignored, unless the message is
89
+ squelched via advice.ignoredHook configuration.
90
72
- A recent regression in "git rebase -i" that broke execution of git
73
- commands from subdirectories via "exec" insn has been fixed.
91
75
- Ack from Dscho would be nice.
92
+* ds/find-unique-abbrev-optim (2017-10-13) 4 commits
93
+ (merged to 'next' on 2017-10-16 at 7f4479ac52)
94
+ + sha1_name: minimize OID comparisons during disambiguation
95
+ + sha1_name: parse less while finding common prefix
96
+ + sha1_name: unroll len loop in find_unique_abbrev_r()
97
+ + p4211-line-log.sh: add log --online --raw --parents perf test
98
99
+ Optimize the code to find shortest unique prefix of object names.
100
78
-* mh/test-local-canary (2017-10-31) 1 commit
79
- - t0000: check whether the shell supports the "local" keyword
101
81
- We try to see if somebody runs our test suite with a shell that
82
- does not support "local" like bash/dash does.
102
+* ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
103
+ (merged to 'next' on 2017-08-14 at 24db08a6e8)
104
+ + pathspec: die on empty strings as pathspec
105
+ + t0027: do not use an empty string as a pathspec element
106
84
- Will merge to 'next'.
107
+ The final step to make an empty string as a pathspec element
108
+ illegal. We started this by first deprecating and warning a
109
+ pathspec that has such an element in 2.11 (Nov 2016).
110
111
87
-* rs/hex-to-bytes-cleanup (2017-11-01) 3 commits
88
- - sha1_file: use hex_to_bytes()
89
- - http-push: use hex_to_bytes()
90
- - notes: move hex_to_bytes() to hex.c and export it
112
+* gc/gitweb-filetest-acl (2017-10-24) 1 commit
113
+ (merged to 'next' on 2017-10-26 at 5b490f53bf)
114
+ + gitweb: use filetest to allow ACLs
115
92
- Code cleanup.
116
+ "gitweb" checks if a directory is searchable with Perl's "-x"
117
+ operator, which can be enhanced by using "filetest 'access'"
118
+ pragma, which now we do.
119
94
- Will merge to 'next'.
120
121
+* hv/fetch-moved-submodules-on-demand (2017-10-17) 3 commits
122
+ (merged to 'next' on 2017-10-26 at c446ea3e9a)
123
+ + submodule: simplify decision tree whether to or not to fetch
124
+ + implement fetching of moved submodules
125
+ + fetch: add test to make sure we stay backwards compatible
126
97
-* rs/sequencer-rewrite-file-cleanup (2017-11-01) 2 commits
98
- - sequencer: use O_TRUNC to truncate files
99
- - sequencer: factor out rewrite_file()
127
+ "git fetch --recurse-submodules" now knows that submodules can be
128
+ moved around in the superproject in addition to getting updated,
129
+ and finds the ones that need to be fetched accordingly.
130
101
- Code cleanup.
131
103
- Will merge to 'next'.
132
+* jc/check-ref-format-oor (2017-10-18) 3 commits
133
+ (merged to 'next' on 2017-10-18 at 8b17566c80)
134
+ + check-ref-format doc: --branch validates and expands <branch>
135
+ + check-ref-format --branch: strip refs/heads/ using skip_prefix
136
+ + check-ref-format --branch: do not expand @{...} outside repository
137
138
+ "git check-ref-format --branch @{-1}" bit a "BUG()" when run
139
+ outside a repository for obvious reasons; clarify the documentation
140
+ and make sure we do not even try to expand the at-mark magic in
141
+ such a case, but still call the validation logic for branch names.
142
106
-* sb/describe-blob (2017-11-01) 7 commits
107
- - t6120: fix typo in test name
108
- - builtin/describe.c: describe a blob
109
- - builtin/describe.c: factor out describe_commit
110
- - builtin/describe.c: print debug statements earlier
111
- - builtin/describe.c: rename `oid` to avoid variable shadowing
112
- - revision.h: introduce blob/tree walking in order of the commits
113
- - list-objects.c: factor out traverse_trees_and_blobs
143
115
- "git describe" was taught to dig trees deeper to find a
116
- <commit-ish>:<path> that refers to a given blob object.
144
+* jc/no-cmd-as-subroutine (2017-10-11) 2 commits
145
+ (merged to 'next' on 2017-10-16 at 5f4ee919ac)
146
+ + merge-ours: do not use cmd_*() as a subroutine
147
+ + describe: do not use cmd_*() as a subroutine
148
149
+ Calling cmd_foo() as if it is a general purpose helper function is
150
+ a no-no. Correct two instances of such to set an example.
151
119
-* tb/add-renormalize (2017-10-31) 1 commit
120
- - add: introduce "--renormalize"
152
122
- "git add --renormalize ." is a new and safer way to record the fact
123
- that you are correcting the end-of-line convention and other
124
- "convert_to_git()" glitches in the in-repository data.
153
+* jc/t5601-copy-workaround (2017-10-17) 1 commit
154
+ (merged to 'next' on 2017-10-18 at ea1e133968)
155
+ + t5601: rm the target file of cp that could still be executing
156
157
+ A (possibly flakey) test fix.
158
127
-* ab/mediawiki-name-truncation (2017-11-01) 1 commit
128
- - remote-mediawiki: limit filenames to legal
159
130
- The remote-helper for talking to MediaWiki has been updated to
131
- truncate an overlong pagename so that ".mw" suffix can still be
132
- added.
160
+* jk/diff-color-moved-fix (2017-10-21) 5 commits
161
+ (merged to 'next' on 2017-10-26 at eb580e4c8c)
162
+ + diff: handle NULs in get_string_hash()
163
+ + diff: fix whitespace-skipping with --color-moved
164
+ + t4015: test the output of "diff --color-moved -b"
165
+ + t4015: check "negative" case for "-w --color-moved"
166
+ + t4015: refactor --color-moved whitespace test
167
+ (this branch is used by sb/diff-color-moved-use-xdl-recmatch.)
168
134
- Will merge to 'next'.
169
+ The experimental "color moved lines differently in diff output"
170
+ feature was buggy around "ignore whitespace changes" edges, whihch
171
+ has been corrected.
172
173
137
-* ab/mediawiki-namespace (2017-11-01) 7 commits
138
- - remote-mediawiki: show progress while fetching namespaces
139
- - remote-mediawiki: process namespaces in order
140
- - remote-mediawiki: support fetching from (Main) namespace
141
- - remote-mediawiki: skip virtual namespaces
142
- - remote-mediawiki: show known namespace choices on failure
143
- - remote-mediawiki: allow fetching namespaces with spaces
144
- - remote-mediawiki: add namespace support
174
+* jk/misc-resolve-ref-unsafe-fixes (2017-10-21) 4 commits
175
+ (merged to 'next' on 2017-10-26 at c327b2ec2f)
176
+ + worktree: handle broken symrefs in find_shared_symref()
177
+ + log: handle broken HEAD in decoration check
178
+ + remote: handle broken symrefs
179
+ + test-ref-store: avoid passing NULL to printf
180
146
- The remote-helper for talking to MediaWiki has been updated to
147
- work with mediawiki namespaces.
181
+ Some codepaths did not check for errors when asking what branch the
182
+ HEAD points at, which have been fixed.
183
149
- Will merge to 'next'.
184
185
+* jk/rebase-i-exec-gitdir-fix (2017-11-02) 1 commit
186
+ (merged to 'next' on 2017-11-02 at 9a519c7150)
187
+ + sequencer: pass absolute GIT_DIR to exec commands
188
152
-* js/mingw-full-version-in-resources (2017-11-01) 1 commit
153
- - mingw: include the full version information in the resources
189
+ A recent regression in "git rebase -i" that broke execution of git
190
+ commands from subdirectories via "exec" insn has been fixed.
191
155
- MinGW updates.
192
157
- Will merge to 'next'.
193
+* jk/revision-pruning-optim (2017-10-14) 1 commit
194
+ (merged to 'next' on 2017-10-16 at 2662baa21d)
195
+ + revision: quit pruning diff more quickly when possible
196
159
-* js/mingw-redirection (2017-11-01) 3 commits
160
- - mingw: document the experimental standard handle redirection
161
- - mingw: special-case GIT_REDIRECT_STDERR=2>&1
162
- - mingw: add experimental feature to redirect standard handles
197
+ Pathspec-limited revision traversal was taught not to keep finding
198
+ unneeded differences once it knows two trees are different inside
199
+ given pathspec.
200
164
- MinGW updates.
201
202
+* js/submodule-in-excluded (2017-10-26) 1 commit
203
+ (merged to 'next' on 2017-10-26 at 2a262e6a0b)
204
+ + status: do not get confused by submodules in excluded directories
205
167
-* js/wincred-empty-cred (2017-11-01) 2 commits
168
- - wincred: handle empty username/password correctly
169
- - t0302: check helper can handle empty credentials
206
+ "git status --ignored -u" did not stop at a working tree of a
207
+ separate project that is embedded in an ignored directory and
208
+ listed files in that other project, instead of just showing the
209
+ directory itself as ignored.
210
171
- MinGW updates.
211
173
---------------------------------------------------
174
-[Stalled]
212
+* kd/auto-col-with-pager-fix (2017-10-24) 2 commits
213
+ (merged to 'next' on 2017-10-24 at ef3ff0f14b)
214
+ + column: do not include pager.c
215
+ (merged to 'next' on 2017-10-18 at fe89ff7e83)
216
+ + column: show auto columns when pager is active
217
176
-* mk/use-size-t-in-zlib (2017-08-10) 1 commit
177
- . zlib.c: use size_t for size
218
+ "auto" as a value for the columnar output configuration ought to
219
+ judge "is the output consumed by humans?" with the same criteria as
220
+ "auto" for coloured output configuration, i.e. either the standard
221
+ output stream is going to tty, or a pager is in use. We forgot the
222
+ latter, which has been fixed.
223
179
- The wrapper to call into zlib followed our long tradition to use
180
- "unsigned long" for sizes of regions in memory, which have been
181
- updated to use "size_t".
224
183
- Needs resurrecting by making sure the fix is good and still applies
184
- (or adjusted to today's codebase).
225
+* ma/lockfile-fixes (2017-10-07) 12 commits
226
+ (merged to 'next' on 2017-10-16 at 19fae5c138)
227
+ + read_cache: roll back lock in `update_index_if_able()`
228
+ + read-cache: leave lock in right state in `write_locked_index()`
229
+ + read-cache: drop explicit `CLOSE_LOCK`-flag
230
+ + cache.h: document `write_locked_index()`
231
+ + apply: remove `newfd` from `struct apply_state`
232
+ + apply: move lockfile into `apply_state`
233
+ + cache-tree: simplify locking logic
234
+ + checkout-index: simplify locking logic
235
+ + tempfile: fix documentation on `delete_tempfile()`
236
+ + lockfile: fix documentation on `close_lock_file_gently()`
237
+ + treewide: prefer lockfiles on the stack
238
+ + sha1_file: do not leak `lock_file`
239
240
+ An earlier update made it possible to use an on-stack in-core
241
+ lockfile structure (as opposed to having to deliberately leak an
242
+ on-heap one). Many codepaths have been updated to take advantage
243
+ of this new facility.
244
187
-* mg/status-in-progress-info (2017-05-10) 2 commits
188
- - status --short --inprogress: spell it as --in-progress
189
- - status: show in-progress info for short status
245
191
- "git status" learns an option to report various operations
192
- (e.g. "merging") that the user is in the middle of.
246
+* mh/test-local-canary (2017-10-31) 1 commit
247
+ (merged to 'next' on 2017-11-02 at f34927f687)
248
+ + t0000: check whether the shell supports the "local" keyword
249
194
- cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
250
+ We try to see if somebody runs our test suite with a shell that
251
+ does not support "local" like bash/dash does.
252
253
197
-* nd/worktree-move (2017-04-20) 6 commits
198
- - worktree remove: new command
199
- - worktree move: refuse to move worktrees with submodules
200
- - worktree move: accept destination as directory
201
- - worktree move: new command
202
- - worktree.c: add update_worktree_location()
203
- - worktree.c: add validate_worktree()
254
+* mp/push-pushoption-config (2017-10-24) 1 commit
255
+ (merged to 'next' on 2017-10-26 at 2c72164d12)
256
+ + builtin/push.c: add push.pushOption config
257
205
- "git worktree" learned move and remove subcommands.
258
+ The "--push-option=<string>" option to "git push" now defaults to a
259
+ list of strings configured via push.pushOption variable.
260
207
- Expecting a reroll.
208
- cf. <20170420101024.7593-1-pclouds@gmail.com>
209
- cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
210
- cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
211
-
212
---------------------------------------------------
213
-[Cooking]
214
-
215
-* bw/diff-opt-impl-to-bitfields (2017-11-01) 8 commits
216
- - diff: make struct diff_flags members lowercase
217
- - diff: remove DIFF_OPT_CLR macro
218
- - diff: remove DIFF_OPT_SET macro
219
- - diff: remove DIFF_OPT_TST macro
220
- - diff: remove touched flags
221
- - diff: add flag to indicate textconv was set via cmdline
222
- - diff: convert flags to be stored in bitfields
223
- - add, reset: use DIFF_OPT_SET macro to set a diff flag
261
225
- A single-word "unsigned flags" in the diff options is being split
226
- into a structure with many bitfields.
227
-
228
-
229
-* mh/tidy-ref-update-flags (2017-10-28) 8 commits
230
- - refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING`
231
- - refs: rename constant `REF_NODEREF` to `REF_NO_DEREF`
232
- - refs: tidy up and adjust visibility of the `ref_update` flags
233
- - ref_transaction_add_update(): remove a check
234
- - ref_transaction_update(): die on disallowed flags
235
- - prune_ref(): call `ref_transaction_add_update()` directly
236
- - files_transaction_prepare(): don't leak flags to packed transaction
237
- - Merge branch 'bc/object-id' into base
238
- (this branch uses bc/object-id.)
262
+* pb/bisect-helper (2017-10-06) 6 commits
263
+ (merged to 'next' on 2017-10-13 at ffc9aefe63)
264
+ + bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
265
+ + t6030: explicitly test for bisection cleanup
266
+ + bisect--helper: `bisect_clean_state` shell function in C
267
+ + bisect--helper: `write_terms` shell function in C
268
+ + bisect--helper: rewrite `check_term_format` shell function in C
269
+ + bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
270
+ (this branch is used by pb/bisect-helper-2.)
271
240
- Code clean-up in refs API implementation.
272
+ An early part of piece-by-piece rewrite of "git bisect".
273
274
243
-* ao/diff-populate-filespec-lstat-errorpath-fix (2017-10-29) 1 commit
244
- - diff: fix lstat() error handling in diff_populate_filespec()
275
+* pc/submodule-helper (2017-10-07) 3 commits
276
+ (merged to 'next' on 2017-10-16 at 2b38de12cc)
277
+ + submodule: port submodule subcommand 'status' from shell to C
278
+ + submodule--helper: introduce for_each_listed_submodule()
279
+ + submodule--helper: introduce get_submodule_displaypath()
280
246
- After an error from lstat(), diff_populate_filespec() function
247
- sometimes still went ahead and used invalid data in struct stat,
248
- which has been fixed.
281
+ GSoC.
282
283
251
-* av/fsmonitor (2017-11-01) 4 commits
252
- - fsmonitor: delay updating state until after split index is merged
253
- - fsmonitor: document GIT_TRACE_FSMONITOR
254
- - fsmonitor: don't bother pretty-printing JSON from watchman
255
- - fsmonitor: set the PWD to the top of the working tree
256
- (this branch uses bp/fsmonitor.)
284
+* sb/diff-color-moved-use-xdl-recmatch (2017-10-26) 2 commits
285
+ (merged to 'next' on 2017-10-26 at 6711f24498)
286
+ + diff.c: get rid of duplicate implementation
287
+ + xdiff-interface: export comparing and hashing strings
288
+ (this branch uses jk/diff-color-moved-fix.)
289
258
- Various fixes to bp/fsmonitor topic.
290
+ Instead of using custom line comparison and hashing functions to
291
+ implement "moved lines" coloring in the diff output, use the pair
292
+ of these functions from lower-layer xdiff/ code.
293
260
- Will merge to 'next'.
294
295
+* tb/complete-checkout (2017-10-25) 1 commit
296
+ (merged to 'next' on 2017-10-26 at beeaf5b00c)
297
+ + completion: add remaining flags to checkout
298
263
-* bc/submitting-patches-in-asciidoc (2017-10-30) 2 commits
264
- - Documentation: convert SubmittingPatches to AsciiDoc
265
- - Documentation: enable compat-mode for Asciidoctor
299
+ Command line completion (in contrib/) update.
300
267
- The SubmittingPatches document has been converted to produce an
268
- HTML version via AsciiDoc/Asciidoctor.
301
302
+* tg/deprecate-stash-save (2017-10-27) 3 commits
303
+ (merged to 'next' on 2017-10-27 at 73b1edb73b)
304
+ + stash: remove now superfluos help for "stash push"
305
+ + stash: mark "git stash save" deprecated in the man page
306
+ + stash: replace "git stash save" with "git stash push" in the documentation
307
271
-* pb/bisect-helper-2 (2017-10-28) 8 commits
272
- - t6030: make various test to pass GETTEXT_POISON tests
273
- - bisect--helper: `bisect_start` shell function partially in C
274
- - bisect--helper: `get_terms` & `bisect_terms` shell function in C
275
- - bisect--helper: `bisect_next_check` shell function in C
276
- - bisect--helper: `check_and_set_terms` shell function in C
277
- - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
278
- - bisect--helper: `bisect_write` shell function in C
279
- - bisect--helper: `bisect_reset` shell function in C
280
- (this branch uses pb/bisect-helper.)
308
+ "git stash save" has been deprecated in favour of "git stash push".
309
310
283
-* js/submodule-in-excluded (2017-10-26) 1 commit
284
- (merged to 'next' on 2017-10-26 at 2a262e6a0b)
285
- + status: do not get confused by submodules in excluded directories
311
+* wk/pull-signoff (2017-10-13) 1 commit
312
+ (merged to 'next' on 2017-10-16 at 5e48f349d9)
313
+ + pull: pass --signoff/--no-signoff to "git merge"
314
287
- "git status --ignored -u" did not stop at a working tree of a
288
- separate project that is embedded in an ignored directory and
289
- listed files in that other project, instead of just showing the
290
- directory itself as ignored.
315
+ "git pull" has been taught to accept "--[no-]signoff" option and
316
+ pass it down to "git merge".
317
292
- Will cook in 'next'.
318
+--------------------------------------------------
319
+[New Topics]
320
321
+* js/mingw-redirect-std-handles (2017-11-02) 3 commits
322
+ - mingw: document the standard handle redirection
323
+ - mingw: optionally redirect stderr/stdout via the same handle
324
+ - mingw: add experimental feature to redirect standard handles
325
295
-* tb/complete-checkout (2017-10-25) 1 commit
296
- (merged to 'next' on 2017-10-26 at beeaf5b00c)
297
- + completion: add remaining flags to checkout
326
+ MinGW updates.
327
299
- Command line completion (in contrib/) update.
328
+ Will merge to 'next'.
329
301
- Will cook in 'next'.
330
331
+* ma/bisect-leakfix (2017-11-06) 4 commits
332
+ - bisect: fix memory leak when returning best element
333
+ - bisect: fix off-by-one error in `best_bisection_sorted()`
334
+ - bisect: fix memory leak in `find_bisection()`
335
+ - bisect: change calling-convention of `find_bisection()`
336
304
-* jc/ignore-cr-at-eol (2017-10-27) 2 commits
305
- - diff: --ignore-cr-at-eol
306
- - xdiff: reassign xpparm_t.flags bits
337
+ Leak fixes.
338
308
- The "diff" family of commands learned to ignore differences in
309
- carriage return at the end of line.
339
+ Will merge to 'next'.
340
311
- Just a lunch-time hack.
312
- Lacks tests, docs and proper log message.
341
342
+* ma/reduce-heads-leakfix (2017-11-06) 2 commits
343
+ - reduce_heads: fix memory leaks
344
+ - builtin/merge-base: UNLEAK commit lists
345
315
-* sb/diff-color-moved-use-xdl-recmatch (2017-10-26) 2 commits
316
- (merged to 'next' on 2017-10-26 at 6711f24498)
317
- + diff.c: get rid of duplicate implementation
318
- + xdiff-interface: export comparing and hashing strings
319
- (this branch uses jk/diff-color-moved-fix.)
346
+ Leak fixes.
347
321
- Instead of using custom line comparison and hashing functions to
322
- implement "moved lines" coloring in the diff output, use the pair
323
- of these functions from lower-layer xdiff/ code.
348
+ Will merge to 'next'.
349
325
- Will cook in 'next'.
350
351
+* sg/travis-fixes (2017-11-02) 2 commits
352
+ - travis-ci: don't build Git for the static analysis job
353
+ - travis-ci: fix running P4 and Git LFS tests in Linux build jobs
354
328
-* jh/dir-add-exclude-from-blob (2017-10-27) 1 commit
329
- - dir: allow exclusions from blob in addition to file
355
+ TravisCI build updates.
356
331
- The code to read exclusion list from a blob, which is used when the
332
- .gitignore file is outside a sparse checkout area, has been
333
- refactored so that other codepath can later use it to do the same
334
- outside the context of "sparse checkout".
357
+ Will merge to 'next'.
358
359
337
-* mh/avoid-rewriting-packed-refs (2017-10-30) 2 commits
338
- - files-backend: don't rewrite the `packed-refs` file unnecessarily
339
- - t1409: check that `packed-refs` is not rewritten unnecessarily
360
+* sr/wrapper-quote-filenames (2017-11-06) 1 commit
361
+ - wrapper.c: consistently quote filenames in error messages
362
341
- Recent update to the refs infrastructure implementation started
342
- rewriting packed-refs file more often than before; this has been
343
- optimized again for most trivial cases.
363
+ Some error messages did not quote filenames shown in it, which have
364
+ been fixed.
365
366
+ Will merge to 'next'.
367
346
-* cc/git-packet-pm (2017-10-31) 7 commits
347
- - fixup! Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
348
- - Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
349
- - t0021/rot13-filter: add capability functions
350
- - t0021/rot13-filter: add packet_initialize()
351
- - t0021/rot13-filter: improve error message
352
- - t0021/rot13-filter: improve 'if .. elsif .. else' style
353
- - t0021/rot13-filter: refactor packet reading functions
368
355
- Parts of a test to drive the long-running content filter interface
356
- has been split into its own module, hopefully to eventually become
357
- reusable.
369
+* jh/fsck-promisors (2017-11-03) 9 commits
370
+ - gc: do not repack promisor packfiles
371
+ - sha1_file: support lazily fetching missing objects
372
+ - introduce fetch-object: fetch one promisor object
373
+ - index-pack: refactor writing of .keep files
374
+ - fsck: support promisor objects as CLI argument
375
+ - fsck: support referenced promisor objects
376
+ - fsck: support refs pointing to promisor objects
377
+ - fsck: introduce partialclone extension
378
+ - extension.partialclone: introduce partial clone extension
379
+ (this branch is used by jh/partial-clone; uses jh/object-filtering.)
380
359
- Expecting a reroll.
360
- The original unfortunately is quite broken in error detection
361
- cases to make the result sub-par as a standalone module before it
362
- gets fixed.
381
382
+* jh/object-filtering (2017-11-03) 6 commits
383
+ - pack-objects: add list-objects filtering
384
+ - rev-list: add list-objects filtering support
385
+ - list-objects: filter objects in traverse_commit_list
386
+ - oidset: add iterator methods to oidset
387
+ - oidmap: add oidmap iterator methods
388
+ - dir: allow exclusions from blob in addition to file
389
+ (this branch is used by jh/fsck-promisors and jh/partial-clone.)
390
365
-* jk/diff-color-moved-fix (2017-10-21) 5 commits
366
- (merged to 'next' on 2017-10-26 at eb580e4c8c)
367
- + diff: handle NULs in get_string_hash()
368
- + diff: fix whitespace-skipping with --color-moved
369
- + t4015: test the output of "diff --color-moved -b"
370
- + t4015: check "negative" case for "-w --color-moved"
371
- + t4015: refactor --color-moved whitespace test
372
- (this branch is used by sb/diff-color-moved-use-xdl-recmatch.)
391
374
- The experimental "color moved lines differently in diff output"
375
- feature was buggy around "ignore whitespace changes" edges, whihch
376
- has been corrected.
392
+* jh/partial-clone (2017-11-03) 14 commits
393
+ - index-pack: silently assume missing objects are promisor
394
+ - fetch-pack: restore save_commit_buffer after use
395
+ - unpack-trees: batch fetching of missing blobs
396
+ - t5500: more tests for partial clone and fetch
397
+ - t5601: test for partial clone
398
+ - t5500: add fetch-pack tests for partial clone
399
+ - fetch: add from_promisor and exclude-promisor-objects parameters
400
+ - fetch-pack: test support excluding large blobs
401
+ - pack-objects: test support for blob filtering
402
+ - remote-curl: add object filtering for partial clone
403
+ - fetch: add object filtering for partial fetch
404
+ - fetch: refactor calculation of remote list
405
+ - clone, fetch-pack, index-pack, transport: partial clone
406
+ - upload-pack: add object filtering for partial clone
407
+ (this branch uses jh/fsck-promisors and jh/object-filtering.)
408
378
- Will cook in 'next'.
379
- Most of the fixes to the incorrectly implemented custom helpers
380
- will go away with sb/diff-color-moved-use-xdl-recmatch topic.
409
410
+* js/early-config (2017-11-03) 1 commit
411
+ - setup: avoid double slashes when looking for HEAD
412
383
-* jk/misc-resolve-ref-unsafe-fixes (2017-10-21) 4 commits
384
- (merged to 'next' on 2017-10-26 at c327b2ec2f)
385
- + worktree: handle broken symrefs in find_shared_symref()
386
- + log: handle broken HEAD in decoration check
387
- + remote: handle broken symrefs
388
- + test-ref-store: avoid passing NULL to printf
413
+ Correct start-up sequence so that a repository could hang
414
+ immediately under the root directory again (which was broken at
415
+ around Git 2.13).
416
390
- Some codepaths did not check for errors when asking what branch the
391
- HEAD points at, which have been fixed.
417
+ Will merge to 'next'.
418
393
- Will cook in 'next'.
419
420
+* ks/mailmap (2017-11-03) 1 commit
421
+ - mailmap: use Kaartic Sivaraam's new address
422
396
-* ao/check-resolve-ref-unsafe-result (2017-10-21) 1 commit
397
- (merged to 'next' on 2017-10-26 at 84302ab59a)
398
- + commit: check result of resolve_ref_unsafe
423
+ Will merge to 'next'.
424
400
- "git commit", after making a commit, did not check for errors when
401
- asking on what branch it made the commit, which has been correted.
425
403
- Will cook in 'next'.
426
+* rs/imap-send-next-arg-fix (2017-11-03) 2 commits
427
+ - imap-send: handle missing response codes gracefully
428
+ - imap-send: handle NULL return of next_arg()
429
430
+ Error checking in "git imap-send" for empty response has been
431
+ improved.
432
406
-* jm/status-ignored-files-list (2017-10-31) 4 commits
407
- (merged to 'next' on 2017-11-01 at fe51978a30)
408
- + status: test ignored modes
409
- + status: document options to show matching ignored files
410
- + status: report matching ignored and normal untracked
411
- + status: add option to show ignored files differently
433
+ Will merge to 'next'.
434
413
- The set of paths output from "git status --ignored" was tied
414
- closely with its "--untracked=<mode>" option, but now it can be
415
- controlled more flexibly. Most notably, a directory that is
416
- ignored because it is listed to be ignored in the ignore/exclude
417
- mechanism can be handled differently from a directory that ends up
418
- to be ignored only because all files in it are ignored.
435
420
- Will cook in 'next'.
436
+* dk/libsecret-unlock-to-load-fix (2017-11-04) 1 commit
437
+ - credential-libsecret: unlock locked secrets
438
439
+ The credential helper for libsecret (in contrib/) has been improved
440
+ to allow possibly prompting the end user to unlock secrets that are
441
+ currently locked (otherwise the secrets may not be loaded).
442
423
-* mp/push-pushoption-config (2017-10-24) 1 commit
424
- (merged to 'next' on 2017-10-26 at 2c72164d12)
425
- + builtin/push.c: add push.pushOption config
443
+ Will merge to 'next'.
444
427
- The "--push-option=<string>" option to "git push" now defaults to a
428
- list of strings configured via push.pushOption variable.
445
430
- Will cook in 'next'.
446
+* jm/relnotes-2.15-typofix (2017-11-06) 1 commit
447
+ - fix typos in 2.15.0 release notes
448
449
+ Will merge to 'next'.
450
433
-* gc/gitweb-filetest-acl (2017-10-24) 1 commit
434
- (merged to 'next' on 2017-10-26 at 5b490f53bf)
435
- + gitweb: use filetest to allow ACLs
451
437
- "gitweb" checks if a directory is searchable with Perl's "-x"
438
- operator, which can be enhanced by using "filetest 'access'"
439
- pragma, which now we do.
452
+* sb/blame-config-doc (2017-11-06) 1 commit
453
+ - config: document blame configuration
454
441
- Will cook in 'next'.
455
+ Will merge to 'next'.
456
457
+--------------------------------------------------
458
+[Stalled]
459
460
* jn/ssh-wrappers (2017-10-30) 6 commits
461
- fixup! ssh: 'auto' variant to select between 'ssh' and 'simple'
@@ -461,243 +477,378 @@ of the repositories listed at
477
cf. <20171025163243.xmm7szrkwgblpgcc@aiede.mtv.corp.google.com>
478
479
464
-* tg/deprecate-stash-save (2017-10-27) 3 commits
465
- (merged to 'next' on 2017-10-27 at 73b1edb73b)
466
- + stash: remove now superfluos help for "stash push"
467
- + stash: mark "git stash save" deprecated in the man page
468
- + stash: replace "git stash save" with "git stash push" in the documentation
469
-
470
- "git stash save" has been deprecated in favour of "git stash push".
480
+* js/for-each-ref-remote-name-and-ref (2017-10-11) 3 commits
481
+ - for-each-ref: test :remotename and :remoteref
482
+ - for-each-ref: let upstream/push optionally report the remote ref name
483
+ - for-each-ref: let upstream/push optionally report the remote name
484
472
- Will cook in 'next'.
485
+ The "--format=..." option "git for-each-ref" takes learned to show
486
+ the name of the 'remote' repository and the ref at the remote side
487
+ that is affected for 'upstream' and 'push' via "%(push:remotename)"
488
+ and friends.
489
490
+ Needs a bit more work on the documentation part.
491
475
-* jc/check-ref-format-oor (2017-10-18) 3 commits
476
- (merged to 'next' on 2017-10-18 at 8b17566c80)
477
- + check-ref-format doc: --branch validates and expands <branch>
478
- + check-ref-format --branch: strip refs/heads/ using skip_prefix
479
- + check-ref-format --branch: do not expand @{...} outside repository
492
481
- "git check-ref-format --branch @{-1}" bit a "BUG()" when run
482
- outside a repository for obvious reasons; clarify the documentation
483
- and make sure we do not even try to expand the at-mark magic in
484
- such a case, but still call the validation logic for branch names.
493
+* jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
494
+ - merge: teach -Xours/-Xtheirs to symbolic link merge
495
486
- Will cook in 'next'.
496
+ "git merge -Xours/-Xtheirs" learned to use our/their version when
497
+ resolving a conflicting updates to a symbolic link.
498
499
+ Needs review.
500
489
-* kd/auto-col-with-pager-fix (2017-10-24) 2 commits
490
- (merged to 'next' on 2017-10-24 at ef3ff0f14b)
491
- + column: do not include pager.c
492
- (merged to 'next' on 2017-10-18 at fe89ff7e83)
493
- + column: show auto columns when pager is active
501
495
- "auto" as a value for the columnar output configuration ought to
496
- judge "is the output consumed by humans?" with the same criteria as
497
- "auto" for coloured output configuration, i.e. either the standard
498
- output stream is going to tty, or a pager is in use. We forgot the
499
- latter, which has been fixed.
502
+* mg/merge-base-fork-point (2017-09-17) 3 commits
503
+ - merge-base: find fork-point outside partial reflog
504
+ - merge-base: return fork-point outside reflog
505
+ - t6010: test actual test output
506
501
- Will cook in 'next'.
507
+ "merge-base --fork-point $branch $commit" is used to guess on which
508
+ commit among the commits that were once at the tip of the $branch the
509
+ $commit was built on top of, and it learns these historical tips from
510
+ the reflog of the $branch. When the true fork-point is lost due to
511
+ pruning of old reflog entries, the command does not give any output,
512
+ because it has no way to guess correctly and does not want to mislead
513
+ the user with a wrong guess.
514
515
+ The command has been updated to give the best but not known to be
516
+ correct guess, based on a hope that a merge-base between $commit and a
517
+ virtual merge across all the reflog entries that still are available
518
+ for $branch may still be a closer to the true fork-point than the
519
+ merge-base between $commit and the current tip of the $branch.
520
504
-* jc/t5601-copy-workaround (2017-10-17) 1 commit
505
- (merged to 'next' on 2017-10-18 at ea1e133968)
506
- + t5601: rm the target file of cp that could still be executing
521
+ This may have to be offered by an additional option, to allow the
522
+ users that are prepared to see a potentially incorrect guess to opt
523
+ into the feature, without affecting the current callers that may not
524
+ be prepared to accept a guess that is not known to be correct.
525
508
- A (possibly flakey) test fix.
526
+ What's the doneness of this one?
527
510
- Will cook in 'next'.
528
529
+* cc/perf-run-config (2017-09-24) 9 commits
530
+ - perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
531
+ - perf/run: show name of rev being built
532
+ - perf/run: add run_subsection()
533
+ - perf/run: update get_var_from_env_or_config() for subsections
534
+ - perf/run: add get_subsections()
535
+ - perf/run: add calls to get_var_from_env_or_config()
536
+ - perf/run: add GIT_PERF_DIRS_OR_REVS
537
+ - perf/run: add get_var_from_env_or_config()
538
+ - perf/run: add '--config' option to the 'run' script
539
513
-* jc/branch-name-sanity (2017-10-14) 3 commits
514
- (merged to 'next' on 2017-10-16 at 174646d1c3)
515
- + branch: forbid refs/heads/HEAD
516
- + branch: split validate_new_branchname() into two
517
- + branch: streamline "attr_only" handling in validate_new_branchname()
540
+ Needs review.
541
519
- "git branch" and "git checkout -b" are now forbidden from creating
520
- a branch whose name is "HEAD".
542
522
- Will cook in 'next'.
543
+* jk/drop-ancient-curl (2017-08-09) 5 commits
544
+ - http: #error on too-old curl
545
+ - curl: remove ifdef'd code never used with curl >=7.19.4
546
+ - http: drop support for curl < 7.19.4
547
+ - http: drop support for curl < 7.16.0
548
+ - http: drop support for curl < 7.11.1
549
550
+ Some code in http.c that has bitrot is being removed.
551
525
-* jk/revision-pruning-optim (2017-10-14) 1 commit
526
- (merged to 'next' on 2017-10-16 at 2662baa21d)
527
- + revision: quit pruning diff more quickly when possible
552
+ Expecting a reroll.
553
529
- Pathspec-limited revision traversal was taught not to keep finding
530
- unneeded differences once it knows two trees are different inside
531
- given pathspec.
554
533
- Will cook in 'next'.
555
+* mk/use-size-t-in-zlib (2017-08-10) 1 commit
556
+ . zlib.c: use size_t for size
557
558
+ The wrapper to call into zlib followed our long tradition to use
559
+ "unsigned long" for sizes of regions in memory, which have been
560
+ updated to use "size_t".
561
536
-* wk/pull-signoff (2017-10-13) 1 commit
537
- (merged to 'next' on 2017-10-16 at 5e48f349d9)
538
- + pull: pass --signoff/--no-signoff to "git merge"
562
+ Needs resurrecting by making sure the fix is good and still applies
563
+ (or adjusted to today's codebase).
564
540
- "git pull" has been taught to accept "--[no-]signoff" option and
541
- pass it down to "git merge".
565
543
- Will cook in 'next'.
566
+* mg/status-in-progress-info (2017-05-10) 2 commits
567
+ - status --short --inprogress: spell it as --in-progress
568
+ - status: show in-progress info for short status
569
570
+ "git status" learns an option to report various operations
571
+ (e.g. "merging") that the user is in the middle of.
572
546
-* dm/run-command-ignored-hook-advise (2017-10-10) 1 commit
547
- (merged to 'next' on 2017-10-10 at 0827814922)
548
- + run-command: add hint when a hook is ignored
573
+ cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
574
550
- A hook script that is set unexecutable is simply ignored. Git
551
- notifies when such a file is ignored, unless the message is
552
- squelched via advice.ignoredHook configuration.
575
554
- Will cook in 'next'.
576
+* nd/worktree-move (2017-04-20) 6 commits
577
+ - worktree remove: new command
578
+ - worktree move: refuse to move worktrees with submodules
579
+ - worktree move: accept destination as directory
580
+ - worktree move: new command
581
+ - worktree.c: add update_worktree_location()
582
+ - worktree.c: add validate_worktree()
583
584
+ "git worktree" learned move and remove subcommands.
585
557
-* hv/fetch-moved-submodules-on-demand (2017-10-17) 3 commits
558
- (merged to 'next' on 2017-10-26 at c446ea3e9a)
559
- + submodule: simplify decision tree whether to or not to fetch
560
- + implement fetching of moved submodules
561
- + fetch: add test to make sure we stay backwards compatible
586
+ Expecting a reroll.
587
+ cf. <20170420101024.7593-1-pclouds@gmail.com>
588
+ cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
589
+ cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
590
563
- "git fetch --recurse-submodules" now knows that submodules can be
564
- moved around in the superproject in addition to getting updated,
565
- and finds the ones that need to be fetched accordingly.
591
+--------------------------------------------------
592
+[Cooking]
593
+
594
+* ad/5580-unc-tests-on-cygwin (2017-11-01) 1 commit
595
+ - t5580: add Cygwin support
596
+
597
+ UNC paths are also relevant in Cygwin builds and they are now
598
+ tested just like Mingw builds.
599
+
600
+ Will merge to 'next'.
601
+
602
+
603
+* ao/merge-verbosity-getenv-just-once (2017-11-01) 1 commit
604
+ - merge-recursive: check GIT_MERGE_VERBOSITY only once
605
+
606
+ Code cleanup.
607
+
608
+ Will merge to 'next'.
609
+
610
+
611
+* bp/read-index-from-skip-verification (2017-11-01) 1 commit
612
+ - read_index_from(): speed index loading by skiping verification of the entry order
613
+
614
+ Drop (perhaps overly cautious) sanity check before using the index
615
+ read from the filesystem at runtime.
616
+
617
+ Will merge to 'next'.
618
+
619
+
620
+* rs/hex-to-bytes-cleanup (2017-11-01) 3 commits
621
+ - sha1_file: use hex_to_bytes()
622
+ - http-push: use hex_to_bytes()
623
+ - notes: move hex_to_bytes() to hex.c and export it
624
+
625
+ Code cleanup.
626
+
627
+ Will merge to 'next'.
628
+
629
+
630
+* rs/sequencer-rewrite-file-cleanup (2017-11-02) 3 commits
631
+ - sequencer.c: check return value of close() in rewrite_file()
632
+ - sequencer: use O_TRUNC to truncate files
633
+ - sequencer: factor out rewrite_file()
634
+
635
+ Code cleanup.
636
+
637
+ Will merge to 'next'.
638
+
639
+
640
+* sb/describe-blob (2017-11-03) 7 commits
641
+ - builtin/describe.c: describe a blob
642
+ - builtin/describe.c: factor out describe_commit
643
+ - builtin/describe.c: print debug statements earlier
644
+ - builtin/describe.c: rename `oid` to avoid variable shadowing
645
+ - revision.h: introduce blob/tree walking in order of the commits
646
+ - list-objects.c: factor out traverse_trees_and_blobs
647
+ - t6120: fix typo in test name
648
+
649
+ "git describe" was taught to dig trees deeper to find a
650
+ <commit-ish>:<path> that refers to a given blob object.
651
+
652
+
653
+* tb/add-renormalize (2017-10-31) 1 commit
654
+ - add: introduce "--renormalize"
655
+
656
+ "git add --renormalize ." is a new and safer way to record the fact
657
+ that you are correcting the end-of-line convention and other
658
+ "convert_to_git()" glitches in the in-repository data.
659
+
660
+ Needs review.
661
+
662
+
663
+* ab/mediawiki-name-truncation (2017-11-01) 1 commit
664
+ - remote-mediawiki: limit filenames to legal
665
+
666
+ The remote-helper for talking to MediaWiki has been updated to
667
+ truncate an overlong pagename so that ".mw" suffix can still be
668
+ added.
669
+
670
+ Will merge to 'next'.
671
+
672
+
673
+* ab/mediawiki-namespace (2017-11-03) 7 commits
674
+ - remote-mediawiki: show progress while fetching namespaces
675
+ - remote-mediawiki: process namespaces in order
676
+ - remote-mediawiki: support fetching from (Main) namespace
677
+ - remote-mediawiki: skip virtual namespaces
678
+ - remote-mediawiki: show known namespace choices on failure
679
+ - remote-mediawiki: allow fetching namespaces with spaces
680
+ - remote-mediawiki: add namespace support
681
+
682
+ The remote-helper for talking to MediaWiki has been updated to
683
+ work with mediawiki namespaces.
684
+
685
+ Are we expecting another round for v4? What is queued above came
686
+ as <20171102212518.1601-8-anarcat@debian.org> and marked v3.
687
+ cf. <87375w5qdw.fsf@curie.anarc.at>
688
+
689
+
690
+* js/mingw-full-version-in-resources (2017-11-01) 1 commit
691
+ - mingw: include the full version information in the resources
692
+
693
+ MinGW updates.
694
+
695
+ Will merge to 'next'.
696
+
697
+
698
+* js/wincred-empty-cred (2017-11-01) 2 commits
699
+ - wincred: handle empty username/password correctly
700
+ - t0302: check helper can handle empty credentials
701
+
702
+ MinGW updates.
703
+
704
+ Will merge to 'next'.
705
+
706
+
707
+* bw/diff-opt-impl-to-bitfields (2017-11-01) 8 commits
708
+ - diff: make struct diff_flags members lowercase
709
+ - diff: remove DIFF_OPT_CLR macro
710
+ - diff: remove DIFF_OPT_SET macro
711
+ - diff: remove DIFF_OPT_TST macro
712
+ - diff: remove touched flags
713
+ - diff: add flag to indicate textconv was set via cmdline
714
+ - diff: convert flags to be stored in bitfields
715
+ - add, reset: use DIFF_OPT_SET macro to set a diff flag
716
+
717
+ A single-word "unsigned flags" in the diff options is being split
718
+ into a structure with many bitfields.
719
+
720
+ Will merge to 'next'.
721
+
722
+
723
+* mh/tidy-ref-update-flags (2017-11-06) 10 commits
724
+ - refs: update some more docs to use "oid" rather than "sha1"
725
+ - write_packed_entry(): take `object_id` arguments
726
+ - refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING`
727
+ - refs: rename constant `REF_NODEREF` to `REF_NO_DEREF`
728
+ - refs: tidy up and adjust visibility of the `ref_update` flags
729
+ - ref_transaction_add_update(): remove a check
730
+ - ref_transaction_update(): die on disallowed flags
731
+ - prune_ref(): call `ref_transaction_add_update()` directly
732
+ - files_transaction_prepare(): don't leak flags to packed transaction
733
+ - Merge branch 'bc/object-id' into base
734
+
735
+ Code clean-up in refs API implementation.
736
+
737
+ Will merge to 'next'.
738
+
739
+
740
+* ao/diff-populate-filespec-lstat-errorpath-fix (2017-10-29) 1 commit
741
+ - diff: fix lstat() error handling in diff_populate_filespec()
742
+
743
+ After an error from lstat(), diff_populate_filespec() function
744
+ sometimes still went ahead and used invalid data in struct stat,
745
+ which has been fixed.
746
+
747
+ Will merge to 'next'.
748
+
749
+
750
+* av/fsmonitor (2017-11-01) 4 commits
751
+ - fsmonitor: delay updating state until after split index is merged
752
+ - fsmonitor: document GIT_TRACE_FSMONITOR
753
+ - fsmonitor: don't bother pretty-printing JSON from watchman
754
+ - fsmonitor: set the PWD to the top of the working tree
755
+ (this branch uses bp/fsmonitor.)
756
567
- Will cook in 'next'.
757
+ Various fixes to bp/fsmonitor topic.
758
759
+ Will merge to 'next'.
760
570
-* js/for-each-ref-remote-name-and-ref (2017-10-11) 3 commits
571
- - for-each-ref: test :remotename and :remoteref
572
- - for-each-ref: let upstream/push optionally report the remote ref name
573
- - for-each-ref: let upstream/push optionally report the remote name
761
575
- The "--format=..." option "git for-each-ref" takes learned to show
576
- the name of the 'remote' repository and the ref at the remote side
577
- that is affected for 'upstream' and 'push' via "%(push:remotename)"
578
- and friends.
762
+* bc/submitting-patches-in-asciidoc (2017-10-30) 2 commits
763
+ - Documentation: convert SubmittingPatches to AsciiDoc
764
+ - Documentation: enable compat-mode for Asciidoctor
765
580
- Needs a bit more work on the documentation part.
766
+ The SubmittingPatches document has been converted to produce an
767
+ HTML version via AsciiDoc/Asciidoctor.
768
769
+ Any further comments? Otherwise, will merge to 'next'.
770
583
-* pb/bisect-helper (2017-10-06) 6 commits
584
- (merged to 'next' on 2017-10-13 at ffc9aefe63)
585
- + bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
586
- + t6030: explicitly test for bisection cleanup
587
- + bisect--helper: `bisect_clean_state` shell function in C
588
- + bisect--helper: `write_terms` shell function in C
589
- + bisect--helper: rewrite `check_term_format` shell function in C
590
- + bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
591
- (this branch is used by pb/bisect-helper-2.)
771
593
- An early part of piece-by-piece rewrite of "git bisect".
772
+* pb/bisect-helper-2 (2017-10-28) 8 commits
773
+ - t6030: make various test to pass GETTEXT_POISON tests
774
+ - bisect--helper: `bisect_start` shell function partially in C
775
+ - bisect--helper: `get_terms` & `bisect_terms` shell function in C
776
+ - bisect--helper: `bisect_next_check` shell function in C
777
+ - bisect--helper: `check_and_set_terms` shell function in C
778
+ - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
779
+ - bisect--helper: `bisect_write` shell function in C
780
+ - bisect--helper: `bisect_reset` shell function in C
781
595
- Will cook in 'next'.
782
+ Expecting a reroll.
783
+ cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
784
785
598
-* bc/object-id (2017-10-16) 25 commits
599
- (merged to 'next' on 2017-10-18 at ef8aa2698d)
600
- + refs/files-backend: convert static functions to object_id
601
- + refs: convert read_raw_ref backends to struct object_id
602
- + refs: convert peel_object to struct object_id
603
- + refs: convert resolve_ref_unsafe to struct object_id
604
- + worktree: convert struct worktree to object_id
605
- + refs: convert resolve_gitlink_ref to struct object_id
606
- + Convert remaining callers of resolve_gitlink_ref to object_id
607
- + sha1_file: convert index_path and index_fd to struct object_id
608
- + refs: convert reflog_expire parameter to struct object_id
609
- + refs: convert read_ref_at to struct object_id
610
- + refs: convert peel_ref to struct object_id
611
- + builtin/pack-objects: convert to struct object_id
612
- + pack-bitmap: convert traverse_bitmap_commit_list to object_id
613
- + refs: convert dwim_log to struct object_id
614
- + builtin/reflog: convert remaining unsigned char uses to object_id
615
- + refs: convert dwim_ref and expand_ref to struct object_id
616
- + refs: convert read_ref and read_ref_full to object_id
617
- + refs: convert resolve_refdup and refs_resolve_refdup to struct object_id
618
- + Convert check_connected to use struct object_id
619
- + refs: update ref transactions to use struct object_id
620
- + refs: prevent accidental NULL dereference in write_pseudoref
621
- + refs: convert update_ref and refs_update_ref to use struct object_id
622
- + refs: convert delete_ref and refs_delete_ref to struct object_id
623
- + refs/files-backend: convert struct ref_to_prune to object_id
624
- + walker: convert to struct object_id
625
- (this branch is used by mh/tidy-ref-update-flags.)
786
+* jc/ignore-cr-at-eol (2017-10-27) 2 commits
787
+ - diff: --ignore-cr-at-eol
788
+ - xdiff: reassign xpparm_t.flags bits
789
627
- Conversion from uchar[20] to struct object_id continues.
790
+ The "diff" family of commands learned to ignore differences in
791
+ carriage return at the end of line.
792
629
- Will cook in 'next'.
793
+ Just a lunch-time hack.
794
+ Lacks tests, docs and proper log message.
795
796
632
-* jc/no-cmd-as-subroutine (2017-10-11) 2 commits
633
- (merged to 'next' on 2017-10-16 at 5f4ee919ac)
634
- + merge-ours: do not use cmd_*() as a subroutine
635
- + describe: do not use cmd_*() as a subroutine
797
+* mh/avoid-rewriting-packed-refs (2017-10-30) 2 commits
798
+ - files-backend: don't rewrite the `packed-refs` file unnecessarily
799
+ - t1409: check that `packed-refs` is not rewritten unnecessarily
800
637
- Calling cmd_foo() as if it is a general purpose helper function is
638
- a no-no. Correct two instances of such to set an example.
801
+ Recent update to the refs infrastructure implementation started
802
+ rewriting packed-refs file more often than before; this has been
803
+ optimized again for most trivial cases.
804
640
- Will cook in 'next'.
805
+ Will merge to 'next'.
806
807
643
-* jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
644
- - merge: teach -Xours/-Xtheirs to symbolic link merge
808
+* cc/git-packet-pm (2017-10-31) 7 commits
809
+ - fixup! Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
810
+ - Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
811
+ - t0021/rot13-filter: add capability functions
812
+ - t0021/rot13-filter: add packet_initialize()
813
+ - t0021/rot13-filter: improve error message
814
+ - t0021/rot13-filter: improve 'if .. elsif .. else' style
815
+ - t0021/rot13-filter: refactor packet reading functions
816
646
- "git merge -Xours/-Xtheirs" learned to use our/their version when
647
- resolving a conflicting updates to a symbolic link.
817
+ Parts of a test to drive the long-running content filter interface
818
+ has been split into its own module, hopefully to eventually become
819
+ reusable.
820
649
- Needs review.
821
+ Reroll posted but not picked up yet.
822
+ cf. <20171105213836.11717-1-chriscool@tuxfamily.org>
823
824
652
-* jt/partial-clone-lazy-fetch (2017-10-02) 18 commits
653
- - fetch-pack: restore save_commit_buffer after use
654
- - unpack-trees: batch fetching of missing blobs
655
- - clone: configure blobmaxbytes in created repos
656
- - clone: support excluding large blobs
657
- - fetch: support excluding large blobs
658
- - fetch: refactor calculation of remote list
659
- - fetch-pack: support excluding large blobs
660
- - pack-objects: support --blob-max-bytes
661
- - pack-objects: rename want_.* to ignore_.*
662
- - gc: do not repack promisor packfiles
663
- - rev-list: support termination at promisor objects
664
- - sha1_file: support lazily fetching missing objects
665
- - introduce fetch-object: fetch one promisor object
666
- - index-pack: refactor writing of .keep files
667
- - fsck: support promisor objects as CLI argument
668
- - fsck: support referenced promisor objects
669
- - fsck: support refs pointing to promisor objects
670
- - fsck: introduce partialclone extension
825
+* jm/status-ignored-files-list (2017-10-31) 4 commits
826
+ (merged to 'next' on 2017-11-01 at fe51978a30)
827
+ + status: test ignored modes
828
+ + status: document options to show matching ignored files
829
+ + status: report matching ignored and normal untracked
830
+ + status: add option to show ignored files differently
831
672
- A journey for "git clone" and "git fetch" to become "lazier" by
673
- depending more on its remote repository---this is the beginning of
674
- it.
832
+ The set of paths output from "git status --ignored" was tied
833
+ closely with its "--untracked=<mode>" option, but now it can be
834
+ controlled more flexibly. Most notably, a directory that is
835
+ ignored because it is listed to be ignored in the ignore/exclude
836
+ mechanism can be handled differently from a directory that ends up
837
+ to be ignored only because all files in it are ignored.
838
676
- Expecting a reroll.
677
- cf. <CAGf8dgLu-TeK8KbHv-U+18O+L2TxKcGv5vFFHy38J6a_YXRfew@mail.gmail.com>
839
+ Will merge to 'master'.
840
841
680
-* ma/lockfile-fixes (2017-10-07) 12 commits
681
- (merged to 'next' on 2017-10-16 at 19fae5c138)
682
- + read_cache: roll back lock in `update_index_if_able()`
683
- + read-cache: leave lock in right state in `write_locked_index()`
684
- + read-cache: drop explicit `CLOSE_LOCK`-flag
685
- + cache.h: document `write_locked_index()`
686
- + apply: remove `newfd` from `struct apply_state`
687
- + apply: move lockfile into `apply_state`
688
- + cache-tree: simplify locking logic
689
- + checkout-index: simplify locking logic
690
- + tempfile: fix documentation on `delete_tempfile()`
691
- + lockfile: fix documentation on `close_lock_file_gently()`
692
- + treewide: prefer lockfiles on the stack
693
- + sha1_file: do not leak `lock_file`
842
+* jc/branch-name-sanity (2017-10-14) 3 commits
843
+ (merged to 'next' on 2017-10-16 at 174646d1c3)
844
+ + branch: forbid refs/heads/HEAD
845
+ + branch: split validate_new_branchname() into two
846
+ + branch: streamline "attr_only" handling in validate_new_branchname()
847
695
- An earlier update made it possible to use an on-stack in-core
696
- lockfile structure (as opposed to having to deliberately leak an
697
- on-heap one). Many codepaths have been updated to take advantage
698
- of this new facility.
848
+ "git branch" and "git checkout -b" are now forbidden from creating
849
+ a branch whose name is "HEAD".
850
700
- Will cook in 'next'.
851
+ Will kick back to 'pu'.
852
853
854
* ot/mru-on-list (2017-10-01) 1 commit
@@ -707,7 +858,7 @@ of the repositories listed at
858
The first step to getting rid of mru API and using the
859
doubly-linked list API directly instead.
860
710
- Will cook in 'next'.
861
+ Is there any remaining issues on this one?
862
863
864
* jm/svn-pushmergeinfo-fix (2017-09-17) 1 commit
@@ -720,58 +871,7 @@ of the repositories listed at
871
872
Needs a test, perhaps as a follow-up patch.
873
723
-
724
-* mg/merge-base-fork-point (2017-09-17) 3 commits
725
- - merge-base: find fork-point outside partial reflog
726
- - merge-base: return fork-point outside reflog
727
- - t6010: test actual test output
728
-
729
- "merge-base --fork-point $branch $commit" is used to guess on which
730
- commit among the commits that were once at the tip of the $branch the
731
- $commit was built on top of, and it learns these historical tips from
732
- the reflog of the $branch. When the true fork-point is lost due to
733
- pruning of old reflog entries, the command does not give any output,
734
- because it has no way to guess correctly and does not want to mislead
735
- the user with a wrong guess.
736
-
737
- The command has been updated to give the best but not known to be
738
- correct guess, based on a hope that a merge-base between $commit and a
739
- virtual merge across all the reflog entries that still are available
740
- for $branch may still be a closer to the true fork-point than the
741
- merge-base between $commit and the current tip of the $branch.
742
-
743
- This may have to be offered by an additional option, to allow the
744
- users that are prepared to see a potentially incorrect guess to opt
745
- into the feature, without affecting the current callers that may not
746
- be prepared to accept a guess that is not known to be correct.
747
-
748
- What's the doneness of this one?
749
-
750
-
751
-* ds/find-unique-abbrev-optim (2017-10-13) 4 commits
752
- (merged to 'next' on 2017-10-16 at 7f4479ac52)
753
- + sha1_name: minimize OID comparisons during disambiguation
754
- + sha1_name: parse less while finding common prefix
755
- + sha1_name: unroll len loop in find_unique_abbrev_r()
756
- + p4211-line-log.sh: add log --online --raw --parents perf test
757
-
758
- Optimize the code to find shortest unique prefix of object names.
759
-
760
- Will cook in 'next'.
761
-
762
-
763
-* cc/perf-run-config (2017-09-24) 9 commits
764
- - perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
765
- - perf/run: show name of rev being built
766
- - perf/run: add run_subsection()
767
- - perf/run: update get_var_from_env_or_config() for subsections
768
- - perf/run: add get_subsections()
769
- - perf/run: add calls to get_var_from_env_or_config()
770
- - perf/run: add GIT_PERF_DIRS_OR_REVS
771
- - perf/run: add get_var_from_env_or_config()
772
- - perf/run: add '--config' option to the 'run' script
773
-
774
- Needs review.
874
+ Will merge to 'next'.
875
876
877
* bp/fsmonitor (2017-10-05) 15 commits
@@ -797,7 +897,7 @@ of the repositories listed at
897
We learned to talk to watchman to speed up "git status" and other
898
operations that need to see which paths have been modified.
899
800
- Will cook in 'next'.
900
+ Waiting for av/fsmonitor topic.
901
902
903
* bw/protocol-v1 (2017-10-17) 11 commits
@@ -819,17 +919,7 @@ of the repositories listed at
919
and demonstrated that it works with the older versions of Git
920
without harming them.
921
822
- Will cook in 'next'.
823
-
824
-
825
-* pc/submodule-helper (2017-10-07) 3 commits
826
- (merged to 'next' on 2017-10-16 at 2b38de12cc)
827
- + submodule: port submodule subcommand 'status' from shell to C
828
- + submodule--helper: introduce for_each_listed_submodule()
829
- + submodule--helper: introduce get_submodule_displaypath()
830
-
831
- GSoC.
832
- Will cook in 'next'.
922
+ Waiting for jn/ssh-wrappers topic.
923
924
925
* bc/hash-algo (2017-10-30) 4 commits
@@ -845,18 +935,6 @@ of the repositories listed at
935
cf. <20171028181239.59458-1-sandals@crustytoothpaste.net>
936
937
848
-* jk/drop-ancient-curl (2017-08-09) 5 commits
849
- - http: #error on too-old curl
850
- - curl: remove ifdef'd code never used with curl >=7.19.4
851
- - http: drop support for curl < 7.19.4
852
- - http: drop support for curl < 7.16.0
853
- - http: drop support for curl < 7.11.1
854
-
855
- Some code in http.c that has bitrot is being removed.
856
-
857
- Will be rerolled after tc/curl-with-backports stabilizes.
858
-
859
-
938
* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
939
(merged to 'next' on 2017-10-26 at 30994b4c76)
940
+ Documentation/checkout: clarify submodule HEADs to be detached
@@ -871,24 +949,6 @@ of the repositories listed at
949
This needs justification in a larger picture; it is unclear why
950
this is better than rejecting recursive checkout, for example.
951
874
-
875
-* ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
876
- (merged to 'next' on 2017-08-14 at 24db08a6e8)
877
- + pathspec: die on empty strings as pathspec
878
- + t0027: do not use an empty string as a pathspec element
879
-
880
- The final step to make an empty string as a pathspec element
881
- illegal. We started this by first deprecating and warning a
882
- pathspec that has such an element in 2.11 (Nov 2016).
883
-
884
- Hopefully we can merge this down to the 'master' by the end of the
885
- year? A deprecation warning period that is about 1 year does not
886
- sound too bad.
887
-
888
- Will cook in 'next'.
889
- As the draft RelNotes says, let's merge this to 'master' after
890
- this release cycle.
891
-
952
--------------------------------------------------
953
[Discarded]
954
@@ -903,3 +963,41 @@ of the repositories listed at
963
'always' to 'auto' to fix the regression to "git add -p" broke it.
964
965
This has been reverted from 'next'.
966
+
967
+
968
+* jt/partial-clone-lazy-fetch (2017-10-02) 18 commits
969
+ . fetch-pack: restore save_commit_buffer after use
970
+ . unpack-trees: batch fetching of missing blobs
971
+ . clone: configure blobmaxbytes in created repos
972
+ . clone: support excluding large blobs
973
+ . fetch: support excluding large blobs
974
+ . fetch: refactor calculation of remote list
975
+ . fetch-pack: support excluding large blobs
976
+ . pack-objects: support --blob-max-bytes
977
+ . pack-objects: rename want_.* to ignore_.*
978
+ . gc: do not repack promisor packfiles
979
+ . rev-list: support termination at promisor objects
980
+ . sha1_file: support lazily fetching missing objects
981
+ . introduce fetch-object: fetch one promisor object
982
+ . index-pack: refactor writing of .keep files
983
+ . fsck: support promisor objects as CLI argument
984
+ . fsck: support referenced promisor objects
985
+ . fsck: support refs pointing to promisor objects
986
+ . fsck: introduce partialclone extension
987
+
988
+ A journey for "git clone" and "git fetch" to become "lazier" by
989
+ depending more on its remote repository---this is the beginning of
990
+ it.
991
+
992
+ Superseded by three topics that end with jh/partial-clone.
993
+
994
+
995
+* jh/dir-add-exclude-from-blob (2017-10-27) 1 commit
996
+ - dir: allow exclusions from blob in addition to file
997
+
998
+ The code to read exclusion list from a blob, which is used when the
999
+ .gitignore file is outside a sparse checkout area, has been
1000
+ refactored so that other codepath can later use it to do the same
1001
+ outside the context of "sparse checkout".
1002
+
1003
+ Now part of jh/object-filtering topic.