{"thread":{"id":"30896","subject":"What's cooking in git.git (Jun 2012, #07; Mon, 25)","startedAt":"2012-06-25T20:08:26Z","lastAt":"2012-06-25T20:08:26Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"194226","messageId":"7vmx3rf939.fsf@alter.siamese.dyndns.org","threadId":"30896","inReplyTo":null,"subject":"What's cooking in git.git (Jun 2012, #07; Mon, 25)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-06-25T20:08:26Z","receivedAt":"2012-06-25T20:08:26Z","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 batch of topics have graduated to 'master', and a handful\nof topics have entered 'next' for developer testing.\n\nYou can find the changes described here in the integration branches of the\nrepositories listed at\n\n    http://git-blame.blogspot.com/p/git-public-repositories.html\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* cn/cherry-pick-range-docs (2012-06-15) 2 commits\n  (merged to 'next' on 2012-06-21 at 5cf7f97)\n + git-cherry-pick.txt: clarify the use of revision range notation\n + Documentation: --no-walk is no-op if range is specified\n\nThe command line argument of \"git cherry-pick maint master..next\" is\njust an ordinary revision range, which is unintuitive and at least\ndeserves documentation.\n\n* jc/ustar-checksum-is-unsigned (2012-06-13) 1 commit\n  (merged to 'next' on 2012-06-21 at bb8e2b0)\n + archive: ustar header checksum is computed unsigned\n\n\"git archive\" incorrectly computed the header checksum; the symptom\nwas observed only when using pathnames with hi-bit set.\n\n* jk/no-more-asciidoc7 (2012-05-30) 2 commits\n  (merged to 'next' on 2012-06-19 at a36b498)\n + docs: drop antique comment from Makefile\n + docs: drop asciidoc7compatible flag\n\nOriginally merged to 'next' on 2012-06-05.\n\nWe no longer use AsciiDoc7 syntax in our documentation and favor a\nmore modern style.\n\n* lm/git-blame-el (2012-06-14) 3 commits\n  (merged to 'next' on 2012-06-21 at 6514487)\n + git-blame.el: Do not use bare 0 to mean (point-min)\n + git-blame.el: Use with-current-buffer where appropriate\n + git-blame.el: Do not use goto-line in lisp code\n\n* lp/no-cmd-http-fetch (2012-06-15) 1 commit\n  (merged to 'next' on 2012-06-21 at 242a10e)\n + builtin.h: remove unused cmd_<foo> declarations\n\nRemove unused declarations of nonexisting functions from a header\nfile.\n\n* nd/i18n-branch-lego (2012-06-07) 1 commit\n  (merged to 'next' on 2012-06-21 at 0cb53fc)\n + Remove i18n legos in notifying new branch tracking setup\n\nRestructure the way message strings are created, in preparation for\nmarking them for i18n.\n\n* nd/i18n-misc (2012-06-07) 3 commits\n  (merged to 'next' on 2012-06-21 at 0a82040)\n + rerere: remove i18n legos in result message\n + notes-merge: remove i18n legos in merge result message\n + reflog: remove i18n legos in pruning message\n\nRestructure the way message strings are created, in preparation for\nmarking them for i18n.\n\n* rr/doc-commit (2012-06-08) 1 commit\n  (merged to 'next' on 2012-06-21 at af8301c)\n + commit: document a couple of options\n\n* rs/git-blame-mapcar-mapc (2012-06-10) 1 commit\n  (merged to 'next' on 2012-06-21 at 71a3b36)\n + git-blame.el: use mapc instead of mapcar\n\n* rs/ipv6-ssh-url (2012-06-13) 1 commit\n  (merged to 'next' on 2012-06-21 at d0116a8)\n + git: Wrong parsing of ssh urls with IPv6 literals ignores port\n\nssh:// URLs to IPv6 hosts with custom port number were parsed\nincorrectly.\n\n--------------------------------------------------\n[New Topics]\n\n* mm/config-xdg (2012-06-25) 4 commits\n - config: write to $XDG_CONFIG_HOME/git/config file when appropriate\n - Let core.attributesfile default to $XDG_CONFIG_HOME/git/attributes\n - Let core.excludesfile default to $XDG_CONFIG_HOME/git/ignore\n - config: read (but not write) from $XDG_CONFIG_HOME/git/config file\n\nTeach git to read various information from $XDG_CONFIG_HOME/git/ to allow\nthe user to avoid cluttering $HOME.\n\n* mm/credential-plumbing (2012-06-25) 3 commits\n - git-remote-mediawiki: add credential support\n - git credential fill: output the whole 'struct credential'\n - add 'git credential' plumbing command\n\nExpose the credential API to scripted Porcelain writers.\n\n* th/diff-no-index-fixes (2012-06-22) 2 commits\n - diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes\n - diff: handle relative paths in no-index\n\n\"git diff --no-index\" did not correctly handle relative paths and\ndid not correctly give exit codes when run under \"--quiet\" option.\n\nWill merge to 'next'.\n\n* nd/clone-single-fix (2012-06-22) 1 commit\n - clone: fix ref selection in --single-branch --branch=xxx\n\n\"git clone --single-branch\" to clone a single branch did not limit\nthe cloning to the specified branch.\n\nWill merge to 'next'.\n\n--------------------------------------------------\n[Stalled]\n\n* db/vcs-svn (2012-06-01) 6 commits\n - vcs-svn: drop no-op reset methods\n - vcs-svn: fix signedness warnings\n - vcs-svn: prefer strstr over memmem\n - vcs-svn: prefer constcmp to prefixcmp\n - vcs-svn: simplify cleanup in apply_one_window()\n - vcs-svn: fix clang-analyzer error\n\nWaiting for Jonathan's clean-up offered earlier.\n\n* nl/http-proxy-more (2012-05-11) 2 commits\n - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY\n - http: Avoid limit of retrying request only twice\n\nI queued only the later two patches from this series, even though they do\nnot make much sense without the first one that seems to need a bit more\nwork, so that we won't forget.\n\nWill discard without prejudice, unless rerolled.\n\n* jk/no-op-push-message (2012-05-30) 1 commit\n - improve no-op push output\n\nRewords the status message of \"git push\" that pushed only one ref\ndifferently from \"Everything up-to-date\", to give a bit more help to\npeople who get the message when their current branch is not pushed.\n\nI had an impression after the discussion thread that a redesign is\ncoming, but it hasn't happened yet.\n\nWill discard without prejudice, unless rerolled.\n\n* jc/apply-3way (2012-06-13) 19 commits\n - apply --3way: tests\n - apply: document --3way option\n - apply: allow rerere() upon --3way results\n - apply: register conflicted stages to the index\n - apply: --3way with add/add conflict\n - apply: move verify_index_match() higher\n - apply: plug the three-way merge logic in\n - apply: fall back on three-way merge\n - apply: accept -3/--3way command line option\n - apply: move \"already exists\" logic to check_to_create()\n - apply: move check_to_create_blob() closer to its sole caller\n - apply: further split load_preimage()\n - apply: refactor \"previous patch\" logic\n - apply: split load_preimage() helper function out\n - apply: factor out checkout_target() helper function\n - apply: refactor read_file_or_gitlink()\n - apply: clear_image() clears things a bit more\n - apply: a bit more comments on PATH_TO_BE_DELETED\n - apply: fix an incomplete comment in check_patch()\n\n\"git apply\" learns to wiggle the base version and perform three-way merge\nwhen a patch does not exactly apply to the version you have.\n\nWaiting for comments.\n\n* jc/maint-push-refs-all (2012-05-04) 2 commits\n - get_fetch_map(): tighten checks on dest refs\n - fetch/push: allow refs/*:refs/*\n\nAllows pushing and fetching refs/stash.\nThere still seem to be other bugs hiding (e.g. try pushing twice).\n\nNot ready.\n\n* jc/split-blob (2012-04-03) 6 commits\n - chunked-object: streaming checkout\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 - packfile: use varint functions\n\nNot ready.\n\nI finished the streaming checkout codepath, but as explained in\n127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),\nthese are still early steps of a long and painful journey. At least\npack-objects and fsck need to learn the new encoding for the series\nto be usable locally, and then index-pack/unpack-objects needs to\nlearn it to be used remotely.\n\nGiven that I heard a lot of noise that people want large files, and\nthat I was asked by somebody at GitTogether'11 privately for an\nadvice on how to pay developers (not me) to help adding necessary\nsupport, I am somewhat dissapointed that the original patch series\nthat was sent almost two months ago still remains here without much\ncomments and updates from the developer community. I even made the\ninterface to the logic that decides where to split chunks easily\nreplaceable, and I deliberately made the logic in the original patch\nextremely stupid to entice others, especially the \"bup\" fanboys, to\ncome up with a better logic, thinking that giving people an easy\ntarget to shoot for, they may be encouraged to help out. The plan is\nnot working :-(.\n\n--------------------------------------------------\n[Cooking]\n\n* vr/use-our-perl-in-tests (2012-06-24) 5 commits\n - test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier\n - t/README: add a bit more Don'ts\n - tests: enclose $PERL_PATH in double quotes\n - t/test-lib.sh: export PERL_PATH for use in scripts\n - t: Replace 'perl' by $PERL_PATH\n\nThe tip one is iffy and needs to be carefully proof-read by folks\nwho have worked on adding various features to the test suite, e.g. \nvalgrind, testing in an out of tree trash area, running under prove,\netc.\n\n* jc/sha1-name-more (2012-06-23) 9 commits\n - sha1_name.c: get_describe_name() by definition groks only commits\n - sha1_name.c: teach get_short_sha1() a commit-only option\n - sha1_name.c: allow get_short_sha1() to take other flags\n - sha1_name.c: restructure disambiguation of short names\n - sha1_name.c: correct misnamed \"canonical\" and \"res\"\n - sha1_name.c: refactor find_short_packed_object()\n - sha1_name.c: rename \"now\" to \"current\"\n - sha1_name.c: clarify what \"fake\" is for in find_short_object_filename()\n - sha1_name.c: indentation fix\n\nTeaches the object name parser that a \"git describe\" output is\nalways a commit object, to prolong the lifetime of abbreviated\nobject name in it.\n\nIt has a handful of failing tests that show directions for a couple\nof enhancement ideas.\n\n* jk/version-string-dependency (2012-06-20) 11 commits\n - Makefile: move GIT-VERSION-FILE dependencies closer to use\n - Makefile: build instaweb similar to other scripts\n - Makefile: update scripts when build-time parameters change\n - Makefile: do not replace @@GIT_VERSION@@ in shell scripts\n - Makefile: split prefix flags from GIT-CFLAGS\n - Makefile: split GIT_USER_AGENT from GIT-CFLAGS\n - Makefile: do not replace @@GIT_USER_AGENT@@ in scripts\n - Makefile: apply dependencies consistently to sparse/asm targets\n - Makefile: do not have git.o depend on common-cmds.h\n - Makefile: fold MISC_H into LIB_H\n - Makefile: sort LIB_H list\n\nWill keep in 'pu' to give Peff and Jonathan to work out improvements\nfor a week or so.\n\n* jn/perl-makemaker-leading-paths (2012-06-15) 1 commit\n - perl/Makefile: move \"mkdir -p\" to module installation loop for maintainability\n\nWill merge to 'next' after waiting for a few more days.\n\n* mm/verify-filename-fix (2012-06-18) 2 commits\n  (merged to 'next' on 2012-06-21 at d03dace)\n + verify_filename(): ask the caller to chose the kind of diagnosis\n + sha1_name: do not trigger detailed diagnosis for file arguments\n\n\"git diff COPYING HEAD:COPYING\" gave a nonsense error message that\nclaimed that the treeish HEAD did not have COPYING in it.\n\nWill merge to 'master'.\n\n* tr/maint-show-walk (2012-06-19) 2 commits\n - show: fix \"range implies walking\"\n - Demonstrate git-show is broken with ranges\n\nFixes \"git show\"'s auto-walking behaviour, and make it behave just\nlike \"git log\" does when it walks.\n\nNote that this is different from Thomas's patch.\n\nWaiting for response from original author.\n\n* fc/git-prompt-script (2012-06-19) 7 commits\n  (merged to 'next' on 2012-06-25 at e690a02)\n + completion: respect $GIT_DIR\n + completion: warn people about duplicated function\n + completion: split __git_ps1 into a separate script\n + completion: remove executable mode\n + Merge branch 'fc/git-complete-helper' into fc/git-prompt-script\n + tests: add tests for the bash prompt functions in the completion script\n + tests: move code to run tests under bash into a helper library\n\nSplit a rather heavy-ish \"git completion\" script out to create a\nseparate \"git prompting\" script, to help lazy-autoloading of the\ncompletion part while making prompting part always available.\n\n* jk/diff-no-index-pager (2012-06-15) 2 commits\n  (merged to 'next' on 2012-06-21 at e2a2562)\n + do not run pager with diff --no-index --quiet\n + fix pager.diff with diff --no-index\n\n\"git diff --no-index\" did not work with pagers correctly.\n\nWill merge to 'master'.\n\n* hv/remote-end-hung-up (2012-06-19) 1 commit\n  (merged to 'next' on 2012-06-25 at d3f29e2)\n + remove the impression of unexpectedness when access is denied\n\nWhen we get disconnected while expecting a response from the remote\nside because authentication failed, we issued an error message \"The\nremote side hung up unexpectedly.\"  Give hint that it may be a\npermission problem in the message when we can reasonably suspect it.\n\n* hv/submodule-update-nuke-submodules (2012-06-11) 1 commit\n  (merged to 'next' on 2012-06-25 at bbfcd02)\n + update-index: allow overwriting existing submodule index entries\n\n\"git add\" allows adding a regular file to the path where a submodule\nused to exist, but \"git update-index\" does not allow an equivalent\noperation to Porcelain writers.\n\n* jc/rev-list-simplify-merges-first-parent (2012-06-13) 3 commits\n  (merged to 'next' on 2012-06-25 at 4c5ffbe)\n + revision: ignore side parents while running simplify-merges\n + revision: note the lack of free() in simplify_merges()\n + revision: \"simplify\" options imply topo-order sort\n\nWhen \"--simplify-merges/by-decoration\" is given together with\n\"--first-parent\" to \"git log\", the combination of these options\nmakes the simplification logic to use in-core commit objects that\nhaven't been examined for relevance, either producing incorrect\nresult or taking too long to produce any output.  Teach the\nsimplification logic to ignore commits that the first-parent\ntraversal logic ignored when both are in effect to work around the\nissue.\n\n* nd/exclude-workaround-top-heavy (2012-06-07) 3 commits\n  (merged to 'next' on 2012-06-25 at 08429bb)\n + exclude: do strcmp as much as possible before fnmatch\n + dir.c: get rid of the wildcard symbol set in no_wildcard()\n + Unindent excluded_from_list()\n\nAttempt to optimize matching with an exclude pattern with a deep\ndirectory hierarchy by taking the part that specifies leading path\nwithout wildcard literally.\n\n* lk/more-helpful-status-hints (2012-06-14) 4 commits\n  (merged to 'next' on 2012-06-25 at 6502d4b)\n + status: better advices when splitting a commit (during rebase -i)\n + status: don't suggest \"git rm\" or \"git add\" if not appropriate\n + t7512-status-help.sh: better advices for git status\n + wt-status.*: better advices for git status added\n\nGive finer classification to various states of paths in conflicted\nstate and offer advice messages in the \"git status\" output.\n\n* jk/no-more-pre-exec-callback (2012-06-05) 1 commit\n - pager: drop \"wait for output to run less\" hack\n\nWill defer for 6 months until ancient \"less\" goes extinct.\n\n* lk/rebase-i-x (2012-06-13) 1 commit\n  (merged to 'next' on 2012-06-25 at 8252da2)\n + rebase -i: teach \"--exec <cmd>\"\n\nTeach \"-x <cmd>\" to \"rebase -i\" to insert \"exec <cmd>\" after each\ncommit in the resulting history.\n\n* nd/stream-pack-objects (2012-05-29) 1 commit\n  (merged to 'next' on 2012-06-25 at fa91345)\n + pack-objects: use streaming interface for reading large loose blobs\n\n\"pack-objects\" learned to read large loose blobs using the streaming API,\nwithout the need to hold everything in core at once.\n\n* nd/stream-index-pack (2012-05-24) 4 commits\n  (merged to 'next' on 2012-06-25 at 3084674)\n + index-pack: use streaming interface for collision test on large blobs\n + index-pack: factor out unpack core from get_data_from_pack\n + index-pack: use streaming interface on large blobs (most of the time)\n + index-pack: hash non-delta objects while reading from stream\n\nUse streaming API to read from the object store to avoid having to hold\na large blob object in-core while running index-pack.\n\n* js/submodule-relative (2012-06-14) 5 commits\n  (merged to 'next' on 2012-06-25 at 310ed77)\n + t7400: avoid path mangling issues\n + submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar\n + submodule: fix sync handling of some relative superproject origin URLs\n + submodule: document failure to handle relative superproject origin URLs\n + submodule: additional regression tests for relative URLs\n\nTeach \"git submodule\" deal with nested submodule structure where a\nmodule is contained within a module whose origin is specified as a\nrelative URL to its superproject's origin.\n\n* mm/push-default-switch-warning (2012-06-24) 1 commit\n - push: start warning upcoming default change for push.default\n\nWill merge to 'next'.\n\nHopwefully we can have a solidly tested series early in 1.7.12 or\n1.7.13 at the latest.\n\n--------------------------------------------------\n[Discarded]\n\n* jc/run-hook-env-1 (2012-03-11) 1 commit\n . run_hook(): enhance the interface to pass arbitrary environment\n\nUpdates run_hook() API to be much less specific to \"commit\".  It would\nonly be useful if people start doing more interesting things with hooks.\n\n* sg/bash-prompt (2012-05-09) 4 commits\n . completion: respect $GIT_DIR\n . completion: use __gitdir() in _git_log()\n - tests: add tests for the bash prompt functions in the completion script\n - tests: move code to run tests under bash into a helper library\n (this branch is tangled with fc/git-prompt-script.)\n\nThis is only the \"correction\" bits taken from the beginning of a\nlarger series that is to be rerolled.  The tip commit has been\ncherry-picked to fc/fc/git-prompt-script topic.\n"}]}