What's cooking in git.git (Dec 2011, #07; Mon, 19)
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 20, 2011, 01:44 UTC
- Message-ID
- <7vaa6okodj.fsf@alter.siamese.dyndns.org>
Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.
The second large batch of topics for 1.7.9 graduated to 'master', and the tip of it should be 85% feature complete for this cycle (modulo fixes and tweaks).
Here are the repositories that have my integration branches:
With maint, master, next, pu, todo:
git://git.kernel.org/pub/scm/git/git.git
git://repo.or.cz/alt-git.git
https://code.google.com/p/git-core/
https://github.com/git/gitWith only maint and master:
git://git.sourceforge.jp/gitroot/git-core/git.git
git://git-core.git.sourceforge.net/gitroot/git-core/git-coreWith all the topics and integration branches:
https://github.com/gitster/git
The preformatted documentation in HTML and man format are found in:
git://git.kernel.org/pub/scm/git/git-{htmldocs,manpages}.git/
git://repo.or.cz/git-{htmldocs,manpages}.git/
https://code.google.com/p/git-{htmldocs,manpages}.git/
https://github.com/gitster/git-{htmldocs,manpages}.git/-------------------------------------------------- [New Topics]
* jc/advice-doc (2011-12-18) 1 commit (merged to 'next' on 2011-12-19 at 0b410e5) + advice: Document that they all default to true (this branch is used by jc/advise-push-default.)
Will merge to "master".
-------------------------------------------------- [Graduated to "master"]
* ab/enable-i18n (2011-12-05) 1 commit (merged to 'next' on 2011-12-13 at 65af8cd) + i18n: add infrastructure for translating Git with gettext
* ci/stripspace-docs (2011-12-12) 1 commit (merged to 'next' on 2011-12-13 at 35b2cdf) + Update documentation for stripspace
* ew/keepalive (2011-12-05) 1 commit (merged to 'next' on 2011-12-13 at 1b5d5c4) + enable SO_KEEPALIVE for connected TCP sockets
* jc/checkout-m-twoway (2011-12-15) 3 commits (merged to 'next' on 2011-12-15 at cc64fed) + checkout_merged(): squelch false warning from some gcc (merged to 'next' on 2011-12-11 at b61057f) + Test 'checkout -m -- path' (merged to 'next' on 2011-12-09 at c946009) + checkout -m: no need to insist on having all 3 stages
* jk/credentials (2011-12-12) 14 commits (merged to 'next' on 2011-12-12 at 7a6d658) + t: add test harness for external credential helpers + credentials: add "store" helper + strbuf: add strbuf_add*_urlencode + Makefile: unix sockets may not available on some platforms + credentials: add "cache" helper + docs: end-user documentation for the credential subsystem + credential: make relevance of http path configurable + credential: add credential.*.username + credential: apply helper config + http: use credential API to get passwords + credential: add function for parsing url components + introduce credentials API + t5550: fix typo + test-lib: add test_config_global variant (this branch is used by jk/git-prompt.)
* jk/fetch-no-tail-match-refs (2011-12-13) 4 commits (merged to 'next' on 2011-12-13 at 805c018) + connect.c: drop path_match function + fetch-pack: match refs exactly + t5500: give fully-qualified refs to fetch-pack + drop "match" parameter from get_remote_heads
* jk/maint-mv (2011-12-12) 5 commits (merged to 'next' on 2011-12-13 at 58caedb) + mv: be quiet about overwriting + mv: improve overwrite warning + mv: make non-directory destination error more clear + mv: honor --verbose flag + docs: mention "-k" for both forms of "git mv"
* jk/maint-push-over-dav (2011-12-13) 2 commits (merged to 'next' on 2011-12-13 at 45e376c) + http-push: enable "proactive auth" + t5540: test DAV push with authentication
* jk/maint-snprintf-va-copy (2011-12-12) 1 commit (merged to 'next' on 2011-12-13 at d37a7e1) + compat/snprintf: don't look at va_list twice
* jn/maint-sequencer-fixes (2011-12-12) 7 commits (merged to 'next' on 2011-12-13 at 5b3950c) + revert: stop creating and removing sequencer-old directory + Revert "reset: Make reset remove the sequencer state" + revert: do not remove state until sequence is finished + revert: allow single-pick in the middle of cherry-pick sequence + revert: pass around rev-list args in already-parsed form + revert: allow cherry-pick --continue to commit before resuming + revert: give --continue handling its own function (this branch is used by rr/revert-cherry-pick.)
* nd/resolve-ref (2011-12-13) 3 commits (merged to 'next' on 2011-12-13 at c7002e9) + Rename resolve_ref() to resolve_ref_unsafe() + Convert resolve_ref+xstrdup to new resolve_refdup function + revert: convert resolve_ref() to read_ref_full()
* rr/test-chaining (2011-12-11) 7 commits (merged to 'next' on 2011-12-13 at b08445e) + t3401: use test_commit in setup + t3401: modernize style + t3040 (subprojects-basic): fix '&&' chaining, modernize style + t1510 (worktree): fix '&&' chaining + t3030 (merge-recursive): use test_expect_code + test: fix '&&' chaining + t3200 (branch): fix '&&' chaining
* tr/cache-tree (2011-12-06) 5 commits (merged to 'next' on 2011-12-13 at e0da64d) + reset: update cache-tree data when appropriate + commit: write cache-tree data when writing index anyway + Refactor cache_tree_update idiom from commit + Test the current state of the cache-tree optimization + Add test-scrap-cache-tree
-------------------------------------------------- [Cooking]
* cn/maint-lf-to-crlf-filter (2011-12-16) 1 commit - lf_to_crlf_filter(): tell the caller we added "\n" when draining (this branch is used by jc/maint-lf-to-crlf-keep-crlf.)
A recent fix to the codepath was not quite correct.
Will merge to "next".
* jc/maint-lf-to-crlf-keep-crlf (2011-12-18) 1 commit - lf_to_crlf_filter(): resurrect CRLF->CRLF hack (this branch uses cn/maint-lf-to-crlf-filter.)
The lf-to-crlf filter in the streaming checkout codepath forgot that we try not to convert LF to CRLF if the repository data already has CRLF.
Will merge to "next".
* jc/request-pull-show-head-4 (2011-12-19) 2 commits (merged to 'next' on 2011-12-19 at 771939b) + request-pull: do not emit "tag" before the tagname (merged to 'next' on 2011-12-16 at bea51ac) + request-pull: update the "pull" command generation logic
Will merge to "master".
* jk/doc-fsck (2011-12-16) 1 commit - docs: brush up obsolete bits of git-fsck manpage
Will merge to "next".
* jk/follow-rename-score (2011-12-16) 1 commit - use custom rename score during --follow
Will merge to "next".
* jk/pretty-reglog-ent (2011-12-16) 1 commit - pretty: give placeholders to reflog identity
Will merge to "next".
* jk/http-push-to-empty (2011-12-19) 1 commit (merged to 'next' on 2011-12-19 at 845e2a1) + remote-curl: don't pass back fake refs
* jk/maint-push-v-is-verbose (2011-12-17) 1 commit - make "git push -v" actually verbose
Will merge to "next".
* jk/maint-strbuf-missing-init (2011-12-18) 2 commits - Update jk/maint-strbuf-missing-init to builtin/ rename - commit, merge: initialize static strbuf
Will merge to "next".
* rs/diff-tree-combined-clean-up (2011-12-17) 3 commits - submodule: use diff_tree_combined_merge() instead of diff_tree_combined() - pass struct commit to diff_tree_combined_merge() - use struct sha1_array in diff_tree_combined()
Will merge to "next".
* jn/maint-gitweb-utf8-fix (2011-12-19) 4 commits
- gitweb: Fix fallback mode of to_utf8 subroutine
- gitweb: Output valid utf8 in git_blame_common('data')
- gitweb: esc_html() site name for title in OPML
- gitweb: Call to_utf8() on input string in chop_and_escape_str()Will merge to "next".
* pw/p4-docs-and-tests (2011-12-18) 11 commits - git-p4: document and test submit options - git-p4: test and document --use-client-spec - git-p4: test --keep-path - git-p4: test --max-changes - git-p4: document and test --import-local - git-p4: honor --changesfile option and test - git-p4: document and test clone --branch - git-p4: test cloning with two dirs, clarify doc - git-p4: clone does not use --git-dir - git-p4: test debug macro - git-p4: introduce asciidoc documentation
Waiting for a reroll.
* jc/advise-push-default (2011-12-18) 1 commit - push: hint to use push.default=upstream when appropriate (this branch uses jc/advice-doc.)
Peff had a good suggestion outlining an updated code structure so that somebody new can try to dip his or her toes in the development. Any takers?
Waiting for a reroll.
* ef/setenv-putenv (2011-12-14) 2 commits - compat/setenv.c: error if name contains '=' - compat/setenv.c: update errno when erroring out (this branch is used by ef/x-setenv-putenv.)
Will merge to "next".
* jk/maint-do-not-feed-stdin-to-tests (2011-12-15) 1 commit - test-lib: redirect stdin of tests
Will merge to "next".
* jn/test-cleanup-7006 (2011-12-14) 1 commit - test: errors preparing for a test are not special
Will merge to "next".
* nd/war-on-nul-in-commit (2011-12-15) 3 commits - commit_tree(): refuse commit messages that contain NULs - Convert commit_tree() to take strbuf as message - merge: abort if fails to commit
Will merge to "next".
* jk/git-prompt (2011-12-12) 10 commits - contrib: add credential helper for OS X Keychain - Makefile: OS X has /dev/tty - Makefile: linux has /dev/tty - credential: use git_prompt instead of git_getpass - prompt: use git_terminal_prompt - add generic terminal prompt function - refactor git_getpass into generic prompt function - move git_getpass to its own source file - imap-send: don't check return value of git_getpass - imap-send: avoid buffer overflow
Will merge to 'next' after taking another look.
* mh/ref-api-rest (2011-12-12) 35 commits - repack_without_ref(): call clear_packed_ref_cache() - read_packed_refs(): keep track of the directory being worked in - is_refname_available(): query only possibly-conflicting references - refs: read loose references lazily - read_loose_refs(): take a (ref_entry *) as argument - struct ref_dir: store a reference to the enclosing ref_cache - sort_ref_dir(): take (ref_entry *) instead of (ref_dir *) - do_for_each_ref_in_dir*(): take (ref_entry *) instead of (ref_dir *) - add_entry(): take (ref_entry *) instead of (ref_dir *) - search_ref_dir(): take (ref_entry *) instead of (ref_dir *) - find_containing_direntry(): use (ref_entry *) instead of (ref_dir *) - add_ref(): take (ref_entry *) instead of (ref_dir *) - read_packed_refs(): take (ref_entry *) instead of (ref_dir *) - find_ref(): take (ref_entry *) instead of (ref_dir *) - is_refname_available(): take (ref_entry *) instead of (ref_dir *) - get_loose_refs(): return (ref_entry *) instead of (ref_dir *) - get_packed_refs(): return (ref_entry *) instead of (ref_dir *) - refs: wrap top-level ref_dirs in ref_entries - get_ref_dir(): keep track of the current ref_dir - do_for_each_ref(): only iterate over the subtree that was requested - refs: sort ref_dirs lazily - sort_ref_dir(): do not sort if already sorted - refs: store references hierarchically - refs.c: rename ref_array -> ref_dir - struct ref_entry: nest the value part in a union - check_refname_component(): return 0 for zero-length components - free_ref_entry(): new function - refs.c: reorder definitions more logically - is_refname_available(): reimplement using do_for_each_ref_in_array() - names_conflict(): simplify implementation - names_conflict(): new function, extracted from is_refname_available() - repack_without_ref(): reimplement using do_for_each_ref_in_array() - do_for_each_ref_in_arrays(): new function - do_for_each_ref_in_array(): new function - do_for_each_ref(): correctly terminate while processesing extra_refs (this branch uses mh/ref-api.)
The API for extra anchoring points may require rethought first; that would hopefully make the "ref" part a lot simpler.
Waiting for a reroll.
* mh/ref-api (2011-12-12) 16 commits (merged to 'next' on 2011-12-15 at d65a830) + add_ref(): take a (struct ref_entry *) parameter + create_ref_entry(): extract function from add_ref() + repack_without_ref(): remove temporary + resolve_gitlink_ref_recursive(): change to work with struct ref_cache + Pass a (ref_cache *) to the resolve_gitlink_*() helper functions + resolve_gitlink_ref(): improve docstring + get_ref_dir(): change signature + refs: change signatures of get_packed_refs() and get_loose_refs() + is_dup_ref(): extract function from sort_ref_array() + add_ref(): add docstring + parse_ref_line(): add docstring + is_refname_available(): remove the "quiet" argument + clear_ref_array(): rename from free_ref_array() + refs: rename parameters result -> sha1 + refs: rename "refname" variables + struct ref_entry: document name member (this branch is used by mh/ref-api-rest.)
Later part split out to expedite moving the earlier good bits forward.
Will merge to "master".
* tr/grep-threading (2011-12-16) 3 commits - grep: disable threading in non-worktree case - grep: enable threading with -p and -W using lazy attribute lookup - grep: load funcname patterns for -W
Will merge to 'next' after taking another look.
* tr/pty-all (2011-12-19) 1 commit - test-terminal: set output terminals to raw mode
Kept only the second one from the original. Will merge to "next".
* jc/push-ignore-stale (2011-12-14) 2 commits - push: --ignore-stale option - set_ref_status_for_push(): use transport-flags abstraction
Probably solving a wrong problem and encouraging a wrong workflow while at it. jc/advise-push-default might be a better approach.
Will drop.
* rr/revert-cherry-pick (2011-12-15) 6 commits - t3502, t3510: clarify cherry-pick -m failure - t3510 (cherry-pick-sequencer): use exit status - revert: simplify getting commit subject in format_todo() - revert: tolerate extra spaces, tabs in insn sheet - revert: make commit subjects in insn sheet optional - revert: free msg in format_todo()
Will merge to "next".
* jc/split-blob (2011-12-01) 6 commits . WIP (streaming chunked) - chunked-object: fallback checkout codepaths - bulk-checkin: support chunked-object encoding - bulk-checkin: allow the same data to be multiply hashed - new representation types in the packstream - varint-in-pack: refactor varint encoding/decoding
Not ready.
At least pack-objects and fsck need to learn the new encoding for the series to be usable locally, and then index-pack/unpack-objects needs to learn it to be used remotely.
* jc/signed-commit (2011-11-29) 5 commits - gpg-interface: allow use of a custom GPG binary - pretty: %G[?GS] placeholders - test "commit -S" and "log --show-signature" - log: --show-signature - commit: teach --gpg-sign option
Not urgent.