{"thread":{"id":"30675","subject":"What's cooking in git.git (May 2012, #07; Thu, 31)","startedAt":"2012-05-31T23:13:29Z","lastAt":"2012-05-31T23:13:29Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"192626","messageId":"7vfwag54h2.fsf@alter.siamese.dyndns.org","threadId":"30675","inReplyTo":null,"subject":"What's cooking in git.git (May 2012, #07; Thu, 31)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-05-31T23:13:29Z","receivedAt":"2012-05-31T23:13:29Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking.  Commits prefixed with '-' are\nonly in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.\n\nI am planning to merge topics that are in 'next' soonish and tag\nv1.7.11-rc1 before the next week starts.  Everything else on 'pu'\nwill have to wait until the next cycle; please concentrate on\nfinding and fixing regressions since 1.7.10 from now on.\n\nYou can find the changes described here in the integration branches of the\nrepositories listed at\n\n    http://git-blame.blogspot.com/p/git-public-repositories.html\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* ap/checkout-no-progress-for-non-tty (2012-05-24) 1 commit\n  (merged to 'next' on 2012-05-24 at dc473bd)\n + checkout: no progress messages if !isatty(2).\n\n\"git checkout\" gave progress display even when the standard error\nstream was not connected to the tty, which made little sense.\n\n* fc/git-complete-helper-fix (2012-05-20) 2 commits\n  (merged to 'next' on 2012-05-23 at 6124da2)\n + completion: add support for backwards compatibility\n + completion: rename internal helpers _git and _gitk\n\nWould help people who relied on (unofficial) _git/_gitk helper in their\ncompletion tweaks.\n\n* jk/fetch-pack-remove-dups-optim (2012-05-24) 6 commits\n  (merged to 'next' on 2012-05-24 at cf56fe6)\n + fetch-pack: sort incoming heads list earlier\n  (merged to 'next' on 2012-05-23 at 6057c21)\n + fetch-pack: avoid quadratic loop in filter_refs\n + fetch-pack: sort the list of incoming refs\n + add sorting infrastructure for list refs\n + fetch-pack: avoid quadratic behavior in remove_duplicates\n + fetch-pack: sort incoming heads\n\nThe way \"fetch-pack\" that is given multiple references to fetch tried to\nremove duplicates was very inefficient.\n\n* jk/format-person-part-buffer-limit (2012-05-22) 1 commit\n  (merged to 'next' on 2012-05-23 at ef025b0)\n + pretty: avoid buffer overflow in format_person_part\n\n* jk/ident-gecos-strbuf (2012-05-24) 22 commits\n  (merged to 'next' on 2012-05-24 at 7148763)\n + format-patch: do not use bogus email addresses in message ids\n + ident: reject bogus email addresses with IDENT_STRICT\n + ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT\n + format-patch: use GIT_COMMITTER_EMAIL in message ids\n + ident: let callers omit name with fmt_indent\n + ident: refactor NO_DATE flag in fmt_ident\n + ident: reword empty ident error message\n  (merged to 'next' on 2012-05-23 at 6fce816)\n + format-patch: refactor get_patch_filename\n + ident: trim whitespace from default name/email\n + ident: use a dynamic strbuf in fmt_ident\n + ident: use full dns names to generate email addresses\n + ident: report passwd errors with a more friendly message\n + drop length limitations on gecos-derived names and emails\n + ident: don't write fallback username into git_default_name\n + fmt_ident: drop IDENT_WARN_ON_NO_NAME code\n + format-patch: use default email for generating message ids\n + ident: trim trailing newline from /etc/mailname\n + move git_default_* variables to ident.c\n + move identity config parsing to ident.c\n + fmt-merge-msg: don't use static buffer in record_person\n + http-push: do not access git_default_email directly\n + ident: split setup_ident into separate functions\n\nFixes quite a lot of brokenness when ident information needs to be taken\nfrom the system and cleans up the code.\n\n* jk/ident-split-fix (2012-05-22) 1 commit\n  (merged to 'next' on 2012-05-23 at 811c9ec)\n + fix off-by-one error in split_ident_line\n\nAn author/committer name that is a single character was mishandled as an\ninvalid name by mistake.\n\n* jk/pretty-commit-header-incomplete-line (2012-05-22) 1 commit\n  (merged to 'next' on 2012-05-23 at f788433)\n + avoid segfault when reading header of malformed commits\n\n* mh/fetch-pack-constness (2012-05-22) 4 commits\n  (merged to 'next' on 2012-05-23 at be95121)\n + cmd_fetch_pack(): respect constness of argv parameter\n + cmd_fetch_pack(): combine the loop termination conditions\n + cmd_fetch_pack(): handle non-option arguments outside of the loop\n + cmd_fetch_pack(): declare dest to be const\n\nTighten constness of some local variables in a callchain.\n\n* mh/ref-api (2012-05-24) 1 commit\n  (merged to 'next' on 2012-05-24 at c8d54c0)\n + Avoid sorting if references are added to ref_cache in order\n\n* mh/ref-api-lazy-loose (2012-05-20) 1 commit\n  (merged to 'next' on 2012-05-23 at c41a30a)\n + free_ref_entry(): do not trigger reading of loose refs\n\nThe code to lazily read loose refs by mistake unnecessarily read the refs\nin a subhierarchy when we free the data for the subhierarchy.\n\n* mh/test-keep-prove-cache (2012-05-20) 1 commit\n  (merged to 'next' on 2012-05-23 at 870d1f9)\n + t/Makefile: retain cache t/.prove across prove runs\n\n* ng/pack-objects-cleanup (2012-05-18) 2 commits\n  (merged to 'next' on 2012-05-23 at f90b1ba)\n + pack-objects: refactor write_object() into helper functions\n + pack-objects, streaming: turn \"xx >= big_file_threshold\" to \".. > ..\"\n\n* rs/dir-strbuf-read-recursive-fix (2012-05-11) 2 commits\n  (merged to 'next' on 2012-05-23 at 2e22549)\n + dir: simplify fill_directory()\n + dir: respect string length argument of read_directory_recursive()\n\n* rs/maint-grep-F (2012-05-21) 4 commits\n  (merged to 'next' on 2012-05-23 at b24143c)\n + grep: stop leaking line strings with -f\n + grep: support newline separated pattern list\n + grep: factor out do_append_grep_pat()\n + grep: factor out create_grep_pat()\n\n\"git grep -e '$pattern'\", unlike the case where the patterns are read from\na file, did not treat individual lines in the given pattern argument as\nseparate regular expressions as it should.\n\n* rs/refs-string-slice (2012-05-22) 4 commits\n  (merged to 'next' on 2012-05-23 at d224de1)\n + refs: do not create ref_entry when searching\n + refs: use strings directly in find_containing_dir()\n + refs: convert parameter of create_dir_entry() to length-limited string\n + refs: convert parameter of search_ref_dir() to length-limited string\n\nAvoid unnecessary temporary allocations while looking for matching refs\ninside refs API.\n\n* rs/xdiff-fast-hash-fix (2012-05-23) 3 commits\n  (merged to 'next' on 2012-05-23 at 8df26a5)\n + xdiff: import new 32-bit version of count_masked_bytes()\n + xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machines\n + xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machines\n\n* sp/sh-windows-pwd (2012-05-16) 1 commit\n  (merged to 'next' on 2012-05-23 at 63004c3)\n + git-sh-setup: define workaround wrappers before they are used\n\n* va/git-p4-test (2012-05-23) 2 commits\n - git-p4: Verify detection of \"empty\" branch creation\n - git-p4: Test changelists touching two branches\n\nRerolled and Acked by Pete.\n\n--------------------------------------------------\n[New Topics]\n\n* jl/submodule-report-new-path-once (2012-05-29) 1 commit\n  (merged to 'next' on 2012-05-30 at e482dd9)\n + submodules: print \"registered for path\" message only once\n\nWill merge to master by 1.7.11 final.\n\n* mm/levenstein-penalize-deletion-less (2012-05-29) 1 commit\n  (merged to 'next' on 2012-05-30 at b2a0346)\n + Reduce cost of deletion in levenstein distance (4 -> 3)\n\nWill merge to master by 1.7.11 final.\n\n* nd/exclude-workaround-top-heavy (2012-05-29) 2 commits\n - exclude: do strcmp as much as possible before fnmatch\n - Unindent excluded_from_list()\n\n* nd/stream-pack-objects (2012-05-29) 1 commit\n - pack-objects: use streaming interface for reading large loose blobs\n\n* vr/rebase-autosquash-does-not-imply-i (2012-05-29) 1 commit\n  (merged to 'next' on 2012-05-30 at 10dd3af)\n + Do not autosquash in case of an implied interactive rebase\n\nWill merge to master by 1.7.11 final.\n\n* nh/empty-rebase (2012-05-29) 1 commit\n  (merged to 'next' on 2012-05-30 at 270703a)\n + cherry-pick: regression fix for empty commits\n\nWill merge to master by 1.7.11 final.\n\n* ef/maint-rebase-error-message (2012-05-30) 1 commit\n  (merged to 'next' on 2012-05-30 at 5194fe3)\n + rebase: report invalid commit correctly\n\nWill merge to master by 1.7.11 final.\n\n* jk/clone-local (2012-05-30) 2 commits\n - clone: allow --no-local to turn off local optimizations\n - docs/clone: mention that --local may be ignored\n\n* jk/no-more-asciidoc7 (2012-05-30) 2 commits\n - docs: drop antique comment from Makefile\n - docs: drop asciidoc7compatible flag\n\n* jk/no-op-push-message (2012-05-30) 1 commit\n - improve no-op push output\n\n* ef/http-o-depends-on-gvf (2012-05-31) 1 commit\n  (merged to 'next' on 2012-05-31 at 11af7cd)\n + Makefile: add missing GIT-VERSION-FILE dependency\n\nWill merge to master by 1.7.11 final.\n\n--------------------------------------------------\n[Stalled]\n\n* nl/http-proxy-more (2012-05-11) 2 commits\n - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY\n - http: Avoid limit of retrying request only twice\n\nI queued only the later two patches from this series, even though they do\nnot make much sense without the first one that seems to need a bit more\nwork, so that we won't forget.\n\n* sg/bash-prompt (2012-05-09) 4 commits\n - completion: respect $GIT_DIR\n - completion: use __gitdir() in _git_log()\n - tests: add tests for the bash prompt functions in the completion script\n - tests: move code to run tests under bash into a helper library\n (this branch is tangled with fc/git-prompt-script.)\n\nThis is only the \"correction\" bits taken from the beginning of a larger\nseries that is to be rerolled.  The first two are tangled with Felipe's\ntopic so a reroll, if comes, should build on top of them.\n\n* jc/apply-3way (2012-05-16) 12 commits\n - WIP: the message is bogus in apply:::check_patch()\n - apply: refactor \"previous patch\" logic\n - apply: a bit more comments on PATH_TO_BE_DELETED\n - apply: document --3way option\n - apply: allow rerere() upon --3way results\n - apply: register conflicted stages to the index\n - apply: plug the three-way merge logic in\n - apply: fall back on three-way merge\n - apply: accept -3/--3way command line option\n - apply: split load_preimage() helper function out\n - apply: refactor read_file_or_gitlink()\n - apply: clear_image() clears things a bit more\n\n\"git apply\" learns to wiggle the base version and perform three-way merge\nwhen a patch does not exactly apply to the version you have.\n\nIt turns out that it is somewhat unpleasant to handle add/add conflicts in\nthis code, but it seems necessary if we want to use \"apply -3\" to replace\nthe use of \"apply --build-fake-ancestor\" followed by the slow \"merge\" in\n\"am -3\".\n\n* jc/maint-push-refs-all (2012-05-04) 2 commits\n - get_fetch_map(): tighten checks on dest refs\n - fetch/push: allow refs/*:refs/*\n\nAllows pushing and fetching refs/stash.\nNot ready.\nThere still seem to be other bugs hiding (e.g. try pushing twice).\n\n* jc/run-hook-env-1 (2012-03-11) 1 commit\n - run_hook(): enhance the interface to pass arbitrary environment\n\nNot urgent.\n\nUpdates run_hook() API to be much less specific to \"commit\".  It would\nonly be useful if people start doing more interesting things with hooks.\n\n* jc/split-blob (2012-04-03) 6 commits\n - chunked-object: streaming checkout\n - chunked-object: fallback checkout codepaths\n - bulk-checkin: support chunked-object encoding\n - bulk-checkin: allow the same data to be multiply hashed\n - new representation types in the packstream\n - packfile: use varint functions\n\nNot ready.\n\nI finished the streaming checkout codepath, but as explained in\n127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),\nthese are still early steps of a long and painful journey. At least\npack-objects and fsck need to learn the new encoding for the series\nto be usable locally, and then index-pack/unpack-objects needs to\nlearn it to be used remotely.\n\nGiven that I heard a lot of noise that people want large files, and\nthat I was asked by somebody at GitTogether'11 privately for an\nadvice on how to pay developers (not me) to help adding necessary\nsupport, I am somewhat dissapointed that the original patch series\nthat was sent almost two months ago still remains here without much\ncomments and updates from the developer community. I even made the\ninterface to the logic that decides where to split chunks easily\nreplaceable, and I deliberately made the logic in the original patch\nextremely stupid to entice others, especially the \"bup\" fanboys, to\ncome up with a better logic, thinking that giving people an easy\ntarget to shoot for, they may be encouraged to help out. The plan is\nnot working :-(.\n\n--------------------------------------------------\n[Cooking]\n\n* fc/git-prompt-script (2012-05-22) 5 commits\n - completion: split __git_ps1 into a separate script\n - completion: remove executable mode\n - Merge branch 'fc/git-complete-helper' into fc/git-prompt-script\n - tests: add tests for the bash prompt functions in the completion script\n - tests: move code to run tests under bash into a helper library\n (this branch is tangled with sg/bash-prompt.)\n\nThe last remaining sticking point is what to do with the duplicated shell\nfunction.\n\n* cr/persistent-https (2012-05-30) 1 commit\n - Add persistent-https to contrib\n\nA remote helper that acts as a proxy that caches ssl session for the\nhttps:// transport is added to the contrib/ area.\n\n* nd/stream-index-pack (2012-05-24) 4 commits\n - index-pack: use streaming interface for collision test on large blobs\n - index-pack: factor out unpack core from get_data_from_pack\n - index-pack: use streaming interface on large blobs (most of the time)\n - index-pack: hash non-delta objects while reading from stream\n\nUse streaming API to read from the object store to avoid having to hold\na large blob object in-core while running index-pack.\n\n* js/submodule-relative (2012-05-29) 3 commits\n - t7403-*.sh: Avoid use of the nonportable '==' operator\n - submodule: fix handling of relative superproject origin URLs\n - submodule: document handling of relative superproject origin URLs\n\nReroll went to v7 but hasn't settled yet.\n\n* mm/push-default-switch-warning (2012-04-26) 2 commits\n - t5541: warning message is given even with --quiet\n - push: start warning upcoming default change for push.default\n\nWill squash the two, but this has to wait for a few release cycles.\n\n--------------------------------------------------\n[Discarded]\n\n* cb/daemon-test-race-fix (2012-04-27) 2 commits\n  (merged to 'next' on 2012-04-27 at 84bbcf8)\n + Revert \"git-daemon wrapper to wait until daemon is ready\"\n  (merged to 'next' on 2012-04-24 at d5c30be)\n + git-daemon wrapper to wait until daemon is ready\n\nReverted from 'next' to replace it with js/daemon-test-race-fix.\n\n* jc/revert-nh-empty-rebase (2012-05-23) 1 commit\n . Revert nh/empty-rebase topic\n\nThe earlier series was found to regress the more important \"cherry-pick\";\nI'd prefer to see it fixed, but in case if it does not happen soon, this\nis a fallback measure that can be merged before 1.7.11 final.\n"}]}