{"thread":{"id":"27871","subject":"What's cooking in git.git (Jul 2011, #03; Wed, 20)","startedAt":"2011-07-20T23:06:46Z","lastAt":"2011-07-20T23:06:46Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"171759","messageId":"7vei1k4kmx.fsf@alter.siamese.dyndns.org","threadId":"27871","inReplyTo":null,"subject":"What's cooking in git.git (Jul 2011, #03; Wed, 20)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-07-20T23:06:46Z","receivedAt":"2011-07-20T23:06:46Z","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' while commits prefixed with '+' are in 'next'.\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* ak/gcc46-profile-feedback (2011-06-20) 3 commits\n  (merged to 'next' on 2011-07-01 at 81bc0a7)\n + Add explanation of the profile feedback build to the README\n + Add profile feedback build to git\n + Add option to disable NORETURN\n\n* jc/index-pack (2011-06-05) 9 commits\n  (merged to 'next' on 2011-07-05 at 5062ba9)\n + verify-pack: use index-pack --verify\n + index-pack: show histogram when emulating \"verify-pack -v\"\n + index-pack: start learning to emulate \"verify-pack -v\"\n + index-pack: a miniscule refactor\n + index-pack --verify: read anomalous offsets from v2 idx file\n + write_idx_file: need_large_offset() helper function\n + index-pack: --verify\n + write_idx_file: introduce a struct to hold idx customization options\n + index-pack: group the delta-base array entries also by type\n\n* jc/submodule-sync-no-auto-vivify (2011-06-26) 2 commits\n  (merged to 'next' on 2011-07-05 at b207ba3)\n + submodule add: always initialize .git/config entry\n + submodule sync: do not auto-vivify uninteresting submodule\n\n* jc/zlib-wrap (2011-06-10) 7 commits\n  (merged to 'next' on 2011-07-05 at 77bcbdc)\n + zlib: allow feeding more than 4GB in one go\n + zlib: zlib can only process 4GB at a time\n + zlib: wrap deflateBound() too\n + zlib: wrap deflate side of the API\n + zlib: wrap inflateInit2 used to accept only for gzip format\n + zlib: wrap remaining calls to direct inflate/inflateEnd\n + zlib wrapper: refactor error message formatter\n\nWe used to use zlib incorrectly and botched inflating/deflating data\nthat is more than 4GB long on platforms with 64-bit ulong.\n\n* jk/archive-tar-filter (2011-06-22) 9 commits\n  (merged to 'next' on 2011-07-05 at add3e7f)\n + upload-archive: allow user to turn off filters\n + archive: provide builtin .tar.gz filter\n + archive: implement configurable tar filters\n + archive: refactor file extension format-guessing\n + archive: move file extension format-guessing lower\n + archive: pass archiver struct to write_archive callback\n + archive: refactor list of archive formats\n + archive-tar: don't reload default config options\n + archive: reorder option parsing and config reading\n\n* jk/clone-cmdline-config (2011-06-22) 4 commits\n  (merged to 'next' on 2011-07-05 at a022613)\n + clone: accept config options on the command line\n + config: make git_config_parse_parameter a public function\n + remote: use new OPT_STRING_LIST\n + parse-options: add OPT_STRING_LIST helper\n (this branch uses jk/maint-config-param.)\n\n* jk/maint-config-param (2011-06-22) 6 commits\n  (merged to 'next' on 2011-07-05 at 2dce181)\n + config: use strbuf_split_str instead of a temporary strbuf\n + strbuf: allow strbuf_split to work on non-strbufs\n + config: avoid segfault when parsing command-line config\n + config: die on error in command-line config\n + fix \"git -c\" parsing of values with equals signs\n + strbuf_split: add a max parameter\n (this branch is used by jk/clone-cmdline-config.)\n\n* jk/tag-list-multiple-patterns (2011-06-20) 1 commit\n  (merged to 'next' on 2011-07-05 at 8db1bf0)\n + tag: accept multiple patterns for --list\n\n* jn/gitweb-split-header-html (2011-06-22) 1 commit\n  (merged to 'next' on 2011-07-05 at c60d9dc)\n + gitweb: Refactor git_header_html\n\n* jn/mime-type-with-params (2011-06-30) 2 commits\n  (merged to 'next' on 2011-07-05 at 7caaf3b)\n + gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss\n + gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss\n\n--------------------------------------------------\n[New Topics]\n\n* jc/maint-reset-unmerged-path (2011-07-13) 1 commit\n  (merged to 'next' on 2011-07-19 at bbc2d54)\n + reset [<commit>] paths...: do not mishandle unmerged paths\n (this branch is used by jc/diff-index-refactor.)\n\n* jc/diff-index-refactor (2011-07-13) 2 commits\n - diff-lib: refactor run_diff_index() and do_diff_cache()\n - diff-lib: simplify do_diff_cache()\n (this branch uses jc/maint-reset-unmerged-path.)\n\n* sr/transport-helper-fix-rfc (2011-07-19) 2 commits\n - t5800: point out that deleting branches does not work\n - t5800: document inability to push new branch with old content\n (this branch uses sr/transport-helper-fix.)\n\n* vi/make-test-vector-less-specific (2011-07-19) 1 commit\n - tests: cleanup binary test vector files\n\n* jk/http-auth-keyring (2011-07-20) 13 commits\n - credentials: add \"getpass\" helper\n - credentials: add \"store\" helper\n - credentials: add \"cache\" helper\n - docs: end-user documentation for the credential subsystem\n - http: use hostname in credential description\n - allow the user to configure credential helpers\n - look for credentials in config before prompting\n - http: use credential API to get passwords\n - introduce credentials API\n - http: retry authentication failures for all http requests\n - remote-curl: don't retry auth failures with dumb protocol\n - improve httpd auth tests\n - url: decode buffers that are not NUL-terminated\n\n* tc/minix (2011-07-20) 1 commit\n - Makefile: add Minix configuration options.\n\n--------------------------------------------------\n[Stalled]\n\n* jh/receive-count-limit (2011-05-23) 10 commits\n - receive-pack: Allow server to refuse pushes with too many objects\n - pack-objects: Estimate pack size; abort early if pack size limit is exceeded\n - send-pack/receive-pack: Allow server to refuse pushing too large packs\n - pack-objects: Allow --max-pack-size to be used together with --stdout\n - send-pack/receive-pack: Allow server to refuse pushes with too many commits\n - pack-objects: Teach new option --max-commit-count, limiting #commits in pack\n - receive-pack: Prepare for addition of the new 'limit-*' family of capabilities\n - Tighten rules for matching server capabilities in server_supports()\n - send-pack: Attempt to retrieve remote status even if pack-objects fails\n - Update technical docs to reflect side-band-64k capability in receive-pack\n\nWould need another round to separate per-pack and per-session limits.\n\n* jm/mergetool-pathspec (2011-06-22) 2 commits\n - mergetool: Don't assume paths are unmerged\n - mergetool: Add tests for filename with whitespace\n\nI think this is a good idea, but it probably needs a re-roll.\nCf. $gmane/176254, 176255, 166256\n\n--------------------------------------------------\n[Cooking]\n\n* sr/transport-helper-fix (2011-07-19) 21 commits\n  (merged to 'next' on 2011-07-19 at e1ef414)\n + transport-helper: die early on encountering deleted refs\n + transport-helper: implement marks location as capability\n + transport-helper: Use capname for refspec capability too\n + transport-helper: change import semantics\n + transport-helper: update ref status after push with export\n + transport-helper: use the new done feature where possible\n + transport-helper: check status code of finish_command\n + transport-helper: factor out push_update_refs_status\n + fast-export: support done feature\n + fast-import: introduce 'done' command\n + git-remote-testgit: fix error handling\n + git-remote-testgit: only push for non-local repositories\n + remote-curl: accept empty line as terminator\n + remote-helpers: export GIT_DIR variable to helpers\n + git_remote_helpers: push all refs during a non-local export\n + transport-helper: don't feed bogus refs to export push\n + git-remote-testgit: import non-HEAD refs\n + t5800: document some non-functional parts of remote helpers\n + t5800: use skip_all instead of prereq\n + t5800: factor out some ref tests\n + transport-helper: fix minor leak in push_refs_with_export\n (this branch is used by sr/transport-helper-fix-rfc.)\n\n* bw/log-all-ref-updates-doc (2011-07-12) 1 commit\n  (merged to 'next' on 2011-07-14 at 31b80a8)\n + Documentation: clearly specify what refs are honored by core.logAllRefUpdates\n\n* di/fast-import-doc (2011-07-13) 2 commits\n - doc/fast-import: document feature import-marks-if-exists\n - doc/fast-import: clarify notemodify command\n\nComments from fast-import folks?\n\n* dz/connect-error-report (2011-07-14) 1 commit\n  (merged to 'next' on 2011-07-14 at bf1c775)\n + Do not log unless all connect() attempts fail\n\n* jc/pack-order-tweak (2011-07-08) 2 commits\n - pack-objects: optimize \"recency order\"\n - core: log offset pack data accesses happened\n\n* jk/generation-numbers (2011-07-14) 8 commits\n - limit \"contains\" traversals based on commit generation\n - check commit generation cache validity against grafts\n - pretty: support %G to show the generation number of a commit\n - commit: add commit_generation function\n - add metadata-cache infrastructure\n - decorate: allow storing values instead of pointers\n - Merge branch 'jk/tag-contains-ab' (early part) into HEAD\n + tag: speed up --contains calculation\n (this branch is tangled with jk/tag-contains-ab.)\n\n* js/maint-add-path-stat-pwd (2011-07-11) 1 commit\n  (merged to 'next' on 2011-07-14 at c6fef9d)\n + get_pwd_cwd(): Do not trust st_dev/st_ino blindly\n\n* ms/help-unknown (2011-07-08) 1 commit\n  (merged to 'next' on 2011-07-14 at d7976b4)\n + help_unknown_cmd: do not propose an \"unknown\" cmd\n\n* mz/doc-rebase-abort (2011-07-13) 1 commit\n  (merged to 'next' on 2011-07-14 at a1a612c)\n + rebase: clarify \"restore the original branch\"\n\n* jc/maint-mergetool-read-fix (2011-07-01) 1 commit\n  (merged to 'next' on 2011-07-14 at 2056a67)\n + mergetool: check return value from read\n\n* nk/branch-v-abbrev (2011-07-01) 1 commit\n - branch -v: honor core.abbrev\n\nPerhaps needs an updated commit log message?\n\n* jc/checkout-reflog-fix (2011-07-06) 3 commits\n  (merged to 'next' on 2011-07-14 at 5982cdd)\n + Merge commit 'v1.7.6' into jc/checkout-reflog-fix\n + Merge commit 'v1.7.0' into jc/checkout-reflog-fix\n + Merge commit 'v1.6.0' into jc/checkout-reflog-fix\n (this branch uses jc/maint-checkout-reflog-fix.)\n\n* jc/maint-checkout-reflog-fix (2011-07-06) 1 commit\n + checkout: do not write bogus reflog entry out\n (this branch is used by jc/checkout-reflog-fix.)\n\n* js/ref-namespaces (2011-07-14) 6 commits\n - t5509: (fixup) partial readability fix\n - ref namespaces: tests\n - ref namespaces: documentation\n - ref namespaces: Support remote repositories via upload-pack and receive-pack\n - ref namespaces: infrastructure\n - Fix prefix handling in ref iteration functions\n\n* mz/doc-synopsis-verse (2011-07-06) 1 commit\n  (merged to 'next' on 2011-07-14 at 34d45e2)\n + Documentation: use [verse] for SYNOPSIS sections\n\n* rc/histogram-diff (2011-07-12) 7 commits\n - xdiff/xprepare: use a smaller sample size for histogram diff\n - xdiff/xprepare: skip classification\n - teach --histogram to diff\n - t4033-diff-patience: factor out tests\n - xdiff/xpatience: factor out fall-back-diff function\n - xdiff/xprepare: refactor abort cleanups\n - xdiff/xprepare: use memset()\n\n* rr/revert-cherry-pick-continue (2011-07-19) 18 commits\n - revert: Introduce --continue to continue the operation\n - revert: Don't implictly stomp pending sequencer operation\n - revert: Remove sequencer state when no commits are pending\n - reset: Make reset remove the sequencer state\n - revert: Introduce --reset to remove sequencer state\n - revert: Make pick_commits functionally act on a commit list\n - revert: Save command-line options for continuing operation\n - revert: Save data for continuing after conflict resolution\n - revert: Don't create invalid replay_opts in parse_args\n - revert: Separate cmdline parsing from functional code\n - revert: Introduce struct to keep command-line options\n - revert: Eliminate global \"commit\" variable\n - revert: Propogate errors upwards from do_pick_commit\n - revert: Rename no_replay to record_origin\n - revert: Don't check lone argument in get_encoding\n - revert: Simplify and inline add_message_to_msg\n - config: Introduce functions to write non-standard file\n - advice: Introduce error_resolve_conflict\n\nGetting very close, I would think...\n\n* dc/stash-con-untracked (2011-06-26) 1 commit\n  (merged to 'next' on 2011-07-13 at 9ed0d1d)\n + stash: Add --include-untracked option to stash and remove all untracked files\n\n* jn/gitweb-search (2011-06-22) 4 commits\n  (merged to 'next' on 2011-07-13 at 455acdd)\n + gitweb: Make git_search_* subroutines render whole pages\n + gitweb: Clean up code in git_search_* subroutines\n + gitweb: Split body of git_search into subroutines\n + gitweb: Check permissions first in git_search\n\n* en/merge-recursive (2011-07-14) 50 commits\n - fixup! Do not assume that qsort is stable\n - t3030: fix accidental success in symlink rename\n - merge-recursive: Fix working copy handling for rename/rename/add/add\n - merge-recursive: add handling for rename/rename/add-dest/add-dest\n - merge-recursive: Have conflict_rename_delete reuse modify/delete code\n - merge-recursive: Make modify/delete handling code reusable\n - merge-recursive: Consider modifications in rename/rename(2to1) conflicts\n - merge-recursive: Create function for merging with branchname:file markers\n - merge-recursive: Record more data needed for merging with dual renames\n - merge-recursive: Defer rename/rename(2to1) handling until process_entry\n - merge-recursive: Small cleanups for conflict_rename_rename_1to2\n - merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base\n - merge-recursive: Introduce a merge_file convenience function\n - merge-recursive: Fix modify/delete resolution in the recursive case\n - merge-recursive: Provide more info in conflict markers with file renames\n - merge-recursive: Cleanup and consolidation of rename_conflict_info\n - merge-recursive: Consolidate process_entry() and process_df_entry()\n - merge-recursive: Improve handling of rename target vs. directory addition\n - merge-recursive: Add comments about handling rename/add-source cases\n - merge-recursive: Make dead code for rename/rename(2to1) conflicts undead\n - merge-recursive: Fix deletion of untracked file in rename/delete conflicts\n - merge-recursive: When we detect we can skip an update, actually skip it\n - merge-recursive: Split update_stages_and_entry; only update stages at end\n - merge-recursive: Consolidate different update_stages functions\n - merge-recursive: Allow make_room_for_path() to remove D/F entries\n - merge-recursive: Split was_tracked() out of would_lose_untracked()\n - merge-recursive: Save D/F conflict filenames instead of unlinking them\n - merge-recursive: Fix code checking for D/F conflicts still being present\n - merge-recursive: Fix sorting order and directory change assumptions\n - merge-recursive: Fix recursive case with D/F conflict via add/add conflict\n - merge-recursive: Avoid working directory changes during recursive case\n - merge-recursive: Remember to free generated unique path names\n - merge-recursive: Mark some diff_filespec struct arguments const\n - merge-recursive: Correct a comment\n - merge-recursive: Make BUG message more legible by adding a newline\n - t6022: Add testcase for merging a renamed file with a simple change\n - t6022: New tests checking for unnecessary updates of files\n - t6022: Remove unnecessary untracked files to make test cleaner\n - t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify\n - t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify\n - t6036: tests for criss-cross merges with various directory/file conflicts\n - t6036: criss-cross with weird content can fool git into clean merge\n - t6036: Add differently resolved modify/delete conflict in criss-cross test\n - t6042: Ensure rename/rename conflicts leave index and workdir in sane state\n - t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts\n - t6042: Add tests for content issues with modify/rename/directory conflicts\n - t6042: Add a testcase where undetected rename causes silent file deletion\n - t6042: Add a pair of cases where undetected renames cause issues\n - t6042: Add failing testcase for rename/modify/add-source conflict\n - t6042: Add a testcase where git deletes an untracked file\n\nLooked at up to 29/48; looks basically sound.\n\n* jk/tag-contains-ab (2011-07-14) 5 commits\n  (merged to 'next' on 2011-07-14 at 002a9d7)\n + Revert clock-skew based attempt to optimize tag --contains traversal\n + git skew: a tool to find how big a clock skew exists in the history\n  (merged to 'next' on 2011-07-05 at f9cf575)\n + default core.clockskew variable to one day\n + limit \"contains\" traversals based on commit timestamp\n + tag: speed up --contains calculation\n (this branch is tangled with jk/generation-numbers.)\n\nReverted the commits near the tip.\n\n* jk/clone-detached (2011-06-07) 4 commits\n - clone: always fetch remote HEAD\n - make copy_ref globally available\n - consider only branches in guess_remote_head\n - t: add tests for cloning remotes with detached HEAD\n\nSomewhat involved bugfix. Seems to expose breakage in t5800 without the\nstalled \"transport-helper-fix\" series.\n\n* jl/submodule-add-relurl-wo-upstream (2011-06-06) 3 commits\n  (merged to 'next' on 2011-07-13 at f989abb)\n + submodule add: clean up duplicated code\n + submodule add: allow relative repository path even when no url is set\n + submodule add: test failure when url is not configured in superproject\n"}]}