{"thread":{"id":"33427","subject":"[ANNOUNCE] Git v1.8.2.1","startedAt":"2013-04-07T23:56:55Z","lastAt":"2013-04-07T23:56:55Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"213486","messageId":"7va9p93neg.fsf@alter.siamese.dyndns.org","threadId":"33427","inReplyTo":null,"subject":"[ANNOUNCE] Git v1.8.2.1","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-04-07T23:56:55Z","receivedAt":"2013-04-07T23:56:55Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest maintenance release Git v1.8.2.1 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\nad9f833e509ba31c83efe336fd3599e89a39394b  git-1.8.2.1.tar.gz\nbf4abd0e020d24ee47c64760e9fe4372c596d354  git-htmldocs-1.8.2.1.tar.gz\n6c40ace4682188d0c01b1091b37276151bc77a74  git-manpages-1.8.2.1.tar.gz\n\nAlso the following public repositories all have a copy of the v1.8.2.1\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\nGit v1.8.2.1 Release Notes\n==========================\n\nFixes since v1.8.2\n------------------\n\n * An earlier change to the attribute system introduced at v1.8.1.2 by\n   mistake stopped a pattern \"dir\" (without trailing slash) from\n   matching a directory \"dir\" (it only wanted to allow pattern \"dir/\"\n   to also match).\n\n * Verification of signed tags were not done correctly when not in C\n   or en/US locale.\n\n * 'git commit -m \"$msg\"' used to add an extra newline even when\n   $msg already ended with one.\n\n * The \"--match=<pattern>\" option of \"git describe\", when used with\n   \"--all\" to allow refs that are not annotated tags to be used as a\n   base of description, did not restrict the output from the command\n   to those that match the given pattern.\n\n * An aliased command spawned from a bare repository that does not say\n   it is bare with \"core.bare = yes\" is treated as non-bare by mistake.\n\n * When \"format-patch\" quoted a non-ascii strings on the header files,\n   it incorrectly applied rfc2047 and chopped a single character in\n   the middle of it.\n\n * \"git archive\" reports a failure when asked to create an archive out\n   of an empty tree.  It would be more intuitive to give an empty\n   archive back in such a case.\n\n * \"git tag -f <tag>\" always said \"Updated tag '<tag>'\" even when\n   creating a new tag (i.e. not overwriting nor updating).\n\n * \"git cmd -- ':(top'\" was not diagnosed as an invalid syntax, and\n   instead the parser kept reading beyond the end of the string.\n\n * Annotated tags outside refs/tags/ hierarchy were not advertised\n   correctly to the ls-remote and fetch with recent version of Git.\n\n * The code to keep track of what directory names are known to Git on\n   platforms with case insensitive filesystems can get confused upon a\n   hash collision between these pathnames and looped forever.\n\n * The logic used by \"git diff -M --stat\" to shorten the names of\n   files before and after a rename did not work correctly when the\n   common prefix and suffix between the two filenames overlapped.\n\n * \"git submodule update\", when recursed into sub-submodules, did not\n   acccumulate the prefix paths.\n\n * \"git am $maildir/\" applied messages in an unexpected order; sort\n   filenames read from the maildir/ in a way that is more likely to\n   sort messages in the order the writing MUA meant to, by sorting\n   numeric segment in numeric order and non-numeric segment in\n   alphabetical order.\n\n * When export-subst is used, \"zip\" output recorded incorrect\n   size of the file.\n\n * Some platforms and users spell UTF-8 differently; retry with the\n   most official \"UTF-8\" when the system does not understand the\n   user-supplied encoding name that are the common alternative\n   spellings of UTF-8.\n\n * \"git branch\" did not bother to check nonsense command line\n   parameters and issue errors in many cases.\n\n * \"git update-index -h\" did not do the usual \"-h(elp)\" thing.\n\n * perl/Git.pm::cat_blob slurped everything in core only to write it\n   out to a file descriptor, which was not a very smart thing to do.\n\n * The SSL peer verification done by \"git imap-send\" did not ask for\n   Server Name Indication (RFC 4366), failing to connect SSL/TLS\n   sites that serve multiple hostnames on a single IP.\n\n * \"git index-pack\" had a buffer-overflow while preparing an\n   informational message when the translated version of it was too\n   long.\n\n * Clarify in the documentation \"what\" gets pushed to \"where\" when the\n   command line to \"git push\" does not say these explicitly.\n\n * In \"git reflog expire\", REACHABLE bit was not cleared from the\n   correct objects.\n\n * The \"--color=<when>\" argument to the commands in the diff family\n   was described poorly.\n\n * The arguments given to pre-rebase hook were not documented.\n\n * The v4 index format was not documented.\n\n * The \"--match=<pattern>\" argument \"git describe\" takes uses glob\n   pattern but it wasn't obvious from the documentation.\n\n * Some sources failed to compile on systems that lack NI_MAXHOST in\n   their system header (e.g. z/OS).\n\n * Add an example use of \"--env-filter\" in \"filter-branch\"\n   documentation.\n\n * \"git bundle verify\" did not say \"records a complete history\" for a\n   bundle that does not have any prerequisites.\n\n * In the v1.8.0 era, we changed symbols that do not have to be global\n   to file scope static, but a few functions in graph.c were used by\n   CGit from sideways bypassing the entry points of the API the\n   in-tree users use.\n\n * \"git merge-tree\" had a typo in the logic to detect d/f conflicts,\n   which caused it to segfault in some cases.\n\n----------------------------------------------------------------\n\nChanges since v1.8.2 are as follows:\n\nAndrew Wong (2):\n      setup.c: stop prefix_pathspec() from looping past the end of string\n      setup.c: check that the pathspec magic ends with \")\"\n\nAntoine Pelisse (3):\n      update-index: allow \"-h\" to also display options\n      diff: Fix rename pretty-print when suffix and prefix overlap\n      tests: make sure rename pretty print works\n\nBrandon Casey (4):\n      t/t7502: compare entire commit message with what was expected\n      t7502: demonstrate breakage with a commit message with trailing newlines\n      git-commit: only append a newline to -m mesg if necessary\n      Documentation/git-commit.txt: rework the --cleanup section\n\nChristian Helmuth (1):\n      git-commit doc: describe use of multiple `-m` options\n\nDan Bornstein (1):\n      Correct the docs about GIT_SSH.\n\nDavid Aguilar (20):\n      git-sh-setup: use a lowercase \"usage:\" string\n      git-svn: use a lowercase \"usage:\" string\n      git-relink: use a lowercase \"usage:\" string\n      git-merge-one-file: use a lowercase \"usage:\" string\n      git-archimport: use a lowercase \"usage:\" string\n      git-cvsexportcommit: use a lowercase \"usage:\" string\n      git-cvsimport: use a lowercase \"usage:\" string\n      git-cvsimport: use a lowercase \"usage:\" string\n      contrib/credential: use a lowercase \"usage:\" string\n      contrib/fast-import: use a lowercase \"usage:\" string\n      contrib/fast-import/import-zips.py: fix broken error message\n      contrib/fast-import/import-zips.py: use spaces instead of tabs\n      contrib/examples: use a lowercase \"usage:\" string\n      contrib/hooks/setgitperms.perl: use a lowercase \"usage:\" string\n      templates/hooks--update.sample: use a lowercase \"usage:\" string\n      Documentation/user-manual.txt: use a lowercase \"usage:\" string\n      git-svn: use a lowercase \"usage:\" string\n      tests: use a lowercase \"usage:\" string\n      contrib/examples/git-remote.perl: use a lowercase \"usage:\" string\n      contrib/mw-to-git/t/install-wiki.sh: use a lowercase \"usage:\" string\n\nDavid Michael (1):\n      git-compat-util.h: Provide missing netdb.h definitions\n\nGreg Price (2):\n      Fix \".git/refs\" stragglers\n      describe: Document --match pattern format\n\nJeff King (23):\n      utf8: accept alternate spellings of UTF-8\n      mailsplit: sort maildir filenames more cleverly\n      cache.h: drop LOCAL_REPO_ENV_SIZE\n      environment: add GIT_PREFIX to local_repo_env\n      setup: suppress implicit \".\" work-tree for bare repos\n      test-lib: factor out $GIT_UNZIP setup\n      archive: handle commits with an empty tree\n      upload-pack: drop lookup-before-parse optimization\n      upload-pack: make sure \"want\" objects are parsed\n      upload-pack: load non-tip \"want\" objects from disk\n      avoid segfaults on parse_object failure\n      use parse_object_or_die instead of die(\"bad object\")\n      pack-refs: write peeled entry for non-tags\n      index-pack: always zero-initialize object_entry list\n      fast-import: use pointer-to-pointer to keep list tail\n      drop some obsolete \"x = x\" compiler warning hacks\n      transport: drop \"int cmp = cmp\" hack\n      run-command: always set failed_errno in start_command\n      fast-import: clarify \"inline\" logic in file_change_m\n      wt-status: fix possible use of uninitialized variable\n      dir.c::match_pathname(): adjust patternlen when shifting pattern\n      dir.c::match_pathname(): pay attention to the length of string parameters\n      t: check that a pattern without trailing slash matches a directory\n\nJohannes Sixt (1):\n      t2003: work around path mangling issue on Windows\n\nJohn Keeping (4):\n      Revert \"graph.c: mark private file-scope symbols as static\"\n      t2003: modernize style\n      entry: fix filter lookup\n      merge-tree: fix typo in merge-tree.c::unresolved\n\nJoshua Clayton (1):\n      Git.pm: fix cat_blob crashes on large files\n\nJunio C Hamano (21):\n      imap-send: support Server Name Indication (RFC4366)\n      diff-options: unconfuse description of --color\n      describe: --match=<pattern> must limit the refs even when used with --all\n      reflog: fix typo in \"reflog expire\" clean-up codepath\n      Documentation/git-push: clarify the description of defaults\n      git status: document trade-offs in choosing parameters to the -u option\n      CodingGuidelines: our documents are in AsciiDoc\n      Documentation: merging a tag is a special case\n      transport.c: help gcc 4.6.3 users by squelching compiler warning\n      Start preparing for 1.8.2.1\n      attr.c::path_matches(): the basename is part of the pathname\n      More corrections for 1.8.2.1\n      More fixes for 1.8.2.1\n      attr.c::path_matches(): special case paths that end with a slash\n      dir.c::match_basename(): pay attention to the length of string parameters\n      Update draft release notes to 1.8.2.1\n      Start preparing for 1.8.1.6\n      Update draft release notes to 1.8.2.1\n      mailmap: update Pasky's address\n      Git 1.8.1.6\n      Git 1.8.2.1\n\nKacper Kornet (3):\n      rev-parse: clarify documentation of $name@{upstream} syntax\n      t1507: Test that branchname@{upstream} is interpreted as branch\n      Fix revision walk for commits with the same dates\n\nKarsten Blees (1):\n      name-hash.c: fix endless loop with core.ignorecase=true\n\nKirill Smelkov (1):\n      format-patch: RFC 2047 says multi-octet character may not be split\n\nLukas Fleischer (2):\n      bundle: Fix \"verify\" output if history is complete\n      bundle: Add colons to list headings in \"verify\"\n\nMatthias Krüger (1):\n      git help config: s/insn/instruction/\n\nMatthieu Moy (1):\n      git-remote-mediawiki: new wiki URL in documentation\n\nMax Nanasy (1):\n      diff.c: diff.renamelimit => diff.renameLimit in message\n\nMichael Haggerty (1):\n      pack-refs: add fully-peeled trait\n\nMichael J Gruber (5):\n      gpg-interface: check good signature in a reliable way\n      log-tree: rely upon the check in the gpg_interface\n      gpg_interface: allow to request status return\n      pretty: parse the gpg status lines rather than the output\n      pretty: make %GK output the signing key for signed commits\n\nMihai Capotă (1):\n      git-pull doc: fix grammo (\"conflicts\" is plural)\n\nNguyễn Thái Ngọc Duy (7):\n      index-format.txt: mention of v4 is missing in some places\n      read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()\n      branch: segfault fixes and validation\n      update-index: list supported idx versions and their features\n      status: advise to consider use of -u when read_directory takes too long\n      index-pack: fix buffer overflow caused by translations\n      index-pack: protect deepest_delta in multithread code\n\nPhil Hord (1):\n      tag: --force does not have to warn when creating tags\n\nRamkumar Ramachandra (1):\n      t4018,7810,7811: remove test_config() redefinition\n\nRamsay Allan Jones (2):\n      fast-import: Fix an gcc -Wuninitialized warning\n      cat-file: Fix an gcc -Wuninitialized warning\n\nRené Scharfe (4):\n      archive-zip: fix compressed size for stored export-subst files\n      Makefile: keep LIB_H entries together and sorted\n      sha1_name: pass object name length to diagnose_invalid_sha1_path()\n      submodule summary: support --summary-limit=<n>\n\nTadeusz Andrzej Kadłubowski (2):\n      git-filter-branch.txt: clarify ident variables usage\n      Documentation: filter-branch env-filter example\n\nThomas Rast (3):\n      diff: prevent pprint_rename from underrunning input\n      index-pack: guard nr_resolved_deltas reads by lock\n      git-tag(1): we tag HEAD by default\n\nTorsten Bögershausen (1):\n      remote-helpers/test-bzr.sh: do not use \"grep '\\s'\"\n\nW. Trevor King (2):\n      Documentation/githooks: Explain pre-rebase parameters\n      user-manual: Standardize backtick quoting\n\nWilliam Entriken (1):\n      submodule update: when using recursion, show full path\n"}]}