What's cooking (2016/07 #06)
Junio C Hamano committed
Jul 19, 2016 at 14:26 UTC
310322c91a43dba2169ac27dab6c31391d44e861
1 file changed
+764
-685
whats-cooking.txt
+764
-685
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jul 2016, #05; Wed, 13)
4
-X-master-at: b1ec08fda8e0c3ed19b680404770ca4ec313ca8c
5
-X-next-at: aa0ab43525ebd305d89ffde30b5d5837a535491c
3
+Subject: What's cooking in git.git (Jul 2016, #06; Tue, 19)
4
+X-master-at: 08bb3500a2a718c3c78b0547c68601cafa7a8fd9
5
+X-next-at: 66765a41ed474ba5c6702f65e187cd9aa6236993
6
7
-What's cooking in git.git (Jul 2016, #05; Wed, 13)
7
+What's cooking in git.git (Jul 2016, #06; Tue, 19)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,11 +12,6 @@ Here are the topics that have been cooking. Commits prefixed with
12
'+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-It turns out that v2.9.1 had tests that weren't even meant to pass
16
-on platforms with 32-bit time_t/unsigned long, but did not properly
17
-exclude them. A fix nas been prepared and I expect we'll cut v2.9.2
18
-with only that change relative to v2.9.1 soonish.
19
-
15
You can find the changes described here in the integration branches
16
of the repositories listed at
17
@@ -25,132 +20,485 @@ of the repositories listed at
20
--------------------------------------------------
21
[New Topics]
22
28
-* js/t0006-for-v2.9.2 (2016-07-12) 1 commit
29
- - t0006: skip "far in the future" test when unsigned long is not long enough
23
+* ew/autoconf-pthread (2016-07-18) 1 commit
24
+ (merged to 'next' on 2016-07-19 at 146e249)
25
+ + configure.ac: stronger test for pthread linkage
26
31
- A test merged to v2.9.1 forgot that the feature it was testing
32
- would not work on a platform with 32-bit time_t/unsigned long and
33
- reported breakage. Skip the tests that cannot run correctly on
34
- such platforms.
27
+ Existing autoconf generated test for the need to link with pthread
28
+ library did not check all the functions from pthread libraries;
29
+ recent FreeBSD has some functions in libc but not others, and we
30
+ mistakenly thought linking with libc is enough when it is not.
31
36
- Waiting for an Ack; will fast-track down to 'maint' to cut v2.9.2.
32
+ Will merge to 'master'.
33
34
39
-* js/am-3-merge-recursive-direct (2016-07-12) 21 commits
40
- - merge-recursive: flush output buffer even when erroring out
41
- - merge_trees(): ensure that the output buffer is released after calling it
42
- - merge-recursive: offer an option to retain the output in 'obuf'
43
- - merge-recursive: write the commit title in one go
44
- - merge-recursive: flush output buffer before printing error messages
45
- - am -3: use merge_recursive() directly again
46
- - merge-recursive: switch to returning errors instead of dying
47
- - merge-recursive: handle return values indicating errors
48
- - merge-recursive: allow write_tree_from_memory() to error out
49
- - merge-recursive: avoid returning a wholesale struct
50
- - merge_recursive: abort properly upon errors
51
- - prepare the builtins for a libified merge_recursive()
52
- - merge-recursive: clarify code in was_tracked()
53
- - die(_("BUG")): avoid translating bug messages
54
- - die("bug"): report bugs consistently
55
- - t5520: verify that `git pull --rebase` shows the advice when failing
56
- - Merge branch 'jh/clean-smudge-annex' into HEAD
57
- - Merge branch 'bc/cocci' into js/am-3-merge-recursive-direct
58
- - Merge branch 'js/am-call-theirs-theirs-in-fallback-3way' into js/am-3-merge-recursive-direct
59
- - Merge branch 'cc/apply-am' into js/am-3-merge-recursive-direct
60
- - Merge branch 'va/i18n-even-more' into js/am-3-merge-recursive-direct
61
- (this branch uses bc/cocci, cc/apply-am, jh/clean-smudge-annex, js/am-call-theirs-theirs-in-fallback-3way and va/i18n-even-more.)
35
+* ew/daemon-socket-keepalive (2016-07-18) 1 commit
36
+ (merged to 'next' on 2016-07-19 at 0140849)
37
+ + daemon: ignore ENOTSOCK from setsockopt
38
63
- "git am -3" calls "git merge-recursive" when it needs to fall back
64
- to a three-way merge; this call has been turned into an internal
65
- subroutine call instead of spawning a separate subprocess.
39
+ Recent update to "git daemon" tries to enable the socket-level
40
+ KEEPALIVE, but when it is spawned via inetd, the standard input
41
+ file descriptor may not necessarily be connected to a socket.
42
+ Suppress an ENOTSOCK error from setsockopt().
43
67
- Will need to wait for all the topics this depends on graduate to 'master'.
44
+ Will merge to 'master'.
45
46
70
-* ls/travis-enable-httpd-tests (2016-07-12) 1 commit
71
- - travis-ci: enable web server tests t55xx on Linux
47
+* jc/doc-diff-filter-exclude (2016-07-14) 1 commit
48
+ (merged to 'next' on 2016-07-19 at 0c8aa92)
49
+ + diff: document diff-filter exclusion
50
73
- Allow http daemon tests in Travis CI tests.
51
+ Belated doc update for a feature added in v1.8.5.
52
53
+ Will merge to 'master'.
54
76
-* nd/cache-tree-ita (2016-07-12) 4 commits
77
- - cache-tree: do not generate empty trees as a result of all i-t-a subentries
78
- - cache-tree.c: fix i-t-a entry skipping directory updates sometimes
79
- - test-lib.sh: introduce and use $_EMPTY_BLOB
80
- - test-lib.sh: introduce and use $_EMPTY_TREE
55
82
- "git add -N dir/file && git write-tree" produced an incorrect tree
83
- when there are other paths in the same directory that sorts after
84
- "file".
56
+* jk/push-scrub-url (2016-07-14) 1 commit
57
+ (merged to 'next' on 2016-07-19 at 6ada3f1)
58
+ + push: anonymize URL in status output
59
86
- Looked mostly OK. Further review comments are welcome.
60
+ "git fetch http://user:pass@host/repo..." scrubbed the userinfo
61
+ part, but "git push" didn't.
62
63
+ Will merge to 'master'.
64
89
-* nd/pack-ofs-4gb-limit (2016-07-13) 7 commits
90
- - fsck: use streaming interface for large blobs in pack
91
- - pack-objects: do not truncate result in-pack object size on 32-bit systems
92
- - index-pack: correct "offset" type in unpack_entry_data()
93
- - index-pack: report correct bad object offsets even if they are large
94
- - index-pack: correct "len" type in unpack_data()
95
- - sha1_file.c: use type off_t* for object_info->disk_sizep
96
- - pack-objects: pass length to check_pack_crc() without truncation
65
98
- "git pack-objects" and "git index-pack" mostly operate with off_t
99
- when talking about the offset of objects in a packfile, but there
100
- were a handful of places that used "unsigned long" to hold that
101
- value, leading to an unintended truncation.
66
+* js/fsck-name-object (2016-07-18) 4 commits
67
+ (merged to 'next' on 2016-07-19 at 6f39d2f)
68
+ + fsck: optionally show more helpful info for broken links
69
+ + fsck: give the error function a chance to see the fsck_options
70
+ + fsck_walk(): optionally name objects on the go
71
+ + fsck: refactor how to describe objects
72
+
73
+ When "git fsck" reports a broken link (e.g. a tree object contains
74
+ a blob that does not exist), both containing object and the object
75
+ that is referred to were reported with their 40-hex object names.
76
+ The command learned the "--name-objects" option to show the path to
77
+ the containing object from existing refs (e.g. "HEAD~24^2:file.txt").
78
+
79
+ Will merge to 'master'.
80
+
81
+
82
+* mh/blame-worktree (2016-07-18) 2 commits
83
+ (merged to 'next' on 2016-07-19 at 4c39534)
84
+ + t/t8003-blame-corner-cases.sh: Use here documents
85
+ + blame: allow to blame paths freshly added to the index
86
+
87
+ "git blame file" allowed the lineage of lines in the uncommitted,
88
+ unadded contents of "file" to be inspected, but it refused when
89
+ "file" did not appear in the current commit. When "file" was
90
+ created by renaming an existing file (but the change has not been
91
+ committed), this restriction was unnecessarily tight.
92
+
93
+ Will merge to 'master'.
94
+
95
+
96
+* jt/fetch-large-handshake-window-on-http (2016-07-19) 1 commit
97
+ - fetch-pack: grow stateless RPC windows exponentially
98
+
99
+ "git fetch" exchanges batched have/ack messages between the sender
100
+ and the receiver, initially doubling every time and then falling
101
+ back to use the maximum window size. The "smart http" transport,
102
+ being an half-duplex protocol, outgrows the preset limit too
103
+ quickly and becomes inefficient when interacting with a large
104
+ repository. The internal mechanism learned to grow the window size
105
+ more aggressively when working with the "smart http" transport.
106
107
Will merge to 'next'.
108
109
106
-* sb/push-options (2016-07-12) 5 commits
107
- - add a test for push options
108
- - push: accept push options
109
- - SQUASH???
110
- - receive-pack: implement advertising and receiving push options
111
- - push options: {pre,post}-receive hook learns about push options
110
+* ew/svn-authorsprog-doc (2016-07-19) 1 commit
111
+ - git-svn: document svn.authorsProg in config
112
113
- "git push" learned to accept and pass extra options to the
114
- receiving end so that hooks can read and react to them.
113
+ Belated doc update.
114
+
115
+ Perhaps I will get a copy of this directly from Eric together with
116
+ other updates to git-svn, in which case this needs to be scrapped.
117
+
118
+
119
+* rs/use-strbuf-addbuf (2016-07-19) 1 commit
120
+ (merged to 'next' on 2016-07-19 at 679f992)
121
+ + use strbuf_addbuf() for appending a strbuf to another
122
+
123
+ Code cleanup.
124
+
125
+ Will merge to 'master'.
126
+
127
+
128
+* rs/submodule-config-code-cleanup (2016-07-19) 1 commit
129
+ (merged to 'next' on 2016-07-19 at 59dbd58)
130
+ + submodule-config: use explicit empty string instead of strbuf in config_from()
131
+
132
+ Code cleanup.
133
+
134
+ Will merge to 'master'.
135
+
136
+--------------------------------------------------
137
+[Graduated to "master"]
138
+
139
+* ah/unpack-trees-advice-messages (2016-06-27) 1 commit
140
+ (merged to 'next' on 2016-07-06 at 4254fc2)
141
+ + unpack-trees: fix English grammar in do-this-before-that messages
142
+
143
+ Grammofix.
144
+
145
+
146
+* ak/lazy-prereq-mktemp (2016-07-06) 1 commit
147
+ (merged to 'next' on 2016-07-11 at 66a9384)
148
+ + t7610: test for mktemp before test execution
149
+
150
+ A test that unconditionally used "mktemp" learned that the command
151
+ is not necessarily available everywhere.
152
+
153
+
154
+* bc/cocci (2016-06-28) 11 commits
155
+ (merged to 'next' on 2016-07-06 at f2e8e2a)
156
+ + diff: convert prep_temp_blob() to struct object_id
157
+ + merge-recursive: convert merge_recursive_generic() to object_id
158
+ + merge-recursive: convert leaf functions to use struct object_id
159
+ + merge-recursive: convert struct merge_file_info to object_id
160
+ + merge-recursive: convert struct stage_data to use object_id
161
+ + diff: rename struct diff_filespec's sha1_valid member
162
+ + diff: convert struct diff_filespec to struct object_id
163
+ + coccinelle: apply object_id Coccinelle transformations
164
+ + coccinelle: convert hashcpy() with null_sha1 to hashclr()
165
+ + contrib/coccinelle: add basic Coccinelle transforms
166
+ + hex: add oid_to_hex_r()
167
+ (this branch is used by js/am-3-merge-recursive-direct.)
168
+
169
+ Conversion from unsigned char sha1[20] to struct object_id
170
+ continues.
171
+
172
+
173
+* dg/subtree-rebase-test (2016-06-28) 1 commit
174
+ (merged to 'next' on 2016-07-06 at 4dec1ad)
175
+ + contrib/subtree: Add a test for subtree rebase that loses commits
176
+
177
+ Add a test to specify the desired behaviour that currently is not
178
+ available in "git rebase -Xsubtree=...".
179
+
180
+
181
+* dk/blame-move-no-reason-for-1-line-context (2016-05-29) 1 commit
182
+ (merged to 'next' on 2016-07-06 at 087490c)
183
+ + blame: require 0 context lines while finding moved lines with -M
184
+
185
+ "git blame -M" missed a single line that was moved within the file.
186
+
187
+
188
+* ew/gc-auto-pack-limit-fix (2016-06-27) 1 commit
189
+ (merged to 'next' on 2016-07-06 at aa023d3)
190
+ + gc: fix off-by-one error with gc.autoPackLimit
191
+
192
+ "gc.autoPackLimit" when set to 1 should not trigger a repacking
193
+ when there is only one pack, but the code counted poorly and did
194
+ so.
195
+
196
+
197
+* jk/big-and-future-archive-tar (2016-07-01) 5 commits
198
+ (merged to 'next' on 2016-07-06 at 89f3835)
199
+ + archive-tar: drop return value
200
+ + archive-tar: write extended headers for far-future mtime
201
+ + archive-tar: write extended headers for file sizes >= 8GB
202
+ + t5000: test tar files that overflow ustar headers
203
+ + t9300: factor out portable "head -c" replacement
204
+
205
+ "git archive" learned to handle files that are larger than 8GB and
206
+ commits far in the future than expressible by the traditional US-TAR
207
+ format.
208
+
209
+
210
+* jk/common-main (2016-07-06) 1 commit
211
+ (merged to 'next' on 2016-07-11 at 1c2228a)
212
+ + Merge branch 'jk/common-main-2.8' into jk/common-main
213
+ (this branch uses jk/common-main-2.8.)
214
+
215
+ There are certain house-keeping tasks that need to be performed at
216
+ the very beginning of any Git program, and programs that are not
217
+ built-in commands had to do them exactly the same way as "git"
218
+ potty does. It was easy to make mistakes in one-off standalone
219
+ programs (like test helpers). A common "main()" function that
220
+ calls cmd_main() of individual program has been introduced to
221
+ make it harder to make mistakes.
222
+
223
+
224
+* jk/common-main-2.8 (2016-07-06) 6 commits
225
+ + mingw: declare main()'s argv as const
226
+ + common-main: call git_setup_gettext()
227
+ + common-main: call restore_sigpipe_to_default()
228
+ + common-main: call sanitize_stdfds()
229
+ + common-main: call git_extract_argv0_path()
230
+ + add an extra level of indirection to main()
231
+ (this branch is used by jk/common-main.)
232
+
233
+ There are certain house-keeping tasks that need to be performed at
234
+ the very beginning of any Git program, and programs that are not
235
+ built-in commands had to do them exactly the same way as "git"
236
+ potty does. It was easy to make mistakes in one-off standalone
237
+ programs (like test helpers). A common "main()" function that
238
+ calls cmd_main() of individual program has been introduced to
239
+ make it harder to make mistakes.
240
+
241
+
242
+* jk/printf-format (2016-07-08) 3 commits
243
+ (merged to 'next' on 2016-07-11 at 731eafb)
244
+ + commit.c: remove print_commit_list()
245
+ + avoid using sha1_to_hex output as printf format
246
+ + walker: let walker_say take arbitrary formats
247
+
248
+ Code clean-up to avoid using a variable string that compilers may
249
+ feel untrustable as printf-style format given to write_file()
250
+ helper function.
251
+
252
+
253
+* jk/test-match-signal (2016-07-06) 4 commits
254
+ (merged to 'next' on 2016-07-11 at 54e1462)
255
+ + t/lib-git-daemon: use test_match_signal
256
+ + test_must_fail: use test_match_signal
257
+ + t0005: use test_match_signal as appropriate
258
+ + tests: factor portable signal check out of t0005
259
+
260
+ The test framework learned a new helper test_match_signal to
261
+ check an exit code from getting killed by an expected signal.
262
+
263
+
264
+* jk/write-file (2016-07-08) 9 commits
265
+ (merged to 'next' on 2016-07-11 at f51b449)
266
+ + branch: use write_file_buf instead of write_file
267
+ + use write_file_buf where applicable
268
+ + write_file: add format attribute
269
+ + write_file: add pointer+len variant
270
+ + write_file: use xopen
271
+ + write_file: drop "gently" form
272
+ + branch: use non-gentle write_file for branch description
273
+ + am: ignore return value of write_file()
274
+ + config: fix bogus fd check when setting up default config
275
+
276
+ General code clean-up around a helper function to write a
277
+ single-liner to a file.
278
+
279
+ While it is textually independent, jk/printf-format needs to be
280
+ merged before this one.
281
+
282
+
283
+* js/am-call-theirs-theirs-in-fallback-3way (2016-07-08) 1 commit
284
+ (merged to 'next' on 2016-07-11 at abae4bc)
285
+ + am: counteract gender bias
286
+ (this branch is used by js/am-3-merge-recursive-direct.)
287
+
288
+ One part of "git am" had an oddball helper function that called
289
+ stuff from outside "his" as opposed to calling what we have "ours",
290
+ which was not gender-neutral and also inconsistent with the rest of
291
+ the system where outside stuff is usuall called "theirs" in
292
+ contrast to "ours".
293
+
294
+
295
+* js/log-to-diffopt-file (2016-07-11) 12 commits
296
+ (merged to 'next' on 2016-07-13 at d7a0af7)
297
+ + mingw: fix the shortlog --output=<file> test
298
+ (merged to 'next' on 2016-07-06 at 39e7a5f)
299
+ + diff: do not color output when --color=auto and --output=<file> is given
300
+ + t4211: ensure that log respects --output=<file>
301
+ + shortlog: respect the --output=<file> setting
302
+ + format-patch: use stdout directly
303
+ + format-patch: avoid freopen()
304
+ + format-patch: explicitly switch off color when writing to files
305
+ + shortlog: support outputting to streams other than stdout
306
+ + graph: respect the diffopt.file setting
307
+ + line-log: respect diffopt's configured output file stream
308
+ + log-tree: respect diffopt's configured output file stream
309
+ + log: prepare log/log-tree to reuse the diffopt.close_file attribute
310
+
311
+ The commands in the "log/diff" family have had an FILE* pointer in the
312
+ data structure they pass around for a long time, but some codepaths
313
+ used to always write to the standard output. As a preparatory step
314
+ to make "git format-patch" available to the internal callers, these
315
+ codepaths have been updated to consistently write into that FILE*
316
+ instead.
317
+
318
+
319
+* js/sign-empty-commit-fix (2016-06-29) 1 commit
320
+ (merged to 'next' on 2016-07-06 at 448da1b)
321
+ + commit -S: avoid invalid pointer with empty message
322
+
323
+ "git commit --amend --allow-empty-message -S" for a commit without
324
+ any message body could have misidentified where the header of the
325
+ commit object ends.
326
+
327
+
328
+* js/t3404-grammo-fix (2016-06-29) 1 commit
329
+ (merged to 'next' on 2016-07-06 at 4378654)
330
+ + t3404: fix a grammo (commands are ran -> commands are run)
331
+
332
+ Grammofix.
333
+
334
+
335
+* lf/recv-sideband-cleanup (2016-07-06) 2 commits
336
+ (merged to 'next' on 2016-07-06 at d527bcb)
337
+ + sideband.c: small optimization of strbuf usage
338
+ + sideband.c: refactor recv_sideband()
339
+
340
+ Code simplification.
341
+
342
+
343
+* ls/p4-tmp-refs (2016-07-08) 1 commit
344
+ (merged to 'next' on 2016-07-11 at 4af2d93)
345
+ + git-p4: place temporary refs used for branch import under refs/git-p4-tmp
346
+
347
+ "git p4" used a location outside $GIT_DIR/refs/ to place its
348
+ temporary branches, which has been moved to refs/git-p4-tmp/.
349
+
350
+
351
+* mm/doc-tt (2016-06-28) 7 commits
352
+ (merged to 'next' on 2016-07-06 at a8c74bd)
353
+ + doc: typeset HEAD and variants as literal
354
+ + CodingGuidelines: formatting HEAD in documentation
355
+ + doc: typeset long options with argument as literal
356
+ + doc: typeset '--' as literal
357
+ + doc: typeset long command-line options as literal
358
+ + doc: typeset short command-line options as literal
359
+ + Documentation/git-mv.txt: fix whitespace indentation
360
+
361
+ More mark-up updates to typeset strings that are expected to
362
+ literally typed by the end user in fixed-width font.
363
+
364
+
365
+* nd/connect-ssh-command-config (2016-07-06) 1 commit
366
+ (merged to 'next' on 2016-07-06 at 6eac316)
367
+ + connect: read $GIT_SSH_COMMAND from config file
368
+
369
+ A new configuration variable core.sshCommand has been added to
370
+ specify what value for GIT_SSH_COMMAND to use per repository.
371
+
372
+
373
+* nd/doc-new-command (2016-06-27) 1 commit
374
+ (merged to 'next' on 2016-07-06 at 1404b64)
375
+ + new-command.txt: correct the command description file
376
+
377
+ Typofix in a doc.
378
+
379
+
380
+* nd/fetch-ref-summary (2016-07-06) 5 commits
381
+ (merged to 'next' on 2016-07-11 at 379df9f)
382
+ + fetch: reduce duplicate in ref update status lines with placeholder
383
+ + fetch: align all "remote -> local" output
384
+ + fetch: change flag code for displaying tag update and deleted ref
385
+ + fetch: refactor ref update status formatting code
386
+ + git-fetch.txt: document fetch output
387
+
388
+ Improve the look of the way "git fetch" reports what happened to
389
+ each ref that was fetched.
390
+
391
+
392
+* nd/icase (2016-07-01) 12 commits
393
+ (merged to 'next' on 2016-07-11 at a00d080)
394
+ + grep.c: reuse "icase" variable
395
+ + diffcore-pickaxe: support case insensitive match on non-ascii
396
+ + diffcore-pickaxe: Add regcomp_or_die()
397
+ + grep/pcre: support utf-8
398
+ + gettext: add is_utf8_locale()
399
+ + grep/pcre: prepare locale-dependent tables for icase matching
400
+ + grep: rewrite an if/else condition to avoid duplicate expression
401
+ + grep/icase: avoid kwsset when -F is specified
402
+ + grep/icase: avoid kwsset on literal non-ascii strings
403
+ + test-regex: expose full regcomp() to the command line
404
+ + test-regex: isolate the bug test code
405
+ + grep: break down an "if" stmt in preparation for next changes
406
+
407
+ "git grep -i" has been taught to fold case in non-ascii locales
408
+ correctly.
409
116
- Discussion continues, expecting a further reroll.
117
- ($gmane/299156)
410
411
+* nd/ita-cleanup (2016-07-01) 3 commits
412
+ (merged to 'next' on 2016-07-06 at f15aeba)
413
+ + grep: fix grepping for "intent to add" files
414
+ + t7810-grep.sh: fix a whitespace inconsistency
415
+ + t7810-grep.sh: fix duplicated test name
416
120
-* ew/http-walker (2016-07-12) 3 commits
121
- - http-walker: reduce O(n) ops with doubly-linked list
122
- - http: avoid disconnecting on 404s for loose objects
123
- - http-walker: remove unused parameter from fetch_object
417
+ Git does not know what the contents in the index should be for a
418
+ path added with "git add -N" yet, so "git grep --cached" should not
419
+ show hits (or show lack of hits, with -L) in such a path, but that
420
+ logic does not apply to "git grep", i.e. searching in the working
421
+ tree files. But we did so by mistake, which has been corrected.
422
125
- Optimize dumb http transport on the client side.
423
424
+* ps/rebase-i-auto-unstash-upon-abort (2016-06-29) 1 commit
425
+ (merged to 'next' on 2016-07-06 at 0fdcedb)
426
+ + rebase -i: restore autostash on abort
427
128
-* nd/log-decorate-color-head-arrow (2016-07-12) 1 commit
129
- - log: decorate HEAD -> branch with the same color for arrow and HEAD
428
+ "git rebase -i --autostash" did not restore the auto-stashed change
429
+ when the operation was aborted.
430
131
- An entry "git log --decorate" for the tip of the current branch is
132
- shown as "HEAD -> name" (where "name" is the name of the branch);
133
- paint the arrow in the same color as "HEAD", not in the color for
134
- commits.
431
136
- Comments? Personally I find it more-or-less "Meh".
432
+* rs/help-c-source-with-gitattributes (2016-07-07) 1 commit
433
+ (merged to 'next' on 2016-07-11 at b90b7d0)
434
+ + .gitattributes: set file type for C files
435
436
+ The .c/.h sources are marked as such in our .gitattributes file so
437
+ that "git diff -W" and friends would work better.
438
139
-* rs/rm-strbuf-optim (2016-07-12) 1 commit
140
- - rm: reuse strbuf for all remove_dir_recursively() calls
439
142
- The use of strbuf in "git rm" to build filename to remove was a bit
143
- suboptimal, which has been fixed.
440
+* sb/submodule-parallel-fetch (2016-07-11) 3 commits
441
+ (merged to 'next' on 2016-07-11 at 4983ded)
442
+ + hoist out handle_nonblock function for xread and xwrite
443
+ (merged to 'next' on 2016-07-06 at de5fd35)
444
+ + xwrite: poll on non-blocking FDs
445
+ + xread: retry after poll on EAGAIN/EWOULDBLOCK
446
145
- Will merge to 'next'.
447
+ Fix recently introduced codepaths that are involved in parallel
448
+ submodule operations, which gave up on reading too early, and
449
+ could have wasted CPU while attempting to write under a corner
450
+ case condition.
451
452
148
-* rs/worktree-use-strbuf-absolute-path (2016-07-12) 1 commit
149
- - worktree: use strbuf_add_absolute_path() directly
453
+* va/i18n-even-more (2016-07-01) 39 commits
454
+ (merged to 'next' on 2016-07-01 at fa5e50e3)
455
+ + t5541: become resilient to GETTEXT_POISON
456
+ (merged to 'next' on 2016-06-28 at 5919dfa)
457
+ + i18n: branch: mark comment when editing branch description for translation
458
+ + i18n: unmark die messages for translation
459
+ + i18n: submodule: escape shell variables inside eval_gettext
460
+ + i18n: submodule: join strings marked for translation
461
+ + i18n: init-db: join message pieces
462
+ + i18n: remote: allow translations to reorder message
463
+ + i18n: remote: mark URL fallback text for translation
464
+ + i18n: standardise messages
465
+ + i18n: sequencer: add period to error message
466
+ + i18n: merge: change command option help to lowercase
467
+ + i18n: merge: mark messages for translation
468
+ + i18n: notes: mark options for translation
469
+ + i18n: notes: mark strings for translation
470
+ + i18n: transport-helper.c: change N_() call to _()
471
+ + i18n: bisect: mark strings for translation
472
+ + t5523: use test_i18ngrep for negation
473
+ + t4153: fix negated test_i18ngrep call
474
+ + t9003: become resilient to GETTEXT_POISON
475
+ + tests: unpack-trees: update to use test_i18n* functions
476
+ + tests: use test_i18n* functions to suppress false positives
477
+ + i18n: setup: mark strings for translation
478
+ + i18n: rebase-interactive: mark comments of squash for translation
479
+ + i18n: rebase-interactive: mark here-doc strings for translation
480
+ + i18n: rebase-interactive: mark strings for translation
481
+ + i18n: git-sh-setup.sh: mark strings for translation
482
+ + t6030: update to use test_i18ncmp
483
+ + i18n: bisect: simplify error message for i18n
484
+ + i18n: rebase: mark placeholder for translation
485
+ + i18n: rebase: fix marked string to use eval_gettext variant
486
+ + merge-octopus: use die shell function from git-sh-setup.sh
487
+ + i18n: merge-octopus: mark messages for translation
488
+ + i18n: sequencer: mark string for translation
489
+ + i18n: sequencer: mark entire sentences for translation
490
+ + i18n: transport: mark strings for translation
491
+ + i18n: advice: internationalize message for conflicts
492
+ + i18n: advice: mark string about detached head for translation
493
+ + i18n: builtin/remote.c: fix mark for translation
494
+ + Merge branch 'jc/t2300-setup' into HEAD
495
+ (this branch is used by js/am-3-merge-recursive-direct.)
496
151
- Code simplification.
497
+ More markings of messages for i18n, with updates to various tests
498
+ to pass GETTEXT_POISON tests.
499
153
- Will merge to 'next'.
500
+ One patch from the original submission dropped due to conflicts
501
+ with jk/upload-pack-hook, which is still in flux.
502
503
--------------------------------------------------
504
[Stalled]
@@ -205,15 +553,6 @@ of the repositories listed at
553
Needs review.
554
555
208
-* tb/convert-peek-in-index (2016-07-07) 3 commits
209
- . correct ce_compare_data() in a middle of a merge
210
- . read-cache: factor out get_sha1_from_index() helper
211
- - convert: unify the "auto" handling of CRLF
212
- (this branch is tangled with jc/renormalize-merge-kill-safer-crlf.)
213
-
214
- Tentatively replaced with jc/renormalize-merge-kill-safer-crlf
215
-
216
-
556
* sb/bisect (2016-04-15) 22 commits
557
- SQUASH???
558
- bisect: get back halfway shortcut
@@ -238,422 +577,336 @@ of the repositories listed at
577
- bisect: allow 'bisect run' if no good commit is known
578
- bisect: write about `bisect next` in documentation
579
241
- The internal algorithm used in "git bisect" to find the next commit
242
- to check has been optimized greatly.
243
-
244
- Expecting a reroll.
245
- ($gmane/291163)
246
-
247
-
248
-* sg/completion-updates (2016-02-28) 21 commits
249
- . completion: cache the path to the repository
250
- . completion: extract repository discovery from __gitdir()
251
- . completion: don't guard git executions with __gitdir()
252
- . completion: consolidate silencing errors from git commands
253
- . completion: don't use __gitdir() for git commands
254
- . completion: respect 'git -C <path>'
255
- . completion: fix completion after 'git -C <path>'
256
- . completion: don't offer commands when 'git --opt' needs an argument
257
- . rev-parse: add '--absolute-git-dir' option
258
- . completion: list short refs from a remote given as a URL
259
- . completion: don't list 'HEAD' when trying refs completion outside of a repo
260
- . completion: list refs from remote when remote's name matches a directory
261
- . completion: respect 'git --git-dir=<path>' when listing remote refs
262
- . completion: fix most spots not respecting 'git --git-dir=<path>'
263
- . completion: ensure that the repository path given on the command line exists
264
- . completion tests: add tests for the __git_refs() helper function
265
- . completion tests: check __gitdir()'s output in the error cases
266
- . completion tests: consolidate getting path of current working directory
267
- . completion tests: make the $cur variable local to the test helper functions
268
- . completion tests: don't add test cruft to the test repository
269
- . completion: improve __git_refs()'s in-code documentation
270
-
271
- Will be rerolled.
272
- ($gmane/287839)
273
-
274
-
275
-* ec/annotate-deleted (2015-11-20) 1 commit
276
- - annotate: skip checking working tree if a revision is provided
277
-
278
- Usability fix for annotate-specific "<file> <rev>" syntax with deleted
279
- files.
280
-
281
- Waiting for review.
282
-
283
-
284
-* dk/gc-more-wo-pack (2016-01-13) 4 commits
285
- - gc: clean garbage .bitmap files from pack dir
286
- - t5304: ensure non-garbage files are not deleted
287
- - t5304: test .bitmap garbage files
288
- - prepare_packed_git(): find more garbage
289
-
290
- Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
291
- .bitmap and .keep files.
292
-
293
- Waiting for a reroll.
294
- ($gmane/284368).
295
-
296
-
297
-* jc/diff-b-m (2015-02-23) 5 commits
298
- . WIPWIP
299
- . WIP: diff-b-m
300
- - diffcore-rename: allow easier debugging
301
- - diffcore-rename.c: add locate_rename_src()
302
- - diffcore-break: allow debugging
303
-
304
- "git diff -B -M" produced incorrect patch when the postimage of a
305
- completely rewritten file is similar to the preimage of a removed
306
- file; such a resulting file must not be expressed as a rename from
307
- other place.
308
-
309
- The fix in this patch is broken, unfortunately.
310
- Will discard.
311
-
312
---------------------------------------------------
313
-[Cooking]
314
-
315
-* jh/clean-smudge-annex (2016-07-12) 9 commits
316
- - use smudgeToFile filter in recursive merge
317
- - use smudgeToFile filter in git am
318
- - better recovery from failure of smudgeToFile filter
319
- - warn on unusable smudgeToFile/cleanFromFile config
320
- - use smudgeToFile in git checkout etc
321
- - use cleanFromFile in git add
322
- - add smudgeToFile and cleanFromFile filter configs
323
- - clarify %f documentation
324
- - Merge branch 'cc/apply-am' into jh/clean-smudge-annex
325
- (this branch is used by js/am-3-merge-recursive-direct; uses cc/apply-am.)
326
-
327
- The interface to "clean/smudge" filters require Git to feed the
328
- whole contents via pipe, which is suboptimal for some applications.
329
- "cleanFromFile/smudgeToFile" commands are the moral equilvalents
330
- for these filters but they interact with the files on the
331
- filesystem directly.
332
-
333
- Will need to wait for all the topics this depends on graduate to 'master'.
334
-
335
-
336
-* js/ignore-space-at-eol (2016-07-11) 2 commits
337
- - diff: fix a double off-by-one with --ignore-space-at-eol
338
- - diff: demonstrate a bug with --patience and --ignore-space-at-eol
339
-
340
- An age old bug that caused "git diff --ignore-space-at-eol"
341
- misbehave has been fixed.
342
-
343
- Will merge to 'next'.
344
-
345
-
346
-* js/rebase-i-tests (2016-07-07) 3 commits
347
- - rebase -i: we allow extra spaces after fixup!/squash!
348
- - rebase -i: demonstrate a bug with --autosquash
349
- - t3404: add a test for the --gpg-sign option
350
-
351
- A few tests that specifically target "git rebase -i" have been
352
- added.
353
-
354
- Will merge to 'next'.
355
-
356
-
357
-* jc/renormalize-merge-kill-safer-crlf (2016-07-12) 2 commits
358
- - merge: avoid "safer crlf" during recording of merge results
359
- - convert: unify the "auto" handling of CRLF
360
- (this branch is tangled with tb/convert-peek-in-index.)
361
-
362
- "git merge" with renormalization did not work well with
363
- merge-recursive, due to "safer crlf" conversion kicking in when it
364
- shouldn't.
365
-
366
- Will merge to 'next', but extra set of eyes are appreciated.
367
-
368
-
369
-* rs/help-c-source-with-gitattributes (2016-07-07) 1 commit
370
- (merged to 'next' on 2016-07-11 at b90b7d0)
371
- + .gitattributes: set file type for C files
372
-
373
- The .c/.h sources are marked as such in our .gitattributes file so
374
- that "git diff -W" and friends would work better.
375
-
376
- Will merge to 'master'.
377
-
378
-
379
-* rs/notes-merge-no-toctou (2016-07-07) 1 commit
380
- - notes-merge: use O_EXCL to avoid overwriting existing files
381
-
382
- "git notes merge" had a code to see if a path exists (and fails if
383
- it does) and then open the path for writing (when it doesn't).
384
- Replace it with open with O_EXCL.
385
-
386
- Will merge to 'next'.
387
-
388
-
389
-* rw/make-needs-librt (2016-07-11) 2 commits
390
- - config.mak.uname: define NEEDS_LIBRT under Linux, for now
391
- - Makefile: add NEEDS_LIBRT to optionally link with librt
392
-
393
- Makefile assumed that -lrt is always available on platforms that
394
- want to use clock_gettime() and CLOCK_MONOTONIC, which is not a
395
- case for recent Mac OS X. The necessary symbols are often found in
396
- libc on many modern systems and having -lrt on the command line, as
397
- long as the library exists, had no effect, but when the platform
398
- removes librt.a that is a different matter--having -lrt will break
399
- the linkage.
400
-
401
- This change could be seen as a regression for those who do need to
402
- specify -lrt, as they now specifically ask for NEEDS_LIBRT when
403
- building. Hopefully they are in the minority these days.
404
-
405
- Will merge to 'next'.
406
-
407
-
408
-* jk/printf-format (2016-07-08) 3 commits
409
- (merged to 'next' on 2016-07-11 at 731eafb)
410
- + commit.c: remove print_commit_list()
411
- + avoid using sha1_to_hex output as printf format
412
- + walker: let walker_say take arbitrary formats
580
+ The internal algorithm used in "git bisect" to find the next commit
581
+ to check has been optimized greatly.
582
414
- Code clean-up to avoid using a variable string that compilers may
415
- feel untrustable as printf-style format given to write_file()
416
- helper function.
583
+ Expecting a reroll.
584
+ ($gmane/291163)
585
418
- Will merge to 'master'.
586
587
+* sg/completion-updates (2016-02-28) 21 commits
588
+ . completion: cache the path to the repository
589
+ . completion: extract repository discovery from __gitdir()
590
+ . completion: don't guard git executions with __gitdir()
591
+ . completion: consolidate silencing errors from git commands
592
+ . completion: don't use __gitdir() for git commands
593
+ . completion: respect 'git -C <path>'
594
+ . completion: fix completion after 'git -C <path>'
595
+ . completion: don't offer commands when 'git --opt' needs an argument
596
+ . rev-parse: add '--absolute-git-dir' option
597
+ . completion: list short refs from a remote given as a URL
598
+ . completion: don't list 'HEAD' when trying refs completion outside of a repo
599
+ . completion: list refs from remote when remote's name matches a directory
600
+ . completion: respect 'git --git-dir=<path>' when listing remote refs
601
+ . completion: fix most spots not respecting 'git --git-dir=<path>'
602
+ . completion: ensure that the repository path given on the command line exists
603
+ . completion tests: add tests for the __git_refs() helper function
604
+ . completion tests: check __gitdir()'s output in the error cases
605
+ . completion tests: consolidate getting path of current working directory
606
+ . completion tests: make the $cur variable local to the test helper functions
607
+ . completion tests: don't add test cruft to the test repository
608
+ . completion: improve __git_refs()'s in-code documentation
609
421
-* jk/write-file (2016-07-08) 9 commits
422
- (merged to 'next' on 2016-07-11 at f51b449)
423
- + branch: use write_file_buf instead of write_file
424
- + use write_file_buf where applicable
425
- + write_file: add format attribute
426
- + write_file: add pointer+len variant
427
- + write_file: use xopen
428
- + write_file: drop "gently" form
429
- + branch: use non-gentle write_file for branch description
430
- + am: ignore return value of write_file()
431
- + config: fix bogus fd check when setting up default config
610
+ Will be rerolled.
611
+ ($gmane/287839)
612
433
- General code clean-up around a helper function to write a
434
- single-liner to a file.
613
436
- Will merge to 'master'.
614
+* ec/annotate-deleted (2015-11-20) 1 commit
615
+ - annotate: skip checking working tree if a revision is provided
616
438
- While it is textually independent, jk/printf-format needs to be
439
- merged before this one.
617
+ Usability fix for annotate-specific "<file> <rev>" syntax with deleted
618
+ files.
619
620
+ Waiting for review.
621
442
-* js/am-call-theirs-theirs-in-fallback-3way (2016-07-08) 1 commit
443
- (merged to 'next' on 2016-07-11 at abae4bc)
444
- + am: counteract gender bias
445
- (this branch is used by js/am-3-merge-recursive-direct.)
622
447
- One part of "git am" had an oddball helper function that called
448
- stuff from outside "his" as opposed to calling what we have "ours",
449
- which was not gender-neutral and also inconsistent with the rest of
450
- the system where outside stuff is usuall called "theirs" in
451
- contrast to "ours".
623
+* dk/gc-more-wo-pack (2016-01-13) 4 commits
624
+ - gc: clean garbage .bitmap files from pack dir
625
+ - t5304: ensure non-garbage files are not deleted
626
+ - t5304: test .bitmap garbage files
627
+ - prepare_packed_git(): find more garbage
628
453
- Will merge to 'master'.
629
+ Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
630
+ .bitmap and .keep files.
631
632
+ Waiting for a reroll.
633
+ ($gmane/284368).
634
456
-* ak/lazy-prereq-mktemp (2016-07-06) 1 commit
457
- (merged to 'next' on 2016-07-11 at 66a9384)
458
- + t7610: test for mktemp before test execution
635
460
- A test that unconditionally used "mktemp" learned that the command
461
- is not necessarily available everywhere.
636
+* jc/diff-b-m (2015-02-23) 5 commits
637
+ . WIPWIP
638
+ . WIP: diff-b-m
639
+ - diffcore-rename: allow easier debugging
640
+ - diffcore-rename.c: add locate_rename_src()
641
+ - diffcore-break: allow debugging
642
463
- Will merge to 'master'.
643
+ "git diff -B -M" produced incorrect patch when the postimage of a
644
+ completely rewritten file is similar to the preimage of a removed
645
+ file; such a resulting file must not be expressed as a rename from
646
+ other place.
647
648
+ The fix in this patch is broken, unfortunately.
649
+ Will discard.
650
466
-* jk/difftool-in-subdir (2016-07-06) 1 commit
467
- - difftool: fix argument handling in subdirs
651
+--------------------------------------------------
652
+[Cooking]
653
469
- "git difftool <paths>..." started in a subdirectory failed to
470
- interpret the paths relative to that directory, which has been
471
- fixed.
654
+* js/am-3-merge-recursive-direct (2016-07-12) 21 commits
655
+ - merge-recursive: flush output buffer even when erroring out
656
+ - merge_trees(): ensure that the output buffer is released after calling it
657
+ - merge-recursive: offer an option to retain the output in 'obuf'
658
+ - merge-recursive: write the commit title in one go
659
+ - merge-recursive: flush output buffer before printing error messages
660
+ - am -3: use merge_recursive() directly again
661
+ - merge-recursive: switch to returning errors instead of dying
662
+ - merge-recursive: handle return values indicating errors
663
+ - merge-recursive: allow write_tree_from_memory() to error out
664
+ - merge-recursive: avoid returning a wholesale struct
665
+ - merge_recursive: abort properly upon errors
666
+ - prepare the builtins for a libified merge_recursive()
667
+ - merge-recursive: clarify code in was_tracked()
668
+ - die(_("BUG")): avoid translating bug messages
669
+ - die("bug"): report bugs consistently
670
+ - t5520: verify that `git pull --rebase` shows the advice when failing
671
+ - Merge branch 'jh/clean-smudge-annex' into HEAD
672
+ - Merge branch 'bc/cocci' into js/am-3-merge-recursive-direct
673
+ - Merge branch 'js/am-call-theirs-theirs-in-fallback-3way' into js/am-3-merge-recursive-direct
674
+ - Merge branch 'cc/apply-am' into js/am-3-merge-recursive-direct
675
+ - Merge branch 'va/i18n-even-more' into js/am-3-merge-recursive-direct
676
+ (this branch uses cc/apply-am and jh/clean-smudge-annex.)
677
473
- Favourably reviewed with some questions and a request for new tests.
474
- ($gmane/299319)
678
+ "git am -3" calls "git merge-recursive" when it needs to fall back
679
+ to a three-way merge; this call has been turned into an internal
680
+ subroutine call instead of spawning a separate subprocess.
681
682
+ Will be rerolled, unless Joey says something about the interaction
683
+ with the other topic.
684
477
-* nd/test-helpers (2016-07-11) 3 commits
478
- - t/test-lib.sh: fix running tests with --valgrind
479
- - Makefile: use VCSSVN_LIB to refer to svn library
480
- - Makefile: drop extra dependencies for test helpers
685
482
- Build clean-up.
686
+* ls/travis-enable-httpd-tests (2016-07-12) 1 commit
687
+ (merged to 'next' on 2016-07-13 at 06fa12e)
688
+ + travis-ci: enable web server tests t55xx on Linux
689
484
- Will merge to 'next'.
690
+ Allow http daemon tests in Travis CI tests.
691
692
+ Will merge to 'master'.
693
487
-* dk/blame-move-no-reason-for-1-line-context (2016-05-29) 1 commit
488
- (merged to 'next' on 2016-07-06 at 087490c)
489
- + blame: require 0 context lines while finding moved lines with -M
694
491
- "git blame -M" missed a single line that was moved within the file.
695
+* nd/cache-tree-ita (2016-07-18) 4 commits
696
+ (merged to 'next' on 2016-07-19 at 512fd96)
697
+ + cache-tree: do not generate empty trees as a result of all i-t-a subentries
698
+ + cache-tree.c: fix i-t-a entry skipping directory updates sometimes
699
+ + test-lib.sh: introduce and use $EMPTY_BLOB
700
+ + test-lib.sh: introduce and use $EMPTY_TREE
701
493
- We may want to squash a test or two to this commit. Volunteers?
702
+ "git add -N dir/file && git write-tree" produced an incorrect tree
703
+ when there are other paths in the same directory that sorts after
704
+ "file".
705
706
+ Will merge to 'master'.
707
496
-* jk/common-main (2016-07-06) 1 commit
497
- (merged to 'next' on 2016-07-11 at 1c2228a)
498
- + Merge branch 'jk/common-main-2.8' into jk/common-main
499
- (this branch uses jk/common-main-2.8.)
708
501
- Prepare jk/commin-main-2.8 topic to be mergeable to 2.9 and later.
709
+* nd/pack-ofs-4gb-limit (2016-07-13) 7 commits
710
+ (merged to 'next' on 2016-07-13 at 91e217d)
711
+ + fsck: use streaming interface for large blobs in pack
712
+ + pack-objects: do not truncate result in-pack object size on 32-bit systems
713
+ + index-pack: correct "offset" type in unpack_entry_data()
714
+ + index-pack: report correct bad object offsets even if they are large
715
+ + index-pack: correct "len" type in unpack_data()
716
+ + sha1_file.c: use type off_t* for object_info->disk_sizep
717
+ + pack-objects: pass length to check_pack_crc() without truncation
718
+
719
+ "git pack-objects" and "git index-pack" mostly operate with off_t
720
+ when talking about the offset of objects in a packfile, but there
721
+ were a handful of places that used "unsigned long" to hold that
722
+ value, leading to an unintended truncation.
723
724
Will merge to 'master'.
725
726
506
-* jk/common-main-2.8 (2016-07-06) 6 commits
507
- + mingw: declare main()'s argv as const
508
- + common-main: call git_setup_gettext()
509
- + common-main: call restore_sigpipe_to_default()
510
- + common-main: call sanitize_stdfds()
511
- + common-main: call git_extract_argv0_path()
512
- + add an extra level of indirection to main()
513
- (this branch is used by jk/common-main.)
727
+* sb/push-options (2016-07-14) 4 commits
728
+ (merged to 'next' on 2016-07-19 at ee9a83a)
729
+ + add a test for push options
730
+ + push: accept push options
731
+ + receive-pack: implement advertising and receiving push options
732
+ + push options: {pre,post}-receive hook learns about push options
733
515
- There are certain house-keeping tasks that need to be performed at
516
- the very beginning of any Git program, and programs that are not
517
- built-in commands had to do them exactly the same way as "git"
518
- potty does. It was easy to make mistakes in one-off standalone
519
- programs (like test helpers). A common "main()" function that
520
- calls cmd_main() of individual program has been introduced to
521
- make it harder to make mistakes.
734
+ "git push" learned to accept and pass extra options to the
735
+ receiving end so that hooks can read and react to them.
736
737
+ Will merge to 'master'.
738
524
-* nd/ita-cleanup (2016-07-01) 3 commits
525
- (merged to 'next' on 2016-07-06 at f15aeba)
526
- + grep: fix grepping for "intent to add" files
527
- + t7810-grep.sh: fix a whitespace inconsistency
528
- + t7810-grep.sh: fix duplicated test name
739
530
- Git does not know what the contents in the index should be for a
531
- path added with "git add -N" yet, so "git grep --cached" should not
532
- show hits (or show lack of hits, with -L) in such a path. But we
533
- did by mistake, which has been corrected.
740
+* ew/http-walker (2016-07-18) 4 commits
741
+ (merged to 'next' on 2016-07-18 at a430a97)
742
+ + list: avoid incompatibility with *BSD sys/queue.h
743
+ (merged to 'next' on 2016-07-13 at 8585c03)
744
+ + http-walker: reduce O(n) ops with doubly-linked list
745
+ + http: avoid disconnecting on 404s for loose objects
746
+ + http-walker: remove unused parameter from fetch_object
747
+
748
+ Optimize dumb http transport on the client side.
749
750
Will merge to 'master'.
751
752
538
-* dp/autoconf-curl-ssl (2016-06-28) 1 commit
539
- - ./configure.ac: detect SSL in libcurl using curl-config
753
+* nd/log-decorate-color-head-arrow (2016-07-12) 1 commit
754
+ - log: decorate HEAD -> branch with the same color for arrow and HEAD
755
541
- The ./configure script generated from configure.ac was taught how
542
- to detect support of SSL by libcurl better.
756
+ An entry "git log --decorate" for the tip of the current branch is
757
+ shown as "HEAD -> name" (where "name" is the name of the branch);
758
+ paint the arrow in the same color as "HEAD", not in the color for
759
+ commits.
760
544
- Needs review.
761
+ Comments? Personally I find it more-or-less "Meh".
762
763
547
-* js/sign-empty-commit-fix (2016-06-29) 1 commit
548
- (merged to 'next' on 2016-07-06 at 448da1b)
549
- + commit -S: avoid invalid pointer with empty message
764
+* rs/rm-strbuf-optim (2016-07-12) 1 commit
765
+ (merged to 'next' on 2016-07-13 at 5b71fc8)
766
+ + rm: reuse strbuf for all remove_dir_recursively() calls
767
551
- "git commit --amend --allow-empty-message -S" for a commit without
552
- any message body could have misidentified where the header of the
553
- commit object ends.
768
+ The use of strbuf in "git rm" to build filename to remove was a bit
769
+ suboptimal, which has been fixed.
770
771
Will merge to 'master'.
772
773
558
-* js/t3404-grammo-fix (2016-06-29) 1 commit
559
- (merged to 'next' on 2016-07-06 at 4378654)
560
- + t3404: fix a grammo (commands are ran -> commands are run)
774
+* rs/worktree-use-strbuf-absolute-path (2016-07-12) 1 commit
775
+ (merged to 'next' on 2016-07-13 at e8c9c02)
776
+ + worktree: use strbuf_add_absolute_path() directly
777
562
- Grammofix.
778
+ Code simplification.
779
780
Will merge to 'master'.
781
782
567
-* ls/p4-tmp-refs (2016-07-08) 1 commit
568
- (merged to 'next' on 2016-07-11 at 4af2d93)
569
- + git-p4: place temporary refs used for branch import under refs/git-p4-tmp
783
+* jh/clean-smudge-annex (2016-07-12) 9 commits
784
+ - use smudgeToFile filter in recursive merge
785
+ - use smudgeToFile filter in git am
786
+ - better recovery from failure of smudgeToFile filter
787
+ - warn on unusable smudgeToFile/cleanFromFile config
788
+ - use smudgeToFile in git checkout etc
789
+ - use cleanFromFile in git add
790
+ - add smudgeToFile and cleanFromFile filter configs
791
+ - clarify %f documentation
792
+ - Merge branch 'cc/apply-am' into jh/clean-smudge-annex
793
+ (this branch is used by js/am-3-merge-recursive-direct; uses cc/apply-am.)
794
571
- "git p4" used a location outside $GIT_DIR/refs/ to place its
572
- temporary branches, which has been moved to refs/git-p4-tmp/.
795
+ The interface to "clean/smudge" filters require Git to feed the
796
+ whole contents via pipe, which is suboptimal for some applications.
797
+ "cleanFromFile/smudgeToFile" commands are the moral equilvalents
798
+ for these filters but they interact with the files on the
799
+ filesystem directly.
800
574
- Will merge to 'master'.
801
+ Will need to wait for all the topics this depends on graduate to 'master'.
802
803
577
-* jc/pull-rebase-ff (2016-06-29) 1 commit
578
- - pull: fast-forward "pull --rebase=true"
804
+* js/ignore-space-at-eol (2016-07-11) 2 commits
805
+ (merged to 'next' on 2016-07-13 at 429dd83)
806
+ + diff: fix a double off-by-one with --ignore-space-at-eol
807
+ + diff: demonstrate a bug with --patience and --ignore-space-at-eol
808
580
- "git pull --rebase", when there is no new commits on our side since
581
- we forked from the upstream, should be able to fast-forward without
582
- invoking "git rebase", but it didn't.
809
+ An age old bug that caused "git diff --ignore-space-at-eol"
810
+ misbehave has been fixed.
811
584
- Needs a real log message and a few tests.
812
+ Will merge to 'master'.
813
814
587
-* ps/rebase-i-auto-unstash-upon-abort (2016-06-29) 1 commit
588
- (merged to 'next' on 2016-07-06 at 0fdcedb)
589
- + rebase -i: restore autostash on abort
815
+* js/rebase-i-tests (2016-07-07) 3 commits
816
+ (merged to 'next' on 2016-07-13 at b06b28f)
817
+ + rebase -i: we allow extra spaces after fixup!/squash!
818
+ + rebase -i: demonstrate a bug with --autosquash
819
+ + t3404: add a test for the --gpg-sign option
820
591
- "git rebase -i --autostash" did not restore the auto-stashed change
592
- when the operation was aborted.
821
+ A few tests that specifically target "git rebase -i" have been
822
+ added.
823
824
Will merge to 'master'.
825
826
597
-* dg/subtree-rebase-test (2016-06-28) 1 commit
598
- (merged to 'next' on 2016-07-06 at 4dec1ad)
599
- + contrib/subtree: Add a test for subtree rebase that loses commits
827
+* jc/renormalize-merge-kill-safer-crlf (2016-07-12) 2 commits
828
+ (merged to 'next' on 2016-07-13 at c243dd6)
829
+ + merge: avoid "safer crlf" during recording of merge results
830
+ + convert: unify the "auto" handling of CRLF
831
+ (this branch is tangled with tb/convert-peek-in-index.)
832
601
- This is just a test to specify the desired behaviour that currently
602
- is not available.
833
+ "git merge" with renormalization did not work well with
834
+ merge-recursive, due to "safer crlf" conversion kicking in when it
835
+ shouldn't.
836
837
Will merge to 'master'.
838
839
607
-* jk/test-match-signal (2016-07-06) 4 commits
608
- (merged to 'next' on 2016-07-11 at 54e1462)
609
- + t/lib-git-daemon: use test_match_signal
610
- + test_must_fail: use test_match_signal
611
- + t0005: use test_match_signal as appropriate
612
- + tests: factor portable signal check out of t0005
840
+* rs/notes-merge-no-toctou (2016-07-07) 1 commit
841
+ (merged to 'next' on 2016-07-13 at f08b530)
842
+ + notes-merge: use O_EXCL to avoid overwriting existing files
843
614
- The test framework learned a new helper test_match_signal to check
615
- an exit code from getting killed by an expected signal.
844
+ "git notes merge" had a code to see if a path exists (and fails if
845
+ it does) and then open the path for writing (when it doesn't).
846
+ Replace it with open with O_EXCL.
847
848
Will merge to 'master'.
849
850
620
-* ah/unpack-trees-advice-messages (2016-06-27) 1 commit
621
- (merged to 'next' on 2016-07-06 at 4254fc2)
622
- + unpack-trees: fix English grammar in do-this-before-that messages
851
+* rw/make-needs-librt (2016-07-11) 2 commits
852
+ (merged to 'next' on 2016-07-13 at 7fafd37)
853
+ + config.mak.uname: define NEEDS_LIBRT under Linux, for now
854
+ + Makefile: add NEEDS_LIBRT to optionally link with librt
855
624
- Grammofix.
856
+ Makefile assumed that -lrt is always available on platforms that
857
+ want to use clock_gettime() and CLOCK_MONOTONIC, which is not a
858
+ case for recent Mac OS X. The necessary symbols are often found in
859
+ libc on many modern systems and having -lrt on the command line, as
860
+ long as the library exists, had no effect, but when the platform
861
+ removes librt.a that is a different matter--having -lrt will break
862
+ the linkage.
863
+
864
+ This change could be seen as a regression for those who do need to
865
+ specify -lrt, as they now specifically ask for NEEDS_LIBRT when
866
+ building. Hopefully they are in the minority these days.
867
868
Will merge to 'master'.
869
870
629
-* ew/gc-auto-pack-limit-fix (2016-06-27) 1 commit
630
- (merged to 'next' on 2016-07-06 at aa023d3)
631
- + gc: fix off-by-one error with gc.autoPackLimit
871
+* jk/difftool-in-subdir (2016-07-19) 4 commits
872
+ - difftool: use Git::* functions instead of passing around state
873
+ - SQUASH???
874
+ - difftool: avoid $GIT_DIR and $GIT_WORK_TREE
875
+ - difftool: fix argument handling in subdirs
876
633
- "gc.autoPackLimit" when set to 1 should not trigger a repacking
634
- when there is only one pack, but the code counted poorly and did
635
- so.
877
+ "git difftool <paths>..." started in a subdirectory failed to
878
+ interpret the paths relative to that directory, which has been
879
+ fixed.
880
+
881
+
882
+* nd/test-helpers (2016-07-11) 3 commits
883
+ (merged to 'next' on 2016-07-19 at 78ef465)
884
+ + t/test-lib.sh: fix running tests with --valgrind
885
+ + Makefile: use VCSSVN_LIB to refer to svn library
886
+ + Makefile: drop extra dependencies for test helpers
887
+
888
+ Build clean-up.
889
890
Will merge to 'master'.
891
892
640
-* nd/connect-ssh-command-config (2016-07-06) 1 commit
641
- (merged to 'next' on 2016-07-06 at 6eac316)
642
- + connect: read $GIT_SSH_COMMAND from config file
893
+* dp/autoconf-curl-ssl (2016-06-28) 1 commit
894
+ - ./configure.ac: detect SSL in libcurl using curl-config
895
644
- A new configuration variable core.sshCommand to specify what value
645
- for GIT_SSH_COMMAND to use per repository.
896
+ The ./configure script generated from configure.ac was taught how
897
+ to detect support of SSL by libcurl better.
898
647
- Will merge to 'master'.
899
+ Needs review.
900
901
650
-* nd/doc-new-command (2016-06-27) 1 commit
651
- (merged to 'next' on 2016-07-06 at 1404b64)
652
- + new-command.txt: correct the command description file
902
+* jc/pull-rebase-ff (2016-06-29) 1 commit
903
+ - pull: fast-forward "pull --rebase=true"
904
654
- Typofix in a doc.
905
+ "git pull --rebase", when there is no new commits on our side since
906
+ we forked from the upstream, should be able to fast-forward without
907
+ invoking "git rebase", but it didn't.
908
656
- Will merge to 'master'.
909
+ Needs a real log message and a few tests.
910
911
912
* po/range-doc (2016-07-01) 3 commits
@@ -671,53 +924,9 @@ of the repositories listed at
924
review discussion. Otherwise looked good.
925
926
674
-* sb/submodule-parallel-fetch (2016-07-11) 3 commits
675
- (merged to 'next' on 2016-07-11 at 4983ded)
676
- + hoist out handle_nonblock function for xread and xwrite
677
- (merged to 'next' on 2016-07-06 at de5fd35)
678
- + xwrite: poll on non-blocking FDs
679
- + xread: retry after poll on EAGAIN/EWOULDBLOCK
680
-
681
- Fix a recently introduced codepaths that are involved in parallel
682
- submodule operations, which gave up on reading too early, and
683
- could have wasted CPU while attempting to write under a corner case
684
- condition.
685
-
686
- Will merge to 'master'.
687
-
688
-
689
-* mm/doc-tt (2016-06-28) 7 commits
690
- (merged to 'next' on 2016-07-06 at a8c74bd)
691
- + doc: typeset HEAD and variants as literal
692
- + CodingGuidelines: formatting HEAD in documentation
693
- + doc: typeset long options with argument as literal
694
- + doc: typeset '--' as literal
695
- + doc: typeset long command-line options as literal
696
- + doc: typeset short command-line options as literal
697
- + Documentation/git-mv.txt: fix whitespace indentation
698
-
699
- More mark-up updates to typeset strings that are expected to
700
- literally typed by the end user in fixed-width font.
701
-
702
- Will merge to 'master'.
703
-
704
-
705
-* nd/fetch-ref-summary (2016-07-06) 5 commits
706
- (merged to 'next' on 2016-07-11 at 379df9f)
707
- + fetch: reduce duplicate in ref update status lines with placeholder
708
- + fetch: align all "remote -> local" output
709
- + fetch: change flag code for displaying tag update and deleted ref
710
- + fetch: refactor ref update status formatting code
711
- + git-fetch.txt: document fetch output
712
-
713
- Improve the look of the way "git fetch" reports what happened to
714
- each ref that was fetched.
715
-
716
- Will merge to 'master'.
717
-
718
-
927
* ex/deprecate-empty-pathspec-as-match-all (2016-06-22) 1 commit
720
- - pathspec: warn on empty strings as pathspec
928
+ (merged to 'next' on 2016-07-13 at d9ca7fb)
929
+ + pathspec: warn on empty strings as pathspec
930
931
An empty string used as a pathspec element has always meant
932
'everything matches', but it is too easy to write a script that
@@ -730,28 +939,7 @@ of the repositories listed at
939
eventually the warning can be turned into a hard error, upgrading
940
the deprecation into removal of this (mis)feature.
941
733
- Will merge to 'next'.
734
-
735
-
736
-* nd/icase (2016-07-01) 12 commits
737
- (merged to 'next' on 2016-07-11 at a00d080)
738
- + grep.c: reuse "icase" variable
739
- + diffcore-pickaxe: support case insensitive match on non-ascii
740
- + diffcore-pickaxe: Add regcomp_or_die()
741
- + grep/pcre: support utf-8
742
- + gettext: add is_utf8_locale()
743
- + grep/pcre: prepare locale-dependent tables for icase matching
744
- + grep: rewrite an if/else condition to avoid duplicate expression
745
- + grep/icase: avoid kwsset when -F is specified
746
- + grep/icase: avoid kwsset on literal non-ascii strings
747
- + test-regex: expose full regcomp() to the command line
748
- + test-regex: isolate the bug test code
749
- + grep: break down an "if" stmt in preparation for next changes
750
-
751
- "git grep -i" has been taught to fold case in non-ascii locales
752
- correctly.
753
-
754
- Will merge to 'master'.
942
+ Will hold to see if people scream.
943
944
945
* mh/ref-store (2016-06-20) 38 commits
@@ -803,88 +991,18 @@ of the repositories listed at
991
992
993
* mh/update-ref-errors (2016-06-20) 6 commits
806
- - lock_ref_for_update(): avoid a symref resolution
807
- - lock_ref_for_update(): make error handling more uniform
808
- - t1404: add more tests of update-ref error handling
809
- - t1404: document function test_update_rejected
810
- - t1404: remove "prefix" argument to test_update_rejected
811
- - t1404: rename file to t1404-update-ref-errors.sh
994
+ (merged to 'next' on 2016-07-13 at 53482fa)
995
+ + lock_ref_for_update(): avoid a symref resolution
996
+ + lock_ref_for_update(): make error handling more uniform
997
+ + t1404: add more tests of update-ref error handling
998
+ + t1404: document function test_update_rejected
999
+ + t1404: remove "prefix" argument to test_update_rejected
1000
+ + t1404: rename file to t1404-update-ref-errors.sh
1001
(this branch uses mh/split-under-lock; is tangled with mh/ref-iterators and mh/ref-store.)
1002
1003
Error handling in the codepaths that updates refs has been
1004
improved.
1005
817
- Will merge to 'next'.
818
-
819
-
820
-* js/log-to-diffopt-file (2016-07-11) 12 commits
821
- - mingw: fix the shortlog --output=<file> test
822
- (merged to 'next' on 2016-07-06 at 39e7a5f)
823
- + diff: do not color output when --color=auto and --output=<file> is given
824
- + t4211: ensure that log respects --output=<file>
825
- + shortlog: respect the --output=<file> setting
826
- + format-patch: use stdout directly
827
- + format-patch: avoid freopen()
828
- + format-patch: explicitly switch off color when writing to files
829
- + shortlog: support outputting to streams other than stdout
830
- + graph: respect the diffopt.file setting
831
- + line-log: respect diffopt's configured output file stream
832
- + log-tree: respect diffopt's configured output file stream
833
- + log: prepare log/log-tree to reuse the diffopt.close_file attribute
834
-
835
- The commands in the "log/diff" family had an FILE* pointer in the
836
- data structure they pass around for a long time, but some codepaths
837
- used to always write to the standard output. As a preparatory step
838
- to make "git format-patch" available to the internal callers, these
839
- codepaths have been updated to consistently write into that FILE*
840
- instead.
841
-
842
- Will merge to 'master'.
843
-
844
-
845
-* bc/cocci (2016-06-28) 11 commits
846
- (merged to 'next' on 2016-07-06 at f2e8e2a)
847
- + diff: convert prep_temp_blob() to struct object_id
848
- + merge-recursive: convert merge_recursive_generic() to object_id
849
- + merge-recursive: convert leaf functions to use struct object_id
850
- + merge-recursive: convert struct merge_file_info to object_id
851
- + merge-recursive: convert struct stage_data to use object_id
852
- + diff: rename struct diff_filespec's sha1_valid member
853
- + diff: convert struct diff_filespec to struct object_id
854
- + coccinelle: apply object_id Coccinelle transformations
855
- + coccinelle: convert hashcpy() with null_sha1 to hashclr()
856
- + contrib/coccinelle: add basic Coccinelle transforms
857
- + hex: add oid_to_hex_r()
858
- (this branch is used by js/am-3-merge-recursive-direct.)
859
-
860
- Conversion from unsigned char sha1[20] to struct object_id
861
- continues.
862
-
863
- Will merge to 'master'.
864
-
865
-
866
-* jk/big-and-future-archive-tar (2016-07-01) 5 commits
867
- (merged to 'next' on 2016-07-06 at 89f3835)
868
- + archive-tar: drop return value
869
- + archive-tar: write extended headers for far-future mtime
870
- + archive-tar: write extended headers for file sizes >= 8GB
871
- + t5000: test tar files that overflow ustar headers
872
- + t9300: factor out portable "head -c" replacement
873
-
874
- "git archive" learned to handle files that are larger than 8GB and
875
- commits far in the future than expressible by the traditional US-TAR
876
- format.
877
-
878
- Will merge to 'master'.
879
-
880
-
881
-* lf/recv-sideband-cleanup (2016-07-06) 2 commits
882
- (merged to 'next' on 2016-07-06 at d527bcb)
883
- + sideband.c: small optimization of strbuf usage
884
- + sideband.c: refactor recv_sideband()
885
-
886
- Code simplification.
887
-
1006
Will merge to 'master'.
1007
1008
@@ -961,25 +1079,26 @@ of the repositories listed at
1079
1080
1081
* mh/ref-iterators (2016-06-20) 13 commits
964
- - for_each_reflog(): reimplement using iterators
965
- - dir_iterator: new API for iterating over a directory tree
966
- - for_each_reflog(): don't abort for bad references
967
- - do_for_each_ref(): reimplement using reference iteration
968
- - refs: introduce an iterator interface
969
- - ref_resolves_to_object(): new function
970
- - entry_resolves_to_object(): rename function from ref_resolves_to_object()
971
- - get_ref_cache(): only create an instance if there is a submodule
972
- - remote rm: handle symbolic refs correctly
973
- - delete_refs(): add a flags argument
974
- - refs: use name "prefix" consistently
975
- - do_for_each_ref(): move docstring to the header file
976
- - refs: remove unnecessary "extern" keywords
1082
+ (merged to 'next' on 2016-07-13 at a5b4e62)
1083
+ + for_each_reflog(): reimplement using iterators
1084
+ + dir_iterator: new API for iterating over a directory tree
1085
+ + for_each_reflog(): don't abort for bad references
1086
+ + do_for_each_ref(): reimplement using reference iteration
1087
+ + refs: introduce an iterator interface
1088
+ + ref_resolves_to_object(): new function
1089
+ + entry_resolves_to_object(): rename function from ref_resolves_to_object()
1090
+ + get_ref_cache(): only create an instance if there is a submodule
1091
+ + remote rm: handle symbolic refs correctly
1092
+ + delete_refs(): add a flags argument
1093
+ + refs: use name "prefix" consistently
1094
+ + do_for_each_ref(): move docstring to the header file
1095
+ + refs: remove unnecessary "extern" keywords
1096
(this branch is used by mh/ref-store; uses mh/split-under-lock; is tangled with mh/update-ref-errors.)
1097
1098
The API to iterate over all the refs (i.e. for_each_ref(), etc.)
1099
has been revamped.
1100
982
- Will merge to 'next'.
1101
+ Will merge to 'master'.
1102
1103
1104
* mh/connect (2016-06-06) 10 commits
@@ -1000,73 +1119,21 @@ of the repositories listed at
1119
Comments?
1120
1121
1003
-* va/i18n-even-more (2016-07-01) 39 commits
1004
- (merged to 'next' on 2016-07-01 at fa5e50e3)
1005
- + t5541: become resilient to GETTEXT_POISON
1006
- (merged to 'next' on 2016-06-28 at 5919dfa)
1007
- + i18n: branch: mark comment when editing branch description for translation
1008
- + i18n: unmark die messages for translation
1009
- + i18n: submodule: escape shell variables inside eval_gettext
1010
- + i18n: submodule: join strings marked for translation
1011
- + i18n: init-db: join message pieces
1012
- + i18n: remote: allow translations to reorder message
1013
- + i18n: remote: mark URL fallback text for translation
1014
- + i18n: standardise messages
1015
- + i18n: sequencer: add period to error message
1016
- + i18n: merge: change command option help to lowercase
1017
- + i18n: merge: mark messages for translation
1018
- + i18n: notes: mark options for translation
1019
- + i18n: notes: mark strings for translation
1020
- + i18n: transport-helper.c: change N_() call to _()
1021
- + i18n: bisect: mark strings for translation
1022
- + t5523: use test_i18ngrep for negation
1023
- + t4153: fix negated test_i18ngrep call
1024
- + t9003: become resilient to GETTEXT_POISON
1025
- + tests: unpack-trees: update to use test_i18n* functions
1026
- + tests: use test_i18n* functions to suppress false positives
1027
- + i18n: setup: mark strings for translation
1028
- + i18n: rebase-interactive: mark comments of squash for translation
1029
- + i18n: rebase-interactive: mark here-doc strings for translation
1030
- + i18n: rebase-interactive: mark strings for translation
1031
- + i18n: git-sh-setup.sh: mark strings for translation
1032
- + t6030: update to use test_i18ncmp
1033
- + i18n: bisect: simplify error message for i18n
1034
- + i18n: rebase: mark placeholder for translation
1035
- + i18n: rebase: fix marked string to use eval_gettext variant
1036
- + merge-octopus: use die shell function from git-sh-setup.sh
1037
- + i18n: merge-octopus: mark messages for translation
1038
- + i18n: sequencer: mark string for translation
1039
- + i18n: sequencer: mark entire sentences for translation
1040
- + i18n: transport: mark strings for translation
1041
- + i18n: advice: internationalize message for conflicts
1042
- + i18n: advice: mark string about detached head for translation
1043
- + i18n: builtin/remote.c: fix mark for translation
1044
- + Merge branch 'jc/t2300-setup' into HEAD
1045
- (this branch is used by js/am-3-merge-recursive-direct.)
1046
-
1047
- More markings of messages for i18n, with updates to various tests
1048
- to pass GETTEXT_POISON tests.
1049
-
1050
- One patch from the original submission dropped due to conflicts
1051
- with jk/upload-pack-hook, which is still in flux.
1052
-
1053
- Will merge to 'master'.
1054
-
1055
-
1122
* nd/worktree-lock (2016-07-08) 6 commits
1057
- - worktree.c: find_worktree() search by path suffix
1058
- - worktree: add "unlock" command
1059
- - worktree: add "lock" command
1060
- - worktree.c: add is_worktree_locked()
1061
- - worktree.c: add is_main_worktree()
1062
- - worktree.c: add find_worktree()
1123
+ (merged to 'next' on 2016-07-13 at c768a85)
1124
+ + worktree.c: find_worktree() search by path suffix
1125
+ + worktree: add "unlock" command
1126
+ + worktree: add "lock" command
1127
+ + worktree.c: add is_worktree_locked()
1128
+ + worktree.c: add is_main_worktree()
1129
+ + worktree.c: add find_worktree()
1130
1131
"git worktree prune" protected worktrees that are marked as
1132
"locked" by creating a file in a known location. "git worktree"
1133
command learned a dedicated command pair to create and remoev such
1134
a file, so that the users do not have to do this with editor.
1135
1069
- Will merge to 'next'.
1136
+ Will merge to 'master'.
1137
1138
1139
* sb/submodule-default-paths (2016-06-20) 5 commits
@@ -1125,6 +1192,10 @@ of the repositories listed at
1192
1193
GSoC "bisect" topic.
1194
1195
+ Are people happy with this version? How much of the planned
1196
+ "porting" is finished by this part of the work? How much more to
1197
+ go?
1198
+
1199
1200
* sb/pathspec-label (2016-06-03) 6 commits
1201
- pathspec: disable preload-index when attribute pathspec magic is in use
@@ -1143,45 +1214,46 @@ of the repositories listed at
1214
1215
1216
* mh/split-under-lock (2016-06-13) 33 commits
1146
- - lock_ref_sha1_basic(): only handle REF_NODEREF mode
1147
- - commit_ref_update(): remove the flags parameter
1148
- - lock_ref_for_update(): don't resolve symrefs
1149
- - lock_ref_for_update(): don't re-read non-symbolic references
1150
- - refs: resolve symbolic refs first
1151
- - ref_transaction_update(): check refname_is_safe() at a minimum
1152
- - unlock_ref(): move definition higher in the file
1153
- - lock_ref_for_update(): new function
1154
- - add_update(): initialize the whole ref_update
1155
- - verify_refname_available(): adjust constness in declaration
1156
- - refs: don't dereference on rename
1157
- - refs: allow log-only updates
1158
- - delete_branches(): use resolve_refdup()
1159
- - ref_transaction_commit(): correctly report close_ref() failure
1160
- - ref_transaction_create(): disallow recursive pruning
1161
- - refs: make error messages more consistent
1162
- - lock_ref_sha1_basic(): remove unneeded local variable
1163
- - read_raw_ref(): move docstring to header file
1164
- - read_raw_ref(): improve docstring
1165
- - read_raw_ref(): rename symref argument to referent
1166
- - read_raw_ref(): clear *type at start of function
1167
- - read_raw_ref(): rename flags argument to type
1168
- - ref_transaction_commit(): remove local variables n and updates
1169
- - rename_ref(): remove unneeded local variable
1170
- - commit_ref_update(): write error message to *err, not stderr
1171
- - refname_is_safe(): insist that the refname already be normalized
1172
- - refname_is_safe(): don't allow the empty string
1173
- - refname_is_safe(): use skip_prefix()
1174
- - remove_dir_recursively(): add docstring
1175
- - safe_create_leading_directories(): improve docstring
1176
- - read_raw_ref(): don't get confused by an empty directory
1177
- - commit_ref(): if there is an empty dir in the way, delete it
1178
- - t1404: demonstrate a bug resolving references
1217
+ (merged to 'next' on 2016-07-13 at aa598af)
1218
+ + lock_ref_sha1_basic(): only handle REF_NODEREF mode
1219
+ + commit_ref_update(): remove the flags parameter
1220
+ + lock_ref_for_update(): don't resolve symrefs
1221
+ + lock_ref_for_update(): don't re-read non-symbolic references
1222
+ + refs: resolve symbolic refs first
1223
+ + ref_transaction_update(): check refname_is_safe() at a minimum
1224
+ + unlock_ref(): move definition higher in the file
1225
+ + lock_ref_for_update(): new function
1226
+ + add_update(): initialize the whole ref_update
1227
+ + verify_refname_available(): adjust constness in declaration
1228
+ + refs: don't dereference on rename
1229
+ + refs: allow log-only updates
1230
+ + delete_branches(): use resolve_refdup()
1231
+ + ref_transaction_commit(): correctly report close_ref() failure
1232
+ + ref_transaction_create(): disallow recursive pruning
1233
+ + refs: make error messages more consistent
1234
+ + lock_ref_sha1_basic(): remove unneeded local variable
1235
+ + read_raw_ref(): move docstring to header file
1236
+ + read_raw_ref(): improve docstring
1237
+ + read_raw_ref(): rename symref argument to referent
1238
+ + read_raw_ref(): clear *type at start of function
1239
+ + read_raw_ref(): rename flags argument to type
1240
+ + ref_transaction_commit(): remove local variables n and updates
1241
+ + rename_ref(): remove unneeded local variable
1242
+ + commit_ref_update(): write error message to *err, not stderr
1243
+ + refname_is_safe(): insist that the refname already be normalized
1244
+ + refname_is_safe(): don't allow the empty string
1245
+ + refname_is_safe(): use skip_prefix()
1246
+ + remove_dir_recursively(): add docstring
1247
+ + safe_create_leading_directories(): improve docstring
1248
+ + read_raw_ref(): don't get confused by an empty directory
1249
+ + commit_ref(): if there is an empty dir in the way, delete it
1250
+ + t1404: demonstrate a bug resolving references
1251
(this branch is used by mh/ref-iterators, mh/ref-store and mh/update-ref-errors.)
1252
1253
Further preparatory work on the refs API before the pluggable
1254
backend series can land.
1255
1184
- Will merge to 'next'.
1256
+ Will merge to 'master'.
1257
1258
1259
* kn/ref-filter-branch-list (2016-05-17) 17 commits
@@ -1238,10 +1310,8 @@ of the repositories listed at
1310
optionally interface with the watchman daemon to further reduce the
1311
refresh cost.
1312
1241
- Will merge to 'next'.
1242
-
1243
- Is everybody happy with this version?
1244
- At v14.
1313
+ Not quite ready yet, it seems.
1314
+ ($gmane/298949, $gmane/299506)
1315
1316
1317
* jc/bundle (2016-03-03) 6 commits
@@ -1281,3 +1351,12 @@ of the repositories listed at
1351
. git-svn: warn instead of dying when commit data is missing
1352
1353
Pulled directly from upstream hence discarded.
1354
+
1355
+
1356
+* tb/convert-peek-in-index (2016-07-07) 3 commits
1357
+ . correct ce_compare_data() in a middle of a merge
1358
+ . read-cache: factor out get_sha1_from_index() helper
1359
+ + convert: unify the "auto" handling of CRLF
1360
+ (this branch is tangled with jc/renormalize-merge-kill-safer-crlf.)
1361
+
1362
+ Discarded and replaced by jc/renormalize-merge-kill-safer-crlf