diff --git a/whats-cooking.txt b/whats-cooking.txt index 0b81243581..75f1c181bb 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,19 +1,15 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Dec 2011, #03; Fri, 9) -X-master-at: 9859a023fef30ffebdd22ad9639c587ac720b8b6 -X-next-at: b9cfa4e96be9817e744fb728360e7f37c730d133 +Subject: What's cooking in git.git (Dec 2011, #04; Tue, 13) +X-master-at: 73c6b3575bc638b7096ec913bd91193707e2265d +X-next-at: 1fd576a2d00312e74195662cae445c4463ca87e7 -What's cooking in git.git (Dec 2011, #03; Fri, 9) +What's cooking in git.git (Dec 2011, #04; Tue, 13) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -Two of the more important topics slated for 1.7.9 have been merged to -'master'. Let's hope the other ones also will stabilize soonish, so that -we can smoothly close this cycle early. - Here are the repositories that have my integration branches: With maint, master, next, pu, todo: @@ -39,114 +35,171 @@ The preformatted documentation in HTML and man format are found in: https://code.google.com/p/git-{htmldocs,manpages}.git/ https://github.com/gitster/git-{htmldocs,manpages}.git/ --------------------------------------------------- -[Graduated to "master"] - -* ab/pull-rebase-config (2011-11-07) 1 commit - (merged to 'next' on 2011-12-05 at 6d235a4) - + pull: introduce a pull.rebase option to enable --rebase - -* jc/pull-signed-tag (2011-11-12) 15 commits - (merged to 'next' on 2011-12-05 at c949bd1) - + commit-tree: teach -m/-F options to read logs from elsewhere - + commit-tree: update the command line parsing - + commit: teach --amend to carry forward extra headers - + merge: force edit and no-ff mode when merging a tag object - + commit: copy merged signed tags to headers of merge commit - + merge: record tag objects without peeling in MERGE_HEAD - + merge: make usage of commit->util more extensible - + fmt-merge-msg: Add contents of merged tag in the merge message - + fmt-merge-msg: package options into a structure - + fmt-merge-msg: avoid early returns - + refs DWIMmery: use the same rule for both "git fetch" and others - + fetch: allow "git fetch $there v1.0" to fetch a tag - + merge: notice local merging of tags and keep it unwrapped - + fetch: do not store peeled tag object names in FETCH_HEAD - + Split GPG interface into its own helper library - (this branch is used by jc/signed-commit.) - -Allow pulling/merging a signed tag instead of a branch tip, and record -the GPG signature in the merge commit for later audit. - -* jc/request-pull-show-head-4 (2011-11-09) 12 commits - (merged to 'next' on 2011-12-05 at 8f05b45) - + request-pull: use the annotated tag contents - + fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error - + environment.c: Fix an sparse "symbol not declared" warning - + builtin/log.c: Fix an "Using plain integer as NULL pointer" warning - + fmt-merge-msg: use branch.$name.description - + request-pull: use the branch description - + request-pull: state what commit to expect - + request-pull: modernize style - + branch: teach --edit-description option - + format-patch: use branch description in cover letter - + branch: add read_branch_desc() helper function - + Merge branch 'bk/ancestry-path' into jc/branch-desc - -Allow setting "description" for branches and use it to help communications -between humans in various workflow elements. It also allows requesting for -a signed tag to be pulled and shows the tag message in the generated message. - -* nd/resolve-ref (2011-12-05) 2 commits - (merged to 'next' on 2011-12-05 at d55637f) - + Copy resolve_ref() return value for longer use - + Convert many resolve_ref() calls to read_ref*() and ref_exists() - -* rs/allocate-cache-entry-individually (2011-10-26) 2 commits - (merged to 'next' on 2011-12-05 at 241e711) - + cache.h: put single NUL at end of struct cache_entry - + read-cache.c: allocate index entries individually - -* sg/complete-refs (2011-10-21) 9 commits - (merged to 'next' on 2011-12-05 at 03e5527) - + completion: remove broken dead code from __git_heads() and __git_tags() - + completion: fast initial completion for config 'remote.*.fetch' value - + completion: improve ls-remote output filtering in __git_refs_remotes() - + completion: query only refs/heads/ in __git_refs_remotes() - + completion: support full refs from remote repositories - + completion: improve ls-remote output filtering in __git_refs() - + completion: make refs completion consistent for local and remote repos - + completion: optimize refs completion - + completion: document __gitcomp() - -------------------------------------------------- [New Topics] -* rr/revert-cherry-pick (2011-12-09) 9 commits - - revert: simplify communicating command-line arguments - - revert: report fine-grained error messages from insn parser - - revert: allow mixed pick and revert instructions - - t3510 (cherry-pick-sequencer): remove malformed sheet 2 - - 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() +* jk/maint-fetch-status-table (2011-12-09) 1 commit + (merged to 'next' on 2011-12-09 at 159415e) + + fetch: create status table using strbuf -This is not the latest one but the last one posted to the list. +Will merge to 'master'. + +* ci/stripspace-docs (2011-12-12) 1 commit + (merged to 'next' on 2011-12-13 at 35b2cdf) + + Update documentation for stripspace + +* 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-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 + +* mh/ref-api (2011-12-12) 51 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 + - 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 + +* 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() + +* tr/grep-threading (2011-12-12) 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-12) 3 commits + - t/lib-terminal: test test-terminal's sanity + - test-terminal: set output terminals to raw mode + - test-terminal: give the child an empty stdin TTY + +Will merge to 'next' after taking another look. + +* jc/push-ignore-stale (2011-12-13) 2 commits + - push: --ignore-stale option + - set_ref_status_for_push(): use transport-flags abstraction + +* 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-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 + +-------------------------------------------------- +[Cooking] + +* rr/revert-cherry-pick (2011-12-09) 9 commits + . revert: simplify communicating command-line arguments + . revert: report fine-grained error messages from insn parser + . revert: allow mixed pick and revert instructions + . t3510 (cherry-pick-sequencer): remove malformed sheet 2 + . 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() + +Ejected for now, to give higher priority to jn/maint-sequencer-fixes +topic. * ew/keepalive (2011-12-05) 1 commit - - enable SO_KEEPALIVE for connected TCP sockets + (merged to 'next' on 2011-12-13 at 1b5d5c4) + + enable SO_KEEPALIVE for connected TCP sockets -Comments? - -* jc/checkout-m-twoway (2011-12-06) 1 commit +* jc/checkout-m-twoway (2011-12-11) 2 commits + (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 * tr/cache-tree (2011-12-06) 5 commits - - 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 - -Will merge to 'next' after taking another look. + (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 * tr/userdiff-c-returns-pointer (2011-12-06) 1 commit (merged to 'next' on 2011-12-09 at 0b6a092) + userdiff: allow * between cpp funcname words +Will merge to 'master'. + * jc/commit-amend-no-edit (2011-12-08) 5 commits (merged to 'next' on 2011-12-09 at b9cfa4e) + test: commit --amend should honor --no-edit @@ -159,27 +212,31 @@ Will merge to 'next' after taking another look. (merged to 'next' on 2011-12-09 at 53eb3b3) + diff/status: print submodule path when looking for changes fails +Will merge to 'master'. + * ks/tag-cleanup (2011-12-09) 1 commit (merged to 'next' on 2011-12-09 at cbea045) + git-tag: introduce --cleanup option -* rr/test-chaining (2011-12-09) 5 commits - - 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 +Will merge to 'master'. -I think Martin's patches to t3401 should also be queued here. - --------------------------------------------------- -[Cooking] +* 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 * bc/maint-apply-check-no-patch (2011-12-05) 2 commits (merged to 'next' on 2011-12-09 at fc780cd) + builtin/apply.c: report error on failure to recognize input + t/t4131-apply-fake-ancestor.sh: fix broken test +Will merge to 'master'. + * aw/rebase-i-stop-on-failure-to-amend (2011-11-30) 1 commit (merged to 'next' on 2011-12-09 at a117e83) + rebase -i: interrupt rebase when "commit --amend" failed during "reword" @@ -203,23 +260,32 @@ needs to learn it to be used remotely. + t9301: Add 2nd testcase exposing bugs in fast-import's notes fanout handling + t9301: Fix testcase covering up a bug in fast-import's notes fanout handling -Comments? +Will merge to 'master'. * tj/maint-imap-send-remove-unused (2011-11-23) 2 commits (merged to 'next' on 2011-12-09 at 877cc11) + Merge branch 'maint' into tj/imap-send-remove-unused + imap-send: Remove unused 'use_namespace' variable +Will merge to 'master'. + * cn/maint-lf-to-crlf-filter (2011-11-28) 1 commit (merged to 'next' on 2011-12-09 at c374d14) + convert: track state in LF-to-CRLF filter +Will merge to 'master'. + * jn/branch-move-to-self (2011-11-28) 2 commits (merged to 'next' on 2011-12-09 at 7d27260) + Allow checkout -B to update the current branch + branch: allow a no-op "branch -M HEAD" -* jk/credentials (2011-12-09) 20 commits +Will merge to 'master'. + +* jk/credentials (2011-12-12) 24 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 @@ -227,27 +293,32 @@ Comments? - move git_getpass to its own source file - imap-send: don't check return value of git_getpass - imap-send: avoid buffer overflow - - t: add test harness for external credential helpers - - credentials: add "store" helper - - strbuf: add strbuf_add*_urlencode - - 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 + (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 -Looking good. +Looking good. Probably split the later part into its own topic and +merge the parts already in 'next' to 'master' soonish. * nd/ignore-might-be-precious (2011-11-28) 2 commits (merged to 'next' on 2011-12-09 at 1a94553) + checkout,merge: disallow overwriting ignored files with --no-overwrite-ignore + Merge branch 'nd/maint-ignore-exclude' into nd/ignore-might-be-precious +Will merge to 'master'. + * jk/upload-archive-use-start-command (2011-11-21) 1 commit (merged to 'next' on 2011-12-09 at 88cb83a) + upload-archive: use start_command instead of fork @@ -261,10 +332,11 @@ Looking good. + Merge branch 'jk/maint-1.6.2-upload-archive' into jk/maint-upload-archive (this branch uses jk/maint-1.6.2-upload-archive.) -* ab/enable-i18n (2011-12-05) 1 commit - - i18n: add infrastructure for translating Git with gettext +Will merge to 'master'. -Will merge to 'next'. +* 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 * jc/signed-commit (2011-11-29) 5 commits - gpg-interface: allow use of a custom GPG binary @@ -291,109 +363,16 @@ like the checkout codepath that goes the other way, which was done in the previous "large file support" topic in the 1.7.7 cycle. * jn/gitweb-side-by-side-diff (2011-10-31) 8 commits - - gitweb: Add navigation to select side-by-side diff - - gitweb: Use href(-replay=>1,...) for formats links in "commitdiff" - - t9500: Add basic sanity tests for side-by-side diff in gitweb - - t9500: Add test for handling incomplete lines in diff by gitweb - - gitweb: Give side-by-side diff extra CSS styling - - gitweb: Add a feature to show side-by-side diff - - gitweb: Extract formatting of diff chunk header - - gitweb: Refactor diff body line classification + (merged to 'next' on 2011-12-09 at 7662e58) + + gitweb: Add navigation to select side-by-side diff + + gitweb: Use href(-replay=>1,...) for formats links in "commitdiff" + + t9500: Add basic sanity tests for side-by-side diff in gitweb + + t9500: Add test for handling incomplete lines in diff by gitweb + + gitweb: Give side-by-side diff extra CSS styling + + gitweb: Add a feature to show side-by-side diff + + gitweb: Extract formatting of diff chunk header + + gitweb: Refactor diff body line classification Replaces a series from Kato Kazuyoshi on the same topic. -Is this ready for 'next'? --------------------------------------------------- -[Discarded] - -* hv/submodule-merge-search (2011-10-13) 4 commits - . submodule.c: make two functions static - . allow multiple calls to submodule merge search for the same path - . push: Don't push a repository with unpushed submodules - . push: teach --recurse-submodules the on-demand option - -* sr/transport-helper-fix-rfc (2011-07-19) 2 commits - . t5800: point out that deleting branches does not work - . t5800: document inability to push new branch with old content - -* sr/fix-fast-export-tips (2011-11-05) 3 commits - . fast-export: output reset command for commandline revs - . fast-export: do not refer to non-existing marks - . t9350: point out that refs are not updated correctly - -* jc/lookup-object-hash (2011-08-11) 6 commits - . object hash: replace linear probing with 4-way cuckoo hashing - . object hash: we know the table size is a power of two - . object hash: next_size() helper for readability - . pack-objects --count-only - . object.c: remove duplicated code for object hashing - . object.c: code movement for readability - -* jc/verbose-checkout (2011-10-16) 2 commits - . checkout -v: give full status output after switching branches - . checkout: move the local changes report to the end - -* eh/grep-scale-to-cpunum (2011-11-05) 1 commit - . grep: detect number of CPUs for thread spawning - -* jc/commit-tree-extra (2011-11-12) 2 commits - . commit-tree: teach -C - . commit-tree: teach -x - (this branch uses jc/pull-signed-tag; is tangled with jc/signed-commit.) - -* cb/daemon-permission-errors (2011-10-17) 2 commits - . daemon: report permission denied error to clients - . daemon: add tests - -* ld/p4-labels-branches (2011-11-30) 4 commits - . git-p4: importing labels should cope with missing owner - . git-p4: add test for p4 labels - . git-p4: cope with labels with empty descriptions - . git-p4: handle p4 branches and labels containing shell chars - -* mh/ref-api-2 (2011-11-16) 15 commits - . refs: loosen over-strict "format" check - . 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 - . cache.h: add comments for git_path() and git_path_submodule() - (this branch is tangled with mh/ref-api-3.) - -* mh/ref-api-3 (2011-11-16) 26 commits - . refs: loosen over-strict "format" check - . 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_array(): new function - . do_for_each_ref(): correctly terminate while processesing extra_refs - . add_ref(): take a (struct ref_entry *) parameter - . create_ref_entry(): extract function from add_ref() - . parse_ref_line(): add a check that the refname is properly formatted - . repack_without_ref(): remove temporary - . Rename another local variable name -> refname - . 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 - . cache.h: add comments for git_path() and git_path_submodule() - (this branch is tangled with mh/ref-api-2.) +Will merge to 'master'.