{"thread":{"id":"31032","subject":"What's cooking in git.git (Jul 2012, #05; Sun, 15)","startedAt":"2012-07-16T05:33:29Z","lastAt":"2012-07-16T05:33:29Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"195096","messageId":"7vobng46dy.fsf@alter.siamese.dyndns.org","threadId":"31032","inReplyTo":null,"subject":"What's cooking in git.git (Jul 2012, #05; Sun, 15)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-16T05:33:29Z","receivedAt":"2012-07-16T05:33:29Z","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 sixth batch of topics are now in 'master'.\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* sn/doc-typofix (2012-07-14) 1 commit\n - doc: A few minor copy edits.\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* ar/clone-honor-umask-at-top (2012-07-09) 3 commits\n  (merged to 'next' on 2012-07-10 at 680bc22)\n + add: create ADD_EDIT.patch with mode 0666\n + rerere: make rr-cache fanout directory honor umask\n + Restore umasks influence on the permissions of work tree created by clone\n\nA handful of files and directories we create had tighter than\nnecessary permission bits when the user wanted to have group\nwritability (e.g. by setting \"umask 002\").\n\n* cw/amend-commit-without-message (2012-07-09) 1 commit\n  (merged to 'next' on 2012-07-10 at e7c75d5)\n + Allow edit of empty message with commit --amend\n\n\"commit --amend\" used to refuse amending a commit with an empty log\nmessage, with or without \"--allow-empty-message\".\n\n* cw/rebase-i-root (2012-07-05) 3 commits\n  (merged to 'next' on 2012-07-05 at aeb4c56)\n + t3404: make test 57 work with dash and others\n  (merged to 'next' on 2012-07-03 at 231c0a4)\n + Add tests for rebase -i --root without --onto\n + rebase -i: support --root without --onto\n\n\"git rebase [-i] --root $tip\" can now be used to rewrite all the\nhistory down to the root.\n\n* jc/apply-3way (2012-07-09) 19 commits\n  (merged to 'next' on 2012-07-10 at fb5c872)\n + apply: tests for the --3way option\n + apply: document --3way option\n + apply: allow rerere() to work on --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\n* jk/index-pack-streaming-fix (2012-07-10) 1 commit\n  (merged to 'next' on 2012-07-13 at c575338)\n + index-pack: loop while inflating objects in unpack_data\n\nThe streaming index-pack introduced in 1.7.11 had a data corruption\nbug, and this should fix it.\n\n* jk/maint-commit-amend-only-no-paths (2012-07-10) 1 commit\n  (merged to 'next' on 2012-07-10 at 1c650c2)\n + commit: fix \"--amend --only\" with no pathspec\n\n\"git commit --amend --only --\" was meant to allow \"Clever\" people to\nrewrite the commit message without making any change even when they\nhave already changes for the next commit added to their index, but\nit never worked as advertised since it was introduced in 1.3.0 era.\n\n* jk/push-delete-ref-error-message (2012-07-03) 1 commit\n  (merged to 'next' on 2012-07-09 at 82c6bd2)\n + push: don't guess at qualifying remote refs on deletion\n\nThe error message from \"git push $there :bogo\" mentioned we tried\nand failed to guess what ref is being deleted based on the LHS of\nthe refspec, which we don't.\n\n* jn/makefile-cleanup (2012-07-09) 14 commits\n  (merged to 'next' on 2012-07-10 at f55e6a1)\n + Makefile: document ground rules for target-specific dependencies\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: be silent when only GIT_USER_AGENT changes\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 XDIFF_H and VCSSVN_H into LIB_H\n + Makefile: fold MISC_H into LIB_H\n + Makefile: sort LIB_H list\n\nTightens dependency rules to avoid unnecessary recompilation.\n\n* pw/git-p4-jobs (2012-07-05) 3 commits\n  (merged to 'next' on 2012-07-10 at c6ef8f9)\n + git p4: notice Jobs lines in git commit messages\n + git p4 test: refactor marshal_dump\n + git p4: remove unused P4Submit interactive setting\n\nTeach \"git p4\" to notice \"Jobs:\" in the log message and relay it to\nPerforce to trigger its \"jobs\" support.\n\n* pw/git-p4-move (2012-07-12) 2 commits\n  (merged to 'next' on 2012-07-13 at 648a8ad)\n + git p4: add support for 'p4 move' in P4Submit\n + git p4: refactor diffOpts calculation\n\n* tg/maint-cache-name-compare (2012-07-11) 1 commit\n  (merged to 'next' on 2012-07-13 at 0d07ddc)\n + cache_name_compare(): do not truncate while comparing paths\n (this branch is used by tg/ce-namelen-field.)\n\nEven though the index can record pathnames longer than 1<<12 bytes,\nin some places we were not comparing them in full, potentially\nreplacing index entries instead of adding.\n\nWill merge down to older maintenance releases.\n\n--------------------------------------------------\n[Stalled]\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* as/t4012-style-updates (2012-07-12) 7 commits\n - t4012: use 'printf' instead of 'dd' to generate a binary file\n - t4012: Re-indent test snippets\n - t4012: Make --shortstat test more robust\n - t4012: Break up pipe into serial redirections\n - t4012: Actually quote the sed script\n - t4012: Unquote git command fragment in test title\n - t4012: modernize style for quoting\n\nExpecting a reroll.\n\n* jl/maint-1.7.10-recurse-submodules-with-symlink (2012-07-12) 1 commit\n - submodules: don't stumble over symbolic links when cloning recursively\n\nWhen \"git submodule add\" clones a submodule repository, it can get\nconfused where to store the resulting submodule repository in the\nsuperproject's .git/ directory when there is a symbolic link in the\npath to the current directory.\n\nWill merge to 'next'.\n\n* mm/config-xdg (2012-07-12) 2 commits\n - fixup! config: fix several access(NULL) calls\n - config: fix several access(NULL) calls\n\nEither we do the stupid literal conversion (shown in fixup!), or the\nreason why we special case missing HOME needs to be better explained.\n\n* jk/revision-walk-stop-at-max-count (2012-07-13) 1 commit\n - revision: avoid work after --max-count is reached\n\n\"git log -n 1 -- rarely-touched-path\" was spending unnecessary\ncycles after showing the first change to find the next one, only to\ndiscard it.\n\nWill merge to 'next'.\n\n* pg/maint-1.7.9-am-where-is-patch (2012-07-13) 1 commit\n - am: indicate where a failed patch is to be found\n\nWhen \"git am\" failed, old timers knew to check .git/rebase-apply/patch\nto see what went wrong, but we never told the users about it.\n\nWill merge to 'next'.\n\n* jc/maint-filter-branch-epoch-date (2012-07-12) 3 commits\n  (merged to 'next' on 2012-07-13 at d144342)\n + t7003: add test to filter a branch with a commit at epoch\n + date.c: Fix off by one error in object-header date parsing\n  (merged to 'next' on 2012-07-10 at f9774ca)\n + filter-branch: do not forget the '@' prefix to force git-timestamp\n\nIn 1.7.9 era, we taught \"git rebase\" about the raw timestamp format\nbut we did not teach the same trick to \"filter-branch\", which rolled\na similar logic on its own.\n\nWill merge to 'master'.\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* tg/ce-namelen-field (2012-07-11) 2 commits\n - Strip namelen out of ce_flags into a ce_namelen field\n - Merge branch 'tg/maint-cache-name-compare' into tg/ce-namelen-field\n\nSplit lower bits of ce_flags field and creates a new ce_namelen\nfield in the in-core index structure.\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* mh/maint-revisions-doc (2012-07-05) 2 commits\n - Document rev^! and rev^@ as revision specifiers\n - Make <refname> documentation more consistent.\n\nExpecting a reroll of the tip one.\n\n* nk/maint-gitweb-log-by-lines (2012-07-05) 3 commits\n  (merged to 'next' on 2012-07-13 at 780e16a)\n + gitweb: Add support to Link: tag\n + gitweb: Handle other types of tag in git_print_log\n + gitweb: Cleanup git_print_log()\n\nTeach gitweb to pay attention to various forms of credits that are\nsimilar to \"Signed-off-by:\" lines.\n\nNeeds to be eyeballed for the correctness of the esc_html() in the tip one.\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* jc/test-lib-source-build-options-early (2012-06-24) 1 commit\n - test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier\n\nReorders t/test-lib.sh so that we dot-source GIT-BUILD-OPTIONS that\nrecords the shell and Perl the user told us to use with Git a lot\nearly, so that test-lib.sh script itself can use \"$PERL_PATH\" in\none of its early operations.\n\nNeeds to be eyeballed by people who run tests with exotic options\nlike valgrind, --root=/dev/shm/somewhere, etc.\n\nWill merge to 'next'.\n\n* jc/sha1-name-more (2012-07-13) 27 commits\n  (merged to 'next' on 2012-07-13 at 534e6fe)\n + t1512: match the \"other\" object names\n  (merged to 'next' on 2012-07-11 at d30ef51)\n + t1512: ignore whitespaces in wc -l output\n  (merged to 'next' on 2012-07-10 at 669dd92)\n + rev-parse --disambiguate=<prefix>\n + rev-parse: A and B in \"rev-parse A..B\" refer to committish\n + reset: the command takes committish\n + commit-tree: the command wants a tree and commits\n + apply: --build-fake-ancestor expects blobs\n + sha1_name.c: add support for disambiguating other types\n + revision.c: the \"log\" family, except for \"show\", takes committish\n + revision.c: allow handle_revision_arg() to take other flags\n + sha1_name.c: introduce get_sha1_committish()\n + sha1_name.c: teach lookup context to get_sha1_with_context()\n + sha1_name.c: many short names can only be committish\n + sha1_name.c: get_sha1_1() takes lookup flags\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 + get_sha1(): fix error status regression\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: get rid of get_sha1_with_mode()\n + sha1_name.c: get rid of get_sha1_with_mode_1()\n + sha1_name.c: hide get_sha1_with_context_1() ugliness\n + sha1_name.c: indentation fix\n\nTeaches the object name parser things like a \"git describe\" output\nis always a commit object, \"A\" in \"git log A\" must be a committish,\nand \"A\" and \"B\" in \"git log A...B\" both must be committish, etc., to\nprolong the lifetime of abbreviated object names.\n\nWill merge to 'master'.\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* 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"}]}