What's cooking (2015/02 #04)
[git.git] / whats-cooking.txt
blob729f7100d2dafc8e81f73aaeb736650e7cf1c4a6
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Feb 2015, #04; Tue, 17)
4 X-master-at: 3188ab3af60df6ace996d3985e8f1ca1ed3cbda5
5 X-next-at: 7185a7e9c0f380b366991f3563e613dcf68b776f
7 What's cooking in git.git (Feb 2015, #04; Tue, 17)
8 --------------------------------------------------
10 Here are the topics that have been cooking.  Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
14 The second batch of topics have been merged to 'master'.  I am
15 tempted to start discarding topics in the Stalled category that
16 haven't seen much reviews and discussions on for a long time.
18 You can find the changes described here in the integration branches
19 of the repositories listed at
21     http://git-blame.blogspot.com/p/git-public-repositories.html
23 --------------------------------------------------
24 [Graduated to "master"]
26 * ak/add-i-empty-candidates (2015-01-22) 1 commit
27   (merged to 'next' on 2015-02-12 at 0d3cc64)
28  + add -i: return from list_and_choose if there is no candidate
30  The interactive "show a list and let the user choose from it"
31  interface "add -i" used showed and prompted to the user even when
32  the candidate list was empty, against which the only "choice" the
33  user could have made was to choose nothing.
36 * jc/apply-ws-fix-expands (2015-01-22) 3 commits
37   (merged to 'next' on 2015-02-12 at 9a45b66)
38  + apply: count the size of postimage correctly
39  + apply: make update_pre_post_images() sanity check the given postlen
40  + apply.c: typofix
41  (this branch is used by jc/apply-ws-fix-expands-report.)
43  "git apply --whitespace=fix" used to under-allocate the memory
44  when the fix resulted in a longer text than the original patch.
47 * jc/diff-format-doc (2015-01-28) 1 commit
48   (merged to 'next' on 2015-02-12 at 72a018a)
49  + diff-format doc: a score can follow M for rewrite
51  The documentation incorrectly said that C(opy) and R(ename) are the
52  only ones that can be followed by the score number in the output in
53  the --raw format.
56 * jc/doc-log-rev-list-options (2015-01-23) 1 commit
57   (merged to 'next' on 2015-02-12 at 614331f)
58  + Documentation: what does "git log --indexed-objects" even mean?
60  "git log --help" used to show rev-list options that are irrelevant
61  to the "log" command.
64 * jc/t4122-use-test-write-lines (2015-01-28) 1 commit
65   (merged to 'next' on 2015-02-12 at 3ceaae3)
66  + t4122: use test_write_lines from test-lib-functions
69 * jk/dumb-http-idx-fetch-fix (2015-01-27) 1 commit
70   (merged to 'next' on 2015-02-12 at 6338345)
71  + dumb-http: do not pass NULL path to parse_pack_index
73  A broken pack .idx file in the receiving repository prevented the
74  dumb http transport from fetching a good copy of it from the other
75  side.
78 * jk/remote-curl-an-array-in-struct-cannot-be-null (2015-01-28) 1 commit
79   (merged to 'next' on 2015-02-12 at 669040d)
80  + do not check truth value of flex arrays
82  Fix a misspelled conditional that is always true.
85 * jk/status-read-branch-name-fix (2015-01-28) 1 commit
86   (merged to 'next' on 2015-02-12 at 1af96a9)
87  + read_and_strip_branch: fix typo'd address-of operator
89  Code to read branch name from various files in .git/ directory
90  would have misbehaved if the code to write them left an empty file.
93 * ks/rebase-i-abbrev (2015-01-22) 1 commit
94   (merged to 'next' on 2015-02-12 at 35c3739)
95  + rebase -i: use full object name internally throughout the script
97  The insn sheet "git rebase -i" creates did not fully honor
98  core.abbrev settings.
101 * mg/commit-author-no-match-malformed-message (2015-01-26) 1 commit
102   (merged to 'next' on 2015-02-12 at 200cd9c)
103  + commit: reword --author error message
105  The error message from "git commit", when a non-existing author
106  name was given as value to the "--author=" parameter, has been
107  reworded to avoid misunderstanding.
110 * mg/push-repo-option-doc (2015-01-28) 1 commit
111   (merged to 'next' on 2015-02-12 at 021ec32)
112  + git-push.txt: document the behavior of --repo
114  The "git push" documentation made the "--repo=<there>" option
115  easily misunderstood.
118 * mh/deref-symref-over-helper-transport (2015-01-21) 1 commit
119   (merged to 'next' on 2015-02-12 at de36191)
120  + transport-helper: do not request symbolic refs to remote helpers
122  "git fetch" over a remote-helper that cannot respond to "list"
123  command could not fetch from a symbolic reference e.g. HEAD.
125 --------------------------------------------------
126 [New Topics]
128 * jc/push-cert (2015-02-12) 1 commit
129   (merged to 'next' on 2015-02-16 at f40b3c5)
130  + transport-helper: fix typo in error message when --signed is not supported
132  "git push --signed" gave an incorrectly worded error message when
133  the other side did not support the capability.
135  Will merge to 'master'.
138 * dp/remove-duplicated-header-inclusion (2015-02-13) 1 commit
139  - do not include the same header twice
141  Code clean-up.
143  Will merge to 'next'.
146 * jc/diff-test-updates (2015-02-15) 6 commits
147  - t4008: modernise style
148  - t/diff-lib: check exact object names in compare_diff_raw
149  - tests: do not borrow from COPYING and README from the real source
150  - t4010: correct expected object names
151  - t9300: correct expected object names
152  - t4008: correct stale comments
153  (this branch is used by jc/diff-b-m.)
155  Test clean-up.
157  Will merge to 'next'.
160 * jc/send-email-sensible-encoding (2015-02-13) 1 commit
161  - send-email: ask confirmation if given encoding name is very short
163  "git send-email" used to accept a mistaken "y" (or "yes") as an
164  answer to "What encoding do you want to use [UTF-8]? " without
165  questioning.  Now it asks for confirmation when the answer looks
166  too short to be a valid encoding name.
168  Will merge to 'next'.
171 * jk/push-config (2015-02-17) 4 commits
172  - [NEEDSACK] push: allow --follow-tags to be set by config push.followTags
173  - cmd_push: pass "flags" pointer to config callback
174  - cmd_push: set "atomic" bit directly
175  - git_push_config: drop cargo-culted wt_status pointer
177  Waiting for Ack and/or update for the tip one from Dave Olszewski
178  ($gmane/263880, $gmane/263991).
181 * km/send-email-getopt-long-workarounds (2015-02-16) 1 commit
182  - git-send-email.perl: support no- prefix with older GetOptions
184  Even though we officially haven't dropped Perl 5.8 support, the
185  Getopt::Long package that came with it does not support "--no-"
186  prefix to negate a boolean option; manually add support to help
187  people with older Getopt::Long package.
189  Will merge to 'next'.
192 * mh/transport-capabilities (2015-02-13) 2 commits
193  - transport-helper: ask the helper to set the same options for import as for fetch
194  - transport-helper: ask the helper to set progress and verbosity options after asking for its capabilities
196  Will merge to 'next'.
199 * sb/hex-object-name-is-at-most-41-bytes-long (2015-02-13) 1 commit
200  - hex.c: reduce memory footprint of sha1_to_hex static buffers
202  Will merge to 'next'.
205 * jk/daemon-interpolate (2015-02-17) 3 commits
206  - daemon: sanitize incoming virtual hostname
207  - t5570: test git-daemon's --interpolated-path option
208  - git_connect: let user override virtual-host we send to daemon
210  The "interpolated-path" option of "git daemon" inserted any string
211  client declared on the "host=" capability request without checking.
212  Sanitize and limit %H and %CH to a saner and a valid DNS name.
214  Will merge to 'next'.
217 * rs/daemon-interpolate (2015-02-17) 2 commits
218  - daemon: use callback to build interpolated path
219  - daemon: look up client-supplied hostname lazily
221  "git daemon" looked up the hostname even when "%CH" and "%IP"
222  interpolations are not requested, which was unnecessary.
224  Will merge to 'next'.
227 * sb/plug-leak-in-make-cache-entry (2015-02-17) 1 commit
228  - read-cache.c: free cache entry when refreshing fails
230  "update-index --refresh" used to leak when an entry cannot be
231  refreshed for whatever reason.
233  Will merge to 'next'.
235 --------------------------------------------------
236 [Stalled]
238 * nd/list-files (2015-02-09) 21 commits
239  . t3080: tests for git-list-files
240  . list-files: -M aka diff-cached
241  . list-files -F: show submodules with the new indicator '&'
242  . list-files: add -F/--classify
243  . list-files: show directories as well as files
244  . list-files: do not show duplicate cached entries
245  . list-files: sort output and remove duplicates
246  . list-files: add -t back
247  . list-files: add -1 short for --no-column
248  . list-files: add -R/--recursive short for --max-depth=-1
249  . list-files: -u does not imply showing stages
250  . list-files: make alias 'ls' default to 'list-files'
251  . list-files: a user friendly version of ls-files and more
252  . ls-files: support --max-depth
253  . ls-files: add --column
254  . ls-files: add --color to highlight file names
255  . ls-files: buffer full item in strbuf before printing
256  . ls_colors.c: highlight submodules like directories
257  . ls_colors.c: add a function to color a file name
258  . ls_colors.c: parse color.ls.* from config file
259  . ls_colors.c: add $LS_COLORS parsing code
261  A new "git list-files" Porcelain command, "ls-files" with bells and
262  whistles.
264  No comments?  No reviews?  No interests?
267 * nd/untracked-cache (2015-02-09) 24 commits
268  - git-status.txt: advertisement for untracked cache
269  - untracked cache: guard and disable on system changes
270  - mingw32: add uname()
271  - t7063: tests for untracked cache
272  - update-index: test the system before enabling untracked cache
273  - update-index: manually enable or disable untracked cache
274  - status: enable untracked cache
275  - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
276  - untracked cache: mark index dirty if untracked cache is updated
277  - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
278  - untracked cache: avoid racy timestamps
279  - read-cache.c: split racy stat test to a separate function
280  - untracked cache: invalidate at index addition or removal
281  - untracked cache: load from UNTR index extension
282  - untracked cache: save to an index extension
283  - ewah: add convenient wrapper ewah_serialize_strbuf()
284  - untracked cache: don't open non-existent .gitignore
285  - untracked cache: mark what dirs should be recursed/saved
286  - untracked cache: record/validate dir mtime and reuse cached output
287  - untracked cache: make a wrapper around {open,read,close}dir()
288  - untracked cache: invalidate dirs recursively if .gitignore changes
289  - untracked cache: initial untracked cache validation
290  - untracked cache: record .gitignore information and dir hierarchy
291  - dir.c: optionally compute sha-1 of a .gitignore file
293  Need extra sets of eyes to review this.
296 * tb/connect-ipv6-parse-fix (2015-01-22) 3 commits
297  - t5500: show user name and host in diag-url
298  - t5601: add more test cases for IPV6
299  - connect.c: improve parsing of literal IPV6 addresses
301  Need extra sets of eyes to review this.
304 * ak/stash-store-create-help (2015-01-13) 1 commit
305  - stash: show "create" and "store" subcommands in usage-help
307  Will discard.
310 * bp/diff-relative-config (2015-01-07) 2 commits
311  - diff: teach diff.relative to give default to --relative=<value>
312  - diff: teach --no-relative to override earlier --relative
314  No comments?  No interests?
317 * jc/diff-b-m (2015-02-17) 4 commits
318  . WIP: diff-b-m
319  - diffcore-rename: allow easier debugging
320  - diffcore-rename.c: add locate_rename_src()
321  - diffcore-break: allow debugging
322  (this branch uses jc/diff-test-updates.)
324  "git diff -B -M" produced incorrect patch when the postimage of a
325  completely rewritten file is similar to the preimage of a removed
326  file; such a resulting file must not be expressed as a rename from
327  other place.
329  The fix in this patch is broken, unfortunately.
332 * nd/slim-index-pack-memory-usage (2015-02-10) 3 commits
333  - index-pack: kill union delta_base to save memory
334  - FIXUP
335  - index-pack: reduce memory footprint a bit
337  Experimental?
340 * pw/remote-set-url-fetch (2014-11-26) 1 commit
341  - remote: add --fetch and --both options to set-url
343  Expecting a reroll.
346 * ms/submodule-update-config-doc (2014-11-03) 1 commit
347  - submodule: clarify documentation for update subcommand
349  Needs a reroll ($gmane/259037).
352 * je/quiltimport-no-fuzz (2014-10-21) 2 commits
353  - git-quiltimport: flip the default not to allow fuzz
354  - git-quiltimport.sh: allow declining fuzz with --exact option
356  "quiltimport" drove "git apply" always with -C1 option to reduce
357  context of the patch in order to give more chance to somewhat stale
358  patches to apply.  Add an "--exact" option to disable, and also
359  "-C$n" option to customize this behaviour.  The top patch
360  optionally flips the default to "--exact".
362  Tired of waiting for an Ack
363  Will discard.
366 * tr/remerge-diff (2014-11-10) 9 commits
367  - t4213: avoid "|" in sed regexp
368  - log --remerge-diff: show what the conflict resolution changed
369  - name-hash: allow dir hashing even when !ignore_case
370  - merge-recursive: allow storing conflict hunks in index
371  - merge_diff_mode: fold all merge diff variants into an enum
372  - combine-diff: do not pass revs->dense_combined_merges redundantly
373  - merge-recursive: -Xindex-only to leave worktree unchanged
374  - merge-recursive: internal flag to avoid touching the worktree
375  - merge-recursive: remove dead conditional in update_stages()
377  "log -p" output learns a new way to let users inspect a merge
378  commit by showing the differences between the automerged result
379  with conflicts the person who recorded the merge would have seen
380  and the final conflict resolution that was recorded in the merge.
382  Waiting for a reroll ($gmane/256591).
385 * hv/submodule-config (2014-11-11) 4 commits
386  - do not die on error of parsing fetchrecursesubmodules option
387  - use new config API for worktree configurations of submodules
388  - extract functions for submodule config set and lookup
389  - implement submodule config cache for lookup of submodule names
391  Kicked back to 'pu' per request ($gmane/255610).
394 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
395  - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
396  - git-add--interactive: Preserve diff heading when splitting hunks
398  Waiting for a reroll.
401 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
402  - gitweb: Harden UTF-8 handling in generated links
404  $gmane/250758?
407 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
408  - userdiff: support Java try keyword
409  - userdiff: support C# async methods and correct C# keywords
411  Reviews sent; waiting for a response.
414 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
415  - git-rebase: print name of rev when using shorthand
417  Teach "git rebase -" to report the concrete name of the branch
418  (i.e. the previous one).
420  But it stops short and does not do the same for "git rebase @{-1}".
421  Expecting a reroll.
424 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
425  - merge: drop unused arg from abort_commit method signature
426  - merge: make prepare_to_commit responsible for write_merge_state
427  - t7505: ensure cleanup after hook blocks merge
428  - t7505: add missing &&
430  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
431  run during "git merge".  The log message stresses too much on one
432  hook, prepare-commit-msg, but it would equally apply to other hooks
433  like post-merge, I think.
435  Waiting for a reroll.
438 * jc/graph-post-root-gap (2013-12-30) 3 commits
439  - WIP: document what we want at the end
440  - graph: remove unused code a bit
441  - graph: stuff the current commit into graph->columns[]
443  This was primarily a RFH ($gmane/239580).
446 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
447  - perf-lib: add test_perf_cleanup target
448  - perf-lib: split starting the test from the execution
450  Add test_perf_cleanup shell function to the perf suite, that allows
451  the script writers to define a test with a clean-up action.
453  Will hold.
456 * jc/show-branch (2014-03-24) 5 commits
457  - show-branch: use commit slab to represent bitflags of arbitrary width
458  - show-branch.c: remove "all_mask"
459  - show-branch.c: abstract out "flags" operation
460  - show-branch.c: lift all_mask/all_revs to a global static
461  - show-branch.c: update comment style
463  Waiting for the final step to lift the hard-limit before sending it out.
465 --------------------------------------------------
466 [Cooking]
468 * jn/doc-api-errors (2014-12-04) 1 commit
469  - doc: document error handling functions and conventions
471  Will merge to 'next'.
474 * jk/sanity (2015-02-15) 3 commits
475  - test-lib.sh: set prerequisite SANITY by testing what we really need
476  - tests: correct misuses of POSIXPERM
477  - t/lib-httpd: switch SANITY check for NOT_ROOT
479  The tests that wanted to see that file becomes unreadable after
480  running "chmod a-r file", and the tests that wanted to make sure it
481  is not run as root, we used "can we write into the / directory?" as
482  a cheap substitute, but on some platforms that is not a good
483  heuristics.  The tests and their prerequisites have been updated to
484  check what they really require.
486  Will merge to 'next'.
489 * ab/merge-file-prefix (2015-02-11) 1 commit
490   (merged to 'next' on 2015-02-16 at 89e0252)
491  + merge-file: correctly open files when in a subdir
493  "git merge-file" did not work correctly in a subdirectory.
495  Will merge to 'master'.
498 * es/blame-commit-info-fix (2015-02-10) 1 commit
499   (merged to 'next' on 2015-02-16 at f76ff44)
500  + builtin/blame: destroy initialized commit_info only
502  "git blame" died, trying to free an uninitialized piece of memory.
504  Will merge to 'master'.
507 * es/squelch-openssl-warnings-on-macosx (2015-02-09) 1 commit
508   (merged to 'next' on 2015-02-16 at bbe2880)
509  + git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED
511  An earlier workaround to squelch unhelpful deprecation warnings
512  from the complier on Mac OSX unnecessarily set minimum required
513  version of the OS, which the user might want to raise (or lower)
514  for other reasons.
516  Will merge to 'master'.
519 * jc/max-io-size-and-ssize-max (2015-02-12) 1 commit
520  - xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX
522  Our default I/O size (8 MiB) for large files was too large for some
523  platforms with smaller SSIZE_MAX, leading to read(2)/write(2)
524  failures.
526  Will merge to 'next'.
529 * jk/fast-import-die-nicely-fix (2015-02-10) 1 commit
530  - fast-import: avoid running end_packfile recursively
532  "git fast-import" used to crash when it could not close and
533  conclude the resulting packfile cleanly.
535  Will merge to 'next'.
538 * mh/expire-updateref-fixes (2015-02-09) 10 commits
539  - reflog_expire(): lock symbolic refs themselves, not their referent
540  - reflog_expire(): never update a reference to null_sha1
541  - reflog_expire(): ignore --updateref for symbolic references
542  - reflog: rearrange the manpage
543  - reflog: fix documentation
544  - lock_ref_sha1_basic(): do not set force_write for missing references
545  - write_ref_sha1(): Move write elision test to callers
546  - write_ref_sha1(): remove check for lock == NULL
547  - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check
548  - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check
550  Under discussion ($gmane/263552)
553 * mh/refs-have-new (2015-02-17) 13 commits
554  - refs.h: remove duplication in function docstrings
555  - update_ref(): improve documentation
556  - ref_transaction_verify(): new function to check a reference's value
557  - ref_transaction_delete(): check that old_sha1 is not null_sha1
558  - ref_transaction_create(): check that new_sha1 is valid
559  - commit: avoid race when creating orphan commits
560  - commit: add tests of commit races
561  - ref_transaction_delete(): remove "have_old" parameter
562  - ref_transaction_update(): remove "have_old" parameter
563  - struct ref_update: move "have_old" into "flags"
564  - refs.c: change some "flags" to "unsigned int"
565  - refs: remove the gap in the REF_* constant values
566  - refs: move REF_DELETING to refs.c
568  Simplify the ref transaction API around how "the ref should be
569  pointing at this object" is specified.
571  Looked sensible.
572  Will merge to 'next', unless there is an objection.
575 * jc/diff-files-ita (2015-02-04) 1 commit
576   (merged to 'next' on 2015-02-16 at d7867a3)
577  + run_diff_files(): clarify computation of sha1 validity
579  Code cleanup.
581  Will merge to 'master'.
584 * jk/config-no-ungetc-eof (2015-02-05) 2 commits
585   (merged to 'next' on 2015-02-16 at b7fc890)
586  + config_buf_ungetc: warn when pushing back a random character
587  + config: do not ungetc EOF
589  Reading configuration from a blob object, when it ends with a lone
590  CR, use to confuse the configuration parser.
592  Will merge to 'master'.
595 * jk/decimal-width-for-uintmax (2015-02-05) 1 commit
596   (merged to 'next' on 2015-02-16 at e608239)
597  + decimal_width: avoid integer overflow
599  We didn't format an integer that wouldn't fit in "int" but in
600  "uintmax_t" correctly.
602  Will merge to 'master'.
605 * ss/check-builtins-on-windows (2015-02-05) 1 commit
606   (merged to 'next' on 2015-02-16 at 2c10cc1)
607  + check-builtins: strip executable suffix $X when enumerating builtins
609  Will merge to 'master'.
612 * ch/new-gpg-drops-rfc-1991 (2015-01-29) 2 commits
613   (merged to 'next' on 2015-02-16 at e2daf10)
614  + t/lib-gpg: sanity-check that we can actually sign
615  + t/lib-gpg: include separate public keys in keyring.gpg
617  Older GnuPG implementations may not correctly import the keyring
618  material we prepare for the tests to use.
620  Will merge to 'master'.
623 * jc/apply-beyond-symlink (2015-02-10) 4 commits
624  - apply: do not touch a file beyond a symbolic link
625  - apply: do not read from beyond a symbolic link
626  - apply: do not read from the filesystem under --index
627  - apply: reject input that touches outside the working area
629  "git apply" was not very careful about reading from, removing,
630  updating and creating paths outside the working tree (under
631  --index/--cached) or the current directory (when used as a
632  replacement for GNU patch).
634  Will merge to 'next'.
637 * jc/remote-set-url-doc (2015-01-29) 1 commit
638   (merged to 'next' on 2015-02-16 at 1f9c342)
639  + Documentation/git-remote.txt: stress that set-url is not for triangular
641  Clarify in the documentation that "remote.<nick>.pushURL" and
642  "remote.<nick>.URL" are there to name the same repository accessed
643  via different transports, not two separate repositories.
645  Will merge to 'master'.
648 * jk/pack-bitmap (2015-02-04) 1 commit
649   (merged to 'next' on 2015-02-16 at 2e30424)
650  + ewah: fix building with gcc < 3.4.0
652  The pack bitmap support did not build with older versions of GCC.
654  Will merge to 'master'.
657 * jk/prune-mtime (2015-02-09) 2 commits
658   (merged to 'next' on 2015-02-16 at 3d46eae)
659  + sha1_file: fix iterating loose alternate objects
660  + for_each_loose_file_in_objdir: take an optional strbuf path
662  In v2.2.0, we broke "git prune" that runs in a repository that
663  borrows from an alternate object store.
665  Will merge to 'master'.
668 * ps/submodule-sanitize-path-upon-add (2015-02-02) 1 commit
669   (merged to 'next' on 2015-02-16 at 8253132)
670  + git-submodule.sh: fix '/././' path normalization
672  "git submodule add" failed to squash "path/to/././submodule" to
673  "path/to/submodule".
675  Will merge to 'master'.
678 * tc/curl-vernum-output-broken-in-7.11 (2015-02-03) 1 commit
679   (merged to 'next' on 2015-02-16 at de90f95)
680  + Makefile: handle broken curl version number in version check
682  Certain older vintages of cURL give irregular output from
683  "curl-config --vernum", which confused our build system.
685  Will merge to 'master'.
688 * tc/missing-http-proxyauth (2015-02-03) 1 commit
689  - http: support curl < 7.10.7
691  We did not check the curl library version before using
692  CURLOPT_PROXYAUTH feature that may not exist.
694  Will merge to 'next'.
697 * jc/apply-ws-fix-expands-report (2015-01-22) 1 commit
698  - apply: detect and mark whitespace errors in context lines when fixing
700  "git apply --whitespace=fix" fixed whitespace errors in the common
701  context lines but did so without reporting.
703  Will merge to 'next'.
706 * av/wincred-with-at-in-username-fix (2015-01-25) 1 commit
707   (merged to 'next' on 2015-02-16 at 69dd76d)
708  + wincred: fix get credential if username has "@"
710  The credential helper for Windows (in contrib/) used to mishandle
711  a user name with an at-sign in it.
713  Will merge to 'master'.
716 * jc/conf-var-doc (2015-02-02) 3 commits
717   (merged to 'next' on 2015-02-16 at 97512a3)
718  + CodingGuidelines: describe naming rules for configuration variables
719  + config.txt: mark deprecated variables more prominently
720  + config.txt: clarify that add.ignore-errors is deprecated
722  Longstanding configuration variable naming rules has been added to
723  the documentation.
725  Will merge to 'master'.
728 * ye/http-accept-language (2015-01-28) 1 commit
729   (merged to 'next' on 2015-02-16 at 10ed819)
730  + http: add Accept-Language header if possible
732  Using environment variable LANGUAGE and friends on the client side,
733  HTTP-based transports now send Accept-Language when making requests.
735  Will merge to 'master'.
738 * js/fsck-opt (2015-01-21) 19 commits
739  - fsck: support ignoring objects in `git fsck` via fsck.skiplist
740  - fsck: git receive-pack: support excluding objects from fsck'ing
741  - fsck: introduce `git fsck --quick`
742  - fsck: support demoting errors to warnings
743  - fsck: document the new receive.fsck.* options
744  - fsck: allow upgrading fsck warnings to errors
745  - fsck: optionally ignore specific fsck issues completely
746  - fsck: disallow demoting grave fsck errors to warnings
747  - fsck: add a simple test for receive.fsck.*
748  - fsck: make fsck_tag() warn-friendly
749  - fsck: handle multiple authors in commits specially
750  - fsck: make fsck_commit() warn-friendly
751  - fsck: make fsck_ident() warn-friendly
752  - fsck: report the ID of the error/warning
753  - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
754  - fsck: offer a function to demote fsck errors to warnings
755  - fsck: provide a function to parse fsck message IDs
756  - fsck: introduce identifiers for fsck messages
757  - fsck: introduce fsck options
759  "fsck.warnings = <list of error tokens>" I suggested turned out to
760  be an unpopular choice (sorry Dscho).
762  Expecting a reroll.
765 * jk/strbuf-doc-to-header (2015-01-16) 7 commits
766  - strbuf.h: group documentation for trim functions
767  - strbuf.h: drop boilerplate descriptions of strbuf_split_*
768  - strbuf.h: reorganize api function grouping headers
769  - strbuf.h: format asciidoc code blocks as 4-space indent
770  - strbuf.h: drop asciidoc list formatting from API docs
771  - strbuf.h: unify documentation comments beginnings
772  - strbuf.h: integrate api-strbuf.txt documentation
774  Resolve the "doc vs header" to favor the latter.
776  Will merge to 'next'.
779 * nd/attr-optim (2014-12-29) 3 commits
780  - attr: avoid heavy work when we know the specified attr is not defined
781  - attr: do not attempt to expand when we know it's not a macro
782  - attr.c: rename arg name attr_nr to avoid shadowing the global one
784  Optimize attribute look-up, mostly useful in "git grep" on a
785  project that does not use many attributes, by avoiding it when we
786  (should) know that the attributes are not defined in the first
787  place.
789  Will merge to 'next'.
792 * nd/multiple-work-trees (2015-01-27) 38 commits
793  - t2026 needs procondition SANITY
794  - git-checkout.txt: a note about multiple checkout support for submodules
795  - checkout: add --ignore-other-wortrees
796  - checkout: pass whole struct to parse_branchname_arg instead of individual flags
797  - git-common-dir: make "modules/" per-working-directory directory
798  - checkout: do not fail if target is an empty directory
799  - t2025: add a test to make sure grafts is working from a linked checkout
800  - checkout: don't require a work tree when checking out into a new one
801  - git_path(): keep "info/sparse-checkout" per work-tree
802  - count-objects: report unused files in $GIT_DIR/worktrees/...
803  - gc: support prune --worktrees
804  - gc: factor out gc.pruneexpire parsing code
805  - gc: style change -- no SP before closing parenthesis
806  - checkout: clean up half-prepared directories in --to mode
807  - checkout: reject if the branch is already checked out elsewhere
808  - prune: strategies for linked checkouts
809  - checkout: support checking out into a new working directory
810  - use new wrapper write_file() for simple file writing
811  - wrapper.c: wrapper to open a file, fprintf then close
812  - setup.c: support multi-checkout repo setup
813  - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
814  - setup.c: convert check_repository_format_gently to use strbuf
815  - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
816  - setup.c: convert is_git_directory() to use strbuf
817  - git-stash: avoid hardcoding $GIT_DIR/logs/....
818  - *.sh: avoid hardcoding $GIT_DIR/hooks/...
819  - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
820  - $GIT_COMMON_DIR: a new environment variable
821  - commit: use SEQ_DIR instead of hardcoding "sequencer"
822  - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
823  - reflog: avoid constructing .lock path with git_path
824  - *.sh: respect $GIT_INDEX_FILE
825  - git_path(): be aware of file relocation in $GIT_DIR
826  - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
827  - path.c: rename vsnpath() to do_git_path()
828  - git_snpath(): retire and replace with strbuf_git_path()
829  - path.c: make get_pathname() call sites return const char *
830  - path.c: make get_pathname() return strbuf instead of static buffer
832  A replacement for contrib/workdir/git-new-workdir that does not
833  rely on symbolic links and make sharing of objects and refs safer
834  by making the borrowee and borrowers aware of each other.
836  Will merge to 'next'.
839 --------------------------------------------------
840 [Discarded]
842 * tc/t9001-noxmailer (2015-01-30) 1 commit
843  . t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
845  Kyle's update to explicitly support --no-option with older
846  Getopt::Long ($gmane/263203) makes this unnecessary.