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 grammarBrandon 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 filesDennis Kaarsemaker (1):
send-email: Net::SMTP::SSL is obsolete, use only when necessaryEric Wong (1):
run-command: block signals between fork and execveJeff Hostetler (1):
read-cache: close index.lock in do_write_indexJeff 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 violationsJonathan Nieder (1):
send-email: Net::SMTP::starttls was introduced in v2.34Junio 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.2Kyle J. McKay (1):
t5100: add some more mailinfo testsLars Schneider (1):
Configure Git contribution guidelines for github.comPatrick Steinhardt (1):
git-stash: fix pushing stash with pathspec from subdirRamsay Jones (1):
usage: add NORETURN to BUG() function definitionsRené 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 smallRikard Falkeborn (1):
completion: add completions for git config commitSZEDER 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-feedsSahil Dua (1):
t3200: add test for single parameter passed to -m optionSamuel 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 pathsStefan 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 descriptionTyler 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