[ANNOUNCE] Git v2.13.2

Junio C Hamano gitster at pobox.com
Sat Jun 24 23:44:50 BST 2017


The latest maintenance release Git v2.13.2 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.2'
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.2 Release Notes
=========================

Fixes since v2.13.1
-------------------

 * The "collision detecting" SHA-1 implementation shipped with 2.13.1
   was still broken on some platforms.  Update to the upstream code
   again to take their fix.

 * "git checkout --recurse-submodules" did not quite work with a
   submodule that itself has submodules.

 * Introduce the BUG() macro to improve die("BUG: ...").

 * The "run-command" API implementation has been made more robust
   against dead-locking in a threaded environment.

 * A recent update to t5545-push-options.sh started skipping all the
   tests in the script when a web server testing is disabled or
   unavailable, not just the ones that require a web server.  Non HTTP
   tests have been salvaged to always run in this script.

 * "git clean -d" used to clean directories that has ignored files,
   even though the command should not lose ignored ones without "-x".
   "git status --ignored"  did not list ignored and untracked files
   without "-uall".  These have been corrected.

 * The timestamp of the index file is now taken after the file is
   closed, to help Windows, on which a stale timestamp is reported by
   fstat() on a file that is opened for writing and data was written
   but not yet closed.

 * "git pull --rebase --autostash" didn't auto-stash when the local history
   fast-forwards to the upstream.

 * "git describe --contains" penalized light-weight tags so much that
   they were almost never considered.  Instead, give them about the
   same chance to be considered as an annotated tag that is the same
   age as the underlying commit would.

 * The result from "git diff" that compares two blobs, e.g. "git diff
   $commit1:$path $commit2:$path", used to be shown with the full
   object name as given on the command line, but it is more natural to
   use the $path in the output and use it to look up .gitattributes.

 * A flaky test has been corrected.

 * Help contributors that visit us at GitHub.

 * "git stash push <pathspec>" did not work from a subdirectory at all.
   Bugfix for a topic in v2.13

Also contains various documentation updates and code clean-ups.

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

Changes since v2.13.1 are as follows:

Adam Dinwoodie (1):
      docs: fix formatting and grammar

Brandon Williams (12):
      t5550: use write_script to generate post-update hook
      t0061: run_command executes scripts without a #! line
      run-command: prepare command before forking
      run-command: use the async-signal-safe execv instead of execvp
      string-list: add string_list_remove function
      run-command: prepare child environment before forking
      run-command: don't die in child when duping /dev/null
      run-command: eliminate calls to error handling functions in child
      run-command: handle dup2 and close errors in child
      run-command: add note about forking and threading
      run-command: expose is_executable function
      run-command: restrict PATH search to executable files

Dennis Kaarsemaker (1):
      send-email: Net::SMTP::SSL is obsolete, use only when necessary

Eric Wong (1):
      run-command: block signals between fork and execve

Jeff Hostetler (1):
      read-cache: close index.lock in do_write_index

Jeff King (23):
      usage.c: add BUG() function
      setup_git_env: convert die("BUG") to BUG()
      config: complain about --local outside of a git repo
      usage.c: drop set_error_handle()
      handle_revision_arg: reset "dotdot" consistently
      handle_revision_arg: simplify commit reference lookups
      handle_revision_arg: stop using "dotdot" as a generic pointer
      handle_revision_arg: hoist ".." check out of range parsing
      handle_revision_arg: add handle_dotdot() helper
      sha1_name: consistently refer to object_context as "oc"
      get_sha1_with_context: always initialize oc->symlink_path
      get_sha1_with_context: dynamically allocate oc->path
      t4063: add tests of direct blob diffs
      handle_revision_arg: record modes for "a..b" endpoints
      handle_revision_arg: record paths for pending objects
      diff: pass whole pending entry in blobinfo
      diff: use the word "path" instead of "name" for blobs
      diff: use pending "path" if it is available
      diff: use blob path for blob/file diffs
      connect.c: fix leak in parse_one_symref_info()
      remote: drop free_refspecs() function
      t5313: make extended-table test more deterministic
      sha1dc: ignore indent-with-non-tab whitespace violations

Jonathan Nieder (1):
      send-email: Net::SMTP::starttls was introduced in v2.34

Junio C Hamano (6):
      name-rev: refactor logic to see if a new candidate is a better name
      name-rev: favor describing with tags and use committer date to tiebreak
      test: allow skipping the remainder
      diff-tree: update stale in-code comments
      Prepare for 2.13.2
      Git 2.13.2

Kyle J. McKay (1):
      t5100: add some more mailinfo tests

Lars Schneider (1):
      Configure Git contribution guidelines for github.com

Patrick Steinhardt (1):
      git-stash: fix pushing stash with pathspec from subdir

Ramsay Jones (1):
      usage: add NORETURN to BUG() function definitions

René Scharfe (5):
      p0004: simplify calls of test-lazy-init-name-hash
      p0004: avoid using pipes
      p0004: use test_perf
      p0004: don't abort if multi-threaded is too slow
      p0004: don't error out if test repo is too small

Rikard Falkeborn (1):
      completion: add completions for git config commit

SZEDER Gábor (6):
      revision.h: turn rev_info.early_output back into an unsigned int
      revision.c: stricter parsing of '--no-{min,max}-parents'
      revision.c: stricter parsing of '--early-output'
      revision.c: use skip_prefix() in handle_revision_opt()
      revision.c: use skip_prefix() in handle_revision_pseudo_opt()
      docs/pretty-formats: stress that %- removes all preceding line-feeds

Sahil Dua (1):
      t3200: add test for single parameter passed to -m option

Samuel Lijin (6):
      t7300: clean -d should skip dirs with ignored files
      t7061: status --ignored should search untracked dirs
      dir: recurse into untracked dirs for ignored files
      dir: hide untracked contents of untracked dirs
      dir: expose cmp_name() and check_contains()
      clean: teach clean -d to preserve ignored paths

Stefan Beller (5):
      submodule_move_head: reuse child_process structure for futher commands
      submodule: avoid auto-discovery in new working tree manipulator code
      submodule: properly recurse for read-tree and checkout
      t5545: enhance test coverage when no http server is installed
      Documentation/git-rm: correct submodule description

Tyler Brazier (1):
      pull: ff --rebase --autostash works in dirty repo

Ævar Arnfjörð Bjarmason (2):
      wildmatch test: remove redundant duplicate test
      sha1dc: update from upstream

Štěpán Němec (1):
      doc: git-reset: fix a trivial typo



More information about the git-announce mailing list