[ANNOUNCE] Git v2.7.3
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 10, 2016, 23:04 UTC
- Message-ID
- <xmqqy49qaq9j.fsf@gitster.mtv.corp.google.com>
The latest maintenance release Git v2.7.3 is now available at the usual places. This is primarily to sync the maintenance track with miscellaneous fixes that are scheduled to be part of upcoming v2.8.0 release.
The tarballs are found at:
https://www.kernel.org/pub/software/scm/git/
The following public repositories all have a copy of the 'v2.7.3' 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
----------------------------------------------------------------
Git v2.7.3 Release Notes ========================
Fixes since v2.7.2 ------------------
* Traditionally, the tests that try commands that work on the contents in the working tree were named with "worktree" in their filenames, but with the recent addition of "git worktree" subcommand, whose tests are also named similarly, it has become harder to tell them apart. The traditional tests have been renamed to use "work-tree" instead in an attempt to differentiate them.
* Many codepaths forget to check return value from git_config_set(); the function is made to die() to make sure we do not proceed when setting a configuration variable failed.
* Handling of errors while writing into our internal asynchronous process has been made more robust, which reduces flakiness in our tests.
* "git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a rev, i.e. the object named by the the pathname with wildcard characters in a tree object.
* "git rev-parse --git-common-dir" used in the worktree feature misbehaved when run from a subdirectory.
* The "v(iew)" subcommand of the interactive "git am -i" command was broken in 2.6.0 timeframe when the command was rewritten in C.
* "git merge-tree" used to mishandle "both sides added" conflict with its own "create a fake ancestor file that has the common parts of what both sides have added and do a 3-way merge" logic; this has been updated to use the usual "3-way merge with an empty blob as the fake common ancestor file" approach used in the rest of the system.
* The memory ownership rule of fill_textconv() API, which was a bit tricky, has been documented a bit better.
* The documentation did not clearly state that the 'simple' mode is now the default for "git push" when push.default configuration is not set.
* Recent versions of GNU grep are pickier when their input contains arbitrary binary data, which some of our tests uses. Rewrite the tests to sidestep the problem.
* A helper function "git submodule" uses since v2.7.0 to list the modules that match the pathspec argument given to its subcommands (e.g. "submodule add <repo> <path>") has been fixed.
* "git config section.var value" to set a value in per-repository configuration file failed when it was run outside any repository, but didn't say the reason correctly.
* The code to read the pack data using the offsets stored in the pack idx file has been made more carefully check the validity of the data in the idx.
Also includes documentation and test updates.
----------------------------------------------------------------
Changes since v2.7.2 are as follows:
Alexander Kuleshov (2):
exec_cmd.c: use find_last_dir_sep() for code simplification
git.c: simplify stripping extension of a file in handle_builtin()David Turner (1):
refs: document transaction semanticsJeff King (37):
checkout: reorder check_filename conditional
check_filename: tighten dwim-wildcard ambiguity
get_sha1: don't die() on bogus search strings
reflog_expire_cfg: NUL-terminate pattern field
add helpers for detecting size_t overflow
tree-diff: catch integer overflow in combine_diff_path allocation
diff: clarify textconv interface
harden REALLOC_ARRAY and xcalloc against size_t overflow
add helpers for allocating flex-array structs
argv-array: add detach function
convert manual allocations to argv_array
convert trivial cases to ALLOC_ARRAY
use xmallocz to avoid size arithmetic
convert trivial cases to FLEX_ARRAY macros
use st_add and st_mult for allocation size computation
prepare_{git,shell}_cmd: use argv_array
write_untracked_extension: use FLEX_ALLOC helper
fast-import: simplify allocation in start_packfile
fetch-pack: simplify add_sought_entry
test-path-utils: fix normalize_path_copy output buffer size
sequencer: simplify memory allocation of get_message
git-compat-util: drop mempcpy compat code
transport_anonymize_url: use xstrfmt
diff_populate_gitlink: use a strbuf
convert ewah/bitmap code to use xmalloc
ewah: convert to REALLOC_ARRAY, etc
merge-one-file: use empty blob for add/add base
merge-tree: drop generate_common strategy
xdiff: drop XDL_EMIT_COMMON
t5313: test bounds-checks of corrupted/malicious pack/idx files
nth_packed_object_offset: bounds-check extended offset
use_pack: handle signed off_t overflow
write_or_die: handle EPIPE in async threads
fetch-pack: ignore SIGPIPE in sideband demuxer
test_must_fail: report number of unexpected signal
t5504: handle expected output from SIGPIPE death
compat/mingw: brown paper bag fix for 50a6c8eJohannes Schindelin (1):
git config: report when trying to modify a non-existing repo configJohn Keeping (2):
t8005: avoid grep on non-ASCII data
t9200: avoid grep on non-ASCII dataJunio C Hamano (4):
pager: lose a separate argv[]
pager: factor out a helper to prepare a child process to run the pager
am -i: fix "v"iew
Git 2.7.3Martin Amdisen (1):
templates/hooks: fix minor typo in the sample update-hookMatthieu Moy (1):
Documentation/git-push: document that 'simple' is the defaultMichael J Gruber (1):
tests: rename work-tree tests to *work-tree*Nguyễn Thái Ngọc Duy (2):
rev-parse: take prefix into account in --git-common-dir
sha1_file.c: mark strings for translationPatrick Steinhardt (16):
config: introduce set_or_die wrappers
branch: report errors in tracking branch setup
branch: die on config error when unsetting upstream
branch: die on config error when editing branch description
submodule: die on config error when linking modules
submodule--helper: die on config error when cloning module
remote: die on config error when setting URL
remote: die on config error when setting/adding branches
remote: die on config error when manipulating remotes
clone: die on config error in cmd_clone
init-db: die on config errors when initializing empty repo
sequencer: die on config error when saving replay opts
compat: die when unable to set core.precomposeunicode
config: rename git_config_set to git_config_set_gently
config: rename git_config_set_or_die to git_config_set
xdiff/xmerge: fix memory leak in xdl_mergeShawn O. Pearce (1):
remote-curl: include curl_errorstr on SSL setup failuresStefan Beller (1):
submodule helper list: respect correct path prefix