What's cooking (2017/09 #04)
Junio C Hamano committed
Sep 25, 2017 at 16:20 UTC
78e4e40cfad95d4f18011a6bafca9857a7b60a1f
1 file changed
+754
-434
whats-cooking.txt
+754
-434
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Sep 2017, #03; Fri, 15)
4
-X-master-at: 6867272d5b5615bd74ec97bf35b4c4a8d9fe3a51
5
-X-next-at: 8fa685d3b7c93b129c2017f1ba5db82ebb76a715
3
+Subject: What's cooking in git.git (Sep 2017, #04; Mon, 25)
4
+X-master-at: 28996cec80690d2322359d3650a57e8de6e01eb6
5
+X-next-at: 2c7b836f3ab9b78a2baeee97e329e4c1a1e4c005
6
7
-What's cooking in git.git (Sep 2017, #03; Fri, 15)
7
+What's cooking in git.git (Sep 2017, #04; Mon, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,10 +12,9 @@ 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
-We are at week #6 of this cycle. It seems that people had a
16
-productive week while I was away, which I am reasonably happy about
17
-;-) Quite a many topics that have been in 'master' are now also
18
-merged to 'maint', so perhaps I should tag 2.14.2 soonish.
15
+We are at week #8 of this cycle. Quite a many topics that have been
16
+in 'master' are now also merged to 'maint', so perhaps I should tag
17
+2.14.2 soonish.
18
19
You can find the changes described here in the integration branches
20
of the repositories listed at
@@ -23,243 +22,70 @@ of the repositories listed at
22
http://git-blame.blogspot.com/p/git-public-repositories.html
23
24
--------------------------------------------------
26
-[New Topics]
27
-
28
-* cc/subprocess-handshake-missing-capabilities (2017-09-11) 1 commit
29
- - subprocess: loudly die when subprocess asks for an unsupported capability
30
-
31
- Finishing touches to a topic already in 'master'.
32
-
33
- Will merge to 'next'.
34
-
35
-
36
-* bw/protocol-v1 (2017-09-14) 8 commits
37
- - i5700: add interop test for protocol transition
38
- - http: tell server that the client understands v1
39
- - connect: tell server that the client understands v1
40
- - connect: teach client to recognize v1 server response
41
- - upload-pack, receive-pack: introduce protocol version 1
42
- - daemon: recognize hidden request arguments
43
- - protocol: introduce protocol extention mechanisms
44
- - pkt-line: add packet_write function
45
-
46
- A new mechanism to upgrade the wire protocol in place is proposed
47
- and demonstrated that it works with the older versions of Git
48
- without harming them.
49
-
50
-
51
-* ez/doc-duplicated-words-fix (2017-09-14) 1 commit
52
- - doc: fix minor typos (extra/duplicated words)
53
-
54
- Typofix.
55
-
56
- Will merge to 'next'.
57
-
58
-
59
-* jk/write-in-full-fix (2017-09-14) 8 commits
60
- - read_pack_header: handle signed/unsigned comparison in read result
61
- - config: flip return value of store_write_*()
62
- - notes-merge: use ssize_t for write_in_full() return value
63
- - pkt-line: check write_in_full() errors against "< 0"
64
- - convert less-trivial versions of "write_in_full() != len"
65
- - avoid "write_in_full(fd, buf, len) != len" pattern
66
- - get-tar-commit-id: check write_in_full() return against 0
67
- - config: avoid "write_in_full(fd, buf, len) < len" pattern
68
-
69
- Many codepaths did not diagnose write failures correctly when disks
70
- go full, due to their misuse of write_in_full() helper function,
71
- which have been corrected.
72
-
73
- Will merge to 'next'.
74
-
75
-
76
-* jn/per-repo-object-store-fixes (2017-09-14) 3 commits
77
- - replace-objects: evaluate replacement refs without using the object store
78
- - push, fetch: error out for submodule entries not pointing to commits
79
- - pack: make packed_git_mru global a value instead of a pointer
80
-
81
- Step #0 of a planned & larger series.
82
-
83
- Will merge to 'next'.
84
-
85
-
86
-* ks/commit-do-not-touch-cut-line (2017-09-15) 1 commit
87
- - commit-template: change a message to be more intuitive
88
-
89
- The explanation of the cut-line in the commit log editor has been
90
- slightly tweaked.
91
-
92
- Will merge to 'next'.
93
-
94
-
95
-* ks/help-alias-label (2017-09-14) 1 commit
96
- - help: change a message to be more precise
97
-
98
- "git help co" now says "co is aliased to ...", not "git co is".
99
-
100
- Will merge to 'next'.
101
-
102
-
103
-* mh/mmap-packed-refs (2017-09-14) 20 commits
104
- - packed-backend.c: rename a bunch of things and update comments
105
- - mmapped_ref_iterator: inline into `packed_ref_iterator`
106
- - ref_cache: remove support for storing peeled values
107
- - packed_ref_store: get rid of the `ref_cache` entirely
108
- - ref_store: implement `refs_peel_ref()` generically
109
- - packed_read_raw_ref(): read the reference from the mmapped buffer
110
- - packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
111
- - read_packed_refs(): ensure that references are ordered when read
112
- - packed_ref_cache: keep the `packed-refs` file open and mmapped
113
- - mmapped_ref_iterator_advance(): no peeled value for broken refs
114
- - mmapped_ref_iterator: add iterator over a packed-refs file
115
- - packed_ref_cache: remember the file-wide peeling state
116
- - read_packed_refs(): read references with minimal copying
117
- - read_packed_refs(): make parsing of the header line more robust
118
- - read_packed_refs(): only check for a header at the top of the file
119
- - read_packed_refs(): use mmap to read the `packed-refs` file
120
- - die_unterminated_line(), die_invalid_line(): new functions
121
- - packed_ref_cache: add a backlink to the associated `packed_ref_store`
122
- - prefix_ref_iterator: break when we leave the prefix
123
- - ref_iterator: keep track of whether the iterator output is ordered
124
- (this branch uses mh/packed-ref-transactions.)
125
-
126
- Operations that do not touch (majority of) packed refs have been
127
- optimized by making accesses to packed-refs file lazy; we no longer
128
- pre-parse everything, and an access to a single ref in the
129
- packed-refs does not touch majority of irrelevant refs, either.
130
-
131
- Expecting a rework to also work on Windows.
132
-
133
-
134
-* nm/imap-send-with-curl (2017-09-15) 4 commits
135
- - imap-send: use curl by default when possible
136
- - imap_send: setup_curl: retreive credentials if not set in config file
137
- - imap-send: add wrapper to get server credentials if needed
138
- - imap-send: return with error if curl failed
139
-
140
- "git imap-send" has our own implementation of the protocol and also
141
- can use more recent libCurl with the imap protocol support. Update
142
- the latter so that it can use the credential subsystem, and then
143
- make it the default option to use, so that we can eventually
144
- deprecate and remove the former.
145
-
146
- Will merge to 'next'.
25
+[Graduated to "master"]
26
27
+* sb/merge-commit-msg-hook (2017-09-22) 1 commit
28
+ (merged to 'next' on 2017-09-25 at 096e0502a8)
29
+ + Documentation/githooks: mention merge in commit-msg hook
30
149
-* rj/test-ulimit-on-windows (2017-09-15) 1 commit
150
- - test-lib: don't use ulimit in test prerequisites on cygwin
151
- (this branch uses mg/name-rev-tests-with-short-stack.)
152
-
153
- On Cygwin, "ulimit -s" does not report failure but it does not work
154
- at all, which causes an unexpected success of some tests that
155
- expect failures under a limited stack situation. This has been
156
- fixed.
157
-
158
- Will merge to 'next'.
159
-
160
-
161
-* rs/archive-excluded-directory (2017-09-14) 1 commit
162
- - archive: don't add empty directories to archives
163
-
164
- "git archive", especially when used with pathspec, stored an empty
165
- directory in its output, even though Git itself never does so.
166
- This has been fixed.
167
-
168
- Will merge to 'next'.
169
-
170
-
171
-* tg/refs-allowed-flags (2017-09-14) 1 commit
172
- - refs: strip out not allowed flags from ref_transaction_update
173
-
174
- API error-proofing which happens to also squelch warnings from GCC.
175
-
176
- Will merge to 'next'.
177
-
178
---------------------------------------------------
179
-[Stalled]
180
-
181
-* mg/status-in-progress-info (2017-05-10) 2 commits
182
- - status --short --inprogress: spell it as --in-progress
183
- - status: show in-progress info for short status
184
-
185
- "git status" learns an option to report various operations
186
- (e.g. "merging") that the user is in the middle of.
31
+ As "git commit" to conclude a conflicted "git merge" honors the
32
+ commit-msg hook, "git merge" that records a merge commit that
33
+ cleanly auto-merges should, but it didn't.
34
188
- cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
35
36
+* aw/gc-lockfile-fscanf-fix (2017-09-17) 1 commit
37
+ (merged to 'next' on 2017-09-24 at 999ccd41aa)
38
+ + gc: call fscanf() with %<len>s, not %<len>c, when reading hostname
39
191
-* nd/worktree-move (2017-04-20) 6 commits
192
- - worktree remove: new command
193
- - worktree move: refuse to move worktrees with submodules
194
- - worktree move: accept destination as directory
195
- - worktree move: new command
196
- - worktree.c: add update_worktree_location()
197
- - worktree.c: add validate_worktree()
40
+ "git gc" tries to avoid running two instances at the same time by
41
+ reading and writing pid/host from and to a lock file; it used to
42
+ use an incorrect fscanf() format when reading, which has been
43
+ corrected.
44
199
- "git worktree" learned move and remove subcommands.
45
201
- Expecting a reroll.
202
- cf. <20170420101024.7593-1-pclouds@gmail.com>
203
- cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
204
- cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
46
+* bb/doc-eol-dirty (2017-09-07) 1 commit
47
+ (merged to 'next' on 2017-09-14 at 2f0cb688c6)
48
+ + Documentation: mention that `eol` can change the dirty status of paths
49
50
+ Doc update.
51
207
-* sg/clone-refspec-from-command-line-config (2017-06-16) 2 commits
208
- - Documentation/clone: document ignored configuration variables
209
- - clone: respect additional configured fetch refspecs during initial fetch
210
- (this branch is used by sg/remote-no-string-refspecs.)
52
212
- "git clone -c var=val" is a way to set configuration variables in
213
- the resulting repository, but it is more useful to also make these
214
- variables take effect while the initial clone is happening,
215
- e.g. these configuration variables could be fetch refspecs.
53
+* bw/git-clang-format (2017-08-14) 2 commits
54
+ (merged to 'next' on 2017-09-24 at ae51a4e81c)
55
+ + Makefile: add style build rule
56
+ + clang-format: outline the git project's coding style
57
217
- Waiting for a response.
218
- cf. <20170617112228.vugswym4o4owf6wj@sigill.intra.peff.net>
219
- cf. <xmqqmv8zhdap.fsf@gitster.mtv.corp.google.com>
58
+ "make style" runs git-clang-format to help developers by pointing
59
+ out coding style issues.
60
61
222
-* js/rebase-i-final (2017-07-27) 10 commits
223
- - rebase -i: rearrange fixup/squash lines using the rebase--helper
224
- - t3415: test fixup with wrapped oneline
225
- - rebase -i: skip unnecessary picks using the rebase--helper
226
- - rebase -i: check for missing commits in the rebase--helper
227
- - t3404: relax rebase.missingCommitsCheck tests
228
- - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
229
- - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
230
- - rebase -i: remove useless indentation
231
- - rebase -i: generate the script via rebase--helper
232
- - t3415: verify that an empty instructionFormat is handled as before
62
+* cc/subprocess-handshake-missing-capabilities (2017-09-11) 1 commit
63
+ (merged to 'next' on 2017-09-19 at 7d0c272bc8)
64
+ + subprocess: loudly die when subprocess asks for an unsupported capability
65
234
- The final batch to "git rebase -i" updates to move more code from
235
- the shell script to C.
66
+ Finishing touches to a topic already in 'master'.
67
237
- Expecting a reroll.
68
69
+* dw/diff-highlight-makefile-fix (2017-09-06) 1 commit
70
+ (merged to 'next' on 2017-09-10 at 8dfda480ac)
71
+ + diff-highlight: add clean target to Makefile
72
240
-* bp/fsmonitor (2017-06-12) 6 commits
241
- - fsmonitor: add a sample query-fsmonitor hook script for Watchman
242
- - fsmonitor: add documentation for the fsmonitor extension.
243
- - fsmonitor: add test cases for fsmonitor extension
244
- - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
245
- - dir: make lookup_untracked() available outside of dir.c
246
- - bswap: add 64 bit endianness helper get_be64
73
+ Build clean-up.
74
248
- We learned to talk to watchman to speed up "git status".
75
250
- Expecting a reroll.
251
- cf. <bade1166-e646-b05a-f65b-adb8da8ba0a7@gmail.com>
76
+* ez/doc-duplicated-words-fix (2017-09-14) 1 commit
77
+ (merged to 'next' on 2017-09-19 at 20781bd866)
78
+ + doc: fix minor typos (extra/duplicated words)
79
253
---------------------------------------------------
254
-[Cooking]
80
+ Typofix.
81
256
-* bb/doc-eol-dirty (2017-09-07) 1 commit
257
- (merged to 'next' on 2017-09-14 at 2f0cb688c6)
258
- + Documentation: mention that `eol` can change the dirty status of paths
82
260
- Doc update.
83
+* hv/mv-nested-submodules-test (2017-09-17) 1 commit
84
+ (merged to 'next' on 2017-09-24 at d36650bbca)
85
+ + add test for bug in git-mv for recursive submodules
86
262
- Will merge to 'master'.
87
+ A test to demonstrate "git mv" failing to adjust nested submodules
88
+ has been added.
89
90
91
* jh/hashmap-disable-counting (2017-09-07) 1 commit
@@ -270,7 +96,12 @@ of the repositories listed at
96
adding a new item needs to expand the hashtable by rehashing; add
97
an API to disable the automatic rehashing to work it around.
98
273
- Will merge to 'master'.
99
+
100
+* jk/config-lockfile-leak-fix (2017-09-06) 1 commit
101
+ (merged to 'next' on 2017-09-10 at 7b91d71749)
102
+ + config: use a static lock_file struct
103
+
104
+ A leakfix.
105
106
107
* jk/incore-lockfile-removal (2017-09-06) 20 commits
@@ -301,10 +132,28 @@ of the repositories listed at
132
tempfile APIs have been updated to reduce the chance of programming
133
errors.
134
304
- Will merge to 'master'.
135
136
+* jk/info-alternates-fix (2017-09-20) 2 commits
137
+ (merged to 'next' on 2017-09-24 at d1594d1397)
138
+ + read_info_alternates: warn on non-trivial errors
139
+ + Merge branch 'jk/info-alternates-fix-2.11' into jk/info-alternates-fix
140
+ (this branch uses jk/info-alternates-fix-2.11.)
141
+
142
+ A regression fix for 2.11 that made the code to read the list of
143
+ alternate object stores overrun the end of the string.
144
+
145
+
146
+* jk/info-alternates-fix-2.11 (2017-09-20) 1 commit
147
+ + read_info_alternates: read contents into strbuf
148
+ (this branch is used by jk/info-alternates-fix.)
149
307
-* jk/leak-checkers (2017-09-08) 10 commits
150
+ A regression fix for 2.11 that made the code to read the list of
151
+ alternate object stores overrun the end of the string.
152
+
153
+
154
+* jk/leak-checkers (2017-09-08) 11 commits
155
+ (merged to 'next' on 2017-09-20 at 5e9ba01461)
156
+ + git-compat-util: make UNLEAK less error-prone
157
(merged to 'next' on 2017-09-14 at 906ed9f590)
158
+ add UNLEAK annotation for reducing leak false positives
159
+ set_git_dir: handle feeding gitdir to itself
@@ -324,7 +173,20 @@ of the repositories listed at
173
a mechanism for developers to mark that the region of memory
174
pointed by a pointer is not lost/leaking to help these tools.
175
327
- Will merge to 'master'.
176
+
177
+* jk/revision-remove-cmdline-pathspec (2017-09-21) 2 commits
178
+ (merged to 'next' on 2017-09-24 at 2adfb89370)
179
+ + pathspec doc: parse_pathspec does not maintain references to args
180
+ + revision: replace "struct cmdline_pathspec" with argv_array
181
+
182
+ Code clean-up that also plugs memory leaks.
183
+
184
+
185
+* jk/shortlog-ident-cleanup (2017-09-09) 1 commit
186
+ (merged to 'next' on 2017-09-14 at 09695b6c39)
187
+ + shortlog: skip format/parse roundtrip for internal traversal
188
+
189
+ Code clean-up.
190
191
192
* jk/system-path-cleanup (2017-09-07) 2 commits
@@ -334,50 +196,175 @@ of the repositories listed at
196
197
Code clean-up.
198
337
- Will merge to 'master'.
199
+
200
+* jk/write-in-full-fix (2017-09-14) 8 commits
201
+ (merged to 'next' on 2017-09-19 at 7b26691c07)
202
+ + read_pack_header: handle signed/unsigned comparison in read result
203
+ + config: flip return value of store_write_*()
204
+ + notes-merge: use ssize_t for write_in_full() return value
205
+ + pkt-line: check write_in_full() errors against "< 0"
206
+ + convert less-trivial versions of "write_in_full() != len"
207
+ + avoid "write_in_full(fd, buf, len) != len" pattern
208
+ + get-tar-commit-id: check write_in_full() return against 0
209
+ + config: avoid "write_in_full(fd, buf, len) < len" pattern
210
+
211
+ Many codepaths did not diagnose write failures correctly when disks
212
+ go full, due to their misuse of write_in_full() helper function,
213
+ which have been corrected.
214
+
215
+
216
+* jn/per-repo-object-store-fixes (2017-09-14) 3 commits
217
+ (merged to 'next' on 2017-09-19 at 95aef30d5b)
218
+ + replace-objects: evaluate replacement refs without using the object store
219
+ + push, fetch: error out for submodule entries not pointing to commits
220
+ + pack: make packed_git_mru global a value instead of a pointer
221
+
222
+ Step #0 of a planned & larger series to make the in-core object
223
+ store per in-core repository object.
224
225
226
* jt/packmigrate (2017-09-06) 1 commit
227
(merged to 'next' on 2017-09-14 at 169e9573a0)
228
+ Remove inadvertently added outgoing/packfile.h
229
344
- An oops fix.
345
-
346
- Will merge to 'master'.
230
+ Remove unneeded file added by a topic already in 'master'.
231
232
233
* kd/doc-for-each-ref (2017-09-12) 2 commits
350
- - doc/for-each-ref: explicitly specify option names
351
- - doc/for-each-ref: consistently use '=' to between argument names and values
234
+ (merged to 'next' on 2017-09-19 at 993a2ae375)
235
+ + doc/for-each-ref: explicitly specify option names
236
+ + doc/for-each-ref: consistently use '=' to between argument names and values
237
238
Doc update.
239
355
- Will merge to 'next'.
240
241
+* ks/commit-do-not-touch-cut-line (2017-09-15) 1 commit
242
+ (merged to 'next' on 2017-09-19 at 83891def6b)
243
+ + commit-template: change a message to be more intuitive
244
358
-* kw/write-index-reduce-alloc (2017-09-08) 2 commits
359
- - read-cache: fix index corruption with index v4
360
- - Add t/helper/test-write-cache to .gitignore
245
+ The explanation of the cut-line in the commit log editor has been
246
+ slightly tweaked.
247
362
- Will merge to 'next'.
248
249
+* ks/help-alias-label (2017-09-14) 1 commit
250
+ (merged to 'next' on 2017-09-19 at 7737c853e0)
251
+ + help: change a message to be more precise
252
365
-* ma/remove-config-maybe-bool (2017-09-07) 1 commit
366
- (merged to 'next' on 2017-09-14 at d0c7fb97a9)
367
- + config: remove git_config_maybe_bool
253
+ "git help co" now says "co is aliased to ...", not "git co is".
254
369
- Finishing touches to a recent topic.
255
371
- Will merge to 'master'.
256
+* ks/test-readme-phrasofix (2017-09-19) 1 commit
257
+ (merged to 'next' on 2017-09-24 at 3a721d05f5)
258
+ + t/README: fix typo and grammatically improve a sentence
259
260
+ Doc updates.
261
374
-* mh/packed-ref-store-prep (2017-09-07) 1 commit
375
- (merged to 'next' on 2017-09-14 at e3ef821847)
376
- + rev-parse: don't trim bisect refnames
262
378
- Finishing touches to a recent topic.
263
+* kw/merge-recursive-cleanup (2017-09-08) 3 commits
264
+ (merged to 'next' on 2017-09-14 at 9f20025e6b)
265
+ + merge-recursive: change current file dir string_lists to hashmap
266
+ + merge-recursive: remove return value from get_files_dirs
267
+ + merge-recursive: fix memory leak
268
380
- Will merge to 'master'.
269
+ A leakfix and code clean-up.
270
+
271
+
272
+* kw/write-index-reduce-alloc (2017-09-08) 2 commits
273
+ (merged to 'next' on 2017-09-19 at d0e32c567a)
274
+ + read-cache: fix index corruption with index v4
275
+ + Add t/helper/test-write-cache to .gitignore
276
+
277
+ A hotfix to a topic already in 'master'.
278
+
279
+
280
+* ls/travis-scriptify (2017-09-22) 4 commits
281
+ (merged to 'next' on 2017-09-24 at 6e808f0472)
282
+ + travis-ci: fix "skip_branch_tip_with_tag()" string comparison
283
+ (merged to 'next' on 2017-09-14 at 8fa685d3b7)
284
+ + travis: dedent a few scripts that are indented overly deeply
285
+ + travis-ci: skip a branch build if equal tag is present
286
+ + travis-ci: move Travis CI code into dedicated scripts
287
+
288
+ The scripts to drive TravisCI has been reorganized and then an
289
+ optimization to avoid spending cycles on a branch whose tip is
290
+ tagged has been implemented.
291
+
292
+
293
+* ma/pkt-line-leakfix (2017-09-06) 1 commit
294
+ (merged to 'next' on 2017-09-10 at f0d9994319)
295
+ + pkt-line: re-'static'-ify buffer in packet_write_fmt_1()
296
+
297
+ A leakfix.
298
+
299
+
300
+* ma/remove-config-maybe-bool (2017-09-07) 1 commit
301
+ (merged to 'next' on 2017-09-14 at d0c7fb97a9)
302
+ + config: remove git_config_maybe_bool
303
+
304
+ Finishing touches to a recent topic.
305
+
306
+
307
+* ma/split-symref-update-fix (2017-09-10) 4 commits
308
+ (merged to 'next' on 2017-09-10 at 96c403fca7)
309
+ + refs/files-backend: add `refname`, not "HEAD", to list
310
+ + refs/files-backend: correct return value in lock_ref_for_update
311
+ + refs/files-backend: fix memory leak in lock_ref_for_update
312
+ + refs/files-backend: add longer-scoped copy of string to list
313
+
314
+ A leakfix.
315
+
316
+
317
+* mg/name-rev-tests-with-short-stack (2017-09-08) 4 commits
318
+ (merged to 'next' on 2017-09-14 at 1e4a0fe206)
319
+ + t6120: test describe and name-rev with deep repos
320
+ + t6120: clean up state after breaking repo
321
+ + t6120: test name-rev --all and --stdin
322
+ + t7004: move limited stack prereq to test-lib
323
+ (this branch is used by rj/test-ulimit-on-windows.)
324
+
325
+ A handful of tests to demonstrates a recursive implementation of
326
+ "name-rev" hurts.
327
+
328
+
329
+* mg/timestamp-t-fix (2017-09-06) 1 commit
330
+ (merged to 'next' on 2017-09-10 at a5df4d5b3e)
331
+ + name-rev: change ULONG_MAX to TIME_MAX
332
+
333
+ A mismerge fix.
334
+
335
+
336
+* mh/for-each-string-list-item-empty-fix (2017-09-20) 1 commit
337
+ (merged to 'next' on 2017-09-24 at 7ca1782f86)
338
+ + for_each_string_list_item: avoid undefined behavior for empty list
339
+
340
+ Code cmp.std.c nitpick.
341
+
342
+
343
+* mh/notes-cleanup (2017-09-09) 13 commits
344
+ (merged to 'next' on 2017-09-10 at cb1d725504)
345
+ + load_subtree(): check that `prefix_len` is in the expected range
346
+ (merged to 'next' on 2017-08-26 at 2d6df46966)
347
+ + load_subtree(): declare some variables to be `size_t`
348
+ + hex_to_bytes(): simpler replacement for `get_oid_hex_segment()`
349
+ + get_oid_hex_segment(): don't pad the rest of `oid`
350
+ + load_subtree(): combine some common code
351
+ + get_oid_hex_segment(): return 0 on success
352
+ + load_subtree(): only consider blobs to be potential notes
353
+ + load_subtree(): check earlier whether an internal node is a tree entry
354
+ + load_subtree(): separate logic for internal vs. terminal entries
355
+ + load_subtree(): fix incorrect comment
356
+ + load_subtree(): reduce the scope of some local variables
357
+ + load_subtree(): remove unnecessary conditional
358
+ + notes: make GET_NIBBLE macro more robust
359
+
360
+ Code clean-up.
361
+
362
+
363
+* mh/packed-ref-store-prep (2017-09-07) 1 commit
364
+ (merged to 'next' on 2017-09-14 at e3ef821847)
365
+ + rev-parse: don't trim bisect refnames
366
+
367
+ Fix regression to "gitk --bisect" by a recent update.
368
369
370
* mh/packed-ref-transactions (2017-09-09) 11 commits
@@ -398,7 +385,45 @@ of the repositories listed at
385
Implement transactional update to the packed-ref representation of
386
references.
387
401
- Will merge to 'master'.
388
+
389
+* nd/prune-in-worktree (2017-08-24) 16 commits
390
+ (merged to 'next' on 2017-09-14 at 3efe283118)
391
+ + refs.c: reindent get_submodule_ref_store()
392
+ + refs.c: remove fallback-to-main-store code get_submodule_ref_store()
393
+ + rev-list: expose and document --single-worktree
394
+ + revision.c: --reflog add HEAD reflog from all worktrees
395
+ + files-backend: make reflog iterator go through per-worktree reflog
396
+ + revision.c: --all adds HEAD from all worktrees
397
+ + refs: remove dead for_each_*_submodule()
398
+ + refs.c: move for_each_remote_ref_submodule() to submodule.c
399
+ + revision.c: use refs_for_each*() instead of for_each_*_submodule()
400
+ + refs: add refs_head_ref()
401
+ + refs: move submodule slash stripping code to get_submodule_ref_store
402
+ + refs.c: refactor get_submodule_ref_store(), share common free block
403
+ + revision.c: --indexed-objects add objects from all worktrees
404
+ + revision.c: refactor add_index_objects_to_pending()
405
+ + refs.c: use is_dir_sep() in resolve_gitlink_ref()
406
+ + revision.h: new flag in struct rev_info wrt. worktree-related refs
407
+
408
+ "git gc" and friends when multiple worktrees are used off of a
409
+ single repository did not consider the index and per-worktree refs
410
+ of other worktrees as the root for reachability traversal, making
411
+ objects that are in use only in other worktrees to be subject to
412
+ garbage collection.
413
+
414
+
415
+* nm/imap-send-with-curl (2017-09-15) 4 commits
416
+ (merged to 'next' on 2017-09-19 at d07debeb6c)
417
+ + imap-send: use curl by default when possible
418
+ + imap_send: setup_curl: retreive credentials if not set in config file
419
+ + imap-send: add wrapper to get server credentials if needed
420
+ + imap-send: return with error if curl failed
421
+
422
+ "git imap-send" has our own implementation of the protocol and also
423
+ can use more recent libCurl with the imap protocol support. Update
424
+ the latter so that it can use the credential subsystem, and then
425
+ make it the default option to use, so that we can eventually
426
+ deprecate and remove the former.
427
428
429
* nm/pull-submodule-recurse-config (2017-09-07) 2 commits
@@ -410,7 +435,46 @@ of the repositories listed at
435
"--recurse-submodules" option was given from the command line.
436
This has been corrected.
437
413
- Will merge to 'master'.
438
+
439
+* ow/rev-parse-is-shallow-repo (2017-09-19) 1 commit
440
+ (merged to 'next' on 2017-09-24 at 8f1b915908)
441
+ + rev-parse: rev-parse: add --is-shallow-repository
442
+
443
+ "git rev-parse" learned "--is-shallow-repository", that is to be
444
+ used in a way similar to existing "--is-bare-repository" and
445
+ friends.
446
+
447
+
448
+* rj/test-ulimit-on-windows (2017-09-19) 3 commits
449
+ (merged to 'next' on 2017-09-24 at b01a595c05)
450
+ + t9010-*.sh: skip all tests if the PIPE prereq is missing
451
+ + test-lib: use more compact expression in PIPE prerequisite
452
+ + test-lib: don't use ulimit in test prerequisites on cygwin
453
+ (this branch uses mg/name-rev-tests-with-short-stack.)
454
+
455
+ On Cygwin, "ulimit -s" does not report failure but it does not work
456
+ at all, which causes an unexpected success of some tests that
457
+ expect failures under a limited stack situation. This has been
458
+ fixed.
459
+
460
+
461
+* rk/commit-tree-make-F-verbatim (2017-09-10) 1 commit
462
+ (merged to 'next' on 2017-09-14 at 3d40c900f3)
463
+ + commit-tree: do not complete line in -F input
464
+
465
+ Unlike "git commit-tree < file", "git commit-tree -F file" did not
466
+ pass the contents of the file verbatim and instead completed an
467
+ incomplete line at the end, if exists. The latter has been updated
468
+ to match the behaviour of the former.
469
+
470
+
471
+* rs/archive-excluded-directory (2017-09-14) 1 commit
472
+ (merged to 'next' on 2017-09-19 at c695db3039)
473
+ + archive: don't add empty directories to archives
474
+
475
+ "git archive", especially when used with pathspec, stored an empty
476
+ directory in its output, even though Git itself never does so.
477
+ This has been fixed.
478
479
480
* rs/strbuf-leakfix (2017-09-10) 34 commits
@@ -452,128 +516,490 @@ of the repositories listed at
516
517
Many leaks of strbuf have been fixed.
518
519
+
520
+* tb/test-lint-echo-e (2017-09-21) 1 commit
521
+ (merged to 'next' on 2017-09-24 at dfa5caa4ce)
522
+ + test-lint: echo -e (or -E) is not portable
523
+
524
+ The test linter has been taught that we do not like "echo -e".
525
+
526
+
527
+* tg/refs-allowed-flags (2017-09-14) 1 commit
528
+ (merged to 'next' on 2017-09-19 at 407066a925)
529
+ + refs: strip out not allowed flags from ref_transaction_update
530
+
531
+ API error-proofing which happens to also squelch warnings from GCC.
532
+
533
+
534
+* ti/external-sha1dc (2017-08-16) 2 commits
535
+ (merged to 'next' on 2017-08-26 at a0fb4e91a5)
536
+ + sha1dc: allow building with the external sha1dc library
537
+ + sha1dc: build git plumbing code more explicitly
538
+
539
+ Platforms that ship with a separate sha1 with collision detection
540
+ library can link to it instead of using the copy we ship as part of
541
+ our source tree.
542
+
543
+--------------------------------------------------
544
+[New Topics]
545
+
546
+* sb/merge-commit-msg-hook (2017-09-22) 1 commit
547
+ (merged to 'next' on 2017-09-25 at 096e0502a8)
548
+ + Documentation/githooks: mention merge in commit-msg hook
549
+
550
+ Add documentation for a topic that has recently graduated to the
551
+ 'master' branch.
552
+
553
Will merge to 'master'.
554
555
458
-* jk/shortlog-ident-cleanup (2017-09-09) 1 commit
459
- (merged to 'next' on 2017-09-14 at 09695b6c39)
460
- + shortlog: skip format/parse roundtrip for internal traversal
556
+* jk/describe-omit-some-refs (2017-09-17) 1 commit
557
+ (merged to 'next' on 2017-09-24 at c373c71279)
558
+ + describe: fix matching to actually match all patterns
559
+ (this branch is used by mk/describe-match-with-all.)
560
+
561
+ "git describe --match" learned to take multiple patterns in v2.13
562
+ series, but the feature ignored the patterns after the first one
563
+ and did not work at all. This has been fixed.
564
+
565
+ Will merge to 'master'.
566
+
567
+
568
+* jm/svn-pushmergeinfo-fix (2017-09-17) 1 commit
569
+ - git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames.
570
+
571
+ "git svn dcommit" did not take into account the fact that a
572
+ svn+ssh:// URL with a username@ (typically used for pushing) refers
573
+ to the same SVN repository without the username@ and failed when
574
+ svn.pushmergeinfo option is set.
575
+
576
+ Needs a test, perhaps as a follow-up patch.
577
+
578
+
579
+* mg/merge-base-fork-point (2017-09-17) 3 commits
580
+ - merge-base: find fork-point outside partial reflog
581
+ - merge-base: return fork-point outside reflog
582
+ - t6010: test actual test output
583
+
584
+ "merge-base --fork-point $branch $commit" is used to guess on which
585
+ commit among the commits that were once at the tip of the $branch the
586
+ $commit was built on top of, and it learns these historical tips from
587
+ the reflog of the $branch. When the true fork-point is lost due to
588
+ pruning of old reflog entries, the command does not give any output,
589
+ because it has no way to guess correctly and does not want to mislead
590
+ the user with a wrong guess.
591
+
592
+ The command has been updated to give the best but not known to be
593
+ correct guess, based on a hope that a merge-base between $commit and a
594
+ virtual merge across all the reflog entries that still are available
595
+ for $branch may still be a closer to the true fork-point than the
596
+ merge-base between $commit and the current tip of the $branch.
597
+
598
+ This may have to be offered by an additional option, to allow the
599
+ users that are prepared to see a potentially incorrect guess to opt
600
+ into the feature, without affecting the current callers that may not
601
+ be prepared to accept a guess that is not known to be correct.
602
+
603
+
604
+* bc/rev-parse-parseopt-fix (2017-09-25) 7 commits
605
+ - parse-options: only insert newline in help text if needed
606
+ - parse-options: write blank line to correct output stream
607
+ - t0040,t1502: Demonstrate parse_options bugs
608
+ (merged to 'next' on 2017-09-24 at e479bce0ff)
609
+ + git-rebase: don't ignore unexpected command line arguments
610
+ + rev-parse parseopt: interpret any whitespace as start of help text
611
+ + rev-parse parseopt: do not search help text for flag chars
612
+ + t1502: demonstrate rev-parse --parseopt option mis-parsing
613
+
614
+ Recent versions of "git rev-parse --parseopt" did not parse the
615
+ option specification that does not have the optional flags (*=?!)
616
+ correctly, which has been corrected.
617
+
618
+ Will merge to 'next'.
619
+
620
+
621
+* ds/find-unique-abbrev-optim (2017-09-19) 4 commits
622
+ - SQUASH???
623
+ - sha1_name: parse less while finding common prefix
624
+ - sha1_name: unroll len loop in find_unique_abbrev_r()
625
+ - sha1_name: create perf test for find_unique_abbrev()
626
+
627
+
628
+* ic/fix-filter-branch-to-handle-tag-without-tagger (2017-09-22) 4 commits
629
+ (merged to 'next' on 2017-09-25 at c7550033df)
630
+ + filter-branch: use hash-object instead of mktag
631
+ + filter-branch: stash away ref map in a branch
632
+ + filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_*
633
+ + filter-branch: reset $GIT_* before cleaning up
634
+
635
+ "git filter-branch" cannot reproduce a history with a tag without
636
+ the tagger field, which only ancient versions of Git allowed to be
637
+ created. This has been corrected.
638
+
639
+ Will merge to 'master'.
640
+
641
+
642
+* jm/status-ignored-directory-optim (2017-09-19) 1 commit
643
+ (merged to 'next' on 2017-09-24 at ca50f5ed41)
644
+ + Improve performance of git status --ignored
645
+
646
+ "git status --ignored", when noticing that a directory without any
647
+ tracked path is ignored, still enumerated all the ignored paths in
648
+ the directory, which is unnecessary. The codepath has been
649
+ optimized to avoid this overhead.
650
+
651
+ Will merge to 'master'.
652
+
653
+
654
+* js/win32-lazyload-dll (2017-09-20) 1 commit
655
+ - Win32: simplify loading of DLL functions
656
+
657
+ Add a helper in anticipation for its need in a future topic RSN.
658
+
659
+ Expecting a reroll.
660
+ cf. <xmqqwp4sk21s.fsf@gitster.mtv.corp.google.com>
661
+
662
+
663
+* ks/doc-use-camelcase-for-config-name (2017-09-25) 1 commit
664
+ - doc: camelCase the config variables to improve readability
665
+
666
+ Doc update.
667
+
668
+ Will merge to 'next'.
669
+
670
+
671
+* mk/describe-match-with-all (2017-09-20) 2 commits
672
+ (merged to 'next' on 2017-09-24 at f96d58dd83)
673
+ + describe: teach --match to handle branches and remotes
674
+ + Merge branch 'jk/describe-omit-some-refs' into mk/describe-match-with-all
675
+ (this branch uses jk/describe-omit-some-refs.)
676
+
677
+ "git describe --match <pattern>" has been taught to play well with
678
+ the "--all" option.
679
+
680
+ Will merge to 'master'.
681
+
682
+
683
+* jt/fast-export-copy-modify-fix (2017-09-21) 1 commit
684
+ (merged to 'next' on 2017-09-24 at c02bfe1902)
685
+ + fast-export: do not copy from modified file
686
+
687
+ "git fast-export" with -M/-C option issued "copy" instruction on a
688
+ path that is simultaneously modified, which was incorrect.
689
+
690
+ Will merge to 'master'.
691
+
692
+
693
+* ma/leakplugs (2017-09-24) 6 commits
694
+ (merged to 'next' on 2017-09-25 at 69d381a96a)
695
+ + pack-bitmap[-write]: use `object_array_clear()`, don't leak
696
+ + object_array: add and use `object_array_pop()`
697
+ + object_array: use `object_array_clear()`, not `free()`
698
+ + leak_pending: use `object_array_clear()`, not `free()`
699
+ + commit: fix memory leak in `reduce_heads()`
700
+ + builtin/commit: fix memory leak in `prepare_index()`
701
+
702
+ Memory leaks in various codepaths have been plugged.
703
+
704
+ Will merge to 'master'.
705
+
706
+
707
+* hn/typofix (2017-09-22) 1 commit
708
+ (merged to 'next' on 2017-09-25 at 489ad60f5b)
709
+ + submodule.h: typofix
710
+
711
+ Will merge to 'master'.
712
+
713
+
714
+* jk/diff-blob (2017-09-22) 1 commit
715
+ (merged to 'next' on 2017-09-25 at 38286c8ff5)
716
+ + cat-file: handle NULL object_context.path
717
+
718
+ "git cat-file --textconv" started segfaulting recently, which
719
+ has been corrected.
720
+
721
+ Will merge to 'master'.
722
+
723
+
724
+* jk/fallthrough (2017-09-22) 3 commits
725
+ (merged to 'next' on 2017-09-25 at ad96c37620)
726
+ + consistently use "fallthrough" comments in switches
727
+ + curl_trace(): eliminate switch fallthrough
728
+ + test-line-buffer: simplify command parsing
729
+
730
+ Many codepaths have been updated to squelch -Wimplicit-fallthrough
731
+ warnings from Gcc 7 (which is a good code hygiene).
732
+
733
+ Will merge to 'master'.
734
+
735
+
736
+* rj/no-sign-compare (2017-09-22) 4 commits
737
+ (merged to 'next' on 2017-09-25 at 71ee264ce6)
738
+ + ALLOC_GROW: avoid -Wsign-compare warnings
739
+ + cache.h: hex2chr() - avoid -Wsign-compare warnings
740
+ + commit-slab.h: avoid -Wsign-compare warnings
741
+ + git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings
742
+
743
+ Many codepaths have been updated to squelch -Wsign-compare
744
+ warnings.
745
+
746
+ Will merge to 'master'.
747
+
748
+
749
+* cc/perf-run-config (2017-09-24) 9 commits
750
+ - perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
751
+ - perf/run: show name of rev being built
752
+ - perf/run: add run_subsection()
753
+ - perf/run: update get_var_from_env_or_config() for subsections
754
+ - perf/run: add get_subsections()
755
+ - perf/run: add calls to get_var_from_env_or_config()
756
+ - perf/run: add GIT_PERF_DIRS_OR_REVS
757
+ - perf/run: add get_var_from_env_or_config()
758
+ - perf/run: add '--config' option to the 'run' script
759
+
760
+ Needs review.
761
+
762
+
763
+* ik/userdiff-html-h-element-fix (2017-09-24) 1 commit
764
+ (merged to 'next' on 2017-09-25 at e3cbe89672)
765
+ + userdiff: fix HTML hunk header regexp
766
+
767
+ The built-in pattern to detect the "function header" for HTML did
768
+ not match <H1>..<H6> elements without any attributes, which has
769
+ been fixed.
770
+
771
+ Will merge to 'master'.
772
+
773
+
774
+* jk/doc-read-tree-table-asciidoctor-fix (2017-09-24) 1 commit
775
+ (merged to 'next' on 2017-09-25 at 070163b964)
776
+ + doc: put literal block delimiter around table
777
+
778
+ A docfix.
779
+
780
+ Will merge to 'master'.
781
+
782
+
783
+* mg/merge-pre-merge-hook (2017-09-24) 4 commits
784
+ - t7503: add tests for pre-merge-hook
785
+ - merge: --no-verify to bypass pre-merge hook
786
+ - merge: do no-verify like commit
787
+ - git-merge: honor pre-merge hook
788
+
789
+ "git merge" learned a 'pre-merge' hook, that would be triggered
790
+ before the merge commit is created by a clean auto-merge.
791
+
792
+ Waiting for review to conclude.
793
+
794
+
795
+* rs/mailinfo-qp-decode-fix (2017-09-24) 1 commit
796
+ (merged to 'next' on 2017-09-25 at d48c594041)
797
+ + mailinfo: don't decode invalid =XY quoted-printable sequences
798
+
799
+ "git mailinfo" was loose in decoding quoted printable and produced
800
+ garbage when the two letters after the equal sign are not
801
+ hexadecimal. This has been fixed.
802
+
803
+ Will merge to 'master'.
804
+
805
+
806
+* rs/resolve-ref-optional-result (2017-09-24) 3 commits
807
+ (merged to 'next' on 2017-09-25 at b0f31228bb)
808
+ + refs: pass NULL to resolve_ref_unsafe() if hash is not needed
809
+ + refs: pass NULL to refs_resolve_ref_unsafe() if hash is not needed
810
+ + refs: make sha1 output parameter of refs_resolve_ref_unsafe() optional
811
812
Code clean-up.
813
814
Will merge to 'master'.
815
816
467
-* mg/name-rev-tests-with-short-stack (2017-09-08) 4 commits
468
- (merged to 'next' on 2017-09-14 at 1e4a0fe206)
469
- + t6120: test describe and name-rev with deep repos
470
- + t6120: clean up state after breaking repo
471
- + t6120: test name-rev --all and --stdin
472
- + t7004: move limited stack prereq to test-lib
473
- (this branch is used by rj/test-ulimit-on-windows.)
817
+* sb/doc-config-submodule-update (2017-09-24) 1 commit
818
+ (merged to 'next' on 2017-09-25 at 447014b4ce)
819
+ + Documentation/config: clarify the meaning of submodule.<name>.update
820
+
821
+ Will merge to 'master'.
822
+
823
+
824
+* jc/merge-x-theirs-docfix (2017-09-25) 1 commit
825
+ - merge-strategies: avoid implying that "-s theirs" exists
826
+
827
+ The documentation for '-X<option>' for merges was misleadingly
828
+ written to suggest that "-s theirs" exists, which is not the case.
829
+
830
+ Will merge to 'next'.
831
+
832
+--------------------------------------------------
833
+[Stalled]
834
+
835
+* mk/use-size-t-in-zlib (2017-08-10) 1 commit
836
+ . zlib.c: use size_t for size
837
475
- A handful of tests to demonstrates a recursive implementation of
476
- "name-rev" hurts.
838
+ The wrapper to call into zlib followed our long tradition to use
839
+ "unsigned long" for sizes of regions in memory, which have been
840
+ updated to use "size_t".
841
478
- Will merge to 'master'.
842
+ Needs resurrecting by making sure the fix is good and still applies
843
+ (or adjusted to today's codebase).
844
845
481
-* rk/commit-tree-make-F-verbatim (2017-09-10) 1 commit
482
- (merged to 'next' on 2017-09-14 at 3d40c900f3)
483
- + commit-tree: do not complete line in -F input
846
+* mg/status-in-progress-info (2017-05-10) 2 commits
847
+ - status --short --inprogress: spell it as --in-progress
848
+ - status: show in-progress info for short status
849
485
- Unlike "git commit-tree < file", "git commit-tree -F file" did not
486
- pass the contents of the file verbatim and instead completed an
487
- incomplete line at the end, if exists. The latter has been updated
488
- to match the behaviour of the former.
850
+ "git status" learns an option to report various operations
851
+ (e.g. "merging") that the user is in the middle of.
852
490
- Will merge to 'master'.
853
+ cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
854
855
493
-* sb/merge-commit-msg-hook (2017-09-08) 1 commit
494
- (merged to 'next' on 2017-09-14 at e9d0e43031)
495
- + builtin/merge: honor commit-msg hook for merges
856
+* nd/worktree-move (2017-04-20) 6 commits
857
+ - worktree remove: new command
858
+ - worktree move: refuse to move worktrees with submodules
859
+ - worktree move: accept destination as directory
860
+ - worktree move: new command
861
+ - worktree.c: add update_worktree_location()
862
+ - worktree.c: add validate_worktree()
863
497
- As "git commit" to conclude a conflicted "git merge" honors the
498
- commit-msg hook, "git merge" that recoreds a merge commit that
499
- cleanly auto-merges should, but it didn't.
864
+ "git worktree" learned move and remove subcommands.
865
501
- Will merge to 'master'.
866
+ Expecting a reroll.
867
+ cf. <20170420101024.7593-1-pclouds@gmail.com>
868
+ cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
869
+ cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
870
871
504
-* ls/travis-scriptify (2017-09-11) 3 commits
505
- (merged to 'next' on 2017-09-14 at 8fa685d3b7)
506
- + travis: dedent a few scripts that are indented overly deeply
507
- + travis-ci: skip a branch build if equal tag is present
508
- + travis-ci: move Travis CI code into dedicated scripts
872
+* sg/clone-refspec-from-command-line-config (2017-06-16) 2 commits
873
+ - Documentation/clone: document ignored configuration variables
874
+ - clone: respect additional configured fetch refspecs during initial fetch
875
+ (this branch is used by sg/remote-no-string-refspecs.)
876
510
- The scripts to drive TravisCI has been reorganized and then an
511
- optimization to avoid spending cycles on a branch whose tip is
512
- tagged has been implemented.
877
+ "git clone -c var=val" is a way to set configuration variables in
878
+ the resulting repository, but it is more useful to also make these
879
+ variables take effect while the initial clone is happening,
880
+ e.g. these configuration variables could be fetch refspecs.
881
514
- Will merge to 'master'.
882
+ Waiting for a response.
883
+ cf. <20170617112228.vugswym4o4owf6wj@sigill.intra.peff.net>
884
+ cf. <xmqqmv8zhdap.fsf@gitster.mtv.corp.google.com>
885
886
+--------------------------------------------------
887
+[Cooking]
888
517
-* dw/diff-highlight-makefile-fix (2017-09-06) 1 commit
518
- (merged to 'next' on 2017-09-10 at 8dfda480ac)
519
- + diff-highlight: add clean target to Makefile
889
+* js/rebase-i-final (2017-07-27) 10 commits
890
+ - rebase -i: rearrange fixup/squash lines using the rebase--helper
891
+ - t3415: test fixup with wrapped oneline
892
+ - rebase -i: skip unnecessary picks using the rebase--helper
893
+ - rebase -i: check for missing commits in the rebase--helper
894
+ - t3404: relax rebase.missingCommitsCheck tests
895
+ - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
896
+ - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
897
+ - rebase -i: remove useless indentation
898
+ - rebase -i: generate the script via rebase--helper
899
+ - t3415: verify that an empty instructionFormat is handled as before
900
521
- Build clean-up.
901
+ The final batch to "git rebase -i" updates to move more code from
902
+ the shell script to C.
903
523
- Will merge to 'master'.
904
+ Will merge to 'next'.
905
906
526
-* jk/config-lockfile-leak-fix (2017-09-06) 1 commit
527
- (merged to 'next' on 2017-09-10 at 7b91d71749)
528
- + config: use a static lock_file struct
907
+* mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
908
+ - diff-delta: do not allow delta offset truncation
909
530
- A leakfix.
910
+ The delta format used in the packfile cannot reference data at
911
+ offset larger than what can be expressed in 4-byte, but the
912
+ generator for the data failed to make sure the offset does not
913
+ overflow. This has been corrected.
914
532
- Will merge to 'master'.
915
+ Will merge to 'next'.
916
917
535
-* kw/merge-recursive-cleanup (2017-09-08) 3 commits
536
- (merged to 'next' on 2017-09-14 at 9f20025e6b)
537
- + merge-recursive: change current file dir string_lists to hashmap
538
- + merge-recursive: remove return value from get_files_dirs
539
- + merge-recursive: fix memory leak
918
+* mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
919
+ - diff-delta: fix encoding size that would not fit in "unsigned int"
920
541
- A leakfix and code clean-up.
921
+ The machinery to create xdelta used in pack files received the
922
+ sizes of the data in size_t, but lost the higher bits of them by
923
+ storing them in "unsigned int" during the computation, which is
924
+ fixed.
925
543
- Will merge to 'master'.
926
+ Will merge to 'next'.
927
928
546
-* ma/pkt-line-leakfix (2017-09-06) 1 commit
547
- (merged to 'next' on 2017-09-10 at f0d9994319)
548
- + pkt-line: re-'static'-ify buffer in packet_write_fmt_1()
929
+* bp/fsmonitor (2017-09-24) 12 commits
930
+ - fsmonitor: add a performance test
931
+ - fsmonitor: add a sample integration script for Watchman
932
+ - fsmonitor: add test cases for fsmonitor extension
933
+ - split-index: disable the fsmonitor extension when running the split index test
934
+ - fsmonitor: add a test tool to dump the index extension
935
+ - update-index: add fsmonitor support to update-index
936
+ - ls-files: Add support in ls-files to display the fsmonitor valid bit
937
+ - fsmonitor: add documentation for the fsmonitor extension.
938
+ - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
939
+ - update-index: add a new --force-write-index option
940
+ - preload-index: add override to enable testing preload-index
941
+ - bswap: add 64 bit endianness helper get_be64
942
550
- A leakfix.
943
+ We learned to talk to watchman to speed up "git status" and other
944
+ operations that need to see which paths have been modified.
945
552
- Will merge to 'master'.
946
+ Looking mostly ready. Further comments?
947
948
555
-* ma/split-symref-update-fix (2017-09-10) 4 commits
556
- (merged to 'next' on 2017-09-10 at 96c403fca7)
557
- + refs/files-backend: add `refname`, not "HEAD", to list
558
- + refs/files-backend: correct return value in lock_ref_for_update
559
- + refs/files-backend: fix memory leak in lock_ref_for_update
560
- + refs/files-backend: add longer-scoped copy of string to list
949
+* bw/protocol-v1 (2017-09-21) 9 commits
950
+ - i5700: add interop test for protocol transition
951
+ - http: tell server that the client understands v1
952
+ - connect: tell server that the client understands v1
953
+ - connect: teach client to recognize v1 server response
954
+ - upload-pack, receive-pack: introduce protocol version 1
955
+ - daemon: recognize hidden request arguments
956
+ - protocol: introduce protocol extention mechanisms
957
+ - connect: die when a capability line comes after a ref
958
+ - pkt-line: add packet_write function
959
562
- A leakfix.
960
+ A new mechanism to upgrade the wire protocol in place is proposed
961
+ and demonstrated that it works with the older versions of Git
962
+ without harming them.
963
564
- Will merge to 'master'.
964
+ Expecting a reroll,
965
+ together with Jonathan's update to get_remote_heads()
966
+ cf. <20170922201551.15012-1-jonathantanmy@google.com>
967
968
567
-* mg/timestamp-t-fix (2017-09-06) 1 commit
568
- (merged to 'next' on 2017-09-10 at a5df4d5b3e)
569
- + name-rev: change ULONG_MAX to TIME_MAX
969
+* mh/mmap-packed-refs (2017-09-24) 22 commits
970
+ - SQUASH???
971
+ - packed-backend.c: rename a bunch of things and update comments
972
+ - mmapped_ref_iterator: inline into `packed_ref_iterator`
973
+ - ref_cache: remove support for storing peeled values
974
+ - packed_ref_store: get rid of the `ref_cache` entirely
975
+ - ref_store: implement `refs_peel_ref()` generically
976
+ - packed_read_raw_ref(): read the reference from the mmapped buffer
977
+ - packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
978
+ - read_packed_refs(): ensure that references are ordered when read
979
+ - packed_ref_cache: keep the `packed-refs` file mmapped if possible
980
+ - packed-backend.c: reorder some definitions
981
+ - mmapped_ref_iterator_advance(): no peeled value for broken refs
982
+ - mmapped_ref_iterator: add iterator over a packed-refs file
983
+ - packed_ref_cache: remember the file-wide peeling state
984
+ - read_packed_refs(): read references with minimal copying
985
+ - read_packed_refs(): make parsing of the header line more robust
986
+ - read_packed_refs(): only check for a header at the top of the file
987
+ - read_packed_refs(): use mmap to read the `packed-refs` file
988
+ - die_unterminated_line(), die_invalid_line(): new functions
989
+ - packed_ref_cache: add a backlink to the associated `packed_ref_store`
990
+ - prefix_ref_iterator: break when we leave the prefix
991
+ - ref_iterator: keep track of whether the iterator output is ordered
992
571
- A mismerge fix.
993
+ Operations that do not touch (majority of) packed refs have been
994
+ optimized by making accesses to packed-refs file lazy; we no longer
995
+ pre-parse everything, and an access to a single ref in the
996
+ packed-refs does not touch majority of irrelevant refs, either.
997
573
- Will merge to 'master'.
998
+ Under review; expecting an eventual reroll.
999
+ cf. <b092c424-987a-fe00-43d4-17062000dfc0@alum.mit.edu> etc.
1000
1001
576
-* pc/submodule-helper (2017-08-25) 4 commits
1002
+* pc/submodule-helper (2017-09-25) 4 commits
1003
- submodule: port submodule subcommand 'status' from shell to C
1004
- submodule: port set_name_rev() from shell to C
1005
- submodule--helper: introduce for_each_listed_submodule()
@@ -581,6 +1007,8 @@ of the repositories listed at
1007
1008
GSoC.
1009
1010
+ Looking good; it appeared to me that 3/4 is totally superfluous, though.
1011
+
1012
1013
* sb/parse-options-blank-line-before-option-list (2017-08-25) 1 commit
1014
- usage_with_options: omit double new line on empty option list
@@ -588,55 +1016,7 @@ of the repositories listed at
1016
"git worktree" with no option and no subcommand showed too many
1017
blank lines in its help text, which has been reduced.
1018
591
-
592
-* mh/notes-cleanup (2017-09-09) 13 commits
593
- (merged to 'next' on 2017-09-10 at cb1d725504)
594
- + load_subtree(): check that `prefix_len` is in the expected range
595
- (merged to 'next' on 2017-08-26 at 2d6df46966)
596
- + load_subtree(): declare some variables to be `size_t`
597
- + hex_to_bytes(): simpler replacement for `get_oid_hex_segment()`
598
- + get_oid_hex_segment(): don't pad the rest of `oid`
599
- + load_subtree(): combine some common code
600
- + get_oid_hex_segment(): return 0 on success
601
- + load_subtree(): only consider blobs to be potential notes
602
- + load_subtree(): check earlier whether an internal node is a tree entry
603
- + load_subtree(): separate logic for internal vs. terminal entries
604
- + load_subtree(): fix incorrect comment
605
- + load_subtree(): reduce the scope of some local variables
606
- + load_subtree(): remove unnecessary conditional
607
- + notes: make GET_NIBBLE macro more robust
608
-
609
- Code clean-up.
610
-
611
- Will merge to 'master'.
612
-
613
-
614
-* nd/prune-in-worktree (2017-08-24) 16 commits
615
- (merged to 'next' on 2017-09-14 at 3efe283118)
616
- + refs.c: reindent get_submodule_ref_store()
617
- + refs.c: remove fallback-to-main-store code get_submodule_ref_store()
618
- + rev-list: expose and document --single-worktree
619
- + revision.c: --reflog add HEAD reflog from all worktrees
620
- + files-backend: make reflog iterator go through per-worktree reflog
621
- + revision.c: --all adds HEAD from all worktrees
622
- + refs: remove dead for_each_*_submodule()
623
- + refs.c: move for_each_remote_ref_submodule() to submodule.c
624
- + revision.c: use refs_for_each*() instead of for_each_*_submodule()
625
- + refs: add refs_head_ref()
626
- + refs: move submodule slash stripping code to get_submodule_ref_store
627
- + refs.c: refactor get_submodule_ref_store(), share common free block
628
- + revision.c: --indexed-objects add objects from all worktrees
629
- + revision.c: refactor add_index_objects_to_pending()
630
- + refs.c: use is_dir_sep() in resolve_gitlink_ref()
631
- + revision.h: new flag in struct rev_info wrt. worktree-related refs
632
-
633
- "git gc" and friends when multiple worktrees are used off of a
634
- single repository did not consider the index and per-worktree refs
635
- of other worktrees as the root for reachability traversal, making
636
- objects that are in use only in other worktrees to be subject to
637
- garbage collection.
638
-
639
- Will merge to 'master'.
1019
+ Superseded by bc/rev-parse-parseopt-fix?
1020
1021
1022
* bc/hash-algo (2017-08-20) 5 commits
@@ -650,18 +1030,6 @@ of the repositories listed at
1030
cf. <20170821000022.26729-1-sandals@crustytoothpaste.net>
1031
1032
653
-* mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
654
- . diff-delta: fix encoding size that would not fit in "unsigned int"
655
-
656
- The machinery to create xdelta used in pack files received the
657
- sizes of the data in size_t, but lost the higher bits of them by
658
- storing them in "unsigned int" during the computation, which is
659
- fixed.
660
-
661
- Dropped, as it was rerolled for review as part of a larger series.
662
- cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause>
663
-
664
-
1033
* jk/drop-ancient-curl (2017-08-09) 5 commits
1034
- http: #error on too-old curl
1035
- curl: remove ifdef'd code never used with curl >=7.19.4
@@ -674,37 +1042,6 @@ of the repositories listed at
1042
Will be rerolled after tc/curl-with-backports stabilizes.
1043
1044
677
-* mk/use-size-t-in-zlib (2017-08-10) 1 commit
678
- . zlib.c: use size_t for size
679
-
680
- The wrapper to call into zlib followed our long tradition to use
681
- "unsigned long" for sizes of regions in memory, which have been
682
- updated to use "size_t".
683
-
684
- Dropped, as it was rerolled for review as part of a larger series.
685
- cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause>
686
-
687
-
688
-* mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
689
- . diff-delta: do not allow delta offset truncation
690
-
691
- The delta format used in the packfile cannot reference data at
692
- offset larger than what can be expressed in 4-byte, but the
693
- generator for the data failed to make sure the offset does not
694
- overflow. This has been corrected.
695
-
696
- Dropped, as it was rerolled for review as part of a larger series.
697
- cf. <1502914591-26215-1-git-send-email-martin@mail.zuhause>
698
-
699
-
700
-* bw/git-clang-format (2017-08-14) 2 commits
701
- - Makefile: add style build rule
702
- - clang-format: outline the git project's coding style
703
-
704
- "make style" runs git-clang-format to help developers by pointing
705
- out coding style issues.
706
-
707
-
1045
* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
1046
- Documentation/checkout: clarify submodule HEADs to be detached
1047
- recursive submodules: detach HEAD from new state
@@ -719,18 +1056,6 @@ of the repositories listed at
1056
this is better than rejecting recursive checkout, for example.
1057
1058
722
-* ti/external-sha1dc (2017-08-16) 2 commits
723
- (merged to 'next' on 2017-08-26 at a0fb4e91a5)
724
- + sha1dc: allow building with the external sha1dc library
725
- + sha1dc: build git plumbing code more explicitly
726
-
727
- Platforms that ship with a separate sha1 with collision detection
728
- library can link to it instead of using the copy we ship as part of
729
- our source tree.
730
-
731
- Will merge to 'master'.
732
-
733
-
1059
* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
1060
- check-ref-format: require a repository for --branch
1061
@@ -784,7 +1109,8 @@ of the repositories listed at
1109
this release cycle.
1110
1111
787
-* sd/branch-copy (2017-06-18) 3 commits
1112
+* sd/branch-copy (2017-09-24) 4 commits
1113
+ - branch: fix "copy" to never touch HEAD
1114
- branch: add a --copy (-c) option to go with --move (-m)
1115
- branch: add test for -m renaming multiple config sections
1116
- config: create a function to format section headers
@@ -792,10 +1118,7 @@ of the repositories listed at
1118
"git branch" learned "-c/-C" to create and switch to a new branch
1119
by copying an existing one.
1120
795
- I personally do not think "branch --copy master backup" while on
796
- "master" that switches to "backup" is a good UI, and I *will* say
797
- "I told you so" when users complain after we merge this down to
798
- 'master'.
1121
+ Will merge to 'next'.
1122
1123
--------------------------------------------------
1124
[Discarded]
@@ -810,7 +1133,6 @@ of the repositories listed at
1133
This served as an input to updated tb/apply-with-crlf.
1134
1135
813
-
1136
* jn/per-repo-obj-store (2017-09-07) 39 commits
1137
. pack: allow sha1_loose_object_info to handle arbitrary repositories
1138
. pack: allow map_sha1_file to handle arbitrary repositories
@@ -856,5 +1178,3 @@ of the repositories listed at
1178
repository we visit.
1179
1180
Will be rerolled.
859
-
860
-