[ANNOUNCE] Git v2.5.1

Junio C Hamano gitster at pobox.com
Mon Nov 9 23:00:32 GMT 2015


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





More information about the git-announce mailing list