From: Junio C Hamano Date: Tue, 17 Feb 2015 22:51:11 +0000 (-0800) Subject: What's cooking (2015/02 #04) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6221c0f00fe64a0ded6585acd419dc0ba412a78a;p=thirdparty%2Fgit.git What's cooking (2015/02 #04) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index f87cb2e6bb..729f7100d2 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,19 +1,19 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Feb 2015, #03; Wed, 11) -X-master-at: 18d0fec24027ac226dc2c4df2b955eef2a16462a -X-next-at: f4dfab7ad497860623d9e20dfd5586a410cf6ec6 +Subject: What's cooking in git.git (Feb 2015, #04; Tue, 17) +X-master-at: 3188ab3af60df6ace996d3985e8f1ca1ed3cbda5 +X-next-at: 7185a7e9c0f380b366991f3563e613dcf68b776f -What's cooking in git.git (Feb 2015, #03; Wed, 11) +What's cooking in git.git (Feb 2015, #04; Tue, 17) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -Git 2.3 is out, and the first batch of topics that have been cooking -in the 'next' branch are now in the 'master' branch. The 'next' -branch will be rewound shortly but not yet. +The second batch of topics have been merged to 'master'. I am +tempted to start discarding topics in the Stalled category that +haven't seen much reviews and discussions on for a long time. You can find the changes described here in the integration branches of the repositories listed at @@ -23,257 +23,303 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ah/usage-strings (2015-01-14) 1 commit - (merged to 'next' on 2015-01-22 at bfa5bab) - + standardize usage info string format +* ak/add-i-empty-candidates (2015-01-22) 1 commit + (merged to 'next' on 2015-02-12 at 0d3cc64) + + add -i: return from list_and_choose if there is no candidate + The interactive "show a list and let the user choose from it" + interface "add -i" used showed and prompted to the user even when + the candidate list was empty, against which the only "choice" the + user could have made was to choose nothing. -* ak/typofixes (2015-01-21) 2 commits - (merged to 'next' on 2015-01-22 at e36f25a) - + t/lib-terminal.sh: fix typo - + pack-bitmap: fix typo +* jc/apply-ws-fix-expands (2015-01-22) 3 commits + (merged to 'next' on 2015-02-12 at 9a45b66) + + apply: count the size of postimage correctly + + apply: make update_pre_post_images() sanity check the given postlen + + apply.c: typofix + (this branch is used by jc/apply-ws-fix-expands-report.) -* bc/http-fallback-to-password-after-krb-fails (2015-01-07) 1 commit - (merged to 'next' on 2015-01-12 at 4c67038) - + remote-curl: fall back to Basic auth if Negotiate fails + "git apply --whitespace=fix" used to under-allocate the memory + when the fix resulted in a longer text than the original patch. - After attempting and failing a password-less authentication - (e.g. kerberos), libcURL refuses to fall back to password based - Basic authentication without a bit of help/encouragement. +* jc/diff-format-doc (2015-01-28) 1 commit + (merged to 'next' on 2015-02-12 at 72a018a) + + diff-format doc: a score can follow M for rewrite -* cj/log-invert-grep (2015-01-13) 1 commit - (merged to 'next' on 2015-01-13 at c908e99) - + log: teach --invert-grep option + The documentation incorrectly said that C(opy) and R(ename) are the + only ones that can be followed by the score number in the output in + the --raw format. -* dk/format-patch-ignore-diff-submodule (2015-01-07) 2 commits - (merged to 'next' on 2015-01-12 at 6b4605b) - + format-patch: ignore diff.submodule setting - + t4255: test am submodule with diff.submodule +* jc/doc-log-rev-list-options (2015-01-23) 1 commit + (merged to 'next' on 2015-02-12 at 614331f) + + Documentation: what does "git log --indexed-objects" even mean? - Setting diff.submodule to 'log' made "git format-patch" produce - broken patches. + "git log --help" used to show rev-list options that are irrelevant + to the "log" command. -* jc/coding-guidelines (2015-01-15) 1 commit - (merged to 'next' on 2015-01-22 at 3c96639) - + CodingGuidelines: clarify C #include rules +* jc/t4122-use-test-write-lines (2015-01-28) 1 commit + (merged to 'next' on 2015-02-12 at 3ceaae3) + + t4122: use test_write_lines from test-lib-functions -* jc/pretty-format-doc (2015-01-15) 1 commit - (merged to 'next' on 2015-01-22 at 2a81ecc) - + "log --pretty" documentation: do not forget "tformat:" +* jk/dumb-http-idx-fetch-fix (2015-01-27) 1 commit + (merged to 'next' on 2015-02-12 at 6338345) + + dumb-http: do not pass NULL path to parse_pack_index + A broken pack .idx file in the receiving repository prevented the + dumb http transport from fetching a good copy of it from the other + side. -* jc/push-to-checkout (2015-01-08) 2 commits - (merged to 'next' on 2015-01-12 at e64df63) - + receive-pack: support push-to-checkout hook - + receive-pack: refactor updateInstead codepath - Extending the js/push-to-deploy topic, the behaviour of "git push" - when updating the working tree and the index with an update to the - branch that is checked out can be tweaked by push-to-checkout hook. +* jk/remote-curl-an-array-in-struct-cannot-be-null (2015-01-28) 1 commit + (merged to 'next' on 2015-02-12 at 669040d) + + do not check truth value of flex arrays + Fix a misspelled conditional that is always true. -* jc/unused-symbols (2015-01-15) 8 commits - (merged to 'next' on 2015-01-22 at 77fd5f0) - + shallow.c: make check_shallow_file_for_update() static - + remote.c: make clear_cas_option() static - + urlmatch.c: make match_urls() static - + revision.c: make save_parents() and free_saved_parents() static - + line-log.c: make line_log_data_init() static - + pack-bitmap.c: make pack_bitmap_filename() static - + prompt.c: remove git_getpass() nobody uses - + http.c: make finish_active_slot() and handle_curl_result() static - Mark file-local symbols as "static", and drop functions that nobody - uses. +* jk/status-read-branch-name-fix (2015-01-28) 1 commit + (merged to 'next' on 2015-02-12 at 1af96a9) + + read_and_strip_branch: fix typo'd address-of operator + Code to read branch name from various files in .git/ directory + would have misbehaved if the code to write them left an empty file. -* jk/blame-commit-label (2015-01-13) 5 commits - (merged to 'next' on 2015-01-15 at 1b32e21) - + blame.c: fix garbled error message - + use xstrdup_or_null to replace ternary conditionals - + builtin/commit.c: use xstrdup_or_null instead of envdup - + builtin/apply.c: use xstrdup_or_null instead of null_strdup - + git-compat-util: add xstrdup_or_null helper +* ks/rebase-i-abbrev (2015-01-22) 1 commit + (merged to 'next' on 2015-02-12 at 35c3739) + + rebase -i: use full object name internally throughout the script -* jn/rerere-fail-on-auto-update-failure (2015-01-08) 1 commit - (merged to 'next' on 2015-01-12 at 313c449) - + rerere: error out on autoupdate failure + The insn sheet "git rebase -i" creates did not fully honor + core.abbrev settings. - "git rerere" (invoked internally from many mergy operations) did - not correctly signal errors when told to update the working tree - files and failed to do so for whatever reason. +* mg/commit-author-no-match-malformed-message (2015-01-26) 1 commit + (merged to 'next' on 2015-02-12 at 200cd9c) + + commit: reword --author error message -* km/gettext-n (2015-01-12) 1 commit - (merged to 'next' on 2015-01-12 at 0cbbf4a) - + gettext.h: add parentheses around N_ expansion if supported + The error message from "git commit", when a non-existing author + name was given as value to the "--author=" parameter, has been + reworded to avoid misunderstanding. -* ld/p4-exclude-in-sync (2015-01-28) 1 commit - (merged to 'next' on 2015-02-05 at ab410a1) - + git-p4: support excluding paths on sync +* mg/push-repo-option-doc (2015-01-28) 1 commit + (merged to 'next' on 2015-02-12 at 021ec32) + + git-push.txt: document the behavior of --repo + The "git push" documentation made the "--repo=" option + easily misunderstood. -* ld/p4-submit-hint (2015-01-23) 1 commit - (merged to 'next' on 2015-01-23 at ed972d3) - + git-p4: correct --prepare-p4-only instructions +* mh/deref-symref-over-helper-transport (2015-01-21) 1 commit + (merged to 'next' on 2015-02-12 at de36191) + + transport-helper: do not request symbolic refs to remote helpers -* mh/reflog-expire (2014-12-22) 24 commits - (merged to 'next' on 2015-01-12 at 12a7dff) - + refs.c: let fprintf handle the formatting - + refs.c: don't expose the internal struct ref_lock in the header file - + lock_any_ref_for_update(): inline function - + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api - + reflog_expire(): new function in the reference API - + expire_reflog(): treat the policy callback data as opaque - + Move newlog and last_kept_sha1 to "struct expire_reflog_cb" - + expire_reflog(): move rewrite to flags argument - + expire_reflog(): move verbose to flags argument - + expire_reflog(): pass flags through to expire_reflog_ent() - + struct expire_reflog_cb: a new callback data type - + Rename expire_reflog_cb to expire_reflog_policy_cb - + expire_reflog(): move updateref to flags argument - + expire_reflog(): move dry_run to flags argument - + expire_reflog(): add a "flags" argument - + expire_reflog(): extract two policy-related functions - + Extract function should_expire_reflog_ent() - + expire_reflog(): use a lock_file for rewriting the reflog file - + expire_reflog(): return early if the reference has no reflog - + expire_reflog(): rename "ref" parameter to "refname" - + expire_reflog(): it's not an each_ref_fn anymore - + refs.c: add a function to append a reflog entry to a fd - + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update - + refs.c: make ref_transaction_create a wrapper for ref_transaction_update - (this branch is used by sb/atomic-push and sb/atomic-push-fix.) - - Restructure "reflog expire" to fit the reflogs better with the - recently updated ref API. - - -* sb/atomic-push (2015-01-14) 11 commits - (merged to 'next' on 2015-01-14 at 12c4e28) - + Document receive.advertiseatomic - (merged to 'next' on 2015-01-12 at 411c6a6) - + t5543-atomic-push.sh: add basic tests for atomic pushes - + push.c: add an --atomic argument - + send-pack.c: add --atomic command line argument - + send-pack: rename ref_update_to_be_sent to check_to_send_update - + receive-pack.c: negotiate atomic push support - + receive-pack.c: add execute_commands_atomic function - + receive-pack.c: move transaction handling in a central place - + receive-pack.c: move iterating over all commands outside execute_commands - + receive-pack.c: die instead of error in case of possible future bug - + receive-pack.c: shorten the execute_commands loop over all commands - (this branch is used by sb/atomic-push-fix; uses mh/reflog-expire.) - - "git push" has been taught a "--atomic" option that makes push to - update more than one ref an "all-or-none" affair. + "git fetch" over a remote-helper that cannot respond to "list" + command could not fetch from a symbolic reference e.g. HEAD. -------------------------------------------------- [New Topics] -* ab/merge-file-prefix (2015-02-11) 1 commit - - merge-file: correctly open files when in a subdir +* jc/push-cert (2015-02-12) 1 commit + (merged to 'next' on 2015-02-16 at f40b3c5) + + transport-helper: fix typo in error message when --signed is not supported + + "git push --signed" gave an incorrectly worded error message when + the other side did not support the capability. + + Will merge to 'master'. - "git merge-file" did not work correctly in a subdirectory. + +* dp/remove-duplicated-header-inclusion (2015-02-13) 1 commit + - do not include the same header twice + + Code clean-up. Will merge to 'next'. -* es/blame-commit-info-fix (2015-02-10) 1 commit - - builtin/blame: destroy initialized commit_info only +* jc/diff-test-updates (2015-02-15) 6 commits + - t4008: modernise style + - t/diff-lib: check exact object names in compare_diff_raw + - tests: do not borrow from COPYING and README from the real source + - t4010: correct expected object names + - t9300: correct expected object names + - t4008: correct stale comments + (this branch is used by jc/diff-b-m.) - "git blame" died, trying to free an uninitialized piece of memory. + Test clean-up. Will merge to 'next'. -* es/squelch-openssl-warnings-on-macosx (2015-02-09) 1 commit - - git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED +* jc/send-email-sensible-encoding (2015-02-13) 1 commit + - send-email: ask confirmation if given encoding name is very short + + "git send-email" used to accept a mistaken "y" (or "yes") as an + answer to "What encoding do you want to use [UTF-8]? " without + questioning. Now it asks for confirmation when the answer looks + too short to be a valid encoding name. Will merge to 'next'. -* jc/max-io-size-and-ssize-max (2015-02-11) 1 commit - - xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX +* jk/push-config (2015-02-17) 4 commits + - [NEEDSACK] push: allow --follow-tags to be set by config push.followTags + - cmd_push: pass "flags" pointer to config callback + - cmd_push: set "atomic" bit directly + - git_push_config: drop cargo-culted wt_status pointer + + Waiting for Ack and/or update for the tip one from Dave Olszewski + ($gmane/263880, $gmane/263991). + + +* km/send-email-getopt-long-workarounds (2015-02-16) 1 commit + - git-send-email.perl: support no- prefix with older GetOptions + + Even though we officially haven't dropped Perl 5.8 support, the + Getopt::Long package that came with it does not support "--no-" + prefix to negate a boolean option; manually add support to help + people with older Getopt::Long package. Will merge to 'next'. -* jk/fast-import-die-nicely-fix (2015-02-10) 1 commit - - fast-import: avoid running end_packfile recursively +* mh/transport-capabilities (2015-02-13) 2 commits + - transport-helper: ask the helper to set the same options for import as for fetch + - transport-helper: ask the helper to set progress and verbosity options after asking for its capabilities - "git fast-import" used to crash when it could not close and - conclude the resulting packfile cleanly. + Will merge to 'next'. + + +* sb/hex-object-name-is-at-most-41-bytes-long (2015-02-13) 1 commit + - hex.c: reduce memory footprint of sha1_to_hex static buffers Will merge to 'next'. -* mh/expire-updateref-fixes (2015-02-09) 10 commits - - reflog_expire(): lock symbolic refs themselves, not their referent - - reflog_expire(): never update a reference to null_sha1 - - reflog_expire(): ignore --updateref for symbolic references - - reflog: rearrange the manpage - - reflog: fix documentation - - lock_ref_sha1_basic(): do not set force_write for missing references - - write_ref_sha1(): Move write elision test to callers - - write_ref_sha1(): remove check for lock == NULL - - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check - - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check - (this branch is tangled with mh/refs-have-new.) +* jk/daemon-interpolate (2015-02-17) 3 commits + - daemon: sanitize incoming virtual hostname + - t5570: test git-daemon's --interpolated-path option + - git_connect: let user override virtual-host we send to daemon + The "interpolated-path" option of "git daemon" inserted any string + client declared on the "host=" capability request without checking. + Sanitize and limit %H and %CH to a saner and a valid DNS name. -* mh/refs-have-new (2015-02-09) 13 commits - - update_ref(): improve documentation - - ref_transaction_verify(): new function to check a reference's value - - ref_transaction_delete(): check that old_sha1 is not null_sha1 - - ref_transaction_create(): check that new_sha1 is valid - - commit: avoid race when creating orphan commits - - commit: add tests of commit races - - ref_transaction_delete(): remove "have_old" parameter - - ref_transaction_update(): remove "have_old" parameter - - struct ref_update: move "have_old" into "flags" - - refs: remove the gap in the REF_* constant values - - refs: move REF_DELETING to refs.c - - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check - - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check - (this branch is tangled with mh/expire-updateref-fixes.) + Will merge to 'next'. -* nd/slim-index-pack-memory-usage (2015-02-10) 3 commits - - index-pack: kill union delta_base to save memory - - FIXUP - - index-pack: reduce memory footprint a bit +* rs/daemon-interpolate (2015-02-17) 2 commits + - daemon: use callback to build interpolated path + - daemon: look up client-supplied hostname lazily + + "git daemon" looked up the hostname even when "%CH" and "%IP" + interpolations are not requested, which was unnecessary. + + Will merge to 'next'. + + +* sb/plug-leak-in-make-cache-entry (2015-02-17) 1 commit + - read-cache.c: free cache entry when refreshing fails + + "update-index --refresh" used to leak when an entry cannot be + refreshed for whatever reason. + + Will merge to 'next'. -------------------------------------------------- [Stalled] -* jk/sanity (2015-01-27) 3 commits - - test-lib.sh: set prerequisite SANITY by testing what we really need - - tests: correct misuses of POSIXPERM - - t/lib-httpd: switch SANITY check for NOT_ROOT +* nd/list-files (2015-02-09) 21 commits + . t3080: tests for git-list-files + . list-files: -M aka diff-cached + . list-files -F: show submodules with the new indicator '&' + . list-files: add -F/--classify + . list-files: show directories as well as files + . list-files: do not show duplicate cached entries + . list-files: sort output and remove duplicates + . list-files: add -t back + . list-files: add -1 short for --no-column + . list-files: add -R/--recursive short for --max-depth=-1 + . list-files: -u does not imply showing stages + . list-files: make alias 'ls' default to 'list-files' + . list-files: a user friendly version of ls-files and more + . ls-files: support --max-depth + . ls-files: add --column + . ls-files: add --color to highlight file names + . ls-files: buffer full item in strbuf before printing + . ls_colors.c: highlight submodules like directories + . ls_colors.c: add a function to color a file name + . ls_colors.c: parse color.ls.* from config file + . ls_colors.c: add $LS_COLORS parsing code - Waiting for ack or counter-proposal from Torsten. - Otherwise looking good. + A new "git list-files" Porcelain command, "ls-files" with bells and + whistles. + No comments? No reviews? No interests? -* tc/t9001-noxmailer (2015-01-30) 1 commit - - t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' - Kyle's update to explicitly support --no-option with older - Getopt::Long ($gmane/263203) might be a better alternative - if we have to support them in the longer term. +* nd/untracked-cache (2015-02-09) 24 commits + - git-status.txt: advertisement for untracked cache + - untracked cache: guard and disable on system changes + - mingw32: add uname() + - t7063: tests for untracked cache + - update-index: test the system before enabling untracked cache + - update-index: manually enable or disable untracked cache + - status: enable untracked cache + - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE + - untracked cache: mark index dirty if untracked cache is updated + - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS + - untracked cache: avoid racy timestamps + - read-cache.c: split racy stat test to a separate function + - untracked cache: invalidate at index addition or removal + - untracked cache: load from UNTR index extension + - untracked cache: save to an index extension + - ewah: add convenient wrapper ewah_serialize_strbuf() + - untracked cache: don't open non-existent .gitignore + - untracked cache: mark what dirs should be recursed/saved + - untracked cache: record/validate dir mtime and reuse cached output + - untracked cache: make a wrapper around {open,read,close}dir() + - untracked cache: invalidate dirs recursively if .gitignore changes + - untracked cache: initial untracked cache validation + - untracked cache: record .gitignore information and dir hierarchy + - dir.c: optionally compute sha-1 of a .gitignore file + + Need extra sets of eyes to review this. + + +* tb/connect-ipv6-parse-fix (2015-01-22) 3 commits + - t5500: show user name and host in diag-url + - t5601: add more test cases for IPV6 + - connect.c: improve parsing of literal IPV6 addresses + Need extra sets of eyes to review this. -* jc/diff-b-m (2015-02-01) 1 commit - - diff: do not use creation-half of -B as a rename target candidate + +* ak/stash-store-create-help (2015-01-13) 1 commit + - stash: show "create" and "store" subcommands in usage-help + + Will discard. + + +* bp/diff-relative-config (2015-01-07) 2 commits + - diff: teach diff.relative to give default to --relative= + - diff: teach --no-relative to override earlier --relative + + No comments? No interests? + + +* jc/diff-b-m (2015-02-17) 4 commits + . WIP: diff-b-m + - diffcore-rename: allow easier debugging + - diffcore-rename.c: add locate_rename_src() + - diffcore-break: allow debugging + (this branch uses jc/diff-test-updates.) "git diff -B -M" produced incorrect patch when the postimage of a completely rewritten file is similar to the preimage of a removed @@ -283,11 +329,12 @@ of the repositories listed at The fix in this patch is broken, unfortunately. -* jn/doc-api-errors (2014-12-04) 1 commit - - doc: document error handling functions and conventions +* nd/slim-index-pack-memory-usage (2015-02-10) 3 commits + - index-pack: kill union delta_base to save memory + - FIXUP + - index-pack: reduce memory footprint a bit - For discussion. - What's the status of this one???? + Experimental? * pw/remote-set-url-fetch (2014-11-26) 1 commit @@ -312,7 +359,8 @@ of the repositories listed at "-C$n" option to customize this behaviour. The top patch optionally flips the default to "--exact". - Tired of waiting for an Ack; will discard. + Tired of waiting for an Ack + Will discard. * tr/remerge-diff (2014-11-10) 9 commits @@ -417,64 +465,159 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* jc/diff-files-ita (2015-02-04) 1 commit - - run_diff_files(): clarify computation of sha1 validity +* jn/doc-api-errors (2014-12-04) 1 commit + - doc: document error handling functions and conventions Will merge to 'next'. -* jk/config-no-ungetc-eof (2015-02-05) 2 commits - - config_buf_ungetc: warn when pushing back a random character - - config: do not ungetc EOF +* jk/sanity (2015-02-15) 3 commits + - test-lib.sh: set prerequisite SANITY by testing what we really need + - tests: correct misuses of POSIXPERM + - t/lib-httpd: switch SANITY check for NOT_ROOT + + The tests that wanted to see that file becomes unreadable after + running "chmod a-r file", and the tests that wanted to make sure it + is not run as root, we used "can we write into the / directory?" as + a cheap substitute, but on some platforms that is not a good + heuristics. The tests and their prerequisites have been updated to + check what they really require. Will merge to 'next'. -* jk/decimal-width-for-uintmax (2015-02-05) 1 commit - - decimal_width: avoid integer overflow +* ab/merge-file-prefix (2015-02-11) 1 commit + (merged to 'next' on 2015-02-16 at 89e0252) + + merge-file: correctly open files when in a subdir - Will merge to 'next'. + "git merge-file" did not work correctly in a subdirectory. + Will merge to 'master'. -* ss/check-builtins-on-windows (2015-02-05) 1 commit - - check-builtins: strip executable suffix $X when enumerating builtins - Will merge to 'next'. +* es/blame-commit-info-fix (2015-02-10) 1 commit + (merged to 'next' on 2015-02-16 at f76ff44) + + builtin/blame: destroy initialized commit_info only + "git blame" died, trying to free an uninitialized piece of memory. -* jc/diff-format-doc (2015-01-28) 1 commit - - diff-format doc: a score can follow M for rewrite + Will merge to 'master'. - The documentation incorrectly said that C(opy) and R(ename) are the - only ones that can be followed by the score number in the output in - the --raw format. - Will merge to 'next'. +* es/squelch-openssl-warnings-on-macosx (2015-02-09) 1 commit + (merged to 'next' on 2015-02-16 at bbe2880) + + git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED + An earlier workaround to squelch unhelpful deprecation warnings + from the complier on Mac OSX unnecessarily set minimum required + version of the OS, which the user might want to raise (or lower) + for other reasons. -* jk/remote-curl-an-array-in-struct-cannot-be-null (2015-01-28) 1 commit - - do not check truth value of flex arrays + Will merge to 'master'. + + +* jc/max-io-size-and-ssize-max (2015-02-12) 1 commit + - xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX + + Our default I/O size (8 MiB) for large files was too large for some + platforms with smaller SSIZE_MAX, leading to read(2)/write(2) + failures. Will merge to 'next'. -* jk/status-read-branch-name-fix (2015-01-28) 1 commit - - read_and_strip_branch: fix typo'd address-of operator +* jk/fast-import-die-nicely-fix (2015-02-10) 1 commit + - fast-import: avoid running end_packfile recursively - Code to read branch name from various files in .git/ directory - would have misbehaved if the code to write them left an empty file. + "git fast-import" used to crash when it could not close and + conclude the resulting packfile cleanly. Will merge to 'next'. +* mh/expire-updateref-fixes (2015-02-09) 10 commits + - reflog_expire(): lock symbolic refs themselves, not their referent + - reflog_expire(): never update a reference to null_sha1 + - reflog_expire(): ignore --updateref for symbolic references + - reflog: rearrange the manpage + - reflog: fix documentation + - lock_ref_sha1_basic(): do not set force_write for missing references + - write_ref_sha1(): Move write elision test to callers + - write_ref_sha1(): remove check for lock == NULL + - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check + - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check + + Under discussion ($gmane/263552) + + +* mh/refs-have-new (2015-02-17) 13 commits + - refs.h: remove duplication in function docstrings + - update_ref(): improve documentation + - ref_transaction_verify(): new function to check a reference's value + - ref_transaction_delete(): check that old_sha1 is not null_sha1 + - ref_transaction_create(): check that new_sha1 is valid + - commit: avoid race when creating orphan commits + - commit: add tests of commit races + - ref_transaction_delete(): remove "have_old" parameter + - ref_transaction_update(): remove "have_old" parameter + - struct ref_update: move "have_old" into "flags" + - refs.c: change some "flags" to "unsigned int" + - refs: remove the gap in the REF_* constant values + - refs: move REF_DELETING to refs.c + + Simplify the ref transaction API around how "the ref should be + pointing at this object" is specified. + + Looked sensible. + Will merge to 'next', unless there is an objection. + + +* jc/diff-files-ita (2015-02-04) 1 commit + (merged to 'next' on 2015-02-16 at d7867a3) + + run_diff_files(): clarify computation of sha1 validity + + Code cleanup. + + Will merge to 'master'. + + +* jk/config-no-ungetc-eof (2015-02-05) 2 commits + (merged to 'next' on 2015-02-16 at b7fc890) + + config_buf_ungetc: warn when pushing back a random character + + config: do not ungetc EOF + + Reading configuration from a blob object, when it ends with a lone + CR, use to confuse the configuration parser. + + Will merge to 'master'. + + +* jk/decimal-width-for-uintmax (2015-02-05) 1 commit + (merged to 'next' on 2015-02-16 at e608239) + + decimal_width: avoid integer overflow + + We didn't format an integer that wouldn't fit in "int" but in + "uintmax_t" correctly. + + Will merge to 'master'. + + +* ss/check-builtins-on-windows (2015-02-05) 1 commit + (merged to 'next' on 2015-02-16 at 2c10cc1) + + check-builtins: strip executable suffix $X when enumerating builtins + + Will merge to 'master'. + + * ch/new-gpg-drops-rfc-1991 (2015-01-29) 2 commits - - t/lib-gpg: sanity-check that we can actually sign - - t/lib-gpg: include separate public keys in keyring.gpg + (merged to 'next' on 2015-02-16 at e2daf10) + + t/lib-gpg: sanity-check that we can actually sign + + t/lib-gpg: include separate public keys in keyring.gpg - Older GnuPG implementation may not correctly import the keyring + Older GnuPG implementations may not correctly import the keyring material we prepare for the tests to use. - Will merge to 'next'. + Will merge to 'master'. * jc/apply-beyond-symlink (2015-02-10) 4 commits @@ -492,61 +635,67 @@ of the repositories listed at * jc/remote-set-url-doc (2015-01-29) 1 commit - - Documentation/git-remote.txt: stress that set-url is not for triangular + (merged to 'next' on 2015-02-16 at 1f9c342) + + Documentation/git-remote.txt: stress that set-url is not for triangular Clarify in the documentation that "remote..pushURL" and "remote..URL" are there to name the same repository accessed via different transports, not two separate repositories. - Will merge to 'next'. - - -* jc/t4122-use-test-write-lines (2015-01-28) 1 commit - - t4122: use test_write_lines from test-lib-functions - - Will merge to 'next'. + Will merge to 'master'. * jk/pack-bitmap (2015-02-04) 1 commit - - ewah: fix building with gcc < 3.4.0 + (merged to 'next' on 2015-02-16 at 2e30424) + + ewah: fix building with gcc < 3.4.0 - Will merge to 'next'. + The pack bitmap support did not build with older versions of GCC. + + Will merge to 'master'. * jk/prune-mtime (2015-02-09) 2 commits - - sha1_file: fix iterating loose alternate objects - - for_each_loose_file_in_objdir: take an optional strbuf path + (merged to 'next' on 2015-02-16 at 3d46eae) + + sha1_file: fix iterating loose alternate objects + + for_each_loose_file_in_objdir: take an optional strbuf path In v2.2.0, we broke "git prune" that runs in a repository that borrows from an alternate object store. - Will merge to 'next'. + Will merge to 'master'. * ps/submodule-sanitize-path-upon-add (2015-02-02) 1 commit - - git-submodule.sh: fix '/././' path normalization + (merged to 'next' on 2015-02-16 at 8253132) + + git-submodule.sh: fix '/././' path normalization - Will merge to 'next'. + "git submodule add" failed to squash "path/to/././submodule" to + "path/to/submodule". + + Will merge to 'master'. * tc/curl-vernum-output-broken-in-7.11 (2015-02-03) 1 commit - - Makefile: handle broken curl version number in version check + (merged to 'next' on 2015-02-16 at de90f95) + + Makefile: handle broken curl version number in version check - Cope with irregular output of "curl-config --vernum" given by - certain older vintages of cURL. + Certain older vintages of cURL give irregular output from + "curl-config --vernum", which confused our build system. - Will merge to 'next'. + Will merge to 'master'. * tc/missing-http-proxyauth (2015-02-03) 1 commit - http: support curl < 7.10.7 + We did not check the curl library version before using + CURLOPT_PROXYAUTH feature that may not exist. + Will merge to 'next'. * jc/apply-ws-fix-expands-report (2015-01-22) 1 commit - apply: detect and mark whitespace errors in context lines when fixing - (this branch uses jc/apply-ws-fix-expands.) "git apply --whitespace=fix" fixed whitespace errors in the common context lines but did so without reporting. @@ -554,92 +703,36 @@ of the repositories listed at Will merge to 'next'. -* ks/rebase-i-abbrev (2015-01-22) 1 commit - - rebase -i: use full object name internally throughout the script - - The insn sheet "git rebase -i" creates did not fully honor - core.abbrev settings. - - Will merge to 'next'. - - -* mh/deref-symref-over-helper-transport (2015-01-21) 1 commit - - transport-helper: do not request symbolic refs to remote helpers - - "git fetch" over a remote-helper that cannot respond to "list" - command could not fetch from a symbolic reference e.g. HEAD. - - Will merge to 'next'. - - -* ak/add-i-empty-candidates (2015-01-22) 1 commit - - add -i: return from list_and_choose if there is no candidate - - The interactive "show a list and let the user choose from it" - interface "add -i" used showed and prompted to the user even when - the candidate list was empty, against which the only "choice" the - user could have made was to choose nothing. - - Will merge to 'next'. - - * av/wincred-with-at-in-username-fix (2015-01-25) 1 commit - - wincred: fix get credential if username has "@" - - Will merge to 'next'. + (merged to 'next' on 2015-02-16 at 69dd76d) + + wincred: fix get credential if username has "@" + The credential helper for Windows (in contrib/) used to mishandle + a user name with an at-sign in it. -* jc/conf-var-doc (2015-02-02) 3 commits - - CodingGuidelines: describe naming rules for configuration variables - - config.txt: mark deprecated variables more prominently - - config.txt: clarify that add.ignore-errors is deprecated - - Will merge to 'next'. + Will merge to 'master'. -* jc/doc-log-rev-list-options (2015-01-23) 1 commit - - Documentation: what does "git log --indexed-objects" even mean? - - Will merge to 'next'. - - -* jk/dumb-http-idx-fetch-fix (2015-01-27) 1 commit - - dumb-http: do not pass NULL path to parse_pack_index - - Will merge to 'next'. - - -* mg/commit-author-no-match-malformed-message (2015-01-26) 1 commit - - commit: reword --author error message - - Will merge to 'next'. +* jc/conf-var-doc (2015-02-02) 3 commits + (merged to 'next' on 2015-02-16 at 97512a3) + + CodingGuidelines: describe naming rules for configuration variables + + config.txt: mark deprecated variables more prominently + + config.txt: clarify that add.ignore-errors is deprecated + Longstanding configuration variable naming rules has been added to + the documentation. -* mg/push-repo-option-doc (2015-01-28) 1 commit - - git-push.txt: document the behavior of --repo - - Will merge to 'next'. + Will merge to 'master'. * ye/http-accept-language (2015-01-28) 1 commit - - http: add Accept-Language header if possible + (merged to 'next' on 2015-02-16 at 10ed819) + + http: add Accept-Language header if possible Using environment variable LANGUAGE and friends on the client side, - send Accept-Language when making HTTP requests. - - Will merge to 'next'. - - -* jc/apply-ws-fix-expands (2015-01-22) 3 commits - - apply: count the size of postimage correctly - - apply: make update_pre_post_images() sanity check the given postlen - - apply.c: typofix - (this branch is used by jc/apply-ws-fix-expands-report.) - - "git apply --whitespace=fix" used to under-allocate the memory - when the fix resulted in a longer text than the original patch. + HTTP-based transports now send Accept-Language when making requests. - Will merge to 'next'. + Will merge to 'master'. * js/fsck-opt (2015-01-21) 19 commits @@ -663,15 +756,10 @@ of the repositories listed at - fsck: introduce identifiers for fsck messages - fsck: introduce fsck options - Need extra set of eyes to review this. - + "fsck.warnings = " I suggested turned out to + be an unpopular choice (sorry Dscho). -* tb/connect-ipv6-parse-fix (2015-01-22) 3 commits - - t5500: show user name and host in diag-url - - t5601: add more test cases for IPV6 - - connect.c: improve parsing of literal IPV6 addresses - - Need extra set of eyes to review this. + Expecting a reroll. * jk/strbuf-doc-to-header (2015-01-16) 7 commits @@ -688,48 +776,17 @@ of the repositories listed at Will merge to 'next'. -* ak/stash-store-create-help (2015-01-13) 1 commit - - stash: show "create" and "store" subcommands in usage-help - - Undecided. - - -* bp/diff-relative-config (2015-01-07) 2 commits - - diff: teach diff.relative to give default to --relative= - - diff: teach --no-relative to override earlier --relative - - * nd/attr-optim (2014-12-29) 3 commits - attr: avoid heavy work when we know the specified attr is not defined - attr: do not attempt to expand when we know it's not a macro - attr.c: rename arg name attr_nr to avoid shadowing the global one + Optimize attribute look-up, mostly useful in "git grep" on a + project that does not use many attributes, by avoiding it when we + (should) know that the attributes are not defined in the first + place. -* nd/list-files (2015-02-09) 21 commits - . t3080: tests for git-list-files - . list-files: -M aka diff-cached - . list-files -F: show submodules with the new indicator '&' - . list-files: add -F/--classify - . list-files: show directories as well as files - . list-files: do not show duplicate cached entries - . list-files: sort output and remove duplicates - . list-files: add -t back - . list-files: add -1 short for --no-column - . list-files: add -R/--recursive short for --max-depth=-1 - . list-files: -u does not imply showing stages - . list-files: make alias 'ls' default to 'list-files' - . list-files: a user friendly version of ls-files and more - . ls-files: support --max-depth - . ls-files: add --column - . ls-files: add --color to highlight file names - . ls-files: buffer full item in strbuf before printing - . ls_colors.c: highlight submodules like directories - . ls_colors.c: add a function to color a file name - . ls_colors.c: parse color.ls.* from config file - . ls_colors.c: add $LS_COLORS parsing code - - A new "git list-files" Porcelain command, "ls-files" with bells and - whistles. + Will merge to 'next'. * nd/multiple-work-trees (2015-01-27) 38 commits @@ -776,31 +833,14 @@ of the repositories listed at rely on symbolic links and make sharing of objects and refs safer by making the borrowee and borrowers aware of each other. + Will merge to 'next'. -* nd/untracked-cache (2015-02-09) 24 commits - - git-status.txt: advertisement for untracked cache - - untracked cache: guard and disable on system changes - - mingw32: add uname() - - t7063: tests for untracked cache - - update-index: test the system before enabling untracked cache - - update-index: manually enable or disable untracked cache - - status: enable untracked cache - - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE - - untracked cache: mark index dirty if untracked cache is updated - - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS - - untracked cache: avoid racy timestamps - - read-cache.c: split racy stat test to a separate function - - untracked cache: invalidate at index addition or removal - - untracked cache: load from UNTR index extension - - untracked cache: save to an index extension - - ewah: add convenient wrapper ewah_serialize_strbuf() - - untracked cache: don't open non-existent .gitignore - - untracked cache: mark what dirs should be recursed/saved - - untracked cache: record/validate dir mtime and reuse cached output - - untracked cache: make a wrapper around {open,read,close}dir() - - untracked cache: invalidate dirs recursively if .gitignore changes - - untracked cache: initial untracked cache validation - - untracked cache: record .gitignore information and dir hierarchy - - dir.c: optionally compute sha-1 of a .gitignore file - Need extra set of eyes to review this. +-------------------------------------------------- +[Discarded] + +* tc/t9001-noxmailer (2015-01-30) 1 commit + . t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' + + Kyle's update to explicitly support --no-option with older + Getopt::Long ($gmane/263203) makes this unnecessary.