{"thread":{"id":"28684","subject":"What's cooking in git.git (Oct 2011, #05; Fri, 14)","startedAt":"2011-10-14T23:23:21Z","lastAt":"2011-10-17T04:20:22Z","messageCount":6,"participants":["Junio C Hamano","Jeff King"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"177700","messageId":"7vd3dzximu.fsf@alter.siamese.dyndns.org","threadId":"28684","inReplyTo":null,"subject":"What's cooking in git.git (Oct 2011, #05; Fri, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-10-14T23:23:21Z","receivedAt":"2011-10-14T23:23:21Z","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\nThe second and third wave of topics have graduated to 'master'.\n\nHere are the repositories that have my integration branches:\n\nWith maint, master, next, pu, todo, html and man:\n\n\tgit://git.kernel.org/pub/scm/git/git.git\n\tgit://repo.or.cz/alt-git.git\n\thttps://code.google.com/p/git-core/\n\thttps://github.com/git/git\n\nWith only maint, master, html and man:\n\n\tgit://git.sourceforge.jp/gitroot/git-core/git.git\n\tgit://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\thttps://github.com/gitster/git\n\n--------------------------------------------------\n[New Topics]\n\n* jk/config-test-cleanup (2011-10-12) 2 commits\n  (merged to 'next' on 2011-10-12 at 7c857dd)\n + t1300: test mixed-case variable retrieval\n + t1300: put git invocations inside test function\n\nWill merge to 'master' in the fourth wave.\n\n* jm/maint-apply-detects-corrupt-patch-header (2011-10-12) 1 commit\n  (merged to 'next' on 2011-10-12 at 80d9503)\n + fix \"git apply --index ...\" not to deref NULL\n\nWill merge to 'master' in the fifth wave.\n\n* mh/ref-api (2011-10-12) 7 commits\n - clear_cached_refs(): inline function\n - write_ref_sha1(): only invalidate the loose ref cache\n - clear_cached_refs(): extract two new functions\n - clear_cached_refs(): rename parameter\n - invalidate_ref_cache(): expose this function in refs API\n - invalidate_ref_cache(): take the submodule as parameter\n - invalidate_ref_cache(): rename function from invalidate_cached_refs()\n\nThe first rename felt somewhat inconsistent in that it reworded the object\nof one particular verb \"invalidate\" to \"ref_cache\" but otherwise that\nentity is left as \"cached_refs\" throughout the codebase.\n\nThe updated series looked almost all trivial and sensible but they would\ndepend on this renaming, so I haven't queued them here yet. Personally I\nthink we should either not rename just the function name (i.e. drop the\nfirst patch in this series) or rename both the function and what it\noperates on (i.e. enhance the first patch in this series).\n\n* bk/submodule-in-recursive-merge (2011-10-13) 2 commits\n - submodule: Search for merges only at end of recursive merge\n - submodule: Demonstrate known breakage during recursive merge\n\nBrad helped resurrecting good bits earlier tangled in the stalled topic\nhv/submodule-merge-search by mistake.\nWill merge to 'next'.\n\n* jk/pull-rebase-with-work-tree (2011-10-13) 1 commit\n - pull,rebase: handle GIT_WORK_TREE better\n\nLooked reasonable.\nWill merge to 'next'.\n\n* sg/complete-refs (2011-10-12) 10 commits\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 - Merge branches 'tm/completion-push-set-upstream', 'tm/completion-commit-fixup-squash' and 'sg/completion' into HEAD\n (this branch uses sg/completion, tm/completion-commit-fixup-squash and tm/completion-push-set-upstream.)\n\nRe-roll expected.\n\n* jc/unseekable-bundle (2011-10-13) 2 commits\n - bundle: add parse_bundle_header() helper function\n - bundle: allowing to read from an unseekable fd\n\nI am not entirely happy with the first patch but it is not so bad either.\n\n* js/check-ref-format-test-mingw (2011-10-13) 1 commit\n - t1402-check-ref-format: skip tests of refs beginning with slash on Windows\n\nWill merge to 'next'.\n\n* jk/daemon-msgs (2011-10-14) 1 commit\n - daemon: give friendlier error messages to clients\n\nWill merge to 'next'.\n\n* jk/http-auth (2011-10-14) 6 commits\n - http_init: accept separate URL parameter\n - http: use hostname in credential description\n - http: retry authentication failures for all http requests\n - remote-curl: don't retry auth failures with dumb protocol\n - improve httpd auth tests\n - url: decode buffers that are not NUL-terminated\n (this branch is tangled with jk/http-auth-keyring and js/cred-macos-x-keychain-2.)\n\nMichael helped resurrecting uncontentious bits from the credential series.\nWill merge to 'next'.\n\n* jk/maint-pack-objects-compete-with-delete (2011-10-14) 2 commits\n - downgrade \"packfile cannot be accessed\" errors to warnings\n - pack-objects: protect against disappearing packs\n\nWill merge to 'next'.\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* bw/grep-no-index-no-exclude (2011-09-15) 2 commits\n  (merged to 'next' on 2011-10-06 at 325270b)\n + grep --no-index: don't use git standard exclusions\n + grep: do not use --index in the short usage output\n (this branch is used by jc/grep-untracked-exclude and jc/maint-grep-untracked-exclude.)\n\nOriginally merged to 'next' on 2011-09-26.\n\n* cb/do-not-pretend-to-hijack-long-help (2011-10-05) 1 commit\n  (merged to 'next' on 2011-10-06 at 46851fe)\n + use -h for synopsis and --help for manpage consistently\n\n* cp/git-web-browse-browsers (2011-10-03) 1 commit\n  (merged to 'next' on 2011-10-06 at da42ad0)\n + git-web--browse: avoid the use of eval\n\n* cs/perl-config-path-send-email (2011-09-30) 2 commits\n  (merged to 'next' on 2011-10-06 at 93c00f0)\n + use new Git::config_path() for aliasesfile\n + Add Git::config_path()\n\nOriginally merged to 'next' on 2011-10-05.\n\n* di/fast-import-empty-tag-note-fix (2011-09-22) 2 commits\n  (merged to 'next' on 2011-10-06 at 3a01ef1)\n + fast-import: don't allow to note on empty branch\n + fast-import: don't allow to tag empty branch\n\nOriginally merged to 'next' on 2011-10-05.\n\n* il/archive-err-signal (2011-10-05) 1 commit\n  (merged to 'next' on 2011-10-06 at 7e3083f)\n + Support ERR in remote archive like in fetch/push\n\n* jc/apply-blank-at-eof-fix (2011-09-26) 1 commit\n  (merged to 'next' on 2011-10-06 at a9dfd8f)\n + apply --whitespace=error: correctly report new blank lines at end\n\nOriginally merged to 'next' on 2011-10-05.\n\n* jc/grep-untracked-exclude (2011-10-04) 1 commit\n  (merged to 'next' on 2011-10-06 at b16cffe)\n + Merge branch 'jc/maint-grep-untracked-exclude' into jc/grep-untracked-exclude\n (this branch uses bw/grep-no-index-no-exclude and jc/maint-grep-untracked-exclude.)\n\n* jc/is-url-simplify (2011-10-03) 1 commit\n  (merged to 'next' on 2011-10-06 at d6c6741)\n + url.c: simplify is_url()\n\n* jc/maint-grep-untracked-exclude (2011-10-04) 1 commit\n + grep: teach --untracked and --exclude-standard options\n (this branch is used by jc/grep-untracked-exclude; uses bw/grep-no-index-no-exclude.)\n\n* jc/parse-options-boolean (2011-09-28) 5 commits\n  (merged to 'next' on 2011-10-06 at dd4936c)\n + apply: use OPT_NOOP_NOARG\n + revert: use OPT_NOOP_NOARG\n + parseopt: add OPT_NOOP_NOARG\n + archive.c: use OPT_BOOL()\n + parse-options: deprecate OPT_BOOLEAN\n\n* jn/ident-from-etc-mailname (2011-10-06) 2 commits\n  (merged to 'next' on 2011-10-06 at a68770d)\n + ident: do not retrieve default ident when unnecessary\n + ident: check /etc/mailname if email is unknown\n\n* jn/no-g-plus-s-on-bsd (2011-10-03) 1 commit\n  (merged to 'next' on 2011-10-06 at 3d85674)\n + Makefile: do not set setgid bit on directories on GNU/kFreeBSD\n\n* js/maint-merge-one-file-osx-expr (2011-10-06) 1 commit\n  (merged to 'next' on 2011-10-07 at fbb28a2)\n + merge-one-file: fix \"expr: non-numeric argument\"\n\n* nd/daemon-log-sock-errors (2011-10-03) 1 commit\n  (merged to 'next' on 2011-10-06 at 5f3630f)\n + daemon: log errors if we could not use some sockets\n\n* nd/document-err-packet (2011-10-03) 1 commit\n  (merged to 'next' on 2011-10-06 at 0c5f5d0)\n + pack-protocol: document \"ERR\" line\n\n* nd/git-daemon-error-msgs (2011-10-03) 1 commit\n  (merged to 'next' on 2011-10-06 at 209126d)\n + daemon: return \"access denied\" if a service is not allowed\n\n* nd/maint-autofix-tag-in-head (2011-09-18) 4 commits\n  (merged to 'next' on 2011-10-06 at c083e69)\n + Accept tags in HEAD or MERGE_HEAD\n + merge: remove global variable head[]\n + merge: use return value of resolve_ref() to determine if HEAD is invalid\n + merge: keep stash[] a local variable\n\nOriginally merged to 'next' on 2011-09-27.\n\n* nd/maint-sparse-errors (2011-09-22) 2 commits\n  (merged to 'next' on 2011-10-06 at e3cbb90)\n + Add explanation why we do not allow to sparse checkout to empty working tree\n + sparse checkout: show error messages when worktree shaping fails\n\nOriginally merged to 'next' on 2011-09-22.\n\n* rs/diff-cleanup-records-fix (2011-10-03) 2 commits\n  (merged to 'next' on 2011-10-06 at 91f035f)\n + diff: resurrect XDF_NEED_MINIMAL with --minimal\n + Revert removal of multi-match discard heuristic in 27af01\n\n* rs/name-rev-usage (2011-10-03) 1 commit\n  (merged to 'next' on 2011-10-06 at e51878e)\n + name-rev: split usage string\n\nOriginally merged to 'next' on 2011-10-05.\n\n* rs/pending (2011-10-03) 8 commits\n  (merged to 'next' on 2011-10-06 at 998462b)\n + commit: factor out clear_commit_marks_for_object_array\n + checkout: use leak_pending flag\n + bundle: use leak_pending flag\n + bisect: use leak_pending flag\n + revision: add leak_pending flag\n + checkout: use add_pending_{object,sha1} in orphan check\n + revision: factor out add_pending_sha1\n + checkout: check for \"Previous HEAD\" notice in t2020\n\n* rs/test-ctype (2011-10-03) 2 commits\n  (merged to 'next' on 2011-10-06 at b8c26d2)\n + test-ctype: add test for is_pathspec_magic\n + test-ctype: macrofy\n\nOriginally merged to 'next' on 2011-10-05.\n\n* sp/smart-http-failure (2011-10-04) 1 commit\n  (merged to 'next' on 2011-10-06 at 02f9982)\n + remote-curl: Fix warning after HTTP failure\n\n* zj/send-email-authen-sasl (2011-09-29) 1 commit\n  (merged to 'next' on 2011-10-06 at 78b31cd)\n + send-email: auth plain/login fix\n\nOriginally merged to 'next' on 2011-10-05.\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\nThe fix-up at the tip queued on fg/submodule-auto-push topic has been\nmoved to this topic.\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* cn/fetch-prune (2011-10-07) 4 commits\n - fetch: treat --tags like refs/tags/*:refs/tags/* when pruning\n - fetch: honor the user-provided refspecs when pruning refs\n - t5510: add tests for fetch --prune\n - fetch: free all the additional refspecs\n\nProbably needs a little bit more polish to reduce code duplication between\nexisting remote_find_tracking() and new find_in_refs().\n\n* jn/gitweb-manpages (2011-10-10) 6 commits\n . gitweb: Add gitweb manpages to 'gitweb' package in git.spec\n . Documentation: Add gitweb config variables to git-config(1)\n . Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages\n . gitweb: Add manpage for gitweb\n . gitweb: Add manpage for gitweb configuration files\n . Documentation: Preparation for gitweb manpages\n\nA re-roll already being discussed.\n\n* rr/revert-cherry-pick (2011-10-12) 7 commits\n - revert: further simplify parsing of a line in insn sheet\n - revert: Simplify passing command-line arguments around\n - revert: Allow mixed pick and revert instructions\n - revert: Make commit descriptions in insn sheet optional\n - revert: Fix buffer overflow in insn sheet parser\n - revert: Simplify getting commit subject\n - revert: Free memory after get_message call\n\nProbably needs a little bit more polish, e.g. squashing the tip fixup into\nan earlier one in the series.\n\n* jc/signed-commit (2011-10-05) 4 commits\n - commit: teach --gpg-sign option\n - Split GPG interface into its own helper library\n - rename \"match_refs()\" to \"match_push_refs()\"\n - send-pack: typofix error message\n\nThis is to replace the earlier \"signed push\" experiments. \"verify-tag\"\nequivalent needs to be written before this can proceed. I suspect that\nteaching \"verify-tag\" to notice and also handle signed commits would be\nthe easiest, but \"git tag --verify $commit\" might look slightly funny\nfrom the UI POV. I dunno.\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--------------------------------------------------\n[Cooking]\n\n* ef/mingw-syslog (2011-10-07) 1 commit\n  (merged to 'next' on 2011-10-11 at d5d6945)\n + mingw: avoid using strbuf in syslog\n\nWill merge to 'master' in the fourth wave.\n\n* jk/name-hash-dirent (2011-10-07) 1 commit\n  (merged to 'next' on 2011-10-11 at e2ea68b)\n + fix phantom untracked files when core.ignorecase is set\n\nWill merge to 'master' in the fourth wave.\n\n* js/merge-edit-option (2011-10-12) 1 commit\n  (merged to 'next' on 2011-10-12 at db28da3)\n + Teach merge the '[-e|--edit]' option\n\nWill merge to 'master' in the fifth wave.\n\n* mm/maint-config-explicit-bool-display (2011-10-10) 1 commit\n  (merged to 'next' on 2011-10-11 at 795939f)\n + config: display key_delim for config --bool --get-regexp\n\nWill merge to 'master' in the fourth wave.\n\n* rs/diff-whole-function (2011-10-10) 2 commits\n  (merged to 'next' on 2011-10-11 at 6196752)\n + diff: add option to show whole functions as context\n + xdiff: factor out get_func_line()\n\nWill merge to 'master' in the fifth wave.\n\n* rs/pickaxe (2011-10-07) 7 commits\n  (merged to 'next' on 2011-10-11 at 27d02b2)\n + pickaxe: factor out pickaxe\n + pickaxe: give diff_grep the same signature as has_changes\n + pickaxe: pass diff_options to contains and has_changes\n + pickaxe: factor out has_changes\n + pickaxe: plug regex/kws leak\n + pickaxe: plug regex leak\n + pickaxe: plug diff filespec leak with empty needle\n\nWill merge to 'master' in the fifth wave.\n\n* sc/difftool-skip (2011-10-14) 2 commits\n  (merged to 'next' on 2011-10-14 at b91c581)\n + t7800: avoid arithmetic expansion notation\n  (merged to 'next' on 2011-10-11 at 38d7e84)\n + git-difftool: allow skipping file by typing 'n' at prompt\n\nWill merge to 'master' in the fifth wave.\n\n* sg/completion (2011-10-10) 2 commits\n  (merged to 'next' on 2011-10-11 at 4724640)\n + completion: unite --format and --pretty for 'log' and 'show'\n + completion: unite --reuse-message and --reedit-message for 'notes'\n (this branch is used by sg/complete-refs; uses tm/completion-commit-fixup-squash.)\n\nWill merge to 'master' in the fourth wave.\n\n* tc/fetch-leak (2011-10-07) 1 commit\n  (merged to 'next' on 2011-10-11 at d867153)\n + fetch: plug two leaks on error exit in store_updated_refs\n\nWill merge to 'master' in the fourth wave.\n\n* jc/check-ref-format-fixup (2011-10-12) 2 commits\n - Restrict ref-like names immediately below $GIT_DIR\n - refs.c: move dwim_ref()/dwim_log() from sha1_name.c\n\nAn attempt to fix-up unfortunate side effect of mh/check-ref-format-3\ntopic. \"git show -s config\" is never meant to refer to $GIT_DIR/config\nand treat it as a file that records an object name.\n\nWill merge to 'next'.\n\n* jc/maint-remove-renamed-ref (2011-10-12) 1 commit\n  (merged to 'next' on 2011-10-12 at 819c3e4)\n + branch -m/-M: remove undocumented RENAMED-REF\n\nWill merge to 'master' in the fifth wave.\n\n* tm/completion-commit-fixup-squash (2011-10-06) 2 commits\n  (merged to 'next' on 2011-10-11 at 6bb192e)\n + completion: commit --fixup and --squash\n + completion: unite --reuse-message and --reedit-message handling\n (this branch is used by sg/complete-refs and sg/completion.)\n\nWill merge to 'master' in the fourth wave.\n\n* tm/completion-push-set-upstream (2011-10-06) 1 commit\n  (merged to 'next' on 2011-10-11 at 85544e5)\n + completion: push --set-upstream\n (this branch is used by sg/complete-refs.)\n\nWill merge to 'master' in the fourth wave.\n\n* js/no-cherry-pick-head-after-punted (2011-10-06) 1 commit\n  (merged to 'next' on 2011-10-10 at acb29ee)\n + Merge branch 'js/maint-no-cherry-pick-head-after-punted' into js/no-cherry-pick-head-after-punted\n (this branch uses js/maint-no-cherry-pick-head-after-punted.)\n\nWill merge to 'master' in the fifth wave.\n\n* js/maint-no-cherry-pick-head-after-punted (2011-10-06) 2 commits\n + cherry-pick: do not give irrelevant advice when cherry-pick punted\n + revert.c: defer writing CHERRY_PICK_HEAD till it is safe to do so\n (this branch is used by js/no-cherry-pick-head-after-punted.)\n\nWill merge to 'maint' later.\n\n* js/log-show-children (2011-10-04) 1 commit\n  (merged to 'next' on 2011-10-06 at de8f6f2)\n + log --children\n\nWill merge to 'master' in the fifth wave.\n\n* ph/transport-with-gitfile (2011-10-11) 5 commits\n  (merged to 'next' on 2011-10-12 at 6d58417)\n + Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile\n  (merged to 'next' on 2011-10-06 at 891b8b6)\n + Add test showing git-fetch groks gitfiles\n + Teach transport about the gitfile mechanism\n + Learn to handle gitfiles in enter_repo\n + enter_repo: do not modify input\n\nWill merge to 'master' in the fifth wave.\n\n* jc/checkout-from-tree-keep-local-changes (2011-09-30) 1 commit\n  (merged to 'next' on 2011-10-06 at 64061aa)\n + checkout $tree $path: do not clobber local changes in $path not in $tree\n\nOriginally merged to 'next' on 2011-10-05.\nWill merge to 'master' in the fourth wave.\n\n* ph/push-to-delete-nothing (2011-09-30) 1 commit\n  (merged to 'next' on 2011-10-06 at 33ac777)\n + receive-pack: don't pass non-existent refs to post-{receive,update} hooks\n\nWill merge to 'master' in the fourth wave.\n\n* js/bisect-no-checkout (2011-09-21) 1 commit\n  (merged to 'next' on 2011-10-06 at 0354e94)\n + bisect: fix exiting when checkout failed in bisect_start()\n\nOriginally merged to 'next' on 2011-09-21.\nWill merge to 'master' in the fourth wave.\n\n* jc/request-pull-show-head-4 (2011-10-09) 10 commits\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\nWill merge to 'master' in the fifth wave.\n\n* bc/attr-ignore-case (2011-10-11) 5 commits\n  (merged to 'next' on 2011-10-11 at daa6b51)\n + attr.c: respect core.ignorecase when matching attribute patterns\n + attr: read core.attributesfile from git_default_core_config\n + builtin/mv.c: plug miniscule memory leak\n + cleanup: use internal memory allocation wrapper functions everywhere\n + attr.c: avoid inappropriate access to strbuf \"buf\" member\n\nWill merge to 'master' in the fourth wave.\n\n--------------------------------------------------\n[Discarded]\n\n* jk/http-auth-keyring (2011-10-12) 23 commits\n . http_init: accept separate URL parameter\n . credential-cache: don't cache items without context\n . check_expirations: don't copy over same element\n . t0300: add missing EOF terminator for <<\n . credential-store: use a better storage format\n . t0300: make alternate username tests more robust\n . t0300: make askpass tests a little more robust\n . credential-cache: fix expiration calculation corner cases\n . docs: minor tweaks to credentials API\n . credentials: make credential_fill_gently() static\n . credentials: add \"getpass\" helper\n . credentials: add \"store\" helper\n . credentials: add \"cache\" helper\n . docs: end-user documentation for the credential subsystem\n . http: use hostname in credential description\n . allow the user to configure credential helpers\n . look for credentials in config before prompting\n . http: use credential API to get passwords\n . introduce credentials API\n - http: retry authentication failures for all http requests\n - remote-curl: don't retry auth failures with dumb protocol\n - improve httpd auth tests\n - url: decode buffers that are not NUL-terminated\n (this branch is used by js/cred-macos-x-keychain-2; is tangled with jk/http-auth.)\n\nDiscarded without prejudice to allow design level discussions to continue.\nExpecting a re-roll based on jk/http-auth\n\n* js/cred-macos-x-keychain-2 (2011-10-12) 1 commit\n . contrib: add a pair of credential helpers for Mac OS X's keychain\n (this branch uses jk/http-auth-keyring; is tangled with jk/http-auth.)\n\nDiscarded without prejudice to allow design level discussions to continue.\nExpecting a re-roll based on jk/http-auth\n"},{"id":"177793","messageId":"20111016165329.GA14226@sigill.intra.peff.net","threadId":"28684","inReplyTo":"7vd3dzximu.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Oct 2011, #05; Fri, 14)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-10-16T16:53:29Z","receivedAt":"2011-10-16T16:53:29Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Oct 14, 2011 at 04:23:21PM -0700, Junio C Hamano wrote:\n\n> * jk/pull-rebase-with-work-tree (2011-10-13) 1 commit\n>  - pull,rebase: handle GIT_WORK_TREE better\n> \n> Looked reasonable.\n> Will merge to 'next'.\n\nI'm not so sure. Didn't you demonstrate that cd_to_toplevel as-is will\nnot actually go to the toplevel if we're outside of the work tree?\n\nAnd changing it is non-trivial, because there may be weird cases that\nrely on staying there? See my final note in the thread:\n\n  http://article.gmane.org/gmane.comp.version-control.git/183519\n\n> * jk/daemon-msgs (2011-10-14) 1 commit\n>  - daemon: give friendlier error messages to clients\n> \n> Will merge to 'next'.\n\nI'm happy to tweak the \"access denied\" message if other people want. I\nkind of hoped it wouldn't matter, and that most sites would use\n--informative-errors.\n\n-Peff\n"},{"id":"177795","messageId":"7vvcrorh49.fsf@alter.siamese.dyndns.org","threadId":"28684","inReplyTo":"20111016165329.GA14226@sigill.intra.peff.net","subject":"Re: What's cooking in git.git (Oct 2011, #05; Fri, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-10-16T17:17:10Z","receivedAt":"2011-10-16T17:17:10Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Fri, Oct 14, 2011 at 04:23:21PM -0700, Junio C Hamano wrote:\n>\n>> * jk/pull-rebase-with-work-tree (2011-10-13) 1 commit\n>>  - pull,rebase: handle GIT_WORK_TREE better\n>> \n>> Looked reasonable.\n>> Will merge to 'next'.\n>\n> I'm not so sure. Didn't you demonstrate that cd_to_toplevel as-is will\n> not actually go to the toplevel if we're outside of the work tree?\n>\n> And changing it is non-trivial, because there may be weird cases that\n> rely on staying there? See my final note in the thread:\n>\n>   http://article.gmane.org/gmane.comp.version-control.git/183519\n\nHmm, I might be mistaken, but my impression was that sane people do not do\nso, that the discussion that originated this proposed patch was not such a\nuse case, and most importantly that fixing unsane ones is just the matter\nfor them to set GIT_WORKING_TREE correctly. So if anything, wouldn't\ngetting this in as early as possible to 'master' or at least 'next' help\ncatching a flaw in the above logic and possible downside in the real\nworld?\n\n>> * jk/daemon-msgs (2011-10-14) 1 commit\n>>  - daemon: give friendlier error messages to clients\n>> \n>> Will merge to 'next'.\n>\n> I'm happy to tweak the \"access denied\" message if other people want. I\n> kind of hoped it wouldn't matter, and that most sites would use\n> --informative-errors.\n\nI've already updated it with the \"not exported\" bit from Sitaram.\n\nThanks.\n"},{"id":"177796","messageId":"20111016172706.GA17348@sigill.intra.peff.net","threadId":"28684","inReplyTo":"7vvcrorh49.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Oct 2011, #05; Fri, 14)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-10-16T17:27:06Z","receivedAt":"2011-10-16T17:27:06Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Oct 16, 2011 at 10:17:10AM -0700, Junio C Hamano wrote:\n\n> >> * jk/pull-rebase-with-work-tree (2011-10-13) 1 commit\n> >>  - pull,rebase: handle GIT_WORK_TREE better\n> >> \n> >> Looked reasonable.\n> >> Will merge to 'next'.\n> >\n> > I'm not so sure. Didn't you demonstrate that cd_to_toplevel as-is will\n> > not actually go to the toplevel if we're outside of the work tree?\n> >\n> > And changing it is non-trivial, because there may be weird cases that\n> > rely on staying there? See my final note in the thread:\n> >\n> >   http://article.gmane.org/gmane.comp.version-control.git/183519\n> \n> Hmm, I might be mistaken, but my impression was that sane people do not do\n> so, that the discussion that originated this proposed patch was not such a\n> use case, and most importantly that fixing unsane ones is just the matter\n> for them to set GIT_WORKING_TREE correctly. So if anything, wouldn't\n> getting this in as early as possible to 'master' or at least 'next' help\n> catching a flaw in the above logic and possible downside in the real\n> world?\n\nHmm. I thought there were two separate problems:\n\n  1. my analysis was wrong, and \"git rev-parse --show-toplevel\" did not\n     actually show the root of the work tree when we were outside it\n     (and therefore cd_to_toplevel did not actually go anywhere)\n\n  2. some people might be outside of the work tree, set GIT_DIR\n     explicitly, but not bother setting GIT_WORK_TREE\n\nBut I was wrong on (1). If GIT_WORK_TREE is set, we _will_ actually go\nto its work tree, which is what we want. If it's not set, then we go\nnowhere, and assume the cwd is the work tree. Which is compatible with\ncurrent behavior, and makes (2) still work.\n\nSo I was thinking there was more problem then there is. I agree we\nshould let it go to 'next' to shake out any bugs.\n\nSorry for the noise.\n\n-Peff\n"},{"id":"177828","messageId":"20111017033706.GA26326@sigill.intra.peff.net","threadId":"28684","inReplyTo":"7vvcrorh49.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Oct 2011, #05; Fri, 14)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-10-17T03:37:06Z","receivedAt":"2011-10-17T03:37:06Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sun, Oct 16, 2011 at 10:17:10AM -0700, Junio C Hamano wrote:\n\n> >> * jk/daemon-msgs (2011-10-14) 1 commit\n> >>  - daemon: give friendlier error messages to clients\n> >> \n> >> Will merge to 'next'.\n> >\n> > I'm happy to tweak the \"access denied\" message if other people want. I\n> > kind of hoped it wouldn't matter, and that most sites would use\n> > --informative-errors.\n> \n> I've already updated it with the \"not exported\" bit from Sitaram.\n\nWhat you queued in d5570f4 looks sane, but the merge into next is\ncurious. It's an evil merge that turns on informative errors by default:\n\n  $ git show 415cf53\n  commit 415cf53e710b2ff44d485e253bb35a1ca5dff636\n  Merge: fbc2ee6 d5570f4\n  Author: Junio C Hamano <gitster@pobox.com>\n  Date:   Sat Oct 15 21:25:41 2011 -0700\n\n      Merge branch 'jk/daemon-msgs' into next\n\n      * jk/daemon-msgs:\n        daemon: give friendlier error messages to clients\n\n      Conflicts:\n          daemon.c\n\n  diff --cc daemon.c\n  index 91c4d9b,72fb53a..95b7df5\n  --- a/daemon.c\n  +++ b/daemon.c\n  @@@ -20,6 -20,7 +20,7 @@@\n    static int log_syslog;\n    static int verbose;\n    static int reuseaddr;\n   -static int informative_errors;\n  ++static int informative_errors = 1;\n\n    static const char daemon_usage[] =\n    \"git daemon [--verbose] [--syslog] [--export-all]\\n\"\n\n\nThe conflicts come from merging with Duy's version, which was already in\nnext. But the introduced line comes from my second patch, which was\nrightly dropped, and should not be there. Was this intentional, or did\nyou do something clever with \"git am\" and my original series during\nresolution and accidentally pull in that change?\n\n-Peff\n"},{"id":"177832","messageId":"7v39esp7uh.fsf@alter.siamese.dyndns.org","threadId":"28684","inReplyTo":"20111017033706.GA26326@sigill.intra.peff.net","subject":"Re: What's cooking in git.git (Oct 2011, #05; Fri, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-10-17T04:20:22Z","receivedAt":"2011-10-17T04:20:22Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> What you queued in d5570f4 looks sane, but the merge into next is\n> curious.\n\nThanks for spotting. I think I had rerere that recorded the conflict\nresolution with an older iteration of the topic with looser message\ndefault or something.\n"}]}