{"thread":{"id":"29210","subject":"What's cooking in git.git (Dec 2011, #07; Mon, 19)","startedAt":"2011-12-20T01:44:56Z","lastAt":"2011-12-20T01:44:56Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"181510","messageId":"7vaa6okodj.fsf@alter.siamese.dyndns.org","threadId":"29210","inReplyTo":null,"subject":"What's cooking in git.git (Dec 2011, #07; Mon, 19)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-12-20T01:44:56Z","receivedAt":"2011-12-20T01:44:56Z","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\nThe second large batch of topics for 1.7.9 graduated to 'master', and the\ntip of it should be 85% feature complete for this cycle (modulo fixes and\ntweaks).\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/advice-doc (2011-12-18) 1 commit\n  (merged to 'next' on 2011-12-19 at 0b410e5)\n + advice: Document that they all default to true\n (this branch is used by jc/advise-push-default.)\n\nWill merge to \"master\".\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* ab/enable-i18n (2011-12-05) 1 commit\n  (merged to 'next' on 2011-12-13 at 65af8cd)\n + i18n: add infrastructure for translating Git with gettext\n\n* ci/stripspace-docs (2011-12-12) 1 commit\n  (merged to 'next' on 2011-12-13 at 35b2cdf)\n + Update documentation for stripspace\n\n* ew/keepalive (2011-12-05) 1 commit\n  (merged to 'next' on 2011-12-13 at 1b5d5c4)\n + enable SO_KEEPALIVE for connected TCP sockets\n\n* jc/checkout-m-twoway (2011-12-15) 3 commits\n  (merged to 'next' on 2011-12-15 at cc64fed)\n + checkout_merged(): squelch false warning from some gcc\n  (merged to 'next' on 2011-12-11 at b61057f)\n + Test 'checkout -m -- path'\n  (merged to 'next' on 2011-12-09 at c946009)\n + checkout -m: no need to insist on having all 3 stages\n\n* jk/credentials (2011-12-12) 14 commits\n  (merged to 'next' on 2011-12-12 at 7a6d658)\n + t: add test harness for external credential helpers\n + credentials: add \"store\" helper\n + strbuf: add strbuf_add*_urlencode\n + Makefile: unix sockets may not available on some platforms\n + credentials: add \"cache\" helper\n + docs: end-user documentation for the credential subsystem\n + credential: make relevance of http path configurable\n + credential: add credential.*.username\n + credential: apply helper config\n + http: use credential API to get passwords\n + credential: add function for parsing url components\n + introduce credentials API\n + t5550: fix typo\n + test-lib: add test_config_global variant\n (this branch is used by jk/git-prompt.)\n\n* jk/fetch-no-tail-match-refs (2011-12-13) 4 commits\n  (merged to 'next' on 2011-12-13 at 805c018)\n + connect.c: drop path_match function\n + fetch-pack: match refs exactly\n + t5500: give fully-qualified refs to fetch-pack\n + drop \"match\" parameter from get_remote_heads\n\n* jk/maint-mv (2011-12-12) 5 commits\n  (merged to 'next' on 2011-12-13 at 58caedb)\n + mv: be quiet about overwriting\n + mv: improve overwrite warning\n + mv: make non-directory destination error more clear\n + mv: honor --verbose flag\n + docs: mention \"-k\" for both forms of \"git mv\"\n\n* jk/maint-push-over-dav (2011-12-13) 2 commits\n  (merged to 'next' on 2011-12-13 at 45e376c)\n + http-push: enable \"proactive auth\"\n + t5540: test DAV push with authentication\n\n* jk/maint-snprintf-va-copy (2011-12-12) 1 commit\n  (merged to 'next' on 2011-12-13 at d37a7e1)\n + compat/snprintf: don't look at va_list twice\n\n* jn/maint-sequencer-fixes (2011-12-12) 7 commits\n  (merged to 'next' on 2011-12-13 at 5b3950c)\n + revert: stop creating and removing sequencer-old directory\n + Revert \"reset: Make reset remove the sequencer state\"\n + revert: do not remove state until sequence is finished\n + revert: allow single-pick in the middle of cherry-pick sequence\n + revert: pass around rev-list args in already-parsed form\n + revert: allow cherry-pick --continue to commit before resuming\n + revert: give --continue handling its own function\n (this branch is used by rr/revert-cherry-pick.)\n\n* nd/resolve-ref (2011-12-13) 3 commits\n  (merged to 'next' on 2011-12-13 at c7002e9)\n + Rename resolve_ref() to resolve_ref_unsafe()\n + Convert resolve_ref+xstrdup to new resolve_refdup function\n + revert: convert resolve_ref() to read_ref_full()\n\n* rr/test-chaining (2011-12-11) 7 commits\n  (merged to 'next' on 2011-12-13 at b08445e)\n + t3401: use test_commit in setup\n + t3401: modernize style\n + t3040 (subprojects-basic): fix '&&' chaining, modernize style\n + t1510 (worktree): fix '&&' chaining\n + t3030 (merge-recursive): use test_expect_code\n + test: fix '&&' chaining\n + t3200 (branch): fix '&&' chaining\n\n* tr/cache-tree (2011-12-06) 5 commits\n  (merged to 'next' on 2011-12-13 at e0da64d)\n + reset: update cache-tree data when appropriate\n + commit: write cache-tree data when writing index anyway\n + Refactor cache_tree_update idiom from commit\n + Test the current state of the cache-tree optimization\n + Add test-scrap-cache-tree\n\n--------------------------------------------------\n[Cooking]\n\n* cn/maint-lf-to-crlf-filter (2011-12-16) 1 commit\n - lf_to_crlf_filter(): tell the caller we added \"\\n\" when draining\n (this branch is used by jc/maint-lf-to-crlf-keep-crlf.)\n\nA recent fix to the codepath was not quite correct.\n\nWill merge to \"next\".\n\n* jc/maint-lf-to-crlf-keep-crlf (2011-12-18) 1 commit\n - lf_to_crlf_filter(): resurrect CRLF->CRLF hack\n (this branch uses cn/maint-lf-to-crlf-filter.)\n\nThe lf-to-crlf filter in the streaming checkout codepath forgot that we\ntry not to convert LF to CRLF if the repository data already has CRLF.\n\nWill merge to \"next\".\n\n* jc/request-pull-show-head-4 (2011-12-19) 2 commits\n  (merged to 'next' on 2011-12-19 at 771939b)\n + request-pull: do not emit \"tag\" before the tagname\n  (merged to 'next' on 2011-12-16 at bea51ac)\n + request-pull: update the \"pull\" command generation logic\n\nWill merge to \"master\".\n\n* jk/doc-fsck (2011-12-16) 1 commit\n - docs: brush up obsolete bits of git-fsck manpage\n\nWill merge to \"next\".\n\n* jk/follow-rename-score (2011-12-16) 1 commit\n - use custom rename score during --follow\n\nWill merge to \"next\".\n\n* jk/pretty-reglog-ent (2011-12-16) 1 commit\n - pretty: give placeholders to reflog identity\n\nWill merge to \"next\".\n\n* jk/http-push-to-empty (2011-12-19) 1 commit\n  (merged to 'next' on 2011-12-19 at 845e2a1)\n + remote-curl: don't pass back fake refs\n\n* jk/maint-push-v-is-verbose (2011-12-17) 1 commit\n - make \"git push -v\" actually verbose\n\nWill merge to \"next\".\n\n* jk/maint-strbuf-missing-init (2011-12-18) 2 commits\n - Update jk/maint-strbuf-missing-init to builtin/ rename\n - commit, merge: initialize static strbuf\n\nWill merge to \"next\".\n\n* rs/diff-tree-combined-clean-up (2011-12-17) 3 commits\n - submodule: use diff_tree_combined_merge() instead of diff_tree_combined()\n - pass struct commit to diff_tree_combined_merge()\n - use struct sha1_array in diff_tree_combined()\n\nWill merge to \"next\".\n\n* jn/maint-gitweb-utf8-fix (2011-12-19) 4 commits\n - gitweb: Fix fallback mode of to_utf8 subroutine\n - gitweb: Output valid utf8 in git_blame_common('data')\n - gitweb: esc_html() site name for title in OPML\n - gitweb: Call to_utf8() on input string in chop_and_escape_str()\n\nWill merge to \"next\".\n\n* pw/p4-docs-and-tests (2011-12-18) 11 commits\n - git-p4: document and test submit options\n - git-p4: test and document --use-client-spec\n - git-p4: test --keep-path\n - git-p4: test --max-changes\n - git-p4: document and test --import-local\n - git-p4: honor --changesfile option and test\n - git-p4: document and test clone --branch\n - git-p4: test cloning with two dirs, clarify doc\n - git-p4: clone does not use --git-dir\n - git-p4: test debug macro\n - git-p4: introduce asciidoc documentation\n\nWaiting for a reroll.\n\n* jc/advise-push-default (2011-12-18) 1 commit\n - push: hint to use push.default=upstream when appropriate\n (this branch uses jc/advice-doc.)\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* ef/setenv-putenv (2011-12-14) 2 commits\n - compat/setenv.c: error if name contains '='\n - compat/setenv.c: update errno when erroring out\n (this branch is used by ef/x-setenv-putenv.)\n\nWill merge to \"next\".\n\n* jk/maint-do-not-feed-stdin-to-tests (2011-12-15) 1 commit\n - test-lib: redirect stdin of tests\n\nWill merge to \"next\".\n\n* jn/test-cleanup-7006 (2011-12-14) 1 commit\n - test: errors preparing for a test are not special\n\nWill merge to \"next\".\n\n* nd/war-on-nul-in-commit (2011-12-15) 3 commits\n - commit_tree(): refuse commit messages that contain NULs\n - Convert commit_tree() to take strbuf as message\n - merge: abort if fails to commit\n\nWill merge to \"next\".\n\n* jk/git-prompt (2011-12-12) 10 commits\n - contrib: add credential helper for OS X Keychain\n - Makefile: OS X has /dev/tty\n - Makefile: linux has /dev/tty\n - credential: use git_prompt instead of git_getpass\n - prompt: use git_terminal_prompt\n - add generic terminal prompt function\n - refactor git_getpass into generic prompt function\n - move git_getpass to its own source file\n - imap-send: don't check return value of git_getpass\n - imap-send: avoid buffer overflow\n\nWill merge to 'next' after taking another look.\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 (this branch uses mh/ref-api.)\n\nThe API for extra anchoring points may require rethought first; that would\nhopefully make the \"ref\" part a lot simpler.\n\nWaiting for a reroll.\n\n* mh/ref-api (2011-12-12) 16 commits\n  (merged to 'next' on 2011-12-15 at d65a830)\n + add_ref(): take a (struct ref_entry *) parameter\n + create_ref_entry(): extract function from add_ref()\n + repack_without_ref(): remove temporary\n + resolve_gitlink_ref_recursive(): change to work with struct ref_cache\n + Pass a (ref_cache *) to the resolve_gitlink_*() helper functions\n + resolve_gitlink_ref(): improve docstring\n + get_ref_dir(): change signature\n + refs: change signatures of get_packed_refs() and get_loose_refs()\n + is_dup_ref(): extract function from sort_ref_array()\n + add_ref(): add docstring\n + parse_ref_line(): add docstring\n + is_refname_available(): remove the \"quiet\" argument\n + clear_ref_array(): rename from free_ref_array()\n + refs: rename parameters result -> sha1\n + refs: rename \"refname\" variables\n + struct ref_entry: document name member\n (this branch is used by mh/ref-api-rest.)\n\nLater part split out to expedite moving the earlier good bits forward.\n\nWill merge to \"master\".\n\n* tr/grep-threading (2011-12-16) 3 commits\n - grep: disable threading in non-worktree case\n - grep: enable threading with -p and -W using lazy attribute lookup\n - grep: load funcname patterns for -W\n\nWill merge to 'next' after taking another look.\n\n* tr/pty-all (2011-12-19) 1 commit\n - test-terminal: set output terminals to raw mode\n\nKept only the second one from the original.\nWill merge to \"next\".\n\n* jc/push-ignore-stale (2011-12-14) 2 commits\n - push: --ignore-stale option\n - set_ref_status_for_push(): use transport-flags abstraction\n\nProbably solving a wrong problem and encouraging a wrong workflow while at\nit. jc/advise-push-default might be a better approach.\n\nWill drop.\n\n* rr/revert-cherry-pick (2011-12-15) 6 commits\n - t3502, t3510: clarify cherry-pick -m failure\n - t3510 (cherry-pick-sequencer): use exit status\n - revert: simplify getting commit subject in format_todo()\n - revert: tolerate extra spaces, tabs in insn sheet\n - revert: make commit subjects in insn sheet optional\n - revert: free msg in format_todo()\n\nWill merge to \"next\".\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/signed-commit (2011-11-29) 5 commits\n - gpg-interface: allow use of a custom GPG binary\n - pretty: %G[?GS] placeholders\n - test \"commit -S\" and \"log --show-signature\"\n - log: --show-signature\n - commit: teach --gpg-sign option\n\nNot urgent.\n"}]}