{"thread":{"id":"27938","subject":"What's cooking in git.git (Jul 2011, #04; Wed, 27)","startedAt":"2011-07-28T00:08:04Z","lastAt":"2011-07-28T08:12:23Z","messageCount":2,"participants":["Junio C Hamano","Sverre Rabbelier"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"172197","messageId":"7v7h73mfmj.fsf@alter.siamese.dyndns.org","threadId":"27938","inReplyTo":null,"subject":"What's cooking in git.git (Jul 2011, #04; Wed, 27)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-07-28T00:08:04Z","receivedAt":"2011-07-28T00:08:04Z","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\nJust a note. I am at OSCON this week and my response/patch processing\nbandwidth is limited.\n\n--------------------------------------------------\n[New Topics]\n\n* jc/streaming-filter (2011-07-22) 1 commit\n  (merged to 'next' on 2011-07-22 at 2081cd7)\n + streaming: free git_istream upon closing\n\nA large leak found and plugged.\nWill merge to \"master\".\n\n* jn/gitweb-system-config (2011-07-24) 1 commit\n - gitweb: Introduce common system-wide settings for convenience\n\n* js/ls-tree-error (2011-07-25) 2 commits\n - Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails.\n - Add a test to check that git ls-tree sets non-zero exit code on error.\n\n* jc/merge-reword (2011-05-25) 2 commits\n - merge: mark the final \"Merge made by...\" message for l10n\n - merge: reword the final message\n\nProbably the topmost commit should be dropped.\n\n* jk/reset-reflog-message-fix (2011-07-22) 1 commit\n - reset: give better reflog messages\n\nWill merge to \"next\".\n\n* jk/add-i-hunk-filter (2011-07-27) 5 commits\n - add--interactive: add option to autosplit hunks\n - add--interactive: allow negatation of hunk filters\n - add--interactive: allow hunk filtering on command line\n - add--interactive: factor out regex error handling\n - add--interactive: refactor patch mode argument processing\n\n* mh/check-attr-listing (2011-07-27) 19 commits\n - Rename struct git_attr_check to git_attr_value\n - git-check-attr: Fix command-line handling to match docs\n - git-check-attr: Drive two tests using the same raw data\n - git-check-attr: Add an --all option to show all attributes\n - git-check-attr: Error out if no pathnames are specified\n - git-check-attr: Process command-line args more systematically\n - git-check-attr: Handle each error separately\n - git-check-attr: Extract a function error_with_usage()\n - git-check-attr: Introduce a new variable\n - git-check-attr: Extract a function output_attr()\n - Allow querying all attributes on a file\n - git-check-attr: Use git_attr_name()\n - Provide access to the name attribute of git_attr\n - git-check-attr: Add tests of command-line parsing\n - git-check-attr: Add missing \"&&\"\n - Disallow the empty string as an attribute name\n - Remove anachronism from comment\n - doc: Correct git_attr() calls in example code\n - doc: Add a link from gitattributes(5) to git-check-attr(1)\n\n--------------------------------------------------\n[Graduated to \"master\"]\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* 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* 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/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* 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* 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* 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\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* 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* 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--------------------------------------------------\n[Stalled]\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* 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* 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* jk/generation-numbers (2011-07-14) 7 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\nThe initial \"tag --contains\" de-pessimization without need for generation\nnumbers is already in; backburnered.\n\n--------------------------------------------------\n[Cooking]\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\nWill merge to \"master\".\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  (merged to 'next' on 2011-07-25 at 1973192)\n + tests: cleanup binary test vector files\n\n* jk/http-auth-keyring (2011-07-21) 14 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 - fixup! introduce credentials API\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\nLooked mostly reasonable except for the limitation that it is not clear\nhow to deal with a site at which a user needs to use different passwords \nfor different repositories.\n\n* tc/minix (2011-07-20) 1 commit\n  (merged to 'next' on 2011-07-25 at 36ad29f)\n + Makefile: add Minix configuration options.\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\nWill merge to \"master\".\n\n* jk/clone-detached (2011-06-07) 4 commits\n  (merged to 'next' on 2011-07-25 at 013d7d0)\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\nWill merge to \"master\".\n\n* jc/pack-order-tweak (2011-07-08) 2 commits\n  (merged to 'next' on 2011-07-25 at 1460c31)\n + pack-objects: optimize \"recency order\"\n + core: log offset pack data accesses happened\n\n* js/ref-namespaces (2011-07-21) 5 commits\n  (merged to 'next' on 2011-07-25 at 5b7dcfe)\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* rc/histogram-diff (2011-07-12) 7 commits\n  (merged to 'next' on 2011-07-25 at 3351028)\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-27) 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\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 38/48; looks basically sound.\n"},{"id":"172241","messageId":"CAGdFq_hHUq2nV1emr9h=VKMokkN3cZ0D95LiW05QW_JuVq06wQ@mail.gmail.com","threadId":"27938","inReplyTo":"7v7h73mfmj.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jul 2011, #04; Wed, 27)","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2011-07-28T08:12:23Z","receivedAt":"2011-07-28T08:12:23Z","isPatch":false,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nOn Thu, Jul 28, 2011 at 02:08, Junio C Hamano <gitster@pobox.com> wrote:\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\nThe fe-fixes series that I sent out last Sunday addresses the bug\npointed out by the first test case.\n\n-- \nCheers,\n\nSverre Rabbelier\n"}]}