{"thread":{"id":"31590","subject":"[ANNOUNCE] Git v1.7.12.1","startedAt":"2012-09-18T23:14:12Z","lastAt":"2012-09-18T23:14:12Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"199422","messageId":"7vboh2kjp7.fsf@alter.siamese.dyndns.org","threadId":"31590","inReplyTo":null,"subject":"[ANNOUNCE] Git v1.7.12.1","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-09-18T23:14:12Z","receivedAt":"2012-09-18T23:14:12Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest maintenance release Git v1.7.12.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\nc5227b5202947bba3d63dca72662fad02d208800  git-1.7.12.1.tar.gz\nb42d5db34612825676d0a231cf9c566f8ad45e9f  git-htmldocs-1.7.12.1.tar.gz\n2d9c267c5370cdceb2e67f67abf5b152b0c18db9  git-manpages-1.7.12.1.tar.gz\n\nAlso the following public repositories all have a copy of the v1.7.12.1\ntag and the maint branch that the tag points at:\n\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 1.7.12.1 Release Notes\n==========================\n\nFixes since v1.7.12\n-------------------\n\n * \"git apply -p0\" did not parse pathnames on \"diff --git\" line\n   correctly.  This caused patches that had pathnames in no other\n   places to be mistakenly rejected (most notably, binary patch that\n   does not rename nor change mode).  Textual patches, renames or mode\n   changes have preimage and postimage pathnames in different places\n   in a form that can be parsed unambiguously and did not suffer from\n   this problem.\n\n * \"git cherry-pick A C B\" used to replay changes in A and then B and\n   then C if these three commits had committer timestamps in that\n   order, which is not what the user who said \"A C B\" naturally\n   expects.\n\n * \"git commit --amend\" let the user edit the log message and then\n   died when the human-readable committer name was given\n   insufficiently by getpwent(3).\n\n * Some capabilities were asked by fetch-pack even when upload-pack\n   did not advertise that they are available.  fetch-pack has been\n   fixed not to do so.\n\n * \"git diff\" had a confusion between taking data from a path in the\n   working tree and taking data from an object that happens to have\n   name 0{40} recorded in a tree.\n\n * \"git for-each-ref\" did not correctly support more than one --sort\n   option.\n\n * \"git log ..\" errored out saying it is both rev range and a path\n   when there is no disambiguating \"--\" is on the command line.\n   Update the command line parser to interpret \"..\" as a path in such\n   a case.\n\n * The \"--topo-order\", \"--date-order\" (and the lack of either means\n   the default order) options to \"rev-list\" and \"log\" family of\n   commands were poorly described in the documentation.\n\n * \"git prune\" without \"-v\" used to warn about leftover temporary\n   files (which is an indication of an earlier aborted operation).\n\n * Pushing to smart HTTP server with recent Git fails without having\n   the username in the URL to force authentication, if the server is\n   configured to allow GET anonymously, while requiring authentication\n   for POST.\n\n * The reflog entries left by \"git rebase\" and \"git rebase -i\" were\n   inconsistent (the interactive one gave an abbreviated object name).\n\n * When \"git push\" triggered the automatic gc on the receiving end, a\n   message from \"git prune\" that said it was removing cruft leaked to\n   the standard output, breaking the communication protocol.\n\n * \"git show --quiet\" ought to be a synonym for \"git show -s\", but\n   wasn't.\n\n * \"git show --format='%ci'\" did not give timestamp correctly for\n   commits created without human readable name on \"committer\" line.\n\n * \"git send-email\" did not unquote encoded words that appear on the\n   header correctly, and lost \"_\" from strings.\n\n * The interactive prompt \"git send-email\" gives was error prone. It\n   asked \"What e-mail address do you want to use?\" with the address it\n   guessed (correctly) the user would want to use in its prompt,\n   tempting the user to say \"y\". But the response was taken as \"No,\n   please use 'y' as the e-mail address instead\", which is most\n   certainly not what the user meant.\n\n * \"gitweb\" when used with PATH_INFO failed to notice directories with\n   SP (and other characters that need URL-style quoting) in them.\n\n * When the user gives an argument that can be taken as both a\n   revision name and a pathname without disambiguating with \"--\", we\n   used to give a help message \"Use '--' to separate\".  The message\n   has been clarified to show where that '--' goes on the command\n   line.\n\n * When the user exports a non-default IFS without HT, scripts that\n   rely on being able to parse \"ls-files -s | while read a b c...\"\n   started to fail.  Protect them from such a misconfiguration.\n\n * The attribute system may be asked for a path that itself or its\n   leading directories no longer exists in the working tree, and it is\n   fine if we cannot open .gitattribute file in such a case.  Failure\n   to open per-directory .gitattributes with error status other than\n   ENOENT and ENOTDIR should be diagnosed, but it wasn't.\n\n * After \"gitk\" showed the contents of a tag, neither \"Reread\n   references\" nor \"Reload\" did not update what is shown as the\n   contents of it, when the user overwrote the tag with \"git tag -f\".\n\n * \"ciabot\" script (in contrib/) has been updated with extensive\n   documentation.\n\n * \"git-jump\" script (in contrib/) did not work well when\n   diff.noprefix or diff.mnemonicprefix is in effect.\n\n * Older parts of the documentation described as if having a regular\n   file in .git/refs/ hierarchy were the only way to have branches and\n   tags, which is not true for quite some time.\n\n * A utility shell function test_seq has been added as a replacement\n   for the 'seq' utility found on some platforms.\n\n * Compatibility wrapper to learn the maximum number of file\n   descriptors we can open around sysconf(_SC_OPEN_MAX) and\n   getrlimit(RLIMIT_NO_FILE) has been introduced for portability.\n\n * We used curl_easy_strerror() without checking version of cURL,\n   breaking the build for versions before curl 7.12.0.\n\n * Code to work around MacOS X UTF-8 gotcha has been cleaned up.\n\n * Fallback 'getpass' implementation made unportable use of stdio API.\n\n * The \"--rebase\" option to \"git pull\" can be abbreviated to \"-r\",\n   but we didn't document it.\n\n * It was generally understood that \"--long-option\"s to many of our\n   subcommands can be abbreviated to the unique prefix, but it was not\n   easy to find it described for new readers of the documentation set.\n\n * The synopsis said \"checkout [-B branch]\" to make it clear the\n   branch name is a parameter to the option, but the heading for the\n   option description was \"-B::\", not \"-B branch::\", making the\n   documentation misleading.\n\nAlso contains numerous documentation updates.\n\n----------------------------------------------------------------\n\nChanges since v1.7.12 are as follows:\n\nAdam Butcher (1):\n      Fix '\\ No newline...' annotation in rewrite diffs\n\nAdam Spiers (1):\n      Add missing -z to git check-attr usage text for consistency with man page\n\nAndreas Schwab (1):\n      Documentation/git-filter-branch: Move note about effect of removing commits\n\nBrandon Casey (2):\n      t/t5400: demonstrate breakage caused by informational message from prune\n      prune.c: only print informational message in show_only or verbose mode\n\nDavid Aguilar (2):\n      gitk: Teach \"Reread references\" to reload tags\n      gitk: Rename 'tagcontents' to 'cached_tagcontent'\n\nEric S. Raymond (4):\n      fast-import: document the --done option\n      contrib/ciabot: Get ciabot configuration from git variables\n      Improved documentation for the ciabot scripts.\n      Make the ciabot scripts completely self-configuring in the normal case.\n\nFelipe Contreras (1):\n      gitk: Avoid Meta1-F5\n\nHeiko Voigt (2):\n      Let submodule command exit with error status if path does not exist\n      Documentation/CodingGuidelines: spell out more shell guidelines\n\nJay Soffian (1):\n      gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO\n\nJeff King (29):\n      diff: do not use null sha1 as a sentinel value\n      do not write null sha1s to on-disk index\n      fsck: detect null sha1 in tree entries\n      include agent identifier in capability string\n      docs: monospace listings in docbook output\n      check-docs: mention gitweb specially\n      check-docs: update non-command documentation list\n      command-list: add git-sh-i18n\n      command-list: mention git-credential-* helpers\n      check-docs: factor out command-list\n      check-docs: list git-gui as a command\n      check-docs: drop git-help special-case\n      check-docs: get documented command list from Makefile\n      send-pack: fix capability-sending logic\n      do not send client agent unless server does first\n      parse_feature_request: make it easier to see feature values\n      fetch-pack: mention server version with verbose output\n      config: warn on inaccessible files\n      gitignore: report access errors of exclude files\n      attr: warn on inaccessible attribute files\n      t5550: put auth-required repo in auth/dumb\n      t5550: factor out http auth setup\n      t/lib-httpd: only route auth/dumb to dumb repos\n      t/lib-httpd: recognize */smart/* repos as smart-http\n      t: test basic smart-http authentication\n      t: test http access to \"half-auth\" repositories\n      http: factor out http error code handling\n      http: prompt for credentials on failed POST\n      log: fix --quiet synonym for -s\n\nJoachim Schmitz (2):\n      http.c: don't use curl_easy_strerror prior to curl-7.12.0\n      sha1_file.c: introduce get_max_fd_limit() helper\n\nJunio C Hamano (34):\n      test: rename $satisfied to $satisfied_prereq\n      test: allow prerequisite to be evaluated lazily\n      config: \"git config baa\" should exit with status 1\n      t7406: fix misleading \"rev-parse --max-count=1 HEAD\"\n      sane_execvp(): ignore non-directory on $PATH\n      Documentation: do not mention .git/refs/* directories\n      receive-pack: do not leak output from auto-gc to standard output\n      sh-setup: protect from exported IFS\n      fetch-pack: do not ask for unadvertised capabilities\n      send-email: validate & reconfirm interactive responses\n      rev-list docs: clarify --topo-order description\n      gitcli: describe abbreviation of long options\n      Documentation: update the introductory section\n      git-config doc: unconfuse an example\n      precompose-utf8: do not call checks for non-ascii \"utf8\"\n      warn_on_inaccessible(): a helper to warn on inaccessible paths\n      specifying ranges: we did not mean to make \"..\" an empty set\n      mergetool: style fixes\n      Prepare for 1.7.11.6\n      apply: compute patch->def_name correctly under -p0\n      doc: \"git checkout -b/-B/--orphan\" always takes a branch name\n      split_ident_line(): make best effort when parsing author/committer line\n      Document file-glob for \"git checkout -- '*.c'\"\n      gitcli: formatting fix\n      gitcli: contrast wildcard given to shell and to git\n      Almost 1.7.11.6\n      Start preparing for 1.7.12.1\n      Git 1.7.11.6\n      Further merging down for 1.7.12.1\n      Further merging in preparation for 1.7.12.1\n      attr: failure to open a .gitattributes file is OK with ENOTDIR\n      Git 1.7.11.7\n      Draft release notes to 1.7.12.1\n      Git 1.7.12.1\n\nKacper Kornet (2):\n      t6300: test sort with multiple keys\n      for-each-ref: Fix sort with multiple keys\n\nMartin von Zweigbergk (4):\n      add tests for 'git rebase --keep-empty'\n      teach log --no-walk=unsorted, which avoids sorting\n      demonstrate broken 'git cherry-pick three one two'\n      cherry-pick/revert: respect order of revisions to pick\n\nMatthieu Moy (1):\n      setup: clarify error messages for file/revisions ambiguity\n\nMichael Haggerty (1):\n      git-config.txt: fix example\n\nMichael J Gruber (6):\n      test-lib: provide case insensitivity as a prerequisite\n      t0050: use the CASE_INSENSITIVE_FS test prereq\n      t0050: use the SYMLINKS test prereq\n      test-lib: provide UTF8 behaviour as a prerequisite\n      rebase -i: use full onto sha1 in reflog\n      t3910: use the UTF8_NFD_TO_NFC test prereq\n\nMichał Kiedrowicz (1):\n      tests: Introduce test_seq\n\nMiklos Vajna (1):\n      man: git pull -r is a short for --rebase\n\nMischa POSLAWSKY (1):\n      git-jump: ignore (custom) prefix in diff mode\n\nNguyễn Thái Ngọc Duy (1):\n      read_index_from: remove bogus errno assignments\n\nPaul Gortmaker (1):\n      apply: delete unused deflate_origlen from patch struct\n\nPhil Hord (2):\n      test: git-stash conflict sets up rerere\n      stash: invoke rerere in case of conflict\n\nPhilip Oakley (1):\n      Doc: Improve shallow depth wording\n\nRamkumar Ramachandra (1):\n      t/perf: add \"trash directory\" to .gitignore\n\nRamsay Allan Jones (1):\n      test-regex: Add a test to check for a bug in the regex routines\n\nRobin Rosenberg (1):\n      cleanup precompose_utf8\n\nStefan Zager (1):\n      Make 'git submodule update --force' always check out submodules.\n\nStephen Boyd (1):\n      send-email: initial_to and initial_reply_to are both optional\n\nThomas Rast (3):\n      send-email: improve RFC2047 quote parsing\n      diff_setup_done(): return void\n      merge-recursive: eliminate flush_buffer() in favor of write_in_full()\n\nWesley J. Landaker (1):\n      Documentation: indent-with-non-tab uses \"equivalent tabs\" not 8\n\nYacine Belkadi (1):\n      completion: add --no-edit to git-commit\n"}]}