[ANNOUNCE] Git v2.13.1

Junio C Hamano gitster at pobox.com
Mon Jun 5 02:26:42 BST 2017


The latest maintenance release Git v2.13.1 is now available at
the usual places.

The tarballs are found at:

    https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.13.1'
tag and the 'maint' branch that the tag points at:

  url = https://kernel.googlesource.com/pub/scm/git/git
  url = git://repo.or.cz/alt-git.git
  url = https://github.com/gitster/git

----------------------------------------------------------------

Git v2.13.1 Release Notes
=========================

Fixes since v2.13
-----------------

 * The Web interface to gmane news archive is long gone, even though
   the articles are still accessible via NTTP.  Replace the links with
   ones to public-inbox.org.  Because their message identification is
   based on the actual message-id, it is likely that it will be easier
   to migrate away from it if/when necessary.

 * Update tests to pass under GETTEXT_POISON (a mechanism to ensure
   that output strings that should not be translated are not
   translated by mistake), and tell TravisCI to run them.

 * Setting "log.decorate=false" in the configuration file did not take
   effect in v2.13, which has been corrected.

 * An earlier update to test 7400 needed to be skipped on CYGWIN.

 * Git sometimes gives an advice in a rhetorical question that does
   not require an answer, which can confuse new users and non native
   speakers.  Attempt to rephrase them.

 * "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use
   --empty if you want to clear the index".  With "-m", such a request
   will still fail anyway, as you'd need to name at least one tree-ish
   to be merged.

 * The codepath in "git am" that is used when running "git rebase"
   leaked memory held for the log message of the commits being rebased.

 * "pack-objects" can stream a slice of an existing packfile out when
   the pack bitmap can tell that the reachable objects are all needed
   in the output, without inspecting individual objects.  This
   strategy however would not work well when "--local" and other
   options are in use, and need to be disabled.

 * Clarify documentation for include.path and includeIf.<condition>.path
   configuration variables.

 * Tag objects, which are not reachable from any ref, that point at
   missing objects were mishandled by "git gc" and friends (they
   should silently be ignored instead)

 * A few http:// links that are redirected to https:// in the
   documentation have been updated to https:// links.

 * Make sure our tests would pass when the sources are checked out
   with "platform native" line ending convention by default on
   Windows.  Some "text" files out tests use and the test scripts
   themselves that are meant to be run with /bin/sh, ought to be
   checked out with eol=LF even on Windows.

 * Fix memory leaks pointed out by Coverity (and people).

 * The receive-pack program now makes sure that the push certificate
   records the same set of push options used for pushing.

 * "git cherry-pick" and other uses of the sequencer machinery
   mishandled a trailer block whose last line is an incomplete line.
   This has been fixed so that an additional sign-off etc. are added
   after completing the existing incomplete line.

 * The shell completion script (in contrib/) learned "git stash" has
   a new "push" subcommand.

 * Travis CI gained a task to format the documentation with both
   AsciiDoc and AsciiDoctor.

 * Update the C style recommendation for notes for translators, as
   recent versions of gettext tools can work with our style of
   multi-line comments.

 * "git clone --config var=val" is a way to populate the
   per-repository configuration file of the new repository, but it did
   not work well when val is an empty string.  This has been fixed.

 * A few codepaths in "checkout" and "am" working on an unborn branch
   tried to access an uninitialized piece of memory.

 * "git for-each-ref --format=..." with %(HEAD) in the format used to
   resolve the HEAD symref as many times as it had processed refs,
   which was wasteful, and "git branch" shared the same problem.

 * "git interpret-trailers", when used as GIT_EDITOR for "git commit
   -v", looked for and appended to a trailer block at the very end,
   i.e. at the end of the "diff" output.  The command has been
   corrected to pay attention to the cut-mark line "commit -v" adds to
   the buffer---the real trailer block should appear just before it.

 * A test allowed both "git push" and "git receive-pack" on the other
   end write their traces into the same file.  This is OK on platforms
   that allows atomically appending to a file opened with O_APPEND,
   but on other platforms led to a mangled output, causing
   intermittent test failures.  This has been fixed by disabling
   traces from "receive-pack" in the test.

 * "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
   slashes in it, cannot be a nickname for a remote on Windows, as
   that is likely to be a pathname on a local filesystem.

 * The "collision detecting" SHA-1 implementation shipped with 2.13
   was quite broken on some big-endian platforms and/or platforms that
   do not like unaligned fetches.  Update to the upstream code which
   has already fixed these issues.

 * "git am -h" triggered a BUG().

 * The interaction of "url.*.insteadOf" and custom URL scheme's
   whitelisting is now documented better.

Also contains various documentation updates and code clean-ups.

----------------------------------------------------------------

Changes since v2.13.0 are as follows:

Andreas Heiduk (4):
      Documentation: fix reference to ifExists for interpret-trailers
      Documentation: fix formatting typo in pretty-formats.txt
      doc: filter-branch does not require re-export of vars
      doc: rewrite description for rev-parse --short

