{"thread":{"id":"35225","subject":"[ANNOUNCE] Git v1.8.4.2","startedAt":"2013-10-28T19:21:34Z","lastAt":"2013-10-28T19:21:34Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"229659","messageId":"xmqqvc0hdww1.fsf@gitster.dls.corp.google.com","threadId":"35225","inReplyTo":null,"subject":"[ANNOUNCE] Git v1.8.4.2","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-10-28T19:21:34Z","receivedAt":"2013-10-28T19:21:34Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest maintenance release Git v1.8.4.2 is now available at\nthe usual places.\n\nThe release tarballs are found at:\n\n    http://code.google.com/p/git-core/downloads/list\n\nand their SHA-1 checksums are:\n\nf2e9317703553b4215700605c15d0f3a30623a9d  git-1.8.4.2.tar.gz\nb0d5e7e24aba1af4a8e1a4fa9c894c3a673bf5d8  git-htmldocs-1.8.4.2.tar.gz\naebbb6dc8bca979f8d54bdef51b128deba195c94  git-manpages-1.8.4.2.tar.gz\n\nThe following public repositories all have a copy of the v1.8.4.2\ntag and the maint branch that the tag points at:\n\n  url = https://kernel.googlesource.com/pub/scm/git/git\n  url = git://repo.or.cz/alt-git.git\n  url = https://code.google.com/p/git-core/\n  url = git://git.sourceforge.jp/gitroot/git-core/git.git\n  url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core\n  url = https://github.com/gitster/git\n\nAlso, http://www.kernel.org/pub/software/scm/git/ has copies of the\nrelease tarballs.\n\nGit v1.8.4.2 Release Notes\n========================\n\nFixes since v1.8.4.1\n--------------------\n\n * \"git clone\" gave some progress messages to the standard output, not\n   to the standard error, and did not allow suppressing them with the\n   \"--no-progress\" option.\n\n * \"format-patch --from=<whom>\" forgot to omit unnecessary in-body\n   from line, i.e. when <whom> is the same as the real author.\n\n * \"git shortlog\" used to choke and die when there is a malformed\n   commit (e.g. missing authors); it now simply ignore such a commit\n   and keeps going.\n\n * \"git merge-recursive\" did not parse its \"--diff-algorithm=\" command\n   line option correctly.\n\n * \"git branch --track\" had a minor regression in v1.8.3.2 and later\n   that made it impossible to base your local work on anything but a\n   local branch of the upstream repository you are tracking from.\n\n * \"git ls-files -k\" needs to crawl only the part of the working tree\n   that may overlap the paths in the index to find killed files, but\n   shared code with the logic to find all the untracked files, which\n   made it unnecessarily inefficient.\n\n * When there is no sufficient overlap between old and new history\n   during a \"git fetch\" into a shallow repository, objects that the\n   sending side knows the receiving end has were unnecessarily sent.\n\n * When running \"fetch -q\", a long silence while the sender side\n   computes the set of objects to send can be mistaken by proxies as\n   dropped connection.  The server side has been taught to send a\n   small empty messages to keep the connection alive.\n\n * When the webserver responds with \"405 Method Not Allowed\", \"git\n   http-backend\" should tell the client what methods are allowed with\n   the \"Allow\" header.\n\n * \"git cvsserver\" computed the permission mode bits incorrectly for\n   executable files.\n\n * The implementation of \"add -i\" has a crippling code to work around\n   ActiveState Perl limitation but it by mistake also triggered on Git\n   for Windows where MSYS perl is used.\n\n * We made sure that we notice the user-supplied GIT_DIR is actually a\n   gitfile, but did not do the same when the default \".git\" is a\n   gitfile.\n\n * When an object is not found after checking the packfiles and then\n   loose object directory, read_sha1_file() re-checks the packfiles to\n   prevent racing with a concurrent repacker; teach the same logic to\n   has_sha1_file().\n\n * \"git commit --author=$name\", when $name is not in the canonical\n   \"A. U. Thor <au.thor@example.xz>\" format, looks for a matching name\n   from existing history, but did not consult mailmap to grab the\n   preferred author name.\n\n * The commit object names in the insn sheet that was prepared at the\n   beginning of \"rebase -i\" session can become ambiguous as the\n   rebasing progresses and the repository gains more commits. Make\n   sure the internal record is kept with full 40-hex object names.\n\n * \"git rebase --preserve-merges\" internally used the merge machinery\n   and as a side effect, left merge summary message in the log, but\n   when rebasing, there should not be a need for merge summary.\n\n * \"git rebase -i\" forgot that the comment character can be\n   configurable while reading its insn sheet.\n\nAlso contains a handful of trivial code clean-ups, documentation\nupdates, updates to the test suite, etc.\n\n----------------------------------------------------------------\n\nChanges since v1.8.4.1 are as follows:\n\nAntoine Pelisse (1):\n      commit: search author pattern against mailmap\n\nChristian Couder (1):\n      sha1_file: move comment about return value where it belongs\n\nEric Sunshine (5):\n      rebase -i: fix cases ignoring core.commentchar\n      dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage\n      t3404: make tests more self-contained\n      t3404: rebase -i: demonstrate short SHA-1 collision\n      t3200: fix failure on case-insensitive filesystems\n\nJeff King (8):\n      has_sha1_file: re-check pack directory before giving up\n      upload-pack: send keepalive packets during pack computation\n      upload-pack: bump keepalive default to 5 seconds\n      clone: send diagnostic messages to stderr\n      clone: treat \"checking connectivity\" like other progress\n      clone: always set transport options\n      shortlog: ignore commits with missing authors\n      format-patch: print in-body \"From\" only when needed\n\nJohan Herland (4):\n      t2024: Fix &&-chaining and a couple of typos\n      t3200: Minor fix when preparing for tracking failure\n      Refer to branch.<name>.remote/merge when documenting --track\n      t3200: Add test demonstrating minor regression in 41c21f2\n\nJohannes Sixt (1):\n      add--interactive: fix external command invocation on Windows\n\nJohn Keeping (1):\n      merge-recursive: fix parsing of \"diff-algorithm\" option\n\nJunio C Hamano (8):\n      dir.c: use the cache_* macro to access the current index\n      ls-files -k: a directory only can be killed if the index has a non-directory\n      t3010: update to demonstrate \"ls-files -k\" optimization pitfalls\n      rebase -i: fix short SHA-1 collision\n      cvsserver: pick up the right mode bits\n      Start preparing for 1.8.4.2\n      Almost 1.8.4.2 ;-)\n      Git 1.8.4.2\n\nMatthijs Kooijman (1):\n      Add testcase for needless objects during a shallow fetch\n\nNguyễn Thái Ngọc Duy (7):\n      move setup_alternate_shallow and write_shallow_commits to shallow.c\n      shallow: only add shallow graft points to new shallow file\n      shallow: add setup_temporary_shallow()\n      upload-pack: delegate rev walking in shallow fetch to pack-objects\n      list-objects: reduce one argument in mark_edges_uninteresting\n      list-objects: mark more commits as edges in mark_edges_uninteresting\n      Make setup_git_env() resolve .git file when $GIT_DIR is not specified\n\nNicolas Vigier (1):\n      git-merge: document the -S option\n\nPer Cederqvist (1):\n      branch.c: Relax unnecessary requirement on upstream's remote ref name\n\nRalf Thielow (2):\n      rebase --preserve-merges: ignore \"merge.log\" config\n      clone --branch: refuse to clone if upstream repo is empty\n\nSZEDER Gábor (1):\n      t4254: modernize tests\n\nSteffen Prohaska (1):\n      git-prune-packed.txt: fix reference to GIT_OBJECT_DIRECTORY\n\nTorstein Hegge (1):\n      test-lib: fix typo in comment\n\nbrian m. carlson (1):\n      http-backend: provide Allow header for 405\n"}]}