git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[ANNOUNCE] Git v2.5.1

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 28, 2015, 21:12 UTC
Message-ID
<xmqqwpwfyv6h.fsf@gitster.mtv.corp.google.com>

The latest maintenance release Git v2.5.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.5.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 = git://git.sourceforge.jp/gitroot/git-core/git.git
  url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core
  url = https://github.com/gitster/git

Note that code.google.com/ has gone into read-only mode and the branches and tags there will not be updated.

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

Git v2.5.1 Release Notes ========================

Fixes since v2.5 ----------------

 * Running an aliased command from a subdirectory when the .git thing
   in the working tree is a gitfile pointing elsewhere did not work.
 * Often a fast-import stream builds a new commit on top of the
   previous commit it built, and it often unconditionally emits a
   "from" command to specify the first parent, which can be omitted in
   such a case.  This caused fast-import to forget the tree of the
   previous commit and then re-read it from scratch, which was
   inefficient.  Optimize for this common case.
 * The "rev-parse --parseopt" mode parsed the option specification
   and the argument hint in a strange way to allow '=' and other
   special characters in the option name while forbidding them from
   the argument hint.  This made it impossible to define an option
   like "--pair <key>=<value>" with "pair=key=value" specification,
   which instead would have defined a "--pair=key <value>" option.
 * A "rebase" replays changes of the local branch on top of something
   else, as such they are placed in stage #3 and referred to as
   "theirs", while the changes in the new base, typically a foreign
   work, are placed in stage #2 and referred to as "ours".  Clarify
   the "checkout --ours/--theirs".
 * An experimental "untracked cache" feature used uname(2) in a
   slightly unportable way.
 * "sparse checkout" misbehaved for a path that is excluded from the
   checkout when switching between branches that differ at the path.
 * The low-level "git send-pack" did not honor 'user.signingkey'
   configuration variable when sending a signed-push.
 * An attempt to delete a ref by pushing into a repository whose HEAD
   symbolic reference points at an unborn branch that cannot be
   created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD
   points at refs/heads/a) failed.
 * "git subtree" (in contrib/) depended on "git log" output to be
   stable, which was a no-no.  Apply a workaround to force a
   particular date format.
 * "git clone $URL" in recent releases of Git contains a regression in
   the code that invents a new repository name incorrectly based on
   the $URL.  This has been corrected.
   (merge db2e220 jk/guess-repo-name-regression-fix later to maint).
 * Running tests with the "-x" option to make them verbose had some
   unpleasant interactions with other features of the test suite.
   (merge 9b5fe78 jk/test-with-x later to maint).
 * "git pull" in recent releases of Git has a regression in the code
   that allows custom path to the --upload-pack=<program>.  This has
   been corrected.
 * pipe() emulation used in Git for Windows looked at a wrong variable
   when checking for an error from an _open_osfhandle() call.

Also contains typofixes, documentation updates and trivial code clean-ups.

----------------------------------------------------------------
Changes since v2.5.0 are as follows:
Charles Bailey (1):
      untracked: fix detection of uname(2) failure
David Aguilar (1):
      contrib/subtree: ignore log.date configuration
David Turner (1):
      unpack-trees: don't update files with CE_WT_REMOVE set
Eric Sunshine (5):
      Documentation/git: drop outdated Cogito reference
      Documentation/git-tools: improve discoverability of Git wiki
      Documentation/git-tools: fix item text formatting
      Documentation/git-tools: drop references to defunct tools
      Documentation/git-tools: retire manually-maintained list
Ilya Bobyr (1):
      rev-parse --parseopt: allow [*=?!] in argument hints
Jeff King (4):
      test-lib: turn off "-x" tracing during chain-lint check
      test-lib: disable trace when test is not verbose
      clone: add tests for output directory
      clone: use computed length in guess_dir_name
Jiang Xin (1):
      receive-pack: crash when checking with non-exist HEAD
Jose F. Morales (1):
      Mingw: verify both ends of the pipe () call
Junio C Hamano (5):
      builtin/send-pack.c: respect user.signingkey
      Git 2.4.8
      Start preparing for 2.5.1
      pull: pass upload_pack only when it was given
      Git 2.5.1
Karthik Nayak (1):
      Documentation/tag: remove double occurance of "<pattern>"
Matthieu Moy (1):
      pull.sh: quote $upload_pack when passing it to git-fetch
Mike Hommey (1):
      fast-import: do less work when given "from" matches current branch head
Nguyễn Thái Ngọc Duy (1):
      setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR
Simon A. Eugster (1):
      checkout: document subtlety around --ours/--theirs
Stefan Beller (3):
      parse-options: align curly braces for all options
      add: remove dead code
      transport-helper: die on errors reading refs.
Thomas Ackermann (1):
      typofix for index-format.txt
Message 1 of 1 in “[ANNOUNCE] Git v2.5.1”
  1. Junio C HamanoAug 28, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.