{"thread":{"id":"27810","subject":"What's cooking in git.git (Jul 2011, #02; Wed, 13)","startedAt":"2011-07-14T06:01:00Z","lastAt":"2011-07-14T06:01:00Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"171308","messageId":"7v7h7l4d0j.fsf@alter.siamese.dyndns.org","threadId":"27810","inReplyTo":null,"subject":"What's cooking in git.git (Jul 2011, #02; Wed, 13)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-07-14T06:01:00Z","receivedAt":"2011-07-14T06:01:00Z","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[New Topics]\n\n* bw/log-all-ref-updates-doc (2011-07-12) 1 commit\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\n* dz/connect-error-report (2011-07-13) 2 commits\n - connect.c: (fixup) report errors from failed socket(2) call as well\n - Do not log unless all connect() attempts fail\n\nNeeds squashing these into one.\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-11) 6 commits\n - limit \"contains\" traversals based on commit generation\n - pretty: support %G to show the generation number of a commit\n - commit: add commit_generation function\n - add object-cache infrastructure\n - decorate: allow storing values instead of pointers\n + tag: speed up --contains calculation\n (this branch is tangled with jk/tag-contains-ab.)\n\nGetting rerolled.\n\n* js/maint-add-path-stat-pwd (2011-07-11) 1 commit\n - get_pwd_cwd(): Do not trust st_dev/st_ino blindly\n\nWill merge to \"next\".\n\n* ms/help-unknown (2011-07-08) 1 commit\n - help_unknown_cmd: do not propose an \"unknown\" cmd\n\nWill merge to \"next\".\n\n* mz/doc-rebase-abort (2011-07-11) 1 commit\n - git-rebase.txt: clarify that --abort checks out <branch>\n\nWill merge to \"next\".\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* an/shallow-doc (2011-06-08) 2 commits\n  (merged to 'next' on 2011-07-01 at 6ba80ef)\n + Document the underlying protocol used by shallow repositories and --depth commands.\n + Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.\n\n* aw/rebase-i-p (2011-06-19) 1 commit\n  (merged to 'next' on 2011-07-01 at df3f3d8)\n + rebase -i -p: include non-first-parent commits in todo list\n\n* bc/submodule-foreach-stdin-fix-1.7.4 (2011-06-29) 2 commits\n  (merged to 'next' on 2011-07-01 at 4651925)\n + git-submodule.sh: preserve stdin for the command spawned by foreach\n + t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin\n\n* fg/submodule-keep-updating (2011-06-13) 3 commits\n  (merged to 'next' on 2011-07-01 at 227827c)\n + git-submodule.sh: clarify the \"should we die now\" logic\n + submodule update: continue when a checkout fails\n + git-sh-setup: add die_with_status\n\n* fk/relink-upon-ldflags-update (2011-06-22) 1 commit\n  (merged to 'next' on 2011-07-01 at 69b57d0)\n + Makefile: Track changes to LDFLAGS and relink when necessary\n\n* jc/legacy-loose-object (2011-06-08) 1 commit\n  (merged to 'next' on 2011-07-01 at 5561971)\n + sha1_file.c: \"legacy\" is really the current format\n\n* jc/maint-cygwin-trust-executable-bit-default (2011-06-20) 1 commit\n  (merged to 'next' on 2011-07-01 at d85aa04)\n + cygwin: trust executable bit by default\n\nFix for an ancient regression.\n\n* jc/no-gitweb-test-without-cgi-etc (2011-06-15) 1 commit\n  (merged to 'next' on 2011-07-01 at 1db3fa4)\n + t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met\n\n* jl/maint-fetch-recursive-fix (2011-06-20) 1 commit\n  (merged to 'next' on 2011-07-01 at 476eee4)\n + fetch: Also fetch submodules in subdirectories in on-demand mode\n\n* jn/doc-dashdash (2011-06-29) 2 commits\n  (merged to 'next' on 2011-07-01 at 5d51929)\n + Documentation/i18n: quote double-dash for AsciiDoc\n + Merge branch 'jn/maint-doc-dashdash' into jn/doc-dashdash\n (this branch uses jn/maint-doc-dashdash.)\n\n* jn/maint-doc-dashdash (2011-06-29) 1 commit\n  (merged to 'next' on 2011-07-01 at 55ab98d)\n + Documentation: quote double-dash for AsciiDoc\n (this branch is used by jn/doc-dashdash.)\n\nWill merge to \"maint\" later.\n\n* js/rebase-typo-branch-squelch-usage (2011-06-29) 1 commit\n  (merged to 'next' on 2011-07-01 at b5b4c03)\n + rebase: do not print lots of usage hints after an obvious error message\n\n* ln/gitweb-mime-types-split-at-blank (2011-06-15) 1 commit\n  (merged to 'next' on 2011-07-01 at 765aa1e)\n + gitweb: allow space as delimiter in mime.types\n\n* md/interix-update (2011-06-15) 1 commit\n  (merged to 'next' on 2011-07-01 at 0bc327d)\n + Update the Interix default build configuration.\n\n* nk/ref-doc (2011-06-23) 7 commits\n  (merged to 'next' on 2011-07-01 at 9ff278d)\n + glossary: clarify description of HEAD\n + glossary: update description of head and ref\n + glossary: update description of \"tag\"\n + git.txt: de-emphasize the implementation detail of a ref\n + check-ref-format doc: de-emphasize the implementation detail of a ref\n + git-remote.txt: avoid sounding as if loose refs are the only ones in the world\n + git-remote.txt: fix wrong remote refspec\n\n* rj/config-cygwin (2011-06-16) 3 commits\n  (merged to 'next' on 2011-07-01 at 6da4aa5)\n + config.c: Make git_config() work correctly when called recursively\n + t1301-*.sh: Fix the 'forced modes' test on cygwin\n + help.c: Fix detection of custom merge strategy on cygwin\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* sr/transport-helper-fix (2011-06-19) 20 commits\n - transport-helper: implement marks location as capability\n - transport-helper: Use capname for gitdir capability too\n - transport-helper: export is no longer always the last command\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 - git_remote_helpers: push all refs during a non-local export\n - transport-helper: don't feed bogus refs to export push\n - teach remote-testgit to 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\nAt least Patch 10/20 (git-remote-testgit: fix error handling) and Patch\n15/20 (transport-helper: use the new done feature where possible) need a\nreroll.\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* jc/maint-mergetool-read-fix (2011-07-01) 1 commit\n - mergetool: check return value from read\n\nWill merge to \"next\".\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 - 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\nWill merge to \"next\".\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-11) 4 commits\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\nWould be nice to have some tests before merging to \"next\", no?\n\n* mz/doc-synopsis-verse (2011-07-06) 1 commit\n - Documentation: use [verse] for SYNOPSIS sections\n\nWill merge to \"next\".\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-11) 17 commits\n - revert: Introduce --continue to continue the operation\n - revert: Introduce --reset to remove sequencer state\n - revert: Remove sequencer state when no commits are pending\n - reset: Make hard reset remove the sequencer state\n - revert: Introduce a layer of indirection over pick_commits\n - revert: Save command-line options for continuing operation\n - revert: Save data for continuing after conflict resolution\n - sequencer: Announce sequencer state location\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: Inline add_message_to_msg function\n - advice: Introduce error_resolve_conflict\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* 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\nWill merge to \"master\".\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* 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\nWill merge to \"master\".\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\nWill merge to \"master\".\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\nWill merge to \"master\".\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\nWill merge to \"master\".\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\nWill merge to \"master\".\n\n* en/merge-recursive (2011-06-13) 49 commits\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\nHaven't looked at the whole series yet.\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\nWill merge to \"master\".\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\nWill merge to \"master\".\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\nKilled \"verify-pack\" ;-) The next will be to update fsck, which would be a\nbigger task.\n\nWill merge to \"master\".\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\nWill merge to \"master\".\n\n* jk/tag-contains-ab (2011-06-30) 4 commits\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\nWill revert the two commits from \"next\" once metadata-cache series gets\nmore stable.\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"}]}