{"thread":{"id":"30947","subject":"What's cooking in git.git (Jul 2012, #01; Tue, 3)","startedAt":"2012-07-03T23:19:24Z","lastAt":"2012-07-10T17:29:45Z","messageCount":3,"participants":["Junio C Hamano","Jeff King","Ramsay Jones"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"194587","messageId":"7vd34ctoub.fsf@alter.siamese.dyndns.org","threadId":"30947","inReplyTo":null,"subject":"What's cooking in git.git (Jul 2012, #01; Tue, 3)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-03T23:19:24Z","receivedAt":"2012-07-03T23:19:24Z","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\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* jc/maint-blame-unique-abbrev (2012-07-02) 1 commit\n  (merged to 'next' on 2012-07-03 at c7ed6b9)\n + blame: compute abbreviation width that ensures uniqueness\n\n\"git blame\" did not try to make sure the abbreviated commit object\nnames in its output are unique.\n\n* jk/push-delete-ref-error-message (2012-07-03) 1 commit\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--------------------------------------------------\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* 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\nWill merge to 'next' after reading it over once again.\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* tb/sanitize-decomposed-utf-8-pathname (2012-07-02) 1 commit\n - git on Mac OS and precomposed unicode\n\nTeaches git to normalize pathnames read from readdir(3) and all\narguments from the command line into precomposed UTF-8 (assuming\nthat they come as decomposed UTF-8) to work around issues on Mac OS.\n\nI think there still are other places that need conversion\n(e.g. paths that are read from stdin for some commands), but this\nshould be a good first step in the right direction.\n\nWill merge to 'next'.\n\n* cw/no-detaching-an-unborn (2012-06-26) 1 commit\n  (merged to 'next' on 2012-07-03 at 552c5ca)\n + git-checkout: disallow --detach on unborn branch\n\n\"git checkout --detach\", when you are still on an unborn branch,\nshould be forbidden, but it wasn't.\n\n* cw/rebase-i-root (2012-06-26) 2 commits\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* js/fast-export-paths-with-spaces (2012-06-27) 1 commit\n  (merged to 'next' on 2012-07-03 at f9c23e9)\n + fast-export: quote paths with spaces\n\n\"git fast-export\" produced an input stream for fast-import without\nproperly quoting pathnames when they contain SPs in them.\n\n* mm/mediawiki-file-attachments (2012-06-27) 5 commits\n  (merged to 'next' on 2012-07-03 at 90f2f45)\n + git-remote-mediawiki: import \"File:\" attachments\n + git-remote-mediawiki: split get_mw_pages into smaller functions\n + git-remote-mediawiki: send \"File:\" attachments to a remote wiki\n + git-remote-mediawiki: don't \"use encoding 'utf8';\"\n + git-remote-mediawiki: don't compute the diff when getting commit message\n (this branch uses mm/credential-plumbing.)\n\n\"mediawiki\" remote helper (in contrib/) learned to handle file\nattachments.\n\n* mz/rebase-no-mbox (2012-06-26) 4 commits\n  (merged to 'next' on 2012-07-03 at 5bf5c12)\n + am: don't call mailinfo if $rebasing\n + am --rebasing: get patch body from commit, not from mailbox\n + rebase --root: print usage on too many args\n + rebase: don't source git-sh-setup twice\n\nTeach \"am --rebasing\" codepath to grab authorship, log message and\nthe patch text directly out of existing commits.  This will help\nrebasing commits that have confusing \"diff\" output in their log\nmessages.\n\n* pw/git-p4-tests (2012-06-27) 10 commits\n  (merged to 'next' on 2012-07-03 at 9bd9cda)\n + git p4 test: fix badp4dir test\n + git p4 test: split up big t9800 test\n + git p4 test: cleanup_git should make a new $git\n + git p4 test: copy source indeterminate\n + git p4 test: check for error message in failed test\n + git p4 test: rename some \"git-p4 command\" strings\n + git p4 test: never create default test repo\n + git p4 test: simplify quoting involving TRASH_DIRECTORY\n + git p4 test: use real_path to resolve p4 client symlinks\n + git p4 test: wait longer for p4d to start and test its pid\n\nMore \"git p4\" tests.\n\n* rj/platform-pread-may-be-thread-unsafe (2012-06-26) 1 commit\n  (merged to 'next' on 2012-06-28 at ce5f79f)\n + index-pack: Disable threading on cygwin\n\nOn Cygwin, the platform pread(3) is not thread safe, just like our\nown compat/ emulation, and cannot be used in the index-pack program.\n\n* jc/refactor-diff-stdin (2012-06-28) 3 commits\n - diff-index.c: \"git diff\" has no need to read blob from the standard input\n - diff-index.c: unify handling of command line paths\n - diff-index.c: do not pretend paths are pathspecs\n\nDue to the way \"git diff --no-index\" is bolted onto by touching the\nlow level code that is shared with the rest of the \"git diff\" code,\neven though it has to work in a very different way, any comparison\nthat involves a file \"-\" at the root level incorrectly tried to read\nfrom the standard input.  This cleans up the no-index codepath\nfurther to remove code that reads from the standard input from the\ncore side, which is never necessary when git is running its usual\ndiff operation.\n\nWill merge to 'next', and later down to older maintenance releases.\n\n* mz/empty-rebase-test (2012-06-27) 1 commit\n  (merged to 'next' on 2012-07-03 at 1e7de3f)\n + add test case for rebase of empty commit\nWe did not have test to make sure \"git rebase\" without extra options\nfilters out an empty commit in the original history.\n\n* cw/help-over-network (2012-06-28) 2 commits\n  (merged to 'next' on 2012-07-03 at 99e8d28)\n + Allow help.htmlpath to be a URL prefix\n + Add config variable to set HTML path for git-help --web\n\n\"git help -w $cmd\" can show HTML version of documentation for\n\"git-$cmd\" by setting help.htmlpath to somewhere other than the\ndefault location where the build procedure installs them locally;\nthe variable can even point at a http:// URL.\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.\nHopefully it will be rerolled.\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 (this branch uses vr/use-our-perl-in-tests.)\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\n* mm/config-xdg (2012-06-25) 4 commits\n  (merged to 'next' on 2012-06-28 at 57049d1)\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  (merged to 'next' on 2012-06-28 at 6e6fe9f)\n + git-remote-mediawiki: add credential support\n + git credential fill: output the whole 'struct credential'\n + add 'git credential' plumbing command\n (this branch is used by mm/mediawiki-file-attachments.)\n\nExpose the credential API to scripted Porcelain writers.\n\n* th/diff-no-index-fixes (2012-06-22) 2 commits\n  (merged to 'next' on 2012-06-26 at 450e781)\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 'master'.\n\n* nd/clone-single-fix (2012-06-22) 1 commit\n  (merged to 'next' on 2012-06-26 at c9fff5e)\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 'master'.\n\n* vr/use-our-perl-in-tests (2012-06-24) 4 commits\n  (merged to 'next' on 2012-07-03 at 90dfcf0)\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 (this branch is used by jc/test-lib-source-build-options-early.)\n\nSome implementations of Perl terminates \"lines\" with CRLF even when\nthe script is operating on just a sequence of bytes.  Make sure to\nuse \"$PERL_PATH\", the version of Perl the user told Git to use, in\nour tests to avoid unnecessary breakages in tests.\n\n* jc/sha1-name-more (2012-07-03) 25 commits\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\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.\n\n* jn/perl-makemaker-leading-paths (2012-06-29) 2 commits\n  (merged to 'next' on 2012-06-29 at 0f17059)\n + perl/Makefile: Fix a missing double-quote\n  (merged to 'next' on 2012-06-28 at 286d854)\n + perl/Makefile: move \"mkdir -p\" to module installation loop for maintainability\n\nMinor build tweak.  People who do not use ExtUtils::MakeMaker may\nwant to test this before it hits the 'master' branch.\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* 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\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\nHopefully 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* 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\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"},{"id":"194605","messageId":"20120704072813.GD24807@sigill.intra.peff.net","threadId":"30947","inReplyTo":"7vd34ctoub.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jul 2012, #01; Tue, 3)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-07-04T07:28:13Z","receivedAt":"2012-07-04T07:28:13Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Jul 03, 2012 at 04:19:24PM -0700, Junio C Hamano wrote:\n\n> [Discarded]\n> [...]\n> \n> * jk/no-op-push-message (2012-05-30) 1 commit\n>  . improve no-op push output\n> \n> Rewords the status message of \"git push\" that pushed only one ref\n> differently from \"Everything up-to-date\", to give a bit more help to\n> people who get the message when their current branch is not pushed.\n> \n> I had an impression after the discussion thread that a redesign is\n> coming, but it hasn't happened yet.\n\nAfter our discussion, I was not really convinced that it was a good\ndirection to go in. So I'm happy to scrap this for now, and somebody may\nor may not come up with something better later.\n\n-Peff\n"},{"id":"194872","messageId":"4FFC6689.5050404@ramsay1.demon.co.uk","threadId":"30947","inReplyTo":"7vd34ctoub.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jul 2012, #01; Tue, 3)","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsay1.demon.co.uk","sentAt":"2012-07-10T17:29:45Z","receivedAt":"2012-07-10T17:29:45Z","isPatch":false,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"Junio C Hamano wrote:\n[...]\n> \n> * rj/platform-pread-may-be-thread-unsafe (2012-06-26) 1 commit\n>   (merged to 'next' on 2012-06-28 at ce5f79f)\n>  + index-pack: Disable threading on cygwin\n> \n> On Cygwin, the platform pread(3) is not thread safe, just like our\n> own compat/ emulation, and cannot be used in the index-pack program.\n> \n\nI've been using this patch (applied directly on top of v1.7.11) for the\nlast two weeks without problem. (So I guess you could declare it tested!)\n\nAre you planning on an v1.7.11.2 anytime soon? If so, could I request that\nyou include this patch in the release. (I am mildly surprised at the lack\nof complaints from cygwin users, but it would be nice to be able to point\nthem to a release if they start flooding in :-P ).\n\nATB,\nRamsay Jones\n"}]}