{"thread":{"id":"30359","subject":"What's cooking in git.git (Apr 2012, #11; Sun, 29)","startedAt":"2012-04-30T01:45:14Z","lastAt":"2012-05-02T06:04:06Z","messageCount":4,"participants":["Junio C Hamano","Pete Wyckoff","David Aguilar"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"190271","messageId":"7vbomahu1h.fsf@alter.siamese.dyndns.org","threadId":"30359","inReplyTo":null,"subject":"What's cooking in git.git (Apr 2012, #11; Sun, 29)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-04-30T01:45:14Z","receivedAt":"2012-04-30T01:45:14Z","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\nThe sixth and seventh batch of topics in this cycle is now in 'master'.  I\nalso merged accumulated fixes that have been in 'master' since v1.7.10 to\n'maint', so that we can issue the first maintenance release sometime next\nweek.\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* cb/cherry-pick-rev-path-confusion (2012-04-15) 1 commit\n  (merged to 'next' on 2012-04-23 at f872ba5)\n + cherry-pick: do not expect file arguments\n\nThe command line parser choked \"git cherry-pick $name\" when $name can be\nboth revision name and a pathname, even though $name can never be a path\nin the context of the command.\n\nThe issue the patch addresses is real, but the way it is implemented felt\nunnecessarily invasive a bit.  It may be cleaner for this caller to add\nthe \"--\" to the end of the argv_array it passes to setup_revisions().\n\n* cb/http-multi-curl-auth (2012-04-14) 4 commits\n  (merged to 'next' on 2012-04-23 at b0259be)\n + http: use newer curl options for setting credentials\n + http: clean up leak in init_curl_http_auth\n + fix http auth with multiple curl handles\n + http auth fails with multiple curl handles\n\nFixes http authentication breakage when we keep multiple HTTP requests in\nflight using curl-multi.\n\n* cb/maint-report-mount-point-correctly-in-setup (2012-04-15) 1 commit\n  (merged to 'next' on 2012-04-23 at 9e0c8b4)\n + properly keep track of current working directory\n\nThe filesystem boundary was not correctly reported when .git directory\ndiscovery stopped at a mount point.\n\n* jc/merge-reduce-parents-early (2012-04-18) 5 commits\n  (merged to 'next' on 2012-04-23 at 16e7e53)\n + fmt-merge-msg: discard needless merge parents\n + builtin/merge.c: reduce parents early\n + builtin/merge.c: collect other parents early\n + builtin/merge.c: remove \"remoteheads\" global variable\n + merge tests: octopus with redundant parents\n\n* jk/repack-no-explode-objects-from-old-pack (2012-04-18) 4 commits\n  (merged to 'next' on 2012-04-20 at 4eb2534)\n + gc: use argv-array for sub-commands\n + argv-array: add a new \"pushl\" method\n + argv-array: refactor empty_argv initialization\n  (merged to 'next' on 2012-04-15 at 7586e50)\n + gc: do not explode objects which will be immediately pruned\n\n* js/daemon-test-race-fix (2012-04-27) 1 commit\n  (merged to 'next' on 2012-04-27 at 6edb57f)\n + t5570: fix forwarding of git-daemon messages via cat\n\nThe shell construct to launch git-daemon and wait for it to start\nserving during the test was faulty, and this fixes it.\n\nReplaced cb/daemon-test-race-fix topic with this, as this addresses\nthe real cause of the issue.\n\n* js/fast-import-test-9300 (2012-04-20) 1 commit\n  (merged to 'next' on 2012-04-23 at a9bd236)\n + t9300-fast-import: avoid 'exit' in test_expect_success snippets\n\n* kk/gitweb-omit-expensive (2012-04-26) 2 commits\n  (merged to 'next' on 2012-04-27 at b057127)\n + gitweb: Option to not display information about owner\n + gitweb: Option to omit column with time of the last change\n (this branch uses kk/maint-gitweb-missing-owner.)\n\n\"gitweb\" learned to optionally omit output of fields that are expensive\nto generate.\n\n* kk/maint-gitweb-missing-owner (2012-04-25) 1 commit\n  (merged to 'next' on 2012-04-27 at e526304)\n + gitweb: Don't set owner if got empty value from projects.list\n (this branch is used by kk/gitweb-omit-expensive.)\n\n* mm/include-userpath (2012-04-25) 2 commits\n  (merged to 'next' on 2012-04-26 at c68e261)\n + fixup! config: expand tildes in include.path variable\n + config: expand tildes in include.path variable\n\nThe new \"include.path\" directive in the configuration files learned\nto understand \"~/path\" and \"~user/path\".\n\n* pw/t5800-import-race-fix (2012-04-24) 1 commit\n  (merged to 'next' on 2012-04-24 at e97bb42)\n + git-remote-testgit: fix race when spawning fast-import\n\nLongstanding bug in a test scaffolding that occasionally made t5800\nhang was fixed.\n\n* rs/commit-list-append (2012-04-25) 3 commits\n  (merged to 'next' on 2012-04-26 at 2ba48b3)\n + commit: remove commit_list_reverse()\n + revision: append to list instead of insert and reverse\n + sequencer: export commit_list_append()\n\n* rt/cherry-revert-conflict-summary (2012-04-19) 1 commit\n  (merged to 'next' on 2012-04-23 at e7766c2)\n + sequencer: remove additional blank line\n\nIn the older days, the header \"Conflicts:\" in \"cherry-pick\" and\n\"merge\" was separated by a blank line from the list of paths that\nfollow for readability, but when \"merge\" was rewritten in C, we lost\nit by mistake. Remove the newline from \"cherry-pick\" to make them\nmatch again.\n\n--------------------------------------------------\n[New Topics]\n\n* zj/mksh-columns-breakage (2012-04-27) 1 commit\n - test-lib: skip test with COLUMNS=1 under mksh\n (this branch is used by lp/diffstat-with-graph and nd/columns.)\n\nA broken shell does not let us set an environment value to an\narbitrary value, interfering with some of the tests. Introduce a test\nprerequisite so that we can skip some tests on such a platform.\n\nWill merge to 'next'.\n\n--------------------------------------------------\n[Stalled]\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) 7 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 + varint: make it available outside the context of pack\n (this branch is tangled with jc/index-v4.)\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* mm/simple-push (2012-04-24) 7 commits\n - push.default doc: explain simple after upstream\n - push: document the future default change for push.default (matching -> simple)\n - t5570: use explicit push refspec\n - push: introduce new push.default mode \"simple\"\n - t5528-push-default.sh: add helper functions\n - Undocument deprecated alias 'push.default=tracking'\n - Documentation: explain push.default option a bit more\n (this branch is used by mm/push-default-switch-warning.)\n\nNew users tend to work on one branch at a time and push the result\nout. The current and upstream modes of push is a more suitable default\nmode than matching mode for these people, but neither is surprise-free\ndepending on how the project is set up. Introduce a \"simple\" mode that\nis a subset of \"upstream\" but only works when the branch is named the same\nbetween the remote and local repositories.\n\nThe plan is to make it the new default when push.default is not\nconfigured.\n\nWill merge to 'next'.\n\n* mh/ref-api-lazy-loose (2012-04-26) 18 commits\n - refs: read loose references lazily\n - read_loose_refs(): eliminate ref_cache argument\n - struct ref_dir: store a reference to the enclosing ref_cache\n - search_for_subdir(): return (ref_dir *) instead of (ref_entry *)\n - get_ref_dir(): add function for getting a ref_dir from a ref_entry\n - read_loose_refs(): rename function from get_ref_dir()\n - refs: wrap top-level ref_dirs in ref_entries\n - find_containing_dir(): use strbuf in implementation of this function\n - bisect: copy filename string obtained from git_path()\n - do_for_each_reflog(): reuse strbuf across recursive function calls\n - do_for_each_reflog(): use a strbuf to hold logfile name\n - do_for_each_reflog(): return early on error\n - get_ref_dir(): take the containing directory as argument\n - refs.c: extract function search_for_subdir()\n - get_ref_dir(): require that the dirname argument ends in '/'\n - get_ref_dir(): rename \"base\" parameter to \"dirname\"\n - get_ref_dir(): use a strbuf to hold refname\n - get_ref_dir(): return early if directory cannot be read\n\nRefs API is updated to lazily read sub-hierarchies of refs/ namespace,\nso that we do not have to grab everything from the filesystem when we\nare only interested in listing branches, for example.\n\n* jk/maint-config-bogus-section (2012-04-25) 1 commit\n  (merged to 'next' on 2012-04-26 at 9919198)\n + config: reject bogus section names for --rename-section\n\n\"git config --rename-section\" to rename an existing section into a\nbogus one did not check the new name.\n\nWill merge to 'master'.\n\n* jk/doc-asciidoc-inline-literal (2012-04-26) 1 commit\n - docs: stop using asciidoc no-inline-literal\n\nOur documentation was written for an ancient version of AsciiDoc,\nmaking the source not very readable.\n\nWill merge to 'next'.\n\n* nd/i18n (2012-04-25) 11 commits\n - help: replace underlining \"help -a\" headers using hyphens with a blank line\n  (merged to 'next' on 2012-04-24 at 07965a4)\n + i18n: bundle: mark strings for translation\n + i18n: index-pack: mark strings for translation\n + i18n: apply: update say_patch_name to give translators complete sentence\n + i18n: apply: mark strings for translation\n + i18n: remote: mark strings for translation\n + i18n: make warn_dangling_symref() automatically append \\n\n + i18n: help: mark strings for translation\n + i18n: mark relative dates for translation\n + strbuf: convenience format functions with \\n automatically appended\n + Makefile: feed all header files to xgettext\n\nMore message strings marked for i18n.\n\nWill merge to 'next'.\n\n* nh/empty-rebase (2012-04-24) 4 commits\n  (merged to 'next' on 2012-04-24 at 91d2dfd)\n + git-rebase: add keep_empty flag\n + git-cherry-pick: Add test to validate new options\n + git-cherry-pick: Add keep-redundant-commits option\n + git-cherry-pick: add allow-empty option\n\n\"git rebase\" learned to optionally keep commits that do not introduce\nany change in the original history.\n\n* lp/diffstat-with-graph (2012-04-27) 8 commits\n - t4052: work around shells unable to set COLUMNS to 1\n - Merge branch 'zj/mksh-columns-breakage' into lp/diffstat-with-graph\n  (merged to 'next' on 2012-04-23 at 8de0747)\n + Prevent graph_width of stat width from falling below min\n + t4052: Test diff-stat output with minimum columns\n + t4052: Adjust --graph --stat output for prefixes\n + Adjust stat width calculations to take --graph output into account\n + Add output_prefix_length to diff_options\n + t4052: test --stat output with --graph\n (this branch uses zj/mksh-columns-breakage; is tangled with nd/columns.)\n\nWill merge to 'next'.\n\n* nd/columns (2012-04-27) 10 commits\n - tag: add --column\n - column: support piping stdout to external git-column process\n - status: add --column\n - branch: add --column\n - help: reuse print_columns() for help -a\n - column: add dense layout support\n - t9002: work around shells that are unable to set COLUMNS to 1\n - column: add columnar layout\n - Stop starting pager recursively\n - Add column layout skeleton and git-column\n (this branch uses zj/mksh-columns-breakage; is tangled with lp/diffstat-with-graph.)\n\nA couple of commands learn --column option to produce columnar output.\n\n* nl/http-proxy-more (2012-04-26) 8 commits\n - http: try an uppercase version of $proto_proxy\n - http: fix proxy password passing\n - http: fix proxy authentication\n - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY\n - http: Avoid limit of retrying request only twice\n - http: handle proxy authentication failure (error 407)\n - http: handle proxy proactive authentication\n - http: try http_proxy env var when http.proxy config option is not set\n\nStill needs to address review comments from Peff, some of which were\npartly addressed with later \"fixup\" patches queued here.\n\nIt probably is a good idea to re-roll the entire series.\n\n* ld/git-p4-tags-and-labels (2012-04-25) 7 commits\n  (merged to 'next' on 2012-04-25 at 8b959e5)\n + git p4: fix unit tests\n  (merged to 'next' on 2012-04-24 at bf55d92)\n + git p4: move verbose to base class\n + git p4: Ignore P4EDITOR if it is empty\n + git p4: Squash P4EDITOR in test harness\n + git p4: fix-up \"import/export of labels to/from p4\"\n  (merged to 'next' on 2012-04-15 at 1b1e9a1)\n + git p4: import/export of labels to/from p4\n + git p4: Fixing script editor checks\n\nWhat's the current status of this topic?  Pete?\n\n* nd/threaded-index-pack (2012-04-19) 4 commits\n - index-pack: disable threading if NO_PREAD is defined\n - index-pack: support multithreaded delta resolving\n - index-pack: split second pass obj handling into own function\n - compat/win32/pthread.h: Add an pthread_key_delete() implementation\n\n* tr/xdiff-fast-hash (2012-04-09) 1 commit\n  (merged to 'next' on 2012-04-24 at ed693cf)\n + xdiff: load full words in the inner loop of xdl_hash_record\n\nBreakage reported on MacOS X.  Perhaps needs to be reverted out of 'next'.\n\n* jc/index-v4 (2012-04-27) 12 commits\n  (merged to 'next' on 2012-04-29 at ed71f9c)\n + index-v4: document the entry format\n + unpack-trees: preserve the index file version of original\n  (merged to 'next' on 2012-04-19 at 5e4b029)\n + update-index: upgrade/downgrade on-disk index version\n + read-cache.c: write prefix-compressed names in the index\n + read-cache.c: read prefix-compressed names in index on-disk version v4\n + read-cache.c: move code to copy incore to ondisk cache to a helper function\n + read-cache.c: move code to copy ondisk to incore cache to a helper function\n + read-cache.c: report the header version we do not understand\n + read-cache.c: make create_from_disk() report number of bytes it consumed\n + read-cache.c: allow unaligned mapping of the index file\n + cache.h: hide on-disk index details\n + varint: make it available outside the context of pack\n (this branch is tangled with jc/split-blob.)\n\nTrivially shrinks the on-disk size of the index file to save both I/O and\nchecksum overhead.  It even comes with a technical doc updates ;-)\n\n* th/difftool-diffall (2012-04-23) 8 commits\n - difftool: print list of valid tools with '--tool-help'\n - difftool: teach difftool to handle directory diffs\n - difftool: eliminate setup_environment function\n - difftool: stop appending '.exe' to git\n - difftool: remove explicit change of PATH\n - difftool: exit(0) when usage is printed\n - difftool: add '--no-gui' option\n - difftool: parse options using Getopt::Long\n\nRolls the two-directory-diff logic from diffall script (in contrib/) into\n\"git difftool\" framework. \n\nWhat's the doneness of this topic?  David?\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 (this branch uses mm/simple-push.)\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\nFix race condition between starting and waiting for git-daemon in the\ntest.\n\nReverted from 'next' to replace it with js/daemon-test-race-fix.\n"},{"id":"190294","messageId":"20120430122440.GA25045@padd.com","threadId":"30359","inReplyTo":"7vbomahu1h.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Apr 2012, #11; Sun, 29)","fromName":"Pete Wyckoff","fromEmail":"pw@padd.com","sentAt":"2012-04-30T12:24:40Z","receivedAt":"2012-04-30T12:24:40Z","isPatch":false,"sender":{"key":"pw@padd.com","avatar":null},"body":"gitster@pobox.com wrote on Sun, 29 Apr 2012 18:45 -0700:\n> * ld/git-p4-tags-and-labels (2012-04-25) 7 commits\n>   (merged to 'next' on 2012-04-25 at 8b959e5)\n>  + git p4: fix unit tests\n>   (merged to 'next' on 2012-04-24 at bf55d92)\n>  + git p4: move verbose to base class\n>  + git p4: Ignore P4EDITOR if it is empty\n>  + git p4: Squash P4EDITOR in test harness\n>  + git p4: fix-up \"import/export of labels to/from p4\"\n>   (merged to 'next' on 2012-04-15 at 1b1e9a1)\n>  + git p4: import/export of labels to/from p4\n>  + git p4: Fixing script editor checks\n> \n> What's the current status of this topic?  Pete?\n\nI read through these again.  It all looks good and works.\n\n\t\t-- Pete\n"},{"id":"190302","messageId":"7vmx5tgs72.fsf@alter.siamese.dyndns.org","threadId":"30359","inReplyTo":"20120430122440.GA25045@padd.com","subject":"Re: What's cooking in git.git (Apr 2012, #11; Sun, 29)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-04-30T15:22:41Z","receivedAt":"2012-04-30T15:22:41Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Pete Wyckoff <pw@padd.com> writes:\n\n> gitster@pobox.com wrote on Sun, 29 Apr 2012 18:45 -0700:\n>> * ld/git-p4-tags-and-labels (2012-04-25) 7 commits\n>>   (merged to 'next' on 2012-04-25 at 8b959e5)\n>>  + git p4: fix unit tests\n>>   (merged to 'next' on 2012-04-24 at bf55d92)\n>>  + git p4: move verbose to base class\n>>  + git p4: Ignore P4EDITOR if it is empty\n>>  + git p4: Squash P4EDITOR in test harness\n>>  + git p4: fix-up \"import/export of labels to/from p4\"\n>>   (merged to 'next' on 2012-04-15 at 1b1e9a1)\n>>  + git p4: import/export of labels to/from p4\n>>  + git p4: Fixing script editor checks\n>> \n>> What's the current status of this topic?  Pete?\n>\n> I read through these again.  It all looks good and works.\n\nThanks; will merge to 'master' shortly, then.\n"},{"id":"190522","messageId":"CAJDDKr7qzKUdQgr--6fPxa89qmo-KTaXT+UzLxosuJwBXPNbwQ@mail.gmail.com","threadId":"30359","inReplyTo":"7vbomahu1h.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Apr 2012, #11; Sun, 29)","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2012-05-02T06:04:06Z","receivedAt":"2012-05-02T06:04:06Z","isPatch":false,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Sun, Apr 29, 2012 at 6:45 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> --------------------------------------------------\n> [Cooking]\n>\n> * th/difftool-diffall (2012-04-23) 8 commits\n>  - difftool: print list of valid tools with '--tool-help'\n>  - difftool: teach difftool to handle directory diffs\n>  - difftool: eliminate setup_environment function\n>  - difftool: stop appending '.exe' to git\n>  - difftool: remove explicit change of PATH\n>  - difftool: exit(0) when usage is printed\n>  - difftool: add '--no-gui' option\n>  - difftool: parse options using Getopt::Long\n>\n> Rolls the two-directory-diff logic from diffall script (in contrib/) into\n> \"git difftool\" framework.\n>\n> What's the doneness of this topic?  David?\n\nIt looks good to me.  I've tested it and haven't seen anything\nunexpected so far.\n\nI was happy to see it \"just work\" when I tried it on both Linux and OS X.\n-- \nDavid\n"}]}