{"thread":{"id":"49876","subject":"[ANNOUNCE] Git v2.19.2","startedAt":"2018-11-21T15:19:46Z","lastAt":"2018-11-21T15:19:46Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"363835","messageId":"xmqqtvka5ugt.fsf@gitster-ct.c.googlers.com","threadId":"49876","inReplyTo":null,"subject":"[ANNOUNCE] Git v2.19.2","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-11-21T15:19:30Z","receivedAt":"2018-11-21T15:19:46Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest maintenance release Git v2.19.2 is now available at the\nusual places.  This is a collection of small fixes that have been\naccumulated on the primary development track, merged on top of\nv2.19.1 released earlier in the year.  On the 'master' front, we are\nnearing the upcoming future release, by the way.\n\nThe tarballs are found at:\n\n    https://www.kernel.org/pub/software/scm/git/\n\nThe following public repositories all have a copy of the 'v2.19.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://github.com/gitster/git\n\n----------------------------------------------------------------\n\nGit v2.19.2 Release Notes\n=========================\n\nFixes since v2.19.1\n-------------------\n\n * \"git interpret-trailers\" and its underlying machinery had a buggy\n   code that attempted to ignore patch text after commit log message,\n   which triggered in various codepaths that will always get the log\n   message alone and never get such an input.\n\n * \"git rebase -i\" did not clear the state files correctly when a run\n   of \"squash/fixup\" is aborted and then the user manually amended the\n   commit instead, which has been corrected.\n\n * When fsmonitor is in use, after operation on submodules updates\n   .gitmodules, we lost track of the fact that we did so and relied on\n   stale fsmonitor data.\n\n * Fix for a long-standing bug that leaves the index file corrupt when\n   it shrinks during a partial commit.\n\n * Further fix for O_APPEND emulation on Windows\n\n * A corner case bugfix in \"git rerere\" code.\n\n * \"git add ':(attr:foo)'\" is not supported and is supposed to be\n   rejected while the command line arguments are parsed, but we fail\n   to reject such a command line upfront.\n\n * \"git rebase\" etc. in Git 2.19 fails to abort when given an empty\n   commit log message as result of editing, which has been corrected.\n\n * The code to backfill objects in lazily cloned repository did not\n   work correctly, which has been corrected.\n\n * Update error messages given by \"git remote\" and make them consistent.\n\n * \"git update-ref\" learned to make both \"--no-deref\" and \"--stdin\"\n   work at the same time.\n\n * Recently added \"range-diff\" had a corner-case bug to cause it\n   segfault, which has been corrected.\n\n * The recently introduced commit-graph auxiliary data is incompatible\n   with mechanisms such as replace & grafts that \"breaks\" immutable\n   nature of the object reference relationship.  Disable optimizations\n   based on its use (and updating existing commit-graph) when these\n   incompatible features are in use in the repository.\n\n * The mailmap file update.\n\n * The code in \"git status\" sometimes hit an assertion failure.  This\n   was caused by a structure that was reused without cleaning the data\n   used for the first run, which has been corrected.\n\n * A corner-case bugfix.\n\n * A partial clone that is configured to lazily fetch missing objects\n   will on-demand issue a \"git fetch\" request to the originating\n   repository to fill not-yet-obtained objects.  The request has been\n   optimized for requesting a tree object (and not the leaf blob\n   objects contained in it) by telling the originating repository that\n   no blobs are needed.\n\n * The codepath to support the experimental split-index mode had\n   remaining \"racily clean\" issues fixed.\n\n * \"git log --graph\" showing an octopus merge sometimes miscounted the\n   number of display columns it is consuming to show the merge and its\n   parent commits, which has been corrected.\n\n * The implementation of run_command() API on the UNIX platforms had a\n   bug that caused a command not on $PATH to be found in the current\n   directory.\n\n * A mutex used in \"git pack-objects\" were not correctly initialized\n   and this caused \"git repack\" to dump core on Windows.\n\n * Under certain circumstances, \"git diff D:/a/b/c D:/a/b/d\" on\n   Windows would strip initial parts from the paths because they\n   were not recognized as absolute, which has been corrected.\n\n * The receive.denyCurrentBranch=updateInstead codepath kicked in even\n   when the push should have been rejected due to other reasons, such\n   as it does not fast-forward or the update-hook rejects it, which\n   has been corrected.\n\n * \"git repack\" in a shallow clone did not correctly update the\n   shallow points in the repository, leading to a repository that\n   does not pass fsck.\n\n * Operations on promisor objects make sense in the context of only a\n   small subset of the commands that internally use the revisions\n   machinery, but the \"--exclude-promisor-objects\" option were taken\n   and led to nonsense results by commands like \"log\", to which it\n   didn't make much sense.  This has been corrected.\n\n * The \"container\" mode of TravisCI is going away.  Our .travis.yml\n   file is getting prepared for the transition.\n\n * Our test scripts can now take the '-V' option as a synonym for the\n   '--verbose-log' option.\n\n * A regression in Git 2.12 era made \"git fsck\" fall into an infinite\n   loop while processing truncated loose objects.\n\nAlso contains various documentation updates and code clean-ups.\n\n----------------------------------------------------------------\n\nChanges since v2.19.1 are as follows:\n\nAlexander Pyhalov (1):\n      t7005-editor: quote filename to fix whitespace-issue\n\nAndreas Heiduk (6):\n      doc: clarify boundaries of 'git worktree list --porcelain'\n      doc: fix ASCII art tab spacing\n      doc: fix inappropriate monospace formatting\n      doc: fix descripion for 'git tag --format'\n      doc: fix indentation of listing blocks in gitweb.conf.txt\n      doc: fix formatting in git-update-ref\n\nBen Peart (1):\n      git-mv: allow submodules and fsmonitor to work together\n\nBrandon Williams (1):\n      config: document value 2 for protocol.version\n\nDaniels Umanovskis (3):\n      doc: move git-rev-parse from porcelain to plumbing\n      doc: move git-get-tar-commit-id to plumbing\n      doc: move git-cherry to plumbing\n\nDavid Zych (1):\n      doc: clarify gitcredentials path component matching\n\nDerrick Stolee (6):\n      commit-graph: update design document\n      test-repository: properly init repo\n      commit-graph: not compatible with replace objects\n      commit-graph: not compatible with grafts\n      commit-graph: not compatible with uninitialized repo\n      commit-graph: close_commit_graph before shallow walk\n\nElijah Newren (7):\n      Remove superfluous trailing semicolons\n      t4200: demonstrate rerere segfault on specially crafted merge\n      rerere: avoid buffer overrun\n      update-ref: fix type of update_flags variable to match its usage\n      update-ref: allow --no-deref with --stdin\n      sequencer: fix --allow-empty-message behavior, make it smarter\n      commit: fix erroneous BUG, 'multiple renames on the same target? how?'\n\nFrederick Eaton (3):\n      git-archimport.1: specify what kind of Arch we're talking about\n      git-column.1: clarify initial description, provide examples\n      git-describe.1: clarify that \"human readable\" is also git-readable\n\nJeff Hostetler (2):\n      t0051: test GIT_TRACE to a windows named pipe\n      mingw: fix mingw_open_append to work with named pipes\n\nJeff King (16):\n      trailer: use size_t for string offsets\n      trailer: use size_t for iterating trailer list\n      trailer: pass process_trailer_opts to trailer_info_get()\n      interpret-trailers: tighten check for \"---\" patch boundary\n      interpret-trailers: allow suppressing \"---\" divider\n      pretty, ref-filter: format %(trailers) with no_divider option\n      sequencer: ignore \"---\" divider when parsing trailers\n      append_signoff: use size_t for string offsets\n      reopen_tempfile(): truncate opened file\n      config.mak.dev: add -Wformat-security\n      receive-pack: update comment with check_everything_connected\n      run-command: mark path lookup errors with ENOENT\n      upload-pack: fix broken if/else chain in config callback\n      t1450: check large blob in trailing-garbage test\n      check_stream_sha1(): handle input underflow\n      cat-file: handle streaming failures consistently\n\nJohannes Schindelin (8):\n      rebase -i --autosquash: demonstrate a problem skipping the last squash\n      rebase -i: be careful to wrap up fixup/squash chains\n      pack-objects: fix typo 'detla' -> 'delta'\n      pack-objects (mingw): demonstrate a segmentation fault with large deltas\n      pack-objects (mingw): initialize `packing_data` mutex in the correct spot\n      repack: point out a bug handling stale shallow info\n      shallow: offer to prune only non-existing entries\n      repack -ad: prune the list of shallow commits\n\nJohannes Sixt (2):\n      diff: don't attempt to strip prefix from absolute Windows paths\n      t3404-rebase-interactive: test abbreviated commands\n\nJonathan Nieder (2):\n      mailmap: consistently normalize brian m. carlson's name\n      git doc: direct bug reporters to mailing list archive\n\nJonathan Tan (4):\n      fetch-object: unify fetch_object[s] functions\n      fetch-object: set exact_oid when fetching\n      fetch-pack: avoid object flags if no_dependents\n      fetch-pack: exclude blobs when lazy-fetching trees\n\nJunio C Hamano (5):\n      CodingGuidelines: document the API in *.h files\n      receive: denyCurrentBranch=updateinstead should not blindly update\n      cocci: simplify \"if (++u > 1)\" to \"if (u++)\"\n      fsck: s/++i > 1/i++/\n      Git 2.19.2\n\nMartin Ågren (5):\n      git-commit-graph.txt: fix bullet lists\n      git-commit-graph.txt: typeset more in monospace\n      git-commit-graph.txt: refer to \"*commit*-graph file\"\n      Doc: refer to the \"commit-graph file\" with dash\n      t1400: drop debug `echo` to actually execute `test`\n\nMatthew DeVore (2):\n      Documentation/git-log.txt: do not show --exclude-promisor-objects\n      exclude-promisor-objects: declare when option is allowed\n\nMichael Witten (3):\n      docs: typo: s/go/to/\n      docs: graph: remove unnecessary `graph_update()' call\n      docs: typo: s/isimilar/similar/\n\nMihir Mehta (1):\n      doc: fix a typo and clarify a sentence\n\nNguyễn Thái Ngọc Duy (2):\n      add: do not accept pathspec magic 'attr'\n      config.txt: correct the note about uploadpack.packObjectsHook\n\nNoam Postavsky (1):\n      log: fix coloring of certain octopus merge shapes\n\nRené Scharfe (1):\n      sequencer: use return value of oidset_insert()\n\nSZEDER Gábor (12):\n      Documentation/git.txt: clarify that GIT_TRACE=/path appends\n      t3701-add-interactive: tighten the check of trace output\n      t1700-split-index: drop unnecessary 'grep'\n      t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index\n      t1700-split-index: document why FSMONITOR is disabled in this test script\n      split-index: add tests to demonstrate the racy split index problem\n      t1700-split-index: date back files to avoid racy situations\n      split-index: count the number of deleted entries\n      split-index: don't compare cached data of entries already marked for split index\n      split-index: smudge and add racily clean cache entries to split index\n      split-index: BUG() when cache entry refers to non-existing shared entry\n      test-lib: introduce the '-V' short option for '--verbose-log'\n\nSam McKelvie (1):\n      rev-parse: --show-superproject-working-tree should work during a merge\n\nSaulius Gurklys (1):\n      doc: fix small typo in git show-branch\n\nSebastian Staudt (1):\n      travis-ci: no longer use containers\n\nShulhan (1):\n      builtin/remote: quote remote name on error to display empty name\n\nStefan Beller (4):\n      refs.c: migrate internal ref iteration to pass thru repository argument\n      refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback\n      string-list: remove unused function print_string_list\n      strbuf.h: format according to coding guidelines\n\nTao Qingyun (3):\n      refs: docstring typo\n      builtin/branch.c: remove useless branch_get\n      branch: trivial style fix\n\nThomas Gummerer (4):\n      .gitattributes: add conflict-marker-size for relevant files\n      linear-assignment: fix potential out of bounds memory access\n      t5551: move setup code inside test_expect blocks\n      t5551: compare sorted cookies files\n\nTim Schumacher (1):\n      Documentation/Makefile: make manpage-base-url.xsl generation quieter\n\nTorsten Bögershausen (2):\n      Make git_check_attr() a void function\n      path.c: char is not (always) signed\n\nUwe Kleine-König (1):\n      howto/using-merge-subtree: mention --allow-unrelated-histories\n\n"}]}