{"thread":{"id":"29348","subject":"What's cooking in git.git (Jan 2012, #03; Wed, 11)","startedAt":"2012-01-12T07:02:39Z","lastAt":"2012-01-12T07:02:39Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"182417","messageId":"7vk44x2yk0.fsf@alter.siamese.dyndns.org","threadId":"29348","inReplyTo":null,"subject":"What's cooking in git.git (Jan 2012, #03; Wed, 11)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-01-12T07:02:39Z","receivedAt":"2012-01-12T07:02:39Z","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\n'next'.\n\nI plan to tag 1.7.9-rc1 sometime on Friday this week (see\nhttp://tinyurl.com/gitcal for a calendar).\n\nHere are the repositories that have my integration branches:\n\nWith maint, master, next, pu, todo:\n\n        git://git.kernel.org/pub/scm/git/git.git\n        git://repo.or.cz/alt-git.git\n        https://code.google.com/p/git-core/\n        https://github.com/git/git\n\nWith only maint and master:\n\n        git://git.sourceforge.jp/gitroot/git-core/git.git\n        git://git-core.git.sourceforge.net/gitroot/git-core/git-core\n\nWith all the topics and integration branches:\n\n        https://github.com/gitster/git\n\nThe preformatted documentation in HTML and man format are found in:\n\n        git://git.kernel.org/pub/scm/git/git-{htmldocs,manpages}.git/\n        git://repo.or.cz/git-{htmldocs,manpages}.git/\n        https://code.google.com/p/git-{htmldocs,manpages}.git/\n        https://github.com/gitster/git-{htmldocs,manpages}.git/\n\n--------------------------------------------------\n[New Topics]\n\n* jc/pull-signed-tag (2012-01-11) 1 commit\n - merge: use editor by default in interactive sessions\n\nPer Linus's strong suggestion, sugarcoated (aka \"taking blame for the\noriginal UI screw-ups\") so that it is easier for me to swallow and accept\na potentially huge backward incompatibility issue, \"git merge\" is made to\nlaunch an editor to explain the merge in the merge commit by default in\ninteractive sessions.\n\n* jc/request-pull-show-head-4 (2012-01-10) 1 commit\n  (merged to 'next' on 2012-01-11 at 8d98a6b)\n + request-pull: use the real fork point when preparing the message\n\nHopefully the final finishing touch to the request-pull script that was\nupdated during this cycle.\n\nWill merge by 1.7.9-rc1.\n\n* jk/maint-upload-archive (2012-01-11) 1 commit\n  (merged to 'next' on 2012-01-11 at 5c0bfa9)\n + archive: re-allow HEAD:Documentation on a remote invocation\n\nRunning \"git archive\" remotely and asking for a partial tree of a ref,\ne.g. HEAD:$path was forbidden by a recent change to tighten security, but\nwas found to be overly restrictive.\n\nWill merge by 1.7.9-rc1.\n\n* nd/commit-ignore-i-t-a (2012-01-11) 2 commits\n - commit: add --skip-intent-to-add to allow commit with i-t-a entries in index\n - cache-tree: update API to take abitrary flags\n\n* nd/maint-refname-in-hierarchy-check (2012-01-11) 1 commit\n - Fix incorrect ref namespace check\n\nAvoid getting confused by \"ref/headxxx\" and mistaking it as if it is under\nthe \"refs/heads/\" hierarchy.\nNot urgent.\n\n* rr/sequencer (2012-01-11) 2 commits\n - sequencer: factor code out of revert builtin\n - revert: prepare to move replay_action to header\n\nMoving large chunk of code out of cherry-pick/revert for later reuse,\nprimarily to prepare for the next cycle.\nNot urgent.\n\n* ss/maint-msys-cvsexportcommit (2012-01-11) 2 commits\n  (merged to 'next' on 2012-01-11 at 007aab1)\n + git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS\n + t9200: On MSYS, do not pass Windows-style paths to CVS\n\nWill merge by 1.7.9-rc1.\n\n* tr/maint-mailinfo (2012-01-11) 1 commit\n  (merged to 'next' on 2012-01-11 at d9e344a)\n + mailinfo documentation: accurately describe non -k case\n\nWill merge by 1.7.9-rc1.\n\n* jk/credentials (2012-01-11) 3 commits\n - unix-socket: do not let close() or chdir() clobber errno during cleanup\n - credential-cache: report more daemon connection errors\n - unix-socket: handle long socket pathnames\n\n* pw/p4-view-updates (2012-01-11) 5 commits\n - git-p4: add tests demonstrating spec overlay ambiguities\n - git-p4: adjust test to adhere to stricter useClientSpec\n - git-p4: clarify comment\n - git-p4: fix verbose comment typo\n - git-p4: only a single ... wildcard is supported\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* bw/maint-t8006-sed-incomplete-line (2012-01-03) 1 commit\n + Work around sed portability issue in t8006-blame-textconv\n\n--------------------------------------------------\n[Stalled]\n\n* jc/advise-push-default (2011-12-18) 1 commit\n - push: hint to use push.default=upstream when appropriate\n\nPeff had a good suggestion outlining an updated code structure so that\nsomebody new can try to dip his or her toes in the development. Any\ntakers?\n\nWaiting for a reroll.\n\n* jc/split-blob (2011-12-01) 6 commits\n . WIP (streaming chunked)\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 - varint-in-pack: refactor varint encoding/decoding\n\nNot ready.\n\nAt least pack-objects and fsck need to learn the new encoding for the\nseries to be usable locally, and then index-pack/unpack-objects needs to\nlearn it to be used remotely.\n\n* jc/advise-i18n (2011-12-22) 1 commit\n - i18n of multi-line advice messages\n\nAllow localization of advice messages that tend to be longer and\nmulti-line formatted. For now this is deliberately limited to advise()\ninterface and not vreportf() in general as touching the latter has\ninteractions with error() that has plumbing callers whose prefix \"error: \"\nshould never be translated.\n\n--------------------------------------------------\n[Cooking]\n\n* rs/diff-postimage-in-context (2012-01-06) 1 commit\n  (merged to 'next' on 2012-01-09 at 9635032)\n + xdiff: print post-image for common records instead of pre-image\n\nLooked reasonable.\nNot urgent.\n\n* cb/push-quiet (2012-01-08) 3 commits\n - t5541: avoid TAP test miscounting\n - fix push --quiet: add 'quiet' capability to receive-pack\n - server_supports(): parse feature list more carefully\n\nLooked reasonable.\nNot urgent.\n\n* nd/clone-detached (2012-01-11) 11 commits\n - clone: print advice on checking out detached HEAD\n - clone: allow --branch to take a tag\n - clone: refuse to clone if --branch points to bogus ref\n - clone: --branch=<branch> always means refs/heads/<branch>\n - fixup! acd8f20\n - clone: delay cloning until after remote HEAD checking\n - clone: factor out remote ref writing\n - clone: factor out HEAD update code\n - clone: factor out checkout code\n - clone: write detached HEAD in bare repositories\n - t5601: add missing && cascade\n\nLooking good, but I may have screwed up the merge of this into 'pu'.\nNot urgent.\n\n* nd/clone-single-branch (2012-01-08) 1 commit\n  (merged to 'next' on 2012-01-09 at 6c3c759)\n + clone: add --single-branch to fetch only one branch\n\nLooked reasonable.\nNot urgent.\n\n* jn/gitweb-unspecified-action (2012-01-09) 1 commit\n - gitweb: Fix actionless dispatch for non-existent objects\n\nLooked reasonable.\nNot urgent.\n\n* nd/index-pack-no-recurse (2012-01-09) 3 commits\n - index-pack: eliminate unlimited recursion in get_delta_base()\n - index-pack: eliminate recursion in find_unresolved_deltas\n - Eliminate recursion in setting/clearing marks in commit list\n\nThe first one looked sensible; I am not sure if the second and third ones\ntake the right approach.\n\nWill defer till the next cycle.\n\n* mh/ref-api-rest (2011-12-12) 35 commits\n - repack_without_ref(): call clear_packed_ref_cache()\n - read_packed_refs(): keep track of the directory being worked in\n - is_refname_available(): query only possibly-conflicting references\n - refs: read loose references lazily\n - read_loose_refs(): take a (ref_entry *) as argument\n - struct ref_dir: store a reference to the enclosing ref_cache\n - sort_ref_dir(): take (ref_entry *) instead of (ref_dir *)\n - do_for_each_ref_in_dir*(): take (ref_entry *) instead of (ref_dir *)\n - add_entry(): take (ref_entry *) instead of (ref_dir *)\n - search_ref_dir(): take (ref_entry *) instead of (ref_dir *)\n - find_containing_direntry(): use (ref_entry *) instead of (ref_dir *)\n - add_ref(): take (ref_entry *) instead of (ref_dir *)\n - read_packed_refs(): take (ref_entry *) instead of (ref_dir *)\n - find_ref(): take (ref_entry *) instead of (ref_dir *)\n - is_refname_available(): take (ref_entry *) instead of (ref_dir *)\n - get_loose_refs(): return (ref_entry *) instead of (ref_dir *)\n - get_packed_refs(): return (ref_entry *) instead of (ref_dir *)\n - refs: wrap top-level ref_dirs in ref_entries\n - get_ref_dir(): keep track of the current ref_dir\n - do_for_each_ref(): only iterate over the subtree that was requested\n - refs: sort ref_dirs lazily\n - sort_ref_dir(): do not sort if already sorted\n - refs: store references hierarchically\n - refs.c: rename ref_array -> ref_dir\n - struct ref_entry: nest the value part in a union\n - check_refname_component(): return 0 for zero-length components\n - free_ref_entry(): new function\n - refs.c: reorder definitions more logically\n - is_refname_available(): reimplement using do_for_each_ref_in_array()\n - names_conflict(): simplify implementation\n - names_conflict(): new function, extracted from is_refname_available()\n - repack_without_ref(): reimplement using do_for_each_ref_in_array()\n - do_for_each_ref_in_arrays(): new function\n - do_for_each_ref_in_array(): new function\n - do_for_each_ref(): correctly terminate while processesing extra_refs\n\nThe API for extra anchoring points may require rethought first; that would\nhopefully make the \"ref\" part a lot simpler. And that is happening in\nanother topic (which has graduated to 'master').\n\nWill defer till the next cycle.\n\n* ss/git-svn-prompt-sans-terminal (2012-01-04) 3 commits\n - fixup! 15eaaf4\n - git-svn, perl/Git.pm: extend Git::prompt helper for querying users\n  (merged to 'next' on 2012-01-05 at 954f125)\n + perl/Git.pm: \"prompt\" helper to honor GIT_ASKPASS and SSH_ASKPASS\n\nThe bottom one has been replaced with a rewrite based on comments from\nÆvar. The second one needs more work, both in perl/Git.pm and prompt.c, to\ngive precedence to tty over SSH_ASKPASS when terminal is available.\n\nWill defer till the next cycle.\n\n* cb/git-daemon-tests (2012-01-08) 5 commits\n  (merged to 'next' on 2012-01-08 at 1db8351)\n + git-daemon tests: wait until daemon is ready\n + git-daemon: produce output when ready\n + git-daemon: add tests\n + dashed externals: kill children on exit\n + run-command: optionally kill children on exit\n\nWill defer till the next cycle.\n\n* jk/parse-object-cached (2012-01-06) 3 commits\n  (merged to 'next' on 2012-01-08 at 8c6fa4a)\n + upload-pack: avoid parsing tag destinations\n + upload-pack: avoid parsing objects during ref advertisement\n + parse_object: try internal cache before reading object db\n\nThese are a bit scary changes, but I do think they are worth doing.\nWill defer till the next cycle.\n\n* jn/maint-gitweb-grep-fix (2012-01-05) 2 commits\n - gitweb: Harden \"grep\" search against filenames with ':'\n - gitweb: Fix file links in \"grep\" search\n\nWaiting for a confirmation from bug reporter.\n"}]}