Brian Malehorn (1):
      interpret-trailers: honor the cut line

Jean-Noel Avila (3):
      usability: don't ask questions if no reply is required
      read-tree -m: make error message for merging 0 trees less smart aleck
      git-filter-branch: be more direct in an error message

Jeff King (14):
      am: fix commit buffer leak in get_commit_info()
      am: simplify allocations in get_commit_info()
      am: shorten ident_split variable name in get_commit_info()
      pack-objects: disable pack reuse for object-selection options
      t5310: fix "; do" style
      docs/config: clarify include/includeIf relationship
      docs/config: give a relative includeIf example
      docs/config: avoid the term "expand" for includes
      docs/config: consistify include.path examples
      t5400: avoid concurrent writes into a trace file
      ref-filter: resolve HEAD when parsing %(HEAD) atom
      revision.c: ignore broken tags with ignore_missing_links
      am: handle "-h" argument earlier
      docs/config: mention protocol implications of url.insteadOf

Johannes Schindelin (31):
      mingw: avoid memory leak when splitting PATH
      winansi: avoid use of uninitialized value
      winansi: avoid buffer overrun
      add_commit_patch_id(): avoid allocating memory unnecessarily
      git_config_rename_section_in_file(): avoid resource leak
      get_mail_commit_oid(): avoid resource leak
      difftool: address a couple of resource/memory leaks
      status: close file descriptor after reading git-rebase-todo
      mailinfo & mailsplit: check for EOF while parsing
      cat-file: fix memory leak
      checkout: fix memory leak
      split_commit_in_progress(): simplify & fix memory leak
      setup_bare_git_dir(): help static analysis
      setup_discovered_git_dir(): plug memory leak
      pack-redundant: plug memory leak
      mktree: plug memory leaks reported by Coverity
      fast-export: avoid leaking memory in handle_tag()
      receive-pack: plug memory leak in update()
      line-log: avoid memory leak
      shallow: avoid memory leak
      add_reflog_for_walk: avoid memory leak
      remote: plug memory leak in match_explicit()
      name-rev: avoid leaking memory in the `deref` case
      show_worktree(): plug memory leak
      submodule_uses_worktrees(): plug memory leak
      Fix build with core.autocrlf=true
      git-new-workdir: mark script as LF-only
      completion: mark bash script as LF-only
      t3901: move supporting files into t/t3901/
      Fix the remaining tests that failed with core.autocrlf=true
      t4051: mark supporting files as requiring LF-only line endings

Johannes Sixt (2):
      mingw.h: permit arguments with side effects for is_dir_sep
      Windows: do not treat a path with backslashes as a remote's nick name

Jonathan Nieder (2):
      credential doc: make multiple-helper behavior more prominent
      clone: handle empty config values in -c

Jonathan Tan (3):
      sequencer: add newline before adding footers
      docs: correct receive.advertisePushOptions default
      receive-pack: verify push options in cert

Junio C Hamano (6):
      apply.c: fix whitespace-only mismerge
      checkout: fix memory leak
      doc: replace more gmane links
      read-tree: "read-tree -m --empty" does not make sense
      Prepare for 2.13.1; more topics to follow
      Git 2.13.1

Kyle Meyer (1):
      config.txt: add an entry for log.showSignature

Lars Schneider (6):
      travis-ci: build documentation with AsciiDoc and Asciidoctor
      travis-ci: parallelize documentation build
      travis-ci: unset compiler for jobs that do not need one
      travis-ci: check AsciiDoc/AsciiDoctor stderr output
      travis-ci: setup "prove cache" in "script" step
      travis-ci: add job to run tests with GETTEXT_POISON

Phillip Wood (3):
      rebase -i: fix reflog message
      rebase -i: silence stash apply
      rebase -i: add missing newline to end of message

Ramsay Jones (1):
      t7400: add !CYGWIN prerequisite to 'add with \\ in path'

René Scharfe (2):
      checkout: check return value of resolve_refdup before using hash
      am: check return value of resolve_refdup before using hash

SZEDER Gábor (1):
      docs/config.txt: fix indefinite article in core.fileMode description

Sahil Dua (1):
      branch test: fix invalid config key access

Stefan Beller (1):
      t5531: fix test description

Sven Strickroth (1):
      doc: use https links to Wikipedia to avoid http redirects

Thomas Gummerer (1):
      completion: add git stash push

Torsten Bögershausen (1):
      t0027: tests are not expensive; remove t0025

brian m. carlson (1):
      builtin/log: honor log.decorate

Ævar Arnfjörð Bjarmason (6):
      config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX
      doc: replace a couple of broken gmane links
      tests: fix tests broken under GETTEXT_POISON=YesPlease
      sha1dc: update from upstream
      tag: duplicate mention of --contains should mention --no-contains
      C style: use standard style for "TRANSLATORS" comments



More information about the git-announce mailing list