{"thread":{"id":"31254","subject":"What's cooking in git.git (Aug 2012, #04; Tue, 14)","startedAt":"2012-08-14T22:05:14Z","lastAt":"2012-08-14T22:05:14Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"197024","messageId":"7va9xx86zp.fsf@alter.siamese.dyndns.org","threadId":"31254","inReplyTo":null,"subject":"What's cooking in git.git (Aug 2012, #04; Tue, 14)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-08-14T22:05:14Z","receivedAt":"2012-08-14T22:05:14Z","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\nHopefully tomorrow's 1.7.12-rc3 will be the final rc before the real\nthing.\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[New Topics]\n\n* hv/submodule-path-unmatch (2012-08-14) 1 commit\n - Let submodule command exit with error status if path does not exist\n\nAs the title says.\n\n* jc/add-delete-default (2012-08-13) 1 commit\n - git add: notice removal of tracked paths by default\n\n\"git add dir/\" updated modified files and added new files, but does\nnot notice removed files, which may be \"Huh?\" to some users.  They\ncan of course use \"git add -A dir/\", but why should they?\n\n* jc/maint-rev-list-topo-doc (2012-08-13) 1 commit\n - rev-list docs: clarify --topo-order description\n\nFurther rewording suggestions by Martin and Thomas were good, but\nhaven't been incorporated into this patch.\n\n--------------------------------------------------\n[Stalled]\n\n* mz/rebase-range (2012-07-18) 7 commits\n . rebase (without -p): correctly calculate patches to rebase\n . rebase -p: don't request --left-right only to ignore left side\n . rebase -p: use --cherry-mark for todo file\n . git-rebase--interactive.sh: look up subject in add_pick_line\n . git-rebase--interactive: group all $preserve_merges code\n . git-rebase--interactive.sh: extract function for adding \"pick\" line\n . git-rebase--am.sh: avoid special-casing --keep-empty\n\nExpecting a reroll.\n\nPerformance concerns from Windows folks.  Also the series lacks\nproper sign-offs.\n\n* jl/submodule-rm (2012-07-05) 2 commits\n - rm: remove submodules from the index and the .gitmodules file\n - rm: don't fail when removing populated submodules\n\nExpecting a reroll.\n\n* ph/stash-rerere (2012-07-08) 2 commits\n - stash: invoke rerere in case of conflict\n - test: git-stash conflict sets up rerere\n\nWill be rerolled but is going in the right direction.\n\n* lt/commit-tree-guess-utf-8 (2012-06-28) 1 commit\n - commit/commit-tree: correct latin1 to utf-8\n\nTeaches \"git commit\" and \"git commit-tree\" the \"we are told to use\nutf-8 in log message, but this does not look like utf-8---attempt to\npass it through convert-from-latin1-to-utf8 and see if it makes\nsense\" heuristics \"git mailinfo\" already uses.\n\nA draft from Linus received privately without a log message.\nExpecting a reroll.\n\n* mb/remote-default-nn-origin (2012-07-11) 6 commits\n - Teach get_default_remote to respect remote.default.\n - Test that plain \"git fetch\" uses remote.default when on a detached HEAD.\n - Teach clone to set remote.default.\n - Teach \"git remote\" about remote.default.\n - Teach remote.c about the remote.default configuration setting.\n - Rename remote.c's default_remote_name static variables.\n\nWhen the user does not specify what remote to interact with, we\noften attempt to use 'origin'.  This can now be customized via a\nconfiguration variable.\n\nExpecting a reroll.\n\"The first remote becomes the default\" bit is better done as a\nseparate step.\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 long time ago still remains here without much comments\nand updates from the developer community. I even made the interface\nto the logic that decides where to split chunks easily replaceable,\nand I deliberately made the logic in the original patch extremely\nstupid to entice others, especially the \"bup\" fanbois, to come up\nwith a better logic, thinking that giving people an easy target to\nshoot for, they may be encouraged to help out. The plan is not\nworking :-<.\n\n--------------------------------------------------\n[Cooking]\n\n* bc/receive-pack-stdout-protection (2012-08-06) 2 commits\n  (merged to 'next' on 2012-08-07 at d7aa316)\n + receive-pack: do not leak output from auto-gc to standard output\n + t/t5400: demonstrate breakage caused by informational message from prune\n\nWhen \"git push\" triggered the automatic gc on the receiving end, a\nmessage from \"git prune\" that said it was removing cruft leaked to\nthe standard output, breaking the communication protocol.\n\nNot urgent (non regression).\n\n* bc/prune-info (2012-08-07) 1 commit\n - prune.c: only print informational message in show_only or verbose mode\n\nTeach \"git prune\" without \"-v\" to be silent about leftover temporary files.\n\nNot urgent (non regression).\n\n* jc/tag-doc (2012-08-06) 1 commit\n - Documentation: do not mention .git/refs/* directories\n\nOur documentation used to assume having files in .git/refs/*\ndirectories was the only to have branches and tags, but that is not\ntrue for quite some time.\n\nNot urgent (non regression).\n\n* jk/docs-docbook-monospace-display (2012-08-07) 1 commit\n - docs: monospace listings in docbook output\n\nThe documentation in the TeXinfo format was using indented output\nfor materials meant to be examples that are better typeset in\nmonospace.\n\nNot urgent (non regression).\n\n* jc/maint-protect-sh-from-ifs (2012-08-08) 1 commit\n - sh-setup: protect from exported IFS\n\nWhen the user exports a non-default IFS without HT, scripts that\nrely on being able to parse \"ls-files -s | while read a b c...\"\nstart to fail.  Protect them from such a misconfiguration.\n\n* jk/check-docs-update (2012-08-08) 8 commits\n - check-docs: get documented command list from Makefile\n - check-docs: drop git-help special-case\n - check-docs: list git-gui as a command\n - check-docs: factor out command-list\n - command-list: mention git-credential-* helpers\n - command-list: add git-sh-i18n\n - check-docs: update non-command documentation list\n - check-docs: mention gitweb specially\n\nSimplify \"make check-docs\" implementation and update its coverage.\n\n* js/gitweb-path-info-unquote (2012-08-09) 1 commit\n - gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO\n\nStripping of PATH_INFO in gitweb did not take url style quoting into\naccount, failing to notice directories with funny characters e.g. SP\nin their paths.\n\n* mg/rebase-i-onto-reflog-in-full (2012-08-10) 1 commit\n - rebase -i: use full onto sha1 in reflog\n\nThe reflog entries left by \"git rebase\" and \"git rebase -i\" were\ninconsistent.\n\n* mz/empty-rebase-test (2012-08-09) 1 commit\n - add tests for 'git rebase --keep-empty'\n\n* jc/capabilities (2012-08-13) 3 commits\n - fetch-pack: mention server version with verbose output\n - parse_feature_request: make it easier to see feature values\n - fetch-pack: do not ask for unadvertised capabilities\n (this branch uses jk/version-string.)\n\nSome capabilities were asked by fetch-pack even when upload-pack did\nnot advertise that they are available.  Fix fetch-pack not to do so.\n\n* pw/p4-use-client-spec-branch-detection (2012-08-11) 5 commits\n - git p4: make branch detection work with --use-client-spec\n - git p4: do wildcard decoding in stripRepoPath\n - git p4: set self.branchPrefixes in initialization\n - git p4 test: add broken --use-client-spec --detect-branches tests\n - git p4 test: move client_view() function to library\n\n* jc/maint-push-refs-all (2012-08-07) 2 commits\n - get_fetch_map(): tighten checks on dest refs\n - fetch/push: allow refs/*:refs/*\n\nAllows pushing and fetching refs/stash.\n\n* jk/version-string (2012-08-10) 3 commits\n  (merged to 'next' on 2012-08-10 at d8dcb00)\n + do not send client agent unless server does first\n + send-pack: fix capability-sending logic\n  (merged to 'next' on 2012-08-09 at 64dc91b)\n + include agent identifier in capability string\n (this branch is used by jc/capabilities.)\n\nLeftover bits from the \"git version\" code restructuring, that give\nus an ability to expose the Git version over the wire in the\nprotocol exchange. But we do so carefully only to the other end that\nunderstands it.\n\nNot urgent (non regression).\n\n* js/grep-patterntype-config (2012-08-03) 1 commit\n  (merged to 'next' on 2012-08-09 at 1a08d6c)\n + grep: add a grep.patternType configuration setting\n\n\"grep\" learned to use a non-standard pattern type by default if a\nconfiguration variable tells it to.\n\nNot urgent (non regression).\n\n* mm/die-with-dashdash-help (2012-08-03) 1 commit\n  (merged to 'next' on 2012-08-09 at 1aae096)\n + setup: clarify error messages for file/revisions ambiguity\n\nReword error messages.\nNot urgent (non regression).\n\n* tr/merge-recursive-flush (2012-08-03) 1 commit\n  (merged to 'next' on 2012-08-09 at da826ec)\n + merge-recursive: eliminate flush_buffer() in favor of write_in_full()\n\nRemove unnecessary code.\nNot urgent (non regression).\n\n* tr/void-diff-setup-done (2012-08-03) 1 commit\n  (merged to 'next' on 2012-08-09 at 668a46f)\n + diff_setup_done(): return void\n\nRemove unnecessary code.\nNot urgent (non regression).\n\n* mk/test-seq (2012-08-04) 1 commit\n  (merged to 'next' on 2012-08-06 at 3f6917c)\n + tests: Introduce test_seq\n (this branch is used by ab/diff-write-incomplete-line.)\n\nAdd a compatibility/utility function to the test framework. \n\nNot urgent (non regression).\n\n* ab/diff-write-incomplete-line (2012-08-05) 1 commit\n  (merged to 'next' on 2012-08-07 at dcf02ae)\n + Fix '\\ No newline...' annotation in rewrite diffs\n (this branch uses mk/test-seq.)\n\nThe output from \"git diff -B\" for a file that ends with an\nincomplete line did not put \"\\ No newline...\" on a line of its own.\n\nNot urgent (non regression).\n\n* pg/maint-apply-remove-unused-variable (2012-08-05) 1 commit\n  (merged to 'next' on 2012-08-05 at aa9f5e9)\n + apply: delete unused deflate_origlen from patch struct\n\nRemove unused field.\nNot urgent (non regression).\n\n* tg/index-v5 (2012-08-09) 15 commits\n - fixup! Read index-v5\n - fixup! update-index.c: always rewrite the index when index-version is given\n - p0002-index.sh: add perf test for the index formats\n - update-index.c: always rewrite the index when index-version is given\n - Write resolve-undo data for index-v5\n - Write index-v5 cache-tree data\n - Write index-v5\n - Read cache-tree in index-v5\n - Read resolve-undo data\n - Read index-v5\n - Make in-memory format aware of stat_crc\n - Add documentation of the index-v5 file format\n - t3700: Avoid interfering with the racy code\n - t2104: Don't fail for index versions other than [23]\n - Move index v2 specific functions to their own file\n\nA GSoC project, queued here primarily to give people an easier\naccess to the state of the last posted version, plus trivial\nfixups.\n\n* nd/index-errno (2012-08-06) 1 commit\n  (merged to 'next' on 2012-08-06 at a9f2101)\n + read_index_from: remove bogus errno assignments\n\nAssignments to errno before calling system functions that used to\nmatter in the old code were left behind after the code structure\nchanged sufficiently to make them useless.\n\nNot urgent (non regression).\n\n* jc/maint-sane-execvp-notdir (2012-07-31) 1 commit\n  (merged to 'next' on 2012-08-09 at 5dd4240)\n + sane_execvp(): ignore non-directory on $PATH\n\n\"git foo\" errored out with \"Not a directory\" when the user had a non\ndirectory on $PATH, and worse yet it masked an alias \"foo\" to run.\n\nNot urgent (non regression).\n\n* jc/sanitize-nkd-lazy-iconv-open (2012-07-31) 1 commit\n  (merged to 'next' on 2012-08-09 at 832c238)\n + macos: lazily initialize iconv\n\nTeach the code that works around NKD/NKC gotcha on MacOS to call\niconv_open() only when it is necessary, in the hope of avoiding\nset-up overhead.\n\nNot urgent (non regression).\n\n* tr/maint-send-email-2047 (2012-07-31) 1 commit\n  (merged to 'next' on 2012-08-09 at 17dfe57)\n + send-email: improve RFC2047 quote parsing\n\n\"git send-email\" did not unquote encoded words that appear on the\nheader correctly, and lost \"_\" from strings.\n\nNot urgent (non regression).\n\n* cw/cherry-pick-allow-empty-message (2012-08-06) 1 commit\n  (merged to 'next' on 2012-08-09 at eab95f6)\n + cherry-pick: add --allow-empty-message option\n\n\"git cherry-pick\" by default stops when it sees a commit without any\nlog message.  The \"--allow-empty-message\" option can be used to\nsilently proceed.\n\nNot urgent (non regression).\n\n* ms/git-svn-1.7 (2012-08-02) 20 commits\n - git-svn: remove ad-hoc canonicalizations\n - git-svn: canonicalize newly-minted URLs\n - git-svn: introduce add_path_to_url function\n - git-svn: canonicalize earlier\n - git-svn: replace URL escapes with canonicalization\n - git-svn: attempt to mimic SVN 1.7 URL canonicalization\n - t9107: fix typo\n - t9118: workaround inconsistency between SVN versions\n - Git::SVN{,::Ra}: canonicalize earlier\n - git-svn: path canonicalization uses SVN API\n - Git::SVN::Utils: remove irrelevant comment\n - git-svn: add join_paths() to safely concatenate paths\n - git-svn: factor out _collapse_dotdot function\n - git-svn: use SVN 1.7 to canonicalize when possible\n - git-svn: move canonicalization to Git::SVN::Utils\n - use Git::SVN{,::RA}->url accessor globally\n - use Git::SVN->path accessor globally\n - Git::SVN::Ra: use accessor for URLs\n - Git::SVN: use accessor for URLs internally\n - Git::SVN: use accessors internally for path\n\nA series by Michael Schwern via Eric to update git-svn to revamp the\nway URLs are internally passed around, to make it work with SVN 1.7.\n\n* jc/maint-t7406-rev-parse-max-count-huh (2012-07-30) 1 commit\n  (merged to 'next' on 2012-07-30 at 9b27acc)\n + t7406: fix misleading \"rev-parse --max-count=1 HEAD\"\n\nTest clean-up, with no behaviour change.\nNot urgent (non regression).\n\n* jk/maint-diff-nul40-as-sentinel (2012-07-29) 1 commit\n + diff: do not use null sha1 as a sentinel value\n (this branch is used by jk/maint-null-in-trees.)\n\n\"git diff\" had a confusion between taking data from a path in the\nworking tree and taking data from an object that happens to have\nname 0{40} recorded in a tree.\nNot urgent (non regression).\n\n* mz/cherry-code-cleanup (2012-07-29) 3 commits\n - cherry: remove redundant check for merge commit\n - cherry: don't set ignored rev_info options\n - remove unnecessary parameter from get_patch_ids()\n\nMinor code clean-up on the cherry-pick codepath.\nNot urgent (non regression).\n\n* jc/maint-config-exit-status (2012-07-30) 1 commit\n  (merged to 'next' on 2012-07-30 at 8392da9)\n + config: \"git config baa\" should exit with status 1\n\nThe exit status code from \"git config\" was way overspecified while\nbeing incorrect.  Update the implementation to give the documented\nstatus for a case that was documented, and introduce a new code for\n\"all other errors\".\n\nNot urgent (non regression).\n\n* jk/maint-null-in-trees (2012-07-29) 2 commits\n  (merged to 'next' on 2012-07-30 at 771c497)\n + fsck: detect null sha1 in tree entries\n + do not write null sha1s to on-disk index\n (this branch uses jk/maint-diff-nul40-as-sentinel.)\n\nWe do not want a link to 0{40} object stored anywhere in our objects.\n\nNot urgent (non regression).\n\n* sz/submodule-force-update (2012-07-25) 1 commit\n  (merged to 'next' on 2012-07-26 at 3bda2be)\n + Make 'git submodule update --force' always check out submodules.\n\nWe may want a documentation update and a few tests on top.\n\nNot urgent (non regression).\n\n* jc/test-prereq (2012-08-04) 8 commits\n  (merged to 'next' on 2012-08-04 at 6dd9156)\n + fixup! t3910: use the UTF8_NFD_TO_NFC test prereq\n  (merged to 'next' on 2012-07-30 at b7c6949)\n + t3910: use the UTF8_NFD_TO_NFC test prereq\n  (merged to 'next' on 2012-07-27 at 448cbbc)\n + test-lib: provide UTF8 behaviour as a prerequisite\n + t0050: use the SYMLINKS test prereq\n + t0050: use the CASE_INSENSITIVE_FS test prereq\n + test-lib: provide case insensitivity as a prerequisite\n + test: allow prerequisite to be evaluated lazily\n + test: rename $satisfied to $satisfied_prereq\n\nTeaches the test framework to probe rarely used prerequistes lazily,\nand make use of it for detecting SYMLINKS, CASE_INSENSITIVE_FS and\nNKD/NKC MacOS x gotcha.\n\nNot urgent (non regression).\n\n* da/difftool-updates (2012-08-10) 12 commits\n  (merged to 'next' on 2012-08-10 at 4accbf6)\n + Add Code Compare v2.80.4 as a merge / diff tool for Windows\n + mergetool,difftool: Document --tool-help consistently\n  (merged to 'next' on 2012-07-26 at 3263461)\n + difftool: Disable --symlinks on cygwin\n + difftool: Handle compare() returning -1\n + difftool: Wrap long lines for readability\n + difftool: Check all return codes from compare()\n + difftool: Handle finding mergetools/ in a path with spaces\n  (merged to 'next' on 2012-07-23 at 96528a7)\n + difftool: Use symlinks when diffing against the worktree\n + difftool: Call the temp directory \"git-difftool\"\n + difftool: Move option values into a hash\n + difftool: Eliminate global variables\n + difftool: Simplify print_tool_help()\n\n\"git difftool --dir-diff\" learned to use symbolic links to prepare\ntemporary copy of the working tree when available.\n\nNot urgent (non regression).\n\n* jk/no-more-pre-exec-callback (2012-06-05) 1 commit\n  (merged to 'next' on 2012-07-23 at fe59cb6)\n + pager: drop \"wait for output to run less\" hack\n\nWill defer for 6 months until ancient \"less\" goes extinct.\n\n* mm/push-default-switch-warning (2012-06-24) 1 commit\n  (merged to 'next' on 2012-06-26 at fea512a)\n + push: start warning upcoming default change for push.default\n\nWill defer for another cycle.\n"}]}