{"thread":{"id":"28776","subject":"What's cooking in git.git (Oct 2011, #10; Wed, 26)","startedAt":"2011-10-27T00:40:54Z","lastAt":"2011-10-27T00:40:54Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"178340","messageId":"7v8vo71d2h.fsf@alter.siamese.dyndns.org","threadId":"28776","inReplyTo":null,"subject":"What's cooking in git.git (Oct 2011, #10; Wed, 26)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-10-27T00:40:54Z","receivedAt":"2011-10-27T00:40:54Z","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\nIt probably is a good point to stop taking new topics and start\nswitching our focus to fixing bugs in the topics already in 'master'.\n\nHere are the repositories that have my integration branches:\n\nWith maint, master, next, pu and 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 but not todo, html or man:\n\n        https://github.com/gitster/git\n\nI will stop pushing the generated documentation branches to the above\nrepositories, as they are not sources. The only reason the source\nrepository at k.org has hosted these branches was because it was the only\nrepository over there that was writable by me; it was an ugly historical\nand administrative workaround and not a demonstration of the best\npractice.\n\nThese branches are pushed to their own separate repositories instead:\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* ef/mingw-upload-archive (2011-10-26) 3 commits\n - upload-archive: use start_command instead of fork\n - compat/win32/poll.c: upgrade from upstream\n - mingw: move poll out of sys-folder\n\n* js/grep-mutex (2011-10-26) 3 commits\n  (merged to 'next' on 2011-10-26 at 6fac2d6)\n + builtin/grep: simplify lock_and_read_sha1_file()\n + builtin/grep: make lock/unlock into static inline functions\n + git grep: be careful to use mutexes only when they are initialized\n\nWill merge to \"master\" shortly.\n\n* rj/gitweb-clean-js (2011-10-26) 1 commit\n  (merged to 'next' on 2011-10-26 at db36a24)\n + gitweb/Makefile: Remove static/gitweb.js in the clean target\n\nWill merge to \"master\" shortly.\n\n* rs/allocate-cache-entry-individually (2011-10-26) 2 commits\n - cache.h: put single NUL at end of struct cache_entry\n - read-cache.c: allocate index entries individually\n\n* rs/maint-estimate-cache-size (2011-10-26) 1 commit\n  (merged to 'next' on 2011-10-26 at 2f11375)\n + read-cache.c: fix index memory allocation\n\nWill merge to \"master\" shortly.\n\n* sn/complete-bash-wo-process-subst (2011-10-26) 1 commit\n  (merged to 'next' on 2011-10-26 at 8662ed6)\n + completion: fix issue with process substitution not working on Git for Windows\n\nWill merge to \"master\" shortly.\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* cn/fetch-prune (2011-10-15) 5 commits\n  (merged to 'next' on 2011-10-16 at 02a449e)\n + fetch: treat --tags like refs/tags/*:refs/tags/* when pruning\n + fetch: honor the user-provided refspecs when pruning refs\n + remote: separate out the remote_find_tracking logic into query_refspecs\n + t5510: add tests for fetch --prune\n + fetch: free all the additional refspecs\n\n\"git fetch --prune\" used to prune remote tracking branches by comparing\nwhat was actually fetched and what was configured to be fetched, which was\nwrong.\n\n* jm/maint-gitweb-filter-forks-fix (2011-10-21) 1 commit\n  (merged to 'next' on 2011-10-21 at debedcd)\n + gitweb: fix regression when filtering out forks\n\n* jn/libperl-git-config (2011-10-21) 2 commits\n  (merged to 'next' on 2011-10-21 at 76e2d4b)\n + Add simple test for Git::config_path() in t/t9700-perl-git.sh\n + libperl-git: refactor Git::config_*\n\n* lh/gitweb-site-html-head (2011-10-21) 1 commit\n  (merged to 'next' on 2011-10-23 at 65075df)\n + gitweb: provide a way to customize html headers\n\n* mm/mediawiki-author-fix (2011-10-20) 1 commit\n  (merged to 'next' on 2011-10-23 at 9f85b67)\n + git-remote-mediawiki: don't include HTTP login/password in author\n\n* tc/submodule-clone-name-detection (2011-10-21) 2 commits\n  (merged to 'next' on 2011-10-23 at c18af03)\n + submodule::module_clone(): silence die() message from module_name()\n + submodule: whitespace fix\n\n\"git submodule clone\" used to show unnecessary error message when\nsubmodule mapping from name to path is not found in .gitmodules file.\n\n--------------------------------------------------\n[Stalled]\n\n* hv/submodule-merge-search (2011-10-13) 4 commits\n - submodule.c: make two functions static\n - allow multiple calls to submodule merge search for the same path\n - push: Don't push a repository with unpushed submodules\n - push: teach --recurse-submodules the on-demand option\n\nWhat the topic aims to achieve may make sense, but the implementation\nlooked somewhat suboptimal.\n\n* sr/transport-helper-fix-rfc (2011-07-19) 2 commits\n - t5800: point out that deleting branches does not work\n - t5800: document inability to push new branch with old content\n\nPerhaps 281eee4 (revision: keep track of the end-user input from the\ncommand line, 2011-08-25) would help.\n\n* jc/lookup-object-hash (2011-08-11) 6 commits\n - object hash: replace linear probing with 4-way cuckoo hashing\n - object hash: we know the table size is a power of two\n - object hash: next_size() helper for readability\n - pack-objects --count-only\n - object.c: remove duplicated code for object hashing\n - object.c: code movement for readability\n\nI do not think there is anything fundamentally wrong with this series, but\nthe risk of breakage far outweighs observed performance gain in one\nparticular workload.\n\n* jc/verbose-checkout (2011-10-16) 2 commits\n - checkout -v: give full status output after switching branches\n - checkout: move the local changes report to the end\n\nThis is just to leave a record that the reason why we do not do this not\nbecause we are incapable of coding this, but because it is not a good idea\nto do this. I suspect people who are new to git that might think they need\nit would soon realize the don't.\n\nWill keep in 'pu' as a showcase for a while and then will drop.\n\n* kk/gitweb-side-by-side-diff (2011-10-17) 2 commits\n - gitweb: add a feature to show side-by-side diff\n - gitweb: change format_diff_line() to remove leading SP from $diff_class\n\nFun.\nWill keep in 'pu' until the planned re-roll comes.\n\n--------------------------------------------------\n[Cooking]\n\n* nd/pretty-commit-log-message (2011-10-23) 2 commits\n - pretty.c: use original commit message if reencoding fails\n - pretty.c: free get_header() return value\n\n* mh/ref-api-3 (2011-10-19) 11 commits\n  (merged to 'next' on 2011-10-23 at 92e2d35)\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_array(): new function\n + do_for_each_ref(): correctly terminate while processesing extra_refs\n + add_ref(): take a (struct ref_entry *) parameter\n + create_ref_entry(): extract function from add_ref()\n + parse_ref_line(): add a check that the refname is properly formatted\n + repack_without_ref(): remove temporary\n + Rename another local variable name -> refname\n (this branch uses mh/ref-api-2.)\n\n* rr/revert-cherry-pick (2011-10-23) 5 commits\n  (merged to 'next' on 2011-10-26 at 27b7496)\n + revert: simplify communicating command-line arguments\n + revert: allow mixed pick and revert instructions\n + revert: make commit subjects in insn sheet optional\n + revert: simplify getting commit subject in format_todo()\n + revert: free msg in format_todo()\n\nThe internals of \"git revert/cherry-pick\" has been further refactored to\nserve as the basis for the sequencer.\n\nWill keep in 'next' during this cycle.\n\n* jc/check-ref-format-fixup (2011-10-19) 2 commits\n  (merged to 'next' on 2011-10-19 at 98981be)\n + Revert \"Restrict ref-like names immediately below $GIT_DIR\"\n  (merged to 'next' on 2011-10-15 at 8e89bc5)\n + Restrict ref-like names immediately below $GIT_DIR\n\nThis became a no-op except for the bottom one which is part of the other\ntopic now.\nWill discard once the other topic graduates to 'master'.\n\n* cb/daemon-permission-errors (2011-10-17) 2 commits\n - daemon: report permission denied error to clients\n - daemon: add tests\n\nThe tip commit might be loosening things a bit too much.\nWill keep in 'pu' until hearing a convincing argument for the patch.\n\n* mh/ref-api-2 (2011-10-17) 14 commits\n  (merged to 'next' on 2011-10-19 at cc89f0e)\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 + cache.h: add comments for git_path() and git_path_submodule()\n (this branch is used by mh/ref-api-3.)\n\nIt is either merge this quickly to 'master' and hope there won't be any\nmore unexpected breakage that forces us to delay the release, or hold it\non 'next' until the next cycle. I am inclined to do the former, but not\nquite ready to commit to it yet.\n\n* dm/pack-objects-update (2011-10-20) 4 commits\n - pack-objects: don't traverse objects unnecessarily\n - pack-objects: rewrite add_descendants_to_write_order() iteratively\n - pack-objects: use unsigned int for counter and offset values\n - pack-objects: mark add_to_write_order() as inline\n\nNeed to re-read this before deciding what to do; it came a bit too late in\nthe cycle for a series that touches a seriously important part of the\nsystem.\n\n* jk/git-tricks (2011-10-21) 3 commits\n  (merged to 'next' on 2011-10-23 at 7c9bf71)\n + completion: match ctags symbol names in grep patterns\n + contrib: add git-jump script\n + contrib: add diff highlight script\n\nAs this stuff is in contrib/ I do not care too much about the stability.\nWill merge to 'master' unless there is strong objection.\n\n* jc/signed-commit (2011-10-21) 7 commits\n  (merged to 'next' on 2011-10-23 at 03eec25)\n + pretty: %G[?GS] placeholders\n + parse_signed_commit: really use the entire commit log message\n + test \"commit -S\" and \"log --show-signature\"\n + t7004: extract generic \"GPG testing\" bits\n + log: --show-signature\n + commit: teach --gpg-sign option\n + Split GPG interface into its own helper library\n\nThis is to replace the earlier \"signed push\" experiments.\nWill keep in 'next' during this cycle.\n\n* sg/complete-refs (2011-10-21) 9 commits\n  (merged to 'next' on 2011-10-26 at d65e2b4)\n + completion: remove broken dead code from __git_heads() and __git_tags()\n + completion: fast initial completion for config 'remote.*.fetch' value\n + completion: improve ls-remote output filtering in __git_refs_remotes()\n + completion: query only refs/heads/ in __git_refs_remotes()\n + completion: support full refs from remote repositories\n + completion: improve ls-remote output filtering in __git_refs()\n + completion: make refs completion consistent for local and remote repos\n + completion: optimize refs completion\n + completion: document __gitcomp()\n\nWill keep in 'next' until an Ack or two from completion folks.\n\n* jc/request-pull-show-head-4 (2011-10-15) 11 commits\n  (merged to 'next' on 2011-10-15 at 7e340ff)\n + fmt-merge-msg.c: Fix an \"dubious one-bit signed bitfield\" sparse error\n  (merged to 'next' on 2011-10-10 at 092175e)\n + environment.c: Fix an sparse \"symbol not declared\" warning\n + builtin/log.c: Fix an \"Using plain integer as NULL pointer\" warning\n  (merged to 'next' on 2011-10-07 at fcaeca0)\n + fmt-merge-msg: use branch.$name.description\n  (merged to 'next' on 2011-10-06 at fa5e0fe)\n + request-pull: use the branch description\n + request-pull: state what commit to expect\n + request-pull: modernize style\n + branch: teach --edit-description option\n + format-patch: use branch description in cover letter\n + branch: add read_branch_desc() helper function\n + Merge branch 'bk/ancestry-path' into jc/branch-desc\n\nAllow setting \"description\" for branches and use it to help communications\nbetween humans in various workflow elements.\n\nWill keep in 'next' during this cycle.\n"}]}