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